Giáo trình CSDL Nguyễn Hồng Phương

65 709 1
Giáo trình CSDL 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

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 toàn toà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: Xuân, 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 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ẻ, kế hoạch, 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 quán 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, 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 • Yê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 (ngoà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 bao gồm tập phép toá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 quát 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 soá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 toà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 luân 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 toà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 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 toàn vẹn SQL Ví dụ khẳng định • Các ràng buộc khóa chính, khóa ngoà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 toà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 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 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ớ Mô hình tổ chức nhớ • 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ớ (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 => quét toà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!) • ghi trùng khóa, ghi thêm vào khối 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[...]... 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ễn Hồng Phương • Một số ngôn ngữ dữ liệu mức cao 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 và Truyền thông Đại học Bách Khoa Hà Nội – QBE (Query By Example) – SQL (Structured Query Language) • Kết luận 1 2 CSDL ví dụ 2 CSDL ví dụ 1 Supplier... cơ sở dữ liệu quan hệ • • • • Ng ễn Hồng Phương Nguyễn Tổng quan về thiết kế CSDLQH Phụ thuộc hàm Phép tách các sơ đồ quan hệ (SĐQH) Các dạng chuẩn đối với các SĐQH 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 và Truyền thông Đại học Bách Khoa Hà Nội 1 2 Tổng quan về thiết kế CSDLQH Các vấn đề đối với CSDL VD • Vấn đề của một sơ đồ quan... quan trong một xí nghiệp trong thế giới thực dưới dạng các đối tượng và các mối quan hệ của chúng • Được sử dụng cho bước đầu thiết kế CSDL, CSDL làm nền tảng để ánh xạ sang một mô hình khái niệm nào đó mà Hệ quản trị CSDL sẽ sử dụng • Trong mô hình thực thể liên kết, CSDL được mô hình hóa như là: • Ưu điểm – Dựa trên lý thuyết tập hợp – Khả năng tối ưu hoá các xử lý phong phú • Nhược điểm – Hạn chế... U được gọi là khoá ngoài của quan hệ r(U) tham chiếu đến một quan hệ r’ nếu K là khoá chính của r’ • Quan hệ: SinhViên(MãSV, TênSV, NămSinh, GiớiTính, Lớp) SV001 SV002 SV003 SV004 Nguyễn Văn An Nguyễn Văn An Lê Văn Cường Nguyễn Thùy Linh 1982 1985 1981 1981 1 1 1 0 Tin 7 HTTT HTTT BK65 • Siêu khoá: {MãSV, HọTên}; • Khoá tối thiểu: {MãSV}; {HọTên, NămSinh} • Khoá ngoài: TênLớp nếu coi nó là khoá chính... 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 N ô ngữ ữ thao th tá dữ liệu tác liệ (Data Manipulation l 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 thông tin – Quyền hạn của người dùng trong khai thác CSDL – Sơ đồ quan hệ – Kiểu dữ liệu... đị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 maMH • 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 44 Mô hình dữ liệu hướng đối tượng... tập: Vẽ sơ đồ ER • Bài toán: phân tích và thiết kế 1 CSDL gồm các thông tin trong 1 công ty (nhân viên, phòng ban, dự án) Ho Dem Ten SoBH HoTen Dia_chi Ten _phong Ma_phong – Công ty được tổ chức bởi các phòng ban Mỗi phòng ban có 1 tên duy nhất, 1 số duy nhất và 1 người quản lý (thời điểm bắt đầu công tác quản lý của người này cũng được lưu lại trong CSDL) Mỗi phòng ban có thể có nhiều trụ sở làm việc... CNTT01 Nhập môn CSDL Mô hình dữ liệu quan hệ soHT 4 Truyền DL và mạng Ví dụ CNTT02 4 CNTT03 Phân tích và thiết kế hệ thống 4 HTTT01 Quản lý dự án 3 • Các khái niệm cơ bản – Thuộc tính, miền thuộc tính – Quan hệ – Khóa LOP malop lop khoa GVCN loptruong Trần T Bình IT4 Tin 4 CNTT Ng V Anh IT5 Tin 5 CNTT Lê A Văn Ng Đ Trung IT6 Tin 6 CNTT Ng T Thảo Trần M Quế IT7 Tin 7 CNTT Ng V Quý Ng T Phương SINH_VIEN... dựng một hệ CSDL Bài tập • Cho sơ đồ thực thể liên kết bên dưới, hãy biến đổi sang mô hình quan hệ: 1: PHÂN TÍCH StudentName StudentBirth Mô tả ứng dụng Mô hình hoá DL (vd: Sơ đồ thực thể-liên kết) LecturerName Lecturers LecturerPhone Belong to 3: CÀI ĐẶT ClassID ClassName Mô tả DL logic với 1 mô hình DL cụ thể (vd: Sơ đồ quan hệ) Students StudentAddress 2: THIẾT KẾ Cài đặt với 1 hệ quản trị CSDL (vd:... thực thể – Tập thực thể SinhViên có các thuộc tính như: TênSV, NămSinh,… • Mỗi ỗ thực thể ể trong tập thực thể có một giá trị đặc tính nằm trong miền giá trị của thuộc tính – Sinh viên 1 có: Họtên là Nguyễn Hải Anh, Năm sinh 1980 • Thuộc tính đơn giản (thuộc tính nguyên tố) sinh_viên •sv1 •sv2 •sv3 – có kiểu dữ liệu nguyên tố sinh_viên • Thuộc tính phức – có kiểu phức, định nghĩa bởi các thuộc tính ... 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ữ... 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... 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

Ngày đăng: 28/03/2016, 01:33

Từ khóa liên quan

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