Database Design
Discussion regarding general database design
Announcements
- Link
Database Design Resources
The following list of database design resources is not intended to be exhaustive or ‘the correct list’. Items are included simply because one of the Moderators knew the material and offered it as a suggestion. If you wish to offer suggestions for inclusion, please do so.
Books
A Developer's Guide to Data Modeling for SQL Server: Covering SQL Server 2005 and 2008
Eric Johnson and Joshua Jones
An Introduction to Database Systems
Chris Date
Applied Mathematics for Database Professionals
Lex de Haan, Toon Koppelaars
Architecting Regulatory-Compliant Architectures
Mike Walker, MicrosoftGraeme Simsion and Graham Witt
Database Modeling and Design: Logical Design
Toby Teorey
Information Modeling and Relational Databases
Terry Halpin
Practical Issues in Database Management: A Reference for the Thinking Practitioner
Fabian Pascal
Pro SQL Server 2008 Relational Database Design and Implementation
Louis Davidson, Kevin Kline, et al
Online Resources
A Simple Guide to Five Normal forms and Relational Database Theory
http://www.bkent.net/Doc/simple5.htmData Modeling vs. Database Design
http://www.aisintl.com/case/library/R-Theory_vs_ER/r-theory_vs_er.htmlData Models
http://www.databaseanswers.org/data_models/index.htmDatabase Design - Ten Common Database Design Mistakes, Louis Davidson
http://www.simple-talk.com/sql/database-administration/ten-common-database-design-mistakes/Database Design Issues -EAV Model Discussion (Querying an EAV Table)
http://tinyurl.com/yks8huDatabase Design Issues –EAV and OTLT
http://tonyandrews.blogspot.com/2004/10/otlt-and-eav-two-big-design-mistakes.htmlDatabase Design ROI by Paul Nielsen
http://www.sqlserverbible.com/files/databasedesignroi.pdfIntroduction to the Unified Dimensional Model (UDM)
http://technet.microsoft.com/en-us/library/ms345143(SQL.90).aspxLibrary of database models
http://www.databaseanswers.org/data_models/On Normalization and Repeating Groups by Fabian Pascal
http://www.dbdebunk.com/page/page/622318.htmORM white paper
http://www.orm.net/pdf/ORMwhitePaper.pdfOverview of the Relational Model
http://www.utexas.edu/its/archive/windows/database/datamodeling/rm/overview.htmlUnderstanding Data Model Quality, Graeme Simsion
http://www.tdan.com/view-articles/5100 - Link
Please READ before Posting or Replying to Posts
Out of Scope
Some topics are out of scope for this forum.
1. Bugs, Product Decisions, and Feedback: The purpose of this forum is not to ask the product team why decisions were made and to ask them to make other changes. That feedback belongs in Connect. The purpose of this forum is to help you out with specific issues, if possible. Please post your feedback via Connect:
https://connect.microsoft.com/SQLServer
Rules of Conduct
· Relevance to Topics: We encourage you to keep your postings as close to the subject as possible.
· Respect: Please be respectful of other participants, and their contributions; avoiding insults, demeaning remarks and slurs.
· Tolerance: Please don’t assume someone’s curtness was meant to insult, slur, or demean you.
· Confidentiality: Confidential information should not be posted. This is a publicly available forum.
· Appropriate Language: Please keep the conversation on a professional level, avoiding any hint of profanity in your interactions.
· Advertising/Solicitation: Advertisements should not be posted, and will be removed.
Forum Moderators may, at their discretion, edit posts for clarity, readability and inappropriate language; split post into separate threads when appropriate; and delete post that do not positively contribute to the thread. Failure to comply with these 'Rules of Conduct' may result in your posts being edited to remove the offending comments, censure, or expulsion from participating in the Forums. The bottom line is: this Forum should feel like a ‘safe’ place to ask hard questions that invoke passionate responses.
Marking AnswersBy their very nature, many database design questions will not have a easily decernible 'answer'. You are encouraged to give folks 'credit' for helping you when appropriate. If someone's response was 'Helpful', use the 'Vote as Helpful' button. If a response answered some part of your question, or provided you one or more clues that led you to a solution, then use the 'Mark as Answer' option. Just as a thread may evolve into multiple questions, it may also have more than one 'Answer'.
Welcome to the Database Design Forum
This is a Forum for questions and discussions about database designs for Microsoft technologies, including: SQL Server, Access, SQL Azure, SQL Express, SQL Compact, etc. Often Database Designs will be generic and can be ported to any vendor's technology. Design problems that are best solved with other technologies will be welcomed and addressed to the best of our knowledge and ability.
We ask that you recognize that database design is a mixture of art and science. You may receive conflicting suggestions, for there can be multiple paths to a workable solution. You will have to use your own judgment and knowledge of your business requirements to determine the best solution for your particular problem. The 'right' design is compounded by many factors, including business, regulatory, hardware/software requirements, as well as staff expertise. We also encourage you to share your experiences with a particular design issue if it will serve to help others encountering similar problems.
In order to receive useful responses, please spend some time and properly present your scenario. Attempts to 'save time and effort' by cutting out parts of the scenario will often lead to wasted time and effort as the suggestions have to be discarded because they don't work with other parts of the unseen puzzle.
But there are limits to what you can expect from volunteers through a disconnected medium. The questions most likely to receive a good and targeted answer, are those that present a small problem, that give a very clear description of that problem within its context, and that are placed by people with a fair understanding of the subject who need help getting over a few nasty bumps. The questions that are almost impossible to answer satisfactorily are those that present a huge problem, with no clear description, and asked by someone totally new to the subject matter.
We hope that you will understand when we say that most of us that volunteer our time on this Forum do so in order to help folks learn. We will be pleased if you find the Forum to be useful. However, it is difficult or impossible for us to engage with folks privately. We don't have time to do both, and our commitment is help folks using the Forums.
Do not hesitate to read all of the threads, join in the discussions, offer your own experiences and information, and ask questions to increase your knowlege. Seek out blogs from those who write in a manner that you appreciate, and consider reviewing the Database Design Resources for additional guidance and help.
Filtering and SortingUse these options to narrow down the question and discussion list.
- 01932

