Bài giảng Cơ sở dữ liệu - GV. Nguyễn Hồng Phương

65 7 0
Bài giảng Cơ sở dữ liệu - GV. Nguyễn Hồng Phương

Đ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

Bài giảng Cơ sở dữ liệu giúp cho sinh viên ngành công nghệ thông tin có thể, chỉ ra nguyên lý của hệ cơ sở dữ liệu, thiết kế và xây dựng một hệ cơ sở dữ liệu. Đây là tài liệu tham khảo dành cho sinh viên ngành Công nghệ thông tin.

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, Viện CNTT&TT B1 CNTT&TT, B1-603 603, B1 B1-702 702 – Email: phuongnh@soict.hut.edu.vn Ng ễn Hồng Phương Nguyễn phuongnh@soict.hut.edu.vn http://is.hut.edu.vn/~phuongnh • Giờ tiếp sinh viên Bộ môn: – Sáng thứ hai hàng tuần – Ngoài ra, xin liên hệ trước Bộ môn Hệ thống thông tin Viện Công nghệ thông tin Truyền thông Đại học Bách Khoa Hà Nội 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ể: • Dự lớp đầy đủ, tích cực xây dựng • Kiểm tra kỳ • Kiểm tra cuối kỳ – Chỉ nguyên lý hệ sở liệu (CSDL) (CSDL) – Thiết kế xây dựng hệ CSDL • Khối lượng: 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: • 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 • Chương 7: Tổ chức liệu vật lý • Chương 8: XML (?) – 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 N ễ Thiên Thiê Bằng, Bằ Phươ Phương L Lan, Giá trình Giáo t ì h SQL Server S 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… 1 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; N ười có Người ó bốn bố đứ đức: Cần, Cầ Kiệ Kiệm, Liê Liêm, Chính; Chí h Thiếu mùa thành Trời; Thiếu phương thành Đất; Thiếu đức thành Người.” 2 Nội dung chương Chương Đại cương hệ sở liệu  Ng ễn Hồng Phương Nguyễn phuongnh@soict.hut.edu.vn http://is.hut.edu.vn/~phuongnh Bộ môn Hệ thống thông tin Viện Công nghệ thông tin 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 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ống xử lý tệp truyền thống Các hệ thống xử lý tệp truyền 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 khô xem xét é tổng ổ thể hể 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, 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 (d t b (database systems) t )? – 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 g tin học ọ tập,… ậ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ác thơng tin “Hình dung” xây dựng CSDL • Sinh viên • u cầu – Các mơn học Viện Công nghệ thông tin Truyền thông? – Điểm thi môn “Hệ sở liệ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á Xác định đị h yêu ê cầu ầ nghiệp hiệ 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 10 Các khái niệm ứng dụng 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ị sở liệu Hệ sở liệu (Database Management SystemSystem-DBMS) • Là hệ thống phần mềm cho phép • 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 – Đị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 hế b bị nhớ hớ – Thao tác: truy vấn, cập nhật, kết xuất,… CSDL cho ứng dụng khác • 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 14 Hệ CSDL Các tính hệ quản 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 T xuất ất liệu liệ ột cách h hiệ 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 16 Các ngơn ngữ Các tính hệ quản trị CSDL • Ngơn ngữ định nghĩa Definition Language - DDL) • 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 p phép p người g sử dụng ụ g đị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 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 M i l ti Manipulation L 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 17 18 Tương ứng mức với ngôn 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ả hư ột khối nhớ, hớ chương hươ t ì h dịch trình dị h che h dấu dấ 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 20 Kiến trúc hệ quản trị CSDL Các thay đổi sơ đồ Các truy vấn Bộ xử lý câu hỏi Quản lý lưu trữ • Yêu cầu 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 g ị • Thực – Tìm kiếm liệu trả lời cho yêu cầu truy vấn Siêu liệu (metadata) 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 • Yêu cầu Bộ biên dịch – Đị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 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 Quản lý tệp (từ điển liệu) Xử lý câu hỏi • Yêu cầu Quản lý buffer – 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 Bộ quản lý lưu trữ Dữ liệu (data) Bộ quản lý lưu trữ Bộ quản lý lưu trữ Metadata & Data dictionary • Thực – Quản lý điều khiển tương tranh – Phát lỗi phục hồi CSDL Data & index 23 24 Người dùng Người dùng • 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 hươ t ì h kiểm trình, kiể thử gỡ thử, ỡ rối, ối lập lậ tài liệu liệ cho h chương trình • 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 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 p p truy y nhập ập CSDL,, điều p 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, 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 end-user 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 – 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ủ – Đồng vs Không đồng • 29 30 Các hệ CSDL tập trung (tiếp) Các hệ CSDL phân tán • 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: q quan hệ ệ logic g p 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 Hệ CSDL trung tâm Hệ CSDL cá nhân Hệ CSDL kháchchủ 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 34 Sử dụng kiến thức môn học tương lai Các điểm cần lưu ý chương ‘‘More than 80 % of real world computer applications are associated with databases’’* * Korth Phát triển ứng dụng • Cách tiếp cận tệp vs cách tiếp cận CSDL • CSDL vs hệ ệQ 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 & Silberschatz Database System Concepts nghiên cứu phát triển Nghiên cứu 35 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 1/30/2012 Nội dung • • • • • • • Các mơ hình liệu Ng ễn Hồng Phương Nguyễn phuongnh@soict.hut.edu.vn http://is.hut.edu.vn/~phuongnh Bộ môn Hệ thống thông tin Viện Công nghệ thông tin 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ệ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, 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 hì h liệ liệu ột tập tậ hợp hợ 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 IMS, System 2k, 1965 1975 1980 Mơ hình mạng DMS(65), CODASYL (71), IDMS, IDS dbXML,natix, Tamino, 1985 Mô hình Thực thể-liên kết IRDS(87) ,CDD+, Mơ hình • Mơ • Mơ • Mơ • Mơ • Mơ • Mơ • Mơ XML System R(81), DB2, ORACLE, SQL Server, Sybase, 1970 Một vài mơ hình liệu DB2, ORACLE10i, SQL Mơ hình quan hệ mở rộng Server 1990 1995 2000 2005 2010 O2, ORION, IRIS, hướng đối tượng Mơ hình bán cấu trúc 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 (97), 10 1/30/2012 Các câu lệnh an toàn liệu SQL Kiểm tra quyền truy nhập người 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: • 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 – 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âu lệnh tạo khung nhìn Ví dụ câu lệnh tạo khung nhì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) • 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 • 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ệnh phân quyền cho NSD Câu lệnh phân quyền cho NSD (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 51 1/30/2012 Ví dụ câu lệnh phân quyền cho NSD Câu lệnh thu hồi quyền 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, read write, write select, 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 iố hư câu lệnh GRANT • Phần [RESTRICT/CASCADE] chế thu hồi với quyền người dùng lan truyền 14 Toàn vẹn liệu Câu lệnh thu hồi quyền NSD (tiếp) • Định nghĩa: Tính tồn vẹn liệu bảo vệ • 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 ười t , dù đồ đồ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 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 a d t ì ràng trì àng buộc b ộc toàn vẹn ẹ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 16 người sử dụng khác thời điểm 15 Các ràng buộc tồn vẹn SQL Ví dụ 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 Cá khẳng khẳ đị h Là định: ộ vịị từ biểu biể thị hị đ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: 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)) 17 18 52 1/30/2012 Các ràng buộc tồn vẹn SQL (tiếp) Ví dụ kích 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 liệ 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ều khiển tương tranh Các kỹ thuật điều 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 đ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 b iờ quên ê hữ gìì ì h vừa nói" ói" S.Raybum 23 24 53 1/30/2012 Nội dung • • • • • Tổ chức liệu vật lý Ng ễn Hồng Phương Nguyễn phuongnh@soict.hut.edu.vn http://is.hut.edu.vn/~phuongnh Mơ hình tổ chức nhớ Tổ chức tệp đống Tổ chức tệp băm Tổ ổc chức ức tệp c dẫ dẫn Cây cân Bộ môn Hệ thống thông tin Viện Công nghệ thông tin Truyền thông Đại học Bách Khoa Hà Nội Mơ hình tổ chức nhớ ngồi Mơ hình tổ chức nhớ ngồi • Thao tác với liệu tệp thông qua địa tuyệt đối khối • Các ghi có địa chỉ: • Bộ nhớ ngồi (bộ nhớ thứ cấp): đĩa từ, băng từ, – địa tuyệt đối byte – địa khối số byte tính từ đầu khối đến vị trí đầu ghi • Đĩa chia thành khối vật lý (sector) 512 byte đến 4096 byte đánh địa khối gọi địa tuyệt đối • Mỗi tệp liệu chiếm nhiều khối • Mỗi khối chứa nhiều ghi • Địa ghi/khối lưu tệp => sử dụng trỏ (pointer) để truy cập liệu tệp Tổ chức tệp đống (Heap file) Tổ chức tệp đống (Heap file) • Tổ chức liệu • Các thao tác (tiếp) – Bản ghi lưu trữ khối, không tuân theo thứ tự đặc biệt k1 k2 k3  k4 k5 k6  k7 k8 – Xóa ghi: thao tác xóa bao hàm thao tác tìm kiếm Nếu có ghi cần xóa đánh dấu xóa => hệ thống cần tổ chức lại đĩa định kỳ – Sửa ghi: tìm ghi sửa hay nhiều trường  • Các thao tác – Tìm kiếm ghi: tìm kiếm ghi có giá trị khóa cho trước => qt tồn tệp – Thêm ghi: thêm ghi vào sau ghi cuối 54 1/30/2012 Tổ chức tệp đống (Heap file) Tổ chức tệp băm (Hashed files) • Ví dụ: • Hàm băm: h(x) nhận giá trị đoạn [0,k], ví dụ: h(x)=x mod k • Tổ chức tệp liệu Thêm ghi có g giá trịị khóa 32 – Phân chia ghi vào cụm – Mỗi cụm gồm nhiều khối khối – Mỗi khối chứa số lượng ghi cố định – Tổ chức lữu trữ liệu cụm áp dụng theo tổ chức đống • Tiêu chí chọn hàm băm: phân bố ghi tương đối đồng theo cụm Xóa ghi có giá trị khóa 64 Tổ chức tệp băm (Hashed files) Tổ chức tệp băm (Hashed files) h(x) = x mod Store 10 12 18 17 4 • Các thao tác – Tìm kiếm ghi: để tìm ghi có khóa x, tính h(x) cụm chứa ghi, sau tìm kiếm theo tổ chức đống – Thêm ghi: thêm ghi có giá trị khóa x hash Tổ chức tệp băm (Hashed files) h(x) = x mod Store 10 Tổ chức tệp băm (Hashed files) 12 10 17 18 hash • tệp có ghi có trùng khóa x =>bản ghi sai (vì khóa nhất!) • khơng có ghi trùng khóa, ghi thêm vào khối cịn chỗ trống cụm, hết chỗ tạo khối 11 12 55 1/30/2012 Tổ chức tệp băm (Hashed files) Tổ chức tệp dẫn(Indexed Files) • Giả sử giá trị khóa ghi xếp tăng dần • Tệp dẫn tạo cách chọn giá trị khóa ghi • Tệp dẫn bao gồm cặp (k,d), k g giá trịị khoá ghi g đầu tiên,, d địa khối (hay trỏ khối) – Xóa ghi: tìm kiếm ghi xóa – Sửa đổi ghi: • trường cần sửa có tham gia vào khóa việc sửa loại bỏ ghi thêm ghi (bản ghi thuộc vào cụm khác) • trường cần sửa khơng thuộc khóa: tìm kiếm sửa Nếu ghi khơng tồn xem có lỗi 13 14 Tổ chức tệp dẫn(Indexed Files) Tổ chức tệp dẫn(Indexed Files) • Tìm kiếm tệp dẫn • Các thao tác – Cho giá trị khóa ki, tìm ghi (km,d) tệp dẫn cho km

Ngày đăng: 11/05/2021, 00:44

Mục lục

  • CSDL_Ch0

  • CSDL_Ch1

  • CSDL_Ch2

  • CSDL_Ch3

  • CSDL_Ch4

  • CSDL_Ch5

  • CSDL_Ch6

  • CSDL_Ch7

  • SlideAssociationRules

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

Tài liệu liên quan