You work as the Enterprise application developer at Domain.com. The Domain.com network consists of a single Active Directory domain named Domain.com. All servers in the domain run Windows Server 2003. Your responsibilities at Domain.com include the design and development of applications. Domain.com operates as an umbrella company for several recording houses in the music industry.
You are currently developing an enterprise application for Domain.com. you need to design the database schema for this application and following are the facts regarding record labels/recording house, albums, songs, and artists; pertaining to the company that you need to take into account in your design:
1. A label has one or more albums.
2. A label has one or more artists.
3. An artist records zero or more albums.
4. An artist records one or more songs.
5. An artist belongs to one label.
6. An album is recorded by one or more artists.
7. An album has one or more songs.
8. An album is owned by one label.
9. A song is recorded by one or more artists.
10. A song exists on one or more albums.
You need to normalize the database. To this end you need to decide on the amount of tables to use in the database.
What should you do?
A.
You require 2 tables.
B.
You require 4 tables.
C.
You require 5 tables.
D.
You require 7 tables.
Explanation:
There are four main entities: namely Label, Artist, Album, Song. This means that you need to create four tables to correspond to these entities. However, you also need to take into account the many-to-many relationships that has to be reflected in the database. The existing many-to-many relationships include relationships between: artists and albums, albums and songs, and artists and songs. Thus you need an additional three tables. Seven tables is thus the minimum number of tables required for normalization.
Incorrect answers:
A: With two tables only, the database would not be normalized.
B: With only 4 tables the database would not be normalized.
C: With only 5 tables the database would not be normalized.