Giáo trình cơ sở dữ liệu phần 1 đại học kinh tế TP HCM

134 398 1
Giáo trình cơ sở dữ liệu  phần 1   đại học kinh tế TP  HCM

Đ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

TRƢỜNG ĐẠI HỌC KINH TẾ TP.HCM KHOA TIN HỌC QUẢN LÝ GIÁO TRÌNH CƠ SỞ DỮ LIỆU Biên soạn: HUỲNH VĂN ĐỨC Bộ mơn: HỆ THỐNG THƠNG TIN LỜI NĨI ĐẦU CHO LẦN XUẤT BẢN THỨ Trƣớc hết chân thành cám ơn tiếp nhận bạn đọc phiên Với phiên chúng tơi nhận đƣợc nhiều góp ý, thơi thúc chúng tơi sớm điều chỉnh để có phiên thứ hai Trong phiên điều chỉnh nhỏ liên quan đến biên tập, điều chỉnh bổ sung thêm số kiến thức kỹ Đầu tiên, làm rõ thêm số khái niệm thuật toán Bao gồm khái niệm khóa, thuật tốn tìm bao đóng tập thuộc tính, thuật tốn tìm phủ tối tiểu, quy trình thay đuổi Tiếp theo bổ sung khẳng định “vi phạm dạng chuẩn tìm thấy F” Khẳng định cho phép xây dựng phƣơng thức, rõ ràng dễ hiểu hơn, xác định dạng chuẩn lƣợc đồ quan hệ Chúng thay cách thức xác định tập phụ thuộc hàm chiếu, vốn đƣợc phát biểu khơng xác phiên đầu Cuối phụ lục giới thiệu trình thiết kế lƣợc đồ sở liệu cho tốn nhỏ nhƣng khơng tầm thƣờng, theo tiếp cận thực tế từ góc độ ngƣời thiết kế có đơi chút kinh nghiệm Qua cho thấy vai trò nhƣ thuận lợi thách thức áp dụng lý thuyết vào thực tế Trong lần tái muốn đƣợc gởi lời cám ơn chân thành đến TS Trần Minh Thuyết, khoa Tin học quản lý, đại học Kinh tế Tp.HCM đóng góp q báu có giá trị Một lần chúng tơi vui mừng đón nhận đóng góp gần xa bạn đọc Tp.Hồ Chí Minh, Ngày 10/05/2009 Ngƣời viết HUỲNH VĂN ĐỨC LỜI NÓI ĐẦU Đây giáo trình 60 tiết đƣợc viết cho sinh viên chuyên ngành tin học quản lý trƣờng đại học kinh tế Tp.HCM Giáo trình dùng cho chƣơng trình 45 tiết chuyên ngành khác ngành hệ thống thông tin kinh tế, cách giảm nhẹ yêu cầu số nội dung tuỳ theo mục tiêu chƣơng trình đào tạo Đây giáo trình mơn học nên nội dung bám sát với đề cƣơng Tuy nhiên, so với đề cƣơng, bố cục tài liệu có chút thay đổi Cụ thể, mơ hình thực thể kết hợp đƣợc giới thiệu cuối Sự thay đổi xuất phát từ kinh nghiệm giảng dạy tác giả nhiều đồng nghiệp khác, có tham khảo đến số tài liệu đƣợc đánh giá hay [1][4] Môn sở liệu môn học quan trọng chuyên ngành Tin học Quản lý Tài liệu đƣợc biên soạn cho mức lĩnh hội sinh viên đạt đến khả áp dụng kiến thức môn học, giải tình gần với thực tế Chúng tơi đƣa nhiều ví dụ tập Những ví dụ tập đa dạng, nhiều ví dụ tập mang tính kiểm tra đơn giản, nhiều ví dụ tập khác lại mang tính áp dụng phức tạp Giáo trình đƣợc chia làm chƣơng Chƣơng giới thiệu tổng quan sở liệu môi trƣờng sở liệu Chƣơng tập trung làm rõ khái niệm quan trọng lĩnh vực sở liệu Các cấp độ trừu tƣợng mơ hình liệu, kiến trúc sở liệu mức nhƣ thành phần môi trƣờng sở liệu hệ quản trị sở liệu đƣợc giới thiệu chƣơng Cuối chƣơng, đƣa hai case study để tiện sử dụng thƣờng xuyên giáo trình Chƣơng trình bày mơ hình sở liệu quan hệ Ngoài việc giới thiệu chi tiết yếu tố mơ hình tạo nên mơ hình liệu, chƣơng cung cấp cho sinh viên kiến thức sâu sắc quan hệ toán học Hiểu thấu đáo phép toán đại số quan hệ sử dụng thành thạo chiến lƣợc giải toán biểu thức đại số quan hệ, sinh viên trang bị cho kỹ cần thiết làm việc với hệ quản trị sở liệu có hỗ trợ mơ hình quan hệ Giáo trình sở liệu Chƣơng giới thiệu ngôn ngữ sở liệu Do mục tiêu môn học mà chƣơng tập trung vào ngôn ngữ hỏi Với kiến thức kỹ có đƣợc chƣơng 2, với cú pháp ngôn ngữ đƣợc học chƣơng này, sinh viên đủ tự tin làm việc với hệ quản trị sở liệu giải nhiều toán xử lý liệu phức tạp Các chƣơng 4, nói lý thuyết thiết kế Theo sinh viên học đƣợc cách chuẩn hố lƣợc đồ quan hệ với ràng buộc phụ thuộc hàm Thiết kế sở liệu kỹ quan trọng sinh viên chuyên ngành tin học quản lý Mỗi chƣơng đảm nhận phần riêng, nhƣng trọn vẹn, để sinh viên lĩnh hội đƣợc phần riêng mức áp dụng đƣợc Chƣơng giới thiệu mơ hình thực thể kết hợp Chƣơng trình bày phƣơng pháp luận thiết kế mơ hình sở liệu mức quan niệm Chúng tơi kết thúc giáo trình mơ hình thực thể kết hợp với hai mục đích Thứ nhất, chúng tơi muốn sinh viên thực tập trung vào lý thuyết thiết kế kỹ giải toán đại số quan hệ Thứ hai, mơ hình điểm kết thúc quan trọng Nó cho thấy vai trị chƣơng trƣớc tồn mơ hình liệu Theo đó, sinh viên chủ động chọn mức trừu tƣợng cho mô hình sở liệu mức quan niệm, chủ động phát biểu phụ thuộc hàm nhƣ yếu tố vật lý mơ hình Cấu trúc nội dung tài liệu đƣợc biên soạn phù hợp với mục tiêu môn học phải chọn lọc nhiều nội dung từ tài liệu tham khảo Hầu hết ký hiệu định nghĩa lấy [6], riêng khái niệm phủ tối tiểu lấy [7] Rất nhiều nội dung đƣợc chọn lọc từ [1] Nhiều nội dung khác đƣợc chọn lọc từ [2, 3, 5] Bố cục tài liệu gần [4] nhiều tập đƣợc chọn từ [4] Để sử dụng giáo trình đƣợc hiệu quả, sinh viên phải thực hành trực tiếp ví dụ tập chƣơng 7, cách sử dụng hệ quản trị sở liệu hệ hỗ trợ lập mơ hình cụ thể Một tài liệu giới thiệu hệ đƣợc cung cấp cho sinh viên trƣớc bắt đầu môn học Tài liệu phải giới thiệu hệ cụ thể nhƣ có hƣớng dẫn chi tiết nhằm bảo đảm sinh viên tự học đƣợc Nhân dịp chân thành cảm ơn Ban giám hiệu trƣờng đại học Kinh tế Tp.HCM, phòng Quản lý Khoa học Hợp tác Quốc tế tạo điều kiện cho giáo trình sớm đến tay sinh viên, góp phần bổ sung thêm tài liệu học tập cho sinh viên chuyên ngành tin học quản lý nói riêng ngành hệ thống thơng tin kinh tế nói chung Chúng tơi chân thành cảm ơn đóng góp quý báu thành viên Hội đồng thẩm định, quý Thầy Cô môn, khoa Dù nỗ lực bám sát mục tiêu đặt ra, nhƣng tài liệu đƣợc viết chắn cịn khiếm khuyết Chúng tơi vui mừng đón nhận đóng góp bạn đọc Mọi đóng góp xin vui lịng gởi đến hvduc0703@gmail.com Tp.Hồ Chí Minh, Ngày 06/06/2008 Ngƣời viết HUỲNH VĂN ĐỨC MỘT SỐ QUY ƢỚC KÝ HIỆU  Chữ in đầu bảng alphabet: A, B, C, thường dùng để thuộc tính;  Chữ thƣờng đầu bảng alphabet: a, b, c, thường dùng để giá trị tập giá trị thuộc tính A, B, C, ;  Với thuộc tính có nhiều từ ta bao lại dấu ngoặc vuông [ ];  Chữ in cuối bảng alphabet: X, Y, Z, thường dùng để tập thuộc tính Nhƣ ta hiểu A  X X  Y cách bình thƣờng;  Ký hiệu X = ABC = (ABC) thay cho X = {A, B, C};  Ký hiệu Z = XY thay cho Z = XY;  Chữ in R, S thường lƣợc đồ quan hệ;  Chữ thƣờng r, s thường quan hệ;  Các chữ thƣờng t, u, v thường để quan hệ;  Ký hiệu t.A giá trị thuộc tính A t;  Ký hiệu t.X tập giá trị thuộc tính thuộc X t;  Ký hiệu r(R) nói quan hệ r đƣợc định nghĩa lƣợc đồ R;  Ký hiệu K thường để khoá R;      Ký hiệu K (hoặc k) thường để tập khoá R; Ký hiệu D thường lƣợc đồ sở liệu; Ký hiệu d(D) hay d thường sở liệu; Tập phụ thuộc hàm thường đƣợc ký hiệu F, G; Phụ thuộc hàm thường đƣợc ký hiệu f, g; Giáo trình sở liệu  Các ký hiệu R, , , ABCD, ABCD, , , lƣợc đồ quan hệ;  Ký hiệu 𝑆𝐴𝑇𝑅 𝐹 hay 𝑆𝐴𝑇 𝐹 tập tất quan hệ r(R) thoả F;  Ký hiệu PTT(F) phủ tối tiểu F;  Ký hiệu F+ tập phụ thuộc hàm hệ F;  Ký hiệu f ∊ F+ cho biết f phụ thuộc hàm hệ F;  Ký hiệu 𝐹 ⊨ 𝑓 cho biết f đƣợc suy (dẫn xuất) từ F luật;  Ký hiệu 𝐹 ⊨ 𝐺 cho biết G đƣợc suy (dẫn xuất) từ F luật;  Ký hiệu 𝐹 ≡ 𝐺 cho biết F tƣơng đƣơng G;  Ký hiệu 𝑋𝐹+ hay X+ bao đóng tập thuộc tính X đƣợc suy từ F luật;  Ký hiệu 𝜋𝑆 (𝐹) chiếu tập phụ thuộc hàm F lên lƣợc đồ S;  Ký hiệu F‟ tập phụ thuộc hàm chiếu F;  Ký hiệu ρ phân rã lƣợc đồ quan hệ;  𝑟 ∪ 𝑠 hợp hai quan hệ r s;  𝑟 ∩ 𝑠 giao hai quan hệ r s;  𝑟 − 𝑠 hiệu hai quan hệ r s;  𝑟 = 𝑎𝑑𝑜𝑚 𝑟 − 𝑟 phần bù quan hệ r;  𝑟 × 𝑠 tích (Descartes) hai quan hệ r s;  𝜍𝑝 𝑟 chọn quan hệ r thỏa điều kiện p;  𝜋𝑋 𝑟 hay 𝑟[𝑋] chiếu quan hệ r lên tập thuộc tính X;  𝑟 ⋈ 𝑠 kết tự nhiên hai quan hệ r s;  𝑟 ⋈𝐴 = 𝐵 𝑠 kết tương đương hai quan hệ r s;  𝑟 ⋈𝐴 𝜃 𝐵 𝑠 kết theta hai quan hệ r s;  𝑟 ⋉ 𝑠 kết bên phải hai quan hệ r s;  𝑟 ⋉𝐶 𝑠 kết bên phải hai quan hệ r s với điều kiện C; Giáo trình sở liệu 104 Ví dụ 3.16 Tìm hàng hố chƣa bán lần Giải: Ta có câu truy vấn: SELECT * FROM HANG_HOA WHERE MA_HANG NOT IN (SELECT MA_HANG FROM CT_BAN) Điều kiện chọn không cố định Khi truy vấn xét dòng, định chọn hay không Với truy vấn đặt WHERE, nhiều trƣờng hợp, phụ thuộc vào dòng xét Ví dụ 3.17 Tìm hàng hố, mà ngày có bán mặt hàng khơng có ngày nằm ngày tháng Giải: Với mặt hàng, có tập mà tồn định việc chọn Tập phụ thuộc vào mặt hàng chọn Ta có: SELECT * FROM HANG_HOA WHERE NOT EXISTS ( SELECT * FROM CT_BAN INNER JOIN HOA_DON ON (CT_BAN.HD_SO = HOA_DON HD_SO) WHERE (DAY(NGAY_LAP) BETWEEN AND 5) AND (HANG_HOA.MA_HANG = CT_BAN.MA_HANG) ) 3.4 Cài đặt đại số quan hệ Nhƣ đƣợc đề cập, thân cú pháp SELECT … FROM … WHERE cài đặt phép toán quan hệ phép chọn, phép kết (dĩ nhiên tích Descartes) phép chiếu Trong mục quan tâm đến cài đặt phép chia phép toán tập hợp nhƣ phép hợp, phép giao phép hiệu Chƣơng 3: Ngôn ngữ sở liệu SQL 105 Phép Hợp SELECT … UNION [ALL] SELECT … Ví dụ 3.18 Tạo sổ từ sổ nhật ký SELECT Chung_Tu, TK_No AS TK, TK_Co AS DU, Tien AS T_No, AS T_Co FROM Nhat_Ky UNION SELECT Chung_Tu, TK_Co AS TK, TK_No AS DU, AS T_No, Tien AS T_Co FROM Nhat_Ky Phép giao SELECT … WHERE IN (SELECT …) Ví dụ 3.19 Cho quan hệ r = Trình độ ngoại ngữ (MaNV 01 01 02 02 02 03 04 NNgu) Anh Nga Anh Hoa Pháp Anh Hoa Tìm nhân viên biết ngoại ngữ Anh Hoa Giải: Ta có câu truy vấn: SELECT MaNV FROM r Giáo trình sở liệu 106 WHERE NNgu = ‘Anh’ AND MaNV IN (SELECT MaNV FROM r WHERE NNgu = ‘Hoa’) Phép hiệu SELECT … WHERE NOT IN (SELECT …) Ví dụ 3.20 Tìm hố đơn có bán mặt hàng khơng đƣợc lƣu sở liệu SELECT H_DON.* FROM H_DON INNER JOIN BAN ON ( H_DON.HD_SO = BAN.HD_SO ) WHERE MA_HANG NOT IN (SELECT MA_HANG FROM HANG_HOA) Phép chia Với phép chia r(AB) ÷ s(B), cách biểu diễn qua số phép tốn khác cài đặt phép chia ngôn ngữ SQL(xem chƣơng 2, chiến lƣợc): Xét biểu thức đại số quan hệ phép chia (xem tập): r[A] – (r[A]s – r)[A] Viết lại q0 = r[A] q1 = q0s q2 = (q1 – r)[A] q3 = q0 – q2 Ta cài đặt phép chia dãy câu truy vấn liên tiếp q0: SELECT DISTINCT A FROM r q1: SELECT q0.A, s.B FROM q0, s Chƣơng 3: Ngôn ngữ sở liệu SQL 107 q2: SELECT DISTINCT q1.A FROM q1 WHERE q1.A&q1.B NOT IN (SELECT r.A&r.B FROM r) q3: SELECT q0.A FROM q0 WHERE q0.A NOT IN (SELECT q2.A FROM q2) Nếu cần tích hợp thành câu truy vấn SELECT q0.A FROM (SELECT DISTINCT A FROM r) AS q0 WHERE q0.A NOT IN ( SELECT q2.A FROM ( SELECT DISTINCT q1.A FROM (SELECT q0.A, s.B FROM q0, s) AS q1 WHERE q1.A&q1.B NOT IN (SELECT r.A&r.B FROM r)) AS q2 ) Bản chất phép chia chọn, t r đƣợc chọn 𝜍𝐴=𝑡.𝐴 𝑟 𝐵 ⊃ 𝑠 Nhƣ với x thuộc s, thực 𝑟𝑥 = 𝜍𝐵=𝑥 𝑟 𝐴 Cuối r ÷ s= 𝑟𝑥 = 𝑥∈𝑠 𝜍𝐵=𝑥 𝑟 𝐴 𝑥∈𝑠 Dùng kỹ thuật truy vấn làm điều kiện chọn Với t thuộc r, chọn r với giá trị A với t.A chiếu lên B, đƣợc quan hệ Quan hệ so sánh với s làm điều kiện chọn Ta có câu đại số quan hệ 𝜍𝑠⊂ 𝜍𝐴 =𝑢 𝐴 𝑟 𝐵 𝜌𝑢 𝑟 𝐴 Trong ρ phép đổi tên Biểu thức điều kiện có dạng so sánh tập khơng có ngơn ngữ truy vấn Nhƣ cài đặt đƣợc điều kiện chọn loại này, phải sử dụng hai cách Tuy nhiên, lƣu ý mệnh đề A ⊂ B tƣơng đƣơng với A – B = ∅, ta có: Giáo trình sở liệu 108 SELECT A FROM r AS u WHERE NOT EXISTS ( SELECT * FROM (SELECT B FROM r WHERE A = u.A) WHERE B NOT IN (SELECT B FROM s) ) Ví dụ 3.21 Trở lại ví dụ 19, giả sử s (NNgu) = {Anh, Hoa} Bài tốn tìm nhân viên biết ngoại ngữ Anh Hoa phép chia r cho s Cách giải thứ thực ví dụ 19 Ở dùng cách thứ SELECT MaNV FROM r AS u WHERE NOT EXISTS ( SELECT * FROM (SELECT NNgu FROM r WHERE MaNV = u MaNV) WHERE NNgu NOT IN (SELECT NNgu FROM s) ) 3.5 Dùng truy vấn kiểm tra ràng buộc tồn vẹn Ngơn ngữ hỏi cơng cụ tốt cho việc giải vấn đề Một số ràng buộc tồn vẹn định nghĩa lúc khởi tạo sở liệu nhờ đƣợc kiểm tra cách tự động, số khác đƣợc thực trực tiếp gián tiếp thông qua lời gọi hàm với hàm kiểm tra đƣợc cài đặt sẵn ngƣời dùng Trong thực tế việc để hệ quản trị kiểm tra ràng buộc tồn vẹn không giải pháp tối ƣu; đặc biệt với ràng buộc phức tạp Có số chiến lƣợc giải vấn đề Chúng ta bổ sung thuộc tính dẫn xuất kiểm soát chúng cách hiệu Bây giờ, cần thiết, hệ quản trị cần kiểm tra ràng buộc đơn giản thuộc tính Với ràng buộc phức tạp nên đƣợc kiểm tra mức ứng dụng lớp trung gian Ở mức ứng dụng, thiết Chƣơng 3: Ngôn ngữ sở liệu SQL 109 kế cho ngƣời sử dụng khó lịng vi phạm ràng buộc tồn vẹn giảm bớt gánh nặng kiểm tra Trong trƣờng hợp lại, ngôn ngữ truy vấn liệu cho phép dễ dàng cài đặt thủ tục kiểm tra Ý tƣởng tìm vi phạm Nếu kết tìm rỗng sở liệu thỏa ràng buộc toàn vẹn Hàm EXISTS(.), kiểm tra quan hệ khác rỗng, cho phép kết luận sở liệu có vi phạm ràng buộc hay khơng Chúng ta tiếp cận đại số quan hệ trƣớc viết câu truy vấn cụ thể Ví dụ 3.22 Cài đặt thuật toán kiểm tra khoá43 quan hệ r(AB) Giải: Ta có ràng buộc Count(r) = Count(r[A]) Bằng cách viết lại q1 = r[c = Count(A)] q2 = (r[A])[c = Count(A)] q = q1.c = q2.c(q1q2) Ngôn ngữ điều khiển truy cập (DCL) Ngôn ngữ điều khiển truy cập cho phép cấp (GRANT) hủy bỏ (REVOKE) quyền (PRIVILEGE) ngƣời dùng đối tượng sở liệu Các quyền bao gồm:  SELECT: lấy dòng liệu từ bảng;  INSERT: thêm dòng liệu, cột cụ thể, bảng;  UPDATE: sửa dòng liệu, cột cụ thể, bảng;  DELETE: xoá dòng liệu bảng; 43 dùng trực tiếp từ định nghĩa đƣợc nhƣng phức tạp Giáo trình sở liệu 110  REFERENCES: tham chiếu đến cột cụ thể bảng chứa khoá ngoại Đối tƣợng sở liệu bảng Trong mơi trƣờng sở liệu có vai trò quản trị sở liệu (DBA) Ngƣời dùng có vai trị quản lý tồn ngƣời dùng có thẩm quyền cấp thu hồi giấy phép ngƣời dùng Ngƣời dùng cụ thể có tồn quyền đối tƣợng sở liệu tạo 4.1 Cấp quyền cho ngƣời dùng khác Cú pháp GRANT | ALL PRIVILEGES ON TO | PUBLIC [WITH GRANT OPTION] Ví dụ 3.23  Cấp quyền SELECT UPDATE (studentName) bảng student cho admin GRANT SELECT, UPDATE(studentName) ON student TO admin  Cấp quyền SELECT bảng student cho ngƣời dùng personnel deputy GRANT SELECT ON student TO personnel, deputy  Cấp quyền SELECT bảng class cho tất ngƣời dùng GRANT SELECT ON class TO PUBLIC Chƣơng 3: Ngôn ngữ sở liệu SQL 111 4.2 Hủy quyền ngƣời dùng khác Cú pháp REVOKE [GRANT OPTION FOR] | ALL PRIVILEGES ON FROM { | PUBLIC} [RESTRICT | CASCADE] [WITH GRANT OPTION] Ví dụ 3.24 Xét tình có ngƣời dùng A, B, C, D E Trong A, E có quyền INSERT bảng student có quyền cấp quyền cho ngƣời dùng khác A cấp quyền cho B GRANT INSERT ON student TO B WITH GRANT OPTON B có quyền INSERT nhƣ A B cấp quyền cho C GRANT INSERT ON student TO C WITH GRANT OPTON B có quyền INSERT nhƣ B E cấp quyền cho C GRANT INSERT ON student TO C WITH GRANT OPTON C có quyền INSERT nhƣ A E (hai giấy phép) C cấp quyền cho D GRANT INSERT ON student TO D Giáo trình sở liệu 112 D có quyền INSERT C cấp A hủy quyền B REVOKE INSERT ON student CASCADE Các giấy phép A cấp uỷ quyền cấp bị thu hồi Theo B khơng cịn giấy phép INSERT nào, C giấy phép E cấp D cịn quyền INSERT C cấp 4.3 View View, hay khung nhìn, bảng ảo đƣợc tạo thành từ câu truy vấn để nhìn vào sở liệu từ quan điểm ngƣời dùng nhằm thực độc lập liệu Với view có chế an tồn liệu kiểm sốt đƣợc việc cập nhật lên sở liệu Cú pháp CREATE VIEW [([, …])] AS SELECT … Qua view hạn chế truy xuất để tăng cƣờng bảo mật sở liệu Cú pháp CREATE VIEW [([, …])] AS SELECT … [WITH [CASCADE | LOCAL] CHECK OPTION] Cập nhật view Để cho phép cập nhật sở liệu qua view, view phải thoả: Khơng có DISTINCT Lƣợc đồ quan hệ phải lấy từ tên thuộc tính gốc xuất lần Câu SELECT phép chọn chiếu bảng nhất; Điều kiện chọn khơng có truy vấn liên quan đến bảng xét Khơng có tính tốn, khơng có GROUP BY nhƣ HAVING Chƣơng 3: Ngôn ngữ sở liệu SQL 113 Ví dụ 3.25 CREATE VIEW siSo (classID, className, siSo) AS SELECT class classID, className, COUNT(*) FROM student, class WHERE student.classID, class.classID GROUP BY classID, className View cập nhật có tính tốn CREATE VIEW siSo (classID, className, siSo) AS SELECT class classID, className, COUNT(*) FROM student, class WHERE student.classID, class.classID GROUP BY classID, className View cập nhật có tính tốn Với view cho phép cập nhật, view có khả kiểm tra liệu có thỏa điều kiện phép chọn khơng Ví dụ 3.26 Với view sau: CREATE VIEW class3 AS SELECT * FROM student WHERE classID = ‘C3’ WITH CHECK OPTION Thì câu lệnh sau khơng đƣợc thực UPDATE class3 SET classID = ‘C5’ WHERE studentID = ‘S036’ INSERT INTO class3(studentID, classID) VALUES (‘S121’, ‘C2’) Giáo trình sở liệu 114 TĨM TẮT  Hệ quản trị sở liệu cung cấp ngôn ngữ sở liệu cho phép làm việc với mơ hình sở liệu mà hỗ trợ;  Hệ quản trị sở liệu quan hệ cung cấp ngôn ngữ sở liệu gọi Structured Query Language (SQL);  SQL có ngôn ngữ con: ngôn ngữ định nghĩa liệu, ngôn ngữ thao tác liệu, ngôn ngữ hỏi ngôn ngữ điều khiển truy cập;  Ngôn ngữ định nghĩa liệu cho phép cài đặt lƣợc đồ vật lý;  Ngôn ngữ định nghĩa liệu cho phép khai báo số loại ràng buộc tồn vẹn;  Ngơn ngữ thao tác liệu làm việc với liệu dựa lƣợc đồ logic;  Ngơn ngữ hỏi có cấu trúc dễ hiểu;  Ngôn ngữ hỏi dựa đại số quan hệ nên dễ dàng cài đặt biểu thức đại số quan hệ, cho phép sử dụng lƣợc giải toán đại số quan hệ;  Ngôn ngữ hỏi cho phép truy vấn liệu nhƣ cài đặt kiểm tra ràng buộc toàn vẹn;  Ngơn ngữ kiểm sốt truy xuất cho phép thực an tồn liệu;  Khung nhìn chế cho phép thực an toàn tồn vẹn liệu Chƣơng 3: Ngơn ngữ sở liệu SQL 115 BÀI TẬP Cơ sở liệu sau dùng cho câu từ đến Khách hàng Định mức Tiêu thụ Mã KH Tên KH Địa KH01 Nguyễn A 134 NTT KH02 Trần B 242/4 TBT KH03 Phạm C 33 PH Mã DM Từ Đến Giá D1 100 80 D2 101 150 100 D3 151 200 150 D4 201 400 200 Kỳ Mã KH Tiêu thụ 0804 KH01 150 0804 KH02 240 0804 KH03 110 0805 KH01 120 0805 KH02 250 0805 KH03 80 Ký hiệu M, T, C, A, U, D, G, K I tên tắt thuộc tính Mã KH, Tên KH, Địa KH, Mã DM, Từ, Đến, Giá, Kỳ Tiêu thụ Ký hiệu r, s u tên tắt bảng Khách hàng, Định mức Tiêu thụ Bạn đọc dùng lƣợc đồ sở liệu đƣợc viết tắt nhƣ sau: r (MTC), s (AUDG) u (KMI) Giáo trình sở liệu 116 Đặc tả thêm yếu tố vật lý, dùng ngôn ngữ DDL định nghĩa lƣợc đồ sở liệu Dùng ngôn ngữ DML đƣa liệu vào sở liệu Dùng ngôn ngữ QL trả lời câu hỏi: a Tìm khách hàng có mức tiêu thụ lớn khơng vƣợt q 200; b Tính tiền điện kỳ 0806 cho tất khách hàng Lƣợc đồ sở liệu sau dùng cho câu từ đến 10 Khách-Sạn (Mã-KS, Tên-KS, Địa-Chỉ-KS, Tỉnh-Thànhphố) Phòng (Số-Phòng, Mã-KS, Loại-Phòng, Giá) Khách-Hàng (Mã-KH, Tên-KH, Địa-Chỉ-KH) Đặt-Phòng (Mã-KS, Mã-KH, Ngày-Đến, Ngày-Đi, SốPhịng) Bạn đọc dùng lƣợc đồ sở liệu đƣợc viết tắt nhƣ sau: r (STsDsT), s (PSLG), u (KTkDk) v (SKBEP) Tìm tất khách sạn thành phố Nha Trang Tìm tất khách sạn thành phố Nha Trang có loại phịng đơn có giá dƣới 200 Ở Nha Trang có khách sạn Năng suất sử dụng phòng theo loại phòng tất khách sạn Nha Trang năm 2007 Ở Nha Trang, ngày hơm có phịng trống theo loại phịng Danh sách tất hố đơn ngày hôm nay, thông tin gồm TỉnhThành-phố, Mã-KS, Ngày-hố-đơn, Số-Phịng, Loại-phịng, Giá, SốTiền 10 Làm báo cáo tổng số ngày đến ở, năm 2006 2007, theo khách hàng tất khách hàng Chƣơng 3: Ngôn ngữ sở liệu SQL 117 Lƣợc đồ sở liệu (Thể Thao Đội) sau dùng cho câu từ 11 đến 18 INT(3) TEXT DOI : CLB_MA DOI_MA LT PHAI INT(3) KEY INT(2) KEY CHAR(2) CHAR(3) Mã số câu lạc Mã số đội Lứa tuổi đội Phái tính TD : INT(3) KEY INT(3) CHAR(6) DATE Mã số trận đấu Mã số phòng Giờ thi đấu Ngày thi đấu INT(3) INT(2) INT(3) Mã số trận đấu Mã số đội Mã số câu lạc TD_MA PHG_MA TD_GIO TD_NGAY DOI_TD : TD_MA DOI_MA CLB_MA KEY Mã số câu lạc Địa câu lạc CLB : CLB_MA CLB_DC Mỗi trận đấu gặp hai đội LT PHAI PHONG : PHG_MA INT(3) KEY PHG_DC CHAR(50) PHG_TSS INT(2) Mã số phòng Địa phòng Tổng số sân phòng LUA_TUOI : LT CHAR(2) KEY LT_TGTD) INT(2) Lứa tuổi Thời gian thi đấu VDV : VDV_MA VDV_TEN VDV_DC CLB_MA LT PHAI INT(3) KEY CHAR(25) CHAR(50) INT(3) CHAR(2) CHAR(3) VDV_DOI : VDV_MA INT(3) DOI_MA INT(2) Mã số vận động viên Tên vận động viên Địa vận động viên Mã số câu lạc Lứa tuổi vận động viên Phái tính Mã số vận động viên Mã số đội Một vận động viên đăng ký vào nhiều đội 118 Giáo trình sở liệu 11 Danh sách tên vận động viên câu lạc mã số 45 12 Tên vận động viên đội số câu lạc mã số 27 13 Số lƣợng trận đấu lứa tuổi LT1 diễn ngày 16/06/90 14 Mã số câu lạc mã số đội có quy tụ vận động viên thuộc lứa tuổi nhỏ lứa tuổi đội 15 Địa mã số câu lạc có nhiều đội tham dự trận đấu diễn phòng mã số 17 ngày 06/12/90 16 Danh sách trận đấu bắt đầu kết thúc khoảng thời gian từ 13 16 phòng mã số 49 vào ngày 05/08/90 17 Địa tên vận động viên chơi chơi đối lại đội mã số câu lạc mã số 50 18 Số tối đa trận đấu bắt đầu đồng thời ngày 06/12/90 19 Chứng minh biểu thức đại số quan hệ dùng để cài đặt phép chia 20 Với hệ thống quản lý tồn kho cho chƣơng này, dùng Power Designer: a Thiết kế sở liệu mức quan niệm; b Phát sinh sở liệu mức vật lý; c Đặc tả đầy đủ yếu tố vật lý (xem mục chƣơng) d Dùng ngôn ngữ định nghĩa liệu cài đặt sở liệu này; e Đặc tả vai trò ngƣời dùng, dùng DCL cấp quyền cho vài ngƣời dùng; f Đƣa ràng buộc, tạo khung nhìn cho phép làm việc bảo đảm tính tồn vẹn liệu ràng buộc ... dùng khác View Chƣơng 87 89 89 90 94 96 97 97 98 99 10 3 10 4 10 8 11 0 11 1 11 2 PHỤ THUỘC HÀM 11 9 Khái niệm 12 2 1. 1 1. 2 1. 3 1. 4 Phụ thuộc hàm Tập phụ thuộc hàm Luật dẫn - Hệ tiên... trị sở liệu, lập trình sở liệu sử dụng sở liệu Giáo trình sở liệu Mở đầu Có thể không để ý, nhƣng sống hàng ngày thƣờng có sử dụng đến sở liệu (database1) Chẳng hạn, mua hàng siêu thị, sở liệu. .. mô hình quan hệ Lập mô hình liệu mức quan niệm 2 01 2 .1 2.2 2.3 Khảo sát tình Tìm thực thể Tìm mối kết hợp 18 0 18 1 18 3 18 5 18 8 19 2 19 7 202 204 204 Giáo trình sở liệu 2.4 Phân rã mối kết hợp

Ngày đăng: 30/03/2016, 17:10

Từ khóa liên quan

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

Tài liệu liên quan