0% found this document useful (0 votes)
24 views20 pages

Projecthotel

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views20 pages

Projecthotel

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

IT+SE DEPT

2023

PROJECT

DATABASE
DONE BY
- Saleem Hamed Ahmed -Amjad Abdulhakim
-Ayman Abdullah Faed - Azzam Mohmmed
-Basel Anwar Alathuri

SUPERVISED BY ENG Hashim


Part 1: Requirements Analysis
In the database management hotal contains collction of main entities and some relation that is connecting

them together. We write the some main entities to avoid redundancy data . we define Entity person that

has ( id_person,name,phone,gender,…) connect with anther entities E.X: Customer

(customer_id,…..)and employee (employee_id,salary,……)extends from entity person, and they have

some attributes that determines all one of them. Also they connecting with person many to to one and

the entity address has (address_id,address_name,…), the employee entity connecting with use entity in

inherint , the user entity has attribute( use_id,user_datacreated,…..user_login), the employee connecting

with the hotal(hotal_address,hotal_name,…) entity many to one .the customer entity connecting with

reservationList one to one and the reservationList that contains

attributes(reservation_id,reservation_name,reservation_date,reservation_....)and reservationList

connecting with reservations entity that contains(reservation_idn ,

reservation_checkout,reservation_checkin,…) the reservatiosns connecting with services entity that

contains attributes(service_id ,service_name,…).the service inherints to room entity and wing entity .

the bills (bills_id,bill_description,bill_name,….)entity connecting with payment

(payment_name,payment_id,…..) and discount(discount_id,discount_name,discount_date,…) entity .

Part 2: Conceptual Design


Entity: employee, Person
Relationship: employee IS A Person.

Employee IS A Person

Entity: Employee, User


Relationship: an Employee Belong to User.
User Employe
Belong to
e
Entity: Employee, Hotel
Relationship: an Employee Work on Hotel.

Employee Hotel
Work on

Entity: Person, Address


Relationship: A Person have Address

Person Address
Has A

Entity :Reservations , Payment


Relationship: A Reservation Has Payment .

Reservation Has Payment

Entity: Reservation, service


Relationship: A Reservation Contain service.

Reservation Contain service

Entity:Reservation, Payment
Relationship: A Reservation includes Payment.

Reservation includes Payment

Entity: Reservation, Bill


Relationship: A Reservation create Bill.

Reservation create Bill


Entity: Reservation List, Hotel
Relationship: A Reservation List Belong to Hotel

Reservation List Belong to Hotel

Entity: Payment, Bill


Relationship: A service Has Type

Payment Has Bill

Entity: Reservation List, Reservation


Relationship: A Reservation List Has Reservation

Reservation List Has Reservation


Part 3: Detailed Design
ERD-diagram
Normalization

Table name: Employees

primary key: Emp_id

foreign key: Emp_id

Emp_id Years- Salary Hiredate


_expernice

Table name: Customer

primary key cus_id

foreign key: cus_id


Gust_id Customer_state

Table name: Payment

primary key payment_id

foreign key: Bill_number


Payment_id Payment_name Paymenust_date Payment_stat

Table name: Reservations


primary key: Reserved_id
foreign key: Service_id, payment_id

Resrve_id Service_id Payment_id Check_in_date Check_out_date

Table name: Services

primary key: Service_id


foreign key:

Service_id Service_name Service_price Service_status Service_description

Table name: Bills


primary key: Bill_id
foreign key:
Bill_id Check_in_date Check_out_date

Table name: User

primary - User_id

foreign key: Emp_id


User_id User_powerGrant User_dateCreate User_login Type_user

Table name: Person


primary key: Person_id

foreign key: Addrs_id

Person_id Per_name Per_Gender Contac_id Adress_id

Table name: Hotel


primary key: Hotel_id

foreign key: Reserva_List_id _FK


Service_id_FK

Hotel_id Hotel_name Hotel_adress Hotel_city Hotel_country Hotel_stse

Table name: Room

primary key: Room_id

foreign key: Room_id


Room_id Room_typ

Table name: Discount


primary key : Discount_id

foreign key: Bill_id


Disc_id Bill_id Disc_name Disc_description End_date

Table name: Addressprimary key:Addrs_no

foreign key:

Address_id Address_name Address_City Address_street Address_Region Address_postal_code

Table name: Wing

primary key : Wing_id

foreign key: Wing_id

Wing_id

Table name: ReservationList

primary key : Reserva_List_id

foreign key: Reserve_id

Reserva_list_id Reserva_name Reserva_service Reserva_date Reserve_id

Part 4:
Physical Model (Mapping)
1. Convert the logical model to a physical model using a table format (not implementation)

Entity Type: Emloyee

Attributes Data Type Required


Employee_ID Integer (3) Pk-Yes
Fk-Yes
hiredate date Yes

Years_of_experience Integer (3) Yes

Salary Integer (10) Yes

Entity Type: Customer

Attribute Data Type Required


