Purpose: To implement a “prototype” database system application for a eCommerce social-network system called UCOnline where users can explore information about books/music/software, rate your purchase, identify purchase price and see ratings of their friends.
Requirements: (a) Working ERD Diagram.
(b) Explanation of the relationships used in the ERD Diagram (text-based summary).
(c) URL of a WORKING database that maps your database solution. It should be a working prototype. I strongly encourage you testing this and using this as an opportunity. There are many free offers for AWS, Azure, GCP available – especially for students.
Instructions: You will work with book/music/media information, user information, ratings of books, and users’ social network.
Each book has an id, title, publication date, publisher, ISBN, functional category, page count, price (publisher), and product description.
There are 3 categories of book: fiction, non-fiction, and specialty.
There are 2 categories of music: digital and media-based
An author can write one or more books.
A musician can be a solo artist, part of a group, or both
An author can also be associated with one or more publishers.
A musician/group/act can be associated with one or more music houses
An author’s book can have one or more editions.
A song and or album can have more than one version/edition (i.e. EP, LP, CD, DVD etc)
A publisher can have many authors and many books.
A record company can have many artists associated and many albums associated with it.
A record company can also be the publishing company (i.e. self-publishing)
Many ISBNs can also be associated with a given publisher but only one ISBN per form of medium (ie the ISBN is the PK no matter what).
An author can write many books.
An artist can write many songs, albums etc.
UCOnline needs to keep track of user ratings for each item sold in the online store (e.g., 1-5 and 1 for ‘Dislike’, to 5, for ‘Awesome!’). A particular user rates a particular item at a given time.
A user CANNOT rate the same multiple times unless there are multiple editions of the item. Each edition can be rated separately. Each user who submits a rating will be identified by a unique id and has a name, gender, age, and location. Nothing is anonymous.
There is also a social network between users. Users can send communication requests (i.e. instant messages/emails) to other users. Such requests can be accepted or ignored. Once accepted, the two users are considered ‘book buddies.’ If ignored, the user can send the request again. We want to add a store when the requests were sent (timestamp), the result of the requests and when the request was answered (timestamp).