ER Diagram Homework Help


1. (49 Points) Construct an E‐R Diagram for the application described on the next page. Include

any additional assumptions you made about the application requirements. The assumptions

may not directly contradict anything given explicitly in the requirements. Hand‐drawn diagrams

will not be accepted (even if they are scanned and stored digitally).

2. (11 Points) Reduce your E‐R Diagram for Problem #1 to tables. Give a data dictionary

describing the contents of each table. The data dictionary should contain the list of attributes

for each table. For each attribute, the data dictionary should list the following:

ï‚· Name of Attribute

ï‚· Data Type of Attribute (numeric, 2 character string, date/time, etc.)

ï‚· Description of Attribute (What information does the attribute contain)

ï‚· Integrity Constraints of Attribute (not null, unique, primary key, foreign key, must be

positive, data values it contains, etc.)



Submit your assignment through Blackboard. If your assignment contains multiple files, zip

them into a single folder before submitting.



Points can be deducted from your assignment based on the quality of its presentation.

Handwritten assignments will not be accepted.

Application Description


A software development company wants to create a social network application where users can

post brief audio messages giving their thoughts.

ï‚· Each user of the application will have a password, a name (consisting of first name

and last name), an e‐mail address, a registration date, years registered, and a

location (consisting of a city, state or province, and country). The e‐mail address

uniquely identifies a user. The years registered should be computed from the

registration date.


ï‚· Each user may fall into one of three categories, normal, moderator, or guest. A user

may not fall into more than one of these categories at the same time. In addition to

the above user attributes, a normal user will have a membership handle. The

membership handle will be unique, but the user will still be identified by his or her email

address. A moderator will have a membership handle as well as a work



 Users may follow other users. Each time one user follows another, one’s role is as

the follower, and the other’s role is as the thinker. A thinker may have many

followers, and a follower may follow many thinkers. For each follower/thinker

relationship, the system should store a Boolean value indicating whether or not the

thinker has blocked the follower.


ï‚· Normal users may post thoughts. A normal user may post many thoughts, but each

thought must belong to a single normal user. Each thought has an audio file name, a

number, a title, and a popularity score. In addition, a user may specify one or more

topics with each thought. A thought’s popularity score is computed based on the

average rating it receives from users (described below). Each thought can only be

identified by its number and the ID of the normal user that posted the thought.


 Users may rate other users’ thoughts. A user may rate many thoughts, and each

thought may be rated by many users. Each time a user rates a thought, the system

should track the score given to it by the user. The score will have a range between 1

and 10. A user should not be allowed to rate the same thought twice.


ï‚· Moderators may censor thoughts if they determine them to be inappropriate. A

moderator can censor many thoughts, but each thought can be censored by only one

moderator. Each time a moderator censors a thought, the system should store the

date the thought was censored.


ï‚· In certain cases, thoughts may be given special awards. A thought may receive

several awards, and each award may be given to several thoughts. Each award has a

unique id number, a title, a description, and an amount. Awards are managed by

moderators. Each award must be managed by one moderator, and a moderator may

manage at most one award.

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply