This project is worth 14 marks and will be distributed as the following: oDesign

This project is worth 14 marks and will be distributed as the following:
oDesign a Conceptual Schema using ER modeling concepts, including (Entities, Relationships, Attributes, Participation (Total or Partial), and Cardinality). (3 marks)
oTables before Normalization. (2 marks)
oTables after Normalization Using mapping Algorithm. (3 marks)
oUse MySQL or any other DBMS to create the normalized tables and
populate your tables with at least 10 rows. (3.5 marks)
oExecute the requested sample queries. (2.5 marks)
Each student must submit one report about their chosen Project via the Blackboard (Email submission will not be accepted and will be awarded ZERO marks) containing the following:
a)ER Diagram.
b)All schemas before normalization.
c)All schemas after normalization.
d)All SQL statements of:
§Creating tables.
§Inserting data in tables.
e)All requested queries/results.
Screenshots from MySQL (or any other software you use) of all the tables after population and query results.
You are advised to make your work clear and well presented; marks may be reduced for poor presentation. This includes filling in your information on the cover page.
You MUST show all your work, and text must not be converted into an image unless specified otherwise by the question.
Late submission will result in ZERO marks being awarded.
The work should be your own. Copying from students or other resources will result in ZERO marks.
Project I
Database System for a car rental company
Consider the company requirements as follows:
A car rental company needs a comprehensive database system to streamline its operations. The system should enable customers to rent cars from multiple locations (Riyadh, Jeddah, Makkah, Dammam, Al-Khobar, Qasim, Tabuk, AL-Baha, Al-Jawf, Ha’il, Aseer, Jazan, Najran). Customers will be required to register by providing their full name, email, phone number, and date of birth. The company owns a fleet of cars, which contains important details such as the manufacturer, model, manufacturing year, license plate, and daily rental rate. Every rental transaction will involve the customer, the rented car, and the rental period (start and end dates). As the company operates in multiple cities and states, multiple rental locations are available, each with its name, street address, city, state, and postal code.
Customers can rent multiple cars, and each car can be rented by multiple customers. A specific rental location will be associated with each car. Moreover, each rental transaction will be linked to a specific rental location. To maintain data integrity, constraints such as unique customer and car IDs will be enforced. Rental transactions must be associated with both a customer and a car.
On the other hand, each car should be linked to a rental location. Reports on rental transactions will be generated, including customer information, location, and period. User roles will be implemented for customers and system administrators. Customers will be able to view available cars, rent cars, and access their rental history. Meanwhile, administrators will be able to manage car inventory, rental locations, and customer accounts.
The system will ensure that cars are available for rent at specific locations and track car availability to prevent overbooking. Rental costs will be calculated based on the rental rate per day. User authentication and authorization will be implemented to protect customer data and system operations.
a)ER Diagram
b)Tables before the normalization
c)Tables after the normalization
d)Create the normalized tables and populate them with at least 10 rows
e)Write the sample requested Quesries & Execute them
1.List the first and last names of customers who have rented a car more than two times.
2.List all cars in Jazan whose manufacturing year is greater than 2007.
3.List all cars that have been rented from Jeddah city along with customer information (First and last name, email address, and phone number)
4.List all cars rented more than three times in all cities.
5.List all cars with a rental period of more than five days, along with the customer information (First and last name, email address, and phone number).

You must submit two separate copies (one Word file and one PDF file) using the A

You must submit two separate copies (one Word file and one PDF file) using the Assignment Template on Blackboard via the allocated folder. These files must not be in compressed format.
It is your responsibility to check and make sure that you have uploaded both the correct files.
Zero mark will be given if you try to bypass the SafeAssign (e.g. misspell words, remove spaces between words, hide characters, use different character sets, convert text into image or languages other than English or any kind of manipulation).
Email submission will not be accepted.
You are advised to make your work clear and well-presented. This includes filling your information on the cover page.
You must use this template, failing which will result in zero mark.
You MUST show all your work, and text must not be converted into an image, unless specified otherwise by the question.
Late submission will result in ZERO mark.
The work should be your own, copying from students or other resources will result in ZERO mark.
Use Times New Roman font for all your answers.
2 Marks
Learning Outcome(s):
Design a database starting from the conceptual design to the implementation of database schemas.

Question One
Explore the concept of domains in SQL databases and their significance in enforcing data integrity constraints. Describe the steps involved in creating and utilizing domain constraints using the CHECK clause. Provide real-world examples where domain constraints are essential for ensuring the validity and consistency of data. Additionally, discuss the benefits and limitations of using domains compared to traditional CHECK constraints.
3 Marks
Learning Outcome(s):
Create Entity-Relationship model, Relational model, and write SQL queries.
Question Two
The following is a Student Table from a database. Write your SQL queries to answer the following questions:
Student_ID
Name
Age
Gender
Grade
1
Sarah
18
Female
90
2
Mohamed
19
Male
85
3
Ahmed
17
Male
77
4
Maryam
18
Female
92
5
Saeed
20
Male
87
1-Retrieve the Name and Age of students with a Grade greater than 89.
2-Retrieve the count of Male students in the student table.
3-Retrieve the average Grade of all students.
4-Update the Grade of the student with Student_ID 3 to 90.
5-Delete the record of the student named “Ahmed”.
6-Insert a new student into the table.

3 Marks
Learning Outcome(s):
Design a database starting from the conceptual design to the implementation of database schemas
Question Three
Consider a database schema with the following tables:
CREATE TABLE Students (
StudentID INT PRIMARY KEY,
Name VARCHAR(50),
Age INT,
GPA FLOAT );
CREATE TABLE Courses (
CourseID INT PRIMARY KEY,
CourseName VARCHAR(50) );
CREATE TABLE Enrollments (
EnrollmentID INT PRIMARY KEY,
StudentID INT,
CourseID INT,
Grade FLOAT,
FOREIGN KEY (StudentID) REFERENCES Students(StudentID),
FOREIGN KEY (CourseID) REFERENCES Courses(CourseID));
Solve the following SQL problems by nesting queries.
1.Write an SQL query to find the names of students who are enrolled in the course ‘Mathematics’ and have a GPA greater than 3.5.
2.Assuming the same database schema, write an SQL query to find the average GPA of students who have enrolled in the course ‘Physics’.
3. Extend the previous query to find the average GPA of students who have enrolled in the course ‘Physics’ and whose age is less than 25.
Learning Outcome(s):