Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 53 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
53
Dung lượng
2,07 MB
Nội dung
Thơng tin chung • Giảng viên Cơ sở liệu – Nguyễn Hồng Phương – Bộ mơn Hệ thống thơng tin, khoa CNTT, phòng 325 – C1 – Email: phuongnh-fit@mail.hut.edu.vn Nguyễ Nguyễn Hồng Phương phuongnhphuongnh-fit@mail.hut.edu.vn • Giờ tiếp sinh viên Bộ mơn: Bộ mơn Hệ thố thống thơng tin Việ Viện Cơng nghệ nghệ thơng tin và Truyề Truyền thơng Đại học Bách Khoa Hà Nội – Chiều thứ hai hàng tuần – Ngồi ra, xin liên hệ trước Tổng quan mơn học Đánh giá mơn học • Mục tiêu:Sau học xong mơn học này, sinh viên ngành cơng nghệ thơng tin có thể: – Chỉ ngun lý hệ sở liệu (CSDL) – Thiết kế xây dựng hệ CSDL • Dự lớp đầy đủ, tích cực xây dựng • Kiểm tra kỳ • Kiểm tra cuối kỳ • Khối lượng:4 tc, 15 tuần Tài liệu học tập Nội dung mơn học • Bài giảng lớp • Sách tham khảo: – Nguyễn Kim Anh, Ngun lý hệ sở liệu, NXB Đại học Quốc gia, Hà Nội, 2004 – Tơ Văn Nam, Giáo trình Cơ sở liệu, NXB Giáo dục, 2006 – Nguyễn Thiên Bằng, Phương Lan, Giáo trình SQL Server 2000, 2004 – Nguyễn Ngọc Minh, Hồng Đức Hải, Trần Tiến Dũng, Tự học Microsoft SQL Server 2000 21 ngày, NXB Lao động-Xã hội, 2002 – J.D.Ullman, A First Course in Database Systems, Prentice-Hall,1997 – J.D.Ullman, Principles of Database and Knowledge-Base Systems,vol.1, Computer Science Press,1988 – Các tài liệu khác… • Chương 1: Đại cương hệ CSDL • Chương 2: Các mơ hình liệu • Chương 3: Ngơn ngữ định nghĩa thao tác liệu mơ hình quan hệ • Chương 4: Lý thuyết thiết kế CSDL quan hệ • Chương 5: Tối ưu hóa câu truy vấn • Chương 6: An tồn tồn vẹn liệu Danh ngơn Hồ Chí Minh “Trời có bốn mùa: Xn, Hạ, Thu, Đơng; Đất có bốn phương: Đơng, Tây, Nam, Bắc; Người có bốn đức: Cần, Kiệm, Liêm, Chính; Thiếu mùa khơng thể thành Trời; Thiếu phương khơng thể thành Đất; Thiếu đức khơng thể thành Người.” Nội dung chương Chương Đại cương hệ sở liệ liệu ) Nguyễ Nguyễn Hồng Phương phuongnhphuongnh-fit@mail.hut.edu.vn Bộ mơn Hệ thố thống thơng tin Việ Viện Cơng nghệ nghệ thơng tin và Truyề Truyền thơng Đại học Bách Khoa Hà Nội • 1.1 Các hệ thống xử lý tệp truyền thống hạn chế • 1.2 Các hệ CSDL: khái niệm, khả năng, kiến trúc, người dùng hệ quản trị CSDL • 1.3 Sự phân loại hệ CSDL 1.1 Các hệ thố thống xử lý tệp truyề truyền thố thống Các hệ thố thống xử lý tệp truyề truyền thố thống • Mỗi chương trình ứng dụng định nghĩa quản lý tệp liệu riêng • Trước xuất phần mềm hệ quản trị CSDL, q khứ hệ thống sở tệp tạo lập để xử lý số lượng lớn liệu • Bước khởi đầu q trình tin học hóa doanh nghiệp • Tập trung vào nhu cầu xử lý liệu phòng riêng lẻ tổ chức mà khơng xem xét tổng thể tổ chức • Viết chương trình ứng dụng đơn lẻ, khơng có kế hoạch, khơng có mơ hình hướng đến tăng trưởng Hạn chế hệ thống xử lý tệp truyền thống • • • • • • Nội dung chương Dư thừa khơng qn liệu Khó khăn truy nhập liệu Cơ lập hạn chế chia sẻ liệu Các vấn đề an tồn tồn vẹn Các vấn đề độ tin cậy Sự phụ thuộc liệu chương trình ứng dụng ) • 1.1 Các hệ thống xử lý tệp truyền thống hạn chế • 1.2 Các hệ CSDL: khái niệm, khả năng, kiến trúc, người dùng hệ quản trị CSDL • 1.3 Sự phân loại hệ CSDL Ví dụ quản lý đào tạo 1.2 Các hệ sở liệu • Thơng tin cần quan tâm • CSDL (database) ? • Tại phải sử dụng CSDL ? • Tại phải tìm hiểu hệ CSDL (database systems) ? – Khóa học, lớp học, sinh viên, giáo viên, mơn học,… – Thơng tin sinh viên: thơng tin cá nhân, thơng tin học tập,… – Thơng tin mơn học: khối lượng, giáo viên, lịch học,… • Cần lưu trữ thơng tin đa dạng Cơ sở liệu Ví dụ: khai thá thác thơng tin “Hình dung” dung” xây dựng CSDL • Sinh viên – Các mơn học Khoa Cơng nghệ thơng tin ? – Điểm thi mơn “Hệ sở liệu” ? • Giáo viên • u cầu – Lưu trữ thơng tin cần thiết cách xác – Truy xuất thơng tin hiệu • Thực – Xác định u cầu nghiệp vụ – Xác định thơng tin cần lưu trữ – Xác định cách thức lưu trữ – Danh sách sinh viên lớp Tin2-K49 ? – Thời khóa biểu lớp Tin2-K49 ? • Giáo vụ • Cần cơng cụ trợ giúp xây dựng CSDL – Danh sách sinh viên K47 tốt nghiệp loại giỏi ? Phần mềm quản trị CSDL Phần mềm ứng dụng Các khái niệm ứng dụng 10 Cơ sở liệu (database) • Là tập hợp liệu – Biểu diễn vài khía cạnh giới thực – Có liên hệ logic thống – Được thiết kế bao gồm liệu phục vụ mục đích hệ CSDL CSDL • Là sưu tập liệu tác nghiệp lưu trữ lại hệ ứng dụng xí nghiệp cụ thể sử dụng Hệ QTCSDL 11 12 Hệ quản trị trị sở liệ liệu Hệ sở liệu (Database Management SystemSystem-DBMS) • Là hệ thống phần mềm cho phép – Định nghĩa, tạo lập: xác định kiểu, cấu trúc, ràng buộc liệu, lưu trữ liệu thiết bị nhớ – Thao tác: truy vấn, cập nhật, kết xuất,… CSDL cho ứng dụng khác • Là hệ thống gồm thành phần – Hệ quản trị CSDL – Phần cứng – CSDL phần mềm ứng dụng – Những người sử dụng • Ví dụ: Hệ quản lý đào tạo, hệ quản lý nhân sự, hệ quản lý kinh doanh,… • Ví dụ: MS SQL Server, DB2, MS Access, Oracle, FoxPro,… 13 Hệ CSDL 14 Các tính hệ quản trị trị CSDL • Quản lý liệu tồn lâu dài Hệ CSDL – Định nghĩa liệu – Quản lý lưu trữ Ứng dụng • Truy xuất liệu cách hiệu – Biểu diễn thao tác liệu – Xử lý câu hỏi – Quản trị giao dịch Hệ Quản Trị CSDL CSDL CSDL 15 Các tính hệ quản trị trị CSDL • Hỗ trợ mơ hình liệu • Đảm bảo tính độc lập liệu • Hỗ trợ ngơn ngữ cấp cao định cho phép người sử dụng định nghĩa cấu trúc liệu, truy nhập thao tác liệu • Điều khiển truy nhập • Phục hồi liệu 17 16 Các ngơn ngữ • Ngơn ngữ định nghĩa Definition Language - DDL) liệu (Data – Cấu trúc liệu – Mối liên hệ liệu quy tắc, ràng buộc áp đặt lên liệu • Ngơn ngữ thao tác liệu Manipulation Language - DML) (Data • Ngơn ngữ điều khiển Control Language - DCL) (Data – Tìm kiếm, thêm, xóa, sửa liệu CSDL liệu – Thay đổi cấu trúc bảng liệu – Khai báo bảo mật thơng tin – Quyền hạn người dùng khai thác CSDL 18 Tương ứng mức với ngơn ngữ ngữ Pascal Sự trừu tượng hóa liệu Khung nhìn Type khach_hang = record ten:string; Khung nhìn n Mức khung nhìn (ngồi) ngay_sinh:string; dia_chi:string; mơ tả cách mà người sử dụng nhìn thấy liệu Sơ đồ khái niệm (logic) định nghĩa cấu trúc logic liệu, liệu lưu trữ mối quan hệ liệu Mức quan niệm (logic) định nghĩa cấu trúc tệp dẫn sử dụng sở liệu (cách lưu trữ liệu nào) Sơ đồ (vật lý) Mức lưu trữ (trong) end; • Mức vật lý: ghi khach_hang mơ tả khối nhớ, chương trình dịch che dấu chi tiết mức người lập trình • Mức logic: ghi mơ tả định nghĩa kiểu, người lập trình sử dụng ngơn ngữ lập trình làm việc mức trừu tượng • Mức khung nhìn: người sử dụng máy tính thấy tập chương trình ứng dụng, che dấu chi tiết kiểu liệu 19 Kiế Kiến trú trúc hệ quản trị trị CSDL Các thay đổi sơ đồ Các truy vấn Bộ xử lý câu hỏi – lưu trữ truy xuất liệu thiết bị nhớ Bộ quản trị giao dịch • Thực – Tìm kiếm liệu trả lời cho u cầu truy vấn Siêu liệu (metadata) Quản lý buffer Quản lý tệp (từ điển liệu) 21 Quản lý giao dịch Data & index (chỉ mục) 22 Quản trị giao dịch Bộ xử lý câu hỏi Bộ biên dịch Bộ tối ưu Bộ đánh giá • Thực – Biến đổi truy vấn mức cao thành u cầu hiểu hệ CSDL – Lựa chọn kế hoạch tốt để trả lời truy vấn Bộ quản lý lưu trữ – Tổ chức tối ưu liệu thiết bị nhớ – Tương tác hiệu Metadata & với quản lý tệp Data dictionary Xử lý câu hỏi • u cầu Quản lý lưu trữ • u cầu Các thay đổi liệu Bộ quản lý lưu trữ Dữ liệu (data) 20 Bộ quản lý lưu trữ Metadata & Data dictionary Data & index 23 • u cầu – Định nghĩa giao dịch: tập thao tác xử lý đơn vị khơng chia căt – Đảm bảo tính đắn tính qn liệu • Thực – Quản lý điều khiển tương tranh – Phát lỗi phục hồi CSDL 24 Người dùng Người dùng • Người thiết kế cài đặt hệ QTCSDL: chịu trách nhiệm thiết kế cài đặt module hệ QTCSDL giao diện hình thức gói phần mềm • Người phát triển cơng cụ: chịu trách nhiệm thiết kế cài đặt gói phần mềm hỗ trợ cho việc thiét kê, sử dụng tăng cường hiệu hệ CSDL • Người phân tích hệ thống phát triển ứng dụng: chịu trách nhiệm xác định u cầu người dùng cuối, xác định giao dịch cần thiết để đáp ứng u cầu người dùng Người lập trình ứng dụng cài đặt u cầu chương trình, kiểm thử, gỡ rối, lập tài liệu cho chương trình • Người thiết kế CSDL: chịu trách nhiệm xác định liệu lưu trữ CSDL cấu trúc biểu diễn lưu trữ liệu 25 26 Nội dung chương Người dùng • Người sử dụng cuối: người khai thác hệ CSDL • Người quản trị CSDL: chịu trách nhiệm cho phép truy nhập CSDL, điều phối kiểm tra sử dụng CSDL, quản lý tài ngun phần cứng phân mềm cần thiết • Người bảo trì hệ thống: người quản trị hệ thống chịu trách nhiệm việc hoạt động bảo trì mơi trường (phần cứng phần mềm) cho hệ CSDL ) • 1.1 Các hệ thống xử lý tệp truyền thống hạn chế • 1.2 Các hệ CSDL: khái niệm, khả năng, kiến trúc, người dùng hệ quản trị CSDL • 1.3 Sự phân loại hệ CSDL 27 28 Các hệ CSDL tập trung 1.3 Phân loại hệ CSDL • Hệ CSDL cá nhân: người sử dụng đơn lẻ vừa thiết kế, tạo lập CSDL, cập nhật, bảo trì liệu, lập hiển thị báo cáo • Mơ hình liệu – Mạng vs phân cấp vs quan hệ vs hướng đối tượng vs đảm nhiệm vai trò: người quản trị CSDL, người viết chương trình ứng dụng, end-user • Số người sử dụng – Một người dùng vs nhiều người dùng • Hệ CSDL trung tâm: liệu lưu trữ máy tính trung tâm • Hệ CSDL khách-chủ: • Tính phân tán CSDL – Tập trung vs Phân tán • Tính thống liệu – Đồng vs Khơng đồng • 29 – Các máy tính trung tâm lớn đắt so với máy nhỏ máy trạm – Các ứng dụng máy khách truy nhập liệu quản lý máy chủ 30 Các hệ hệ CSDL tậ tập trung (tiế (tiếp) Các hệ CSDL phân tán Hệ CSDL trung tâm Hệ CSDL cá nhân Hệ CSDL kháchchủ • CSDL phân tán? Là tập CSDL có quan hệ logic với trải nhiều trạm làm việc mạng máy tính • Có tính chất: quan hệ logic phân tán • Hệ QTCSDL phân tán: Là hệ thống phần mềm cho phép tạo lập CSDLPT điều khiển truy nhập CSDLPT • Chia loại: CSDLPT khơng 31 32 Kết luận Các hệ CSDLPT (tiếp) • CSDL cho phép lưu trữ khai thác liệu cách thống hiệu (đặc biệt trường hợp khối lượng liệu lớn) • Sự trừu tượng liệu tính độc lập liệu cho phép phát triển ứng dụng “dễ dàng hơn” • Hệ quản trị CSDL cung cấp cơng cụ hữu hiệu trợ giúp việc tạo lập CSDL phát triển ứng dụng 33 Sử dụng kiến thức mơn học tương lai ‘‘More than 80 % of real world computer applications are associated with databases’’* * Phát triển ứng dụng Korth & Silberschatz Database System Concepts nghiên cứu phát triển Nghiên cứu 35 34 Các điểm cần lưu ý chương • Cách tiếp cận tệp vs cách tiếp cận CSDL • CSDL vs hệ QTCSDL vs hệ CSDL • Kiến trúc mức hệ CSDL • Các chức hệ QTCSDL • Người sử dụng hệ CSDL • Phân loại hệ CSDL 36 Lời hay ý đẹp Điều biết giọt nước, điều khơng biết mênh mơng đại dương Einstein 37 38 Nội dung • • • • • • • Các mơ hình liệu Nguyễ Nguyễn Hồng Phương phuongnhphuongnh-fit@mail.hut.edu.vn Bộ mơn Hệ thố thống thơng tin Việ Viện Cơng nghệ nghệ thơng tin và Truyề Truyền thơng Đại học Bách Khoa Hà Nội Tổng quan mơ hình liệu Mơ hình phân cấp Mơ hình mạng Mơ hình quan hệ Mơ hình thực thể liên kết Mơ hình hướng đối tượng Đánh giá, tập Tổng quan mơ hình liệ liệu Tổng quan (tiếp) • Mơ hình liệu [Codd, 1980] gồm: • Nhiều mơ hình bao gồm tập phép tốn để thao tác liệu • Mơ hình thuộc dạng ngữ nghĩa: tập trung ngữ nghĩa liệu mơ hình thực thể liên kết, sử dụng để hỗ trợ người dùng có nhìn khái qt liệu • Mơ hình thuộc dạng khái niệm: tập trung vào cách thức tổ chức liệu mức khái niệm mơ hình mạng, mơ hình liên kết, mơ hình quan hệ, độc lập với DBMS hệ thống phần cứng để cài đặt sở liệu – Một tập hợp cấu trúc liệu – Một tập hợp phép tốn để thao tác với liệu – Một tập hợp ràng buộc liệu • Mơ hình liệu tập hợp khái niệm dùng để mơ tả: – – – – Dữ liệu Ngữ nghĩa liệu Các mối quan hệ liệu Các ràng buộc liệu Vài nét lịch sử Mơ hình quan hệ Mơ hình phân cấp 1965 Mơ hình quan hệ mở rộng System SystemR(81), R(81),DB2, DB2, ORACLE, ORACLE,SQL SQL Server, Server,Sybase, Sybase, IMS, IMS, System System2k, 2k, 1970 1975 1980 1985 Mơ hình Thực thể-liên kết Mơ hình mạng DMS(65), DMS(65), CODASYL CODASYL(71), (71), IDMS, IDMS,IDS IDS Một vài mơ hình liệ liệu DB2, DB2, ORACLE-10i, ORACLE-10i, SQL SQLServer Server XML dbXML,natix, dbXML,natix, Tamino, Tamino, 1990 1995 2000 2005 2010 O2, O2,ORION, ORION, IRIS, IRIS, IRDS(87), IRDS(87), CDD+, CDD+, Mơ hình hướng đối tượng Mơ hình bán cấu trúc Lore Lore(97), (97), • • • • • • • Mơ Mơ Mơ Mơ Mơ Mơ Mơ hình hình hình hình hình hình hình phân cấp mạng quan hệ thực thể liên kết hướng đối tượng bán cấu trúc liệu XML Ví dụ Nhậ Nhận xé xét về phụ phụ thuộ thuộc hàm • Cho U = {A, B, C, D, E} • F = {ABỈC, ACỈB, BCỈDE} TÌm khố tối thiểu quan hệ r xác định U F • Thực • B0: K0= U = ABCDE • B1: Kiểm tra xem có tồn phụ thuộc hàm (K0\{A})ỈU (BCDU) hay khơng Ta cần phải sử dụng thuật tốn để kiểm tra điều kiện tương đương (BCDE)+ có U khơng (BCDE)+= BCDE , khác U Vậy K1 = K0 = ABCDE • B2: Tương tự, thử loại bỏ B khỏi K1 ta có (ACDE)+ = ABCDE = U Vậy K2 = K1 \ {B} = ACDE • B3: K3 = ACDE • B4: K4 = ACE • B5: K5 = AC • Vậy AC khố tối thiểu mà ta cần tìm • Từ tập phụ thuộc hàm suy diễn phụ thuộc hàm khác • Trong tập phụ thuộc hàm cho sẵn có phụ thuộc hàm bị coi dư thừa • Ỉ Làm để có tập phụ thuộc hàm tốt? 19 20 Tập phụ phụ thuộ thuộc hàm tương ương đương đương Ví dụ • Định nghĩa: Tập phụ thuộc hàm F phủ tập phụ thuộc hàm G hay G phủ F hay F G tương đương F+ = G+ • Cho lược đồ quan hệ R(U) với U = {A, B, C, D, E, F} F = {ABỈC, DỈEF, CỈBD} G = {ACỈB, DỈEF, BỈCD} Hỏi F G có phải tập pth tương đương hay khơng? • Thực hiện: Đối với phụ thuộc hàm F – Ký hiệu F G • Kiểm tra tính tương đương tập phụ thuộc hàm B.1 Với phụ thuộc hàm Y Z F, Z Y+ (trên G) Y Z G+ Nếu với phụ thuộc hàm f F, f G+ F+ G+ B.2 Tương tự, phụ thuộc hàm g G, g F+ G+ F+ B.3 Nếu F+ G+ G+ F+ F G – f1= ABỈC AB+ (đối với G) = ABCDEF = U Vậy f1 thuộc G+ – f2= DỈEF thuộc G nên chắn thuộc G+ – f3= CỈBD C+ (đối với G) = C khơng chứa BD Vậy f3 khơng thuộc G+ – Kết luận F khơng tương đương với G 21 22 Tập phụ phụ thuộ thuộc hàm khơ khơng dư dư thừ thừa Phủ Phủ tối thiể thiểu tậ tập phụ phụ thuộ thuộc hàm • Đ/N: Tập phụ thuộc hàm F khơng dư thừa khơng XỈY F cho F \ {XỈY} F • Thuật tốn 3: Tìm phủ khơng dư thừa tập phụ thuộc hàm • Đ/N: Fc gọi phủ tối thiểu tập phụ thuộc hàm F thỏa mãn điều kiện sau: – Vào: Tập thuộc tính U, F = {Li ỈRi: i = n} – Ra : Phủ khơng dư thừa F’ F – Thuật tốn B0 F0= F Bi Nếu Fi-1\ {LiỈRi} Fi-1 Fi = Fi-1 \ {LiỈRi} ngược lại, Fi = Fi-1 Bn+1 F’ = Fn 23 Đk1: Với f Fc, f có dạng X Ỉ A, A thuộc tính Đk2: Với f = XỈY Fc, ! A X (A thuộc tính): (Fc \ f) U {(X \ A)ỈY} Fc Đk3: ! XỈA Fc : Fc \ {XỈA} Fc 24 Thuậ Thuật tố tốn 4: Tì Tìm phủ phủ tối thiể thiểu mộ tậ tập phụ phụ thuộ thuộc hà hàm Ví dụ • Vào: Tập thuộc tính U, F = {LiỈRi: i = n} • Ra: phủ tối thiểu Fc tập phụ thuộc hàm F • Thuật tốn B.1 Biến đổi F dạng F1={Li Ỉ Aj} Aj thuộc tính thuộc U (thoả mãn đk1) B.2 Loại bỏ thuộc tính thừa vế trái phụ thuộc hàm Lần lượt giản ước thuộc tính vế trái phụ thuộc hàm F1 thu F1’ Nếu F1’ F1 loại bỏ thuộc tính xét Khi khơng có giản ước xảy ta thu F2 thỏa mãn đk2 B.3 Loại bỏ phụ thuộc hàm dư thừa Lần lượt kiểm tra phụ thuộc hàm f Nếu F2 \ f F2 loại bỏ f Khi khơng cò phụ thuộc hàm loại bỏ thi thu đươc F3 thoả mãn đk3 B.4 Fc = F3 • U = {A,B,C} F = {BC, BỈC, B, ABỈC} Tìm phủ tối thiểu F? – F1 = {B, C, BỈC, ABỈC} – Xét pth F1 mà vế trái có nhiều thuộc tính ABỈC Giản ước A ta BỈC có F1, A thuộc tính thừa Tương tự ta tìm B thừa, loại bỏ ln ABỈC khỏi F1.F2 = {B, C, BỈC} – Bỏ pth thừa: C thừa Vậy Fc = {B, BỈC} 25 Ví dụ 26 Ví dụ (tiế (tiếp) • Tìm phủ tối thiểu tập phụ thuộc hàm F = {B, ABCDỈE, EFỈG, ACDFỈEG} – F1 = {B, ABCDỈE, EFỈG, ACDFỈE, ACDFỈG} – Loại bỏ thuộc tính thừa phụ thuộc hàm ABCDỈE, ACDFỈE ACDFỈG Xét ABCDỈE: Giả sử giản ước A , ta BCDỈE, kiểm tra BCDỈE có suy từ F1 khơng, ta tính (BCD)+ (đối với F1) (BCD)+ = BCD, khơng chứa E, BCDỈE khơng suy diễn từ F, A khơng phải thuộc tính thừa pth xét B thừa từ F1 ta có B dẫn đến (ACD)+ = ABCDE có chứa E Làm tương tự ta thấy khơng có thuộc tính thừa F2 = {B, ACDỈE, EFỈG, ACDFỈE, ACDFỈG} 27 Phé Phép tá tách cá Sơ đồ đồ quan hệ hệ – Loại bỏ pth thừa F2: Lần lượt thử loại bỏ pth khỏi F2, tập pth thu đựoc sau loại bỏ tương đương với F2 pth vừa loại thừa B khơng thừa loại pth khỏi F2 từ tập phụ thuộc hàm lại A+ khơng chứa B Tương tự , ACDỈE, EFỈ G khơng thừa ACDFỈ E phụ thuộc hàm thừa loại bỏ pth này, tập pth lại ACDỈE, theo tiên đề tăng trưởng ta suy ACDFỈE ACDFỈG thừa loại bỏ pth này, tập pth lại có ACDỈE EFỈG, ta có (ACDF)+ = ACDEFG có chứa G – Vậy Fc = { B, ACDỈE, EFỈG} 28 Phé Phép tá tách khơng mấ má mát thơng tin • Mục đích – Thay sơ đồ quan hệ R(A1, A2, …, An) tập sơ đồ {R1, R2, …, Rk} Ri R R = R1 U R2 U … U Rk • u cầu phép tách • Đ/N: Cho lược đồ quan hệ R(U) phép tách R thành sơ đồ {R1, R2, …, Rk} gọi phép tách khơng mát thơng tin đ/v tập phụ thuộc hàm F với quan hệ r xác định R thỏa mãn F thì: r = R1(r) >< R2(r) >< … >< Rk (r) • Ví dụ: Phép tách mát thơng tin Supplier(sid, sname,city,NOE, pid, pname,colour,quantity) – Bảo tồn thuộc tính, ràng buộc – Bảo tồn liệu ỈS1(sid,sname,city,NOE) SP1(pid,pname,colour,quantity) ỈS1(sid,sname,city,NOE) SP2(sid,pid,pname,colour,quantity) • Ví dụ: Phép tách khơng mát thơng tin 29 30 Thuậ Thuật tố tốn 5: Kiể Kiểm tra tí tính khơng mấ mát thơng tin củ phé phép tá tách Định lý tá tách đơi • Cho lược đồ quan hệ R(U), tập pth F , phép tách R thành R1(U1), R2(U2) phép tách khơng mát thơng tin phụ thuộc hàm sau thỏa mãn F+: U1 ∩ U2Ỉ U1 - U2 U1 ∩ U2Ỉ U2 - U1 • Hệ quả: Cho lược đồ quan hệ R(U) phụ thuộc hàm XỈY thỏa mãn R(U) Phép tách R thành lược đồ R1(U1), R2(U2) phép tách khơng mát thơng tin với: U1 = XY U2 = XZ Z = U \ XY • Vào: R(A1, A2, …, An), F, phép tách {R1, R2, …, Rk} • Ra: phép tách mát thơng tin hay khơng • Thuật tốn B.1 Thiết lập bảng k hàng, n cột Nếu Aj thuộc tính Ri điền aj vào (i,j) Nếu khơng điền bij B.i Xét f = XỈY F Nếu hàng t1, t2 thuộc bảng : t1[X] = t2[X] đồng t1[Y] = t2[Y], ưu tiên giá trị a Lặp khơng thể thay đổi giá trị bảng B.n Nếu bảng có hàng gồm kí hiệu a1, a2, … , an phép tách khơng mát thơng tin ngược lại, phép tách khơng bảo tồn thơng tin 31 Ví dụ 32 Ví dụ (tiế (tiếp) • B.2 & 3: • Từ A Ỉ C, ta có • R = ABCD tách thành R1=AB, R2 =BD, R3=ABC, R4=BCD F = {C, BỈC, CDỈB, CỈD} • B.1: Tạo bảng gồm hàng, cột A B C D R1 a1 a2 a3 b41 R2 b12 a2 b32 a4 R3 a1 a2 a3 b43 R4 b14 a2 a3 a4 A B C D R1 a1 a2 a3 b41 A B C D R1 a1 a2 b31 b41 R2 b12 a2 b32 a4 R2 b12 a2 a3 a4 R3 a1 a2 a3 b43 R3 a1 a2 a3 b43 R4 b14 a2 a3 a4 R4 b14 a2 a3 a4 • Từ B Ỉ C, ta có 33 Ví dụ (tiế (tiếp) • Từ C Ỉ D, ta có 34 Phé Phép tá tách bả bảo tồ tồn tậ tập phụ phụ thuộ thuộc hà hàm • Hình chiếu tập phụ thuộc hàm A B C D R1 a1 a2 a3 a4 R2 b12 a2 a3 a4 R3 a1 a2 a3 a4 R4 b14 a2 a3 a4 • Vậy ta có hàng có tồn giá trị a Chứng tỏ phép tách cho khơng mát thơng tin 35 Cho sơ đồ quan hệ R, tập phụ thuộc hàm F, phép tách {R1, R2, … , Rk} R F Hình chiếu Fi F Ri tập tất XỈY F+: XY Ri • Phép tách sơ đồ quan hệ R thành {R1, R2, … , Rk} phép tách bảo tồn tập phụ thuộc hàm F (F1 F2 … Fk)+ = F+ hay hợp tất phụ thuộc hàm hình chiếu F lên sơ đồ suy diễn phụ thuộc hàm F 36 Ví dụ Các dạng chuẩ chuẩn đố đối vớ với SĐQH • Ví dụ 1: R = {A, B, C} F = { B, BỈC, CỈA} • Quay lại vấn đề thiết kế sở liệu quan hệ, câu hỏi mà đặt q trình Có cần thiết phải tinh chỉnh thiết kế hay khơng, thực thiết kế mà có tốt hay chưa Để giúp trả lời câu hỏi này, người ta đưa định nghĩa dạng chuẩn Có vài dạng chuẩn xem xét, quan hệ thuộc vào dạng chuẩn ta coi số vấn đề dư thừa liệu hay dị thường liệu ngăn ngừa hay tối thiểu hóa • Các dạng chuẩn mà quan tâm – Dạng chuẩn (1NF) – Dạng chuẩn (2NF) – Dạng chuẩn (3NF) 38 – Dạng chuẩn Boye-Code (BCNF) tách thành R1 = AB, R2 = BC Phép tách có phải bảo tồn tập phụ thuộc hàm khơng? • Ví dụ 2: R = {A, B, C} , F = {ABỈC, CỈB} tách thành R1 = AB, R2 = BC Phép tách có bảo tồn tập pth khơng, có mát thơng tin khơng? • Ví dụ 3: R = { A, B, C, D} , F = {B, CỈD} tách thành R1 = AB, R2 = CD Phép tách có bảo tồn tập pth khơng, có mát thơng tin khơng? • Vậy phép tách có bảo tồn tập phụ thuộc hàm khơng đảm bảo khơng mát thơng tin ngược lại 37 Dạng chuẩ chuẩn (1NF) Dạng chuẩ chuẩn (2NF) • Định nghĩa: Một sơ đồ quan hệ R gọi dạng chuẩn tất miền giá trị thuộc tính R chứa giá trị ngun tố – Giá trị ngun tố giá trị mà khơng thể chia nhỏ • Một quan hệ r xác định sơ đồ quan hệ dạng chuẩn quan hệ dạng chuẩn • Ví dụ: Quan hệ khơng dạng chuẩn quan hệ sau chuẩn hóa dạng chuẩn • Định nghĩa: Một sơ đồ quan hệ R coi dạng chuẩn sname city product name price Blake London Nut 100 Bolt 120 Smith Paris Screw 75 sname city item price Blake London Nut 100 Blake London Bolt 120 Smith Paris Screw 75 39 Phụ Phụ thuộ thuộc hà hàm đầ đầy đủ đủ 40 Ví dụ • Định nghĩa: Cho lược đồ quan hệ R(U), F tập phụ thuộc hàm R X, Y U Y gọi phụ thuộc đầy đủ vào X nếu: - XỈY thuộc F+ - ! X’ X : X’ỈY – Sơ đồ quan hệ 1NF – Tất thuộc tính khơng khố phụ thuộc hàm đầy đủ vào khố (Lưu ý, A thuộc tính khố A thuộc khố tối thiểu R Ngược lại A thuộc tính khơng khố) F+ • Các phụ thuộc hàm khơng đầy đủ gọi phụ thuộc phận 41 • Sales(sid, sname, city, item, price) • F = {sidỈ(sname,city), (sid,item)Ỉprice} • Khố (sid,item), ta có sname, city khơng phụ thuộc hàm đầy đủ vào khố => Quan hệ Sales khơng thuộc 2NF • S(sid, sname, city) Sales (sid, item, price) quan hệ thuộc 2NF 42 Dạng chuẩ chuẩn (tiế (tiếp) Phụ Phụ thuộ thuộc bắ bắc cầ cầu • Định nghĩa: Một sơ đồ quan hệ R coi dạng chuẩn • Định nghĩa: Cho lược đồ quan hệ – Sơ đồ quan hệ 2NF – Mọi thuộc tính khơng khố khơng phụ thuộc bắc cầu vào khố R(U) F tập phụ thuộc hàm U Ta nói Z phụ R(U) X,Y,Z thuộc bắc cầu vào X ta có XỈY , Z thuộc F+ Ngược lại, ta nói Z khơng phụ thuộc bắc cầu vào X 43 44 Ví dụ Dạng chuẩ chuẩn BoyeBoye-Codd • Ví dụ 1: Trong ví dụ tách dạng chuẩn ta có: S (sid, sname, city) Sales(sid, item, price) Xét quan hệ S, pth sid Ỉ sname, city tồn S, sid khố chính, thuộc tính khơng khố sname, city phụ thuộc trực tiếp vào sid S thuộc 3NF Tương tự ta có Sales thuộc 3NF • Ví dụ 2: • Định nghĩa: Một sơ đồ quan hệ R(U) với tập phụ thuộc hàm F gọi dạng chuẩn Boye-Codd (BCNF) với XỈA F+ – ItemInfo(item, price, discount) F = {itemỈprice, pricdiscount} Khố item, thuộc tính khơng khố discount phụ thuộc bắc cầu vào khố item Vậy quan hệ khơng 3NF – ItemInfo(item, price) Discount(price, discount) thuộc 3NF 45 – A thuộc tính xuất X – X chứa khố quan hệ R • Ví dụ – R = {A,B,C} ; F = {ABỈC , CỈB} – R khơng phải BCNF CỈB, C khơng phải khố • Chú ý: – Một quan hệ thuộc 3NF chưa thuộc BCNF Nhưng quan hệ thuộc BCNF thuộc 3NF 46 Tách bả bảo tồ tồn tậ tập phụ phụ thuộ thuộc hà hàm về 3NF Ví dụ • Vào: R(U), F (giả thiết F phủ tối thiểu) • Ra: Phép tách bảo tồn tập phụ thuộc hàm 3NF • Thuật tốn B1 Với Ai U, Ai F loại Ai khỏi R lập quan hệ cho Ai B2 Nếu f F, f chứa tất thuộc tính R (đã bỏ Ai bước trên) kết R B3 Ngược lại, với XỈ A F, xác định quan hệ Ri(XA) Nếu XỈAi, XỈAj tạo quan hệ chung R’(XAiAj) 47 Cho R = {A,B,C,D,E,F,G} F = {B, ACDỈE, EFỈG} (đã tối thiểu) • Xác định phép tách bảo tồn tập phụ thuộc hàm 3NF B1 Khơng lập quan hệ B2 ! f F: f chứa tất thuộc tính R B3 B ACDỈE EFỈG Ư R1(AB) Ư R2(ACDE) Ư R3(EFG) 48 Tách khơng mấ má mát thơng tin và bảo tồ tồn tậ tập phụ phụ thuộ thuộc hà hàm về 3NF • u cầu: – Bảo tồn tập phụ thuộc hàm (như thuật tốn trên) – Đảm bảo có lược đồ chứa khố lược đồ tách • Các bước tiến hành B1 Tìm khố tối thiểu lược đồ quan hệ R cho B2 Tách lược đồ quan hệ R theo phép tách bảo tồn tập phụ thuộc hàm B3 Nếu sơ đồ có chứa khố tối thiểu kết B2 kết cuối Ngược lại, thêm vào kết sơ đồ quan hệ tạo khố tối thiểu tìm 49 Ví dụ • Cho R(U) U = {A,B,C,D,E,F,G} F = {B, ACDỈE, EFỈG} • Tìm khố tối thiểu R: K0 = ABCDEFG K1 = K0 loại A BCDEFG Ỉ U khơng thuộc F+ K2 = K1 \{B} = ACDEFG ACDEFG Ỉ U thuộc F+ K3 = K2 loại C ADEFG Ỉ U khơng thuộc F+ K4 = K3 loại D ACEFG Ỉ U khơng thuộc F+ K5 = K4 \{E} = ACDFG ACDFG Ỉ U thuộc F+ K6 = K5 loại F ACDG Ỉ U khơng thuộc F+ K7 = K6 \{G} = ACDF ACDF Ỉ U thuộc F+ 50 • Vậy khố tối thiểu cần tìm ACDF Tách khơng mấ má mát thơng tin về BCNF Ví dụ (tiế (tiếp) • Dùng kết ví dụ phần tách bảo tồn tập phụ thuộc hàm ta có phép tách R thành sơ đồ R1 = AB, R2= ACDE, R3 = EFG • Do khố ACDF khơng nằm sơ đồ sơ đồ trên, ta lập sơ đồ R4 = ACDF • Kết cuối ta có phép tách R thành sơ đồ {R1, R2, R3, R4} phép tách khơng mát thơng tin bảo tồn tập phụ thuộc hàm 51 • Vào: Sơ đồ quan hệ R, tập phụ thuộc hàm F • Ra: phép tách khơng mát thơng tin bao gồm tập sơ đồ BCNF với phụ thuộc hàm hình chiếu F lên sơ đồ • Cách tiến hành B1 KQ = {R}, B2.Với S KQ, S khơng BCNF, xét X A S, với điều kiện X khơng chứa khố S A X Thay S S1, S2 với S1=A X , S2 = S \ A B3 Lặp (B2) S KQ BCNF KQ gồm sơ đồ phép tách u cầu 52 Kết luậ luận • Tầm quan trọng thiết kế CSDL – ảnh hưởng đến chất lượng liệu lưu trữ – Hiệu việc khai thác liệu • Mục đích thiết kế CSDL: – Tránh dư thừa liệu – Tránh dị thường liệu thêm/xố/sửa đổi – Hiệu tìm kiếm ¾ Đưa dạng chuẩn – 2NF: giản ước dư thừa để tránh dị thuờng cập nhật – 3NF: tránh dị thường thêm/xố 53 54 Lời hay ý đẹ đẹp "Nếu anh thấy gia đình hạnh phúc, anh nên tin gia đình có người đàn bà biết qn mình." (René Bazin) 55 10 Nội dung • Tổng quan xử lý truy vấn • Tối ưu hóa biểu thức đại số quan hệ Tối ưu hóa câu truy vấn Nguyễ Nguyễn Hồng Phương phuongnhphuongnh-fit@mail.hut.edu.vn Bộ mơn Hệ thố thống thơng tin Việ Viện Cơng nghệ nghệ thơng tin và Truyề Truyền thơng Đại học Bách Khoa Hà Nội NHP Tổng quan xử lý truy vấn Tổng quan về xử lý truy vấ vấn (tiếp) • Xử lý truy vấn bao gồm bước chính: – Tối ưu hóa câu truy vấn: Mục tiêu bước –Phân tích Biên dịch câu truy vấn: • Để thực điều này, trước tiên ta cần biến đổi biểu thức ĐSQH đầu vào thành biểu thức ĐSQH tương đương xử lý cách hiệu tốn Bước gọi tối ưu hóa đại số • Tiếp theo đó, ta cần phải đặc tả thuật tốn đặc biệt tiến hành thực thi phép tốn , chọn dẫn cụ thể để sử dụng • Các liệu thống kê CSDL giúp ta q trình xem xét lựa chọn Ví dụ như: tối ưu hóa chọn kế hoạch thực câu truy vấn có chi phí thấp Trong bước này, hệ thống phải dịch câu truy vấn từ dạng ngơn ngữ bậc cao thành ngơn ngữ biểu diễn llệu bên để máy tính thao tác Một biểu diễn bên thích hợp hỗ trợ cho bước tối ưu hóa biểu diễn ngơn ngữ đại số quan hệ NHP NHP Tổng quan về xử lý truy vấ vấn (tiếp) Tổng quan về xử lý truy vấ vấn (tiếp) – Số quan hệ – Kích thước – Số khối (block) chứa quan hệ – Số quan hệ mà khối chứa – Các thơng tin chế truy nhập, dẫn quan hệ – Thực đánh giá truy vấn: Từ kế hoạch thực có Trình tối ưu hóa cung cấp, hệ thống tiến hành thực thao tác liệu CSDL đưa câu trả lời cho truy vấn • Chi phí cho việc thực truy vấn đo chi phí sử dụng tài ngun việc truy cập đĩa, thời gian CPU dùng để thực truy vấn • Trong chương này, tập trung vào việc đánh giá biểu thức đại số quan hệ khơng vào chi tiết việc tính tốn chi phí cho việc thực đánh giá truy vấn Truy vấ n đầu o Biể u thứ c ĐSQH Tố i ưu hó a truy vấ n Câ u trả lơ øi truy vấ n NHP Biên dòch truy vấn Thực hiệ n tìm kiế m dl CSDL Thốn g kê dl Kế hoạ ch thự c hiệ n NHP Đánh giá giá biể biểu thứ thức ĐSQH Đánh giá giá biể biểu thứ thức ĐSQH (tiế (tiếp) • Sau bước phân tích biên dịch, ta có truy vấn biểu diễn biểu thức đại số quan hệ bao gồm nhiều phép tốn tác động lên nhiều quan hệ khác Ta phải tiến hành đánh giá biểu thức Có hướng tiếp cận để thực thi q trình đánh giá biểu thức ĐSQH: • Vật chất hóa: Trong cách tiếp cận – Vật chất hóa (Materialize) – Đường ống (Pipeline) ta đánh giá phép tốn theo thứ tự thích hợp Kết việc đánh giá phép tốn lưu quan hệ trung gian tạm thời để sử dụng làm đầu vào cho phép tốn • Điểm bất lợi cách tiếp cận việc cần thiết phải xây dựng quan hệ trung gian tạm thời quan hệ thường phải ghi đĩa (trừ chúng có kích thước nhỏ) Mà việc đọc ghi đĩa có chi phí lớn NHP NHP Đánh giá giá biể biểu thứ thức ĐSQH (tiế (tiếp) Đánh giá giá biể biểu thứ thức ĐSQH (tiế (tiếp) • Đường ống: Chúng ta cải thiện hiệu • Ví dụ: Chúng ta có biểu thức đại số quan hệ gồm phép tốn: kết nối chiếu • Trong cách tiếp cận vật chất hóa, xuất phát từ phép tốn mức thấp phép kết nối tự nhiên, kết phép kết nối lưu quan hệ trung gian Sau , đọc từ quan hệ trung gian để tiến hành chiếu lấy kết mong muốn • Trong cách tiếp cận đường ống, sinh phép kết nối quan hệ, chuyển trực tiếp đến phép chiếu để xử lý kết ghi vào quan hệ đầu Quan hệ kết tạo lập cách trực tiếp đánh giá truy vấn cách làm giảm bớt số lượng quan hệ trung gian tạm thời tạo Điều đạt nhờ việc kết hợp vài phép tốn quan hệ vào đường ống phép tốn Trong đường ống kết phép tốn chuyển trực tiếp cho phép tốn mà khơng cần phải lưu lại quan hệ trung gian • Rõ ràng, cách tiếp cận thứ hai hạn chế nhược điểm cách tiếp cận đầu tiên, có trường hợp, ta bắt buộc phải vật chất hóa khơng dùng đường ống NHP Tối ưu hó hóa cá biể biểu thứ thức ĐSQH • Mục tiêu tổ chức lại trình tự thực phép tốn biểu thức để giảm chi phí thực đánh giá biểu thức • Trong q trình tối ưu hóa, ta biểu diễn biểu thức ĐSQH dạng tốn tử Trong nút quan hệ có mặt biểu thức, nút phép tốn biểu thức • Ví dụ : Đưa tên hãng cung ứng mặt hàng có mã 'P1': Select sname From S, SP Where S.sid = SP.sid And pid = 'P1' • Biểu thức ĐSQH tương ứng là? • Cây tốn tử tương ứng là? 11 NHP 10 NHP Các chiế chiến lượ lược tố tối ưu tổ tổng q qt Đẩy phép chọn phép chiếu xuống thực sớm có thể: hai phép tốn giúp làm giảm kích thước quan hệ trước thực phép tốn ngơi Nhóm dãy phép chọn chiếu: Sử dụng chiến lược có dãy phép chọn dãy phép chiến quan hệ Kết hợp phép chọn tích Đề thành phép kết nối: Nếu kết phép tích Đề đối số phép chọn có điều kiện chọn phép so sánh thuộc tính quan hệ tham gia tích Đề ta nên kết hợp phép tốn thành phép kết nối Tìm biểu thức chung biểu thức đại số quan hệ để đánh giá lần 12 NHP Các phé phép biế biến đổ đổi tương đương biể biểu thứ thức ĐSQH Các chiế chiến lượ lược tố tối ưu tổ tổng q qt (tiế (tiếp) Xác định phép tốn đưa vào đường ống thực đánh giá chúng theo đường ống Xử lý tệp liệu trước tiến hành tính tốn: Tạo lập dẫn hay xếp tệp liệu góp phần làm giảm chi phí phép tính trung gian Ước lượng chi phí lựa chọn thứ tự thực hiện: Do với câu truy vấn có nhiều cách khác để thực hiện, với việc ướng lượng chi phí (số phép tính, tài ngun sử dụng, dung tích nhớ, thời gian thực ) ta chọn cách đánh giá biểu thức ĐSQH có chi phí nhỏ • Hai biểu thức ĐSQH E1 E2 tương đương chúng cho kết áp dụng tập quan hệ • Trong phần này, ta có ký hiệu dạng sau: – E1, E2, E3, … biểu thức đại số quan hệ – F1, F2, F3, … điều kiện chọn điều kiện kết nối – X1, X2, … Y, Z, U1, U2, … tập thuộc tính 13 NHP 14 NHP Các phé phép biế biến đổ đổi tương đương biể biểu thứ thức ĐSQH (tiếp) Các phé phép biế biến đổ đổi tương đương biể biểu thứ thức ĐSQH (tiếp) • VD: S* SP * P thực theo thứ tự sau Quy tắc kết hợp phép tích Đề kết nối ( E1 × E ) × E3 ≡ E1 × ( E × E3 ) 1)(S*SP)*P 2)(S*P)*SP 3)S*(SP*P) ( E1 * E ) * E3 ≡ E1 * ( E * E3 ) ( E1 >< E ) >< E3 ≡ E1 >< E3 ) F1 • F2 F1 Xét theo ngữ nghĩa S, P khơng kết nối nên (1) (3) tốt (2) Xét kích thước (3) tốt (1) S có thuộc tính P có thuộc tính, nhiên, tùy thuộc vào lực lượng quan hệ S P F2 Qui tắc sử dụng cho chiến lược số Thứ tự thực phép kết nối hay tích Đề quan trọng kích thước quan hệ trung gian lớn khơng cân nhắc kỹ Lựa chọn thứ tự thực phép tốn tùy thuộc vào kích thước quan hệ tham gia phép tốn ngữ nghĩa quan hệ (mối liên hệ) 15 NHP 16 NHP Các phé phép biế biến đổ đổi tương đương biể biểu thứ thức ĐSQH (tiếp) Các phé phép biế biến đổ đổi tương đương biể biểu thứ thức ĐSQH (tiếp) Quy tắc giao hốn phép tích Đề kết nối E1 × E ≡ E × E E1 * E ≡ E * E1 Quy tắc giao hốn phép chọn phép chiếu ∏ X (σ F ( E )) ≡ σ F ( ∏ X ( E )) E >< E ≡ E >< E F F Quy tắc áp dụng F điều kiện xác định tập thuộc tính X Tổng qt ta có: Quy tắc dãy phép chiếu ∏ X ( ∏ X ∏ X n ( E ) ) ≡ ∏ X ( E ) X ⊆ X ⊆ ⊆ X n ∏ X (σ F ( E )) ≡ ∏ X (σ F ( ∏ XY ( E ))) Quy tắc dãy phép chọn σ F (σ F σ Fn ( E ) ) ≡ σ F 1∧ F 2∧ ∧ Fn ( E ) NHP 17 18 NHP Các phé phép biế biến đổ đổi tương đương biể biểu thứ thức ĐSQH (tiếp) Các phé phép biế biến đổ đổi tương đương biể biểu thứ thức ĐSQH (tiếp) Quy tắc phép chọn phép tích Đề • Ta ký hiệu: – – – • – – – E1(U1) có nghĩa biểu thức E1 xác định tập thuộc tính U1 F1(U1) có nghĩa điều kiện chọn F1 xác định tập thuộc tính U1 Quy tắc biến đổi liên quan đến phép chọn tích Đề phát biểu sau: σ F ( E (U ) × E (U )) tương đương với: σ F ( E1 ) × E trường hợp F = F1(U1) σ F ( E1 ) × σ F ( E ) trường hợp F = F1(U1) Quy tắc phép chọn phép hợp: σ F ( E1 ∪ E ) ≡ σ F ( E1 ) ∪ σ F ( E ) Quy tắc phép chọn phép trừ: σ F ( E1 − E ) ≡ σ F ( E1 ) − σ F ( E ) F2(U2) σ F (σ F ( E1 ) × E ) trường hợp F = F1(U1) F2(U1U2) 19 NHP 20 NHP Các phé phép biế biến đổ đổi tương đương biể biểu thứ thức ĐSQH (tiếp) Ví dụ Quy tắc phép chiếu tích Đề các: • Tìm tên hãng cung ứng mặt hàng màu đỏ màu xanh ∏ X ( E (U ) × E (U )) ≡ ∏ Y ( E ) × ∏ Z ( E ) X = YZ , Y ⊂ U , Z ⊂ U 10.Quy tắc phép chiếu phép hợp: ∏ X ( E1 U E ) ≡ ∏ X ( E1 ) U ∏ X ( E ) SELECT sname FROM S, P, SP WHERE S.sid = SP.sid AND P.pid = SP.pid AND (colour = ‘Red’ OR colour = ‘Green’); • Biểu thức đại số quan hệ tương đương với câu truy vấn là: ∏ sname (σ S sid = SP.sid ∧ P pid = SP pid ∧( colour = 'Re d '∨ colour = 'Green ') ( S × SP × P)) 21 NHP 22 NHP Lời hay ý đẹ đẹp "Phẩm cách chân người cách họ sống khơng phải họ có" Blackie 23 NHP 24 NHP Nội dung • An tồn liệu – Xác minh người sử dụng – Kiểm tra quyền truy nhập người sử dụng – Các câu lệnh an tồn liệu SQL An tồ tồn và tồ tồn vẹ vẹn dữ liệ liệu Nguyễ Nguyễn Hồng Phương phuongnhphuongnh-fit@mail.hut.edu.vn • Tồn vẹn liệu – Các ràng buộc tồn vẹn SQL – Điều khiển tương tranh Bộ mơn Hệ thố thống thơng tin Việ Viện Cơng nghệ nghệ thơng tin và Truyề Truyền thơng Đại học Bách Khoa Hà Nội An tồ tồn dữ liệ liệu Các quyề quyền truy nhậ nhập củ ngườ người sử sử dụng • Định nghĩa: Tính an tồn liệu bảo vệ liệu sở liệu chống lại truy nhập, sửa đổi hay phá hủy bất hợp pháp • Người sử dụng hợp pháp người sử dụng cấp phép, ủy quyền Ngược lại người sử dụng bất hợp pháp • Để đảm bảo tính an tồn cho sở liệu, cần có chế để quản lý người dùng cho hợp lý • Những nhóm người dùng khác hệ CSDL có quyền sử dụng khác liệu CSDL • Quyền đọc liệu: phép đọc phần hay tồn liệu CSDL • Quyền cập nhật liệu: phép sửa đổi số giá trị khơng xóa liệu CSDL • Quyền xóa liệu: phép xóa liệu CSDL • Quyền bổ sung liệu: phép thêm liệu vào CSDL khơng phép thay đổi liệu • Quyền tạo dẫn quan hệ CSDL • Quyền thay đổi sơ đồ sở liệu: thêm hay xóa thuộc tính quan hệ CSDL • Quyền loại bỏ quan hệ CSDL • Quyền quản lý tài ngun: phép thêm quan hệ vào CSDL Trá Trách nhiệ nhiệm củ ngườ người quản trị trị hệ thố thống Xác minh ngườ người sử sử dụng • Để phân biệt người sử dụng hệ CSDL, người quản trị hệ thống phải có trách nhiệm: • Để xác minh người sử dụng, người ta dùng kỹ thuật sau: – Xác định quyền cụ thể mà người sử dụng hay nhóm người sử dụng phép thực hiện, xác định vai trò trách nhiệm người sử dụng Điều gọi chung Phân quyền người sử dụng – Cung cấp phương tiện cho người sử dụng để hệ thống nhận biết người sử dụng hay gọi Xác minh người sử dụng – Kỹ thuật dùng tài khoản mật khẩu, mật bảo vệ hệ thống cách kỹ – Kỹ thuật sử dụng hàm kiểm tra cho người sử dụng: Hệ thống đưa cho người sử dụng số ngẫu nhiên x, người sử dụng dùng hàm F tính nhẩm kết đưa kết y = F(x) vào hệ thống Trong lúc đó, hệ thống tính tốn so sánh kết với y Người sử dụng hợp pháp người biết hàm biến đổi F đưa vào giá trị y – Kỹ thuật dùng thẻ điện tử, thẻ thơng minh – Kỹ thuật sử dụng nhận dạng tiếng nói, vân tay v v Kiể Kiểm tra quyề quyền truy nhậ nhập củ ngườ người sử sử dụng • Mỗi người sử dụng có hồ sơ người quản trị thiết lập hệ thống quản lý, hồ sơ có chi tiết thao tác người sử dụng phép thực hiện: – Phân quyền người sử dụng: Người quản trị hệ thống phải có trách nhiệm xác định khung nhìn để kiểm sốt xem người sử dụng truy nhập phần liệu CSDL có quyền số quyền đọc, thêm, xóa , sửa đổi – Xác định kiểm sốt lưu chuyển liệu: Hệ thống phải bảo trì danh sách quyền cách chặt chẽ người sử dụng quyền lan truyền quyền cho người sử dụng khác Các câu lệ lệnh an tồ tồn dữ liệ liệu SQL • Câu lệnh tạo khung nhìn • Câu lệnh phân quyền cho người sử dụng • Câu lệnh thu hồi quyền người sử dụng Câu lệ lệnh tạ tạo khung nhì nhìn Ví dụ câu lệ lệnh tạ tạo khung nhì nhìn • CREATE VIEW [(d/s cột)] AS • Danh sách cột khung nhìn phần khơng bắt buộc Trong trường hợp người sử dụng muốn đặt tên khác cho cột xuất khung nhìn người sử dụng tên cột, liệu cột tương ứng với cột mệnh đề Select câu truy vấn • Cho sở liệu gồm quan hệ: Nhânviên(Id,Họtên,ĐC,Lương,NămBD,Đánhgiá,PhòngCT) Phòng(PId, Tên, ĐC, Điệnthoại, Trưởngphòng) • Câu lệnh tạo khung nhìn cho nhân viên phòng Khoa Học định nghĩa sau: CREATE VIEW NVKH(HọtênNhânviên, Địachỉliênlạc) AS SELECT Họtên,Địachỉ FROM Nhânviên WHERE PhòngCT IN (SELECT PId FROM Phòng WHERE Tên =‘Khoa Học’) 10 Câu lệ lệnh phân quyề quyền cho NSD Câu lệ lệnh phân quyề quyền cho NSD (tiế (tiếp) • GRANT ON TO [WITH GRANT OPTION] • : bao gồm hay nhiều thao tác liệt kê đây: • : bảng khung nhìn • : Một người hay nhóm hay danh sách người sử dụng Từ khóa public dùng thay cho người sử dụng • [With Grant Option] Nếu dùng từ khóa câu lệnh phân quyền người dùng xuất có quyền lan truyền quyền vừa tun bố cho người dùng khác – Insert: chèn liệu vào CSDL có sẵn khơng thay đổi mục liệu CSDL – Update: sửa đổi liệu khơng xóa liệu – Delete: xóa liệu CSDL – Select : tìm kiếm – Create: tạo lập quan hệ – Alter: Thay đổi cấu trúc quan hệ – Drop: Loại bỏ quan hệ – Read/Write: Đọc Ghi 11 12 Ví dụ câu lệ lệnh phân quyề quyền cho NSD Câu lệ lệnh thu hồ hồi quyề quyền củ NSD • Trao quyền đọc, ghi, tìm kiếm, sửa đổi liệu cho nhân viên tên Hoa phòng Khoa học khung nhìn vừa tạo lập phần trước GRANT read, write, select, update ON NVKH TO Hoa; • Trao quyền cho trưởng phòng Khoa học – ơng HungNC GRANT read, write, select, update, delete ON NVKH TO HungNC WITH GRANT OPTION; 13 • REVOKE ON FROM [RESTRICT/CASCADE] • , , giống câu lệnh GRANT • Phần [RESTRICT/CASCADE] chế thu hồi với quyền người dùng lan truyền Câu lệ lệnh thu hồ hồi quyề quyền củ NSD (tiế (tiếp) • Nếu Restrict có nghĩa hủy bỏ quyền người có danh sách, quyền lan truyền cho người khác khơng bị thu hồi • Nếu dùng Cascade hủy bỏ quyền người , đồng thời kéo theo hủy bỏ quyền mà người dùng ln chuyển cho người khác • Ví dụ: REVOKE update,delete ON NVKH FROM HungNC CASCADE 15 14 Tồ Tồn vẹ vẹn dữ liệ liệu • Định nghĩa: Tính tồn vẹn liệu bảo vệ liệu CSDL chống lại sửa đổi, phá hủy vơ để đảm bảo tính đắn xác liệu • Các thao tác ảnh hưởng đến tính đắn CSDL thêm, xóa , sửa đổi • Để đảm bảo tính tồn vẹn liệu, cần phải trì ràng buộc tồn vẹn liên kết với quan hệ Các ràng buộc tồn vẹn cung cấp phương tiện để đảm bảo thao tác thực người sử dụng hợp pháp khơng làm tính đắn CSDL • Trong hệ thống đa người dùng, để đảm bảo tồn vẹn liệu, hệ thống phải có trình điều khiển tương tranh để tránh đụng độ thao tác đưa người 16 sử dụng khác thời điểm Các rà ràng buộ buộc tồ tồn vẹ vẹn SQL Ví dụ khẳ khẳng đị định • Các ràng buộc khóa chính, khóa ngồi, kiểm tra miền sử dụng Check đề cập đến nói câu lệnh tạo bảng CSDL • Các khẳng định: Là vị từ biểu thị điều kiện mà CSDL phải ln ln thỏa mãn Các khẳng định tạo câu lệnh: CREATE ASSERTION CHECK • Số lượng mặt hàng cung cấp hãng có số nhân viên < 50 phải nhỏ 100: 17 CREATE ASSERTION KĐSốlượng CHECK NOT EXISTS (SELECT * FROM S WHERE numofemps < 50 AND sid IN (SELECT sid FROM SP WHERE quantity >= 100)) 18 Các rà ràng buộ buộc tồ tồn vẹ vẹn SQL (tiếp) Ví dụ kích hoạ hoạt • Các kích hoạt: Là thao tác thực • Nhânviên(ID,Họtên,Lương,Địachỉ,Ngườ iquảnlý) • Một nhân viên có lương lương người trưởng phòng, điều kiện phải kiểm tra thêm liệu cách tự động có thay đổi CSDL Kích hoạt chế có ích để báo động thực nhiệm vụ định sẵn điều kiện định thỏa mãn • Kích hoạt định nghĩa để hủy bỏ, kiểm tra thực số kiện coi biện pháp để đảm bảo tồn vẹn liệu DEFINE TRIGGER ThemNV ON INSERT Nhânviên IF Nhânviên.Lương > (SELECT E.Lương FROM Nhânviên AS E WHERE E.ID = Nhânviên.Ngườiquảnlý) THEN ABORT; 19 20 Điề Điều khiể khiển tương tranh Các kỹ kỹ thuậ thuật điề điều khiể khiển tương tranh • Trong hệ CSDL đa người dùng, hệ thống cần đưa giải pháp chống đụng độ giao dịch (một dãy thao tác) đưa người dùng khác để tránh việc đối tượng liệu bị làm tính đắn q trình cập nhật • Kỹ thuật dùng khóa: Khi giao dịch cần liệu xin hệ điều hành khóa phần liệu đó, giao dịch khác phải đợi đến giải phóng khóa sử dụng phần liệu Có thể người ta sử dụng loại khóa khác ví dụ khóa đọc – cho phép nhiều giao dịch đọc lúc, khóa ghi – giao dịch có thời điểm • Kỹ thuật gán nhãn thời gian: Mỗi giao dịch gán nhãn T theo thời gian, giao dịch cần ưu tiên gán nhãn thời gian nhỏ thực trước Kỹ thuật giúp đưa u cầu đồng thời thực 21 22 Lời hay ý đẹ đẹp "Khi nói thật bạn khơng phải nhớ vừa nói gì, mà bạn khơng qn vừa nói" S.Raybum 23 24 [...]... phần củ của SQL 58 Ngôn ngữ ngữ đị định nghĩ nghĩa dữ dữ liệ liệu • Ngôn ngữ định nghĩa dữ liệu (Data Definition Language) – Cấu trúc các bảng CSDL – Các mối liên hệ của dữ liệu – Quy tắc, ràng buộc áp đặt lên dữ liệu • Ngôn ngữ thao tác dữ liệu (Data Manipulation Language) – Thêm, xoá, sửa dữ liệu trong CSDL – Truy vấn dữ liệu • Ngôn ngữ điều khiển dữ liệu (Data Control Language) – Khai báo bảo mật... COUNT._id > 5 • G ~ Grouping 51 Các thao tác thay đổi dữ liệu • Xóa Student D ID Name 52 Tính đầy đủ của QBE • Có thể biểu diễn cả 5 phép toán đại số cơ sở ( , , ,\,x) Suburb 1108 • Thêm Student I ID 1179 Name David Suburb Evry • Sửa Student ID 1179 Name Suburb U.Paris 53 54 9 Định nghĩ nghĩa dữ dữ liệ liệu trong QBE (tiế (tiếp) Định nghĩ nghĩa dữ dữ liệ liệu trong QBE • sử dụng cùng qui cách và giao... Tất cả các truy nhập vào thuộc tính của đối tượng đều phải được thực hiện thông qua các phương thức này tenmon – Lớp: một cách thức để khai báo một tập các đối tượng có chung một tập thuộc tính và phương thức mon_hoc soHT giao_vien 43 Mô hì hình dữ dữ liệ liệu hướ hướng đố đối tượ tượng Ví dụ: 44 Mô hì hình dữ dữ liệ liệu hướ hướng đố đối tượ tượng Nhậ Nhận xé xét: class sinh_vien { string maSV; string... 16 Lời hay ý đẹp "Người kém thông minh nhưng say sưa với công việc, tiến mạnh và xa hơn người cực thông minh mà lãnh đạm với công việc" J Deval 97 17 Nội dung Lý thuyết thiết kế cơ sở dữ liệu quan hệ • • • • Nguyễ Nguyễn Hồng Phương phuongnhphuongnh-fit@mail.hut.edu.vn Bộ môn Hệ thố thống thông tin Việ Viện Công nghệ nghệ thông tin và và Truyề Truyền thông Đại học Bách Khoa Hà Nội Tổng quan về thiết... thông tin về sự cung cấp này thì ta sẽ mất thông tin về hãng cung cấp • Dị thường dữ liệu khi sửa đổi: Do thông tin bị lặp lại nên việc sửa đổi 1 bộ dữ liệu có thể dẫn đến việc không nhất quán trong dữ liệu về một hãng nếu sơ sót không sửa đổi trên toàn bộ các bộ giá trị 4 liên quan đến hãng đó Giả sử ta cần một cơ sở dữ liệu lưu trữ thông tin về các hãng cung ứng Sơ đồ quan hệ được thiết kế trong đó...Mô hình dữ liệ liệu phân cấp (Hierarchical data model) model) Đặt vấn đề • Đặc điểm của các mô hình dữ liệu? • Sự khác nhau giữa các mô hình dữ liệu? • Các mô hình dữ liệu phổ biến ngày nay • Ra đời những năm 60-65 • Biểu diễn bằng cây – Quan hệ cha-con – Mỗi nút có 1 cha duy nhất – 1 CSDL = 1 tập các cây = 1 rừng • Các khái niệm cơ bản – Bản ghi – Móc nối – Các phép toán:... được cung cấp bởi hãng đó là trong khoảng từ 75 đến 100 SELECT sid, AVG(quantity) FROM SupplyProduct 91 Các câu lệ lệnh cậ cập nhậ nhật dữ dữ liệ liệu GROUP BY sid HAVING AVG(quantity) BETWEEN 75 AND 100 92 Các câu lệ lệnh cậ cập nhậ nhật dữ dữ liệ liệu • Thêm • Xóa dữ liệu: ¾INSERT INTO table[(col1,col2,…)] VALUES (exp1,exp2,…) ¾INSERT INTO table[(col1,col2,…)] SELECT col1,col2, … FROM tab1, tab2,... niềm tin trong công việc Teewilson 53 9 Nội dung Ngôn ngữ định nghĩa và thao tác dữ liệu đối với mô hình quan hệ • 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á Nguyễ Nguyễn Hồng Phương phuongnhphuongnh-fit@mail.hut.edu.vn • Một số ngôn ngữ dữ liệu mức cao Bộ môn Hệ thố thống thông tin Việ Viện Công nghệ nghệ thông tin và... tục: GET 11 hoc co_diem gom sinh_vien mon_hoc co diem_thi 12 2 Mô hình dữ liệu quan hệ Mô hình dữ liệu mạng • Sự ra đời: vào năm 1970[Codd, 1970] • Dữ liệu được biểu diễn dưới dạng bảng • Là mô hình dữ liệu khái niệm phổ biến cho đến tận thời điểm hiện tại • Dựa trên lý thuyết toán học, đồng thời cũng gần với cấu trúc tệp và cấu trúc dữ liệu nên có hai loại thuật ngữ liên quan: • Ưu điểm – Đơn giản –... tương ứng MH_GV(maMH,giao_vien) maMH Mô hì hình dữ dữ liệ liệu hướ hướng đố đối tượ tượng (Object(Object-oriented data model) • Sự ra đời – Khoảng đầu những năm 90 • Biễu diễn: sơ đồ lớp • Các khái niệm cơ bản – Đối tượng: một đối tượng trong thế giới thực, được xác định bởi một định danh duy nhất – Thuộc tính: biểu diễn một đặc tính của đối tượng, – Phương thức : thao tác được thực hiện trên đối tượng ... minh say sưa với cơng việc, tiến mạnh xa người cực thơng minh mà lãnh đạm với cơng việc" J Deval 97 17 Nội dung Lý thuyết thiết kế sở liệu quan hệ • • • • Nguyễ Nguyễn Hồng Phương phuongnhphuongnh-fit@mail.hut.edu.vn... Người.” Nội dung chương Chương Đại cương hệ sở liệ liệu ) Nguyễ Nguyễn Hồng Phương phuongnhphuongnh-fit@mail.hut.edu.vn Bộ mơn Hệ thố thống thơng tin Việ Viện Cơng nghệ nghệ thơng tin và Truyề Truyền... vẹ vẹn dữ liệ liệu Nguyễ Nguyễn Hồng Phương phuongnhphuongnh-fit@mail.hut.edu.vn • Tồn vẹn liệu – Các ràng buộc tồn vẹn SQL – Điều khiển tương tranh Bộ mơn Hệ thố thống thơng tin Việ Viện Cơng