Silicon Valley Code Camp : October 6th and 7th, 2012
Mark Abramson is Founder & CEO of Printform Corporation. He has particular technical expertise in digital workflow, industrial printing and complex global supply chains for high-growth companies. He's also a dad, collects antique woodworking machines and mentors on Lean Startup methods.
Developer working with a database? Need to build a data-rich application but not sure how to design your DB? Did someone hand you a legacy DB app and now you have to modify the database schema?
This session will cover the basics of designing and setting up a database schema. We'll start with defining a few common business scenarios, build out some tables, create relationships and then go through usage, pitfalls, problems and design tradeoffs. As a veteran of many, many database-driven projects for consumer desktop software applications, websites and enterprise software systems, the database design plays a crucial role in the success of your project.
We'll run through some real-life examples and issues such as:
* Creating a new table
* Choosing data types
* Normalization (and when to denormalize)
* Types of relationships
* Referential integrity
* Join/relationship tables
* 1-to-many, many-to-many
* ...and then how to actually use these structures in your application
Note: while the examples will focus on SQL Server, the techniques and SQL code will work for virtually any SQL database.
Note2: If you want help solving specific problems, please check out my other session on Database Wart Removal.
Please use the "Email Speaker" button to send me your questions, where you're at with DB design now, or any other material so I can tailor the presentation to your needs!
Based on the success of last year's "intro to DB design" session, I am adding another database-oriented session where we will dive in deeper and work on specific problems that crop up with database designs.
New to your database and have to fix some bugs?
Not sure what bit fields "a1", "b3" represent in the "MyTable" that someone created before they left the company?
Do you have duplicated data that is now out of sync?
Do you need to add new capabilities to your database and track some more information?
Add some fields, a new table, or a set of new tables?
This session will be interactive and will benefit from your specific database-related issues. Please "email the speaker" with some of your challenges and we'll do our best to cover some approaches for you in the class.
Need the basics? Check out my other session on "Intro to DB Design."