chương 1: Bài 1: Thiết lập mô hình quan niệm dùng quản lý việc cho mượn sách tại một thư viện (Xem tại chỗ hoặc mang về nhà) với các quy tắc quản lý như sau: - Sách gồm mã sách, tên, nguyên tác (tiếng Việt hoặc nước ngoài), tác giả. Sách được phân chia theo thể loại gồm MaTL và tên thể loại. - Đọc giả muốn mượn sách phải lập thẻ Đọc giả. Thẻ ghi nhận các thông tin gồm: MaDG, Ten DG, địa chỉ, ngày cấp, thông tin các sách đã mượn, ngày mượn, ngày trả.
Hàng năm, Đọc giả phải đóng lệ phí để gia han thẻ mới được mượn sách, trên sổ có ghi thêm thông tin: Năm, Ngày nộp, Số tiền. Bài giai mau : Bước † : Xây dựng mô hình thực thể kết hợp (ERD) : — (11) THUỘ [| sách e MSSH đen C (1,n) Thể Loại s MSTL le Tên TL e TênSH e Nguyên Tác Mượn Thé DG (1,n) son, VO) se Tác Giả Nam NgMượn_Ì (o,n|ls MSDG 0) EPH le Nam aan” J » TenDG + DiaChi NgàyNộp Số Tiền e Ngày GV.Cao Tùng Anh Giao trình cơ sở dự liệu Trang 14 Dước 2 : Xây dựng mô hình phân cấp (hoặc mô hình mạng): Thể Loại tin Sach | | Thé BG N Bước 3 Xây dựng mô hình quan hệ: 1 nl| Thể Loại Sách » MSTL » MSSH e TênTL e TênSH s Nguyên Tác || Í n ThẻÐ@ |1 "| Lạ Phí © Tac Gia se MSDG MSDG s MSTL 11. TenDG Nam e DiaChi NgàyNộp e Ngày Bố Tiền Bài2 : Hãy lập mô hình thực thể kết hợp và mô hình quan hệ cho bài toán quản lý siêu thị với các quy tắc như sau: a) Siêu thị chia thành nhiều khu vực, mỗi khu vực được đánh 1 mã số và có 1 tên, chuyên bán 1 loại mặt hàng nào đó,có 1 người quản lý và nhiều nhân viên làm việc trong khu vực đó. b) Mỗi mặt hàng trong siêu thị có thể cung cấp bởi nhiều nhà cung ứng.
Mỗi nhà cung ứng cần lưu tên công ty, địa chỉ, số phone, số fax và các mặt hàng mà nhà cung ứng đó cung cấp. c) Mỗi khách hàng mua hàng thì chọn lựa hàng và sau đó đến quầy tính tiền. Ở quầy tính tiền sẽ in ra 1 bill gồm số hóa đơn, ngày lập hóa đơn, tên khách mua, và danh sách các mặt hàng mua kèm theo đơn giá bán. d) Đối với khách hàng mua sỉ thì phải lưu trữ lại họ tên khách, địa chỉ, số phone, số fax.
e) Các nhân viên làm việc được lưu trữ các thành phần: Msnv, họ tên, ngày sinh, địa chỉ, ngày vào làm việc, và khu vực mà nhân viên đó trực thuộc.Cao Tùng Anh Giao trình cơ sở dự liệu Trang 15 Chương 2 MÔ HÌNH DỮ LIỆU QUAN HỆ Giới thiệu : Mô hình dữ liệu quan hệ (được gọi tắt là Mô Hình Quan Hệ (MHQH) do E. Codd đề xuất vào năm 1970. Ưu điểm của MHQH nhờ vào các đặc tính : «Tính Đơn giản: nhờ vào việc biểu diễn dữ liệu dưới dạng bảng, rất tự nhiên đối với người sử dụng không phải là cán bộ tin học, thuận lợi trong việc mô tả và thiết kế lược đồ quan niệm dữ liệu. e Tinh chặt chẽ của khái niệm: cho phép dùng các công cụ toán học và công cụ thuật toán biễu diễn các-thao tác truy xuất dữ liệu và các ràng buộc dữ liệu.
Các Khái Niệm Cơ Bản: †- Thuộc tính (Attribute): Là các đặc tính riêng biệt của mỗi đối tượng được quản lý. Thuộc tính được xác đỉnh bởi: a) Tên gọi: Thuờng được đặt một cách gợi nhớ, không nên đặt trùng tên 2 thuộc tính của 2 loại đối tượng khác nhau. Ví dụ: Loại đối tượng SinhVien, và GiangVien đều có thuộc tính tên thì đặt là : TenSV, TenGV. Qui ước: Trong lý thuyết, Dùng các chữ in hoa đầu tiên đại diện cho tên các thuộc tính.
b) Kiểu dữ liệu: Vô hướng:Số, văn bản, Boolean; Có cấu trúc: Date/Time. c) Mién gia tri (Domain): Ky hiệu Dom(A) Ví dụ: Điểm có miền giá trị 0.10 , Dom(Ngày_ Sinh) c [1,31]x[1,12]x[1900,2023J Qui ước: Miền giá trị còn chứa thêm gia tri R6ng (NULL) đặt trưng cho 1 trong 2 ngữ nghiã : Chưa xác định tại thời điểm đang xét hay Không thể xác định. Vi du: TinhTrangGiaDinh: chia gia tri rỗng khi chưa xác định Ví dụ: Quan hệ Nhân viên, Quân Lý Bởi: Mỗi nhân viên sẽ báo cáo kết quả thực hiện cho 1 người tổ trưởng. 2- Lược đồ quan hé:(Relation Schema) GV.Cao Tùng Anh Giao trình cơ sở dự liệu Trang 16 Một lược đồ quan hệ là một sự biểu diễn các đối tượng có chung các thuộc tính.
Ví dụ: Loại đối tượng tồn tại khách quan: Sinh viên, giảng viên, đơn đặt hàng. Loại đối tượng trưù tượng: Thời khóa biểu, công nợ khách hàng. Một LĐQH gồm có: a) Một tên gọi. Qui ước: Trong Lý thuyết, Dùng ký tự in hoa như: Q, H.
b) Một tập hợp hữu hạn các thuộc tính A1 ,; A2,.,An} se _ Số thuộc tính của 1 LĐQH là gọi là số ngôi của LDQH, ký hiệu: Card(Q'). e LDQH Q với tập thuộc tính A1,., An được ký hiệu: Q(A1,.,An) c) Một Tân từ, Ký hiệu:IIQII, dùng mô tả ý nghiã của LĐQH, các quy tắc, qui định giá trị và sự liên hệ của các thuộc tính. Ví dụ: LĐQH KetQuaHT(MSSV, MSMon, HocKy, DiemL1,DiemL2) Tân từ: Mỗi môn học (MSMon) trong mét hoc ky (HocKy) sinh viên được thi tối đa 2 lần. Ví dụ:LĐQH KhachHang(MSKH, TenKH,DiaChi, SoDT) Tân từ: Mỗi khách hàng có một mã số (MSKH) để phân biệt với các khách hàng khác, phải có tên (TENKH), dia chi (DiaChi), xác định và có thể có hay không có điện thoại (SoDT).
3- Bộ (Tuple / Record /Row) Một bộ của một LĐQH Q là tập giá trị thuộc tính của một đối tượng thỏa mãn tân từ IIQII.xDom(An) và IIQ(q)lI=TRUE Ví dụ: q=(DHKHTN, Đại học Khoa Học Tự nhiên, 8124321) 4- Quan hệ (Relation) Một quan hệ của một lược đồ quan hệ Q, ký hiệu To, là một tình trạng, một thể hiện của lược đồ quan hệ Q ở một thời điểm nào đó. Khi đó quan hệ Tạ chứa các bộ q có giá trị cụ thể thỏa mãn tân từ của lược đồ quan hệ Q: Ta = { q= (a1,a2,., an) / ai Dom(A¡), IIQ(q)ll = TRUE } GV.Cao Tùng Anh Gíao trình cơ sở dự liệu Trang 17 5- Lược đồ cơ sở dữ liệu: Một lược đồ cơ sở dữ liệu Cla 1 tập hợp các lược đồ quan hệ , Ký hiệu: C={Qi]h-: 6- Tình trạng của LÐ CSDL: Là tập hợp các quan hệ TGi của các lược đồ quan he Qi trong lược đồ cơ sở dữ liệu € ={ Qi }ey Ky hiéu: TC= { TQi}‘4 7- Siêu khóa và khóa của một quan hệ: Cho một lược đồ quan hệ Q(A1, A2,.,An) a) Siêu khóa (Super Key): Tập thuéc tinh S, S Q*, gọi là Siêu khóa (Super Key) của lược đồ quan hệ Q nếu S có thể dùng làm cơ sở để phân biệt 2 bộ khác nhau tùy ý.S thì q1 = q2 Qui định: s _ Một lược đồ quan hệ Q luôn luôn có ít nhất 1 siêu khóa và có thể có nhiều siêu khóa. e Thuộc tính tham gia vào siêu khóa không được chứa giá trị rỗng Vi du: KhachHang(MSKH, TenKH, DIACHI, SoDT) có các siêu khóa: S1={MSKH), S2={MSKH, TenKH), S3 = (MSKH,DiaChi); S4 = {MSKH, TenkH, DiaChi} b) Khóa chỉ định (Candidate Key) hay khéa néi: Là một siêu khóa tối tiểu không chứa bất kỳ một siêu khóa nào. Vi du: S1={MSKH} Nếu có nhiều khóa chỉ định, khi cài đặt nên chọn một khóa chỉ định làm khóa chính (Primary key) cho việc truy xuất đến các bộ.
Các khóa chỉ định còn lại được xem là các khóa phụ (Secondary key) hay khóa tương đương. c) Thuộc tính khóa: Các thuộc tính tham gia vào khóa gọi là thuộc tính khóa d) thuộc tính không khóa: Các thuộc tính không tham gia vào khóa gọi là các thuộc tính không khóa.Cao Tùng Anh Gíao trình cơ sở dự liệu Trang 18 lI- Ngôn Ngữ Đại số Quan hệ: Để truy xuất, khai thác lược đồ CSDL. Codd định nghiã các toán tử chính để thao tác trên các quan hệ: -_ 5 toán tử tương ứng với 5 toán tử truyền thống trên tập hợp: Hội, Giao, Hiệu, Tích, Bù. - 4 toán tử đặt thù cho các thao tác trên các quan hệ: Chiếu, chọn, kết, chia.
A- Các Phép Toán Tập Hợp: 1- Phép Hội: (Union) a- Định nghiã: Giả sử Q1 và Q2 là 2 lược đồ quan hệ có cùng tập thuộc tính {A1,A2,.,An} Hội 2 lược đồ quan hệ Q1, Q2 hình thành 1 lược đồ quan hệ mới có cùng tập thuộc tính {A1,A2,.,An} và chứa tất cả các bộ của 2 quan hệ Q1 và Q2.,An} - TQ3=TQ1UTQ2={q/ qe TQ1 Hodc qe TQ2} Ví dụ: Hội 2 Quan hệ Sinh Viên. Tsinhvien-1 : MaSV | TenSV Phai SV03_ | Nguyễn Hòa Nam 3V04_ | Phạm Bằng Nam SV05 Ng Thị Hoa Nu Tsinhvien-2 : MaSV | TenSV Phai SV07 Ng Văn Minh Nam SV08_ | Phạm Bằng Nam Tsinhvien-1 U Tsinhvien-2 = MaSV_| TenSV Phai SV03_ | Nguyễn Hòa Nam S3V04_ | Phạm Bằng. Nam SV05 Ng Thi Hoa Nu SV07 | Ng Văn Minh Nam SV08_ | Phạm Bằng Nam - QV.Cao Tùng Anh Giao trình cơ sở dự liệu | Trang 19 2- Phép Giao:(Intersection) Định nghiã: Giả sử Q1 và Q2 là 2 lược đồ quan hệ có cùng tập thuộc tính {A1,A2,.,An} Giao của 2 lược đồ quan hệ Q1, Q2 hình thành 1 lược đồ quan hệ Q3 có cùng tập thuộc tính {A1,A2,.,An} và chứa các bộ vừa thuộc Q1 vừa thuộc Q2. Kýhiệu: Q3=Q1nQ2 Qa†= {A1,A2,.,An} T@Q3= TQ1¬TQ2 =(q/ qe TQ1 và qe TQ2) Ví dụ: Giao 2 quan hệ sinh viên Tsinhvien-1 ; MaSV |TenSV „ Phai SV03_ | Nguyễn Hòa Nam SV04_ | Phạm Bằng Nam SV05 Ng Thi Hoa Nu Tsinhvien-2 : MaSV _ | TenSV Phai SV04_ | Phạm Bằng Nam 3V08 |Phạm Bằng |Nam Tsinhvien-1 ¬ Tsinhvien-2 = MaSV |TenSV Phai SV04_ | Phạm Bằng Nam 3- Phép Hiệu: (Minus) Định nghiã: Giả sử Q1 và Q2 là 2 lược đồ quan hệ có cùng tập thuộc tính {A1,A2,.,An} Hiệu của 2 lược đồ quan hệ Q1, Q2 hình thành 1 lược đồ quan hệ mới có cùng tập thuộc tính {A1,A2,.,An} và chứa các bộ thuộc Q1 nhưng không thuộc Q2 Ký hiệu: Q3=Q1-Q2 Q3”= {A1,A2,.,An} TQ3= TQ1- TQ2={q/qc TQ1 và q $¿ TQ2) Ví dụ: Hiệu 2 quan hệ Sinh viên.Cao Tùng Anh Giao trình cơ sở dự liệu Trang 20 Tsinhvien-1 : © MaSV | TenSV ° Phai S3V03 | Nguyễn Hòa | Nam SV04_ | Phạm Bằng Nam SV05 Ng Thi Hoa Nu Tsinhvien-2 : MaSV_ | TenSV Phai 3V04_ | Phạm Bằng | Nam SV08_ | Phạm Bằng Nam Tsinhvien-1 - Tsinhvien-2 = MaSV_ |TenSV Phai SV03_ | Nguyễn Hòa Nam SV05_ | Ng Thị Hoa Nu 4- Phép Tich Descartes: (Cartesian Product) Định nghiã: Giả sử Q1 có tập thuộc tính {A1,A2,.,An} Q2 có tập thuộc tính {B1,B2,.