Question

In: Computer Science

You are asked to design a relational database for a simple course registration software application for...

You are asked to design a relational database for a simple course registration software application for your school. The relational database must have the following information about the student, the course, and the registration, respectively

  1. StudentID, FirstName, LastName, DataOfJoining, and Major
  2. CourseNumber, CourseName,InstructorName, StartDate, EndDate, NumberOfCredits
  3. ReferenceID, StudentID,CourseID, DateOfRegistration

Apply the following constrains while designing the database

  1. Each student in the database must be uniquely identifiable
  2. Each course listed in the database must be have unique CourseNumber
  3. Each course registration must have unique ReferenceID.

A student can take multiple courses, but each course must be registered separately, and the following two rules must be applied

  1. A student can do multiple course registrations
  2. There can be many courses and a course can appear multiple times in the registration process.

Using pen and paper draw an Entity Relations Diagram (ERD) for the above application, then take a picture of it and submit. You may follow the below Steps for completing this assignment

Step 1: Identify the entities and their attributes involved in the given business.

Step 2: Write the entity names and their attributes along with the data type as tables.

Step 3: Identify the primary key fields and mark them as PK.

Step 4: Read and understand the business rules. Then, create natural relations between

entities that can capture the business rules. Identify the foreign key fields and mark them as FK.

Solutions

Expert Solution

  • Step1: Following are the 3 entities identified as per the given data: Student, Course, and Registration.
  • Step2: Following are the tables along with their respective attributes:
  • Student( StudentID, FirstName, LastName, DataOfJoining, Major)
  • Course ( CourseNumber, CourseName,InstructorName, StartDate, EndDate, NumberOfCredits )

  • Registration ( ReferenceID, StudentID,CourseID, DateOfRegistration )

  • Step3: For Student table, PK: StudentID, for Course table, PK: CourseNumber , for Registration table, PK: ReferenceID

  • Step4: Since each student enrolls in a course and each course gets registered so, we can have the 2 relations Enrolls and Registered between these 3 entities.

  • Enrolls is between tables Student and course with the following attributes:

  • Enroll( StudentID, CourseNumber ) with FK: StudentID refrences StudentID of Student table, and FK: CourseNumber references CourseNumber of Course table

  • Registered is between tables Course and Registration with the following atttributes:

  • Registered( CourseNumber, ReferenceID ) with FK: CourseNumber references CourseNumber of Course table,and FK: ReferenceID reference ReferenceID of Registration table.

Following is the ERD representing the 3 entities and the 2 many-to-many relationships between them:

Note that both the 2 relations are many-to-many, thus indicated as M:N

Feel free to ask any doubts you may have. Happy to help.


Related Solutions

Design and implement a relational database application of your choice using MS Workbench on MySQL a)...
Design and implement a relational database application of your choice using MS Workbench on MySQL a) Declare two relations (tables) using the SQL DDL. To each relation name, add the last 4 digits of your Student-ID. Each relation (table) should have at least 4 attributes. Insert data to both relations (tables); (15%) b) Based on your expected use of the database, choose some of the attributes of each relation as your primary keys (indexes). To each Primary Key name, add...
Fortunately, once an application that accesses a database is tuned for optimal relational access to the...
Fortunately, once an application that accesses a database is tuned for optimal relational access to the data, there is never any performance degradation after that. .True .False 2 Monitoring a database system for performance management purposes means to watch the system as it runs, paying particular attention to statistics gathered by the RDBMS . True . False 3. RDBMS, in general, during normal operational use, use _______________ cache(s). Choose the best answer a. exactly two b. no c. a number...
Data Modeling and Database Design (Database Concepts, Eighth Edition) The relational model is the most important...
Data Modeling and Database Design (Database Concepts, Eighth Edition) The relational model is the most important standard in database processing today. Why do you feel that this model has continued to be successful in the world of IT? What would happen if large corporations decided to reject this theory, and store their data using a non-relational model? Are there any success stories where this has happened?
Describe whether big data or a business intelligence application that uses a relational database, is a...
Describe whether big data or a business intelligence application that uses a relational database, is a better fit for the users at each of the three organizational and management levels.
design a relational database to cater for the needs of the new bookshop owner as described...
design a relational database to cater for the needs of the new bookshop owner as described in the first question giving examples of tables, attributes, primary and foreign keys. you may assume that suppliers' orders contain more than one line
Metal Holdings Inc. You have been assigned the task of creating a simple relational database using...
Metal Holdings Inc. You have been assigned the task of creating a simple relational database using SQLite database by the owner of “Metal Holdings” who is in the business of selling industrial metals to customers (mostly wholesale suppliers) who buy from the company. Your goal is to design and build a database that would be responsible for: Managing a product table containing all metals which at a minimum should provide information such as name, description and price of each metal...
How to Connect an Android Application to Firebase Realtime Database and write a simple database in...
How to Connect an Android Application to Firebase Realtime Database and write a simple database in Java. Please attach screenshots of the activity performed.
You have been given the following specifications for a simple database about the requests for software...
You have been given the following specifications for a simple database about the requests for software that staff members make for their units (note that primary keys are shown underlined, foreign keys in bold). You should run your SQL to demonstrate that it works correctly, and paste in the statements used plus the output from Oracle. LAB (RoomNo, Capacity) SOFTWARE (SoftwareID, SoftwareName, Version) REQUEST (SoftwareID, RoomNo, RequestDate, TeachingPeriod, Progress) Based on the table specifications provided, answer the following questions. Each...
One of the characteristics of good relational database design is normalized tables. Discuss two ways in...
One of the characteristics of good relational database design is normalized tables. Discuss two ways in which normalization helps minimize data redundancy and anomalies such as insertion, deletion, and update anomalies. What are some other characteristics of good database design?
The database design process for noSQL databases is different from one for relational (SQL) databases. As...
The database design process for noSQL databases is different from one for relational (SQL) databases. As we learned noSQL database does not require to have a predefined structure, except of creating a list of databases and the list of collections. Some of the noSQL databases (like MongoDB) allow to define certain rules that will define what should be the structure of the acceptable documents for each collection. As you may recall, when you need to store multiple data points in...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT