CƠ SO DU LIEU Chuong 3 Chương 3 - Ngôn ngữ định nghĩa và thao tác dữ liệu đôi với mô hình quan hệ NỘI DUNG: °Ổ Các cách tiêp cận đối với thiết kế ngôn ngữ của CSDL quan hệ — Giới thiệu một sô ngôn ngữ và phân loại > So sánh và đánh giá ¢ Mot sô ngôn ngữ dữ liệu mức cao — QBE (Query By Example) — SQL (Structured Query Language) ¢ Két luan Ví du Student ¢ Tim cac sinh vién dang ký khoá học có mã sô 113 3936 Glen Bundoora 8507 Norman | Bundoora — Tìm các giá trị SID Enrol 8452 Mary Balwyn trong bảng Enrol có Course tương ứng là 113 10] — Đưa các bộ của bảng 8507 10] Student có SID trong Course các gid tri tim thay ở trén 10] MCS CSCE Phân loại các ngôn ngữ truy vần °Ò Ngôn ngữ đại sô — 1 cau hoi = Ï tập các phép toán trên các quan hệ — Được biểu diễn bởi một biểu thức đại sô (quan hệ) °® Ngôn ngữ tính toán vị tử — 1 câu hỏi = 1 mô tả của các bộ mong muôn — Được đặc tả bởi một vị từ mà các bộ phải thoả mãn — Phân biệt 2 lớp: *° ngôn ngữ tính toán vị từ biến bộ *° ngôn ngữ tính toán vị từ biên miễn Ngôn ngữ đại sô quan hệ Gôm các phép toán tương ứng với các thao tác trên các quan hệ Mỗi phép toán — Đâu vào: một hay nhiêu quan hệ — Đâu ra: một quan hệ Biểu thức đại sô quan hệ = chuỗi các phép toán Kết quả thực hiện một biểu thức đại số là một quan hệ Được cài đặt trong phân lớn các hệ CSDL hiện nay Các phép toán đại sô quan hệ ¢ Phép toán quan hệ — Phép chiéu (projection) — Phép chon (selection) — Phép két noi (join) — Phép chia (division) ¢ Phép toan tập hợp — Phép hop (union) — Phép giao (intersection) — Phép tru (difference) — Phép tích đề-các (carfesian product) Phép toán tập hợp ¢ Dịnh nghĩa: Quan hệ khả hợp Hai quan hệ r và s được gọi là khả hợp nêu chúng được xác định trên cùng một miên g1á tri r xác định trên D,x D;x.x D, s xac dinh trén D’,x D’,x.x D’,, 2? D, =D’, va n=m Phép hợp © D/n: g6m cac b6 thudc ft nhat mot trong hai quan hé dau vao ¢ Hai quan hé dau vao phải là khả hợp ¢ Cu phap: R=R, UR, mS subject Subject2 aca Két qua |Name _ | Course | | Name | Course | Systems [BCS Systems BCS [ Name | Course | Database BCS Database BCS z DataMining | MCS Database MCS Database | MCS Writing BCS Algebra MCS Algebra MCS DataMining MCS Writing BCS Phép giao ° Dịn: gom các bộ thuộc cả hai quan hệ đầu vào Hai quan hệ đâu vào phải là khả hợp Cu phap: R,OR, “A ¬ - ————> Subject] subject2 [| Name _| course | |_Name_| Course | Ket qua systems DataMining | Name | Course | Database BCS |f\1| Database MCS ——> Systems BCS Database | MCS Systems BCS Database | MCS Algebra MCS Writing BCS Phép trừ ° Dịn: øôm các bộ thuộc quan hệ thứ nhất nhưng không thuộc quan hệ thứ hai — Hai quan hệ phải là khả hợp Cú pháp: R,\#; hoặc R, - R, Rt \ | Re —— H“ n2 Subject] SUbJec†12 Két qua systems DataMining | Name | Course | Database | BCS |\ | Database | MCS | > Database | BCS Database | MCS Systems BCS Algebra MCS Algebra MCS Writing BCS Phép tích Đề-các °ồ Đ/n: là kết nối giữa từng bộ của quan hệ thứ = BE nhất với mỗi bộ của quan hệ thứ hai ° Cú pháp: R= R,x#› 11 Student Sport 1108 | Robert Kew X O5 Swimming 3936 Glen Bundoora O09 Dancing 8507 | Norman | Bundoora 8452 Mary Balwyn ee] 1108 Robert Kew O5 Swimming 1108 Robert Kew O9 Dancing 3936 Glen Bundoora O5 Swimming => 3936 Glen Bundoora O9 Dancing 8507 | Norman | Bundoora O5 Swimming 8507 | Norman | Bundoora O9 Dancing 8452 Mary Balwyn O5 Swimming 8452 Mary Balwyn O9 Dancing Phép chiêu ° _. Ð/n: Lựa chọn một sô thuộc tính từ một quan hệ.Œ®) C5=ằẳ=ẽ C2|C5 s* Ví dụ: đưa ra danh sách tên của tât cả các sinh viên Student LT] name (Student) 1108 Robert Kew >> Robert 3936 Glen Bundoora Glen 8507 Norman | Bundoora Norman 8452 Mary Balwyn Mary Phép chọn ¢ D/n: Lua chọn các bộ trong một quan hệ thoả mãn điêu kiện cho trước. Cú pháp: O <condition> (&) R2 =:—= mm. => R3 Ví dụ: đưa ra danh sách những sinh viên sông ở Bundoora Student © suburb=' Bundoora’ (Student) 1108 Robert | 1d | Name | Suburb | 3936 Glen Bundoora >> 3936 Glen Bundoora 8507 | Norman} Bundoora 8507 Norman | Bundoora 8452 Mary Balwyn Phép chọn - Điêu kiện? ° Điêu kiện chọn còn øọI là biểu thức chọn.
‹ Biểu thức chọn E: một tổ hop logic của các toán hạng. Mỗi toán hạng là một phép so sánh đơn giản giữa hai biên là hai thuộc tính hoặc ø1ữa một biên là một thuộc tính và một 1á fTỊ hăng. — Các phép so sánh trong F: <, =, >,<, >, Z — Cac phép toan logic trong F: A, v, — Ví dụ: chọn và chiêu ¢ Dua ra tên của các sinh viên sông ở Bundoora | | Name (0 =». burb=' Bundoora tUdent ) Student 1108 | Robert Kew ~ [Name| 3936 Glen Bundoora Glen 8507 Norman Bundoora Norman 8452 Mary Balwyn Phép kết nồi (join) hai quan hệ r và s ° Khái niệm ghép bộ: u = (a,.,b,,) ° Phép kết nôi hai quan hệ thực chât là phép ghép các cặp bộ của hai quan hệ thỏa mãn một điêu kiện nào đó trên chúng.
° Biểu thức kết nôi là phép hội của các toán hạng, môi toán hạng là một phép so sánh đơn giản g1ữa một thuộc tính của quan hệ r và một thuộc tính của quan hệ s. ¢ Dua ra tên của các sinh viên sông ở Bundoora và mã khoá học mà sinh viên đó đăng ký: | | Name ,Course (Os ipurb=' Bundoora (Student S1 _srp Enrol )) Student [ƒRSSJSðNSEG.2|//SUBUPBDI 1108 | Robert Kew 3936 Glen Bundoora Kết = 8507 | Norman | Bundoora 8452 Mary Balwyn Glen 101 Enrol => Norman 101 3936 101 1108 113 8507 101 Phép kết nồi ngoài ° Phép kết nối ngoài trái a f f X pb — lo lol f _Ì>< S Y << | C Ỉ Z null ° Phép kết nôi ngoài phải — a f X pb << S|V Ps | +i C Ỉ Z null NE null °® Đưa ra danh sách các sinh viên và mã khoá học mà sinh viên đó đăng ký nêu có Student | 1D | Name | Suburb | Psi [couse] 1108 Robert Kew P<] 3936 101 3936 Glen | Bundoora 7 1108 | 113 8507 Norman | Bundoora 8507 101 8452 Mary Balwyn Kétqua | IÐ | Name | Suburb |Course | 1108 Robert Kew 113 — 3936 8507 Glen |Norman} Bundoora Bundoora 101 101 8452 Mary Balwyn null Phép chia ¢ Dinh nghia: Phép chia giữa một quan hệ r bậc n và quan hệ s bậc m (m<n) với sơ đô quan hệ của s là tập con của sơ đô quan hệ của r là một tập các (n-m) — bộ t sao cho khi ghép mọi bộ thuộc s với t thì ta đều có một bộ thuộc r ¢ Cu phap: R= R,: R, r+s={t|Vves>(tw)e rj x = xX zZ a z a xX °® Ví dụ: Đưa ra môn học được dạy ở tât cả các khoá học Subject Course Két qua Systems BCS BCS ) Database | Database BCS MCS Database MCS Algebra MCS Bài tập * Cho CSDL gém 3 quan hệ sau: S (Các hãng cung ứng), P (các mặt hàng), SP (các sự cung ứng). o{(S# SNAME STATUS CITY} SP (S# P# QTY} S† Smith 20 London S1 P1 300 s?7 Jones 10 Paris S1 P2 200 S3 Black 30 Paris S1 P3 400 S2 P1 300 S2 P2 400 S3 P2 200 P{P# PNAME COLOR YWVEIGHT CITY} P 1 Nut red 12 London P2 Bolt green 17 Paris P3 Screw blue 17 Rom P4 Screw red 14 London 25 ¢ Biéu diễn các truy van sau bang dai sé quan hệ: — Đưa ra danh sách các mặt hàng màu đỏ - Cho biết S# của các hãng cung ứng mặt hàng 'PI' hoặc P2 — Liệt kê Š# của các hãng cung ứng cả hai mat hang PL và P2 - Đưa ra S# của các hãng cung ứng ít nhât một mặt hàng màu đỏ — Dua ra S# cua cac hang cung ung tat cả các mặt hang. Bài tập ¢ Cho cac quan hé sau: Supplier SupplyProduct [ sid | sname [size| city | | sid | pid _[ quantity | S1_ | Dustin | 100 | London SỈ P | 500 S2 | Rusty 70 Paris SỈ P2 400 S3 | Lubber | 120 | London SỈ P3 100 s2 P2 200 Product Sở P4 100 Pl | Screw red P2 | Screw | green P3 Nut red P4 Bolt blue ¢ Biéu dién các truy vân sau băng biêu thức đại sô quan hệ: I) Dua ra {sid,sname,size,city} cua cac Supplier co tru so tai London 2) Dua ra {pname} cua tat ca cac mat hang 3) Dua ra {sid} cua cac Supplier cung cap mat hang P1 hoac P2 4) Dua ra {sname} cua cac Supplier cung cap mat hang P3 5) Đưa ra {sname} của các hãng cung ứng ít nhât một mặt hàng màu đỏ 6) Đưa ra {sid} của các hãng cung ứng tât cả các mặt hàng màu đỏ 7) Đưa ra {sname} của các hãng có cung ứng mặt hàng màu đỏ hoặc mẫu xanh 8) Dua ra {sname} của các hãng cụng ứng ít nhât một mặt hàng mau đỏ và ít nhât một mặt hàng màu xanh 9) Dua ra {sid} cua cac hang khong cung ung mat hang nao Nøơôn ngữ QBE QBE (Query-By-Example) Là một ngôn ngữ truy vấn đữ liệu Các câu truy vân được thiết lập bởi một giao diện đô hoạ Phù hợp với các câu truy vân đơn giản, tham chiêu đến ít bảng Một số sản phẩm: IBM™ (IBM Query Management Facility), Paradox, MS.
Access, Truy vần trên một quan hệ e P~ Print Student TD Name Suburb | Px Bundoora ° Biểu thức đại số quan hệ tương đương Ø suburb=' Bundoora (Student) ¢ Lua chon tat ca cac cot Student ID Name Suburb P. | Bundoora ® Sắp XÊD Student ID Name Suburb | P.AO(2) - AO: sap xép tang dan ° DO: sắp xếp giảm dân Truy vần trên nhiều quan hệ °Ò Dưa ra tên của các sinh viên có đăng ký ít nhât một khoá học Student ID Name Suburb Enrol SID Course _id | P. name _id ¢ Dua ra tên các sinh viên không dang ky mot khoá học nào Student ID Name Suburb Enrol SID Course _id P. name _id Các tính toán tập hợp ¢ Cac phép toan: AVG, COUNT, MAX, MIN, SUM ¢ Vi du: dua ya tên các thành pho và sô lượng sinh viên đên từ thành phô Student TD Name Suburb id | G.