cus_id Integer (10) Pk-Yes
Fk-Yes
Customer_status Varchar(25) Yes

Entity Type : Person


Attribute Data Type Required
Person_id Integer (10) Pk-Yes

Per_name Varchar2(50) Yes


Per_working Varchar2(50) Yes
Per_gender Char(1) Yes
Address_no Integer (10) FK-Yes
Email Varchar2(50) Yes

Entity Type : Room


Attribute Data Type Required
Room_id Integer (10) Pk-Yes
FK-Yes
Type Varchar2(50) Yes

Entity Type : Services


Attribute Data Type Required
Service_id Integer (10) Pk-Yes
Service_name Varchar2(50) Yes
Service_price Integer (10) Yes
Service_status Varchar2(50 ) Yes
Service_description Varchar2(50) Yes

Entity Type : Reservations


Attribute Data Type Required
Reserve_id Integer (10) Yes
Service_id Integer (10) FK-Yes
payment_id Integer (10) FK-Yes
Check_in_date Date Yes
Check_out_date Date Yes
Service_state Varchar2(50) Yes
Entity Type : Hotel
Attribute Data Type Required
Hotel_id Integer (10) Pk-Yes
Service_id Integer (10) FK-Yes
Reserva_List_id Integer (10) FK-Yes
Hotel_name Varchar2(50) Yes
Hotel_address Varchar2(50) Yes
City Varchar2(50) Yes

Entity Type:User
Attribute Data Type Required
User_id Integer (10) PK-Yes
Fk_Yes
Type_user Varchar2(50) Yes
User_powerGrant Varchar2(50) Yes
User_dateCreate Date Yes
user_email Varchar2(50) Yes
User_login Varchar2(50) Yes

Entity Type: Address


Attribute Data Type Required
Addrs_no Integer (10) PK-Yes
Addrs_name Varchar2(50) Yes
Addrs_city Varchar2(50) Yes
Addrs_street Varchar2(50) Yes
Addrs_Region Varchar2(50) Yes
Addrs_postal code Integer (10) Yes

Entity Type: Discount


Attribute Data Type Required
Discount_id Integer (10) Pk-Yes
Bill_number Integer (10) FK_Yes
Discount_name Varchar2(50) Yes
Discount_description Varchar2(50) Yes
Start date selectInteger (10) Yes
End date Date Yes

Entity Type: Bills


Attribute Data Type Required
Bill_id Integer (10 ) PK_Yes
Check_in_date Date Yes
Check_out_time Time Yes

Entity Type: Payment


Attribute Data Type Required
payment_id Integer (10) PK_Yes
Bill_id Integer (10) FK_Yes
Payment_name Varchar2(50) Yes
Payment_date Date Yes
Payment_status Varchar2(50) Yes

Entity Type :ReservationList


Attribute Data Type Required
Reserva_List_id Integer (10) PK_Yes
Reserve_id Integer (10) FK_Yes
Customer_id Integer (10) FK_Yes
Reserva_name Varchar2(50) Yes
Reserve_ServiceId Integer (10) Yes
Reserve_date Date Yes
Reserve_state Varchar2(50) Yes

Part 5: Implementation of Physical Model


Note: Implement into any DBMS and share screenshots

SQL> create table person(per_id number(7) ,


2 per_name varchar2(50) not null,
3 per_gender char(1) check(per_gender in('f','F','m','M')),
5 Address_no number(7));
Table created.
SQL> alter table person add constraint person_id_pk primary key(per_id);
Table altered.
SQL> create table customer(cust_id number(7) ,
3 cust_status varchar2(50) not null,
4 constraint customercust_id_pk primary key(cust_id));

Table created.

SQL> create table employee(emp_id number(7) ,


3 years_of_experience number(6) check(years_of_experience>0),
4 salary number(8) check(salary>0));
Table created.

SQL> alter table employee add constraint employee_id_pk primary key(emp_id);


Table created.
SQL> create table Services(Service_id number(7) ,
2 Service_name varchar2(20) not null,
3 Service_price number(10) check(Service_price>0) not null,
4 Service_status varchar2(30) not null,
5 Service_description varchar2(50) not null,
6 capscity number(5) not null);
Table created.
SQL> alter table Services add constraint Services_id_pk primary key( Service_id);
Table altered.
SQL> create table Room(Room_id number(7) ,

3 Type varchar2(40) not null,


4 constraint Room_id_pk primary key( Room_id));
Table created.

SQL>
SQL> create table wing(wing_id number(7) ,
3 constraint wing_id_pk primary key( wing_id));
Table created.
SQL>
SQL> create table users(user_id number(7) ,
4 User_powerGrant Varchar2(50) not null,
5 User_dateCreate date default(sysdate),
6 User_login Varchar2(50) not null,
7 constraint users_id_pk primary key( user_id));
Table created.
SQL> create table Address(Addres_id number(7) ,

3 Addrs_name varchar2(30) not null,


4 Addrs_city varchar2(30) not null,
5 Addrs_street varchar2(30) not null,
6 Add_postcode number (10)not null,
7 constraint address_id_pk primary key( Addres_id));

