Thông thường mối kết hợp có các thuộc tính là khóa của các loại thực thể tham gia vào mối kết hợp, ngoài ra còn có thêm những thuộc tính bố sung khác...---5- 3 - Bản số mỗi nhánh của mối
Trang 1HA NOI, NAM 2024
Trang 2
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP VIỆT - HUNG KHOA:CÔNG NGHỆ THÔNG TIN
PHẦN TÍCH THIET KE VA XAY DUNG CSDL QUAN LY KHACH SAN
DO AN HOC PHAN 1 CHUYEN NGANH: CONG NGHE THONG TIN
Giáo viên hướng dẫn : Đặng Thị Huệ
Họ tên sinh viên : Trần Văn Việt
Lớp : k45CNTI
Trang 3HÀ NỘI, NĂM 2024 PHIEU GIAO DE TAI TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP VIỆT-HUNG
KHOA CÔNG NGHỆ THÔNG TIN
1 Yêu cầu về kiến thức, kỹ năng:
- _ Phân tích hệ thông và chuyên đôi mô hình E-R sang lược đồ quan hệ
- _ Chuẩn hóa các lược đồ về dang 3NF
- Thiét kế các bảng trên SQL
- _ Viết các câu truy vấn và thủ tục trén SQL
2 Mô tả bài toán
Một khách sạn cần xây dựng một hệ thông chương trinh quan lý việc thuê phòng của các khách trọ Thông tin vê phòng gôm : Mã phòng, loại phòng Thông tin về khách trọ gồm: Mã khách, Họ tên, Số CMND, Địa chỉ, Quốc tịch Một khách trọ có thê đên thuê phòng tại khách sạn này nhiều lân Thông tin của mỗi lân thuê của một khách gồm : Phòng thuê, Ngày bắt đầu Ngày kết thúc Giả
sử tât cả các phòng đều là phòng đơn (phòng 1 người) Đơn giá thuê / 1 ngày của một phòng được ân định trước tủy theo phòng thuộc loại nào Trong mỗi lân thuê
phòng, khách trọ có thê trả thêm các khoản tiền về dịch vụ (như điện thoại, ăn
uong, karaoke, .)
3 Nộp kết quả
- Bao cao (theo mau cua b6 môn);
- Demo chuong trinh, file bao cao
4 Đánh giá:
- Mức đạt : Phân tích thiết kế hệ thong va xay dung duoc CSDL dat chuẩn
- Mức khá, tốt: Viết các câu truy vấn và thủ tục, kết nối sang ngôn ngữ lập trình đề gọi thủ tục vừa tạo
Trang 4Thời gian thực hiện: Theo lịch của bộ môn
Tài liệu tham khảo: [1 | Internet
Đặng Thị Huệ ĐT: 0982.128.025 Email: dangthihue.2006@gmail.com
Trang 5TRƯỜNG ĐHCN VIỆT - HUNG CONG HOA XA HỘI CHỦ NGHĨA VIỆT
Độc lập - Tự do — Hạnh phúc
NHẬN XÉT ĐỎ ÁN HỌC PHẢN
Chuyên ngành :
(Nhận xét của GV hướng dân L] Nhận xét cua GV phan bién L1)
Ho tén sith Vien: idiưdidtiẳi
Y KIEN NHAN XET
1 Về nội dung & đánh giá thực hiện nhiệm vụ nghiên cứu của đề tài:
Trang 7DANH MỤC CHỮ VIẾT TAT
STT Tên viết tắt Tên đầy đủ Dịch ra tiếng Việt
3 SQL Structured Query Language Ngôn ngữ truy vẫn
mang tinh cau trúc
7 ER Entity — Relationship Model M6 hinh quan hé - thực thể
Trang 8
NHAT KY THUC HIEN DE TAI
06/05/2024 | Nhận đê tài từ giáo viện hướng dẫn
06/05 — - Tim hiéu dé tai Địa điểm: Thư viện
8/05/2024 - Khao sat dé lay dữ liệu trường ĐHCN Việt-
Hung 12/05 — - Duara m6 hinh Co so dit ligu quan | N6p báo cáo qua
- Ndp bao cao cho GVHD xem qua
20/05— - _ Thực hiện yêu cầu ở phiếu giao đề tài |Nộp báo cáo qua 22/05/2024 - Nộp báo cáo tiến độ làm đồ án cho | email cho GVHD
GVHD 24/05- - _ Thực hiện yêu câu ở phiếu giao đề tài | Gặp GVHD trao đôi
2/06- 6/06- - _ Thực hiện yêu cầu ở phiếu giao đề tài | Nộp báo cáo qua
7/06 — - _ Thực hiện yêu câu ở phiếu giao đê tài |Nộp báo cáo trực
12/06/2024 - Hoàn thiện báo cáo + chương trình | tiếp cho GVHD
nộp về khoa
21/06 - - Hoàn thiện chương trinh va chuẩn bị
26/06/2024 bảo vệ theo lịch của Khoa
Trang 9
MỤC LỤ
C Entity — Relationship Model ác 112121121 1111011111111 1181111011151 01111101111 11 1c vệy 7
Mô hình quan hệ - thực An 7
NHẬT KÝ THỰC HIỆN ĐÈ TÀI 2222: 222222222221111112222211122201111 2111111 1 1e 8 LOT NOI DAU eecssssesesscsssesseeccsssseeecssnsiseeecanssnnseeessinesecssnssessnstieeesaniussescesmeseanieseesineesiees 1 U89) 09 01 .- 1 CHƯƠNG I TÌM HIẾU CÁC MÔ HÌNH DỮ LIỆU -222222222222222222222211112 te 2
LL M6 hhitth dit Gu (4đŒLFŸt1.D 2
1.2.2 Mô hình dữ liệu phân cấp - + SE 12511212711 211211212112 12121 11 na 2 1.2.3 Mô hình dữ liệu thực thê - kết hợp - 5 5s E2 221 2112102121 na 3
Loại mối kết hợp (Entity Relationship): Su dung hinh elip hoặc hình thoi dé the hign một mối két hop giữa các thực thê Giữa 2 loạithực thê có thê tôn tại nhiêu hơn một môi kết hợp 3 Thuộc tính của mối kết hợp (RelationShip Attribute): Mối kết hợp có thê có các thuộc tính của riêng nó Thông thường mối kết hợp có các thuộc tính là khóa của các loại thực thể tham gia vào mối kết hợp, ngoài ra còn có thêm những thuộc tính bố sung khác -5- 3
- Bản số mỗi nhánh của mối kết hợp (RelationShip Cardinal): Mỗi nhánh của mối kết hop 1a mối kết hợp nối một loại thực thê với một mối kết hợp Mỗi nhánh cần xác (min,max) các thực thê của nhánh đó sẽ tham gia vào một thực thê của mối kết hợp Hai đại lượng này được gọi là bản số của mối kết hợp - s5 sc T2 1211211211221 2212122121 11 12 ngu 3 1.2.4 Sơ đỒ 0c c1 H2 n1 HH 2H21 tra 5 CHƯƠNG 2: PHAN TÍCH, THIẾT KẺ HỆ THỎNG .222:222222222222221122222311 6
“1: ao 7n 9
=6 on .ỒẦẢ 9
Trang 105.4 Gọi thủ tục tìm kiếm trên giao điên web -s-cs SE 2H H112 gen ere 22
4000/50 22
TÀI LIỆU THAM KHẢO 5 2c 21 2312112112115112121111211212111121111211 1121111111 121221 2e 23
Trang 111
LỜI NÓI ĐẦU
Trong đỗ án này, em xin giới thiệu giải pháp quản lý siêu thị bang SQL SQL la một ngôn ngữ truy vấn cơ sở dữ liệu rất phổ biến được sử dụng trong các hệ thống quản lý cơ sở dữ liệu hiện nay Bằng việc ứng dụng SQL, em hy vọng có thể giúp các doanh nghiệp quản lý siêu thị của mình một cách hiệu quả hơn, giúp cho quá trinh quản lý và giám sát kinh doanh trở nên dễ dàng và thuận tiện hơn
LỜI CÁM ƠN
Với sự định hướng và giúp đỡ của cô Đặng Thị Huệ em đã hoàn thành đồ án này đúng với thời gian quy định Em xin cảm ơn cô vì đã nhiệt tỉnh chỉ dạy em Do
đây là đỗ án đầu tiên nên khó tránh khỏi sai lầm, em mong cô đưa ra những lời khuyên
và góp ý để giúp em hoàn thiện những đồ án tiếp theo trong chương trình học
Em xin chân thành cảm ơn cô!
Trang 122 CHUONG 1 TIM HIEU CÁC MÔ HÌNH DỮ LIỆU
1.1 Mô hình dữ liệu
Mô hình dữ liệu là cách giải thích logical layout của dữ liệu và mối quan hệ
giữa các thành phần với nhau và với toàn thẻ
1.2 Các loại mô hình dữ liệu
1.2.1 Mô hình dt ligu mang (Network Data Model)
Mô hình đữ liệu (Network Data Model) còn được gọi tắt là mô hình mạng hoặc
mô hình lưới (Network Model) là mô hình được biếu diễn bởi một đồ thị có hướng
Mô hình dữ liệu mạng tương đối đơn giản, dễ sử dụng nhưng nó không thích hợp trong
việc biểu diễn các CSDL có quy mô lớn bởi trong một đồ thị có hướng khả năng diễn
đạt ngữ nghĩa của dữ liệu, nhất là các đữ liệuvà các mối liên hệ phức tạp của dữ liệu trong thực tế là rất han ché
Ví dụ:
1-n
1.2.2 Mô hình dữ liệu phân cấp
Mô hình đữ liệu phân cấp (Hierachical Data Model) - được gọi tắt là mô hình phân cấp (Hierachical Model): Mô hình là một cây (Tree), trone đó mỗi nút của cây biểu diễn một thực thẻ, oiữa nút con và nút cha được liên hệ với nhau theo một mỗi quan hệ xác định
Trang 13thực thê “phong” có một số thuộc tính “id_phong, loai phong”
- Khóa của loại thực thé (Entity Key): Do là các thuộc tính nhận diện của loại thực thé Căn cử vào các 214 tri cua cac thuộc tính nhận diện này người ta có thể xác định một thực thể duy nhất của một loại thực thể Ví dụ, khóa chính của thực thể “phong và khach hang” có thể là khóa ngoại của “thue phong”
-Loại mối két hop (Entity Relationship): Sử dụng hình elíp hoặc hình thoi dé thé hiện
một mối kết hợp giữa các thực thể Giữa 2 loại thực thể có thể tồn tại nhiều hơn một mối kết hợp
-Thuộc tính của mối kết hợp (RelationShip Attribute): Mối kết hợp có thể có các thuộc tính của riêng nó Thông thường mối kết hợp có các thuộc tính là khóa của các loại thực thể tham gia vào mối kết hợp, ngoài ra còn có thêm những thuộc tính bố sung
khác
- Bản số mỗi nhánh của mối kết hợp (RelationShip Cardinal): Mỗi nhánh của mối kết hợp là mỗi kết hợp nối một loại thực thế với một mỗi kết hợp Mỗi nhánh cần xác (min,max) các thực thê của nhánh đó sẽ tham gia vào một thực thế của mỗi kết hợp Hai đại lượng này được gọi là bản số của mỗi kết hợp
Trang 155 CHƯƠNG 2: PHAN TICH, THIET KE HE THONG 2.1 M6 ta bai toan
Khach san:
Một khách sạn cần xây đựng một hệ thống chương trình quản lý việc thuê phòng của các khách trọ Thông tin về phòng gồm : Mã phòng, loại phòng Thông tin về khách trọ gồm: Mã khách, Họ tên, Số CMND, Địa chi, Quốc tịch Một khách trọ có thê đến thuê phòng tại khách sạn này nhiều lần Thông tin của mỗi lần thuê của một khách gồm : Phòng thuê, Ngày bắt đầu Ngày kết thúc Giả
sử tất cả các phòng đều là phòng đơn (phòng 1 người) Đơn giá thuê / l ngày của một phòng được ấn định trước tùy theo phòng thuộc loại nào Trong mỗi lần thuê
phòng, khách trọ có thê trả thêm các khoản tiền về dịch vụ (như điện thoại, ăn
(1,n) là 1 khách hàng có thê thuê nhiều phòng
(1,n) là I phòng có thể được được nhiều người thuê
Quan hệ n -n sẽ sinh ra thực thê mới đấy là thuê phòng
Trang 16
(1,n) là 1 thuê phòng có thể sử đụng nhiều dịch vụ
(1,n) 1 dịch vụ có thể được sử dụng tại nhiều thuê phòng
Quan hệ n —n sẽ sinh ra thực thể mới đây là chi tiết dịch vụ
2.4 Quy tắc chuyển đỗi
2.4.1 Quy tắc chuyên đổi
_ mỗi lớp thực thế hình thành 1 quan hệ (bảng)
_ mỗi kết hợp (1,1) thì không hình thành quan hệ mới mà đem thuộc tính khóa của
quan hệ này sang làm khóa của quan hệ kia
_ mỗi kết hợp (1,n) không hình thành quan hệ mới mà khóa chính bên ít sẽ làm khóa phụ bên nhiều
_ mỗi kết hợp (n,n) hình thành 1 quan hệ mới ít nhất 2 khoá chính của 2 lớp quan hệ liên quan và thuộc tính tính liên quan và thuộc tính riêng của mỗi kết hợp (nếu có)
* Vi dụ:
User và CCCD không hình thành quan hệ mới mà đem thuộc tính khóa của quan hệ
này sang làm khóa của quan hệ kia
Danh mục và sản phâm :không hình thành quan hệ mới mà khóa chính của sản phâm
sẽ làm khóa ngoại của danh mục
Thué phong
Trang 177 Quan hệ (n,n) sinh ra I quan hệ mới là Thuê phòng chứa ít nhất 2 mã số
MaKhachHang va MaPhong tính chất riêng của 2 quan hệ là
start_date ,end_ date ,gia thue
2.4.2 Kết quả được mô hình quan hệ gồm các bảng sau
- Phong( Ma_Phong(PK), Loai Phong )
- Khach Hang( Ma Khach(PK), Ho ten, So CMND, Dia Chỉ , Quoc Tịch )
- Dịch Vụ( Ma_DV(PK), Ten DV)
- Chị Tiet Dịch Vuụ( Ma Thue(FK), Ma _DV(FK), So Luong, Gia_ Tien)
- Thue_Phong(Ma_ Thue(PK),Ma_Khach(FK), Ma _Phong(FK), Ngay _BD, Ngay KT, Gia_ Thue)
Trang 188 CHUONG 3: XAY DUNG CSDL 3.1 Code tạo bảng và liên kết khóa ngoại
3.1.1 Bảng KhachHang:
CREATE TABLE KhachHang (
MaKhach INT PRIMARY KEY,
HoTen NVARCHAR(100) NOT NULL,
SoCMND VARCHAR(20) NOT NULL,
DiaChi VARCHAR(255) NOT NULL,
QuocTich VARCHAR(50)
);
3.1.2 Bang Phong:
CREATE TABLE Phong (
MaPhong INT PRIMARY KEY,
LoaiPhong NVARCHAR(50) NOT NULL
);
3.1.3 Bang ThuePhong:
CREATE TABLE ThuePhong (
MaThue INT PRIMARY KEY,
Makhach INT,
MaPhong INT,
NgayBatDau DATE NOT NULL,
NgayKetThuc DATE NOT NULL,
GiaThue FLOAT NOT NULL,
FOREIGN KEY (MakKhach) REFERENCES KhachHang(Makhach),
FOREIGN KEY (MaPhong) REFERENCES Phong(MaPhong)
);
3.1.4 Bang DichVu:
CREATE TABLE DichVu (
MaDichVu INT PRIMARY KEY,
TenDichVu NVARCHAR(50) NOT NULL
GiaTien FLOAT NOT NULL,
FOREIGN KEY (MaThue) REFERENCES ThuePhong(MaThue),
FOREIGN KEY (MaDichVu) REFERENCES DichVu(MaDichVu)
Trang 19nvarchar(100) varchar(20) varchar(255) varchar(50)
Data Type
int nvarchar(50)
Data Type int
int int date date float
Trang 21Tran Van Viet 987654321 Quach Van Buoi 456123789
Spa Dịch vụ phòng
Ha Noi
Ha Noi HCM
Da Nang
HCM
NgayKet Thuc
2024-05-05 2024-06-15 2024-07-25
Gia Thue 100.5 150.5 200.5 800.5
Trang 2213 CHUONG 4: MO PHONG CSDL QUAN LY KHACH SAN TREN SQL
SERVER 4.1 Giới thigu vé SQL
SQL la tir viét tắt của Structured Query Language (ngén ngit truy van co cau trúc), là công cụ sử dụng để tô chức, quản lý và truy xuất dữ liệu được lưu trữ tronpcác CSDL SQL là một hệ thống ngôn ngữ bao gồm các tập câu lệnh sử dụng đề tương tác với CSDL quan hệ
Ngôn ngữ truy vẫn có cấu trúc và các hệ quản trị CSDL quan hệ là một trong những nền tảng kỹ thuật quan trọng trone công nghiệp máy tính Hiện nay SQL được xem là ngôn ngữ chuẩn trone CSDL Các hệ quản trị CSDL quan hệ thương mại hiệncó như Oracle SQL Server, Informix, DB2, đều chọn SQL lam ngôn ngữ cho sản phẩm của mình
SQL là một hệ quản trị CSDL nhiều người dùng kiểu Cline/Server Đây là một
hệ thống cơ bản dùng lưu trữ dữ liệu cho hầu hết các ứng dụng hiện nay Mô hình Cline/Server trên SQL được sử dụng để điều khiển tất cả các chức năng mà một hệ quản trị CSDL cung cấp cho người dùng các khả năng
- Định nghĩa đữ liệu: SQL cung cấp khả năng định nghĩa các CSDL, các cấu trúc lưu trữ và tô chức dữ liệu cũng như mối quan hệ giữa các thành phần dữ liệu
- Truy vấn và thao tác dữ liệu: Người dùng có thê dễ đàng thực hiện các thao tác như truy xuất, bổ sunø, cập nhật và loại bỏ dữ liệu, đảm bảo sự an toàn cho CSDL
- Điều khiến truy cập: SQL có thể được sử dụng đề cấp phát và kiểm soát các thao tác của người sử dụng trên dữ liệu, đảm bảo sự an toàn cho CSDL,
- Dam bao toàn vẹn dữ liệu: SQL định nghĩa các ràng buộc toàn vẹn trong CSDL nhờ
do dam bao tính hợp lệ và chính xác của dữ liệu trước các thao tác cập nhật cũng như các lỗi của hệ thống
Như vậy, có thể noi rang SQL là một ngôn ngữ hoàn thiện được sử dụng trong các hệ thống cơ sở dữ liệu và là một thành phần không thê thiếu trong các hệ quản trị
cơ sở đữ liệu Mặc dù SQL không phải là một ngôn ngữ lập trình như C,C++,Java, song các câu lệnh mà SQL cung cấp có thể được nhúng vào trong các ngôn ngữ lập trình nhằm xây dựng các ứng dụng tương tác với cơ sở dữ liệu
Ban than SQL không phải là một hệ quản trị cơ sở đữ liệu, nó không thê tổn tại độc lập SQL thực sự là một phần của hệ quản trị cơ sở đữ liệu, nó xuất hiện trong các
hệ quản trị cơ sở đữ liệu với vai trò ngôn ngữ và là công cụ giao tiếp giữa người sử dụng và hệ quản trị cơ sở dữ liệu
Trong hầu hết các hệ quản trị cơ sở đữ liệu quan hệ, SQL, có vai trò như sau: