Giới thiệu tt Cơ sở dữ liệu Database - Một tập hợp có cấu trúc của những dữ liệu có liên quan với nhau được lưu trữ trong máy tính Danh sách sinh viên Niên giám điện thoại - Tập ng
Trang 1Chương 1 Tổng quan về CSDL
Trang 2Nội dung chi tiết
Trang 3- Một mô tả hình thức về thông tin và hoạt động
Tên, địa chỉ, số điện thoại của khách hàng
Thông tin
Dữ liệu
Chọn lọc
Trang 4Giới thiệu (tt)
Cơ sở dữ liệu (Database)
- Một tập hợp có cấu trúc của những dữ liệu có liên quan
với nhau được lưu trữ trong máy tính
Danh sách sinh viên
Niên giám điện thoại
- Tập ngẫu nhiên của các dữ liệu không thể xem là một
Trang 5Giới thiệu (tt)
Hệ quản trị CSDL (Database Management System)
- Tập hợp các chương trình cho phép người sử dụng tạo
Xây dựng – lưu trữ dữ liệu lên bộ nhớ phụ
Xử lý – truy vấn, cập nhật và phát sinh báo cáo
Trang 6Người sử dụng/Lập trình viên Chương trình ứng dụng/Truy vấn
Catalog
Trang 7Một ví dụ về CSDL
PHANCONG MA_NVIEN SODA THOIGIAN
123456789 1 32.5
DEAN TENDA MADA DDIEM_DA PHONG
San pham X 1 VUNG TAU 5 San pham Y 2 NHA TRANG 5 San pham Z 3 TP HCM 5 Tin hoc hoa 10 HA NOI 4
NHANVIEN HONV TENLOT TENNV MANV NGSINH MA_NQL PHG
Tran Hong Quang 987987987 03/09/1969 987654321 4 Nguyen Thanh Tung 333445555 12/08/1955 888665555 5 Nguyen Manh Hung 666884444 09/15/1962 333445555 5 Tran Thanh Tam 453453453 07/31/1972 333445555 5
Trang 9Nội dung chi tiết
Trang 10Quá trình phát triển
Tập tin (File)
Hệ Thống Quản
Lý Tập Tin
Tập tin
Tập
Trang 11Quá trình phát triển (tt)
Hạn chế
- Dữ liệu bị trùng lắp và dư thừa
- Thiếu tính nhất quán giữa các dữ liệu
- Khó khăn trong việc truy xuất
- Việc chia sẻ dữ liệu bị hạn chế
- Khó khôi phục
Trang 12Quá trình phát triển (tt)
Cơ sở dữ liệu (Database)
Hệ Quản Trị CSDL
Trang 13Nội dung chi tiết
Giới thiệu
Quá trình phát triển
- Tính tự mô tả
- Tính độc lập giữa chương trình và dữ liệu
- Tính trừu tượng dữ liệu
Trang 14Tính tự mô tả
Hệ CSDL không chỉ chứa bản thân CSDL mà còn chứa định nghĩa đầy đủ (mô tả) của CSDL
Các định nghĩa được lưu trữ trong catalog
- Chứa các thông tin về cấu trúc tập tin, kiểu và dạng thức
lưu trữ của mỗi thành phần dữ liệu và những ràng buộc
dữ liệu
Dữ liệu trong catalog gọi là meta-data (data of data)
Các CTƯD có thể truy xuất đến nhiều CSDL nhờ thông tin cấu trúc được lưu trữ trong catalog
Trang 15Tính độc lập
Vì định nghĩa về cấu trúc CSDL được lưu trữ trong catalog nên khi có thay đổi nhỏ về cấu trúc ta ít phải sửa lại chương trình
Độc lập
Chương trình
Dữ liệu
Trang 16Tính trừu tượng
Hệ CSDL cho phép trình bày dữ liệu ở một mức trừu tượng cho phép, nhằm che bớt những chi tiết lưu trữ thật của dữ liệu
Trừu tượng hóa dữ liệu
- Mô hình dữ liệu
Đối tượng
Thuộc tính của đối tượng
Mối liên hệ
Trang 17Tính nhất quán
Lưu trữ dữ liệu thống nhất
- Tránh được tình trạng trùng lắp thông tin
Có cơ chế điều khiển truy xuất dữ liệu hợp lý
- Tránh được việc tranh chấp dữ liệu
- Bảo đảm dữ liệu luôn đúng tại mọi thời điểm
Trang 19Nội dung chi tiết
Giới thiệu
Quá trình phát triển
Một số đặc tính của CSDL
- Quản trị viên (Database Administrator - DBA)
- Thiết kế viên (Database Designer)
- Người dùng cuối (End User)
Trang 21Thiết kế viên
Chịu trách nhiệm về
- Lựa chọn cấu trúc phù hợp để lưu trữ dữ liệu
- Quyết định những dữ liệu nào cần được lưu trữ
Liên hệ với người dùng để nắm bắt được những yêu cầu và đưa ra một thiết kế CSDL thỏa yêu cầu này
Có thể là 1 nhóm các DBA quản lý các CSDL sau khi việc thiết kế hoàn tất
Trang 22Người dùng cuối
Người ít sử dụng
- Ít khi truy cập CSDL, nhưng cần những thông tin khác
nhau trong mỗi lần truy cập và dùng những câu truy vấn phức tạp
- Người quản lý
Người sử dụng thường xuyên
- Thường xuyên truy vấn và cập nhật CSDL nhờ vào một
số các chức năng đã được xây dựng sẳn
- Nhân viên
Người sử dụng đặc biệt
- Thông thạo về HQT CSDL, tự xây dựng những truy vấn
phức tạp cho công việc
- Kỹ sư, nhà khoa học, người phân tích,…
Trang 23Nội dung chi tiết
Trang 24Kiến trúc của HQT CSDL
Kiến trúc 3 lược đồ
Người dùng Lược đồ ngoài 1 … Lược đồ ngoài n
Lược đồ quan niệm
Lược đồ trong
Người dùng
Trang 25Kiến trúc của HQT CSDL (tt)
Mức trong (lược đồ trong)
- Mô tả cấu trúc lưu trữ vật lý CSDL
Mức quan niệm (lược đồ quan niệm)
- Mô tả cấu trúc của toàn thể CSDL cho 1 cộng đồng
người sử dụng, gồm thực thể, kiểu dữ liệu, mối liên hệ
và ràng buộc
- Che bớt các chi tiết của cấu trúc lưu trữ vật lý
Mức ngoài (lược đồ ngoài)
- Còn gọi là mức khung nhìn (view)
- Mô tả một phần của CSDL mà 1 nhóm người dùng quan
Trang 26Kiến trúc của HQT CSDL (tt)
Độc lập dữ liệu
- Độc lập logic
Khả năng thay đổi lược đồ quan niệm mà không thay đổi lược
đồ ngoài hoặc các CTƯD
- Độc lập vật lý
Khả năng thay đổi lược đồ trong mà không làm thay đổi lược
đồ quan niệm cũng như lược đồ ngoài
Trang 27Kiến trúc của HQT CSDL (tt)
DDL Compiler
User/Application Database Administrator
Query Compiler Transaction
Manager
Execution Engine
Logging &
Recovery
Concurrency Control
Index/File/
Record Manager
Storage
Buffer Manager
DDL Commands Transaction Commands
Data, Metadata, Indexes
User/Application Database Administrator
Execution Engine
Index/File/
Record Manager
Storage
Buffer Manager
DDL Commands Transaction Commands
Data, Metadata, Indexes
Trang 28Nội dung chi tiết
Trang 29Các tính năng của HQT CSDL
Kiểm soát được tính dư thừa của dữ liệu
- Tích hợp các nhu cầu dữ liệu của người dùng để xây
dựng một CSDL thống nhất
Chia sẻ dữ liệu
- Trong môi trường đa người dùng, các HQT phải cho
phép truy xuất dữ liệu đồng thời
Hạn chế những truy cập không cho phép
- Từng người dùng và nhóm người dùng có một tài khoản
và mật mã để truy xuất dữ liệu
Cung cấp nhiều giao diện
Trang 30Các tính năng của HQT CSDL (tt)
Đảm bảo các ràng buộc toàn vẹn
- RBTV (Integrity Constraints) là những qui định cần được
thỏa mãn để đảm bảo dữ liệu luôn phản ánh đúng ngữ nghĩa của thế giới thực
- Một số RB có thể được khai báo với HQT và HQT sẽ tự
động kiểm tra Một số RB khác được kiểm tra nhờ CTƯD
Khả năng sao lưu dự phòng khi gặp sự cố
- Có khả năng khôi phục dữ liệu khi có sự hư hỏng về
phần cứng hoặc phần mềm
Trang 31- Giảm thời gian phát triển ứng dụng
- Tính khả dụng
Khi có một sự thay đổi lên CSDL, tất cả người dùng đều thấy
Trang 32Nội dung chi tiết
Trang 33Mô hình dữ liệu
Mô hình dữ liệu (Data Model) bao gồm
- Các khái niệm biểu diễn dữ liệu
- Các phép toán xử lý dữ liệu
Trang 34Mô hình dữ liệu (tt)
Mô hình mức cao
- Cung cấp các khái niệm gần gũi với người dùng
- Mô hình phải tự nhiên và giàu ngữ nghĩa
- VD: mô hình thực thể kết hợp (ER), mô hình đối
tượng…
Mô hình cài đặt
- Đưa ra các khái niệm người dùng có thể hiểu được
nhưng không quá xa với cách dữ liệu được tổ chức thật
sự trên máy tính
- VD: mô hình quan hệ, mô hình mạng, mô hình phân cấp
Mô hình mức thấp (mô hình vật lý)
Trang 35Khoa TenMH
(0,n)
Hocky Gvien Nam
MaHP
Trang 36Ví dụ mô hình đối tượng
SVien
Ten Lop Nganh
LapTKB() InBangDiem()
Diem
DiemTH DiemLT DiemPrj SuaDiem()
HPhan
Ten SLuong 0 *
+MHoc sau
0 *
0 *
Trang 37Ví dụ mô hình quan hệ
SVien
MaSV Ten Lop Nganh
Hoc
MaSV MaHP DiemLT DiemTH
HPhan
MaHP SLuong MaMH
MHoc
MaMH TenMH Khoa TinChi
DKien
MaMH MaMHTruoc
Trang 40Lược đồ
Lược đồ CSDL (Database Schema)
- Là các mô tả về cấu trúc và ràng buộc trên CSDL
SVien Ten MaSV Nam Khoa
TenMH MaMH TinChi Khoa Mhoc
MaMH MaMH_Truoc DKien
MaKH MaMH
MaKH MaSV
Trang 41Thể hiện
Thể hiện CSDL (Database Instance)
- Là dữ liệu hiện thời được lưu trữ trong CSDL ở một thời
Cau truc du lieu
Mhoc
Toan roi rac
Co so du lieu
MaMH COSC1310 COSC3320 MATH2410 COSC3380
TinChi Khoa 4
4 3 3
CNTT CNTT TOAN CNTT
112 119 85 92 102 135
10 9 8 10
Trang 42Ngôn ngữ CSDL
Ngôn ngữ định nghĩa dữ liệu
(DDL – Data Definition Language)
Xác định ra lược đồ quan niệm
Ngôn ngữ lưu trữ dữ liệu
(SDL – Storage Definition Language)
Ngôn ngữ định nghĩa lược đồ trong
Ngôn ngữ định nghĩa khung nhìn
(VDL – View Definition Language)
Ngôn ngữ định nghĩa lược đồ ngoài
Trang 43Ngôn ngữ CSDL (tt)
Ngôn ngữ thao tác dữ liệu
(DML – Data Manipulation Language)
Cho phép truy xuất, thêm, xóa, sửa dữ liệu
Mức cao (phi thủ tục)
Mức thấp (thủ tục)
Trang 44Bài tập về nhà
Đọc ‘Kiến trúc của HQT CSDL’
- Chương 1, phần 1.2, trang 9 – 15
Trang 46Chương 2
Mô hình thực thể-kết hợp
(Entity-Relationship)
Trang 47Nội dung chi tiết
Quá trình thiết kế CSDL
Mô hình E/R
Thiết kế
Ví dụ
Trang 48Quá trình thiết kế CSDL
Ý tưởng E/R thiết kế Lược đồ quan hệ HQT CSDL quan hệ
Trang 49Phụ thuộc HQT cụ thể Độc lập HQT
Quá trình thiết kế CSDL (tt)
Thế giới thực Phân tích yêu cầu
Phân tích quan niệm
Thiết kế mức logic
Các yêu cầu về dữ liệu
Lược đồ quan niệm
Lược đồ logic Thiết kế
chương trình ứng dụng
Phân tích chức năng Các yêu cầu về chức năng
Các đặc tả chức năng
Trang 50Nội dung chi tiết
Trang 51Mô hình thực thể - kết hợp
Được dùng để thiết kế CSDL ở mức quan niệm
Biểu diễn trừu tượng cấu trúc của CSDL
Trang 52Tập thực thể
Một thực thể là một đối tượng của thế giới thực
Tập hợp các thực thể giống nhau tạo thành 1 tập thực thể
Chú ý
- Thực thể (Entity)
- Đối tượng (Object)
- Tập thực thể (Entity set)
- Lớp đối tượng (Class of objects)
Cấu trúc của dữ liệu Thao tác trên dữ liệu
Trang 55Mối quan hệ
Là sự liên kết giữa 2 hay nhiều tập thực thể
Ví dụ giữa tập thực thể NHANVIEN và PHONGBAN
có các liên kết
- Một nhân viên thuộc một phòng ban nào đó
- Một phòng ban có một nhân viên làm trưởng phòng
Trang 57PHAI
LUONG HONV
Trang 58Thể hiện của lược đồ E/R
Một CSDL được mô tả bởi lược đồ E/R sẽ chứa đựng những dữ liệu cụ thể gọi là thể hiện CSDL
- Mỗi tập thực thể sẽ có tập hợp hữu hạn các thực thể
Giả sử tập thực thể NHANVIEN có các thực thể như NV1, NV2,
…NVn
- Mỗi thực thể sẽ có 1 giá trị cụ thể tại mỗi thuộc tính
NV1 có TENNV=“Tung”, NGSINH=“08/12/1955”, PHAI=“‘Nam”
NV2 có TENNV= “Hang”, NGSINH=“07/19/1966”, PHAI=“Nu”
Chú ý
- Không lưu trữ lược đồ E/R trong CSDL
Khái niệm trừu tượng
- Lược đồ E/R chỉ giúp ta thiết kế CSDL trước khi chuyển
Trang 59Mối quan hệ - Thể hiện
Thể hiện CSDL còn chứa các mối quan hệ cụ thể
- Cho mối quan hệ R kết nối n tập thực thể E1, E2, …, En
- Thể hiện của R là tập hữu hạn các danh sách (e1, e2, …, en)
- Trong đó ei là các giá trị được chọn từ các tập thực thể Ei
Xét mối quan hệ
NHANVIEN PHONGBAN
(Hang, Dieu hanh) Lam_viec
Trang 60Mối quan hệ - Multiplicity
Xét mối quan hệ nhị phân R (binary relationship) giữa
Một E có quan hệ với nhiều F
Một F có quan hệ với nhiều E
E 1 Quan_hệ 1 F
E n Quan_hệ n F
E n Quan_hệ 1 F
Trang 61Mối quan hệ - Multiplicity (tt)
(min, max) chỉ định mỗi thực thể e ∈ E tham gia ít nhất và nhiều nhất vào thể hiện của R
Trang 62Mối quan hệ - Multiplicity (tt)
Ví dụ
- Một phòng ban có nhiều nhân viên
- Một nhân viên chỉ thuộc 1 phòng ban
- Một nhân viên có thể được phân công vào nhiều đề án
hoặc không được phân công vào đề án nào
- Một nhân viên có thể là trưởng phòng của 1 phòng ban
NV Lam_viec (1,n) PB
NV (1,1) Lam_viec PB
NV (0,n) Phan_cong DA
Trang 63Mối quan hệ - Vai trò
Một loại thực thể có thể tham gia nhiều lần vào một quan hệ với nhiều vai trò khác nhau
NHANVIEN Quan_ly
Duoc quan ly boi (0,1)
(0,n)
La nguoi quan ly
Trang 64Thuộc tính trên mối quan hệ
Thuộc tính trên mối quan hệ mô tả tính chất cho mối quan hệ đó
Thuộc tính này không thể gắn liền với những thực thể tham gia vào mối quan hệ
NHANVIEN (0,n) Phan_cong (1,n) DEAN
THGIAN
Trang 65- Mỗi tập thực thể phải có 1 khóa
- Một khóa có thể có 1 hay nhiều thuộc tính
Trang 66NGSINH DCHI
PHAI
LUONG HONV
MAPHG
Trang 67NGSINH DCHI
PHAI
LUONG HONV
Trang 68Tập thực thể yếu (tt)
Ví dụ 2
HD_CT
HOA_DON TONGTIEN
NGAYHD MAHD
HANG_HOA DGIA
TENHH
(1,1) (1,n)
HH_CT
(1,1)
(1,n) CHI_TIET SL_HH
SOTIEN
Trang 69Nội dung chi tiết
Trang 70 (4) Quyết định miền giá trị cho thuộc tính
(5) Quyết định thuộc tính khóa
(6) Quyết định (min, max) cho mối quan hệ
Trang 72Nội dung chi tiết
Trang 73Ví dụ ‘Quản lý đề án công ty’
CSDL đề án công ty theo dõi các thông tin liên quan đến nhân viên, phòng ban và đề án
- Cty có nhiều phòng ban, mỗi phòng ban có tên duy nhất,
mã phòng duy nhất, một trưởng phòng và ngày nhận chức Mỗi phòng ban có thể ở nhiều địa điểm khác nhau.
- Đề án có tên duy nhất, mã duy nhất, do 1 một phòng
ban chủ trì và được triển khai ở 1 địa điểm.
- Nhân viên có mã số, tên, địa chỉ, ngày sinh, phái và
lương Mỗi nhân viên làm việc ở 1 phòng ban, tham gia vào các đề án với số giờ làm việc khác nhau Mỗi nhân
Trang 74- Mối quan hệ “isa”
- Các qui tắc khi thiết kế
Trang 76Chương 2 Chuẩn hóa CSDL quan hệ
Trang 77Nội dung chi tiết
Giới hạn của ER
Sự dư thừa
Phụ thuộc hàm
Hệ suy diễn Amstrong
Thuật toán tìm bao đóng X+
F
Tìm phủ tối thiểu
Các dạng chuẩn
Trang 78Giới hạn của lược đồ ER
Cung cấp một tập các hướng dẫn không đưa tới một lược đồ CSDL duy nhất
Không đưa ra cách đánh giá giữa các lược đồ khác nhau
Lý thuyết về chuẩn hóa CSDL quan hệ cung cấp
kỹ thuật để phân tích và chuyển hóa từ lược đồ ER sang lược đồ quan hệ
Trang 79Sự dư thừa
Sự phụ thuộc giữa các thuộc tính gây ra sự dư thừa
- Ví dụ:
Điểm các môn học Điểm trung bình xếp loại
Địa chỉ zip code
TENPHG MAPHG TRPHG NG_NHANCHUC
Nghien cuu 5 333445555 05/22/1988
Dieu hanh 4 987987987 01/01/1995
Quan ly 1 888665555 06/19/1981
TENNV HONV Tung Nguyen Hung Nguyen
333445555 987987987 888665555
Trang 80Sự dư thừa (tt)
Thuộc tính đa trị trong lược đồ ER nhiều bộ số liệu trong lược đồ quan hệ
Ví dụ:
NHANVIEN(TENNV, HONV, NS,DCHI,GT,LUONG, BANGCAP)
TENNV HONV NS DCHI GT LUONG BANGCAP
Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000
Nhu Le 06/20/1951 291 HVH QPN Nu 43000 Đại học
Nhu Le 06/20/1951 291 HVH QPN Nu 43000 Trung học
Trung học
Trang 81Sự dư thừa (tt)
Sự dư thừa sự dị thường
- Thao tác sửa đổi: cập nhật tất cả các giá trị liên quan
- Thao tác xóa: người cuối cùng của đơn vị mất thông
333445555 987987987 888665555
Trang 82Sự dư thừa (tt)
Các giá trị không xác định
- Đặt thuộc tính Trưởng phòng vào quan hệ NHANVIEN
thay vì vào quan hệ PHONGBAN
Các bộ giả
- Sử dụng các phép nối
Trang 83Sự dư thừa (tt)
Một số quy tắc
- NT1: Rõ ràng về mặt ngữ nghĩa, tránh các phụ thuộc giữa
các thuộc tính với nhau
- NT2: Tránh sự trùng lặp về nội dung đảm bảo tránh
được các dị thường khi thao tác cập nhật dữ liệu
Phải có một số thao tác khi thêm mới và cập nhật vào lược đồ quan
hệ, cũng như có thể gây sai hỏng trong trường hợp xóa bỏ các bộ
- NT3: Tránh đặt các thuộc tính có nhiều giá trị Null
Khó thực hiện các phép nối và kết hợp
- NT4: Thiết kế các lược đồ quan hệ sao cho chúng có thể
được nối với điều kiện bằng trên các thuộc tính là khoá chính hoặc khoá ngoài theo cách đảm bảo không sinh ra
Trang 84Phụ thuộc hàm
Lý thuyết về chuẩn hóa
- Các phân tích để đưa ra lược đồ thực thể liên kết cần
phải được sửa chữa ở các bước tiếp theo
- Vấn đề nêu ở slide trên sẽ được giải quyết nếu có một
phương pháp phân tích thích hợp
lý thuyết chuẩn hóa (dựa trên phụ thuộc hàm, …) sẽ là nền tảng cơ sở để thực hiện việc phân tích và chuẩn hóa lược đồ ER
Trang 85Phụ thuộc hàm (tt)
ĐN 1: Phụ thuộc hàm (FD-function dependancy) trên một lược đồ quan hệ R là một ràng buộc XY, với X và Y là một tập các thuộc tính trong R
ĐN 2: (XY) với mỗi thể hiện r của lược đồ quan
hệ R: với 2 bộ bất kỳ t và s trong r nếu t[X]= s[X] thì t[Y]=s[Y]
Ví dụ: Ràng buộc dữ liệu là một trường hợp đặc biệt của phụ thuộc hàm
- MaNV TenNV, NS….
Trang 86Phụ thuộc hàm (tt)
Ví dụ
- Ngày sinh Tuổi
- Tuổi Quyền lợi
- MaNV Tên NV
- ???
- Bài tập:
- Xem xét lại các ràng buộc toàn vẹn đã học trong
chương trước và biểu diễn nó ở dạng phụ thuộc hàm