Giáo trình Cơ sở dữ liệu nâng cao (Nghề Lập trình máy tính): Phần 2 - Tổng cục dạy nghề

49 14 0
Giáo trình Cơ sở dữ liệu nâng cao (Nghề Lập trình máy tính): Phần 2 - Tổng cục dạy nghề

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tiếp nối phần 1, phần 2 của giáo trình cung cấp cho người học những kiến thức về cách chuyển đổi sơ đồ ER thành lược đồ cơ sở dữ liệu quan hệ. Định nghĩa khung nhìn. Giải thích các vấn đề liên quan đến sự nhìn bao gồm: độc lập dữ liệu, an toàn, cập nhật. Sử dụng QBE dạng căn bản để tìm thông tin trong một quan hệ. Sử dụng QBE tìm thông tin trong nhiều quan hệ.

5.2 Thiết kế QUERY 5.2.1 QUERY đơn (SELECT QUERY ) 5.2.2 Lập tiêu chuẩn lựa chọn query 5.2.3 Sử dụng Field tính tốn query 5.2.4 Dùng dịng total để nhóm dịng 5.3 QUERY tổng hợp 5.3.1 Query có thơng số (PARAMETER QUERY) 5.3.2 CROSSTAB QUERY 5.3.3 SUB QUERY 5.3.4 MAKE TABLE QUERY 5.3.5 UPDATE QUERY 5.3.6 DELETE QUERY 5.3.7 UNION QUERY 5.1 Giới thiệu QUERY 5.1.1 Chức - Query Là công cụ dùng để xử lý liệu Access, đáp ứng nhu cầu tra cứu liệu từ nhiều bảng CƠ SỞ DỮ LIỆU Từ cách thức đặt câu hỏi mối quan hệ thiết lập Access rút thông tin cần thiết theo yêu cầu - Bảng kết Query gọi Dynaset Một Dynaset bảng liệu thực số trường hợp tác động thay đổi liệu ngược lại lên Table 5.1.2 Dạng thức Có nhiều kiểu Query Access Tùy trường hợp cụ thể mà ta chọn loại Query phù hợp 1) Select query (Query truy vấn liệu): loại Query sử dụng phổ biến, dùng nhằm để chọn lựa mẫu tin thoả mãn điều kiện đó, ngồi cịn cho phép tạo thêm field tính tốn kết nhóm số liệu 2) Update Query (Query cập nhật số liệu): dùng để thay đổi liệu đồng loạt hay nhiều dòng hay nhiều bảng Ví dụ muốn sửa điểm anh văn cho sinh viên có tham dự kỳ thi học kỳ thuộc lớp tin học 3) Delete Query (Query xoá liệu ): xoá hay nhiều mẩu tin từ nhiều bảng Ví dụ: ta dùng delete Query để xố danh sách sinh viên nghỉ học lớp hay toàn trường 4) Find Duplicate Query : Query tìm mẩu tin trùng liệu với bảng Ví dụ: tìm tất sinh viên có họ tên trùng sử dụng Find Duplicate Query 5) Find Unmatched Quer (Query tìm mẫu tin khơng khớp với nhau): tìm bảng mẫu tin mà mà giá trị field mà giá trị không trùng khớp giá trị với mẫu tin khác bảng thứ hai Giả sử lý mà ta nhập điểm môn học sinh viên, ta nhập không mã sinh viên sinh viên Do đó, in bảng điểm khơng tìm mã sinh viên tương ứng Table sinh viên nên cột họ 78 tên bị trống Để biết liệu gõ sai thuộc sinh viên nào, ta sử dụng Find Unmatched Query 6) Crosstab Query (Query Tham chiếu chéo): dùng để kết nhóm liệu theo tiêu Nó giúp ta tổng hợp số liệu từ đến nhiều tiêu theo hàng, hàng lại tổng hợp (chỉ một) tiêu khác theo cột, vùng giao cột hàng thể trị số tổng hợp (Chỉ một) tiêu thứ Ví dụ: yêu cầu cho biết số lượng vật tư nhập xuất ngày cụ thể bao nhiêu, bên cạnh số tổng vật tư cịn phải cho biết vật tư Kết Crosstab Query trả sau: Ngay TotalOFSOL M G 01/05/97 H1 32 MH MH MH 20 02/05/97 60 03/05/97 20 07/05/97 08/05/97 27 09/05/97 10 60 10 10 20 10 7) Append Query (Query nối số liệu): nối thêm số liệu từ nhiều bảng 8) Make Table Query (Query tạo bảng): dùng để lập bảng dự phịng, trích rút liệu từ Table để lưu trữ trước xoá mẫu tin khỏi Table hành 9) Union Query (Query hợp số liệu): gom, nối đuôi số liệu từ hai hay nhiều bảng thành danh sách để xem chung 10) Data Define Query (Query định nghĩa kiện): sử dụng lệnh ngôn ngữ SQL để tạo sửa đổi cấu trúc bảng 5.1.3 CÁC TỐN TỬ 1) Tốn tử số học Ý nghĩa To Ví dụ Kết án tử ^ Lũy Thừa 5^3 125 * Nhân 5*3 15 / Chia 7/2 3.5 \ Chia lấy phần nguyên 7\2 Mod Chia lấy phần dư 7Mod2 + Cộng 7+2 - Trừ 7-2 79 2) Toán tử ghép Ý nghĩa To Ví dụ Kết án tử & Ghép chuổi “Tin”&”Học” Tin Học số với 100 & “năm cô đơn” 100 nămcô đơn “hôm nay” &Date() hơm nay:21/11/2004 “phim” &202/2 &”chó đốm + phim 101 chó đốm Cộng ghép 1234 +5678 6912cuốn theo chiều chuổi “cuốn theo” + “ Chiều gió” gió 1001 + “tình huống” Type miss match 3) Tốn tử so sánh Ý nghĩa Tố Ví dụ Kết n tử < Nhỏ 2= Lớn 3>=3 True = Bằng 5=2 False Khác 52 True 4) Toán tử so sánh đặc biệt Toán tử Ý nghĩa Is Chính In Thuộc Giải thích Opject Object về, rơivào [Software] In (“Windows”,”Word”,”Excel”) Weekday([Ngay]) In (2,4,6) Toán tử In dùng ngôn ngữ SQL Between … And Like Thuộc khoảng Hao hao giống [Diem] Between and 10 [Ngay] between #01/10/1998# And #21/10/1998# Biểu thức sử dụng toán tử Like thường sử dụng Kí tự đại diện: * : Thay cho chuỗi ký tự ? : Thay cho ký tự #: Thay cho ký số ví dụ: “Hoang Thi Hue” Like “*Hue ” -> True 1997 like :”##9#” 80 -> True 5) Toán tử logic Ý nghĩa To Giải thích án tử Not Phủ định And Và Tất điều kiện kết quảnhận GT Or Hoặc Chỉ cần điều kiện kết nhận GTđúng Xor Loại trừ A Xor B: A, B khác A B sai II A sai B A B sai A sai B sai sai Eqv Tương hợp A Eqv B : A, B cho kết giống A B sai Sai A sai B sai A B A sai B sai Lưu ý: Muốn truy cập đến đối tượng ta dùng tốn tử: ! Ví dụ: [Form]![Nhap DSNV]![MANV]: truy cập đến Object MANV Form Nhap DSNV Muốn truy xuất tới thuộc tính Object ta dùng dấu chấm ‘.’ Ví dụ: [MANV].Visible : thuộc tính Visible đối tượng MANV Các dấu rào : ”…” : Rào cho giá trị chuỗi […] : Rào tên biến (tên Control) #….# : Rào giá trị ngày Ví dụ : Ngaysinh = #11/02/71# BÀI TẬP THỰC HÀNH Dựa sở liệu bán hàng Thiết kế query có tên QBT1 liệt kê danh sách đơn đặt hàng lập tháng năm 1992 Thiết kế query có tên QBT2 liệt kê danh sách đơn đặt hàng lập cho khách hàng có mã AGROMAS Thiết kế query có tên QBT3 thể danh sách đơn đặt hàng nhân viên có mã số lập Thiết kế query có tên QBT4 liệt kê danh sách khách hàng cần thơ Thiết kế query có tên QBT5 liệt kê danh sách đơn đặt hàng tất khách hàng cần thơ Thiết kế query có tên QBT6 liệt kê danh sách đơn đặt hàng đặt mua mặt hàng rượu 81 Thiết kế query có tên QBT7 liệt kê danh sách đơn đặt hàng có ngày lập đơn đặt hàng ngày nhận hàng cách không 60 ngày Thiết kế query có tên QBT8 liệt kê danh sách đơn đặt hàng đặt mua mặt hàng rượu bơ Thiết kế query có tên QBT9 liệt kê danh sách khách hàng có ký tự cuối mã KH :”CO” thành phố Nha Trang 5.2 Thiết kế QUERY 5.2.1 QUERY đơn (SELECT QUERY )  Dòng Field: chứa tên cột bảng biểu thức tính tốn  Dịng Table : chứa tên bảng Đễ trống cột chứa biểu thức tính tốn  Dòng Show : định field hiển thị bảng kết  Dòng Short :Chỉ định thứ tự xếp Record kết theo nguyên tắc thứ tự xếp field từ trái sang phải  Dòng Criteria: định tiêu chuẩn lựa chọn Query  Dòng Or :dùng kết hợp phép tuyển Logic lựa chọn  Dòng Sub Total: Dùng để nhóm dịng kết Query - Sefl Join : kiểu liên kết bảng liệu với (Trong Query ta phải thêm bảng vào lần) mẫu tin bảng liệu liên kết với mẫu tin bảng Khi ấy, tất mẫu tin bảng mà giá trị vùng liên kết đưa vào kết Query - Chú ý: ta chọn Table tham gia vào Query mà không khai báo mối quan hệ chúng, chọn field từ bảng đưa vào vùng lưới Access sẽ liên kết liệu cách khơng có ý nghĩa ta nhận kết sai Cụ thể Access lấy tích Decard bảng làm kết cho Query 5.2.2 Lập tiêu chuẩn lựa chọn query 1) Dùng kiểu Text làm tiêu chuẩn chọn lựa Field Expresstion Decription ShipCity “London” Trình bày đơn hàng đến London ShipCity “London” Or “Hedge End” Trình bày đơn hàng đến London Hedge End ShippedDate Between #1/5/95# and #1/10/65# Trình bày đơn hàng vận chuyển ngày từ 1/5 đến 1/10 năm 95 ShipCountry In(“Canada”,”UK”) Trình bày đơn hàng đến Canada UK ShipCountry Not “USA” Các đơn hàng đến nước khác Mỹ ShipName Like “S*” CompanyName OrderID CompanyName Các đơn hàng chuyển đến khách hàng có tên bắt đầu S >=”N” Các đơn hàng đến công ty có tên N -> Z Right([OrderID,2])=”99” Các đơn hàng có mã kết thúc 99 Len([CompanyName])>Val(3 Các đơn hàng đến cơng ty có tên dài 30 kí tự 0) 82 2) Dùng biểu thức tính toán kiểu ngày làm tiêu chuẩn lựa chọn : Field Expresstion Decription RequiredDate Between Date() And Trình bày đơn hàng yêu cầu DateAdd(“m”,3,Date()) khoảng ngày hôm đến tháng sau Davg(“[Freight]”, “Orders”) Tìm đơn hàng có phí chun chở lớn giá trị trung bình chúng Quatity >Daverage(“[Quatity]”, “OrderDetail”) Tìm đơn hàng có số lượng lớn giá trị trung bình chúng 83 6) Dùng SubQuery làm tiêu chuẩn lựa chọn Field UnitPrice UnitPrice Salary OrderTotal : [UnitPrice] *[Quatity] Expresstion (SELECT [UnitPrice] FROM [Product]WHERE [ProductName]=”Aniseed Syrup”) >(SELECT [UnitPrice] FROM [Product] > ALL(SELECT [Salary] FROM [Employees]WHERE [Tilte] like”*Manager*” OR ([Tilte] LIKE “*Vice President*”)) > ALL (SELECT AVG([UnitPrice]*[Quatity]) FROM [OrderDetail] Decription Tìm sản phẩm có đơn giá = đơn giá sản phẩm tên Aniseed Syrup Tìm sản phẩm có đơn giá lớn đơn giá trung bình Tìm nhân viên có lương lớn tất nhân viên có chức vụ Manage Vice President Tìm cácđơn hàng có giá trị lớn giá trị trung bình 7) Dùng nhiều tiêu chuẩn lựa chọn Query - Một Field dùng Or: Lập danh sách khách hàng vùng SP RJ - Một Field dùng And: lập danh sách khách hàng có tên bắt đầu “The” có từ “Box” 84 - Hai Field dùng Or - Hai Field dùng Or - Ba Field dùng And Or: 5.2.3 Sử dụng Field tính tốn query: Nhập biểu thức tính tốn vào vào ô Field query 1) Sử dụng biểu thức Text làm Field tính tốn 85 Biểu thức Mơ tả Fullname:[Firstname] &”” & [Lastname] Thêm cột Fullname kết hợp cột FirstName Last Name cách khoảng trống Address2: [City]&””&[Region] : ProductInitial: Left([ProductName],1) Tạo cột tên: ProductInitial lấy ký tự từ cột Productname TypeCode: Right([AssetCode], 2) : AreaCode:Mid([Fone],2,3) : 2) Dùng biểu thức số học làm Field tính tốn Biểu thức Mơ tả PrimeFreight: [Freight]*0.1 Tăng 10% phímchuyên chở Field PrimeFreight LeadTime:[RequireDate] – Tính số ngày đáp ứng đơn hàng cho khách hàng [ShippedDate] TotalStock: Tính tổng giá trị Field [UnitsInStock]+[UnitsOnOrder] UnitsOnOrder TotalStock UnitsInStock 5.2.4 Dùng dòng total để nhóm dịng Trong lưới thiết kế query dịng total không hiển thị, muốn hiển thị ta chọn View -> Total Trong Total có phép thống kê sau: - Avg: tính giá trị trung bình - Count: Đếm số mẫu tin - First : Giá trị vùng thuộc mẫu tin bảng liệu - Last : Giá trị vùng thuộc mẫu tin cuối bảng liệu - Max : tính giá trị lớn giá trị thuộc vùng liệu kiểu số - Min : tính giá trị nhỏ giá trị thuộc vùng liệu kiểu số - StdDev: tính độ lệch chuẩn giá trị thuộc vùng liệu kiểu số Ngồi , cần chọn Group By, Where, Expression Cách sử dụng : a) Thống kê tất mẫu tin: trường hợp không sử dụng Group By vùng lưới thiết kế b) Thống kê nhóm mẫu tin Nhóm cấp, ví dụ: Tính tổng số lượng giá trị sản phẩm Field ProductID Quatity SUMOFPRICE:[UnitPrice]*[Quatit y] Table OrderDatails OrderDetails Total Group By sum Sum 86 Nhóm nhiều cấp :Tính tổng số lượng sản p[hẩm mà khách hàng mua chủng loại sản phẩm Field CatergoryID Table Products Total Group By ProductID OrderDatails Quatity SUMOFPRICE:[UnitPrice]*[Quatity] OrderDetails Group By sum Sum Lưu ý :thứ tự thực phép nhóm từ trái sang phải c) Tiêu chuẩn lựa chọn Group By Tương tự select query ta lập điều kiện chọn lựa vùng liệu để lựa chọn lọc mẫu tin thoả điều kiện u cầu Criteria Ví dụ : cho biết khách hàng đặt mua sản phẩm có chủng loại OR d Lập tiêu chuẩn giới hạn mẫu tin trước tính tổng - Tính tổng trước, giới hạn mẫu tin sau Trình bày mẫu tin mà số lượng > 950 giá trị sản phẩm thuộc chủng loại khác mà khách hàng đặt mua - Giới hạn mẫu tin sau, Tính tổng sau: sử dụng mục chọn Where 87 Bước 6: Tính F2+=Q2(F) BC CB BBC CBC Bước 7: G=Q1(F)Q2(F)={AB,AAB,BA,BAB,BC,BBC,CB,CBC} F={AB,BC,CA} có AB, BC thành viên G cịn CA có thành viên G hay khơng ta tính CG+ CG+=ABC  CA thành viên G Vậy phép phân rã bảo toàn phụ thuộc hàm 6.2.2.3 Ý nghĩa phân rã có bảo tồn phụ thuộc hàm Ví dụ 13: Cho lược đồ quan hệ Q(C,S,Z) F={CSZ,ZC} Phép tách =(Q1,Q2) tách Q thành hai lược đồ Q1(S,Z) Q2(C,Z) Hỏi phép tách có bảo tồn phụ thuộc hàm khơng? Giải: Q1 có tập thuộc tính con: S Z  S Z SZ Bao đóng tập thuộc tính Q1+ += S+=S Z+ =ZC SZ+ =CSZ F1+ gồm phụ thuộc hàm hiển nhiên tất phụ thuộc hàm sau khơng thỏa: ZC SZC ZZC SZCS SZCZ SZCSZ Q2 có tập thuộc tính con: C Z  C Z CZ Bao đóng tập thuộc tính Q2+ += C+=C Z+ =ZC CZ+ =CZ F2+ gồm phụ thuộc: ZC ZZC Q1(F)Q2(F)={ZC,ZZC}{ZC} không tương đương với F = {CSZ,ZC} Vậy phép phân rã khơng bảo tồn phụ thuộc hàm, điều có nghĩa ta đưa liệu vào Q1 Q2 cho không vi phạm phụ thuộc hàm hình chiếu nó, kết nối chúng lại liệu kết lược đồ quan hệ Q lại vi phạm phụ thuộc hàm CSZ 112 Q1(F)={PTHHN} Q2(F)={ZC, ZZC} F={CSZ,ZC} Q1 Q2 Q (S Z) (C Z) s1 s1 (C S Z) z1 c1 z1 c1 s1 z1 z2 c1 z2 c1 s1 z2 6.2.2.4 Thuật tốn kiểm tra bảo tồn phụ thuộc hàm Thuật tốn tìm bao đóng tập thuộc tính X G =  Qi(F) Vào:  =(Q1,Q2,…,Qk),F,X Ra: XG+ Bước 1: Với phụ thuộc hàm XYF ta thực từ bước đến bước Bước 2: đặt Z’ = X Bước 3: Z’ = Z’((Z’ Qi )+  Qi ) Bước 4: Qi, Z’thay đổi thực lại bước cho Qđầu tiên Ngược lại kết thúc thuật toán trả Z’(là bao đóng XG+) Thuật tốn kiểm tra bảo tồn phụ thuộc hàm Vào:  =(Q1,Q2,…,Qk),F Ra: kết luận phép tách  bảo tồn hay khơng bảo tồn phụ thuộc hàm Bước 1: Với phụ thuộc hàm XYF ta thực từ bước đến bước 3: Bước 2: Tìm bao đóng XG+ với G =  Qi(F) Bước 3: Nếu Y  XG+ XY Qi(F)+ Bước 4: Nếu tất phụ thuộc XYF thuộc Qi(F)+ ta kết luận phân rã  bảo toàn phụ thuộc hàm ngược lại  khơng bảo tồn phụ hàm Ví dụ 14: thực lại ví dụ 13, nghĩa kiểm tra phép tách có bảo tồn phụ thuộc hàm không? Vào: Q(C,S,Z),F={CSZ,ZC},Q1(S,Z) Q2(C,Z) Đương nhiên ZCG = Q1(F)Q2(F) ZC  (Q1(F)Q2(F))+ Z’=CS gán Z’= Z’((Z’ Q1 )+  Q1 ): Z’ = CS(SSZ)=CS Bước có Z’ khơng thay đổi, ta sang lược đồ Q2 tính tiếp Z’ gán Z’= Z’((Z’ Q2 )+  Q2 ): Z’ = CS(CCZ)=CS Z’không thay đổi hết lược đồ quan hệ  ngưng khơng tính tiếp Z’ Vậy CSG =CS CSZ  (Q1(F)  Q2(F))+ phép phân rã khơng bảo tồn phụ thuộc hàm Ví dụ 15: thực lại ví dụ 12 với nội dung kết luận phép tách  có bảo tồn phụ thuộc hàm khơng (khơng tính F+) Vào: Q(A,B,C),F={AB,BC,CA},Q1(A,B) Q2(B,C) Hiển nhiên G = Q1(F)  Q2(F)  {AB,BC} 113 Ta xác định CA có thuộc (Q1(F)  Q2(F))+ Z’=C gán Z’= Z’((Z’ Q1 )+  Q1 ): Z’ = C(AB)=C Bước có Z’ khơng thay đổi, ta sang lược đồ Q2 tính tiếp Z’ gán Z’= Z’((Z’ Q2 )+  Q2 ): Z’ = C(ABCBC)=BC Z’thay đổi  tính tiếp Z’bắt đầu từ lược đồ Q1 gán Z’= Z’((Z’ Q1 )+  Q1 ): Z’ = BC(ABCAB)=ABC Z’=Q+  Z’ không thay đổi C G =ABC  CA(Q1(F)  Q2(F))+ phép phân rã bảo toàn phụ thuộc hàm 6.3 THIẾT KẾ CSDL BẰNG CÁCH PHÂN RÃ 6.3.1 Phân rã thành dạng chuẩn BC (hay chuẩn 3) bảo tồn thơng tin 6.3.1.1 Cách thơng thường Thuật toán phân rã Q,F thành dạng chuẩn BC (hay chuẩn 3) bảo tồn thơng tin Bước 1:Tìm tất khóa Q Bước 2:Tìm phụ thuộc hàm X  Y  F có X khơng siêu khóa Y khơng chứa thuộc tính khóa Nếu tìm thấy tách Q thành Q1 Q2 theo quy tắc sau: Q1=Q[XY]; F1Q1(F)tìm bao đóng tất tập XY để suy Q1(F)F1 Q2=Q[Q+ -Y] F2Q2(F)tìm bao đóng tất tập Q+-Y để suy Q2(F)F2 thực thuật toán phân rã (Q1,F1) thực thuật tốn phân rã (Q2,F2) Ngược lại khơng tìm thấy có hai trường hợp: Trường hợp 1: phụ thuộc hàm Fi cóvế trái siêu khóa Qi đạt chuẩn BC Trường hợp 2: có phụ thuộc hàm có vế trái khơng siêu khóa vế phải thuộc tính khóa Qi đạt chuẩn Ví dụ 16: cho Q(S,D,I,M) F={SID;SDM} phân rã Q thành lược đồ đạt chuẩn BC bảo tồn thơng tin Giải: Bước 1: tìm tất khóa Q Xi TNXi (TNXi)+ Siêu khóa Khóa  SI SDIM SI D SID SDIM SID SI Bước 2: phụ thuộc hàm SD  M  F có SD khơng siêu khóa 114 F={SI->D;SD->M} Q(S,D,I,M) K = SI F1={SD->M} Q1(SDM) K1 = SD F2={SI->D} Q2(SDI) K2 = SI Chú ý: để tính F1,F2,K1,K2 hình trên, ta phải tính bao đóng tất tập của{SDM} {SDI} F1,F2 tìm tất khóa Q1 Q2 S+=S D+ =D M+ SM+ SD =SD + =M S+=S =SM D+ =D SD =SD + M DM+ SI+ =SDIM M DI+ =DI =DM SDI+ =SDIM SDM =SD + I+ =I M F1+=Q1(F)={SDM,SDSM,SDDM,SDSDM}{SDM}= F1 F2+=Q2(F)={SID,SISD,SIDI,SISDI}{SID}= F2 Q1 Q2 đạt dạng chuẩn BC Qi có phụ thuộc hàm có vế trái khóa F1 tạo thành cách lấy phụ thuộc hàm Q1(F)có vế phải thuộc tính Tương tự cho F2 Ví dụ 17: cho Q(CTHRSG), F={CT;HRC;HTR;CSG;HSR} phân rã Q thành lược đồ đạt chuẩn BC bảo tồn thơng tin (giải ví dụ trên) F={C->T;HR->C;HT->R;CS->G;HS->R} Q(CTHRSG) K = HS F1={C->T} Q1(CT) K1 = C F12={HR->C;CS->G;HS->CRG;CH->R} Q12(CHRSG) K12 = HS F2={HR->C;CH->R} Q2(CHR) K211=HR; K212=CH F22={HS->RG} Q22(HRSG) K22 = HS Tính chất: Theo thuật tốn trên, phân rã Q thành Q1(XY)với XY Q2 tập khóa SQ Q ln ln với tập khóa SQ2 Q2 Chứng minh 115 Thật vậy, K khóa Q  K siêu khóa Q2 Giả sử có K’ K K’ khóa Q2  K’(Q+-Y) mà XY  K’Q+ Điều mâu thuẫn với K khóa Q  K khóa Q2 Ngược lại Dựa vào tính chất trên, ta cải tiến thuật tốn phân rã nhằm giảm bớt khối lượng tính phụ thuộc hàm tập F+ Thuật toán phân rã Q,F thành dạng chuẩn BC (hay chuẩn 3) bảo tồn thơng tin Bước 1: Tìm tập tất khóa SK Q Bước 2: Tìm phụ thuộc hàm X  Y  F có X khơng siêu khóa Y khơng chứa thuộc tính khóa Nếu tìm thấy tách Q thành Q1 Q2 theo quy tắc sau: Tính F1 cách tính bao đóng tất tập XY Q1=Q[XY]; SK tập khóa Q2 + Q2=Q[Q -Y] thực bước cho Q1 thực bước cho Q2 Ngược lại khơng tìm thấy có hai trường hợp: Trường hợp 1: phụ thuộc hàm Fi cóvế trái siêu khóa Qi đạt chuẩn BC Trường hợp 2: có phụ thuộc hàm có vế trái khơng siêu khóa vế phải thuộc tính khóa Qi đạt chuẩn Chú ý: Thuật toán tiện trường hợp khối lượng tính tốn việc tìm tất khóa lược đồ quan hệ Q khơng lớn Nói cách khác tập trung gian TG có thuộc tính Ngược lại ta phải dùng thuật tốn phần Ví dụ 18: phân rã lược đồ ví dụ thành lược đồ dạng chuẩn BC bảo tồn thơng tin F={C->T;HR->C;HT->R;CS->G;HS->R} Q(C,T,H,R,S,G) K = HS Tính F1, K F1={C->T} Q1(C,T) K1 = C F12={HR->C;CS->G;HS->R; } Q12(C,H,R,S,G) K12 = HS Tính F3,K Tính F2,K F2={HR->C;CH->R} Q2(C,H,R) K21=HR; K22= CH F3={HS->RG} Q3(H,R,S,G) K3 = HS Trong F có phụ thuộc hàm CT,HRC,HTR,CSG làm Q không đạt dạng chuẩn hay BC phép phân rã chọn ngẫu nhiên phụ thuộc hàm CT để phân rã thành Q1 tập thuộc tính Q12 tập thuộc tính Q bỏ thuộc tính T.Tập phụ thuộc hàm F12 chứa phụ thuộc hàm F bỏ phụ thuộc hàm có vế trái hay vế phải chứa thuộc tính T Như tùy theo cách chọn phụ thuộc hàm để phân rã thành Q mà số lượng 116 phụ thuộc hàm mang xuống Q12 khác chất lượng phân rã khác Kết phép phân rã Q1, Q2, Q3 hình Phép phân rã bảo tồn thơng tin, lược đồ đạt chuẩn BC phép phân rã khơng bảo tồn phụ thuộc hàm G = F1  F2  F3 = {CT; HRC; CHR; HSRG} không tương đương với F (HTR  G+ CSG  G+) Ta xem phép phân rã sau cho kết tốt F={C->T;HR->C;HT->R;CS->G;HS->R} Q(C,T,H,R,S,G) K = HS Tính F1, K F1={CS->G} Q1(C,S,G) K1 = CS F12={C->T,HR->C;HT->R;HS->R; } Q12(C,T,H,R,S) K12 = HS bỏC hay R Q12 để Q22 giảsửbỏR Tính F2,K F2={HR->C;CH->R} Q2(C,H,R) K21=HR; K22= CH F22={C->T,HS->R, } Q22(C,T,H,S) K22 = HS Tính F3,K F3={C->T} Q3(C,T) K3 = C F4={HS->C} Q4(C,H,S) K4 = HS Phép phân rã cho kết phép phân rã bảo tồn thơng tin, lược đồ Q1,Q2,Q3,Q4 đạt chuẩn BC phép phân rã khơng bảo tồn phụ thuộc hàm G = F1  F2  F3  F4 ={CSG;HRC;CHR;CT;HSC} không tương đương với F (HTR  G+).Phép phân rã tốt có phụ thuộc hàm HTR không thuộc G+ phép phân rã có tới phụ thuộc hàm HTR CSG không thuộc G+.Sở dĩ phép phân rã thứ tốt bước chọn phụ thuộc hàm để phân rã thành Q1 phép phân rã chọn phụ thuộc hàm cho chiếu F xuống Q12 số phụ thuộc hàm mang xuống nhiều tốt Ví dụ 19: cho Q(A,B,C,D,E,G), F={AEC;CGA;BDG;GAE} phân rã Q thành lược đồ đạt chuẩn BC bảo tồn thơng tin F={AE->C;CG->A;BD->G;GA->E} Q(A,B,C,D,E,G) K1 = ABD; K2=BCD Tính F12 Tính F1, K 11 F1={BD->G} Q1(B,D,G) K11 = BD F12={ABD->E,BCD->A,AE->C} Q12(A,B,C,D,E) K1 = ABD; K2=BCD Tính F3,K Tính F2,K F2={AE->C} Q2(A,C,E) K21=AE F3={ABD->E} Q3(A,B,D,E) K3 = ABD Nếu Q phân rã thành: (Q1(BDG), Q2(A,B,C,D,E)) lược đồ sở liệu đạt chuẩn 117 (Q1(BDG), Q2(A,C,E), Q3(A,B,D,E)) lược đồ sở liệu đạt chuẩn BC 6.3.1.2 Bổ đề: Nếu Q khơng dạng chuẩn BC có thuộc tính A,B thuộc Q+ cho (Q+-AB)A Chứng minh: Q khơng dạng chuẩn BC  có XA cho X khơng siêu khóa  có thuộc tính B  XA (vì khơng có B  XA X phải siêu khóa)  (Q+-AB)  X  (Q+-AB)A Nhận xét: + Một lược đồ Q dạng chuẩn BC có AB cho (Q+-AB)A + Một lược đồ Q khơng có AB cho (Q+-AB)A Q dạng chuẩn BC 6.3.1.3 Thuật tốn Thuật tốn phân rã sau khơng cần tìm tất khóa lược đồ quan hệ Q Thuật Tốn phân rã Q, F thành dạng chuẩn BC bảo tồn thơng tin Bước 1: Z’ = Q+ Bước 2: phân rã Z’ theo thuật toán chi tiết để lược đồ Z’-A XA XA dạng chuẩn BC X  A Nếu thuật toán chi tiết cho kết qua bước Ngược lại kết thúc thuật toán Bước 3: nhận XA lược đồ lược đồ kết Q1, ,Qk Bước 4: thực phân rã Z’-A,F Thuật toán chi tiết Bước 1: Z’ không chứa AB cho (Z’-AB)A báo khơng phân rã Ngược lại qua bước Bước 2: đặt Y’ = Z’ Bước 3: Y’ chứa AB cho (Y’-AB)A gán Y’ = Y’–B thực lại bước Bước 4: bước cho kết Y’ = XA với XA dạng chuẩn BC X  A Trả XA Nhận xét Ở bước thuật toán phân rã Q,F ta thu lược đồ Q i+=Z’-A,Q1+=XA với Qi+Q1+ = (Z’-A)XA = X XQ1+ Q1 lược đồ dạng chuẩn BC Thuật toán lại tiếp tục phân rã Qi theo cách làm  thuật tốn phân rã bảo tồn thơng tin lược đồ Qi đạt dạng chuẩn BC Thuật tốn chi tiết tìm Ql đạt chuẩn BC cho Ql+ chứa nhiều thuộc tính Để tìm Ql thuật tốn chi tiết tìm hai thuộc tính ABQ+ cho (Q+AB)A Nếu tìm thấy chứng tỏ Q chưa đạt chuẩn BC thuật toán giảm B Q với hy vọng thu lược đồ Ql đạt chuẩn BC thỏa phụ thuộc hàm (Q+118 AB)A Thuật tốn chi tiết tiếp tục tìm giảm thu lược đồ khơng có hai thuộc tính AB cho (Q+-AB)A  Ql lược đồ đạt chuẩn BC cần tìm Ví dụ 19: Cho quan hệ Q(B,O,S,Q,I,D) tập phụ thuộc hàm F F = {S  D, IB IS  Q B  O} Hãy phân rã Q thành lược đồ đạt dạng chuẩn BC bảo tồn thơng tin Giải ***Đặt Z’= Q+= BOSQID Thực thuật toán chi tiết Y’= BOSQID Chọn thuộc tính Tìm bao đóng tập hợp thuộc tính cịn lại Nếu bao đóng chứa thuộc tính chọn chẳng hạn A, nghĩa ta tìm thuộc tính AB cho (Y’-AB)A Chọn BO:(SQID)+  B Giảm O Y’ ta Y’= BSQID Chọn BS:(QID)+  B Giảm S Y’ ta Y’= BQID Chọn BQ:(ID)+  B Giảm Q Y’ ta Y’= BID Chọn BD: I+  B Giảm D Y’ ta Y’= BI  Q1=(BI) F1={IB} Để tính F1 ta phải tính bao đóng tất tập {BI}F1 ***Giảm B Z’ ta Z’= OSQID Đặt Y’=OSQID Chọn OD: (SQI)+  D; Giảm O Y’ ta Y’= SQID chọn QD: (SI)+  D giảm Q Y’ ta Y’= SID chọn ID: S+  D; giảm I Y’ ta Y’= SD  Q2=(SD) F2={SD} Để tính F2 ta phải tính bao đóng tất tập {SD}  F2 *** Giảm D Z’ ta Z’= OSQI Đặt Y’=OSQI chọn OQ: (SI)+  Q giảm O Y’ ta Y’= SQI  Q3=(SQI) F3={SIQ} 119 Ở bước khơng chọn AB để bao đóng tập hợp thuộc tính cịn lại chứa A hay B Để tính F3 ta phải tính bao đóng tất tập {SQI}  F3 *** Giảm Q Z’ ta Z’= OSI Đặt Y’=OSI Chọn OS: I+=IBO  O giảm S Y’ ta Y’= OI  Q4=(OI) F4={IO} *** Giảm O Z’ ta Z’= SI  Q5=(SI)và F5={PTHHN} Ta hiểu Q3(SQI)là tổ hợp lược đồ Q5(SI) Q3(SQI) Vậy kết phân rã là: 1:Q1(BI) F1={IB} 2:Q2(SD) F2={SD} 3:Q3(SQI) F3={SIQ} 4:Q4(OI) F4={IO} 6.3.1.4 Chú ý + Nên tránh phân rã lược đồ dạng chuẩn mong muốn + Nên xem xét tổ hợp lược đồ quan hệ thành lược đồ lớn lược đồ lớn đạt dạng chuẩn mong muốn + Một kết phân rã bảo toàn phụ thuộc hàm có giá trị kết phân rã khơng bảo tồn phụ thuộc hàm Giữa hai kết phân rã khơng bảo tồn phụ thuộc hàm kết phân rã thỏa nhiều phụ thuộc hàm F có giá trị + Khơng có thuật tốn phân rã lược đồ Q thành lược đồ dạng chuẩn BC vừa bảo toàn thơng tin vừa bảo tồn phụ thuộc hàm + Vẫn có lược đồ Q phân rã thành lược đồ dạng chuẩn BC vừa bảo tồn thơng tin vưa bảo tồn phụ thuộc hàm Ví dụ 20: cho lược đồ Q(CSZ) có F={CSZ,ZC} Q khơng thể phân rã thành lược đồ dạng chuẩn BC vừa bảo tồn thơng tin vừa bảo tồn phụ thuộc hàm Thật vậy: TN={S} TG={CZ} Tất khóa Q là: Xi TNXi (TNXi)+ siêu Khó khóa a  S S Z SZ SZC SZ SZ C SC SZC SC SC Z SZC SZC SZC C 120 Vậy Q đạt dạng chuẩn khơng dạng chuẩn BC có ZC có vế trái khơng siêu khóa Nhưng ta phân rã Q thành lược đồ có thuộc tính phụ thuộc CSZ khơng suy từ phụ thuộc hình chiếu 6.3.2 Phân rã thành dạng chuẩn vừa bảo toàn thơng tin vừa bảo tồn phụ thuộc hàm Thuật Tốn phân rã Q, F thành dạng chuẩn 3, bảo toàn thơng tin, bảo tồn phụ thuộc hàm Dữ liệu vào: lược đồ quan hệ Q tập phụ thuộc hàm F Dữ liệu ra: phân rã cho lược đồ quan hệ đạt chuẩn vừa bảo tồn thơng tin vừa bảo tồn phụ thuộc hàm Tìm phủ tối thiểu Ftt F Nếu có phụ thuộc hàm Ftt mà liên quan đến tất thuộc tính Q kết phân rã Q ( Q khơng thể phân rã) Nếu có thuộc tính Q khơng nằm phụ thuộc Ftt dù vế phải hay vế trái F chúng tạo thành lược đồ cần tìm Cứ phụ thuộc hàm X  A  Ftt XA lược đồ cần tìm Nếu có lược đồ chứa khóa K Q kết thúc thuật tốn Ngược lại tạo lược đồ K Ví dụ 21: cho lược đồ Q(CTHRSG),F={CT,HRC,THR,CSG,HSR}.Hãy phân rã Q thành lược đồ đạt dạng chuẩn vừa bảo tồn thơng tin vừa bảo toàn phụ thuộc hàm Gỉai: + F=Ftt={CT,HRC,THR,CSG,HSR} phủ tối thiểu + Áp dụng thuật toán Q phân rã thành lược đồ Q1(CT),Q2(HRC),Q3(THR),Q4(CSG),Q5(HSR) + Khóa Q Xi TNXi (TNXi)+ siêu Khóa khóa +  HS CTHRSG HS C HSC CTHRSG HSC T HST CTHRSG HST CT HSCT CTHRSG HSCT R HSR CTHRSG HSR CR HSCR CTHRSG HSCR TR HSTR CTHRSG HSTR CTR HSCTR CTHRSG HSCTR HS Q5 chứa khóa Q nên Q1,Q2,Q3,Q4,Q5 kết phân rã 121 Định lý: Thuật toán tạo phân rã dạng chuẩn vừa bảo tồn thơng tin vừa bảo tồn phụ thuộc hàm Chứng minh: Nếu Ftt có phụ thuộc hàm fi liên quan đến tất thuộc tính Q đạt chuẩn Thật vậy: fiFtt  fi phụ thuộc hàm có vế phải thuộc tính  fi có dạng KA  K siêu khóa Nếu khóa Q K’ K ta có K’A  KA phụ thuộc hàm có vế trái dư thừa điều mâu thuẫn với fiFtt Vậy K khóa Q  Q có thuộc tính khơng khóa A thuộc tính khơng khóa Q phụ thuộc hàm có vế phải A phải có vế trái K  lược đồ quan hệ Q khơng có phụ thuộc hàm có vế trái khơng siêu khóa vế phải khơng thuộc tính khóa  Q đạt chuẩn Nếu lược đồ Q’(W) gồm thuộc tính khơng xuất Ftt Q đạt chuẩn Thật vậy: V tập W ta có V+=V  F’ Q’ gồm phụ thuộc hàm hiển nhiên  F’ khơng có phụ thuộc hàm có vế trái khơng siêu khóa vế phải thuộc tính khơng khóa Q’ đạt chuẩn 3 Ta chứng minh lược đồ dạng chuẩn Thật vậy: Theo thuật tốn lược đồ Qi có dạng YB với YB  Y siêu khóa Giả sử Qi có phụ thuộc hàm XA có vế trái khơng siêu khóa vế phải khơng thuộc tính khóa Ta phân làm hai trường hợp: Trường hợp 1: A=B  XB  X  Y  YB phụ thuộc có vế trái dư thừa, điều trái với YB phụ thuộc hàm phủ tối thiểu Trường hợp 2: AB  AY (1) Gọi K khóa Qi  K  Y (2) A thuộc tính khơng khóa nên A  K (3).(1)(2)(3) K  Y (4).K khóa nên KB  YB phụ thuộc hàm có vế trái dư thừa Điều trái với điều phụ thuộc hàm YB phụ thuộc hàm phủ tối thiểu Ftt Ta chứng minh phép phân rã bảo toàn phụ thuộc hàm Thật vậy: Hiển nhiên Ftt  G = Qi(Ftt) Ftt+  G+ (1) Hơn Ftt+  G = Qi(Ftt) Ftt++  G+  Ftt+  G+ (2) (1)và (2)  Ftt+ = G+ Ta chứng minh phép phân rã bảo tồn thơng tin Thật vậy: Lập bảng kiểm tra bảo tồn thơng tin Ta đồng giá trị bảng theo phụ thuộc hàm phát bước thuật tốn tìm bao đóng tập thuộc tính Qi+ với Qi+ chứa khóa K lược đồ Q Phụ thuộc hàm phát YAjFtt cho Qi+Y AjQi+.Ở dòng lược đồ Ql(YAj) có giá trị aj cột Aj nên làm giá trị kết cột Aj dịng có lược Qi có thêm giá trị aj Tiếp tục cho phụ thuộc hàm phát ta có thêm giá trị a cột khác dòng Qi Do Qi chứa khóa nên giá trị a thêm vào dòng Qi xuất tất thuộc tính lược đồ Q Suy hàng lược đồ Q i chứa toàn a điều 122 phải chứng minh Để làm sáng tỏ ý tưởng phần chứng minh ta xét trường hợp cụ thể ví dụ 21 : Bước 1: ta lập bảng kiểm tra bảo tồn thơng tin: C T Q1(CT) a1 a2 Q2(HRC) a1 Q3(THR) Q4(CSG) a2 H R a3 a4 a3 a4 a1 Q5(HSR) a3 a4 S G a5 a6 a5 Bước 2:Ta chứng minh dòng Q5 bảng chứa toàn giá trị a Thật vậy: ta đồng giá trị bảng theo phụ thuộc hàm phát theo thuật toán tìm bao đóng X={HSR}  K; F={CT,HRC,THR,CSG,HSR} X0=HSR HRC Đồng giá trị theo phụ thuộc hàm X1=HSRC Trên dòng Q2 cột C chứa giá trị a nên dịng Q5 có thêm giá trị a cột C X2=HSRCT CT Đồng giá trị theo phụ thuộc hàm X3=HSRCTG CSG đồng giá trị theo phụ thuộc hàm C T H R Q1(CT) a1 a2 Q2(HRC) a1 a2 a3 a4 Q3(THR) a1 a2 a3 a4 Q4(CSG) a1 a2 Q5(HSR) a1 a2 a3 a4 S G a5 a6 a5 a6 Do X+=Q+ nên dịng Q5 chứa tồn giá trị a Ví dụ 22: Cho Q(ABCDEGH), F={ABD; EHG; GC; DC} phân rã Q thành lược đồ dạng chuẩn vừa bảo tồn thơng tin vừa bảo tồn phụ thuộc Giải: Tìm phủ tối thiểu Ftt F Ftt=F={ABD; EHG; GC; DC} Áp dụng thuật toán, Q phân rã thành lược đồ CSDL sau: Q1{ABD), Q2(EHG), Q3(GC), Q4(DC) Tìm khóa Q TN={ABEH} TG={GD} 123 Xi TN Xi (TN Xi)+ Siêu khóa Khóa  ABEH ABCDEGH ABEH ABE H G ABEHG ABCDEGH ABEHG D ABEHD ABCDEGH ABEHD G ABEHG ABCDEGH ABEHGD D D Q1,Q2,Q3,Q4 không chứa khóa  để bảo tồn thơng tin ta cần có Q5(A,B,E,H).Vậy kết phân rã Q1,Q2,Q3,Q4,Q5 BÀI TẬP 1/ Cho biết dạng chuẩn lược đồ quan hệ sau: a) Q(ABCDEG); F={ABC, CDE, EG} b) Q(ABCDEGH); F={CAB, DE, BG} c) Q(ABCDEGH) F={ABC, DE, HG} d) Q(ABCDEG); F={ABC, CB, ABDE, GA} e) Q(ABCDEGHI); F={ACB,BIACD,ABCD,HI,ACEBCG,CGAE} 2/ Kiểm tra bảo tồn thơng tin ? Q(ABCDE) R1(AD);R2(AB);R3(BE); F={A  C; R4(CDE);R5(AE) B  C;C  D;DE  C;CE  A} 3/ Cho lược đồ quan hệ Q(A,B,C,D) tập phụ thuộc hàm F = {AB;BC;AD;DC} Và lược đồ CSDL sau: C ={Q1(AB);Q2(AC);Q3(BD)} a) C có bảo tồn thơng tin F b) C có bảo tồn phụ thuộc hàm ? 4/ Kiểm tra dạng chuẩn Q(C,S,Z) F={CSZ;ZC} 5/ Phân rã Q(G,H,A,B,C,D) F={GHAD;AGB;CDGH; CA; BHC} 6/ Cho lược đồ CSDL Kehoach(NGAY,GIO,PHONG,MONHOC,GIAOVIEN) F={NGAY,GIO,PHONGMONHOC MONHOC,NGAYGIAOVIEN NGAY,GIO,PHONGGIAOVIEN MONHOCGIAOVIEN} a) Xác định dạng chuẩn cao Kehoach b) Nếu Kehoach chưa đạt dạng chuẩn 3, phân rã Kehoach thành lược đồ CSDL dạng chuẩn vừa bảo toàn phụ thuộc hàm vừa bảo tồn thơng tin 124 c) Nếu Kehoach chưa đạt dạng chuẩn BC, phân rã KeHoach thành lược đồ CSDL dạng BC 7/ Cho lược đồ quan hệ Q(A,B,C,D) tập phụ thuộc hàm F F = {AB;BC; DB} C = {Q1(A,C,D); Q2(B,D)} a) Xác định Fi (những phụ thuộc hàm F bao Qi) b) Lược đồ CSDL C có đạt dạng chuẩn BC ? Nếu khơng phân rã tiếp Q i C để biến C thành dạng chuẩn BC ? 8/ Giả sử ta có lược đồ quan hệ Q(C,D,E,G,H,K) tập phụ thuộc hàm F sau; F = {CK H; C D; EC; E G; CK E} a) Từ tập F, chứng minh EK  DH b) Tìm tất khóa Q c) Xác định dạng chuẩn Q d) Hãy tìm cách phân rã Q thành lược đồ CSDL đạt dạng chuẩn BC (hoặc dạng chuẩn 3) tìm tập phụ thuộc hàm khóa cho lược đồ quan hệ 9/ Cho lược đồ quan hệ Q(S,I,D,M) F = {f1:SI  DM; f2:SD M; f3:D M} a) Tính bao đóng D+, SD+, SI+ b) Tìm tất khóa Q c) Tìm phủ tối thiểu F d) Xác định dạng chuẩn cao Q e) Nếu Q chưa đạt dạng chuẩn 3, phân rã Q thành lược đồ CSDL dạng chuẩn vừa bảo toàn phụ thuộc hàm vừa bảo tồn thơng tin f) Nếu Q chưa đạt dạng chuẩn BCNF, phân rã Q thành lược đồ CSDL dạng BCNF g) Kiểm tra phép tách Q thành lược đồ (SID,SIM) có bảo tồn thông tin ? h) Kiểm tra phép tách Q thành lược đồ (SID,SIM) có bảo tồn phụ thuộc hàm ? 10/ Cho lược đồ quan hệ R(W,A,Z,Y,Q,P) R1(A,Z); R2(W,Y,Q,P) R3(Y,Q,P,A) F = {W AYQP, A Z, YQP A} Hãy kiểm tra tính kết nối khơng thơng tin 11/ Cho lược đồ quan hệ Q(Mơn, GiảngViên,Giờ giảng, Phịng, SinhViên, Hạng) với F ={MGV; G,PM; G,GVP; M,SVH; G,SVP} C = {Q1(M,G,P); Q2(M,GV);Q3( M,SV,H)} Kiểm tra xem lược đồ sở liệu sau có bảo tồn thơng tin F ? 12/ Kiểm Tra Dang Chuẩn a) Q(A,B,C,D) F={CAD; AB} 125 b) Q(S,D,I,M) F={SID;SDM} c) Q(N,G,P,M,GV) F={N,G,PM;MGV} d) Q(S,N,D,T,X) F={SN; SD; ST; SX} 13/ Phân rã lược đồ thành dạng BCK a) Q(S,D,I,M) F={S,ID;S,DM} b) Q(A,B,C,D) F={AB;BC;DB} c) Q(C,S,Z) F={C,SZ; ZC} 14/ Phân rã lược đồ thành dạng 3NF vừa bảo toàn phụ thuộc hàm vừa bảo tồn thơng tin a) Q(A,B,C), F={AB;AC;BA;CA;BC} b) Q(MSCD,MSSV,CD,HG) F={MSCDCD; CDMSCD; CD,MSSVHG; MSCD,HGMSSV; CD,HGMSSV; MSCD,MSSVHG} c) Q(A,B,C,D) F={ ABC; CB} CÁC THUẬT NGỮ CHUYÊN MÔN Database: Cơ sở liệu Server: Máy chủ Client: Máy khách TÀI LIỆU THAM KHẢO Giáo trình SQL Server – Trần Nguyên Phong – Trường Đại học Khoa học Huế Nhập môn sở liệu - Lê Tiến Vương - NXB Thống kê Hà nội, 2000 Tái lần ASP.NET- Kỹ thuật ứng dụng – Nhà xuất thống kê 2002 Nguyễn An Tế, Giáo trình Nhập môn Cơ sở liệu, Khoa Công nghệ Thông tin, Đại học KHTN, Đại học quốc gia TP.HCM 1996 Chương Đỗ Trung Tuấn, Cơ sở liệu (DataBase), NXB Giáo dục Hà nội, 1998 Lê Tiến Vương Nhập môn sở liệu NXB Thống kê Hà nội, 2000 Tái lần 126 ... F={C->T;HR->C;HT->R;CS->G;HS->R} Q(CTHRSG) K = HS F1={C->T} Q1(CT) K1 = C F 12= {HR->C;CS->G;HS->CRG;CH->R} Q 12( CHRSG) K 12 = HS F2={HR->C;CH->R} Q2(CHR) K211=HR; K2 12= CH F 22= {HS->RG} Q 22( HRSG) K 22. .. F={C->T;HR->C;HT->R;CS->G;HS->R} Q(C,T,H,R,S,G) K = HS Tính F1, K F1={CS->G} Q1(C,S,G) K1 = CS F 12= {C->T,HR->C;HT->R;HS->R; } Q 12( C,T,H,R,S) K 12 = HS bỏC hay R Q 12 để Q 22 giảsửbỏR Tính F2,K F2={HR->C;CH->R}... Q 12 để Q 22 giảsửbỏR Tính F2,K F2={HR->C;CH->R} Q2(C,H,R) K21=HR; K 22= CH F 22= {C->T,HS->R, } Q 22( C,T,H,S) K 22 = HS Tính F3,K F3={C->T} Q3(C,T) K3 = C F4={HS->C} Q4(C,H,S) K4 = HS Phép phân rã

Ngày đăng: 18/01/2022, 09:30

Tài liệu cùng người dùng

Tài liệu liên quan