Các thông tin về học viên cần nắm được mã học viên duy nhất và chỉ thuộc về một lớp duy nhất nếu học viên cùng lúc học nhiều lớp thì ứng với mỗi lớp, học viên đó có một mã học viên khác
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
BÁO CÁO
MÔN : CƠ SỞ DỮ LIỆU
Họ và tên: Trần Ngọc Tiến
Lớp: D10CN1
Mã sinh viên: 1021040050
Bài tập: Quản lý học viên ở một trung tâm tin học
Trang 2I, Mô tả
Bài toán đặt ra là quản lý học viên ở một trung tâm tin học Các vấn đề trong phạm vi quản lý bao gồm lớp học, môn học, kết quả, học phí và học viên
Các thông tin về học viên cần nắm được mã học viên (duy nhất và chỉ thuộc về một lớp duy nhất (nếu học viên cùng lúc học nhiều lớp thì ứng với mỗi lớp, học viên đó có một mã học viên khác nhau)), họ tên, ngày sinh, nơi sinh, giới tính và nghề nghiệp - nghề nghiệp là SINH VIÊN, GIÁO VIÊN, KỸ SƯ, HỌC SINH, BUÔN BÁN,…
Thông tin về các lớp học gồm mã lớp duy nhất, tên lớp, thời khóa biểu, ngày khai giảng và học phí Chú ý rằng tại một thời điểm, trung tâm có thể mở nhiều lớp cho cùng một chương trình học Với các lớp dài hạn thì ngày khai giảng được xem là ngày bắt đầu của mỗi học phần
và HỌC PHÍ là học phí của mỗi học phần, với lớp ngắn hạn thì HỌC PHÍ
là học phí của toàn khoá học đó
Thông tin về môn học phải nắm được là mã môn học là duy nhất, mỗi môn học xác định tên môn học, số tiết lý thuyết , số tiết thực hành
Mỗi học viên ứng với mỗi môn học có một điểm thi duy nhất Mỗi lần đóng học phí, học viên sẽ được trung tâm giao cho một phiếu biên lai thu tiền, mỗi biên lai có một số biên lai duy nhất để quản lý
II, Xác định các đối tượng thực thể:
Các thực thể:
HOCVIEN:
thực thể học viên dùng để lưu thông tin của các học viên, bao gồm các thuộc tính:
- MAHV
- TENHV
- NGAYSINH
- NOISINH
- GIOITINH
- NGHENGHIEP
Trang 3 LOPHOC:
Thực thể lớp học lưu thông tin về các lớp học, bao gồm các thuộc tính như:
- MALOP
- TENLOP
- TKB
- NKG
- HOCPHI
MONHOC:
Thực thể môn học dùng để lưu thông tin của các môn học ở trung tâm bao gồm các thuộc tính như:
- MAMON
- TENMON
- SOTIETLT
- SOTIETTH
KETQUA:
Thực thể kết quả dùng để lưu thông tin của kết quả học tập ở trung tâm bao gồm các thuộc tính như:
- DIEMTHI
- MAHV
- MAMON
Trang 4III, Mô hình E-R
HOCVIEN
MAHV
LOPHOC
TENLOP
MALOP TENHV
TKB NKG
MONHOC
MAMON
MAHP
NGHENGHIEP
NGAYSINH
NOISINH
GIOITINH
TRUCTHUOC
QUANLY
TENMON
PHUTRACH
HOCPHI
có
Trang 5IV, Chuyển mô hình E-R sang mô hình quan hệ
HOCVIEN (MAHV, TENHV, NGAYSINH, NOISINH, GIOITINH, NGHENGHIEP, MALOP) NGHENGHIEP (MAHV, NGHENGHIEP)
LOPHOC (MALOP, TENLOP, TKB, NKG, HOCPHI, MAHV)
HOCPHI (MALOP, MAHP, HOCPHI)
MONHOC (MAMON, TENMON, SOTIETLT, SOTIETTH, MALOP)
KETQUA (MAHV, MAMON, DIEMTHI)
V, 10 biểu thức đại số
1 Cho danh sách các học viên thuộc lớp có mã là TH1:
(MALOP=”TH1”) (HOCVIEN)
2 Cho danh sách các học viên nữ thuộc lớp TH1 có nơi sinh Hà Nội:
(GIOITINH=”nu” and MALOP=”TH1” and NOISINH=”Ha Noi”) (HOCVIEN)
3 Cho danh sách học viên gồm các thông tin tên học viên, giới tính, năm sinh, nghề nghiệp:
(TENHV, GIOITINH, NAMSINH, NGHENGHIEP) (HOCVIEN)
4 Cho danh sách học viên nam thuộc lớp có mã là TH1:
(MAHV, TENHV) ( (GIOITINH=”nu” and MALOP=”TH1”) (HOCVIEN))
5 Cho danh sách học viên nam có nơi sinh Hà Nội:
i KQ1 ← (NOISINH=”Ha Noi”) (HOCVIEN)
ii KQ ← (MAHV, TENHV, NOISINH) (KQ1)
Trang 66 Phép tích Đề-các
HOCVIEN(MAHV, TENHV, MAM)
MON(MAMON, TENMON)
HOCVIEN x MONHOC
(MAHV, TENHV, MAM, MAMON, TENMON)
7 Phép kết:
HOCVIEN MONHOC (MAHV, TENHV, MAM, TENMON) MAHV TENHV MAM TENMON
01 TNT TH Tin học
02 PVB CSDL Cơ sở dữ liệu
Trang 78 Tìm tên các học viên nữ thuộc lớp có mã là TH3 hoặc thuộc lớp có mã là
CSDL2:
[ (GIOITINH=”nu”) ( (MALOP = “TH3”) (HOCVIEN))] [ (GIOITINH=”nu”) ( (MALOP = “CSDL2”) (HOCVIEN))]
9 Tìm tên các học viên thuộc lớp có mã là TH3:
[ (MAHV, TENHV) ( (MALOP=”TH3”) (HOCVIEN))]
10 Tìm mã học viên của các học viên học lớp có mã là CSDL3 hoặc học
môn Cơ sở dữ liệu:
[(MAHV)(((MALOP = “CSDL3”) OR (TENMON = ”Cơ sở dữ liệu”))
(HOCVIEN))]
Thực hành MySQL:
Trang 8Chuẩn hóa dữ liệu:
HOCVIEN (MAHV, TENHV, NGAYSINH, NOISINH, GIOITINH, NGHENGHIEP, MALOP) NGHENGHIEP (MAHV, NGHENGHIEP)
LOPHOC (MALOP, TENLOP, TKB, NKG, HOCPHI, MAHV)
HOCPHI (MALOP, MAHP, HOCPHI)
MONHOC (MAMON, TENMON, SOTIETLT, SOTIETTH, MALOP)
KETQUA (MAHV, MAMON, DIEMTHI)
Chuẩn hóa 1NF:
HOCVIEN (MAHV, MALOP, TENHV, NGAYSINH, NOISINH, GIOITINH, NGHENGHIEP) NGHENGHIEP (MAHV, NGHENGHIEP)
LOPHOC (MALOP, TENLOP, TKB, NKG, HOCPHI, MAHV)
HOCPHI (MALOP, MAHP, HOCPHI)
MONHOC (MAMON, MALOP, TENMON, SOTIETLT, SOTIETTH)
KETQUA (MAHV, MAMON, DIEMTHI)
Chuẩn hóa 2NF:
HOCVIEN (MAHV, MALOP, TENHV, NGAYSINH, NOISINH, GIOITINH, NGHENGHIEP)
F = {MAHV → TENHV, NGAYSINH, NOISINH, GIOITINH, NGHENGHIEP ; MAHV → MALOP}
HOCVIEN (MAHV, MALOP)
CT_HOCVIEN (MAHV, TENHV, NGAYSINH, NOISINH, GIOITINH, NGHENGHIEP)
MONHOC (MAMON, MALOP, TENMON, SOTIETLT, SOTIETTH)
F = {MAMON → TENMON, SOTIETLT, SOTIETTH; MAMON→ MALOP} MONHOC (MAMON, MALOP)
CT_MONHOC (MAMON, TENMON, SOTIETLT, SOTIETTH)
Trang 9Chuẩn hóa 3NF:
KETQUA (MAHV, TENHV, NGAYSINH, NOISINH, GIOITINH, NGHENGHIEP, MAMON, MALOP, TENMON, SOTIETLT, SOTIETTH, DIEMTHI)
KETQUA (MAHV, MAMON, DIEMTHI)
HOCVIEN (MAHV, TENHV, NGAYSINH, NOISINH, GIOITINH, NGHENGHIEP, MALOP) MONHOC (MAMON, MALOP, TENMON, SOTIETLT, SOTIETTH)
Các câu truy vấn SQL:
1 Cho danh sách các học viên thuộc lớp có mã là TH1:
SELECT * FROM HOCVIEN WHERE MALOP=’TH1’;
2 Cho danh sách các học viên nữ thuộc lớp TH1 có nơi sinh Hà Nội:
SELECT *
FROM HOCVIEN
WHERE GIOITINH = ‘nu’
AND MALOP = ‘TH1’
AND NOISINH = ‘Ha Noi’;
3 Cho danh sách học viên gồm các thông tin tên học viên, giới tính, năm sinh, nghề nghiệp:
SELECT TENHV, GIOITINH, NAMSINH, NGHENGHIEP
FROM HOCVIEN;
4 Cho danh sách học viên nam thuộc lớp có mã là TH1:
SELECT *
FROM HOCVIEN
WHERE GIOITINH = ‘nam’
AND MALOP = ‘TH1’;
Trang 105 Cho danh sách học viên nam có nơi sinh Hà Nội:
SELECT *
FROM HOCVIEN
WHERE GIOITINH = ‘nam’
AND NOISINH = ‘Ha Noi’;
6 Tìm tên các học viên nữ thuộc lớp có mã là TH3 hoặc thuộc lớp có mã là CSDL2:
SELECT *
FROM HOCVIEN
WHERE GIOITINH = ‘nu’
AND MALOP = ‘TH3’
OR MALOP= ‘CSDL2’;
7 Tìm tên các học viên thuộc lớp có mã là TH3:
SELECT TENHV, MALOP
FROM HOCVIEN
WHERE MALOP = ‘TH3’
(SELECT MALOP FROM HOCVIEN);
8 Xóa tên học viên “Thanh” không còn học lớp có mã là TH2:
DELETE FROM HOCVIEN
WHERE TENHV = ‘Thanh’ AND MALOP = ‘TH2’;
9 Hiệu chỉnh học phí của lớp TH2 thành 900000 đồng/khóa:
UPDATE LOPHOC
SET HOCPHI = 900000
WHERE MALOP = ‘TH2’;