Bài tập thực hành thiết kế CSDL

Cơ sở dữ liệu (viết tắt CSDL; tiếng Anh là database) được hiểu theo cách định nghĩa kiểu kĩ thuật thì nó là một tập hợp thông tin có cấu trúc. Tuy nhiên, thuật ngữ này thường dùng trong công nghệ thông tin và nó thường được hiểu rõ hơn dưới dạng một tập hợp liên kết các dữ liệu, thường đủ lớn để lưu trên một thiết bị lưu trữ như đĩa hay băng. Dữ liệu này được duy trì dưới dạng một tập hợp các tập tin trong hệ điều hành hay được lưu trữ trong các hệ quản trị cơ sở dữ liệu.

doc15 trang | Chia sẻ: franklove | Lượt xem: 2596 | Lượt tải: 1download
Bạn đang xem nội dung tài liệu Bài tập thực hành thiết kế CSDL, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
 BÀI TẬP THỰC HÀNH THIẾT KẾ CƠ SỞ DỮ LIỆU MỤC LỤC BÀI TẬP THỰC HÀNH THIẾT KẾ 1 CƠ SỞ DỮ LIỆU 1 ĐỀ TÀI: THIẾT KẾ CƠ SỞ DỮ LIỆU 3 QUẢN LÝ ĐIỂM Ở TRƯỜNG PTTH 3 ĐTBm = (((ĐKTtx + 2*ĐKTđk)/Tổng hệ số)+ ĐKThk)/ 3 5 ĐTBmcn = (ĐTBmkI + 2*ĐTBmkII)/3 5 ĐTBcn = (ĐTBhkI + 2*ĐTBhkII)/3 5 DIEM (MAHS,MAMH,MAKT,DIEM,NAM) 8 LOP (MALOP,TENLOP,MAKHOI) 8 KHOI(MAKHOI,TENKHOI) 9 MONHOC(MAMH,TENMH,HESOM) 9 KIEMTRA(MAKT,TENKT,HSKT) 9 NAMHOC(NAMHOC) 9 Lược đồ có 2 khóa 9 Câu truy vấn tính điểm trung bình môn học: 9 TRANSFORM Sum(c.DIEMTBMON_K1) AS SumOfDIEMTBMON_K1 10 FROM [Q_DIEM TRUNG BINH MON] c 10 TRANSFORM Sum(c.DIEMTBMON_K2) AS SumOfDIEMTBMON_K2 10 FROM [Q_DIEM TRUNG BINH MON] c 10 FROM [Q_DIEM TB MON CA NAM] b 10 FROM [Q_DIEM TRUNG BINH MON_K1] a 11 Câu truy vấn xếp loại điểm: 11 FROM [Q_DIEM TRUNG BINH K1] c 11 FROM [Q_DIEM TRUNG BINH K2] c 12 FROM [Q_DIEM TB MON CA NAM] c 12 Menu Cập Nhật 13 Menu Thi Lại 14  ĐỀ TÀI: THIẾT KẾ CƠ SỞ DỮ LIỆU QUẢN LÝ ĐIỂM Ở TRƯỜNG PTTH  Nhìn chung các trường trung học phổ thông trên toàn quốc việc quản lý điểm học sinh còn rất thô sơ, đại đa số là mang tính thủ công. Từ hạn chế đó cho thấy công việc quản lý đòi hỏi tốn sức người và tốn thời gian. Ngày nay khoa học phát triển một cách mạnh mẽ mà đặc biệt là tin học, việc ứng dụng máy móc vào việc quản lý điểm là một điều rất cần thiết. Để việc quản lý điểm tiện lợi hơn cũng như đáp ứng được nhu cầu mà thực tế đã đặt ra, với những hiểu biết của mình về NLCSDL cùng với những quy chế, quy định, cách thức quản lý điểm ở các trường PTTH để thiết kế CSDL quản lý điểm bắng MS ACCESS. Dựa trên những hiểu biết của những năm học phổ thông, em đã xây dựng chương trình này theo cách quản lý điểm mà trường em theo học.  Trong mỗi năm học, học sinh có thể học các môn học như Toán, Lý, Hoá, Văn, Anh, Sinh,….Số môn học có thể tuỳ thuộc vào trường đó là trường chuyên, phân ban,… Hình thức kiểm tra gồm có: 1. Kiểm tra miệng (kiểm tra bằng hỏi đáp). 2. Kiểm tra viết. 3. Kiểm tra thực hành. Các loại bài kiểm tra: Kiểm tra thường xuyên gồm: kiểm tra miệng, kiểm tra viết dưới 1 tiết, kiểm tra thực hành dưới 1 tiết. 2. Kiểm tra định kỳ gồm: kiểm tra viết từ 1 tiết trở lên, kiểm tra thực hành từ 1 tiết trở lên, kiểm tra học kỳ. Hệ số điểm kiểm tra: 1. Hệ số 1: điểm kiểm tra thường xuyên. 2. Hệ số 2: điểm kiểm tra viết, kiểm tra thực hành từ 1 tiết trở lên. Số lần kiểm tra và cách cho điểm: 1. Số lần kiểm tra định kỳ được quy định trong phân phối chương trình từng môn học, bao gồm cả kiểm tra các chủ đề tự chọn. 2. Số lần kiểm tra thường xuyên: trong mỗi học kỳ 1 học sinh phải có số lần kiểm tra thường xuyên của từng môn học, bao gồm cả kiểm tra các chủ đề tự chọn, như sau: a) Môn học có từ 1 tiết trở xuống trong 1 tuần: ít nhất 2 lần. b) Môn học có từ trên 1 tiết đến dưới 3 tiết trong 1 tuần: ít nhất 3 lần. c) Môn học có từ 3 tiết trở lên trong 1 tuần: ít nhất 4 lần. 3. Điểm các bài kiểm tra thường xuyên theo hình thức tự luận cho điểm số nguyên, kiểm tra thường xuyên theo hình thức trắc nghiệm hoặc có phần trắc nghiệm và điểm kiểm tra định kỳ được lấy đến 1 chữ số thập phân sau khi đã làm tròn số. 4. Những học sinh không có đủ số bài kiểm tra theo quy định thì phải được kiểm tra bù. Bài kiểm tra bù phải có hình thức, mức độ kiến thức, kỹ năng và thời lượng tương đương với bài kiểm tra bị thiếu. Học sinh không dự kiểm tra bù thì bị điểm 0. Hệ số điểm môn học khi tham gia tính điểm trung bình các môn học kỳ và cả năm học: hệ số các môn được quy định tuỳ theo ban học. Ở đây ta chỉ xét ban cơ bản: 1. Hệ số 2 môn Toán & Văn. 2. Hệ số 1 đối với các môn còn lại. Trong đó, điểm trung bình môn học, điểm trung bình các môn học kỳ, cả năm học được tính như sau: 1. Điểm trung bình môn (ĐTBm) là trung bình cộng của điểm các bài kiểm tra thường xuyên (KTtx), kiểm tra định kỳ (KTđk) và kiểm tra học kỳ (KThk): ĐTBm = (((ĐKTtx + 2*ĐKTđk)/Tổng hệ số)+ ĐKThk)/ 3 2. Điểm trung bình từng môn cả năm (ĐTBmcn) là trung bình cộng của điểm trung bình môn học kỳ I (ĐTBmkI) với điểm trung bình môn học kỳ II (ĐTBmkII), trong đó ĐTBmkII tính theo hệ số 2: ĐTBmcn = (ĐTBmkI + 2*ĐTBmkII)/3 3. Điểm trung bình học kỳ (ĐTBhk) là trung bình cộng của điểm trung bình môn học kỳ của tất cả các môn với hệ số của từng môn học: ĐTBhk = ((ĐTBm Toán + ĐTBm Văn)*2 + (ĐTBm Vật Lý + ĐTBm Hóa + ĐTBm Sinh…)*1)/Tổng các hệ số 4. Điểm trung bình cả năm (ĐTBcn) là trung bình cộng của điểm trung bình học kỳ I (ĐTBhkI) với điểm trung bình học kỳ II (ĐTBhkII), trong đó ĐTBhkII tính theo hệ số 2: ĐTBcn = (ĐTBhkI + 2*ĐTBhkII)/3 Điểm trung bình các môn học kỳ hoặc cả năm học là số nguyên hoặc số thập phân được lấy đến chữ số thập phân thứ nhất sau khi đã làm tròn số. Đối với các môn chỉ dạy học trong 1 học kỳ thì lấy kết quả đánh giá, xếp loại của học kỳ đó làm kết quả đánh giá, xếp loại cả năm học. Dựa vào điểm trung bình mỗi học kỳ (DTBhk) và điểm trung bình cả năm học (DTBcn) để xếp loại học tập cho học sinh trong mỗi học kỳ và cả năm học theo tiêu chuẩn sau: 1. Loại Giỏi: ĐTB các môn học từ 8.0 trở lên; không có môn nào ĐTB dưới 6.5. 2. Loại Khá: ĐTB các môn học từ 6.5 trở lên, không có môn nào ĐTB dưới 5.0. 3. Loại Trung Bình: ĐTB các môn học từ 5.0 trở lên, không có môn nào có ĐTB dưới 3.5. 4. Loại Yếu: ĐTB các môn học từ 3.5 trở lên nhưng có môn có ĐTB dưới 2.0. 5. Loại Kém: ĐTB các môn học dưới 2.0. Kiểm tra lại các môn học: Học sinh xếp loại yếu, kém thì phải thi lại. Điểm thi lại thay cho ĐTB cả năm học của môn học đó để tính lại ĐTB các môn học cả năm học và xếp loại lại về học lực; nếu đạt loại trung bình thì được lên lớp, nếu không sẽ bị ở lại lớp. CSDL Access quản lý điểm được xây dựng dưới dạng các Table, Query, Report, …cùng với các kiểu quan hệ dựa trên nguồn dữ liệu được nhập đại diện. Cuối mỗi học kỳ, điểm trung bình học tập thông báo cho phụ huynh, học sinh được lấy và in ra từ các Report.   File DIEM   File HOCSINH    HOCSINH(MAHS,HOLOT,TEN,PHAI,NGAYSINH,MALOP,MAKHOI, DIACHI) DIEM (MAHS,MAMH,MAKT,DIEM,NAM) LOP (MALOP,TENLOP,MAKHOI) KHOI(MAKHOI,TENKHOI) MONHOC(MAMH,TENMH,HESOM) KIEMTRA(MAKT,TENKT,HSKT) NAMHOC(NAMHOC) Lược đồ của quan hệ HOCSINH(MAHS,HOLOT,TEN,PHAI,NGAYSINH,MALOP,MAKHOI, DIACHI) chỉ có phụ thuộc hàm duy nhất MAHS (HOLOT,TEN,PHAI,NGAYSINH,MALOP,MAKHOI,DIACHI) vậy nó ở dạng chuẩn Boyce-Codd. Lược đồ của quan hệ DIEM (MAHS,MAMH,MAKT,DIEM,NAM) Có 3 phụ thuộc hàm: MAHS (DIEM) và (MAMH,MAKT,DIEM) (MAHS) Lược đồ có 2 khóa K1 =(MAMH,MAKT) và K2 = (MAHS,MAMH) nên tất cả thuộc tính đều là thuộc tín khóa. Như vậy lược đồ ở dạng chuẩn thứ 3. Tuy nhiên lược đồ không ở dạng chuẩn Boyce-Codd vì thuộc hàm MAHS (DIEM) Không thỏa yêu cầu vế trái phải la siêu khóa. Lược đồ của quan hệ LOP (MALOP,TENLOP,MAKHOI) chỉ có phụ thuộc hàm duy nhất MALOP (TENLOP,MAKHOI) vậy nó ở dạng chuẩn Boyce-Codd. Lược đồ của quan hệ KHOI(MAKHOI,TENKHOI) chỉ có phụ thuộc hàm duy nhất MAKHOI (TENKHOI) vậy nó ở dạng chuẩn Boyce-Codd. Lược đồ của quan hệ MONHOC(MAMH,TENMH,HESOM) chỉ có phụ thuộc hàm duy nhất MAMH (TENMH,HESOM) vậy nó ở dạng chuẩn Boyce-Codd. Lược đồ của quan hệ KIEMTRA(MAKT,TENKT) chỉ có phụ thuộc hàm duy nhất MAKT (TENKT) vậy nó ở dạng chuẩn Boyce-Codd.  Câu truy vấn tính điểm trung bình môn học: Tính điểm trung bình học kỳ I:( Kết quả được làm tròn 1chữ số thập phân) TRANSFORM Sum(c.DIEMTBMON_K1) AS SumOfDIEMTBMON_K1 SELECT c.MAHS, c.HOLOT, c.TEN, c.NGAYSINH, c.DIACHI, c.TENLOP, c.TENKHOI FROM [Q_DIEM TRUNG BINH MON] c GROUP BY c.MAHS, c.HOLOT, c.TEN, c.NGAYSINH, c.DIACHI, c.TENLOP, c.TENKHOI PIVOT c.MAMH Tính điểm trung bình học kỳ II:( Kết quả được làm tròn 1chữ số thập phân) TRANSFORM Sum(c.DIEMTBMON_K2) AS SumOfDIEMTBMON_K2 SELECT c.MAHS, c.HOLOT, c.TEN, c.NGAYSINH, c.DIACHI, c.TENLOP, c.TENKHOI FROM [Q_DIEM TRUNG BINH MON] c GROUP BY c.MAHS, c.HOLOT, c.TEN, c.NGAYSINH, c.DIACHI, c.TENLOP, c.TENKHOI PIVOT c.MAMH Tính điểm trung bình và xếp loại cả năm của khối 10:(Kết quả được làm tròn 1 chữ số thập phân) SELECT b.MAHS, b.HOLOT, b.TEN, b.PHAI, b.NGAYSINH, b.DIACHI, b.TENLOP, b.TENKHOI, b.DTB_K1, b.DTB_K2, b.DTB_CANAM, b.A, b.D, b.GD, b.H, b.KT, b.L, b.SI, b.SU, b.T, b.TD, b.TI, b.V, IIf([DTB_CANAM]>=8 And [A]>=6.5 And [D]>=6.5 And [GD]>=6.5 And [H]>=6.5 And [KT]>=6.5 And [L]>=6.5 And [SI]>=6.5 And [SU]>=6.5 And [T]>=6.5 And [TD]>=6.5 And [TI]>=6.5 And [V]>=6.5,"GIỎI",IIf([DTB_CANAM]>=6.5 And [A]>=5 And [D]>=5 And [GD]>=5 And [H]>=5 And [KT]>=5 And [L]>=5 And [SI]>=5 And [SU]>=5 And [T]>=5 And [TD]>=5 And [TI]>=5 And [V]>=5,"KHÁ",IIf([DTB_CANAM]>=5 And [A]>=3.5 And [D]>=3.5 And [GD]>=3.5 And [H]>=3.5 And [KT]>=3.5 And [L]>=3.5 And [SI]>=3.5 And [SU]>=3.5 And [T]>=3.5 And [TD]>=3.5 And [TI]>=3.5 And [V]>=3.5,"TRUNG BÌNH",IIf([DTB_CANAM]>=3.5 And [A]>=2 And [D]>=2 And [GD]>=2 And [H]>=2 And [KT]>=2 And [L]>=2 And [SI]>=2 And [SU]>=2 And [T]>=2 And [TD]>=2 And [TI]>=2 And [V]>=2,"YẾU","KÉM")))) AS [XEP LOAI] FROM [Q_DIEM TB MON CA NAM] b GROUP BY b.MAHS, b.HOLOT, b.TEN, b.PHAI, b.NGAYSINH, b.DIACHI, b.TENLOP, b.TENKHOI, b.DTB_K1, b.DTB_K2, b.DTB_CANAM, b.A, b.D, b.GD, b.H, b.KT, b.L, b.SI, b.SU, b.T, b.TD, b.TI, b.V HAVING (((b.TENKHOI)="KHỐI 10")) Tính điểm trung bình học kỳ I của khối 10:( Kết quả được làm tròn 1chữ số thập phân) SELECT a.MAHS, a.HOLOT, a.TEN, a.TENLOP, a.PHAI, a.NGAYSINH, a.DIACHI, a.TENKHOI, a.A, a.D, a.GD, a.H, a.KT, a.L, a.SI, a.SU, a.T, a.TD, a.TI, a.V, Round(([A]+[D]+[GD]+[H]+[KT]+[L]+[Si]+[SU]+[TD]+[TI]+([T]+[V])*2)/14,1) AS DTB_K1 FROM [Q_DIEM TRUNG BINH MON_K1] a GROUP BY a.MAHS, a.HOLOT, a.TEN, a.TENLOP, a.PHAI, a.NGAYSINH, a.DIACHI, a.TENKHOI, a.A, a.D, a.GD, a.H, a.KT, a.L, a.SI, a.SU, a.T, a.TD, a.TI, a.V HAVING ((([a.TENKHOI)="KHỐI 10")) Câu truy vấn xếp loại điểm: Xếp loại học kỳ I : SELECT c.MAHS, c.HOLOT, c.TEN, c.NGAYSINH, c.DIACHI, c.TENLOP, c.TENKHOI, c.A, c.D, c.GD, c.H, c.KT, c, c.SI, c.SU, cTD, c.TI, c.V, c.DTB_K1, IIf([DTB_K1]>=8 And [A]>=6.5 And [D]>=6.5 And [GD]>=6.5 And [H]>=6.5 And [KT]>=6.5 And [L]>=6.5 And [SI]>=6.5 And [SU]>=6.5 And [T]>=6.5 And [TD]>=6.5 And [TI]>=6.5 And [V]>=6.5,"GIỎI",IIf([DTB_K1]>=6.5 And [A]>=5 And [D]>=5 And [GD]>=5 And [H]>=5 And [KT]>=5 And [L]>=5 And [SI]>=5 And [SU]>=5 And [T]>=5 And [TD]>=5 And [TI]>=5 And [V]>=5,"KHÁ",IIf([DTB_K1]>=5 And [A]>=3.5 And [D]>=3.5 And [GD]>=3.5 And [H]>=3.5 And [KT]>=3.5 And [L]>=3.5 And [SI]>=3.5 And [SU]>=3.5 And [T]>=3.5 And [TD]>=3.5 And [TI]>=3.5 And [V]>=3.5,"TRUNG BÌNH",IIf([DTB_K1]>=3.5 And [A]>=2 And [D]>=2 And [GD]>=2 And [H]>=2 And [KT]>=2 And [L]>=2 And [SI]>=2 And [SU]>=2 And [T]>=2 And [TD]>=2 And [TI]>=2 And [V]>=2,"YẾU","KÉM")))) AS [XEP LOAI] FROM [Q_DIEM TRUNG BINH K1] c GROUP BY c.MAHS, c.HOLOT, c.TEN, c.NGAYSINH, c.DIACHI, c.TENLOP, c.TENKHOI, c.A, c.D, c.GD, c.H, c.KT, c, c.SI, c.SU, cTD, c.TI, c.V, c.DTB_K1 Xếp loại học kỳ II : SELECT c.MAHS, c.HOLOT, c.TEN, c.NGAYSINH, c.DIACHI, c.TENLOP, c.TENKHOI, c.A, c.D, c.GD, c.H, c.KT, c, c.SI, c.SU, cTD, c.TI, c.V, c.DTB_K2, IIf([DTB_K2]>=8 And [A]>=6.5 And [D]>=6.5 And [GD]>=6.5 And [H]>=6.5 And [KT]>=6.5 And [L]>=6.5 And [SI]>=6.5 And [SU]>=6.5 And [T]>=6.5 And [TD]>=6.5 And [TI]>=6.5 And [V]>=6.5,"GIỎI",IIf([DTB_K2]>=6.5 And [A]>=5 And [D]>=5 And [GD]>=5 And [H]>=5 And [KT]>=5 And [L]>=5 And [SI]>=5 And [SU]>=5 And [T]>=5 And [TD]>=5 And [TI]>=5 And [V]>=5,"KHÁ",IIf([DTB_K2]>=5 And [A]>=3.5 And [D]>=3.5 And [GD]>=3.5 And [H]>=3.5 And [KT]>=3.5 And [L]>=3.5 And [SI]>=3.5 And [SU]>=3.5 And [T]>=3.5 And [TD]>=3.5 And [TI]>=3.5 And [V]>=3.5,"TRUNG BÌNH",IIf([DTB_K2]>=3.5 And [A]>=2 And [D]>=2 And [GD]>=2 And [H]>=2 And [KT]>=2 And [L]>=2 And [SI]>=2 And [SU]>=2 And [T]>=2 And [TD]>=2 And [TI]>=2 And [V]>=2,"YẾU","KÉM")))) AS [XEP LOAI] FROM [Q_DIEM TRUNG BINH K2] c GROUP BY c.MAHS, c.HOLOT, c.TEN, c.NGAYSINH, c.DIACHI, c.TENLOP, c.TENKHOI, c.A, c.D, c.GD, c.H, c.KT, c, c.SI, c.SU, cTD, c.TI, c.V, c.DTB_K2 Xếp loại cả năm: SELECT c.MAHS, c.HOLOT, c.TEN, c.NGAYSINH, c.DIACHI, c.TENLOP, c.TENKHOI, c.A, c.D, c.GD, c.H, c.KT, c, c.SI, c.SU, cTD, c.TI, c.V, c.DTB_K1, c.DTB_K2,c.DTB_CANAM, IIf([DTB_CANAM]>=8 And [A]>=6.5 And [D]>=6.5 And [GD]>=6.5 And [H]>=6.5 And [KT]>=6.5 And [L]>=6.5 And [SI]>=6.5 And [SU]>=6.5 And [T]>=6.5 And [TD]>=6.5 And [TI]>=6.5 And [V]>=6.5,"GIỎI",IIf([DTB_CANAM]>=6.5 And [A]>=5 And [D]>=5 And [GD]>=5 And [H]>=5 And [KT]>=5 And [L]>=5 And [SI]>=5 And [SU]>=5 And [T]>=5 And [TD]>=5 And [TI]>=5 And [V]>=5,"KHÁ",IIf([DTB_CANAM]>=5 And [A]>=3.5 And [D]>=3.5 And [GD]>=3.5 And [H]>=3.5 And [KT]>=3.5 And [L]>=3.5 And [SI]>=3.5 And [SU]>=3.5 And [T]>=3.5 And [TD]>=3.5 And [TI]>=3.5 And [V]>=3.5,"TRUNG BÌNH",IIf([DTB_CANAM]>=3.5 And [A]>=2 And [D]>=2 And [GD]>=2 And [H]>=2 And [KT]>=2 And [L]>=2 And [SI]>=2 And [SU]>=2 And [T]>=2 And [TD]>=2 And [TI]>=2 And [V]>=2,"YẾU","KÉM")))) AS [XEP LOAI] FROM [Q_DIEM TB MON CA NAM] c GROUP BY c.MAHS, c.HOLOT, c.TEN, c.NGAYSINH, c.DIACHI, c.TENLOP, c.TENKHOI, c.A, c.D, c.GD, c.H, c.KT, c, c.SI, c.SU, cTD, c.TI, c.V, c.DTB_K1, c.DTB_K2,c.DTB_CANAM    Chương trình được quản lý dưới hệ thống Menu (gồm có 6 menu chính) Menu Cập Nhật  *menu Cập Nhật Học Sinh: dùng để đưa danh sách học sinh vào, những học sinh có tên trong danh sách mới có quyền cập nhật điểm. *menu Cập Nhật Điểm: dùng để nhập điểm cho từng học sinh của trường, mỗi học sinh được quàn lý theo một mã số duy nhất do đó việc cập nhật điểm cho học sinh dựa vào những mã số đó. *menu Sửa Đổi Thông Tin: dùng để đưa các thông tin cần sửa đổi vào, ví dụ như khi mà nhà trường muốn đổi tên lớp cũ là 10A thành tên lớp mới 10A1 (chưa có trong danh mục Lớp) chẳng hạn. Menu Thi Lại  *menu TL Toàn Trường: xem danh sách những học sinh thi lại của trường *các menu TL Khối 10, TL Khối 11, TL Khối 12 có chức năng tương tự. Menu Xếp Loại: Xem điểm và kết quả xếp loại của toàn trường, trong menu này có rất nhiều menu con để người quản lý dễ thao tác. Menu Báo Cáo Xếp Loại: dùng để xem các báo cáo về xếp loại của khối và các lớp có trong khối đó và in ấn. Menu Hệ Thống: Các điều khiển hệ thống.  Menu Help: Sự trợ giúp sử dụng.