Database Design

Technical Article

Physical Database Design Consideration

  • Article

There are lots of things to think about when you design a physical database. What data types should I use? What column is appropriate for the primary key? Are there particular indexes that I should use to improve performance? How should I implement data integrity rules? This list goes on and on. In this article Greg Larsen will be exploring different physical database design elements.

You rated this post out of 5. Change rating

2012-01-24

3,644 reads

External Article

Constraints and the Test-Driven Database

  • Article

Bad data always seems to appear when, and where, one least expects it. Sam explains the great value of a defensive approach based on constraints to any team that is developing an application in which the data has to be exactly right, and where bad data could cause consequential severe financial damage. It is perhaps better seen as creating a test-driven database.

2012-01-09

2,574 reads

External Article

Yet Another SQL Strategy for Versioned Data

  • Article

There is a popular design for a database that requires a built-in audit-trail of amendments and additions, where data is never deleted, but superseded by a later version. Whilst this is conceptually simple, it has always made reporting the latest version of data complicated. Alex Kuznetsov joins the debate on the best way of doing this with an example using an indexed view and the filtered index.

2011-07-15

3,274 reads

External Article

A Tale of Identifiers

  • Article

Identifiers aren't locators, and they aren't pointers or links either. They are a logical concept in a relational database, and, unlike the more traditional methods of accessing data, don't derive from the way that data gets stored. Identifiers uniquely identify members of the set, and it should be possible to validate and verify them. Celko somehow involves watches and taxi cabs to illustrate the point.

2011-06-20

2,815 reads

Technical Article

Database Design Example: Curriculum Vitae

  • Article

I’ve explained the database design process in a series of articles that you can find here. In this tutorial, I’ll put that information to good use and design a database from the start of the process to the finish. To keep this example to a single article, I’ll not repeat the information from those previous articles, so make sure you look those over before reading this one.

(3)

You rated this post out of 5. Change rating

2011-04-11

5,179 reads

Blogs

Accessing the Data API Builder MCP Server from VS Code

By

I recently started playing with the MCP Server for SQL Server, which is a...

From DBA or Data Engineer to AI Engineer: A Realistic Path

By

If you spend your days tuning queries, managing pipelines, or keeping a production database...

Asynchronous Replication of Snapshots from an ActiveCluster Pod to a Third Array

By

I’ve been rebuilding my three-site SQL Server demo lab, and I ran into something...

Read the latest Blogs

Forums

STRING_AGG DISTINCT

By Phil Parkin

Has anyone written a wrapper function (or similar) around STRING_AGG() to allow the retrieval...

In-place OS upgrade or migration to new OS?

By jasona.work

Putting this here as we're currently on SQL Server 2019 installed on Windows Server...

Never is Not the Policy

By Steve Jones - SSC Editor

Comments posted to this topic are about the item Never is Not the Policy

Visit the forum

Question of the Day

Rebuilding All Indexes

I have added a few indexes to one of my tables in SQL Server 2025:

ALTER TABLE dbo.CustomerContact
ADD CONSTRAINT PK_CustomerContact
    PRIMARY KEY (CustomerID);

-- Create index on CustomerEmail
CREATE INDEX IX_CustomerContact_CustomerEmail
ON dbo.CustomerContact (CustomerEmail);
CREATE INDEX IX_CustomerContact_CustomerPhone
ON dbo.CustomerContact (phone);
I then do this to disable one index:
alter index IX_CustomerContact_CustomerPhone on dbo.CustomerContact disable
I see this when I check the index status:Index status for CustomerContactI decide to rebuild all indexes with this command:
ALTER INDEX ALL ON dbo.CustomerContact rebuild
After I do this, what will I see for the index status?

See possible answers