Alternatives

advertisement
Alternatives
Our team developed multiple database alternatives before we settled on our final product. The
main entities we altered were the artist, song, and album tuples. We wanted to find an alternative that
ran well as a database (i.e. lacked redundancy) yet also made sense to the user in the way our
information was organized. We also took into account the extent at which users would be able query,
and how much and what type of information would be available. The following database schema are
our attempts at finding the best alternative for the project.
LINKING ARTIST WITH ONLY SONG INSTEAD OF ALBUM:
In this design, we took out the direct link between artist and album to make our database less
busy and due to growing user preferences. Otherwise, this schema is very similar to the alpha solution.
In order to link an artist with an album, the user must first go through the song table.
MAKING BAND ITS OWN ENTITY
This alternative includes the addition of several new tuples, Band_has_Artist, Band, and
Member. It was developed to give the user more information about the bands artists were playing in. It
differs from the alpha solution where Band is merely an attribute of the artist table. This schema
provides more information to the user but the addition of all the new tables would make querying very
slow and inefficient.
MAKING ALBUM AN ATTRIBUTE OF SONG AND AWARD AN ATTRIBUTE OF ARTIST
This alternative cuts down significantly on the number of tuples. The Album table is encapsulated within
the Song table with only the album name getting passed on as an attribute. The award table is also
deleted, with its information included in both the Song and Artist tables. This table allows for faster
query times, but it increases redundancy in the system.
PURCHASE LOCATION USED AS AN ENTITY:
This alternative includes Purchase Location as its own tuple in our database. This table would allow the
user to look up where they can buy the queried song/album. Using this alternative would provide more
information to the user at the cost of longer query times. It would also require a much long
implementation time to link the thousands of markets to buy music with each individual song/album.
ANALYSIS OF ALTERNATIVES
ALPHA SOLUTION
This alternative is our chosen schema to implement. We cut out unnecessary tuples such as
Band and Purchase Location. It maximizes query time, while still providing all the useful information to
the user.
LINKING ARTIST ONLY THROUGH SONG INSTEAD OF ALBUM
This alternative allows for faster query time than the Alpha Solution, but the music information
is not as available. This schema would also require a reduced implementation time without the need to
match up every artist with their respective albums. This solution was heavily considered at because of
the current state of today’s music world. CD and album sales are on the decline as music enthusiasts are
purchasing music by the song online in MP3 form. With this trend, album names are being phased out
because people no longer associate songs with an album, but as a single. Unfortunately, our database
will incorporate music from all eras, including those where users would distinguish artists from their
album names.
MAKING BAND ITS OWN ENTITY
This alternative cut down on the redundancy of our alpha solution. Many artists have been a part of
two bands, which would require entire rows to be repeated with only a change in the ‘band’ attribute.
Making band its own table will provide the user with more information with less repetition. It would
also allow the user to query by band name. Unfortunately this alternative requires three extra tables to
be created which would significantly increase the query time, making it less efficient. Also, this method
would be longer and much more difficult to implement with the addition of three tables.
MAKING ALBUM AND AWARD AN ATTRIBUTE OF SONG AND ARTIST
With the removal of the Album and the Award tables, our database will have fewer entities so queries
will be run faster and the implementation time will be shorter. There is little information outside of
award and album names, so reducing them to an attribute does not result in too much information loss.
Unfortunately, it is possible for a song to be on multiple albums and for artists to win multiple awards.
When this happens, our database would have unnecessary repeated rows with merely one attribute
changed. Users also lose the ability to query by album, ……
PURCHASE LOCATION AS AN ATTRIBUTE
We originally implemented our system with this alternative. As we were filling the database, we
decided that the value added by the Purchase Location table was not worth the inefficient query times
and the space it was taking up. There are thousands of music markets out there, and linking them to
each individual song and album is a daunting task.
Download