Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
13
Dung lượng
335,86 KB
Nội dung
lOMoARcPSD|9242611 ĐẠI HỌC THỦY LỢI BÁO CÁO BÀI TẬP LỚN MÔN HỌC CƠ SỞ DỮ LIỆU ĐỀ TÀI: QUẢN LÝ KÝ TÚC XÁ SINH VIÊN Thành viên: Trịnh Văn Lung - 2051063633 - Nhóm trưởng Nguyễn Như Minh - 2051063754 Phan Hoàng Lan - 2051063838 Lê Hoàng Long - 2051063632 Hoàng Thanh Thúy - 2051063739 Giảng viên hướng dẫn : Trần Hồng Diệp lOMoARcPSD|9242611 Mục lục A Bảng phân chia công việc B Nội dung Chương I Chương tổng quan Đặt vấn đề Mơ tả tốn Chương II Chương cơng việc Khảo sát thực tế Xây dựng sở liệu a Mơ hình thực thể liên kết b Chuyển từ mơ hình thực thể liên kết sang mơ hình quan hệ c Mơ hình quan hệ d Xác định phụ thuộc hàm e Tìm khóa cho quan hệ f Chuẩn hóa lược đồ quan hệ thành dạng chuẩn 3NF Khai thác liệu a Cài đặt mô hình quan hệ SQL Server b Truy vấn liệu C Kết luận 3 3 4 5 6 7 8 12 lOMoARcPSD|9242611 A Bảng phân chia công việc Cơng việc Người thực & trình bày Chương tổng quan & Khảo sát thực tế Hoàng Thanh Thúy Xây dựng mơ hình thực thể & mơ hình quan hệ Lê Hồng Long Xây dựng tập phụ thuộc hàm, tìm khóa Nguyễn Như Minh Chuẩn hóa lược đồ quan hệ thành dạng chuẩn 3NF Trịnh Văn Lung Cài đặt mô hình quan hệ SQL Server Phan Hồng Lan Câu lệnh truy vấn Cả nhóm lOMoARcPSD|9242611 B Nội dung CHƯƠNG I CHƯƠNG TỔNG QUAN Đặt vấn đề ● Trong thời đại nay, ứng dụng tin học hoá vào lĩnh vực quản lý hệ thống quản lý quản lý ngân hàng, thư viện, kí túc xá giảm thiểu số lượng chi phí đầu tư cho nguồn nhân cơng, đảm bảo tính bảo mật có tính lưu trữ cao, đồng thời tăng hiệu độ xác việc quản lý ● Hiện trường đại học với số lượng sinh viên đăng kí kí túc xá tương đối nhiều Việc quản lí kí túc xá sinh viên trường khó khăn khơng có ứng dụng tin học Đây vấn đề thiết nhà trường ● Dựa vào mơ hình cụ thể quản lý ký túc xá sinh viên trường đại học, chúng em vào tìm hiểu sâu vào nghiên cứu đề tài: “QUẢN LÝ KÝ TÚC XÁ SINH VIÊN” hướng dẫn giảng viên Trần Hồng Diệp phụ trách môn Cơ sở liệu Mơ tả tốn ● Khi sinh viên có nhu cầu đăng ký tạm trú ký túc xá trường phải thực thủ tục với tổ công tác sinh viên, phận quản lý hợp đồng sinh viên Nếu hồ sơ đáp ứng hệ thống nhận hợp đồng Trong hợp đồng gồm ID hợp đồng, ID phòng, thời hạn ghi chú(bao gồm điều khoản) ● Sinh viên đăng ký bên phận quản lí kí túc xá thành cơng lưu trữ tồn thông tin sinh viên mã sinh viên, tên sinh viên số điện thoại hệ thống nhận phòng cập nhập thêm ID phòng hệ thống ● Phịng có ID phịng cập nhập thơng tin có sinh viên Sẽ cập nhập lại thông tin số sinh viên số thơng tin khác Cập nhập lại tình trạng nội thất sau tháng ● Hoá đơn tháng gửi cho sinh viên bao gồm tiền điện, tiền nước, tiền phịng Sinh viên nộp hình thức, sau cập nhập hệ thống có để sinh viên xuất thành file pdf hay in lOMoARcPSD|9242611 CHƯƠNG II CHƯƠNG CÔNG VIỆC Chương khảo sát thực tế ● Yêu cầu lưu trữ liệu có thực tế : - Phòng thuê ( ID phòng, diện tích, sức chứa) - Hóa đơn (ID hóa đơn, ID phòng, ID sinh viên, tiền điện, tiền nước, tiền th phịng, thời gian xuất hóa đơn) - Hợp đồng (ID hợp đồng, ID phòng, thời hạn, ghi chú) - Sinh viên ( ID Sinh viên, ID hợp đồng, tên sinh viên, số điện thoại) Chứng từ : ● Thao tác công việc: - Sinh viên gửi thông tin đăng ký ký túc xá cho phận quản lý sinh viên - Bộ phận quản lý kiểm tra thơng tin đăng ký kiểm tra tình trạng phịng Nếu hết phịng sinh viên khơng đủ điều kiện đăng ký: từ chối cho sinh viên ký túc xá Nếu đạt yêu cầu, sinh viên nộp tiền phòng lập hợp đồng thuê phòng - Khi nhận phòng, sinh viên kiểm tra tình trạng sở vật chất, diện tích, sức chứa, - Trong thời gian ký túc xá, hóa đơn tiền phịng hàng tháng gửi cho sinh viên, sinh viên có trách nhiệm đóng tiền thời hạn - Khi sinh viên muốn ngừng ký túc xá phận quản lý sinh viên xóa hồ sơ sinh viên thơng tin liên quan - Hết niên khóa, sinh viên muốn tiếp tục ký túc xá đăng ký thông tin lại từ đầu cho ban quản lý ký túc xá lOMoARcPSD|9242611 Xây dựng sở liệu a Mơ hình thực thể liên kết b Chuyển từ mơ hình thực thể liên kết sang mơ hình quan hệ - Liên kết 1-1 : Khóa thực thể tham gia tồn khóa ngoại thực thể cịn lại → Khóa Hợp đồng thành khóa ngoại Sinh viên thuê - Liên kết 1-N: Khóa bên thành khóa ngoại bên N → Khóa Sinh viên thuê thành khóa ngoại Hóa đơn → Khóa Phịng th thành khóa ngoại Hóa đơn → Khóa Phịng th thành khóa ngoại Hợp đồng c Mơ hình quan hệ: d Xác định phụ thuộc hàm lOMoARcPSD|9242611 Mỗi sinh viên có ID sinh viên ID hợp đồng riêng biệt không trùng lặp, tên sinh viên, số điện thoại ● ID sinh viên → ID hợp đồng, Tên sinh viên, Số điện thoại Mỗi hợp đồng có ID hợp đồng riêng biệt khơng trùng lặp, ID phòng, thời hạn ghi ● ID hợp đồng → ID phòng, Thời hạn, Ghi Mỗi phịng th có ID phịng riêng biệt khơng trùng lặp, diện tích sức chứa ● ID phịng → Diện tích, Sức chứa Mỗi hố đơn có ID hố đơn riêng biệt khơng trùng lặp, ID sinh viên, ID phòng , Tiền điện, Tiền nước, Tiện th phịng, Thời gian xuất hố đơn ● ID hố đơn → ID sinh viên, ID phịng, Tiền điện, Tiền nước, Tiền th phịng, Thời gian xuất hố đơn e Tìm khóa cho quan hệ Quan hệ HDKTX (ID phịng, Diện tích, Sức chứa, ID hợp đồng, Thời hạn, Ghi chú, ID hóa đơn, Tiền điện, Tiền nước, Tiền th phịng, Thời gian xuất hóa đơn, ID sinh viên, Tên sinh viên, Số điện thoại) F={ ID phịng → Diện tích, Sức chứa; ID hợp đồng → ID phịng, Thời hạn, Ghi chú; ID hóa đơn →ID sinh viên, ID phòng, Tiền điện, Tiền nước, Tiền thuê phịng, Thời gian xuất hóa đơn; ID sinh viên →Tên sinh viên, Số điện thoại, ID hợp đồng } Tập thuộc tính U = { (thuộc tính )ID phịng, Diện tích, Sức chứa, ID hợp đồng, Thời hạn, Ghi chú, ID hóa đơn, Tiền điện, Tiền nước, Tiền th phịng, Thời gian xuất hóa đơn, ID sinh viên, Tên sinh viên, Số điện thoại} Ta có giao khố là: lOMoARcPSD|9242611 X = U - {Diện tích, Sức chứa, ID phòng, Thời hạn, Ghi chú, ID sinh vien, ID phong, Tiền điện, Tiền nước, Tiền thuê phòng, Thời gian xuất hóa đơn, Tên sinh viên, Số điện thoại, ID hợp đồng} = {ID hoá đơn} X+ = Bao đóng (ID hố đơn)+ = tập thuộc tính U Quan hệ có khóa ID hố đơn f Chuẩn hóa lược đồ quan hệ thành dạng chuẩn 3NF Quan hệ HDKTX có: U = (ID phịng, Diện tích, Sức chứa, ID hợp đồng, Thời hạn, Ghi chú, ID hóa đơn, Tiền điện, Tiền nước, Tiền th phịng, Thời gian xuất hóa đơn, ID sinh viên, Tên sinh viên, Số điện thoại) F={ ID phịng → Diện tích, Sức chứa; ID hợp đồng → ID phong, Thời hạn, Ghi chú; ID hóa đơn →ID sinh vien, ID phong, Tiền điện, Tiền nước, Tiền thuê phòng, Thời gian xuất hóa đơn; ID sinh viên →Tên sinh viên, Số điện thoại, ID hợp đồng } Khoá ID hoá đơn Đưa đạt chuẩn 3NF ● Bước 1: Kiểm tra đạt 1NF chưa: Quan hệ đạt chuẩn 1NF ● Bước 2: Kiểm tra đạt 2NF chưa: Quan hệ chưa đạt chuẩn 2NF có thuộc tính khơng khố khơng phụ thuộc đầy đủ vào khố Để đạt chuẩn 2NF ta tách thành quan hệ: - Phòng (ID phịng, diện tích, sức chứa) - Hợp đồng (ID hợp đồng, ID phịng, thời hạn, ghi chú) - Hố đơn (ID hố đơn, ID sinh viên, ID phịng, tiền điện, tiền nước, tiền th phịng, thời gian xuất hố đơn) - Sinh viên (ID sinh viên, tên sinh viên, số điện thoại, ID hợp đồng) ● Bước 3: Kiểm tra đạt 3NF chưa: lOMoARcPSD|9242611 Quan hệ Phòng đạt 3NF khơng có thuộc tính khơng khóa phụ thuộc bắc cầu vào thuộc tính khóa Quan hệ Hợp đồng đạt 3NF khơng có thuộc tính khơng khóa phụ thuộc bắc cầu vào thuộc tính khóa Quan hệ Hố đơn đạt 3NF khơng có thuộc tính khơng khóa phụ thuộc bắc cầu vào thuộc tính khóa Quan hệ Sinh viên đạt 3NF khơng có thuộc tính khơng khóa phụ thuộc bắc cầu vào thuộc tính khóa Khai thác liệu *Để ngắn gọn cho việc truy xuất, tên thuộc tính đổi sang tên viết tắt: - Phịng th: Room (R#(ID phịng), Area(diện tích),SC (sức chứa) - Hóa đơn: Bill (B# (ID hóa đơn),R#, Elec (tiền điện), Water(tiền nước), Rent (tiền thuê phòng), Time(thời gian xuất hóa đơn), ID sinh viên(MSV) - Hợp đồng: Contract (C# (ID hợp đồng), R#, Term(thời hạn), Note(ghi chú)) - Sinh viên: SV (Name(Tên sv), MSV, SDT, C#) a Cài đặt mơ hình quan hệ SQL Server - Tạo CSDL mới: CREATE DATABASE KTX#2; - Tạo bảng Room: CREATE TABLE Room( R# nchar(10) not null PRIMARY KEY, Area int , SC int) - Tạo bảng Contract: CREATE TABLE Contract( C# nchar(10) not null PRIMARY KEY, R# nchar(10) not null, Term date, Note nchar(100), FOREIGN KEY(R#) REFERENCES Room(R#)) - Tạo bảng SV: CREATE TABLE SV( MSV nchar(10) not null PRIMARY KEY, lOMoARcPSD|9242611 Name nchar(30) not null, SDT nchar(15), C# nchar(10) not null, FOREIGN KEY(C#) REFERENCES Contract(C#)) - Tạo bảng Bill: CREATE TABLE Bill( B# nchar(10) not null PRIMARY KEY, R# nchar(10) not null, Elec int, Water int, Rent int, Time date, MSV nchar(10), FOREIGN KEY(R#) REFERENCES Room(R#), FOREIGN KEY(MSV) REFERENCES SV(MSV)) b Truy vấn liệu: Cho biết tên tất sinh viên thuê phòng Π Name (SV) - SELECT Name FROM SV Cho biết tất ID hợp đồng Π C# (Contract) - SELECT C# FROM Contract Cho biết thông tin tất sinh viên thuê phòng σ (SV) - SELECT * FROM SV Cho biết tên sinh viên có hóa đơn B101 Π Name ( σ B# = ‘B101’ ( σ SV.MSV=Bill.MSV ( SV x Bill ))) - SELECT Name FROM SV, Bill WHERE SV.MSV = Bill.MSV AND B# = 'B101' lOMoARcPSD|9242611 Cho biết phịng có tiền phịng lớn 200 - R Π ❑¿ ¿ ( σ Rent >200 (Bill) ) SELECT R# FROM Bill WHERE Rent>200 Cho biết tên sinh viên có mã hóa đơn B101 ID phòng R100 - Π ((σB#=’B101’ ∧ Name R#=’R100’ (σBill.MSV=SV.MSV(Bill x SV)))) SELECT Name FROM Bill, SV WHERE Bill.MSV=SV.MSV AND B#='B101' AND R#='R100' Cho biết tên sinh viên có ID phịng R101 ID hợp đồng C101 - Π Name ( σ ( R# = R101 ⴷ C# = C101 )(σContract.C#=SV.C#(Contract x SV))) SELECT Name FROM SV WHERE C# = 'C101' AND C# in (SELECT C# FROM Contract WHERE R#='R101') Cho biết tên sinh viên có mã hóa đơn B101 tiền nước lớn 100 - Π (σB#=’B101’ ∧ Name water >=100 (σBill.MSV=SV.MSV(Bill x SV))) SELECT Name FROM Bill, SV WHERE Bill.MSV= SV.MSV AND B#='B101' AND Water>= 100 Cho biết ID sinh viên có tiền phịng lớn 100 có thời gian xuất hóa đơn ngày 1/12/2021 - Π MSV( σ(Rent>100 ∧ Time=’2021/12/01’)(Bill)) SELECT MSV FROM Bill WHERE Rent>100 AND Time = '2021/12/01' 10 Cho biết ID phịng có thời gian xuất hóa đơn vào ngày 1/12/2021 - Π σTime=’2021/12/01’(Bill)) MSV( SELECT B# FROM Bill 10 lOMoARcPSD|9242611 WHERE Time = '2021/12/01' 11 Cho biết phòng thuê có thời hạn đến 15/01/2022 - Π σTerm=’2022/01/15’(Bill)) R#( SELECT R# FROM Contract WHERE Term = '2022/01/15' 12 Cho biết tên sinh viên phòng ‘R101’ - Π Name ( R σ ¿ =' 101 ' ¿ (SV) ) SELECT Name FROM SV, Contract WHERE SV.C# = Contract.C# and R#='R101' 13 Cho biết tổng số tiền phải đóng sinh viên có ID sinh viên M1 - SELECT Elec+Water+Rent FROM Bill WHERE MSV='M1' 14 Cho biết tổng số tiền tất sinh viên phòng R100 phải đóng - SELECT SUM(Elec+Water+Rent) FROM Bill WHERE R#='R100' 15 Cho biết tên sinh viên có tiền điện lớn - SELECT Name FROM SV WHERE MSV IN (SELECT MSV FROM Bill WHERE Elec = (SELECT MAX(Elec) FROM Bill)) 11 Downloaded by tran quang (quangsuphamhoak35@gmail.com) lOMoARcPSD|9242611 KẾT LUẬN Cơ hội làm tập lớn giúp cho bọn em củng cố lại kiến thức, đem kiến thức học áp dụng vào thực tế đồng thời giúp bọn em cải thiện việc làm việc nhóm Vì thời gian làm có hạn, kiến thức bọn em cịn nhiều hạn chế lần tiếp xúc với vấn đề lớn mà bọn em chưa có kinh nghiệm thực tế Do vậy, nội dung tập chưa thật sâu sắc, không tránh khỏi sai sót hạn chế làm Bọn em hi vọng thầy/cơ bảo, góp ý thêm để làm bọn em hoàn thiện 12 Downloaded by tran quang (quangsuphamhoak35@gmail.com) ... tháng gửi cho sinh viên, sinh viên có trách nhiệm đóng tiền thời hạn - Khi sinh viên muốn ngừng ký túc xá phận quản lý sinh viên xóa hồ sơ sinh viên thơng tin liên quan - Hết niên khóa, sinh viên... tin sinh viên mã sinh viên, tên sinh viên số điện thoại hệ thống nhận phòng cập nhập thêm ID phòng hệ thống ● Phịng có ID phịng cập nhập thơng tin có sinh viên Sẽ cập nhập lại thông tin số sinh. .. thuộc hàm lOMoARcPSD|9242611 Mỗi sinh viên có ID sinh viên ID hợp đồng riêng biệt không trùng lặp, tên sinh viên, số điện thoại ● ID sinh viên → ID hợp đồng, Tên sinh viên, Số điện thoại Mỗi hợp