Purpose of the Database Design Forum - READ FIRST
Ed Price - MSFTMicrosoft EmployeeThursday, January 03, 2013 11:59 PM - 957

What data type is optimal for clustered index of a table published by using transactional replication?
AlexeyGa 23 hours 53 minutes ago - 128

Recovering suspected database
IT researcher 5 hours 27 minutes ago - 250

Dividing SQL database for different information storage
James Graneg 11 hours 22 minutes ago - 6128

Normalization (Design)
AngaraKiran Tuesday, May 21, 2013 1:37 AM - 072

Database Strategy Question
BobLeavell Wednesday, May 22, 2013 7:18 PM - 264

Clustered Index
tango2310 Wednesday, May 22, 2013 9:53 AM - 3167

wt are the stages in DataModeling?
Naresh Msbi Developer Tuesday, May 21, 2013 8:52 AM - 169

Does Normalization decrease performance
Pankaj067 Wednesday, May 22, 2013 5:35 AM - 2107

Horizontal vs Vertical table design for multiple business keys
Emily Jones Monday, May 20, 2013 3:35 PM - 7373

set a default as a value from a different columns
Cat_912 Friday, April 05, 2013 3:25 AM - 4305

changing a trigger into a store procedure
Cat_912 Tuesday, April 16, 2013 4:07 AM - 5114

Setting Table DataTypes
obrienkev Monday, May 20, 2013 1:08 PM - 56654

Which data type is used to store RTF Data
David Pool Wednesday, January 07, 2009 6:52 PM - 3346

Table Partitioning - Filegroup & Files
vikas_k Wednesday, April 24, 2013 4:17 AM - 1120

How will I get the pages and extents of a database.
Ajay.G Friday, May 17, 2013 1:09 PM - 197

When I start SQLservr.exe what processess started?
Ajay.G Friday, May 17, 2013 1:17 PM - 3151

Back to school... Functional Dependencies and Attribute Closure
Chris.Corbin Wednesday, May 15, 2013 12:00 AM - 8220

Database Mapping
mohdrafi.sk Monday, May 06, 2013 5:10 PM - 1111

Self Generating and executing SQL Select Query.
SmilyLex Thursday, May 16, 2013 6:44 AM - 3114

how much more space required in SQL server database to store a file than in Windows file system
QuickLaunch Wednesday, May 15, 2013 6:44 PM

