Database Ques
Database Ques
o Check out the article Q100139 from Microsoft knowledge base and of
course, there's much more information available in the net. It'll be a
good idea to get a hold of any RDBMS fundamentals text book,
especially the one by C. J. Date. Most of the times, it will be okay if
you can explain till third normal form.
• What is denormalization and when would you go for it?
o As the name indicates, denormalization is the reverse process of
normalization. It's the controlled introduction of redundancy in to the
database design. It helps improve the query performance as the
number of joins could be reduced.
• How do you implement one-to-one, one-to-many and many-to-many
relationships while designing tables?
o One-to-One relationship can be implemented as a single table and
rarely as two tables with primary and foreign key relationships. One-
to-Many relationships are implemented by splitting the data into two
tables with primary key and foreign key relationships. Many-to-Many
relationships are implemented using a junction table with the keys
from both the tables forming the composite primary key of the
junction table. It will be a good idea to read up a database designing
fundamentals text book.
• What's the difference between a primary key and a unique key?
o Both primary key and unique enforce uniqueness of the column on
which they are defined. But by default primary key creates a clustered
index on the column, where are unique creates a nonclustered index
by default. Another major difference is that, primary key doesn't allow
NULLs, but unique key allows one NULL only.
• What are user defined datatypes and when you should go for them?
o User defined datatypes let you extend the base SQL Server datatypes
by providing a descriptive name, and format to the database. Take for
example, in your database, there is a column called Flight_Num which
appears in many tables. In all these tables it should be varchar(8). In
this case you could create a user defined datatype called
Flight_num_type of varchar(8) and use it across all your tables. See
sp_addtype, sp_droptype in books online.
• What is bit datatype and what's the information that can be stored
inside a bit column?
o Bit datatype is used to store boolean information like 1 or 0 (true or
false). Untill SQL Server 6.5 bit datatype could hold either a 1 or 0 and
there was no support for NULL. But from SQL Server 7.0 onwards, bit
datatype can represent a third state, which is NULL.
• Define candidate key, alternate key, composite key.
o A candidate key is one that can identify each row of a table uniquely.
Generally a candidate key becomes the primary key of the table. If the
table has more than one candidate key, one of them will become the
primary key, and the rest are called alternate keys. A key formed by
combining at least two or more columns is called composite key.
• What are defaults? Is there a column to which a default can't be
bound?
o A default is a value that will be used by a column, if no value is
supplied to that column while inserting data. IDENTITY columns and