I. Khảo sát, mô tả cơ sở dữ liệu và xây dựng mô hình thực thể - liên kết (ER). a. Cơ sở dữ liệu hệ thống thông tin sinh viên khoa Thông tin – Thư viện: - Thông tin về Khoa gồm: Mã khoa, Tên khoa. - Thông tin về Ngành: Mã ngành, Tên ngành, Mã khoa. - Thông tin về Lớp: Mã lớp, tên lớp, mã ngành, năm nhập học. - Thông tin về Giảng viên: Mã giảng viên, tên giảng viên, mã học phần, số điện thoại, email. - Thông tin về Sinh viên: Mã sinh viên, họ tên, giới tính, ngày sinh, quê quán, khóa, mã lớp. - Thông tin về Học phần: Mã học phần, tên học phần, số tín chỉ, số tiết, học kỳ. - Thông tin về Kết quả: Mã sinh viên, Mã học phần, tên sinh viên, điểm thành phần, điểm thi cuối kì. - Mỗi Ngành chỉ thuộc một Khoa và mỗi Khoa có thể có nhiều Ngành. - Mỗi Khoa có nhiều Sinh viên và mỗi Sinh viên chỉ thuộc một khoa. - Mỗi Lớp thuộc một và chỉ một Ngành và mỗi Ngành có thể có nhiều lớp. - Mỗi Sinh viên thuộc một và chỉ một Lớp, mỗi Lớp có thể có nhiều Sinh viên. - Mỗi Giảng viên có thể dạy nhiều Học phần, một Học phần có thể được dạy bằng nhiều Giảng viên. - Mỗi Sinh viên được học nhiều Học phần và mỗi Học phần được đăng ký bở nhiều Sinh viên. - Sinh viên sau quá trình học tập và thi cử sẽ nhận được Kết quả. b. Mô hình thực thể - liên kết ER
Trang 1BỘ VĂN HÓA THỂ THAO VÀ DU LỊCH TRƯỜNG ĐẠI HỌC VĂN HÓA HÀ NỘI KHOA THÔNG TIN THƯ VIỆN
BÀI TẬP NHÓM
Đề tài: Hệ thống quản lý sinh viên của khoa Thông tin – Thư viện Trường Đại
học Văn hóa Hà Nội Môn : Nhập môn cơ sở dữ liệu
Giảng viên: ThS Nguyễn Thị Yên
Mã học phần: TT6005 Nhóm thực hiện: Nhóm 4 lớp Quản lý thông tin 11
Hà Nội, 2023
Trang 2I Khảo sát, mô tả cơ sở dữ liệu và xây dựng mô hình thực thể - liên kết (ER).
a Cơ sở dữ liệu hệ thống thông tin sinh viên khoa Thông tin – Thư viện:
- Thông tin về Khoa gồm: Mã khoa, Tên khoa
- Thông tin về Ngành: Mã ngành, Tên ngành, Mã khoa
- Thông tin về Lớp: Mã lớp, tên lớp, mã ngành, năm nhập học
- Thông tin về Giảng viên: Mã giảng viên, tên giảng viên, mã học phần, số điện thoại, email
- Thông tin về Sinh viên: Mã sinh viên, họ tên, giới tính, ngày sinh, quê quán, khóa, mã lớp
- Thông tin về Học phần: Mã học phần, tên học phần, số tín chỉ, số tiết, học kỳ
- Thông tin về Kết quả: Mã sinh viên, Mã học phần, tên sinh viên, điểm thành phần, điểm thi cuối kì
- Mỗi Ngành chỉ thuộc một Khoa và mỗi Khoa có thể có nhiều Ngành
- Mỗi Khoa có nhiều Sinh viên và mỗi Sinh viên chỉ thuộc một khoa
- Mỗi Lớp thuộc một và chỉ một Ngành và mỗi Ngành có thể có nhiều lớp
- Mỗi Sinh viên thuộc một và chỉ một Lớp, mỗi Lớp có thể có nhiều Sinh viên
- Mỗi Giảng viên có thể dạy nhiều Học phần, một Học phần có thể được dạy
bằng nhiều Giảng viên
- Mỗi Sinh viên được học nhiều Học phần và mỗi Học phần được đăng ký bở nhiều Sinh viên
- Sinh viên sau quá trình học tập và thi cử sẽ nhận được Kết quả
b Mô hình thực thể - liên kết ER
Trang 3II Chuyển mô hình ER sang mô hình dữ liệu quan hệ.
Bước 1: Chuyển các tập thực thể (trừ tập thực thể yếu) thành các quan hệ có
cùng tên và tập thuộc tính:
- KHOA (Makhoa, Tenkhoa)
- LOP (Malop, Tenlop, MaGV, Khoa, Manganh)
- GIANGVIEN (MaGV, TenGV, Mamahocphan, SĐT, Email)
- SINHVIEN (MaSV, Hoten, Gioitinh, Ngaysinh, Quequan, Khoa, Malop)
- HOCPHAN (Mahocphan, Tenhocphan, Sotinchi, Sotiet, Hocky)
Bước 2: Biến đổi kiểu liên kết 2 ngôi có tỉ số lực lượng 1:N
- Thêm vào “quan-hệ-một” thuộc tính khóa của “quan-hệ-nhiều”
KHOA (Makhoa, Tenkhoa, Manganh)
NGANH (Manganh, Tennganh, Makhoa, Malop)
SINHVIEN (MaSV, Hoten, Gioitinh, Ngaysinh, Quequan, Khoa, Malop, Makhoa)
Trang 4LOP (Malop, Tenlop, Namnhaphoc, Manganh, MaSV)
Bước 3: Biến đổi kiểu liên kết 2 ngôi có tỉ số lực lượng N:N
- Tạo một quan hệ mới có tên quan hệ là tên của mối liên kết và thuộc tính của quan hệ là những thuộc tính khoa của các tập thực thể liên quan và thuộc tính của mối liên kết
NHAN (MaSV, Mahocphan)
HOC (MaSV, Mahocphan)
DAY (Mahocphan, MaGV)
Sau những bước trên ta được lược đồ dữ liệu quan hệ là:
- KHOA (Makhoa, Tenkhoa, Manganh)
- NGANH (Manganh, Tennganh, Makhoa, Malop)
- LOP (Malop, Tenlop, Namnhaphoc, Manganh, MaSV)
- GIANGVIEN (MaGV, TenGV, Mahocphan, SDT, Email)
- SINHVIEN (MaSV, Hoten, Gioitinh, Ngaysinh, Quequan, Khoa, Malop, Makhoa)
- NHAN (MaSV, Mahocphan)
- HOC (MaSV, Mahocphan)
- DAY (Mahocphan, MaGV)
III Sử dụng các phép toán đại số quan hệ cho cơ sở dữ liệu.
1 Phép chiếu:
(?) cho biết SDT và Email của giảng viên :
+, Quan hệ: Giảng viên
+, Thuộc tính: Số điện thoại, Email
=> π S ố đi ệ nthoạ i , Email(Giảng viên)
2 Phép hợp:
Trang 5(?) Liệt kê danh sách họ tên sinh viên và tên giảng viên:
+, Quan hệ: SINHVIEN; GIANGVIEN
+, Thuộc tính: HotenSV, TenGV
=> π Hoten (SINHVIEN )∪ π Ten (GIANGVIEN )
3 Phép chọn:
(?) Chọn ra các sinh viên nữ của quan hệ sinh viên:
+, Quan hệ: SINHVIEN
σ E(R)={t /t ∈R t (E)}
=> σ SINHVIEN =N Ữ(SINHVIEN)
4 Phép giao:
(?) Tìm tên giảng viên dạy cả 2 lớp học phần TT6006 và TT6030
+, Quan hệ R: Giảng viên
+, Quan hệ S:
GV Tên GV Mã lớp học phần
Nguyễn
Lan
Anh
TT6011
Nguyễn
Xuân
Mai
TT6006
Đào
Quang
Thế
TT6022
Lê Thu
Hoa
TT6037
Trang 6=> π TenGVCN(σ MALOP= TT6006 (GV)) ∩ π TenGVCN(σ MALOP= TT6030 (LOP))
5 Phép trừ:
(?) cho 2 quan hệ R và S, tìm R\S:
(R)
(S)
=> R\S:
Trang 76 Phép chia:
Cho 2 quan hệ R và S:
+, R:
+, S:
D01 D03
=> R÷S:
Trang 8100 105
7 Phép tích Descartes
Cho 2 quan hệ R và S:
+, R:
SINHVIEN HỌ TÊN MASV MÃ LỚP
Nguyễn Thu Trang
61000002 QL11
Tống Thị Loan
61000003 QL11
Nguyễn Thị Hà
61000004 QL11
+, s:
KET QUA ĐIỂM
THÀNH PHẦN
ĐIỂM THI CUỐI KÌ
=> R x S:
SINHVIEN X
KET QUA
THÀNH
ĐIỂM THI CUỐI KÌ
Trang 9PHẦN Nguyễn
Thu Trang
Tống Thị Loan
Nguyễn Thị Hà
8 Phép kết nối :
8.1 Phép kết nối tự nhiên:
Cho hai quan hệ: R và S:
(R): KHOA
(S): NGANH
QLTT Quản lý thông
tin
TT
TTTV Thông tin thư
viện
TV
=> Kết nối tự nhiên 2 quan hệ KHOA và NGANH, R⋈ S:
Trang 10KHOA ⋈
NGANH
Mã khoa
Tên khoa Mã
ngành
Tên ngành
TT Thông tin QLTT Quản lý thông tin
TV Thông tin TTTV Thông tin thư viện
8.2 Phép kết nối bằng:
Cho 2 quan hệ (S) KHOA; (R) NGANH:
(R) NGANH:
(S) KHOA:
Thực hiện phép kết nối bằng với 2 quan hệ (R) VÀ (S):
NGÀNH ⋈ M Ã KHOA¿MÃ PHÂN LO Ạ I
(KHOA)
Trang 118.3 Phép kết nối theta:
Cho 2 quan hệ (R) và (S):
(R): SINHVIEN
(S): LOP
Kết nối theta 2 quan hệ (R) và (S) với điều kiện MÃ LỚP (SINHVIEN) > MALOP(LOP):
SINHVIEN
LOP
HỌ TÊN MÃ LỚP(SV) MÃ LỚP(LOP) NĂM NHẬP
HỌC
Trang 129 Phép đổi tên:
Cho biết họ và tên sinh viên học ở lớp quản lý thông tin 11
- Quan hệ: SINH VIEN
- Thuộc tính: HOSV,TENSV
- Điều kiện: LOP = QLTT11
SV_LP11 ⟵ σLP=QLTT11(SINH VIEN)
KQ ⟵ π HOSV,TENSV(SVL11)
KQ(HO,TEN) ⟵ π HOSV,TENSV(SVL11)
ρKQ(HO,TEN)( π HOSV,TENSV(SVL11))
10 Phép gán:
(?) Từ quan hệ sinh viên chọn ra những sinh viên có họ Nguyễn Sau đó cho biết năm sinh và giới tính của những sinh viên này
B1: R ←σ Nguyễ n (SINHVIEN)
B2: KQ←π Nămsinh ,gi ớ i tính(R)
IV Sử dụng một vài truy vấn để rút trích dữ liệu.
1 Hãy tạo truy vấn hiển thị theo yêu cầu như sau: MaSV, Hoten, Gioitinh, Ngaysinh, Malop, Manganh, Tennganh
2 Hãy tạo truy vấn trích lọc ra các sinh viên thuộc ngành Quản lí thông tin: MaSV, Hoten, Ngaysinh, Tennganh
3 .HÃy taoh truy vấn trích lọc các mã học phần bắt đầu bằng “TT”: Mahocphan, Tenhocphan, Sotinchi, Sotiet, Hocky
Trang 134 Hãy tạo truy vấn trích lọc ra các sinh viên có họ là “Nguyễn”: MaSV, Hoten, Gioitinh, Ngaysinh, Malop
5 Hãy tạo truy vấn cột Năm sinh, Tuổi của sinh viên, yêu cầu cần hiển thị các cột sau lên: MaSV, Hoten, Gioitinh, Ngaysinh, Namsinh, Tuoi
6 Hãy tạo truy vấn tính Điểm trung bình của sinh viên, yêu cầu hiển thị các cột sau: MaSV, Hoten, Gioitinh, Ngaysinh, Mahocphan, Diemtrungbinh (Diemtrungbinh = (Diemthanhphan + Diemthicuoiki)/2 và làm tròn số lấy 1 chữ
số thập phân)
7 Tạo truy vấn tính cột Thành tích, biết rằng nếu sinh có Diemtrungbinh >=8 thì ghi Giỏi, nếu sinh viên có Diemtrungbinh >=6 thì ghi Khá, Diemtrungbinh <6 thì ghi Trung bình Thông tin: MaSV, Hoten, Malop, Mahocphan, Diemtrungbinh, Thanhtich
8 Hãy tạo truy vấn thống kê sinh viên theo Tỉnh thành là bao nhiêu sinh viên theo học: Quequan, Tổng số sinh viên
9 Hãy tạo truy vấn thống kê sinh viên của từng ngành có bao nhiêu sinh viên: Manganh, Tennganh, Tổng số sinh viên
10 Hãy tạo truy vấn tạo ra bảng mới có tên SV_NganhTV, yêu cầu chứa các sinh viên thuộc ngành Thư viện, gồm các cột sau: MaSV, Hoten, Gioitinh, Ngaysinh, Manganh, Tennganh