Tài liệu này dành cho sinh viên, giáo viên khối ngành công nghệ thông tin tham khảo và có những bài học bổ ích hơn, bổ trợ cho việc tìm kiếm tài liệu, giáo án, giáo trình, bài giảng các môn học khối ngành công nghệ thông tin
CƠ SỞ DỮ LIỆU GV: ThS. Đặng Thị Từ Mỹ TRƯỜNG ĐẠI HỌC QUY NHƠN Khoa Kỹ thuật & Công nghệ – Bộ môn Điện tử _ Viễn thông Mục đích môn học 1. Cung cấp các khái niệm và kiến thức cơ bản nhất về CSDL và HQTCSDL. 2. Các mô hình cơ sở dữ liệu. 3. Phân tích các dạng chuẩn hóa CSDL và khái niệm phụ thuộc hàm trong quá trình phân tích và thiết kế CSDL. 4. Giới thiệu về mô hình CSDL quan hệ, các khái niệm về thực thể và mối quan hệ. 5. Giới thiệu các toán tử và phép toán của đại số quan hệ. 6. Giới thiệu hai ngôn ngữ thông dụng với mô hình cơ sở dữ liệu quan hệ: MS Access và SQL Server. 7. Cung cấp cho sinh viên khả năng độc lập trong việc tự phân tích và mô hình hóa một công việc cụ thể trên thế giới thực vào việc xây dựng một ứng dụng CSDL vừa và nhỏ. 8. Yêu cầu sau khóa học sinh viên phải nắm vững được những quy tắc và nguyên lý cũng như quy trình mô hình hóa và thiết kế một ứng dụng CSDL bất kỳ ở phạm vi vừa và nhỏ. 1_ Giới thiệu 1.1. Khái niệm cơ bản về cơ sở dữ liệu a. Cơ sở dữ liệu (CSDL) là gì? b. Ưu điểm của CSDL 1.2. Kiến trúc một hệ cơ sở dữ liệu 1.3. Sơ bộ lịch sử phát triển 1.4. Các loại mô hình dữ liệu cơ bản a. Mô hình quan hệ (Relational Data Model) b. Mô hình phân cấp (Hierarchical Data Model) c. Mô hình mạng (Network Data Model) 1.5. Tính độc lập dữ liệu 1.6. Kết luận 1.1. Khái niệm cơ bản về cơ sở dữ liệu a. Cơ sở dữ liệu (CSDL) là gì? Đặc điểm của CSDL (DataBase) Là tập hợp dữ liệu liên quan được lưu trên các bộ nhớ ngoài (đĩa từ, trống từ ). Có một tập các chương trình ứng dụng được chạy với các dữ liệu này và thậm chí dùng để truyền đi xa. CSDL là một tổ hợp: đó là một tập hợp nhiều loại dữ liệu cho nhiều người dùng với nhiều mục đích khác nhau. Định nghĩa CSDL CSDL là một tập hợp các dữ liệu được lưu trữ để phục vụ các hệ thống ứng dụng. Hệ quản trị CSDL (DBMS-DataBase Management System) Phần chương trình để có thể xử lý, thay đổi tập hợp các dữ liệu này Như một bộ diễn dịch (Interpreter) với ngôn ngữ bậc cao 1.1. Khái niệm cơ bản về cơ sở dữ liệu b. Ưu điểm của CSDL Tại sao người ta cần lưu trữ dữ liệu trong một tổ hợp như CSDL? CSDL cung cấp một sự điều khiển tập trung đối với các dữ liệu trong CSDL. Các phần tử trong hệ thống CSDL 1.1. Khái niệm cơ bản về cơ sở dữ liệu b. Ưu điểm của CSDL (tiếp) Những ưu điểm của sự điều khiển tập trung Giảm sự dư thừa dữ liệu cần lưu trữ. Có thể tránh được những xung đột về dữ liệu được lưu trữ. Có thể dùng chung dữ liệu đã được lưu trữ . Có thể chuẩn hoá dữ liệu giúp đơn giản hoá các vấn đề về bảo hành và trao đổi dữ liệu giữa các lần cài đặt. Có thể áp dụng các phương pháp bảo mật với dữ liệu. Duy trì được sự thống nhất dữ liệu để đảm bảo CSDL chỉ chứa dữ liệu chính xác. Có thể cân đối được các đòi hỏi xung đột nhau. Dữ liệu là độc lập, độc lập với cấu trúc bộ nhớ, với phương pháp lưu trữ và tiếp cận thông tin. Đảm bảo quy tắc toàn vẹn dữ liệu. 1.2. Kiến trúc một hệ cơ sở dữ liệu Mô hình dữ liệu (Data Model) Mô hình khái niệm (Conceptual model) Lược đồ trong (Internal schema) (Storage structure definition) Lược đồ khái niệm Hệ quản trị Cơ sở dữ liệu (DBMS) Dấu * biểu thị sự liên hệ với người sử dụng Người quản trị hệ thống CSDL (Database Administrator) Xây dựng và Bảo trì các lược đồ và các ánh xạ. M« h×nh trong (Internal model) (C¬ së d÷ liÖu ®îc lu tr÷) Ngôn ngữ Không gian làm việc Ngôn ngữ Không gian làm việc Ngôn ngữ Không gian làm việc Ngôn ngữ Không gian làm việc Ngôn ngữ Không gian làm việc ánh xạ giữa mô hình khái niệm và mô hình trong ánh xạ giữa mô hình ngoài B và mô hình khái niệm ánh xạ giữa mô hình ngoài A và mô hình khái niệm Hình 1 B 1 A 2 A 1 B 3 B 2 * Lược đồ ngoài (External Schema) Mô hình ngoài B (Khung nhìn B) (External Model B) Mô hình ngoài A (Khung nhìn A) (External Model A) Người sử dụng Theo mặt cắt dọc a) Các mức của kiến trúc Mức ngoài (hay còn gọi là khung nhìn) Mức ngoài liên quan đến cách nhìn, quan niệm của từng người sử dụng CSDL vì vậy còn gọi là "khung nhìn". Có nhiều "cách nhìn ở mức ngoài" khác nhau. Mỗi cách nhìn (mỗi khung nhìn) bao gồm sự biểu diễn trừu tượng của một phần nào đó của CSDL. Hầu hết những người sử dụng không quan tâm đến tổng thể toàn bộ CSDL mà chỉ quan tâm đến một phần riêng biệt nào đó của CSDL. 1.2. Kiến trúc một hệ cơ sở dữ liệu a) Các mức của kiến trúc (tiếp) Mức khái niệm Mức khái niệm cho phép ta định nghĩa một cách nhìn thống nhất cho người sử dụng. "Cách nhìn ở mức khái niệm" bao gồm sự biểu diễn trừu tượng của tổng thể toàn bộ CSDL. Thực chất đây là mức logic của toàn bộ CSDL Mức trong (còn gọi là mức vật lý) Mức trong rất gần với cách lưu trữ trong bộ nhớ máy tính. CSDL vật lý (CSDL ở mức vật lý) là các tệp dữ liệu theo một cấu trúc nào đó được lưu trên các thiết bị nhớ ngoài. Liên hệ với cấu trúc lưu trữ ngoài 1.2. Kiến trúc một hệ cơ sở dữ liệu b) Các khái niệm Khái niệm "thể hiện" (instance) Một khi CSDL đã được thiết kế, thường người ta chỉ quan tâm đến "Bộ khung" hay còn gọi là "mẫu" của CSDL. Dữ liệu hiện có trong CSDL gọi là "thể hiện" của CSDL. Mặc dù dữ liệu có thể thay đổi trong một chu kỳ thời gian nào đó nhưng "bộ khung" của CSDL vẫn không thay đổi. Khái niệm "lược đồ" (schema) Khái niệm "bộ khung" nêu ở phần trước bao gồm một số danh mục hoặc chỉ tiêu hoặc một số kiểu của các thực thể trong CSDL. Giữa các thực thể có thể có những mối quan hệ nào đó với nhau vì vậy người ta thường dùng thuật ngữ "lược đồ" thay cho "bộ khung". 1.2. Kiến trúc một hệ cơ sở dữ liệu [...]... sự trong cơ sở dữ liệu nhưng nó được định nghĩa trong lược đồ khái niệm và có tên riêng của mình Một đặc điểm nổi bật của cấu trúc dữ liệu quan hệ là các mối kết nối giữa các bộ (các hàng) được biểu thị chặt chẽ bởi các giá trị dữ liệu trong các cột được rút ra từ một miền chung a.Mô hình quan hệ (Relational Data Model) 3 Bảng là dạng thống nhất Thực tế, tất cả các thông tin trong cơ sở dữ liệu - các... lý lưu trữ (Data Management) Dữ liệu, Siêu dữ liệu (Data, Meta-data) Phần quản lý giao dịch (Transaction Management) 1.2 Kiến trúc một hệ cơ sở dữ liệu Theo người sử dụng Người dùng cuối Người lập trình CSDL Người thiết kế CSDL Người quản trị CSDL 1.3 Sơ bộ lịch sử phát triển Trước đây: Những năm 1960: dữ liệu lưu trữ dưới dạng các tệp CSDL Phân cấp (Hierarchical Model) CSDL Mạng (Network... dùng để thao tác đối với các dữ liệu Một số mô hình dữ liệu cơ bản sẽ giới thiệu Mô hình quan hệ (Relational Model): Mô hình phân cấp (Hierarchical Model): Mô hình dữ liệu là một cây, trong đó các nút biểu diễn biểu diễn các tập thực thể, các nút con và nút cha được liên hệ theo một mối quan hệ xác định Mô hình mạng (Network Model): Mô hình này dựa trên cơ sở khái niệm lý thuyết tập hợp... một mặt hàng Mỗi cây thể hiện một bản ghi về đơn đặt hàng gồm dữ liệu mặt hàng, kèm theo dữ liệu nhà cung cấp và số lượng Kiểu dữ liệu của thực thể đóng vai trò như một gốc (root) Để xác định chính xác các cây (gốc, chi u đi ) thi cần phải có một bản thiết kế tổng thể về dữ liệu của các thực thể, các mối liên kết b Mô hình phân cấp (Hierarchical Data Model) 2 Trong mô hình phân cấp, các thực thể và... triển theo xu hướng chuyên môn hoá Tập trung vào các hệ thống nhỏ (PCs ) Tập trung vào các hệ thống lớn (làm việc với lượng dữ liệu khổng lồ) Tương lai gần: Thêm mô hình hướng đối tượng (OO-Model) Tăng khả năng phát triển các ràng buộc (constraints) và các kích hoạt (triggers) Lưu trữ thành các tổ hợp dữ liệu: multimedia Kho dữ liệu (Data Warehousing) – Khai thác dữ liệu (Data mining) 1.3... chúng ta có ba tệp dữ liệu đơn giản Tương tự như vậy, ta có thể đặt mô hình phân cấp của Hình 3.1.4 tương ứng với một tệp dữ liệu chứa các bản ghi được sắp xếp thành bốn cây riêng biệt Tuy nhiên cần lưu ý là tệp như vậy có cấu trúc phức tạp các bảng ở mô hình quan hệ rất nhiều b Mô hình phân cấp (Hierarchical Data Model) 3 Ngôn ngữ con dữ liệu phức tạp hơn so với ngôn ngữ con dữ liệu của mô hình quan... bậc cao, có khả năng mô tả lược đồ khái niệm bằng cách biểu diễn của mô hình dữ liệu Lược đồ vật lý (hay lược đồ trong) dùng cho bộ khung của CSDL ở mức vật lý Lược đồ con (Subschema) được gọi thay cho khung nhìn 1.2 Kiến trúc một hệ cơ sở dữ liệu Theo mặt cắt ngang Các thao tác với bộ khung Các truy vấn Các thao tác với dữ liệu (Schema operations) (Query) (Data operations) Một số khái niệm: ... dụ về hệ quản trị CSDL Btrieve: dữ liệu lưu trữ dưới dạng các tệp Dạng giống COBOL: dạng mô hình mạng Fox Pro MS Access MS SQL, Informix, Oracle, DB4, Những CSDL mô hình hướng đối tượng dùng kết hợp với SmallTalk, C++, Java Các mô hình CSDL ứng dụng trên mạng WWW: multimedia 1.4 Các loại mô hình dữ liệu cơ bản Các khái niệm Mô hình dữ liệu Sự hình thức hóa toán học với tập hợp... Model) 4 Mô hình quan hệ có sự thống nhất trong tập các phép toán Theo quan điểm của người sử dụng, ngôn ngữ con dữ liệu - tập các phép toán được cung cấp để thao tác dữ liệu trong dạng quan hệ - là rất quan trọng Ngoài ra, có thể nhận thấy: sự thống nhất trong cách biểu diễn dữ liệu dẫn đến sự thống nhất tương ứng trong tập các phép toán Điều này đối nghịch với các cấu trúc phức tạp khác (như... cơ sở khái niệm lý thuyết tập hợp của các quan hệ, tức là tập các k-bộ với k cố định Mô hình được biểu diễn là một đồ thị có hướng Ngôn ngữ con dữ liệu Tập các phép toán được cung cấp để thao tác dữ liệu a Mô hình quan hệ (Relational Data Model) Hình 2 Dữ liệu mẫu trong dạng quan hệ Supplier - Hãng cung cấp S S# SNAME STATUS CITY S1 Smith 20 London S2 Jones 10 Paris S3 Blake 30 Paris P# PNAME COLO . Khái niệm cơ bản về cơ sở dữ liệu a. Cơ sở dữ liệu (CSDL) là gì? b. Ưu điểm của CSDL 1.2. Kiến trúc một hệ cơ sở dữ liệu 1.3. Sơ bộ lịch sử phát triển 1.4. Các loại mô hình dữ liệu cơ bản a hình phân cấp (Hierarchical Data Model) c. Mô hình mạng (Network Data Model) 1.5. Tính độc lập dữ liệu 1.6. Kết luận 1.1. Khái niệm cơ bản về cơ sở dữ liệu a. Cơ sở dữ liệu (CSDL) là gì? Đặc. tập hợp các dữ liệu này Như một bộ diễn dịch (Interpreter) với ngôn ngữ bậc cao 1.1. Khái niệm cơ bản về cơ sở dữ liệu b. Ưu điểm của CSDL Tại sao người ta cần lưu trữ dữ liệu trong một