July 16, 2009 at 6:20 am
can anyone give me the database design checklist to make sure the database design is proper?
like,
1. Have db design met the the requirement specification?
2. Is concentual Design created?
3. Is logical Design created?
4. Is Physical Design created?
5. Is Database normalized?
6. Are constraints defined?
please suggest me any other points are to be inserted?.
Thanks,
Ramani
July 16, 2009 at 7:44 am
I'd add a step to design the clustered indexes. They should be part of the fundamental decisions around the database design.
"The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
- Theodore Roosevelt
Author of:
SQL Server Execution Plans
SQL Server Query Performance Tuning
July 16, 2009 at 11:41 pm
Thanks for the suggestion.
Grant, when constraints are defined, clustered index also will come (for primary key). or anything else apart from constraints, should that be defined?
Regards,
Ramani
July 17, 2009 at 6:01 am
Well, the reason I'm suggesting you need to define the clustered index as a seperate step is because, it doesn't necessarily come from the primary key. Don't confuse the two because SQL Server defaults to making the primary key clustered. One doesn't automatically flow from the other. I like to examine the structures and make a conscience decision as to where I'll place the clustered index. More often than not, it's on the PK, but not always.
Since the data is stored with the clustered index, it makes sense to use the most common access path to the data as the cluster. In a lot of tables the most common access path is the PK. But in some tables it might be through foriegn keys, say a child table that is only accessed through joins to the parent, or by specific date ranges, who knows. Understanding the design such that you can determine these access paths up front should be standard part of the design, in my opinion anyway.
"The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
- Theodore Roosevelt
Author of:
SQL Server Execution Plans
SQL Server Query Performance Tuning
July 17, 2009 at 7:21 am
Thanks a lot for this clarification Grant.
Now i understood y we need to include one more item for defining clustered index.
Regards,
Ramani
Viewing 5 posts - 1 through 4 (of 4 total)
You must be logged in to reply to this topic. Login to reply