![đề tài xây dựng mô hình erd và lược đồ quan hệ sql cho bài toán quản lý một đơn vị](https://123docz.net/image/doc_normal.png)
Đang tải... (xem toàn văn)
Thông tin tài liệu
Mỗi nhân viên của bnh vin lm vic trong một hoặc nhiều khu cha trị.. Một bc sĩ có thể thực hin nhiều ln cha trị cho nhiều bnh nhân.. Một bnh nhân được cha trị nhiều ln bi nh
Trang 1BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP HỒ CHÍ MINH
KHOA CÔNG NGH THÔNG TIN Ệ
B O C O CU I K
Đề tài: XÂY DỰNG MÔ HÌNH ERD VÀ LƯỢC ĐỒ QUAN
HỆ - SQL CHO BÀI TON QUẢN LÝ MỘT ĐƠN VỊ
Giảng viên hướng dẫn : ThS Nguyn Đc Cương
Nhm thực hiện : Nhm 11 Lớp : DHTMDT17E
M ôn : Cơ s liệu – d 420300391605
Niên kha : HK2 (2022 – 2023)
TP.HCM, ngày 27 tháng 05 năm 2023
Trang 2Cơ s d liu ThS Nguyn Đc Cương
2 DANH S CH NHM
3 Nguyn Tr n Kh nh Vân 21065651 Thành viên
Đ TI THỰC HI N Ệ
A - Phần 1 – Mô hình ERD và lược đồ quan hệ - SQL 1 Xây dựng mô hình ER
2 Chuyển sang lược đồ quan h
3 Ci đặt lược đồ quan h vo trong h quản trị CSDL SQL Server – nhập liu mỗi bảng ít nhất 5 record
4 Tự suy nghĩ ra mỗi thnh viên 2 câu hỏi truy vấn (không trùng nhau) v giải đp bằng lnh SQL (Xem ví dụ minh họa cc câu hỏi trong bi tập 1)
Bài 8:
Một bnh vin có nhiều khu cha trị Một khu cha trị có số của khu (định danh) v tên Bnh nhân gồm hai loại: bnh nhân nội trú v bnh nhân ngoại trú Bnh nhân có mã bnh nhân , tên v ngy sinh Cc bc sĩ có mã bc sĩ v tên Bc sĩ có thể tiếp nhận hoặc điều trị bnh nhân Mỗi giưng bnh có số giưng, số phòng v số khu cha trị Thuốc men hoặc dụng cụ dùng để cha bnh được gọi chung l vật tư, có mã, đặc tả v đơn gi Cc nhân viên trong bnh vin có mã số v tên Một sự cha trị l bất kỳ một cuộc xét nghim hoặc một công vic điều trị no đó m một bc sĩ thực hin cho một bnh nhân Một sự cha trị có định danh l một mã số bao gồm số v tên của sự cha trị đó Mỗi nhân viên của bnh vin lm vic trong một hoặc nhiều khu cha trị Mỗi khu có ít nhất một nhân viên Bnh vin cn thống kê số gi lm vic trong một tun của mỗi nhân viên tại một khu cha trị Mỗi khu cha trị có một y tá trưng Bnh nhân ngoại trú không có giưng nằm Giưng có thể không có bnh nhân Một bnh nhân đang được cha trị có một bc sĩ theo dõi Một bc sĩ có thể theo dõi nhiều bnh nhân hoặc không theo dõi bnh nhân no
Một bc sĩ có thể thực hin nhiều ln cha trị cho nhiều bnh nhân Một bnh nhân được cha trị nhiều ln bi nhiều bc sĩ Bnh vin cn biết mỗi ln cha trị, bnh nhân được cha trị bi bc sĩ no, ngy cha trị, thi gian cha trị v kết quả Một bnh nhân cn nhiều thuốc men v dụng cụ Mỗi loại thuốc men hay dụng cụ có thể được sử dụng cho nhiều bnh nhân hoặc chưa được sử dụng Bnh vin cn thống kê ngy, thi gian, số lượng v tổng số tiền (số lượng x đơn gi) cho một loại thuốc men hay dụng cụ mỗi ln sử dụng cho bnh nhân
Trang 33 BẢNG ĐNH GI THNH VIÊN NH M
MSSV Họ và tên
Công việc được phân công Mức
độ
hoàn thành
Đánh
giá của giáo vi ên
21102021
Nguyn Hong Cưng
+ Vẽ lược đồ ERD, Chuyển đổi sang lược đồ quan h
+ Tạo Database, bảng Khu cha trbảng b nh nhân
+ Nhập liu bảng Khu cha trị, bảng b nh nhân
+ 1 câu truy v n l ng, 1 câu updateấ ồ+ Chạy code
Câu 2
Câu 3 100%
21093951 Nguyn Khnh Ngân
+ Vẽ lược đồ ERD, Chuyển đổisang lược đồ quan h.
+ Tạo bảng c sĩ bảng GiưB , ng b nh, b ng B ả nh nhân sử dụng vật t+ Nhập liu bảng B c s , ĩ bảngGiưng bnh, bảng Bnh nhân sử dụng vật tư
+ 2 câu truy vấn thông thưng, 1 câupdate
+ Chạy code, T ng h p Word ổ ợ
Câu 1
Câu 8 100%
Nguyn Trn Kh nh
+ Nhập liu bảng Vật tư bảng Sự , cha trị ả, b ng Nhân viên làm vic, bảng Nhân vi ên
+ 1 câu truy vấ ồngn l , 2 câu delete+ Chạy Code, T ng h p Word ổ ợ
Câu 4 Câu 5
100%
Trang 4Cơ s d liu ThS Nguyn Đc Cương
4
MC LC
PHẦN A: XÂY DỰNG LƯỢC ĐỒ ERD VÀ TẠO CƠ SỞ DỮ LIỆU 5
1 Xây dựng mô h nh ER 5 ì2 Chuyển sang lược đồ quan h 5
3 Ci đặt lược đồ quan h vo trong h quản trị CSDL SQL Server 6
4 Câu h i truy v n 11 ỏ ấPHẦN B: CHUẨN HA DỮ LIỆU 14
Save to a Studylist
Trang 55
1. Xây dng mô h nh ER ì
2. Chuyn sang lược đồ quan hệ
Khu cha trị: (Số khu cha trị, Tên khu cha trị, Mã nhân viên ) Khóa chính: Số khu cha trị
Khóa ngoại: Mã nhân viên
Nhân viên: (Mã nhân viên, Tên nhân viên, Số khu cha trị) Khóa chính: Mã nhân viên
Khóa ngoại: Số khu cha trị
Trang 6Cơ s d liu ThS Nguyn Đc Cương
6
Bệnh nhân: (Mã số bnh nhân, Tên bnh nhân, Ngy sinh, Loại bnh nhân, Số
giưng, Mã bc sĩ )
Khóa chính: Mã số bnh nhân Khóa ngoại: Số giưng, Mã bc sĩ
Bệnh nhân sử dụng vật tư: (Mã số bnh nhân, Mã vật tư, Ngy sử dụng, Thi gian dùng, Số lượng, Tổng tiền)
Khóa chính: Mã số bnh nhân, Mã vật tư
S chữa trị: (Mã bc sĩ mã số bnh nhân Mã số cha trị, Ngy cha trị, Thi , , gian, Kết quả )
Khóa chính: Mã bc sĩ, mã số bnh nhân, Mã số cha trị
Nhân viên làm việc: (Mã nhân viên, số khu cha trị, số gi lm vic) Khóa chính: Mã nhân viên, Số khu cha trị
3. Cài đặt lược đồ quan hệ vào trong hệ quản trị CSDL SQL Server
3.1 Tạo cơ s liệ d u CREATE DATABASE QLBVON PRIMARY
(NAME=QLBV_Data,
FILENAME='D:\mysql\QLBV_Data.mdf', SIZE=10MB,
MAXSIZE=15MB, FILEGROWTH=20%)LOG ON
( NAME=QLSV_Log,
FILENAME= 'D:\mysql\QLBV_Log.ldf', SIZE=3MB,
MAXSIZE=5MB, ) FILEGROWTH=1MB3.2 T o bạảng
use QLBV
3.2.1 T o b ng khu ch a tr
Trang 77 CREATE TABLE KhuChuaTri
(
SoKhuChuaTri VARCHAR(20) PRIMARY KEY, TenKhuChuaTri NVARCHAR(50),
MaNhanVien VARCHAR(20) );
3.2.2 T o b ng "B nh nhân" CREATE TABLE BenhNhan (
MaSoBenhNhan VARCHAR(20) PRIMARY KEY, TenBenhNhan NVARCHAR(50 ),
LoaiBenhNhan Nvarchar(50 ), NgaySinh DATETIME, MaBacSi VARCHAR(20), SoGiuong VARCHAR(20) );
SoGiuong VARCHAR(20) PRIMARY KEY, SoPhong VARCHAR(20 ),
SoKhuChuTri VARCHAR(20 ),
FOREIGN KEY (SoKhuChuaTri) REFERENCES KhuChuaTri (SoKhuChuaTri),
MaSoBenhNhan VARCHAR(20),
FOREIGN KEY (MaSoBenhNhan) REFERENCES BenhNhan (MaSoBenhNhan)
);
3.2.5 T o b ng "VCREATE TABLE VatTu (
MaVatTu VARCHAR(20) PRIMARY KEY,
Trang 8Cơ s d liu ThS Nguyn Đc Cương
8 DacTa NVARCHAR(100 ),
DonGia DECIMAL(10, 2) );
3.2.6 T o b ng "S ch a tr " CREATE TABLE SuChuaTri (
MaSoChuaTri VARCHAR(20) PRIMARY KEY, TenSuChuaTri NVARCHAR(100 ), So VARCHAR(10)
NgayChuaTri DATE, ThoiGian TIME,
KetQua NVARCHAR (50 ), MaBacSi VARCHAR(20),
MaSoBenhNhan VARCHAR(20) );
3.2.7 T o b ng "Nhân viên " CREATE TABLE NhanVien (
MaNhanVien VARCHAR(20) PRIMARY KEY, TenNhanVien NVARCHAR(50 ),
SoKhuChuaTri VARCHAR(20)
FOREIGN KEY (SoKhuChuaTri) REFERENCES KhuChuaTri (SoKhuChuaTri)
3.2.9 T o b nh Nhân S D ng VCREATE TABLE BenhNhanSuDungVatTu (
MaVatTu VARCHAR(20), MaBenhNhan VARCHAR(20), NgaySuDung DATE, ThoiGianDung TIME,
Trang 99 SoLuong INT,
TongSoTien FLOAT, DonGia DECIMAL(10, 2) );
3.2.10 T o thu c tính khóa ALTER TABLE KhuChuaTri
ADD FOREIGN KEY (MaNhanVien) REFERENCES NhanVien(MaNhanVien );ALTER TABLE BenhNhan
ADD FOREIGN KEY (MaBacSi) REFERENCES BacSi(MaBacSi );ALTER TABLE BenhNhan
ADD FOREIGN KEY (SoGiuong) REFERENCES GiuongBenh(SoGiuong );
ALTER TABLE NhanVienLamViec ADD PRIMARY KEY (MaNhanVien); ALTER TABLE NhanVienLamViec ADD PRIMARY KEY (SoKhuChuaTri); ALTER TABLE BenhNhanSuDungVatTu ADD PRIMARY KEY (MaSoBenhNhan); ALTER TABLE BenhNhanSuDungVatTu ADD PRIMARY KEY (MaVatTu); ALTER TABLE SuChuaTri ADD PRIMARY KEY (MaBacSi); ALTER TABLE SuChuaTri
ADD PRIMARY KEY (MaSoBenhNhan); 3.3. Nhập d liệu vào bảng
3.3.1 Thêm d u vào b ng "Khu ch a tr " li
INSERT INTO KhuChuaTri (SoKhuChuaTri, TenKhuChuaTri)VALUES ('KCT001', N'Khu ngoại tổng quát' ),
('KCT002', N'Khu phục hồi chc năng'),('KCT003', N'Khu tim mạch cấp cu'),('KCT004', N'Khu b nh nhân nh ' ẹ ),('KCT005', N'Khu sinh s n' ả );
Trang 10Cơ s d liu ThS Nguyn Đc Cương
10 3.3.2 Thêm d u vào b ng "B nh nhân" li
INSERT INTO BenhNhan (MaSoBenhNhan, TenBenhNhan, LoaiBenhNhan, NgaySinh) VALUES
('BN001', N'Nguyn Văn Minh',N'n i trú', '1990-01-01' ộ ),('BN002', N'Nguy n Th B ị inh',N'n i trú' ,'1985-02-15' ộ ),('BN003', N'Phan Thị Lan',N'n i trú', '1994-ộ 09-25' ),('BN004', N'Trn Xuân Nguyên,N'ngo i trú', '1986-06-12' ạ ),('BN005', N'Đinh Gia Huy',N'ngo i trú', '1999-03-08' ạ );3.3.3 Thêm d u vào bli
INSERT INTO BacSi (MaBacSi, TenBacSi) VALUES('BS001', N'Tr n Kim Min' ),
('BS002', N'Nguy n Thi Thơ ),' ('BS003', N'Nguyn Văn Ngân'),('BS004', N'Lê Th ị Vân ),' ('BS005', N'Trn Văn Cưng' );
3.3.4 Thêm d u vào bli ng b nh"
INSERT INTO GiuongBenh (SoGiuong, SoPhong, SoKhuChuaT ) VALUES ri('GB001', 'Phòng 1', 'KCT001' ),
('GB002', 'Phòng 2', 'KCT002' ),('GB003', 'Phòng 3', 'KCT003' ),('GB004', 'Phòng 4', 'KCT004' ),('GB005', 'Phòng 5', 'KCT005' );3.3.5 Thêm d u vào b ng "Vli
INSERT INTO VatTu (MaVatTu DacTa, , DonGia) VALUES ('VT001', Bình th Oxy', 10.50 N' ),
('VT002', Kim Tiêm', 5.25 N' ),('VT003', Panadol', 8.90 N' ),('VT004', ThuN' ốc cảm’, 6.70 ),('VT005', N'Băng gạc', 9.50 );
3.3.6 Thêm d u vào b ng "S li Ch a tr "
INSERT INTO SuChuaTri (MaSoChuaTri, TenSuChuaTri, NgayChuaTri, ThoiGian, KetQua, MaBacSi) VALUES
('CT001', N'Th n', '2023-05-22', '08:45:00', N'C n thậ ực hin ph u thu , ẫ ật''BS001' ),
('CT002', N'Tim m ch', '2023-05-23', '13:30:00', ạ N'Đang điều tr ', 'BS002' ị ),('CT003', N'Nội tiết', '2023-05-24', '10:00:00', N'Đã hồi phục', 'BS003' ),('CT004', N'Hô h p','2023-05-20', '16:30:00', N'Có th xu t vi n', 'BS004' ấ ể ấ ),('CT005', N'Tiêu hóa','2023-05-21', '11:00:00', N'Cn được theo dõi', 'BS005' );
Trang 1111 3.3.7 Thêm d u vào b ng "Nhân viên " li
INSERT INTO NhanVien (MaNhanVien, TenNhanVien, SoKhuChuaTri) VALUES
('NV001', N'Phan Thị Loan', 'KCT001' ),('NV002', N'Lương Văn Minh', 'KCT002' ),('NV003', N'Hoàng Th ị Hon', 'KCT003' ),('NV004', N'Phạm Thị Dung', 'KCT004' ),('NV005', N'Huỳnh Văn Em', 'KCT005' );
3.3.8 Thêm d u vào b ng "Nhân viên Làm Vi c" li
INSERT INTO NhanVienLamViec (MaNhanVien, SoKhuChuaTri, SoGioLamViec) VALUES
('NV001', 'KCT001', N'42 GI ' Ờ ),('NV002', 'KCT002', N'18 GI ' Ờ ),('NV003', 'KCT003', N'36 GI ' Ờ ),('NV004', 'KCT004', N'50 GI ' Ờ ),('NV005', 'KCT005', N'56 GI ' Ờ );
3.3.9 Thêm d u vào b ng " B nh Nhân S D ng Vli " INSERT INTO BenhNhanSuDungVatTu (MaVatTu, MaSoBenhNhan, NgaySuDung, ThoiGianDung, SoLuong) VALUES
('VT001', 'BN001', '2023-05-19', '09:15:00', 3, 8.90 ),('VT002', 'BN002', '2023-05-20', '15:45:00', 4, 6.70 ),('VT003', 'BN003', '2023-05-21', '10:30:00', 2, 9.50 ),('VT004', 'BN004', '2023-05-17', '16:15:00', 5, 15.60 ),('VT005', 'BN005', '2023-05-18', '11:30:00', 2, 12.30 );
4. Câu hi truy v n: 2 câu truy vấấn thông thường + 2 câu update + 2 câu delete + 2 câu truy vấn lồng + 2 câu sub-query v già ả ái đ p bng lệnh SQL
2 câu truy vấn thông thường:
a/ Hiển th s ị ố giưng, s phòng và tên khu chố a trị của tất cả cc giưng bnh:
Trang 12Cơ s d liu ThS Nguyn Đc Cương
12 b/ Lấy danh sch cc giưng b nh trong phòng:
Giả ái đ p b ng lệnh SQL:
"Phòng 1" và hiển th s ị ố giưng và s khu ốSELECT SoGiuong, SoKhuChuaTri FROM GiuongBenh
WHERE SoPhong = 'Phòng 1'; K t qu ếả
a/ Xóa bnh nhân có tên 'Trn Xuân Nguyên' khỏi cơ s liu: d
Giả ái đ p b ng lệnh SQL:
DELETE FROM BenhNhan
WHERE TenBenhNhan = 'Trn Xuân Nguyên';
b/ Xóa thông tin v mề ột bnh nhân đã được cha trị có mã bnh nhân là 'BN003':
Trang 1313
Giả ái đ p b ng lệnh SQL:
DELETE FROM SuChuaTri
WHERE MaSoBenhNhan= ‘BN003'; 2 câu truy vấn lồng:
a/ Hiển thị tên bnh nhân và tên vật tư của các ln s d ng vử ụ ật tư có số lượng l n ớhơn 3:
Trang 14Cơ s d liu ThS Nguyn Đc Cương
14
PHẦN B: CHUẨN HA DỮ LIỆU
Bài 1/ Cho lược đồ CSDL
Q(TENTAU,LOAITAU,MACHUYEN,LUONGHANG,BENCANG,NGAY) F={TENTAU → LOAITAU MACHUYEN → TENTAU, LUONGHANG TENTAU,NGAY → BENCANG, MACHUYEN}
a) Hãy tìm tập phủ tối thiểu của F b) Tìm tất cả cc khóa của Q
Bài làm
a) Ta có F={TENTAU LOAITAU; MACHUYEN TENTAU; MACHUYEN → →→ LUONGHANG; TENTAU, NGAY →BENCANG; TENTAU, NGAY → MACHUYEN}
Kiểm tra phụ thuộc hm dư thừa:
TENTAU → LOAITAU: TENTAU+ trừ TENTAU → LOAITAU: TENTAU+ = {TENTAU} không có LOAITAU vậy TENTAU → LOAITAU không dư thừa
MACHUYEN → TENTAU: MACHUYEN+ trừ MACHUYEN →TENTAU: MACHUYEN+ = {MACHUYEN, LUONGHANG không có TENTAU} vậy MACHUYEN →TENTAU không dư thừa.
MACHUYEN → LUONGHANG: MACHUYEN+ trừ MACHUYEN →LUONGHANG: MACHUYEN+ ={ MACHUYEN, TENTAU, LOAITAU} không có LUONGHANG vậy MACHUYEN →LUONGHANG không dư thừa
TENTAU, NGAY →BENCANG: TENTAU, NGAY+ không dùng TENTAU, NGAY →BENCANG: TENTAU, NGAY+ = {TENTAU, NGAY, MACHUYEN, LUONGHANG không có BENCANG vậy TENTAU, NGAY →BENCANG không dư thừa
TENTAU, NGAY → MACHUYEN: TENTAU, NGAY+ không dùng TENTAU, NGAY →MACHUYEN: TENTAU, NGAY+ = {TENTAU, NGAY, LOAITAU, BENCANG, MACHUYEN} có MACHUYEN vậy TENTAU, NGAY → MACHUYEN thừa
TENTAU → LOAITAU; MACHUYEN → TENTAU; MACHUYEN →LUONGHANG; TENTAU, NGAY BENCANG →
Xét TENTAU, NGAY BENCANG →
Kiểm tra TENTAU thừa: NGAY+ = {NGAY } không có BENCANG trong NGAY+ vậy TENTAU không thừa
Trang 1515 Kiểm tra NGAY thừa: TENTAU+ = {TENTAU, LOAITAU } không có BENCANG trong TENTAU+ vậy NGAY thừa
Vậy F* = { TENTAU →→ LOAITAU; MACHUYEN →→ TENTAU ; MACHUYEN → LUONGHANG; TENTAU, NGAY →→BENCANG }
Bài 2/ Q(A,B,C,D,E,G)
Cho F={AB C;C A;BC D;ACD B;D EG;BE C;CG BD;CE AG} X={B,D}, X+=? Y={C,G}, Y+=?
Bài làm Ta có: (CB)+ = {B} (D) = {DEG} +
= {ABCDEG} → (X)+
(C)+ = {AC} (G) = {G} +
→ (Y)+ = {ABCDEG}
Bài 3/ Cho lược đồ quan h Q v tập phụ thuộc hm F
a) F={AB E;AG I;BE I;E G;GI H} chng minh rằng AB GH b) F={AB C;B D;CD E;CE GH;G A}chng minh rằng AB E; AB G
Trong cc phụ thuộc hm sau đây, PTH no không thỏa A B; A C; B A; C D; D C; D A
Bài làm
Xét A B: ta thấy A2 = A = y mà B 42≠ B4=> Không thoả Xét A C: ta thấy A2 = A = y mà C 4 2≠ C4=> Không thoả Xét C D: ta thấy C3 = D 3= y => Thoả
Trang 16Cơ s d liu ThS Nguyn Đc Cương
16 Xét D C: ta thấy D1 = D = y mà C 3 1≠ C3=> Không thoả
Xét D A: ta thấy A2 = A = y mà D 4 2≠ D4=> Không thoả
Bài 5/ Hãy tìm tất cả cc khóa cho lược đồ quan h sau:
Q (BROKER, OFFICE, STOCK, QUANTITY, INVESTOR, DIVIDENT) F={STOCK DIVIDENT
INVESTOR BROKER
INVESTOR, STOCK QUANTITY BROKER OFFICE}
Bài làm Vế tri ta có: STOCK, INVESTOR, BROKER Vế phải: DIVIDENT, BROKER, QUANTITY, OFFICE => TN = {STOCK, INVESTOR}
STOCK, INVESTOR
STOCK, INVESTOR, DIVIDENT, BROKER, QUANTITY, OFFICE
STOCK, INVESTOR
STOCK, INVESTOR
BROKER STOCK, INVESTOR, BROKER
STOCK, INVESTOR, DIVIDENT, BROKER, QUANTITY, OFFICE
STOCK, INVESTOR,
BROKER
=> Khoá là STOCK, INVESTOR
Bài 8/ Q(A,B,C,D) F={AB C; D B; C ABD} Hãy tìm tất cả cc khóa của Q
Bài làm TN = { }
TG = {ABCD}
Trang 17Vậy ta có tập khóa K = {C; AB; AD}
Ngày đăng: 23/05/2024, 21:41
Xem thêm:
Tài liệu cùng người dùng
Tài liệu liên quan