Table created.

SQL>
SQL> create table Discount(Dis_id number(7) ,
2 bill_number number(7) not null,
3 Discount_name Varchar2(50) not null,
4 Discount_description Varchar2(50) not null,
5 Start_date date default(sysdate),

6 constraint Discount_id_pk primary key(Dis_id));


Table created.
SQL>

SQL> create table Payment(Paym_id number(7) ,


2 Bill_id number(7) not null,
4 Paym_name Varchar2(50) not null,
5 Paym_date date default(sysdate),
6 Paym_status Varchar2(50) not null,
7 constraint Payment_id_Pk primary key(Paym_id));
Table created.
SQL>
SQL> create table bills(bill_id number(7) ,
2 Check_in_date date default(sysdate),
3 Check_out_time timestamp default systimestamp );
Table created.

SQL>
SQL> create table ReservationList(Reserli_id number(7) ,
2 Reserve_id number(7) not null,
3 Cust_id number(7) not null,
4 Reserli_name Varchar2(50) not null,
5 Reserve_date date default(sysdate),
6 Reserve_state Varchar2(50) not null,
7 constraint ReservationList_id_pk primary key(Reserli_id));

Table created.

create table Reservations(Reserve_id number(7)not null,


Service_id number(7) not null,
paym_id number(7) not null,

Check_in_date date default(sysdate),


Check_out_date date default(sysdate),
constraint Reservations_id_pk primary key(Service_id));

Table created.
SQL> alter table Reservations add constraint Reservations_id_fk foreign key(Service_id)references
Services(Service_id)on delete cascade;

Table altered. SQL>

SQL> create table hotel(hotel_id number(7),


2 Service_id number(7) not null,
3 Reserli_id number(7) not null,

4 constraint hotel_id_pk primary key(hotel_id));


Table created.
SQL>

SQL> create table phone(phon_id number(7) not null,

2 phone_number number(20) ,
3 constraint phone_phon_id_fk foreign key(phon_id)references person(per_id) on delete
cascade);

Table created.

SQL> alter table phone add constraint pHONE_id_uq unique(PHONE_NUMBER);

Table altered.

SQL> alter table address add constraint address_PER_ID_fk foreign key( PER_ID) references
person(PER_ID) on delete cascade;

Table altered.

SQL> alter table payment add constraint payment_bill_ID_fk foreign key( bill_ID) references
bills(BILL_ID) on delete cascade;

Table altered.

SQL>

SQL> ALTER TABLE USERS ADD CONSTRAINT USERS_USER_ID_FK FOREIGN


KEY(USER_ID) REFERENCES EMPLOYEE(EMP_ID) ON DELETE CASCADE;

Table altered..

SQL> alter table users add constraint users_type_ID_fk foreign key(type_ID) references type(type_ID)
on delete cascade;

Table altered.

SQL>

SQL> alter table person add constraint person_contact_ID_fk foreign key(CONTACT_ID) references
CONTACACTINFO(CONTAC_ID) on delete cascade;

Table altered.

SQL> alter table employee add constraint employee_per_id foreign key(emp_id) references
person(per_id) on delete cascade;

Table altered.

SQL>

SQL> alter table customer add constraint customer_cust_id foreign key(cust_id) references
person(per_id) on delete cascade;

Table altered.

SQL> alter table RESERVATIONS add constraint RESERVATIONS_SERVICE_ID_id foreign key(


SERVICE_ID) references SERVICES( SERVICE_ID);

Table altered.
SQL>

SQL> alter table RESERVATIONS add constraint RESERVATIONS_paym_id_fk foreign


key(PAYM_ID) references payment(PAYM_ID) on delete cascade;

Table altered.

SQL> alter table room add constraint room_room_id_fk foreign key(room_id) references
SERVICES(SERVICE_id) on delete c=ascade;

Table altered.

SQL>

SQL> alter table wing add constraint wing_wing_id_fk foreign key(wing_id) references
SERVICES(SERVICE_id) on delete cascade; Table altered.

SQL> alter table hotel add constraint hotel_SERVICE_ID_fk foreign key(SERVICE_ID) references
SERVICES(SERVICE_ID) on delete cascade ;

Table altered.

SQL> alter table hotel add constraint hotel_RESERLI_ID_fk foreign key(RESERLI_ID) references
RESERVATIONLIST(RESERLI_ID) on delete cascade ;

Table altered.

SQL>

SQL> alter table RESERVATIONLIST add constraint RESER_CUST_ID_fk foreign key(CUST_ID)


references CUSTOMER( CUST_ID) on delete cascade;

Table altered.

SQL>

SQL> alter table RESERVATIONLIST add constraint RESERve_RESER_ID_fk foreign


key(RESERVE_ID) references RESERVATIONS(RESERVE_ID) on delete cascade;

Table altered.

Part 6: Design queries

You might also like