Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 16 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
16
Dung lượng
3,51 MB
Nội dung
BÀI TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU Giảng viên: ThS Nguyễn Tiến Đạt v1.0011105217 TÌNH HUỐNG DẪN NHẬP • Trước năm 60, chương trình ứng dụng có tệp liệu tương ứng chương trình ứng dụng sửa đổi tệp liệu phải thay đổi • Việc lưu trữ thông tin hệ xử lý tệp (được hỗ trợ hệ điều hành) có nhược điểm như: dư thừa liệu, dị thường liệu nhiều người sử dụng… • Dẫn đến đời hệ CSDL để khắc phục vấn đề Hệ CSDL định nghĩa cấu trúc cho việc lưu trữ thông tin, cung cấp chế cho việc thao tác thơng tin đảm bảo an tồn cho thông tin lưu trữ Vậy sở liệu gì? Cơ sở liệu tổ chức nào? Những phương pháp dùng để mơ hình hóa sở liệu? v1.0011105217 MỤC TIÊU Giới thiệu khái niệm CSDL Giới thiệu vấn đề cần giải CSDL Giới thiệu kiến trúc hệ CSDL Giới thiệu mơ hình liệu v1.0011105217 NỘI DUNG Các khái niệm sở liệu (CSDL); Các vấn đề cần giải sở liệu; Kiến trúc hệ sở liệu; Mơ hình liệu v1.0011105217 CÁC KHÁI NIỆM CƠ BẢN 1.1 Cơ sở liệu; 1.2 Hệ quản trị sở liệu; 1.3 Hệ sở liệu v1.0011105217 1.1 CƠ SỞ DỮ LIỆU • Khái niệm Dữ Liệu: Dữ liệu phần tử tập hợp phần tử mà ta gọi tín hiệu Nó biểu dạng hình ảnh, âm thanh, màu sắc, • Khái niệm Cơ Sở Dữ Liệu: Một sở liệu (CSDL) tập hợp liệu có liên quan với chứa thơng tin tổ chức (như trường đại học, ngân hàng,…) lưu trữ thiết bị nhớ thứ cấp (như băng từ, đĩa từ,…) để đáp ứng nhu cầu khai thác thông tin nhiều người sử dụng với nhiều mục đích khác Tạo lập liệu; Cập nhật liệu (thêm, sửa, xóa liệu); Truy xuất liệu (tìm kiếm, thống kê liệu); Bảo trì liệu Thơng tin Lưu trữ có chọn lọc Dữ liệu Có quan hệ logic Cơ sở liệu Quan hệ thông tin, liệu CSDL v1.0011105217 1.1 CƠ SỞ DỮ LIỆU (tiếp theo) Đặc tính Cơ Sở Dữ Liệu: • Một CSDL thể số khía cạnh giới thực hay gọi giới thu nhỏ (Universe of Discourse – UoD); • Một CSDL tập hợp liệu có logic chặt chẽ; • Một CSDL thiết kế, xây dựng bố trí liệu cho mục đích định Các CSDL có kích cỡ độ phức tạp khác Ví dụ: Trong quan quản lý Thuế theo dõi biểu thuế người nộp thuế: Giả sử có 100 triệu hồ sơ người nộp thuế năm; Mỗi hồ sơ trung bình có văn với khoảng 200 ký tự/1 văn bản; Nhận xét: CSDL gồm: 100 × (106) × 200 × ký tự (byte) Đây Lượng thông tin khổng lồ phức tạp Cần tổ chức quản lý người dùng tìm kiếm, duyệt xét cập nhật liệu cần Như vậy: Cần thiết kế xây dựng mô hình CSDL để đảm bảo chứa đựng số lượng liệu v1.0011105217 PHẦN MỀM SỬ DỤNG ĐỂ QUẢN LÝ CSDL Một số chương trình dùng để quản lý CSDL: • Oracle: 1978: Phiên Oracle v1 đầu tiên, chạy hệ điều hành PDP-11 máy RSX (dòng hãng DEC), khả sử dụng nhớ tối đa 128 KB Viết ngôn ngữ Assemblỵ Tích hợp PL/SQL, dễ dàng triển khai OS(hệ điều hành)khác Thường ứng dụng cho doanh nghiệp lớn • SQL Server: Microsoft SQl server hệ quản trị sở liệu quan hệ (Relational Database Management System – RDBMS) Microsoft phát triển SQL Server hệ quản trị sở liệu quan hệ mạng máy tính hoạt động theo mơ hình khách chủ cho phép đồng thời lúc có nhiều người dùng truy xuất đến liệu, quản lý việc truy nhập hợp lệ quyền hạn người dùng mạng Ngôn ngữ truy vấn quan trọng Microsoft SQL server Transact-SQL Transact-SQL ngôn ngữ SQL mở rộng dựa SQL chuẩn ISO (International Organization for Standardization) ANSI (American National Standards Institute) sử dụng SQL Server • My SQL: Là phần mềm CSDL mã nguồn mở, miễn phí Thường kết hợp với ngơn ngữ PHP để xây dựng website • Ở Việt Nam, hệ QTCSDL dùng phổ biến nay: Oracle dùng ứng dụng cho doanh nghiệp, tập đoàn lớn SQL Server thường sử dụng với ngôn ngữ Net cho ứng dụng doanh nghiệp vừa nhỏ MySQL dùng ứng dụng mã nguồn mở v1.0011105217 1.2 HỆ QUẢN TRỊ CSDL Khái niệm: • Hệ quản trị CSDL (Database Management System) phần mềm cho phép người dùng giao tiếp với CSDL, cung cấp môi trường thuận lợi hiệu để tìm kiếm lưu trữ thơng tin CSDL • Các hệ quản trị CSDL phổ biến như: Access, FoxPro, MySQL, SQL Server, Oracle v1.0011105217 1.3 HỆ CƠ SỞ DỮ LIỆU Khái niệm: • Thuật ngữ hệ sở liệu để CSDL hệ quản trị CSDL để truy cập CSDL (Hệ CSDL = CSDL + Hệ QTCSDL) • Mục đích hệ CSDL cung cấp cho người dùng cách nhìn trừu tượng liệu (có nghĩa hệ thống che dấu chi tiết phức tạp cách thức thao tác liệu bảo trì liệu) Người dùng/Lập trình viên HỆ CSDL Chương trình ứng dụng/các truy vấn PHẦN MỀM HỆ QUẢN TRỊ CSDL Phần mềm xử lý truy vấn/ chương trình Phần mềm truy cập liệu lưu trữ Định nghĩa CSDL lưu trữ (Dữ liệu Mêta) CSDL lưu trữ 10 v1.0011105217 CÁC VẤN ĐỀ CƠ BẢN CỦA CƠ SỞ DỮ LIỆU Vấn đề 1: Xây dựng sở liệu cho đủ đúng? Vấn đề 2: Sử dụng CSDL cho hiệu quả? 11 v1.0011105217 2.1 XÂY DỰNG CSDL THẾ NÀO CHO ĐỦ VÀ ĐÚNG ? Các vấn đề nảy sinh: • Dư thừa liệu (Redundancy): Một liệu lưu trữ nhiều nơi • Khơng qn (Inconsistency): Là hệ việc dư thừa liệu tiến hành cập nhật liệu bỏ sót dẫn tới khơng qn • Các vấn đề tồn vẹn: Vì có thêm ràng buộc mới, khó thay đổi chương trình để tn thủ chúng • Các vấn đề tính nguyên tố giao tác • Vấn đề đưa hệ thống trở lại trạng thái quán trước xảy cố • Các dị thường truy cập tương tranh: Nhiều người dùng cập nhật liệu đồng thời dẫn đến liệu khơng qn • Các vấn đề an toàn: Mỗi người dùng phép truy cập vào phần CSDL 12 v1.0011105217 2.2 SỬ DỤNG CSDL THẾ NÀO CHO HIỆU QUẢ ? • Việc sử dụng CSDL cho hiệu liên quan đến số vấn đề đảm bảo tính qn tồn vẹn liệu: Tính tồn vẹn: Các giá trị liệu lưu trữ CSDL phải thỏa mãn số ràng buộc, tùy thuộc vào hoạt động tổ chức mà CSDL phản ánh Ví dụ: Thư viện qui định số sách nhiều mà người đọc mượn lần Khi cập nhật số sách mượn đọc giả phải đảm bảo nhỏ số sách mượn theo qui định Tính quán: Sau thao tác cập nhật liệu có cố (phần cứng hay phần mềm) xảy trình cập nhật, liệu CSDL phải bảo đảm đắn Ví dụ: Sự cố Tài khoản A Tài khoản B Chuyển 100 triệu Bị trừ TK 100 triệu Chưa cộng vào TK 100 triệu 13 v1.0011105217 2.2 SỬ DỤNG CSDL THẾ NÀO CHO HIỆU QUẢ ? (tiếp theo) • Tính bảo mật quyền khai thác thơng tin người sử dụng: Do ưu điểm CSDL cho nhiều người khai thác đồng thời nên cần phải có chế bảo mật phân quyền khai thác CSDL • Tính an tồn cho liệu xảy cố đó: Khi CSDL nhiều quản lý tập trung Khả rủi ro liệu cao Các nguyên nhân điện đột ngột hỏng thiết bị lưu trữ Chúng ta nên lưu dự phòng cho liệu đề phịng trường hợp xấu xảy • Tranh chấp liệu: Khi nhiều người truy nhập CSDL với mục đích khác Rất xảy tượng tranh chấp liệu Cần có chế ưu tiên truy cập CSDL Ví dụ: Admin ln truy cập sở liệu Cấp quyền ưu tiên cho người khai thác 14 v1.0011105217 KIẾN TRÚC BA MỨC ANSI-SPARC Theo ANSI-SPARC (American National Standards Institute – Standards Planning and Requirements Committee: Viện tiêu chuẩn quốc gia Mỹ - Ủy ban nhu cầu kế hoạch Mỹ) có mức biểu diễn CSDL Kiến trúc ba mức ANSI-SPARC, bao gồm: • Mức vật lý (cịn gọi mức trong); • Mức logic (còn gọi mức khái niệm); • Mức khung nhìn (cịn gọi mức ngồi) Mức khung nhìn Khung nhìn Khung nhìn Khung nhìn n Mức logic Mức vật lý Kiến trúc ba mức hệ CSDL 15 v1.0011105217 KIẾN TRÚC BA MỨC ANSI-SPARC (tiếp theo) • Mức vật lý: Một tập hợp tệp liệu, mục cấu trúc lưu trữ khác dùng để truy xuất liệu cách có hiệu gọi CSDL vật lý CSDL vật lý tồn thường xuyên thiết bị lưu trữ đĩa từ, nhiều CSDL quản lý hệ quản trị CSDL • Mức logic: Là mức mô tả liệu lưu trữ CSDL có mối quan hệ chúng Mức logic biểu diễn thực thể (trong giới nhỏ), thuộc tính mối quan hệ thực thể đó; cho thấy ràng buộc liệu, thông tin ngữ nghĩa, an ninh toàn vẹn liệu Mức quan tâm đến lưu trữ CSDL không quan tâm đến cách thức để lưu trữ • Mức khung nhìn: Là mức mơ tả phần tồn CSDL, phần tích hợp với người sử dụng định Mỗi người dùng khơng quan tâm đến tồn thơng tin hệ CSDL mà phần thông tin Khung nhìn dành cho người sử dụng gồm thực thể thuộc tính, mối quan hệ thực thể mà họ quan tâm Các khung nhìn khác trình bày liệu khuôn dạng khác Ví dụ: Người sử dụng nhìn thấy thông tin ngày theo kiểu (ngày/tháng/năm), người sử dụng khác thấy thông tin ngày theo kiểu (tháng/ngày/năm) 16 v1.0011105217 VÍ DỤ External View sNo fName Conceptual level Internal level External View IName staffNo age Salary fName IName Struct STAFF{ int staffNo; int branchNo; char fName [15]; char Iname [15]; struct date dateOfBirth; float salary; struct STAFF *next; }; Index staffNo; index branchNo; staffNo IName DOB Salary branchNo branchNo /* pointer to next Staff record */ /* define indexes for staff */ 17 v1.0011105217 THUẬN LỢI CỦA KIẾN TRÚC MỨC • Với CSDL, người dùng có khung nhìn riêng Người thay đổi khung nhìn khơng ảnh hưởng đến người khác dùng chung CSDL này; • Những tương tác người dùng với CSDL không phụ thuộc vào vấn đề chi tiết lưu trữ liệu; • Người quản trị CSDL (Database Administrator-DBA) thay đổi cấu trúc lưu trữ CSDL mà khơng ảnh hưởng đến khung nhìn người sử dụng; • Thay đổi khía cạnh vật lý lưu trữ thay thiết bị nhớ thứ cấp khơng làm ảnh hưởng đến cấu trúc bên CSDL; • Người quản trị CSDL thay đổi cấu trúc tổng quát hay cấu trúc khái niệm CSDL mà không làm ảnh hưởng đến tất người dùng 18 v1.0011105217 ĐỘC LẬP DỮ LIỆU (DATA INDEPENDENT) VÀ KIẾN TRÚC BA MỨC External schema External schema External/conceptual mapping External schema Logical data independence Conceptual schema Conceptual/interna mapping Physical data independence Internal schema Độc lập liệu (Data Independent): • Độc lập liệu vật lý: Khả sửa đổi lược đồ vật lý mà khơng làm thay đổi lược đồ khái niệm khơng địi hỏi viết lại trình ứng dụng; • Độc lập liệu logic: KKhả sửa đổi lược đồ logic mà khơng làm thay đổi khung nhìn (lược đồ ngồi) 19 v1.0011105217 MƠ HÌNH DỮ LIỆU 4.1 Khái niệm mơ hình liệu; 4.2 Các loại mơ hình liệu chủ yếu phổ biến; 4.3 Giới thiệu ngôn ngữ liệu 20 v1.0011105217 10 4.1 KHÁI NIỆM MƠ HÌNH DỮ LIỆU • Mơ hình liệu: Là tập khái niệm kí pháp dùng để mô tả liệu, mối quan hệ liệu, ràng buộc liệu tổ chức • Mơ hình liệu gồm có thành phần: Phần mô tả cấu trúc CSDL; Phần mô tả thao tác, định nghĩa phép tốn phép liệu; Phần mơ tả ràng buộc toàn vẹn để đảm bảo xác liệu 21 v1.0011105217 4.2 CÁC LOẠI MƠ HÌNH DỮ LIỆU CHỦ YẾU Có nhiều mơ hình liệu đề xuất chia thành nhóm: • Các mơ hình logic sở đối tượng (Object-Based Data Models): Mơ hình thực thể - mối quan hệ (cịn gọi mơ hình thực thể - liên kết); Mơ hình hướng đối tượng; Mơ hình liệu ngữ nghĩa; Mơ hình liệu chức • Các mơ hình logic sở ghi (Record-Based Data Models): Mơ hình quan hệ (Relational Data Model); Mơ hình mạng (Network Data Model); Mơ hình phân cấp (Hierarchical Data Model) • Các mơ hình vật lý (Physical Data Models) 22 v1.0011105217 11 4.2.1 CÁC MƠ HÌNH LOGIC TRÊN CƠ SỞ ĐỐI TƯỢNG (OBJECTBASED DATA MODELS) • Các mơ hình dùng việc mô tả liệu mức logic khung nhìn; • Đặc trưng mơ hình khả cung cấp cấu trúc rất; • Mềm dẻo cho phép ràng buộc đặc tả cách tường minh; • Hai mơ hình phổ biến nhóm mơ hình này: Mơ hình thực thể - mối quan hệ (cịn gọi mơ hình thực thể - liên kết); Mơ hình hướng đối tượng 23 v1.0011105217 MƠ HÌNH THỰC THỂ LIÊN KẾT • Mơ hình xây dựng dựa nhận thức giới thực muốn phản ánh tập hợp đối tượng sở mối quan hệ (cịn gọi liên kết) chúng Mơ hình dùng khái niệm “thực thể” (entity-E) “mối quan hệ” (Relationship-R) cịn viết tắt mơ hình E-R; • Thực thể “vật” tồn tại, phân biệt với “vật” khác, có tồn độc lập; • Một mối quan hệ thể liên kết nhiều thực thể; • Cấu trúc logic tổng thể CSDL biểu thị biểu đồ E-R • Ví dụ mơ hình thực thể - liên kết: Từ Tên Tên Quê MaSV Sinh viên MaLop Học Khóa Lớp 24 v1.0011105217 12 MƠ HÌNH HƯỚNG ĐỐI TƯỢNG • Mơ hình dựa sở sưu tập đối tượng Một đối tượng chứa thuộc tính lưu trữ biến thể (Instance Variables) bên đối tượng Một đối tượng chứa phần mã thao tác đối tượng Các phần mã gọi phương thức (phương pháp) • Khác với thực thể mơ hình E-R, đối tượng có tính đồng riêng, độc lập với giá trị chứa đựng Hai đối tượng chứa giá trị khác Sự phân biệt đối tượng cá thể trì mức vật lý thơng qua việc gán định danh đối tượng khác 25 v1.0011105217 4.2.2 CÁC MƠ HÌNH LOGIC TRÊN CƠ SỞ BẢN GHI • Các mơ hình logic sở ghi dùng việc mô tả liệu mức logic khung nhìn Trong mơ hình này, CSDL cấu trúc thành ghi có trường (hay thuộc tính), trường thường có độ dài cố định cài đặt mức vật lý CSDL đơn giản so với mơ hình hướng đối tượng • Ba mơ hình logic sở ghi quen thuộc nhất: Mơ hình liệu quan hệ; Mơ hình liệu mạng; Mơ hình liệu phân cấp 26 v1.0011105217 13 MƠ HÌNH DỮ LIỆU QUAN HỆ • Từ 1980, hệ quản trị CSDL quan hệ dùng phổ biến: Oracle, Sql Server, Access, Foxpro; • Trong mơ hình này, liệu thể bảng Mỗi bảng gồm dòng cột, cột có tên Mỗi dịng cho thông tin đối tượng cụ thể quản lý (mỗi dòng ghi hay bộ) Mỗi dòng gồm giá trị tương ứng với cột, giá trị thể thông tin thuộc tính đối tượng đó, tên thuộc tính tên cột mà giá trị hiển thị Mỗi liên kết đối tượng thể mối liên kết bảng nhờ vào xuất trùng lặp số thuộc tính bảng • Ví dụ mơ hình liệu quan hệ: 27 v1.0011105217 MƠ HÌNH DỮ LIỆU MẠNG • Trong mơ hình này: Dữ liệu biểu diễn tập ghi (giống ghi Pascal); Các mối quan hệ biểu diễn mối nối (Links) xem trỏ Xuất phát từ đối tượng có nhiều mối quan hệ đến đối tượng khác Trong liên kết phân biệt đối tượng chủ liên kết đối tượng thành phần liên kết; Các ghi mối nối CSDL theo mơ hình mạng tổ chức tập hợp đồ thị • Có thể chuyển đổi mơ hình mạng mơ hình quan hệ • Ví dụ mơ hình liệu mạng: S1 Tú 20 Nghệ An S2 Tuấn 10 30 S Hương P3 Xe máy Xanh 17 HCM Hà Nội P4 Xe máy Đỏ 14 Nghệ An Hà Nội P2 Xanh 17 Hà Nội Ơ tơ 28 v1.0011105217 14 MƠ HÌNH DỮ LIỆU PHÂN CẤP • Có thể chuyển đổi CSDL mơ hình phân cấp sang mơ hình quan hệ ngược lại • Giống mơ hình mạng: mơ hình này, liệu biểu diễn tập ghi mối quan hệ liệu biểu diễn mối nối trỏ • Khác với mơ hình mạng: mối quan hệ hai đối tượng mơ hình phân cấp thể theo kiểu cha-con sơ đồ ghi liên kết chúng có cấu trúc mà không đồ thị • Ví dụ mơ hình liệu phân cấp: S1 Tú 20 Nghệ An S 20 P2 Ơ tơ P3 Xe máy Xanh Xanh 17 Tuấn 10 17 Hà Nội Hà Nội HCM P4 Xe máy Đỏ 14 Nghệ An 29 v1.0011105217 SỰ KHÁC NHAU GIỮA CÁC MƠ HÌNH • Các mơ hình logic sở ghi: Ưu điểm: Đặc tả cấu trúc tổng thể hệ CSDL mô tả cài đặt mức cao; Nhược điểm: Không cung cấp thỏa đáng việc đặc tả tường minh ràng buộc liệu; • Các mơ hình logic sở đối tượng: Ưu điểm: Cho phép người dùng đặc tả ràng buộc liệu Nhược điểm: Hạn chế đặc tả mặt cấu trúc • Mơ hình quan hệ: Các ghi liên kết với nhờ giá trị chứa chúng; • Mơ hình mạng phân cấp đòi hỏi người dùng hiểu biết mức vật lý CSDL • Các mơ hình vật lý: Các mơ hình mơ tả liệu mức thấp nhất: Mô tả liệu lưu trữ máy tính, mơ tả cấu trúc ghi, thứ tự ghi đường truy cập Chỉ có mơ hình liệu vật lý: Mơ hình hợp (Unifying Model) mơ hình nhớ-khung (Frame-Memory Model) Mơ hình có ý nghĩa với chun gia máy tính không cần thiết đa số người dùng thông thường 30 v1.0011105217 15 4.3 NGÔN NGỮ CƠ SỞ DỮ LIỆU (DATABASE LANGUAGES) • Ngơn ngữ định nghĩa liệu (Data Definition Language: DDL): Cho phép người dùng định nghĩa CSDL • Ngơn ngữ thao tác liệu (Data Manipulation Language: DML): Cho phép người dùng truy cập thao tác liệu tổ chức mơ hình thích hợp: DML kiểu thủ tục (Procedural): Người dùng phải xác định liệu họ cần cách thức để có liệu (What+How); DML kiểu phi thủ tục (Non-Procedural): Người dùng xác định liệu họ cần • Ngơn ngữ thơng dụng DML phi thủ tục SQL (Strutured Query Language): Ngôn ngữ hỏi (ngơn ngữ truy vấn): Tìm kiếm thơng tin; Ngơn ngữ cho phép định thao tác thêm, xóa, sửa liệu 31 v1.0011105217 TÓM TẮT CUỐI BÀI Bài học giới thiệu: • Những khái niệm như: Cơ sở liệu, hệ sở liệu, hệ quản trị sở liệu; • Các vấn đề sở liệu; • Kiến trúc mức hệ sở liệu; • Các mơ hình liệu: Mơ hình thực thể liên kết; Mơ hình liệu quan hệ; Mơ hình mạng; Mơ hình phân cấp • Giới thiệu ngôn ngữ liệu 32 v1.0011105217 16