Chương 1 TỔNG QUAN HỆ THỐNG CƠ SỞ DỮ LIỆU 9 TỔNG QUAN VỀ HỆ CSDL Sự cần thiết của một CSDL Khái niệm CSDL, Hệ CSDL Hệ quản trị CSDL (DBMS – DataBase Management System) Mô hình dữ liệu (Data model) 10 1. SỰ CẦN THIẾT CỦA CSDL CSDL đến từ đâu? Nó có vai trò ntn? 11 1. SỰ CẦN THIẾT CỦA CSDL… Hệ thống các file cổ điển: Được tổ chức riêng rẽ, phục vụ cho mục đích của đơn vị 12 1. SỰ CẦN THIẾT CỦA CSDL… Hệ thống file là sự cải tiến của hệ thống thủ công (manual system) Ưu điểm: Đơn giản, nhanh chóng Nhược điểm: Thông tin được tổ chức riêng rẽ nhiều nơi làm mất tính nhất quán, dư thừa dữ liệu.
Thiếu sự chia sẻ thông tin giữa các vị trí. Không thực hiện được truy vấn phức tạp Quản trị hệ thống khó và phức tạp Khó mở rộng khi lập trình Khó thay đổi cấu trúc. Tính năng bảo mật thấp. CƠ SỞ DỮ LIỆU (DATABASE), HỆ CSDL CSDL: là một hệ thống các thông tin có cấu trúc được lưu trữ trên các thiết bị lưu trữ thông tin thứ cấp (như băng từ, đĩa từ,.), để thỏa mãn yêu cầu khai thác thông tin đồng thời của nhiều người sử dụng/nhiều chương trình ứng dụng với những mục đích khác nhau.
CƠ SỞ DỮ LIỆU, HỆ CSDL… Hệ cơ sở dữ liệu (Database System) gồm: Phần cứng (Hardware) Phần mềm (Software) Người sử dụng (People) Những thủ tục (Procedures) Cơ sở dữ liệu (Database) 15 2. CƠ SỞ DỮ LIỆU, HỆ CSDL… 16 2. CƠ SỞ DỮ LIỆU, HỆ CSDL … 17 2. CƠ SỞ DỮ LIỆU, HỆ CSDL … Phần cứng: Gồm các thiết bị vật lý của hệ thống Phần mềm: Hệ điều hành; Hệ quản trị CSDL; Chương trình ứng dụng và phần mềm tiện ích Người dùng: Tất cả những người dùng hệ thống CSDL Quản trị hệ thống; Thiết kế dữ liệu; Phân tích hệ thống, lập trình viên và Ngườ sử dụng Thủ tục: Những quy tắc chung trong việc thiết kế và sử dụng hệ thống Dữ liệu: Những dữ liệu thực tế thu thập và lưu trữ trong CSDL 18 2.
CƠ SỞ DỮ LIỆU, HỆ CSDL … Chú ý: CSDL phải là một tập hợp các thông tin mang tính hệ thống chứ không phải là các thông tin rời rạc, không có mối quan hệ với nhau. Các thông tin này phải có cấu trúc và tập hợp các thông tin này phải có khả năng đáp ứng các nhu cầu khai thác của nhiều người sử dụng một cách đồng thời. CƠ SỞ DỮ LIỆU, HỆ CSDL… Ưu điểm nổi bật của CSDL. Giảm sự trùng lặp thông tin xuống mức thấp nhất và do đó bảo đảm được tính nhất quán và toàn vẹn dữ liệu.
Đảm bảo dữ liệu có thể được truy xuất theo nhiều cách khác nhau. Khả năng chia sẻ thông tin cho nhiều người sử dụng và nhiều ứng dụng khác nhau. CƠ SỞ DỮ LIỆU, HỆ CSDL… CSDL đặt ra những vấn đề cần giải quyết 1- Tính chủ quyền của dữ liệu. Do tính chia sẻ của CSDL nên chủ quyền của CSDL dễ bị xâm phạm.
2- Tính bảo mật và quyền khai thác thông tin. Cần phải có một cơ chế bảo mật và phân quyền hạn khai thác CSDL. 3- Tranh chấp dữ liệu. Cần phải có một cơ chế ưu tiên truy nhập dl, cơ chế giải quyết tình trạng khóa chết (DeadLock) trong quá trình khai thác cạnh tranh.
4- Đảm bảo dữ liệu khi có sự cố. Khi có sự cố như mất điện đột xuất, đĩa hỏng… 21 2. CÁC ĐỐI TƯỢNG SỬ DỤNG CSDL Những người sử dụng CSDL không chuyên về lĩnh vực tin học và CSDL. Các chuyên viên tin học biết khai thác CSDL.
Những người quản trị CSDL. Họ là người tổ chức CSDL (khai báo cấu trúc CSDL, ghi nhận các yêu cầu bảo mật cho các dl cần bảo vệ. HỆ QUẢN TRỊ CSDL - DBMS (DATABASE MANAGEMENT SYSTEM) Hệ phần mềm quản trị CSDL Hệ quản trị CSDL là hệ thống các phần mềm hỗ trợ CSDL giải quyết các vấn đề như tính chủ quyền, cơ chế bảo mật/phân quyền khai thác CSDL, giải quyết tranh chấp, và phục hồi dl khi có sự cố. Một số DBMS: Visual FoxPro, MicroSoft Access, SQL- Server, MySQL, DB2, Sybase, Paradox, Informix, Oracle.
HỆ QUẢN TRỊ CSDL - DBMS … Quá trình phát triển các hệ quản trị CSDL: DBMS ra đời năm 60s dựa trên mô hình DL phân cấp và mạng, có IMS của IBM dựa trên mô phân cấp. 1976, System-R ra đời mô hình đầu tiên dựa trên mô hình quan hệ của IBM. Từ năm 1980, IBM cho ra đời DBMS trên các máy Main Frame mang tên DB2, tiếp theo là Dbase, Sybase, Oracle, Informix, SQL-Server. HỆ QUẢN TRỊ CSDL - DBMS … 1990 bắt đầu xây dựng các DBMS hướng đối tượng (Oriented Object DataBase Management System) như Orion, Illustra, Itasca, Objectstore, Versant, Oracle, Informix,.
Hầu hết các hệ này đều vẫn là quan hệ - hướng đối tượng, DBMS hướng đối tượng thuần nhất là ODMG ra đời vào năm 1996. HỆ QUẢN TRỊ CSDL - DBMS … Một số DBMS hỗ trợ DL lớn 26 3. HỆ QUẢN TRỊ CSDL - DBMS … Một DBMS phải có: 1) Ngôn ngữ giao tiếp giữa người sử dụng (NSD) và CSDL, gồm: Ngôn ngữ mô tả dữ liệu (Data Definition Language - DDL). Ngôn ngữ thao tác dữ liệu (Data Manipulation Language - DML) Ngôn ngữ truy vấn dữ liệu, hay ngôn ngữ hỏi đáp có cấu trúc (Structured Query Language - SQL) Ngôn ngữ quản lý dữ liệu (Data Control Language - DCL) 2) Từ điển dữ liệu (Data Dictionary) dùng để mô tả các ánh xạ liên kết, ghi nhận các thành phần cấu trúc của CSDL, các chương trình ứng dụng, mật mã, quyền hạn sử dụng v.
HỆ QUẢN TRỊ CSDL - DBMS … 3) Có biện pháp bảo mật. 4) Cơ chế giải quyết vấn đề tranh chấp dữ liệu. 5) Phải có cơ chế sao lưu (Backup) và phục hồi (Restore) dữ liệu khi có sự cố xảy ra. 6) DBMS phải cung cấp một giao diện (Interface) tốt, dễ sử dụng, dễ hiểu cho những người sử dụng không chuyên.
7) Bảo đảm tính độc lập giữa dữ liệu và chương trình. SƠ ĐỒ TỔNG QUÁT CỦA DBMS 3 mức: Mức chương trình khai báo cấu trúc và ứng dụng; Mức mô tả CSDL, thao tác CSDL và các từ điển dl; Mức CSDL. MÔ HÌNH DỮ LIỆU Mô hình dữ liệu (Data Model): những khái niệm dùng để biểu diễn cấu trúc của CSDL (data types, relationships, constraints). Mô hình mạng (Network Data Model) Mô hình phân cấp (Hierachical Data Model) Mô hình quan hệ (Relational Data Model) Mô hình thực thể - liên kết (Entity - Relationship Model) Mô hình hướng đối tượng (Object Oriented Data Model) => Mỗi DBMS đều phải xây dựng dựa trên một mô hình DL nhất định.
MÔ HÌNH MẠNG (NETWORK DATA MODEL) Do nhóm DBGT của CODASYL đề xuất 1971 Là mô hình được biểu diễn bởi một đồ thị có hướng Các khái niệm: mẫu tin (Record), loại mẫu tin (Record Type) và loại liên kết (Set Type): Loại mẫu tin (Recorde Type) là mẫu đặc trưng cho 1 loại đối tượng riêng biệt Loại liên kết (Set Type) là sự liên kết giữa một loại mẫu tin chủ với mẫu tin thành viên 1 - 1 (One-to-One 1 - n (One-to-Many). MÔ HÌNH MẠNG(NETWORK DATA MODEL)… 32 4. MÔ HÌNH PHÂN CẤP (HIERACHICAL DATA MODEL) Có cấu trúc cây (Tree), trong đó mỗi nút của cây biểu diễn một thực thể, giữa nút con và nút cha được liên kết với nhau theo một mối quan hệ xác định. Mô hình dữ liệu phân cấp sử dụng các khái niệm sau: Loại mẫu tin: giống khái niệm mẫu tin trong mô hình dữ liệu mạng.
Loại mối liên kết: Kiểu liên kết là phân cấp, theo cách: Mẫu tin thành viên chỉ đóng vai trò thành viên của một mối liên kết duy nhất, tức là nó thuộc một chủ duy nhất. Như vậy, mối liên kết từ mẫu tin chủ tới các mẫu tin thành viên là 1 - n, và từ mẫu tin (hay bản ghi - record) thành viên với mẫu tin chủ là 1 –1. Giữa 2 loại mẫu tin chỉ tồn tại 1 mối liên kết duy nhất. MÔ HÌNH PHÂN CẤP(HIERACHICAL DATA MODEL)… 34 4.
MÔ HÌNH DL QUAN HỆ (RELATIONAL DATA MODEL) Do E. Nền tảng cơ bản là lý thuyết tập hợp trên các quan hệ, tức là tập của các bộ giá trị (Value Tuples). Các khái niệm: Thuộc tính (Attribute) Quan hệ (Relation) Lược đồ quan hệ (Relation Schema) Bộ/bản ghi (Tuple) Khóa (Key). MÔ HÌNH DL THỰC THỂ LIÊN KẾT ER (ENTITY - RELATIONSHIP MODEL) Do P.
Các khái niệm chủ yếu được sử dụng trong mô hình này là: Thực thể (Entity): Là khái niệm mô tả một lớp các đối tượng có đặc trưng chung mà chúng ta cần quan tâm. Sinhvien Khachhang Liên kết: X là thực thể yếu nếu sự tồn tại của X phụ thuộc vào sự tồn tại của thực thể Y. Được ký hiệu bằng hình chữ nhật kép 36 4. MÔ HÌNH DỮ LIỆU HƯỚNG ĐỐI TƯỢNG (OBJECT ORIENTED DATA MODEL) Ra đời khoảng cuối những năm 80.
Là loại mô hình tiên tiến nhất hiện nay dựa trên cách tiếp cận hướng đối tượng. Sử dụng các khái niệm như lớp (class), sự kế thừa (inheritance), kế thừa bội (tức là kết thừa từ nhiều lớp cơ sở multi-inheritance). Đặc trưng cơ bản: tính đóng gói (encapsulation), tính đa hình (polymorphism) và tính tái sử dụng (Reusability). Lớp: là một kiểu dl có cấu trúc bao gồm các thành phần dl và các phương thức xử lý thao tác trên cấu trúc dl đó.
MÔ HÌNH DỮ LIỆU HƯỚNG ĐỐI TƯỢNG (OBJECT ORIENTED DATA MODEL)… Các thuộc tính dữ liệu và các thao tác trên các dữ liệu này được bao gói trong một cấu trúc gọi là đối tượng. Đối tượng có thể chứa các dữ liệu phức hợp như văn bản, hình ảnh, tiếng nói và hình ảnh động. Một đối tượng có thể yêu cầu hoặc xử lý dữ liệu từ một đối tượng khác bằng việc gửi đi một thông báo đến đối tượng đó. Mô hình hướng đối tượng biểu diễn một sơ đồ mới để lưu trữ và thao tác dữ liệu.
Từ một đối tượng có thể sinh ra một đối tượng khác. MÔ HÌNH DỮ LIỆU HƯỚNG ĐỐI TƯỢNG (OBJECT ORIENTED DATA MODEL)… Theo [7] 39 BÀI TẬP CHƯƠNG 1 1. Định nghĩa các thuật ngữ sau: - Cơ sở dữ liệu - Hệ cơ sở dữ liệu - Hệ quản trị cơ sở dữ liệu 1.