2.1 Xây dựng mô hình thực thể liên kết ER Đê xây dựng mô hình thực thê liên kết ER ta cân thực hiện 4 bước sau: Bước l: Xác định thực thể, các kiểu thực thể SINH VIÊN là thực thể mạnh:
Trang 1BO THONG TIN VA TRUYEN THONG
BAO CAO BAI TAP LON MON HOC: CO SO DU LIEU
DE BAI: THUC HIEN MODUL “LEN LICH CHO LOP HQC PHAN” TREN
PHAN MEM QUAN LY SINH VIEN GIANG VIEN PHU TRACH:
KHUAT VAN DUC
NHOM MON HOC: 06 NHOM SINH VIEN: 06 THANH VIEN NHOM:
NGUYEN MINH DAT - B21DCVT116 NGUYEN DUY MINH - B21DCVT292
PHAM VAN NAM - B21DCVT316
DOAN TUAN DAT - B21DCVT012
Hà Nội, tháng 11 năm 2024
Trang 2
LỜI NÓI ĐẦU Lời đầu tiên, chúng em xin pửi lời cảm ơn sâu sắc đến Học viện nghệ Bưu chính Viễn thông đã đưa môn học Cơ sở đữ liệu vào trong chương trình giảng dạy Đặc biệt, chúng em xin gửi lời cảm ơn sâu sắc đến giảng viên bộ môn Khuất Văn Đức
đã dạy dỗ, rèn luyện và truyền đạt những kiến thức quý báu cho chúng em trong suốt thời gian hoc tập vừa qua
Trong thời gian được tham dự lớp học của thầy, chúng em đã được tiếp thu thêm nhiều kiến thức bỗ ích, học tập được tinh thần làm việc hiệu quả, nphiêm túc Đây thực
là những điều rất cần thiết cho quá trình học tập và công tác sau này của chúng em Thêm vào đó, nhờ sự dẫn dắt và chỉ bảo của thầy và sự giúp đỡ của các bạn trong lớp trong suốt quá trình làm bải tập lớp, chúng em đã hoàn thành báo cáo cho môn học nảy, chúng em rất biết ơn điều đó
Em xIn chân thành cảm ơn, chúc thay luôn khỏe mạnh va tiếp tVc đạt được nhiều thành công trong cuộc sống!
Trang 3LỜI NÓI Đö ác 20.22112221 THnH HH nung re rec l
MVC LC 2 i0 600)0ï 0 0 3 Chương 1 Phân tích yêu cầu phần mềm - 2-5222 SE9EE121E7127122127221111221E1222xee 4
1.2 Modul “Lên lịch cho lớp học phần” ¬ 4 Chương 2 Xây dựng mô hình ER, xác định các quy tắc ràng buộc - 5 2.1 Xây dựng mô hình thực thể liên kết ER 2: + 222115 1212151111111 1xe 5 2.2 _ Xác định các quy tắc/ràng ĐUỘC 0000102201221 1 11111 n nen nà sở 6 Chương 3 Chuyến đổi từ mô hình thực thê liên kết sang mé hinh quan hé 7 3.1 Xử lý ánh xạ cho mô hình thực the ooo cocccccccccceccccececscevecsevsssecstveseevsstsvessevenses 7 3.2 Thiét ké m6 hinh dit ligu quan ho cece ceccccecececseseeseeseeseseesessesesesesneeees 8 Chương 4 Xác định khóa và chuẩn hóa lược đồ quan hệ - 22c 222222 9 4.1 Xác định khOaw - n1 121010101 11115 1125512511111 1 1111 1k v1 5111111151555 9 4.2 Chuẩn hóa dữ liệu quan hệ 2-1 2 1151211215111 11271112112112111E 6 10
4.2.1 Chuan INF (First Normal Form) + 5c S112 E521215112211121 211 xe2 10 4.2.2 Chuẩn 2NF (Second Normal Form) - - ssc E121 1EEE12121222227225e2 10 4.2.3 Chuẩn 3NF (Third Normal Form) - 5 s-scs E SE 2211122121212 1x 12 zze2 11 Chương 5 Xây dựng cơ sở dữ liệu trên MySql và thực hiện truy vấn -.- se: 12 5.1 Xây dựng co sở dữ liệu trên MySqÌL 0 2211211211 1211121 22111812 ray 12 5.2 Thực hiện truy vấn dữ liệu - 5 2 1111111121111 11 121110111111 kg 15 lMAa‹(ai(iIiãiiaadđdẢẢỶÝẢÝỶÝẢ 16
54 Kétluan 3001128007077 18
Trang 4Danh mục hình ảnh
Hình 2-1 Sơ đồ ER - - 22c 22211222112221122111111112111211.211 de
Hinh 3-1 Mo hình dữ liệu quan hệ 2 22 222 2221222222222
Hình 5-1 Bảng Sinh Viên 2 1 22012211211 121 111111112111 2011 1811 811811 1k
Hinh 5-2 Bảng Lớp Học Phần 22-52 SE221221221571122122127127121 22 2e
Hình 5-4 Bảng Tiên QuyẾt 5 S9 121211 1121112112121 211 te
ii Sáo 0
Hình 5-6 Bảng Kết Quả Học Tập - 2 2s S 12 2712112121122 x6
Hình 5-7 Biếu đồ liên kết dữ liệu -2-©222 2222222222222 22zee
Hình 5-8 Truy vấn Môn học - - 2 S2 S 11 1215151151111121111121111111555 e2
Hình 5-9 Truy vấn Lớp của Môn - 2-52 21E121821112112122121 1 xe
Hinh 5-10 Cập nhật Lớp mới 2 22212221211 121 22212211181 1111 1111222
Hình 5-11 Thông tin Miôn .- c2 1211211211211 1111111111 1111211112 rrkt
Hình 5-12 Chọn Môn Lập trình Java - c0 2.122 121112212212 22tr rrey
Hinh 5-13 Kết quả trả về Môn 102 2 222212212212 2222122221 21.212
Hinh 5-14 Thêm Lớp bị trùng thời ø1an - : 2: 222121122 esrey
Hinh 5-15 Không thê thêm Lớp - 22s 2212222EE2E222152271221222 22.2
Hinh 5-16 Thêm Lớp không trùng - 22 222 2221221122112 2512 15122 x22
Hinh 5-17 Cập nhật Lớp mới 2 22212221211 121 2221281181 1111 2111222
Nhóm 6
Trang 5Chương I Phân tích yêu cầu phần mềm
1.1 Mô tả phần mềm
Khách hàng yêu câu phát triển phần mềm quản lý kết quả học tập của sinh viên theo tín chỉ được mô tả như sau:
Mỗi sinh viên (Mã SV, mật khẩu, tên, ngày sinh, khóa, quê quán, dia chỉ) được phép đăng ký tối thiểu 10 tín chỉ/học kỳ và tối đa 15 tín chỉ/học kỳ Mỗi sinh viên được đăng ký nhiều môn học (mã môn, tên môn, số tín chỉ) Mỗi môn học có thể có nhiều môn học yêu cầu sinh viên phải hoàn thành trước đó mới được đăng ký
Mỗi môn học có thể có nhiều lớp học phần (mã lớp, tên lớp, số sinh viên tối
đa, phòng học, khung giờ học cố định trong tuần)
Sinh viên không được đăng ký học hai lớp trùng buỗi học
Vơi mỗi môn học, một sinh viên chỉ được đăng ký một lớp xác định Kết quả của sinh viên (điểm thành phần số 1, số 2, số 3, điểm thi, điểm cuối cùng = x% số l + y% số 2 + z% số 3 + w% điểm thi) được lưu theo từng môn học
Điểm trung bình của sinh viên trone học kỳ được tính bằng trung bình có trọng số là số tín từng môn học
1.2 Modul “Lén lich cho lớp học phần”
Từ yêu câu của khách hàng về phần mềm quản lý ta mô tả Modul “Lên lịch cho lớp học phân 2~¬?? x
thông qua các thao tác sau:
Bước 1: Quản lý chọn menu lên lịch học cho lớp học phần
Bước 2: Quản lý chọn môn
Bước 3: Quản lý chọn thêm lớp học phần
Bước 4: Quản lý thêm các thông tin của lớp như mã lớp, thời gian, phòng, sô sinh viên tôi đa, và xác nhận
Bước 5: Hệ thống cập nhật lịch học vào CSDL và thông báo thành công
Nhóm 6
Trang 6Chương2 Xây dựng mô hình ER, xác định các quy tắc ràng buộc
2.1 Xây dựng mô hình thực thể liên kết ER
Đê xây dựng mô hình thực thê liên kết ER ta cân thực hiện 4 bước sau:
Bước l: Xác định thực thể, các kiểu thực thể
SINH VIÊN là thực thể mạnh: độc lập với các thực thể còn lại
MÔN HỌC là thực thê mạnh: độc lập với các thực thể còn lại
LOP HOC PHAN là thực thể yếu: phV thuộc vào thực thể MÔN HỌC
Bước 2: Xác định liên kết
SINH VIÊN liên kết MÔN HỌC qua quan hệ “đăng ký”
SINH VIÊN liên kết LỚP HỌC PHẦN qua quan hệ “đăng ký”
SINH VIÊN liên kết MÔN HỌC qua quan hệ “ketquahoctap”
MÔN HỌC liên kết LỚP HỌC PHẢN qua quan hệ “có”
Bước 3: Xác định thuộc tính của các thực thể
SINHVIEN: MaSV, TenSV, QueQuan, DiaChi, MatKhau, NgaySinh
MON: MaMH, SoTin, TenMon
Hinh 2-1 So dé ER
Nhóm 6
Trang 72.2 Xác định các quy tắc/ràng buộc
e Rang budc khoa chinh (Primary Key Constraint):
SINH VIEN: MaSV MON HOC: MaMH LOP HOC PHAN: MaLop DANG KY: (MaSV, MaMH, MaLop) TIÊN QöYÉT: (MaMH, MaMonTQ)
e Rang budc khoa ngoai (Foreign Key Constraint):
LOP HOC PHAN: MaMH tham chiéu dén MON HOC (MaMH) TIÊN QöYÉT: MaMH, MaMonTQ tham chiéu dén MON HOC (MaMH) DANG KY: MaSV tham chiéu dén SINH VIEN (MaSV)
MaMH tham chiéu dén MON HOC (MaMH) MaLop tham chiéu dén LOP HOC PHAN (MaLop)
e Rang buéc duy nhat (nique Constraint):
DANG KY: MaSV, MaMH sé không cho phép bất kỳ sinh viên nào đăng ký củng một mã môn học nhiều lân hay không thê đăng ký hai lớp cùng một môn vì một lớp chỉ thuộc về một môn
® - Ràng buộc không null (Not Null Constraint):
Tất cả các thuộc tính của mô hình thực thể liên kết
Trang 8Chương 3 Chuyến đổi từ mô hình thực thể liên kết sang mô hình quan hệ
3.1 Xử lý ánh xạ cho mô hình thực thể
Bước 1: Ánh xạ các thực thể thường và yếu
Với mỗi tập thực thê (trừ tập thực thế yếu), tạo một quan hệ tương ứng: Tên quan
hệ là tên của tập thực thể (Các) thuộc tính của quan hệ là (các) thuộc tính đơn của tập thực thê (ngoại trừ thuộc tính kêt hợp va da trị) Ở đây ta xét được 2 thực thê mạnh với chỉ các thuộc tính đơn:
SINH VIÊN: MaSV, TenS§V, QueQuan, DiaChi, MatKhau, NgaySinh
MON HOC: MaMH, SoTin, TenMon
Với mỗi tập thực thê yếu, tạo một quan hệ tương ứng có tên trùng với tên của tập thực thể yếu Các thuộc tính ứng với các thuộc tính đơn của tập thực thê yêu
LOP HOC PHAN: MaLop, Thoigian, TenLop, Phong, SoS VToiDa
Bước 2: Ánh xạ các liên kết
Đối với quan hệ yếu “có” giữa MÔỀN HỌC và LỚP HỌC PHẢN ta thêm vào thuộc tính khóa của quan hệ ứng với tập thực thể liên quan Khóa của quan hệ là kêt hợp khóa yếu của tập thực thế yếu và khóa chính của quan hệ ứng với tập thực thê liên quan Ở đây ta có thực thê LỚP HỌC PHẦN có khóa mã môn học tham chiếu đến mã môn học của thực thể MỀN HỌC
Với mỗi tập mối kết hợp n-n, tạo một quan hệ mới có tên quan hệ là tên của tập mỗi kết hợp Thuộc tính gồm những thuộc tính khóa của các quan hệ ứng với các tập thực thê liên quan, và thuộc tính riêng của mỗi kết hợp (nếu có) Khóa là kết hợp các khóa của các quan hệ ứng với các tập thực thể tham gia vào mỗi kết hợp Ta có ba thực thê SINH VIÊN, MÔN HỌC và LỚP HỌC PHẢN đều tham gia vào quan hệ “đăng ký” và MÔN HỌC có quan hệ “kết quả học tập” với SINH VIÊN
DANG KY: MaSV, MaMH, Malop
KQHT: MaSV, MaMH, DTP1, DTP2, DTP3, DThi, DTK
Đối với quan hệ đệ quy loại nhiều-nhiều “tiên quyết” hai lược đồ quan hệ sẽ được tạo ra: một thể hiện tập thực thể và lược đồ quan hệ liên kết đề thể hiện mối quan
hệ nhiều-nhiều Khóa chính của quan hệ liênkết bao gồm hai thuộc tính Những thuộc tính này (không nhất thiết phải có cùng tên) đều lấy giá trị của chúng từ các khóa chính của quan hệ còn lại
MON TIÊN QỏYÉT: MaMH, MaMonTQ
Trang 93.2 Thiết kế mô hình dữ liệu quan hệ
SINH VIÊN
_rèi MaSV | TenSV | QueQuan | DiaChi | MatKhau | NgaySinh |
MÔN HỌC
rr Mau | TenMon | SoTin |
LGP HOC PHAN
DANG KY
| (=
H MaSV | MaMH | DTP! | DTP2 | DTP3 | DThi | DTK
TIEN QUYET
¡ MaMH | MaMonTQ |
Hinh 3-2 Mo hinh die liéu quan hệ
Nhóm 6
Trang 10Chương 4 Xác định khóa và chuẩn hóa lược đồ quan hệ
4.1 Xác định khóa
a SINH VIÊN
Ta có tập thuộc tính U = {MaSV, TenSV, QueQuan, DiaChi, MatKhau, NgaySinh}
Tap phV thuộc hàm F = {À⁄ZaSW —> TenS, MaSV —> QueQuan, MaSV —> DiaC hi, MaSV —> MatKhau, MaSV —> NgaySinh}
>L = {MaSV} R = { TenSV, QueQuan, DiaChi, MatKhau, NgaySinh }
> TN=6\R={MaSV}
Ta có TG =L R=Ø => Khóa K = TN = {MaSV}
b MÔN HỌC
Ta có tập thuộc tính U = { MaMH, TenMon, SoTin }
Tập phV thuộc ham F = { MaMH — TenMon, MaMH — SoTin }
> L= {MaMH }, R= { TenMon, SoTin }
> TN=6\R={MaMH}
Ta cé TG =L 1 R=@ => Khóa K = TN = {MaMH}
c LOP HOC PHAN
Tập thuộc tính U = {MaLop, MaMH, TenLop, Phong, SoSVToiDa, Thoigian}
Tap phV thudc ham F = { MaLop — TenlLop, MaLop — Phong, MaLop — SoSVToiDa, MaLop — Thoigian, MaLop — MaMH }
>L = {MaLop} R = { TenLop, Phong, SoSVToiDa, Thoigian, MaMH }
> TN=06\R={MaLop}
Ta có TG =L ñ R= Ø => Khóa K = TN = { MaLop }
d ĐĂNG KÝ
Tập thuộc tính U = {MaSV, MaLop, MaMH}
=> Khoa K = { MaSV, MaLop, MaMH }
e KQHT
Tập thuộc tính U = {MaSV, MaMH, DTP1, DTP2, DTP3, DThi, DTK} Tập phV thuộc hàm F = { (MaSV,MaMH) — DTP1, (MaSV,MaMH) — DTP2,
(MaSV,MaMH) — DTP3, (MaSV,MaMH) — Dthi, (MaSV,MaMH) — DTK }
> L= {1/⁄4SV,MaMH)} R = { DTP1, DTP2, DTP3, DThi, DTK }
> TN=6\R= {(MaSV,.MaMH)}
Trang 11Ta có TG =L f1 R =Ø => Khóa K = TN = {(MaSV,MaMH) }
f TIEN QUYET
Tap thuéc tinh U = { MaMH, MaMonTQ }
=> Khóa K = { MaLop, MaMH }
4.2 Chuan hóa dữ liệu quan hệ
4.2.1 Chuẩn INF (First Normal Form)
Yêu cầu: Mỗi bảng phải đảm bảo rằng các thuộc tính có giá trị nguyên tố, không có các thuộc tính ghép, các thuộc tính đa trị hay các thuộc tính dẫn xuat Phân tích:
- Bang SINH VIÊN: Các thuộc tính gồm MaSV, TenSV, QueQuan, DiaChi, MatKhau, NgaySinh đều có giá trị nguyên tố Khong có các thuộc tính ghép, các thuộc tính đa trị hay các thuộc tính dẫn xuất trong bảng này, nên bảng đạt
chuẩn INE
-_ Bảng MÔN HỌC: Các thuộc tính gồm MaMH, TenMon, SoTin đều có giá trị nguyên tô, không chứa các thuộc tính không đạt chuẩn INF, nên bảng đạt
chuẩn INE
- Bảng LỚP HỌC PHẢN: Các thuộc tính gồm MaLop, MaMH, TenLop, Phong, SoSVToiDa, ThoiGian cũng có giá trị nguyên tố, không có các thuộc tính ghép, các thuộc tính đa trị hay các thuộc tính dẫn xuất, nên bảng đạt chuẩn INE
- Bảng ĐĂNG KÝ: Các thuộc tính gom MaSV, MaMH, MaLop đều có gia tri nguyên tố và không chứa các thuộc tính ghép, các thuộc tính đa trị hay các thuộc tính dẫn xuất, nên bảng đạt chuẩn INF
- Bảng KQHT: Các thuộc tính gồm MaSV, MaMH, DTPI, DTP2, DTP3, DThi, DTK đều có giá trị nguyên tố, không chứa các thuộc tính ghép, các thuộc tính đa trị hay các thuộc tính dẫn xuất, nên bảng đạt chuẩn INF
-_ Bảng TIÊN QUYẾT: Các thuộc tính gồm MaMH, MaMonTQ đều có giá trị nguyên tố và không chứa các thuộc tính ghép, các thuộc tính đa trị hay các thuộc tính dẫn xuất, nên bảng đạt chuẩn INF
Kết luận: Tat cả các bảng trone mô hình này đều đạt chuẩn 1NE
4.2.2 Chuan 2NF (Second Normal Form)
Yêu cầu: Dữ liệu phải đạt chuẩn INF và không có phV thuộc ham không day
đủ, tức là các thuộc tính không khóa phải phV thuộc vào toàn bộ khóa chính (chỉ áp dVng cho bảng có khóa phức hợp)
Phân tích:
Nhóm 6