1. Trang chủ
  2. » Luận Văn - Báo Cáo

ĐẠI CƯƠNG VỀ CÁC HỆ CƠ SỞ DỮ LIỆU

53 7 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 53
Dung lượng 2,3 MB

Nội dung

ĐẠI CƯƠNG VỀ CÁC HỆ CƠ SỞ DỮ LIỆU

Thơng tin chung Cơ sở liệu • Giảng viên – 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 – Ngoà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ỉ nguyên 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, Nguyên 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, Hoà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 toàn toà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 thành Trời; Thiếu phương thành Đất; Thiếu đức 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, 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 toàn toà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” ? • Yê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 • Giáo viên – Xác định yê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 – Tìm kiếm, thêm, xóa, sửa liệu CSDL • Ngơn ngữ điều khiển Control Language - DCL) liệu (Data – 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 Các thay đổi liệu – 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 yê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 yê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 • Yêu cầu Quản lý lưu trữ • Yêu cầ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 • Yê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 quán 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ân tích hệ thống phát triển ứng dụng: chịu trách nhiệm xác định yêu cầu người dùng cuối, xác định giao dịch cần thiết để đáp ứng yêu cầu người dùng Người lập trình ứng dụng cài đặt yê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 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 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 nguyên 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 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 cịn 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 toá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 XML 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 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 • • • • • • • 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 Lore Lore(97), (97), 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 mt khoỏ 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 toá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 khoá 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ư tha ã ặ Lm th no cú c mt 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 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 B.1 Với phụ thuộc hàm Y – 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 ã Thut toỏ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 toá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 Đ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 23 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 cịn 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 cịn 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 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 cịn 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 cịn 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 cịn 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 • Đ/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) ã Yờu cu ca phộp tỏch ặS1(sid,sname,city,NOE) SP1(pid,pname,colour,quantity) – Bảo tồn thuộc tính, ràng buộc – Bảo tồn liệu • Ví dụ: Phép tách khơng mát thơng tin ỈS1(sid,sname,city,NOE) SP2(sid,pid,pname,colour,quantity) 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 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 = {AặC, BặC, CDặB, CặD} ã B.1: To bng gm hàng, cột A B C D R1 a1 a2 b31 b41 ã T B ặ C, ta cú 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 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 33 Ví dụ (tiế (tiếp) • Từ C Æ D, ta có 34 Phé Phép tá tách bả bảo toà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ó toà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 c XặY F+: XY Ri ã Phộp tỏch s quan hệ R thành {R1, R2, … , Rk} phép tách bảo toà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 = { AặB, BặC, CặA} ã Quay li đề thiết kế sở liệu quan hệ, câu hỏi mà đặt 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ị nguyên tố – Giá trị nguyên tố giá trị mà 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 đủ cịn gọi phụ thuộc phận 41 • Sales(sid, sname, city, item, price) • F = {sidặ(sname,city), (sid,item)ặprice} ã Khoỏ chớnh (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 R(U) X,Y,Z U Ta nói Z phụ 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 khoá quan hệ R • Ví dụ – R = {A,B,C} ; F = {ABỈC , CỈB} – R khơng phải BCNF vỡ CặB, C khụng phi l khoỏ ã 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 toà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 toà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 • Yêu cầu: – Bảo toàn tập phụ thuộc hàm (như thuật tốn trên) – Đảm bảo có lược đồ chứa khoá 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 toà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 = {AặB, ACDặE, EFặG} ã Tỡm mt khoỏ 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 toà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 yê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/xoá 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 toán đặc biệt tiến hành thực thi phép toán , chọn dẫn cụ thể để sử dụng • Các liệu thống kê CSDL giúp ta 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 nguyên 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 toá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 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 toán theo thứ tự thích hợp Kết việc đánh giá phép toá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 toán quan hệ vào đường ống phép tốn Trong đường ống kết phép toá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 quát Đẩ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 quát (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 nguyên 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 cịn P có thuộc tính, nhiên, cị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 hoán phép tích Đề kết nối E1 × E ≡ E × E E1 * E ≡ E * E1 Quy tắc giao hoá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: 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 ) σ F ( E1 ) × E trường hợp F = F1(U1) σ F ( E1 ) × σ F ( E ) trường hợp F = F1(U1) 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 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 toàn liệu SQL An toàn và toàn vẹ vẹn dữ liệ liệu Nguyễ Nguyễn Hồng Phương phuongnhphuongnh-fit@mail.hut.edu.vn • Toàn vẹn liệu – Các ràng buộc toà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 toà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 toà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 toà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 nguyên: 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 cịn 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 soá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 toà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 Ví dụ câu lệ lệnh tạ tạo khung nhì nhìn 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 tuyên 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 luân chuyển cho người khác • Ví dụ: REVOKE update,delete ON NVKH FROM HungNC CASCADE 15 14 Toà Toà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 toàn vẹn liên kết với quan hệ Các ràng buộc toà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 toàn vẹn liệu, hệ thống cịn 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 luôn 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 toà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 toà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 yê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 ... 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... 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... 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ữ

Ngày đăng: 22/12/2022, 18:31

w