CƠ SỞ DỮ LIỆU (DATA BASE)
Phạm Thị Anh Lê Khoa CNTT - Đại học Sư Phạm Hà Nội
1
NỘI DUNG
n Chương 1: Các khái niệm cơ bản về hệ CSDL n Chương 2: Mô hình hoá dữ liệu n Chương 3: Thiết kế cơ sở dữ liệu logic n Chương 4: Thiết kế cơ sở dữ liệu vật lý
2
TÀI LIỆU THAM KHẢO
n Hồ Thuần, Hồ Cẩm Hà, Các hệ CSDL – Lý thuyết và thực
n H.Garcia Monila, J.D.Ullman, and J.Widom, Database
hành, Tập 1,2 – NXB Giáo dục, 2005
n Ullman J.D., Principles of Database and Knowledge-base n Slide bài giàng:
Systems: The Complete Book
3
https://sites.google.com/view/lepta/giảng-dạy/đại-học
ĐÁNH GIÁ
n Chuyên cần: 10%
n Vắng số buổi học < 10%: 10 n Vắng số buổi học từ 10% đến 20%: 5 n Vắng số buổi học > 20%: 0
n Điều kiện: 30% (Tính theo các bài kiểm tra và bài tập)
n Bài tập: SV làm và nộp đầy đủ các bài tập trên hệ thống quản lý học tập,
không nộp bài đúng hạn được 0 điểm, không được sao chép
n Kiểm tra viết 50 phút (tuần 10)
n Thi cuối kỳ: 60%
n Thi trắc nghiệm 30 phút (30%) n Báo cáo bài tập lớn (70%)
4
KẾ HOẠCH MÔN HỌC
n Chương 1: 3 tiết (LT + BT) n Chương 2: 6 tiết (LT + BT) n Chương 3: 30 tiết (LT + BT + TH) n Chương 4: 6 tiết (LT + BT)
5
CHƯƠNG I
CÁC KHÁI NIỆM CƠ BẢN VỀ HỆ CƠ SỞ DỮ LIỆU
6
CSDL là gì? Tại sao cần tới các hệ CSDL?
n Dữ liệu: biểu diễn được lưu trữ của các đối tượng có ý nghĩa và các sự kiện
n Có cấu trúc: số, văn bản, ngày tháng n Phi cấu trúc: hình ảnh, video, tài liệu
n Thông tin: dữ liệu được xử lý để tăng sự hiểu biết cho người sử dụng dữ liệu n Siêu dữ liệu: dữ liệu mô tả các thuộc tính và ngữ cảnh của dữ liệu người dùng
7
CSDL là gì? Tại sao cần tới các hệ CSDL?
Dữ liệu trong ngữ cảnh
8
Ngữ cảnh giúp người dùng hiểu được dữ liệu
CSDL là gì? Tại sao cần tới các hệ CSDL?
Dữ liệu tóm tắt Dữ liệu được chuyển thành thông tin hữu ích giúp người quản lý đưa ra quyết định và giải thích 9
CSDL là gì? Tại sao cần tới các hệ CSDL?
10
Mô tả các thuộc tính hoặc đặc điểm của dữ liệu, bao gồm kiểu dữ liệu, kích thước trường, giá trị cho phép và ngữ cảnh dữ liệu
CSDL là gì? Tại sao cần tới các hệ CSDL?
11
Tất cả các ứng dụng đều cần đến CSDL
CSDL là gì? Tại sao cần tới các hệ CSDL?
Nhược điểm của việc lưu trữ thông tin của một tổ chức trong một hệ xử lý tệp: n Dư thừa dữ liệu và không nhất quán n Khó khăn trong việc truy cập dữ liệu n Sự cô lập của dữ liệu n Các vấn đề toàn vẹn n Các vấn đề về tính nguyên tố của các giao tác n Các dị thường của truy cập tương tranh n Các vấn đề an toàn
12
I.1. CSDL là gì? Tại sao cần tới các hệ CSDL?
CSDL ra đời nhằm giải quyết các vấn đề nêu trên CSDL
n Một tập các dữ liệu có liên quan với nhau chứa thông tin về một tổ chức nào đó. n Được lưu trữ trên các thiết bị nhớ thứ cấp.
HQT CSDL
n Phần mềm cho phép người dùng giao tiếp với CSDL. n Cung cấp môi trường thuận lợi và hiệu quả để tìm kiếm và lưu trữ thông tin của CSDL.
13
I.1. CSDL là gì? Tại sao cần tới các hệ CSDL?
Hệ CSDL nói đến một CSDL cùng với HQTCSDL
để truy cập CSDL đó
Mục đích chính của hệ CSDL: cung cấp cho người dùng một cách nhìn trừu tượng về dữ liệu (che dấu những chi tiết phức tạp về cách thức dữ liệu được lưu trữ và bảo trì)
14
I.2. Kiến trúc 3 mức của một hệ CSDL
Mức khung nhìn
Khung nhìn 1 Khung nhìn 2 Khung nhìn n
Mức lôgic
15
Mức vật lý
I.3. Lược đồ và thể hiện của CSDL Lược đồ CSDL (database schema):
n Toàn bộ mô tả của CSDL. n Có 3 loại lược đồ: lược đồ trong, lược đồ khái niệm, lược đồ ngoài.
Thể hiện của CSDL (database instance):
n Toàn bộ dữ liệu lưu trữ trong CSDL tại một thời điểm nhất định. n Nhiều thể hiện của CSDL có thể tương ứng với một lược đồ CSDL.
16
I.4. Sự độc lập của dữ liệu
Lược đồ ngoài Lược đồ ngoài Lược đồ ngoài
Độc lập DL mức logic Ánh xạ mức ngoài/mức khái niệm
Lược đồ khái niệm
Ánh xạ mức khái niệm/mức trong Độc lập DL mức vật lí
17
Lược đồ trong
I.5. Những cách tiếp cận một CSDL
Mô hình CSDL là một tập hợp các khái niệm và kí pháp dùng để mô tả DL, các mối quan hệ của DL và các ràng buộc trên DL của một tổ chức. Một mô hình CSDL gồm 3 thành phần:
n Phần mô tả cấu trúc của CSDL. n Phần mô tả các thao tác, định nghĩa các phép toán được phép trên dữ liệu. n Phần mô tả các ràng buộc toàn vẹn để đảm bảo sự chính xác của dữ liệu.
18
I.5.1. Các mô hình logic trên cơ sở đối tượng (Object-Based Data Models)
Mô hình thực thể - quan hệ
n Thực thể: một “vật” tồn tại, độc lập, phân biệt được với các “vật” khác. Ví dụ: một cá nhân, một quyển sách, một dự án, … n Mối quan hệ: thể hiện một liên kết giữa nhiều thực thể. n Ràng buộc: là các bản số (lực lượng) của ánh xạ, biểu thị số các thực thể được liên kết với một tập thực thể thông qua một tập mối quan hệ.
19
I.5.1. Các mô hình logic trên cơ sở đối tượng (Object-Based Data Models)
Mô hình thực thể - quan hệ
Tên KH Số dư
Số CMT
Số TK
Người_gửi
TP
20
Tài_khoản Khách hàng
I.5.1. Các mô hình logic trên cơ sở đối tượng (Object-Based Data Models)
Mô hình hướng đối tượng
n Đối tượng: chứa các thuộc tính, phương thức. n Lớp: tập các đối tượng có cùng tập thuộc tính, phương thức. n Thông báo: một đối tượng có thể truy cập tới dữ liệu của đối tượng khác bằng cách gọi tới phương thức của đối tượng đó.
21
I.5.2. Các mô hình logic trên cơ sở bản ghi (Record-Based Data Models)
Mô hình quan hệ
n Dữ liệu được thể hiện trong các bảng. Mỗi bảng gồm các dòng (bản ghi) và cột (trường| thuộc tính). n Một liên kết giữa các bảng: nhờ vào sự xuất hiện trùng lặp của một số thuộc tính ở hơn một bảng.
22
I.5.2. Các mô hình logic trên cơ sở bản ghi (Record-Based Data Models)
Mô hình quan hệ Tên KH
Số CMT
TP
Số TK
Ban Giao
CM1024 CM5566
Hà Nội Yên Bái
A101 A215
Số TK Số dư
23
A101 A215 A217 5.0 7.0 6.5
I.5.2. Các mô hình logic trên cơ sở bản ghi (Record-Based Data Models)
Mô hình mạng
n Dữ liệu được biểu diễn bởi một tập các bản ghi (giống các bản ghi của Pascal) n Mối liên kết: được biểu diễn bởi các mối nối (links) có thể được xem như những con trỏ, phân biệt đối tượng là chủ của liên kết và các đối tượng thành phần.
Sơ đồ các bản ghi cùng các liên kết giữa
chúng là tập các đồ thị.
24
I.5.2. Các mô hình logic trên cơ sở bản ghi (Record-Based Data Models)
Mô hình mạng
A101 5.0
Ban CM1024 Hà Nội
A215 7.0
Giao CM5566 Yên Bái
25
A217 6.5
I.5.2. Các mô hình logic trên cơ sở bản ghi (Record-Based Data Models)
Mô hình phân cấp
n Dữ liệu được biểu diễn bởi một tập các bản ghi (giống các bản ghi của Pascal) n Mối liên kết: được biểu diễn bởi các mối nối (links) có thể được xem như những con trỏ. Mối quan hệ giữa 2 đối tượng thể hiện theo kiểu cha – con.
Sơ đồ các bản ghi cùng các liên kết giữa
chúng có cấu trúc như các cây.
26
I.5.2. Các mô hình logic trên cơ sở bản ghi (Record-Based Data Models)
Mô hình phân cấp
Ban CM1024 Hà Nội Giao CM5566 Yên Bái
A101 5.0
A215 7.0
27
A217 6.5
I.6. Hệ quản trị CSDL
Hệ quản trị CSDL (Database Management System, DBMS) là một tập hợp các chương trình cho phép định nghĩa, tạo lập, bảo trì, cung cấp các truy cập có điều khiển đến các CSDL.
HQT CSDL cung cấp các phương tiện:
§ Ngôn ngữ định nghĩa dữ liệu (Data Definition Language, DDL). § Ngôn ngữ thao tác dữ liệu (Data Manipulation Language, DML). § Các kiểm soát, các điều khiển đối với việc truy cập vào CSDL.
28
I.6.1. Các chức năng của HQT CSDL
HQT CSDL cung cấp các chức năng:
n Lưu trữ, truy xuất và cập nhật DL n Từ điển dữ liệu (catalog) n Hỗ trợ các giao tác (transaction) n Các dịch vụ điều khiển tương tranh n Cơ chế khôi phục DL n Dịch vụ bản quyền n Hỗ trợ cho truyền thông DL n Các dịch vụ đảm bảo tính toàn vẹn DL
Ngoài ra, còn có thêm một số chức năng khác.
29
I.6.2. Kiến trúc của HQT CSDL
Trình ứng dụng Truy vấn Lược đồ CSDL
Bộ xử lí truy vấn
Bộ tiền xử lí ngôn ngữ thao tác DL Chương trình dịch ngôn ngữ khai báo DL
Bộ quản lí từ điển Mã chương trình Bộ quản lí CSDL
CSDL,TĐ DL
Phương thức truy cập Bộ quản lí tệp
30
Bộ đệm của hệ thống
I.7. Vai trò của con người trong hệ CSDL
Người quản trị CSDL
n Quản lí các tài nguyên của hệ CSDL. n Thiết kế và cài đặt CSDL về mặt vật lí. n Cấp phát các quyền truy cập CSDL, cấp phần mềm và phần cứng theo yêu cầu. n Duy trì các hoạt động của hệ thống. Ø Phải hiểu biết chi tiết và kỹ năng về kĩ thuật trong lĩnh vực CSDL, HQT CSDL, môi trường hệ thống.
31
I.7. Vai trò của con người trong hệ CSDL
Người thiết kế CSDL
n Người thiết kế CSDL logic: xác định dữ liệu được lưu trữ trong CSDL, mối quan hệ và các ràng buộc giữa chúng. n Người thiết kế CSDL vật lí: Chọn mô hình dữ liệu logic và quyết định nó được thực hiện về mặt vật lí như thế nào.
32
I.7. Vai trò của con người trong hệ CSDL
Người lập trình ứng dụng
n Thể hiện các đặc tả của người phân tích hệ thống thành chương trình.
Người sử dụng đầu cuối
n Người sử dụng đơn giản: khai thác dữ liệu thông qua các giao dịch có sẵn như menu, hoặc các câu lệnh đơn giản. n Người sử dụng tinh tế: Khai thác dữ liệu thông qua các truy vấn bậc cao như SQL hoặc tự viết chương trình ứng dụng phục vụ yêu cầu của mình.
33
I.8. Quá trình thiết kế một CSDL
Thế giới thực
Tập hợp yêu cầu, phân tích
Các yêu cầu CSDL
Thiết kế khái niệm
Thiết kế vật lí
Lược đồ khái niệm (trong mô hình DL bậc cao)
Thiết kế logic (Ánh xạ mô hình DL)
Lược đồ trong (cho mô hình DBMS cụ thể)
Lược đồ khái niệm (trong mô hình DBMS cụ thể)
34