MỤC LỤC
MỤC LỤC .............................................................................................................................. i
LỜI MỞ ĐẦU ....................................................................................................................... 1
Chương 1.
TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU ................................................................ 2
1.1
Dẫn nhập ........................................................................................................ 2
1.2
Hệ thống cơ sở dữ liệu .................................................................................... 3
1.2.1
Định nghĩa cơ sở dữ liệu .......................................................................... 3
1.2.2
Đặc trưng môi trường cơ sở dữ liệu .......................................................... 3
1.2.3
Các mức biểu diễn hệ thống ..................................................................... 3
1.3
Hệ quản trị cơ sở dữ liệu ................................................................................. 5
1.3.1
Khái niệm ................................................................................................ 5
1.3.2
Đặc trưng của hệ quản trị cơ sở dữ liệu .................................................... 5
1.3.3
Lịch sử phát triển ..................................................................................... 5
1.4
Mô hình dữ liệu .............................................................................................. 6
1.4.1
Định nghĩa ............................................................................................... 6
1.4.2
Mô hình thực thể kết hợp ......................................................................... 6
1.4.3
Mô hình dữ liệu mạng .............................................................................. 9
1.4.4
Mô hình dữ liệu phân cấp ....................................................................... 10
1.4.5
Mô hình dữ liệu quan hệ......................................................................... 10
1.4.6
Mô hình dữ liệu hướng đối tượng ........................................................... 11
1.5
Thực hành chương 1 ..................................................................................... 12
1.5.1
Câu hỏi lý thuyết .................................................................................... 12
1.5.2
Bài tập.................................................................................................... 12
Chương 2.
MÔ HÌNH QUAN HỆ VÀ NGÔN NGỮ ĐẠI SỐ .......................................... 16
2.1
Mô hình quan hệ ........................................................................................... 16
2.1.1
i
Dẫn nhập ................................................................................................ 16
2.1.2
Quan hệ.................................................................................................. 16
2.1.3
Lược đồ quan hệ .................................................................................... 18
2.1.4
Khóa của quan hệ ................................................................................... 18
2.1.5
Cơ sở dữ liệu .......................................................................................... 20
2.1.6
Lược đồ Cơ sở dữ liệu ............................................................................ 20
2.1.7
Đại số quan hệ........................................................................................ 21
2.1.8
Phép hợp ................................................................................................ 22
2.1.9
Phép giao ............................................................................................... 23
2.1.10
Phép hiệu ............................................................................................ 23
2.1.11
Phép tích Descartes ............................................................................. 23
2.1.12
Phép kết .............................................................................................. 24
2.1.13
Phép chiếu .......................................................................................... 26
2.1.14
Phép chọn ........................................................................................... 27
2.1.15
Phép chia ............................................................................................ 28
2.2
Thực hành chương 2 ..................................................................................... 28
2.2.1
Lý thuyết ................................................................................................ 28
2.2.2
Bài tập.................................................................................................... 29
Chương 3.
NGÔN NGỮ SQL .......................................................................................... 36
3.1
3.1.1
Lịch sử ................................................................................................... 36
3.1.2
Quy ước ................................................................................................. 36
3.1.3
Phép toán và Hàm thường dùng ............................................................. 37
3.2
ii
Dẫn nhập ...................................................................................................... 36
Ngôn ngữ truy vấn dữ liệu ............................................................................ 39
3.2.1
Công dụng và cú pháp ............................................................................ 39
3.2.2
Mệnh đề FROM ..................................................................................... 39
3.2.3
Mệnh đề SELECT .................................................................................. 40
3.2.4
Mệnh đề WHERE .................................................................................. 41
3.2.5
Mệnh đề ORDER BY............................................................................. 43
3.2.6
Mệnh đề GROUP BY............................................................................. 43
3.2.7
Mệnh đề HAVING ................................................................................. 44
3.2.8
Truy vấn lồng......................................................................................... 44
3.3
Phép toán tổng hợp ....................................................................................... 46
3.3.1
Phép toán hợp ........................................................................................ 46
3.3.2
Phép giao ............................................................................................... 47
3.3.3
Phép hiệu ............................................................................................... 47
3.4
Thực hành chương 3 ..................................................................................... 48
3.4.1
Câu hỏi lý thuyết .................................................................................... 48
3.4.2
Bài tập.................................................................................................... 48
Chương 4.
RÀNG BUỘC TOÀN VẸN ............................................................................ 53
4.1
Dẫn nhập ...................................................................................................... 53
4.2
Ràng buộc toàn vẹn và các yếu tố ................................................................. 53
4.2.1
Khái niệm .............................................................................................. 53
4.2.2
Các yếu tố .............................................................................................. 53
4.3
Phân loại ràng buộc toàn vẹn ........................................................................ 55
4.3.1
RBTV có bối cảnh là một quan hệ .......................................................... 55
4.3.2
RBTV có bối cảnh gồm nhiều quan hệ ................................................... 57
4.4
Cài đặt ràng buộc toàn vẹn............................................................................ 60
4.5
Thực hành chương 4 ..................................................................................... 61
4.5.1
Câu hỏi lý thuyết .................................................................................... 61
4.5.2
Bài tập.................................................................................................... 61
Chương 5.
PHỤ THUỘC HÀM ....................................................................................... 63
5.1
Dẫn nhập ...................................................................................................... 63
5.2
Các khái niệm ............................................................................................... 63
5.2.1
Khái niệm phụ thuộc hàm ...................................................................... 63
5.2.2
Các Phụ thuộc hàm đặc biệt ................................................................... 64
5.2.3
Tập phụ thuộc hàm của một quan hệ ...................................................... 64
5.3
Hệ tiền đề Amstrong và một số tính chất của Phụ thuộc hàm ........................ 64
5.3.1
iii
Hệ tiên đề Amstrong .............................................................................. 64
5.3.2
Một số luật dẫn suy từ hệ tiên đề Amstrong............................................ 65
5.3.3
Ứng dụng ............................................................................................... 65
5.4
Bao đóng của tập Phụ thuộc hàm .................................................................. 65
5.4.1
Định nghĩa ............................................................................................. 65
5.4.2
Ứng dụng ............................................................................................... 66
5.5
Bao đóng của tập thuộc tính .......................................................................... 66
5.5.1
Định nghĩa ............................................................................................. 66
5.5.2
Thuật toán xác định bao đóng của tập thuộc tính .................................... 66
5.6
Khóa và cách xác định .................................................................................. 67
5.6.1
Định nghĩa ............................................................................................. 67
5.6.2
Cách xác định khóa của một quan hệ...................................................... 67
5.7
Phủ và Phủ tối thiểu tập phụ thuộc hàm ........................................................ 69
5.7.1
Định nghĩa Phủ của tập phụ thuộc hàm .................................................. 69
5.7.2
Định nghĩa Phủ tối thiểu của F ............................................................... 70
5.7.3
Thuật toán tìm Phủ tối thiểu ................................................................... 70
5.8
Bài tập .......................................................................................................... 71
5.8.1
Câu hỏi lý thuyết .................................................................................... 71
5.8.2
Bài tập.................................................................................................... 72
Chương 6.
CHUẨN HÓA DỮ LIỆU ................................................................................ 73
iv
6.1
Dẫn nhập ...................................................................................................... 73
6.2
Các dạng chuẩn trên quan hệ ........................................................................ 74
6.2.1
Dạng chuẩn 1 ......................................................................................... 74
6.2.2
Dạng chuẩn 2 ......................................................................................... 74
6.2.3
Dạng chuẩn 3 ......................................................................................... 75
6.2.4
Dạng chuẩn BCK ................................................................................... 76
6.3
Dạng chuẩn của lược đồ cơ sở dữ liệu........................................................... 77
6.4
Phương pháp chuẩn hóa cơ sở dữ liệu ........................................................... 77
6.4.1
Mục tiêu chuẩn hóa ................................................................................ 77
6.4.2
Định lý Delobel...................................................................................... 77
6.4.3
Phương pháp phân rã.............................................................................. 78
6.4.4
Phương pháp tổng hợp ........................................................................... 79
6.5
Thực hành chương 6 ..................................................................................... 81
6.5.1
Câu hỏi lý thuyết .................................................................................... 81
6.5.2
Bài tập.................................................................................................... 81
Phụ lục 1: Phần mềm DurianDatabase .................................................................................. 86
Phụ lục 2: Phần mềm CheckSQL ......................................................................................... 88
Tài liệu tham khảo ............................................................................................................... 90
v
Danh mục Hình, Bảng
Hình 1.1: Mô hình hệ thống cơ sở dữ liệu .................................................................... 3
Hình 1.2: Các mức biểu diễn hệ thống - Three-schema architecture ............................ 4
Hình 1.3: Mối kết hợp giữa Sinh viên và Lớp ............................................................... 7
Hình 1.4: Mô hình thực thể kết hợp quản lý kết quả học tập ........................................ 8
Hình 1.5: Mô hình dữ liệu Mạng quản lý kết quả học tập .......................................... 10
Hình 1.6: Mô hình phân cấp Khoa ............................................................................. 10
Hình 1.7: Mô hình quan hệ quản lý kết quả học tập ................................................... 11
Hình 2.1: Mô hình quan hệ Vận chuyển ..................................................................... 34
Hình 2.2: Mô hình quan hệ Địa lý.............................................................................. 35
Hình 3.1: Mô hình quan hệ Quản lý Học viên ............................................................ 52
Hình 4.1: RBTV có chu trinh nhân viên quản lý ......................................................... 59
Hình 4.2: Chu trình trong quản lý phân công đề án ................................................... 59
Hình 6.1: Dạng chuẩn 2............................................................................................. 75
Hình 6.2: Dạng chuẩn 3............................................................................................. 76
Hình 6.3: Dạng chuẩn BCK ....................................................................................... 76
Bảng 1.1: Dữ liệu Quản lý học tập sinh viên ................................................................ 2
Bảng 1.2: Thực thể sinh viên (SinhVien) và lớp (Lop) .................................................. 7
Bảng 2.1: Quan hệ Môn học (MonHoc) ..................................................................... 17
Bảng 2.2: Quan hệ MonHoc và KQHT ...................................................................... 19
Bảng 2.3: Cơ sở dữ liệu quản lý học tập .................................................................... 21
Bảng 2.4: Thuộc tính CSDL Hội thao ........................................................................ 29
Bảng 2.5: Dữ liệu Hội thao ........................................................................................ 31
Bảng 3.1: Thành phần chỉ định .................................................................................. 38
Bảng 3.2: Ký hiệu so sánh mẫu .................................................................................. 42
Bảng 3.3: Dữ liệu minh họa phép toán tổng hợp ........................................................ 46
Bảng 4.1: Bảng tổng hợp bảng tầm ảnh hưởng .......................................................... 56
vi
LỜI MỞ ĐẦU
Cơ sở dữ liệu là môn học tiên quyết đối với người học về Công nghệ thông tin. Môn
học cung cấp kiến thức cơ bản về cách tổ chức, quản lý dữ liệu.
Nhằm hỗ trợ sinh viên Khoa Công nghệ thông tin, Trường Đại học Lạc Hồng nói riêng
và các sinh viên muốn tìm hiểu về Công nghệ thông tin nói chung một tài liệu tham
khảo rõ ràng, Nhóm biên soạn bài giảng Cơ sở dữ liệu đã tham khảo các tài liệu phổ
biến và biên soạn lại cho phù hợp với cách tiếp cận và kiến thức tiếp thu của sinh viên
một cách có hệ thống.
Nội dung bài giảng gồm sáu (06) chương.
Chương 1: Tổng quan về cơ sở dữ liệu. Chương này giúp cho người đọc có cái nhìn
tổng quan về việc cần thiết trong tổ chức dữ liệu.Các mô hình sắp xếp dữ liệu.
Chương 2: Quan hệ và Đại số. Chương hai giúp người đọc hiểu chi tiết hơn về các
khái niệm cơ bản trong mô hình quản lý dữ liệu. Ngôn ngữ thể hiện các vấn đề trong
quản lý dữ liệu (khóa chính, khóa ngoại, miền giá trị,...)
Chương 3: Ngôn ngữ truy vấn. Chương ba giúp người đọc biết cách thiết lập câu lệnh
truy vấn để rút trích thông tin dữ liệu trong hệ thống
Chương 4: Ràng buộc toàn vẹn. Người đọc sẽ được cung cấp các khái niệm về ràng
buộc, đảm bảo dữ liệu có tính toàn vẹn về sự liên kết, về giá trị...
Chương 5: Phụ thuộc hàm và Chương 6: Chuẩn hóa Cơ sở dữ liệu. Cung cấp cho
người đọc các khái niệm cơ bản về phụ thuộc hàm, tìm một phụ thuộc hàm tối thiểu và
bao đóng của tập thuộc tính. Cách thức chuẩn hóa sao cho cơ sở dữ liệu có mức chuẩn
cao nhất có thể.
1
Chương 1. TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU
1.1 Dẫn nhập
Nhu cầu tích lũy và xử lý các dữ liệu nảy sinh trong mọi công việc, trong mọi hoạt
động của con người.
Ví dụ 1: Quản lý nhân sự, tiền lương trong các cơ quan xí nghiệp; Quản lý hồ sơ và
kết quả học tập của sinh viên trong các trường học.
Trước đây, người ta lưu trữ và khai thác dữ liệu một cách thủ công.Với sự xuất hiện
của máy tính điện tử, cho phép lưu trữ và xử lý dữ liệu một cách tự động, đã nảy sinh
nhu cầu xây dựng các phần mềm ứng dụng phục vụ cho các công tác quản lý bằng
máy tính điện tử.
Để thực hiện vấn đề này, trước tiên phải biết tổ chức lưu trữ dữ liệu cần quản lý sao
cho có thể xử lý và khai thác một cách tốt nhất.
Ví dụ 2: Để quản lý hồ sơ và kết quả học tập của các sinh viên ta có thể tổ chức một
tập tin dữ liệu có cấu trúc như Bảng 1.1
Bảng 1.1: Dữ liệu Quản lý học tập sinh viên
MãSV
Họ-tên
NgàySinh
Phái
Lớp Môn-Học
Điểm
100
Nguyễn Văn Hạ
15/08/82
Nam
TH1 Ngôn ngữ C/C++
6
100
Nguyễn Văn Hạ
15/08/82
Nam
TH1 CSDL
5
101
Hoàng Thị Xuân 18/05/81
Nữ
TH1 Ngôn ngữ C/C++
9
101
Hoàng Thị Xuân 18/05/81
Nữ
TH1 CSDL
7
221
Đỗ Hữu Thu
19/06/82
Nam
TH2 Ngôn ngữ C/C++
10
221
Đỗ Hữu Thu
19/06/82
Nam
TH2 CSDL
5
233
Hoàng Đông
20/06/81
Nam
TH2 Ngôn ngữ C/C++
6
233
Hoàng Đông
20/06/81
Nam
TH2 CSDL
8
Với cách tổ chức này, xuất hiện nhiều dữ liệu trùng lắp, chiếm dụng không gian lưu
trữ và có nhiều khả năng sai sót khi thao tác. Do đó cần chọn lựa một hình thức tổ
chức khác tốt hơn, sao cho không bị thiếu hoặc thừa thông tin và có thể khai thác xử lý
một cách tốt nhất
Môn học Cơ sở dữ liệu cung cấp kiến thức cơ bản về dữ liệu vàcác mối liên quan của
dữ liệu trong việc lưu trữ, cách tổ chức lưu trữ và khai thác dữ liệu.Đây là một trong
những môn cơ sở của sinh viên học công nghệ thông tin.
Chương 1 cung cấp một số khái niệm về cơ sở dữ liệu (CSDL), mô hình dữ liệu và hệ
quản trị CSDL
2
1.2 Hệ thống cơ sở dữ liệu
1.2.1 Định nghĩa cơ sở dữ liệu
Dữ liệu (Data) là thông tin được ghi lại và nội dung dữ liệu thể hiện ý nghĩa mà người
dùng muốn lưu trữ lại.
Cơ sở dữ liệu (CSDL – Database) là một tập hợp các bảng dữ liệu có quan hệ với nhau
được tổ chức một cách chọn lọc, ghi trên thiết bị trữ tin, nhằm phục vụ đồng thời cho
nhiều người với nhiều mục đích khác nhau[1]
Ví dụ 3: CSDL quản lý sinh viên có thể được phục vụ cho phòng đào tạo; phòng
Công tác sinh viên
Chương trình QL
Bảng điểm SV
KQHT
Môi trường CSDL
Môi trường CSDL
Sinh viên
Danh sách SV
Chương trình QLSV
Môn học
Danh sách lớp
Điểm
Hình 1.1: Mô hình hệ thống cơ sở dữ liệu
1.2.2 Đặc trưng môi trường cơ sở dữ liệu
Môi trường CSDL là một hệ thống thông tin có sự thống nhất, liên quan lẫn
nhau.Đồng thời thông tin lữu trữ có sự hạn chế tối đa về sự trùng lắp thông tin, giảm
bớt không gian lãng phí trong việc lưu trữ và xử lý.
Hệ thống có khả năng cung cấp thông tin cho nhiều ứng dụng sử dụng đồng thời cho
nhiều mục đích khác nhau nhưng vẫn đảm bảo tính nhất quán và toàn vẹn về dữ liệu
Trong môi trường cơ sở dữ liệu, người sử dụng được chia thành ba dạng: người quản
trị (Database Administrator); thiết kế (Database designer) và người dùng cuối (End
User)
1.2.3 Các mức biểu diễn hệ thống
Khi phân tích thiết kế một ứng dụng tin học, cần khảo sát và mô tả hệ thống CSDL
tuần tự theo 3 mức (Three-schema architecture) [Hình 1.2]
3
1.2.3.1 Mức lược đồ ngoài
Mức lược đồ ngoài (External Schema Level, User view) là mức biểu diễn dữ liệu dựa
theo yêu cầu của người sử dụng. Mỗi người sử dụng, mỗi nhóm có yêu cầu xử lý riêng
trên một số dữ liệu nào đó.
1.2.3.2 Mức lược đồ quan niệm
Mức lược đồ quan niệm (Conceptial Schema Level) là mức mô tả tổng thể về CSDL
dựa trên sự tổng hợp các yêu cầu dữ liệu từ mức lược đồ ngoài.Cho biết CSDL chứa
những đối tượng dữ liệu nào, mối quan hệ giữa các đối tượng, các yêu cầu ràng buộc
trên đối tượng được lưu trữ.
Người quản trị sẽ thực hiện công việc tại bước này, gồm: Mô tả cấu trúc và chức năng
người dùng; thống nhất toàn bộ cơ sở dữ liệu; xác định cấu trúc hệ thống được sử dụng
(phần cứng, phần mềm)
1.2.3.3 Mức lược đồ trong
Mức lược đồ trong (bao gồm cả lưu trữ vật lý - Physical Schema Level) là mức cài đặt
CSDL trên hệ thống máy tính. Tại mức này, vấn đề cần giải quyết là: Sử dụng hệ quản
trị CSDL nào,tổ chức quản lý CSDL trên hệ quản trị
End Users
End Users
External level
External view
…
External view
External / conceptual mapping
Conceptual level
Conceptual Schema
Conceptual / internal mapping
Internal level
Internal
Schema
Hình 1.2: Các mức biểu diễn hệ thống - Three-schema architecture
4
1.3 Hệ quản trị cơ sở dữ liệu
1.3.1 Khái niệm
Hệ quản trị CSDL (DBMS - Data Base Management System) là các hệ thống phần
mềm giúp tổ chức xây dựng cấu trúc của CSDL và hỗ trợ quản lý các dữ liệu lưu trữ
bên trong CSDL đó.
Cho đến nay có khá nhiều hệ quản trị CSDL mạnh được đưa ra thị trường như:
MicroSoft Access, SQL-Server, Oracle, DB2, MySQL...
1.3.2 Đặc trưng của hệ quản trị cơ sở dữ liệu
Cung cấp giao diện hỗ trợ việc tổ chức và quản lý CSDL
Cung cấp ngôn ngữ giao tiếp giữa người sử dụng và CSDL, bao gồm:
Ngôn ngữ khai báo dữ liệu (Data Definition Language - DDL): Dùng khai
báo cấu trúc của CSDL, khai báo các mối liên hệ của dữ liệu (Data
RelationShip) và các quy tắc, ràng buộc (Rules, Constraint) về dữ liệu .
Ngôn ngữ thao tác dữ liệu (Data Manipulation Language - DML): Dùng
thêm (Insert), xóa (Delete), sửa (Update) dữ liệu trong CSDL.
Ngôn ngữ truy vấn dữ liệu (Structured Query Language - SQL): Dùng truy
xuất các thông tin cần thiết từ CSDL.
Ngôn ngữ quản lý dữ liệu (Data Control Language - DCL) : Dùng thay đổi
cấu trúc của các bảng dữ liệu, bảo mật và cấp quyền khai thác CSDL cho
người sử dụng.
Có cơ truy suất từ nhiều người dùng và giải quyết vấn đề tranh chấp dữ liệu
giữa các người sử dụng trong cùng thời điểm đồng thời vẫn bảo toàn dữ
liệu.
Cơ chế quản lý truy suất dữ liệu, sao lưu và phục hồi dữ liệu khi có sự cố
xảy ra
1.3.3 Lịch sử phát triển
Các hệ quản trị CSDL đầu tiên ra đời vào đầu những năm 60 của thế kỷ 20 dựa trên
mô hình dữ liệu phân cấp và mạng, trong số đó có hệ quản trị CSDL tên là IMS của
hãng IBM dựa trên mô hình dữ liệu phân cấp.
Năm 1976, hệ quản trị CSDL đầu tiên dựa trên mô hình dữ liệu quan hệ của hãng IBM
mang tên System-R ra đời. Từ năm 1980 hãng IBM cho ra đời hệ quản trị CSDL trên
5
các máy Main Frame mang tên DB2, tiếp theo là các hệ quản trị CSDL Dbase, Sybase,
Oracle, Informix, SQL-Server ...
Từ những năm 1990 người ta bắt đầu cố gắng xây dựng các hệ quản trị CSDL hướng
đối tượng (Oriented Object DataBase Management System). Hiện nay, các hệ quản trị
dữ liệu theo hướng đối tượng ngày càng được tập trung phát triển mạnh mẽ trên nên
tảng quan hệ.
1.4 Mô hình dữ liệu
1.4.1 Định nghĩa
Mô hình dữ liệu là công cụ biểu diễn CSDL, gồm tập hợp các ký hiệu và các quy ước
mô tả:
Cấu trúc của các đối tượng lưu trữ dữ liệu
Mối quan hệ dữ liệu giữa các đối tượng
Các quy tắc quản lý ảnh hưởng đến các dữ liệu được lưu trữ
Các phép toán xử lý truy xuất dữ liệu.
Có nhiều mô hình được đề nghị, ởtrình bày năm mô hình đặc trưng nhất:
Mô hình dữ liệu thực thể - kết hợp
Mô hình dữ liệu quan hệ
Mô hình dữ liệu Mạng
Mô hình dữ liệu Phân cấp
Mô hình dữ liệu hướng đối tượng
1.4.2 Mô hình thực thể kết hợp
Mô hình thực thể kết hợp - Entity & Relationship Model (ER) do Peter Chen đề xuất
vào năm 1976. Đây là mô hình được sử dụng phổ biến để thiết kế CSDL ở mức quan
niệm.
Các khái niệm chính trong mô hình này gồm: thuộc tính, loại thực thể và mối kết hợp
1.4.2.1 Thuộc tính
Thuộc tính (Attribute) là yếu tố thông tin đặc trưng của đối tượng cần lưu trữ. Mỗi
thuộc tính có tên phân biệt và thuộc một kiểu dữ liệu
Ví dụ 4: Họ tên, ngày sinh, nơi sinh ... của sinh viên
1.4.2.2 Loại thực thể
Loại thực thể (Entity Type) dùng mô tả một lớp đối tượng có chung tập thuộc tính.
Các thành phần của loại thực thể:
6
Tên loại thực thể: thường là danh từ mang ý nghĩa của lớp đối tượng được
mô hình hóa.
Danh sách các thuộc tính: Các thông tin đặc trưng cần lưu trữ của lớp đối
tượng.
Khóa của loại thực thể: Là tập thuộc tính mà giá trị của nó xác định duy
nhất một đối tượng trong lớp đối tượng đó. Mỗi thực thể phải có ít nhất
một khóa.
Ví dụ 5: Khóa thực thể sinh viên (SinhVien) là Mã số sinh viên (MSSV) , khóa thực
thể lớp (Lop) là Mã số lớp (MSLop)
Bảng 1.2: Thực thể sinh viên (SinhVien) và lớp (Lop)
SinhVien
Lop
MSSV
HoTenSV
MsLop
TenLop
NgaySinh
QueQuan
1.4.2.3 Mối kết hợp
Mối kết hợp (Relationship) dùng mô tả quy tắc quản lý, mối quan hệ giữa các thực thể.
Ví dụ 6: Giữa thực thể Sinh viên và thực thể Lớp có quy tắc quản lý: Mỗi sinh viên
chỉ học ở một Lớp và một lớp có nhiều sinh viên.
SinhVien
Lop
(1,1)
MSSV
HoTenSV
(1,n)
Hoc
MaLop
TenLop
NgaySinh
QueQuan
Hình 1.3: Mối kết hợp giữa Sinh viên và Lớp
Các thành phần của loại mối kết hợp:
Tên gọi: thường là động từ hay tính từ mang ý nghĩa về mối quan hệ giữa
các lớp đối tượng.
Bản số mỗi nhánh của mối kết hợp: là một bộ gồm hai thành phần (min,
max), dùng thể hiện ràng buộc về số lượng tối thiểu và tối đa của 1 đối
tượng thuộc loại thực thể của nhánh đó có quan hệ với các đối tượng của
loại thực thể khác trong cùng mối kết hợp.
7
Chú ý:
Giá trị Min = 0 nếu có một đối tượng không tham gia vào bất kỳ trường
hợp nào của mối kết hợp.
Giá trị Min = 1 nếu tất cả đối tượng đều tham gia vào mối kết hợp.
Giá trị Max = 1 nếu mỗi đối tượng chỉ tham gia tối đa một trường hợp của
mối kết hợp.
Giá trị Max = n nếu mỗi đối tượng có thể tham gia nhiều trường hợp của
mối kết hợp với số lượng không giới hạn.
Thuộc tính của mối kết hợp: là thuộc tính chung của các loại thực thể tham
gia mối kết hợp
Các bước thiết lập mô hình thực thể kết hợp:
Bước 1: Phân tích yêu cầu bài toán, chọn ra các thông tin cần quản lý.
Bước 2: Tiến hành gom nhóm các thuộc tính theotừng loại thực thể.
Bước 3: Xác định các mối kết hợp giữa các thực thể
Bước 4: Xác định các thuộc tính của các mối kết hợp
Bước 5: Xác định bản số của mối kết hợp
Ví dụ 7: Xây dựng mô hình thực thể kết hợp quản lý kết quả học tập của các sinh viên
trong trường. Trong đó các thông tin cần tổ chức lưu trữ như sau
Mỗi Khoa cần lưu thông tin: MSKhoa, TenKhoa.
Mỗi Lop chỉ trực thuộc một khoa và có MaLop, TenLop, NienKhoa, SoHocVien.
Mỗi MonHoc đều có MSMH, TenMH, SoDVHT.
Mỗi SinhVien chỉ học ở một lớp và có các thông tin MSSV, HoTenSV, NgaySinh,
QueQuan. Ngoài ra cần lưu lại điểm thi kết thúc môn học của mỗi sinh viên, trong đó,
mỗi môn học sinh viên được phép thi ba lần
SinhVien
MSSV
HoTenSV
NgaySinh
QueQuan
Khoa
Lop
1:1
Hoc
1:n
MaLop
1:1
TenLop
Thuoc
1:n
MSKhoa
TenKhoa
0:n
KQHT
LanThi
STTLanThi
1:n
0:n
Điểm
MonHoc
MSMH
TenMH
SoDVHT
Hình 1.4: Mô hình thực thể kết hợp quản lý kết quả học tập
8
1.4.3 Mô hình dữ liệu mạng
Mô hình dữ liệu mạng (Network Data Model) dùng các khái niệm: thuộc tính, loại
mẫu tin, loại liên hệ
1.4.3.1 Thuộc tính
Là yếu tố thông tin đặc trưng của đối tượng cần lưu trữ.
Ví dụ 8: Họ tên, ngày sinh, nơi sinh ... của sinh viên
1.4.3.2 Loại mẫu tin (Record Type)
Dùng mô tả một lớp đối tượng có chung tập thuộc tính. Mỗi mẫu tin chứa các giá trị
thuộc tính của một đối tượng.
1.4.3.3 Loại liên hệ (Set Type)
Thể hiện sự quan hệ ngữ nghĩa giữa một loại mẫu tin chủ và một loại mẫu tin thành
viên.
Trong đồ thị biểu diễn mô hình mạng, mỗi loại liên hệ được biểu diễn bởi:
Một cung có hướng đi từ loại mẫu tin chủ tới loại mẫu tin thành viên
Bản số chỉ ra số lượng các mẫu tin tham gia trong loại liên hệ. Dựa trên bản
số ta có các loại liên hệ sau:
11 (One-to-One): Mỗi mẫu tin của loại mẫu tin chủ kết hợp với đúng một
mẫu tin của loại mẫu tin thành viên. Ví dụ, mỗi sinh viên có duy nhất một lý
lịch cá nhân.
1n (One-to-Many): Mỗi mẫu tin của loại mẫu tin chủ kết hợp với một hay
nhiều mẫu tin của loại mẫu tin thành viên. Ví dụ, mỗi lớp có từ 1 đến nhiều
sinh viên.
n1 (Many-to-One): Nhiều mẫu tin của loại mẫu tin chủ kết hợp với đúng 1
mẫu tin của loại mẫu tin thành viên. Ví dụ, nhiều sinh viên cùng làm một đề
tài
Ví dụ 9: Mô hình dữ liệu mạng mô tả cơ sở dữ liệu của hệ thống quản lý kết quả học
tập sinh viên trong trường [Hình 1.5]. Trong đó các thông tin cần tổ chức lưu trữ như
sau:
Ví dụ 10: Mỗi Khoa cần lưu thông tin: MSKhoa, TenKhoa.
Ví dụ 11: Mỗi Lop chỉ trực thuộc một khoa và có MaLop, TenLop, NienKhoa,
SoHocVien.
Ví dụ 12: Mỗi MonHoc đều có MSMH, TenMH, SoDVHT.
9
Ví dụ 13: Mỗi SinhVien chỉ học ở một lớp và có các thông tin MSSV, HoTenSV,
NgaySinh, QueQuan. Ngoài ra cần lưu lại điểm thi kết thúc môn học của mỗi sinh
viên, trong đó, mỗi môn học sinh viên được phép thi nhiều lần
Ví dụ 14:
1: n
LOP
KHOA
1: n
LANKT
MONHOC
SINHVIEN
1: n
1: n
1: n
KQHT
Hình 1.5: Mô hình dữ liệu Mạng quản lý kết quả học tập
1.4.4 Mô hình dữ liệu phân cấp
Mô hình dữ liệu phân cấp (Hierachical Database Model) dựa trên cơ sở quan hệ cha –
con, được biểu diễn dạng cấu trúc cây nhiều nhánh [Hình 1.6]. Một kiểu mẫu tin cha
có thể liên hệ với nhiều kiểu mẫu tin con, nhưng một kiểu mẫu tin thành viên chỉ có
thể phụ thuộc duy nhất một kiểu mẫu tin cha. Chỉ có những kiểu liên hệ 11 và 1n
giữa kiểu mẫu tin cha và kiểu mẫu tin con. Do đó, mô hình dữ liệu phân cấp biểu diễn
cơ sở dữ liệu của một ứng dụng có thể bao gồm nhiều cấu trúc cây
Khoa
Ten
DiaCh
i
ThanhVien
MaSo
DiaChi
Nhiemv
u
MSDT
TenDT
GiangVien
QuanLy
HoTen
NghienCuu
HoTen
ToMon
Hình 1.6: Mô hình phân cấp Khoa
1.4.5 Mô hình dữ liệu quan hệ
Mô hình dữ liệu quan hệ (Relational Data Model) được phát triển vào năm 1970 do
Edgar Frank Codd của công ty IBM ở Sanjoe, Mỹ đề xuất. Các đối tượng trong mô
10
hình này chỉ gồm các bảng hai chiều được gọi là các quan hệ (Relation Table) với các
khái niệm: Quan hệ, Thuộc tính, khóa...
Mô hình này có một cơ sở lý thuyết vững chắc nên là mô hình được phát triển rộng rãi
nhất hiện nay
Ví dụ 15: Mô hình quan hệ quản lý kết quả học tập của các sinh viên trong trường có
thể được tổ chức như Hình 1.7
1.4.6 Mô hình dữ liệu hướng đối tượng
Mô hình dữ liệu hướng đối tượng (Object Oriented Data Model) ra đời từ cuối những
năm 1980 và đầu những năm 1990. Đây là loại mô hình tiên tiến nhất hiện nay, sử
dụng các khái niệm như :
Lớp (class) là kiểu dữ liệu có cấu trúc bao gồm các thành phần dữ liệu và
các phương thức xử lý thao tác trên cấu trúc dữ liệu đó. Dữ liệu và phương
thức hòa quyện vào nhau thành một thể thống nhất: dữ liệu cần có những
cách thức xử lý thỏa đáng, và phương thức xử lý được đưa vào trong kiểu
dữ liệu đó là để phục vụ cho các đối tượng có cấu trúc như thế. Người ta gọi
sự thống nhất đó là sự đóng gói.
Sự kế thừa (inheritance): Lớp con ngoài các thành phần và phương thức
riêng còn có thể kế thừa các thành phần và phương thức của lớp cha.
Kế thừa bội (multi-inheritance): tức là sự kế thừa từ nhiều lớp cơ sở.
Các hệ quản trị CSDL hướng đối tượng hiện nay vẫn chưa nhiều, một số còn chưa
thuần nhất (nghĩa là việc lập trình là hướng đối tượng nhưng CSDL vẫn chủ yếu dựa
trên mô hình quan hệ)
Khoa
MSKhoa
TenKhoa
Lop
MSLop
TenLop
SinhVien
MSSV
HoTen
MonHoc
MSMH
CTDT
MSLop
TenMon
Hoc
MSMH
KQHT
MSMon
MSSV
NienKho
a
NgaySin
h
MSKhoa
LanThi
Diem
Phai
MSLop
Hình 1.7: Mô hình quan hệ quản lý kết quả học tập
11
1.5 Thực hành chương 1
1.5.1 Câu hỏi lý thuyết
Câu 1. Nêu một số ví dụ về nhu cầu tích lũy và xử lý dữ liệu trong thực tế?
Câu 2. Trước khi có máy tính điện tử người ta lưu trữ thông tin như thế nào?
Câu 3. Nêu các tiện ích khi sử dụng máy tính điện tử lưu trữ và xử lý dữ liệu ?
Câu 4. Nêu những bất lợi khi tổ chức lưu trữ dữ liệu trùng lắp?
Câu 5. Công dụng của mô hình dữ liệu?
Câu 6. Cho biết mối liên hệ giữa mô hình dữ liệu và hệ quản trị CSDL?
1.5.2 Bài tập
Câu 7. Hãy lập mô hình dữ liệu ER cho các yêu cầu quản lý sau :
Quản lý việc phân công thực hiện đề án của một công ty với các quy tắc quản lý như
sau: Mỗi phòng ban trong công ty có một mã số phân biệt và tên phòng ban phân biệt.
Mỗi nhân viên đều có một mã số phân biệt, có tên, và làm việc tại một phòng ban. Mỗi
đề án đều được gán một mã đề án phân biệt, có tên đề án, ngày bắt đầu thực hiện đề án
và ngày kết thúc thực hiện đề án. Với mỗi đề án công ty phân công cho nhiều nhân
viên cùng tham gia thực hiện, và ghi nhận lại ngày nhân viên bắt đầu tham gia đề án.
Mỗi nhân viên có thể tham gia nhiều đề án.
Hướng dẫn: Có 3 thực thể: Phòng ban, Nhân viên và Đề án.
Câu 8. Quản lý hóa đơn bán hàng tại một siêu thị với các quy tắc quản lý như sau: Mỗi
mặt hàng có một mã số phân biệt, có tên, đơn vị tính và đơn giá bán hiện hành. Mỗi
nhân viên có một mã số phân biệt, tên, ngày sinh, giới tính. Khi khách mang hàng
đến các quầy tính tiền, nhân viên tại quầy tính tiền quét mã số các mặt hàng khách
mua và in cho khách một hóa đơn tính tiền. Mỗi hóa đơn tính tiền có một mã số
phân biệt, có ngày giờ lập và chi tiết các mặt hàng ghi trên hóa đơn bao gồm số thứ
tự, tên mặt hàng, số lượng, đơn giá và thành tiền. Mỗi hóa đơn chỉ do một nhân
viên lập.
Hướng dẫn: Có 3 thực thể: Mặt hàng, Nhân viên và Hóa đơn.
Câu 9. Quản lý dữ liệu một công ty cho thuê xe ô tô với các quy tắc quản lý như sau:
Mỗi xe có một biển số phân biệt, có màu xe, số chỗ ngồi và thuộc một kiểu xe.
Khách có thể thuê một hay nhiều xe cùng một lúc. Khi khách thuê xe, công ty lập
một hợp đồng thuê xe. Mỗi hợp đồng có một mã số phân biệt với các hợp đồng
khác, có ngày lập hợp đồng, ngày giờ đi, ngày về; họ tên, số chứng minh nhân dân
và số điện thoại của một người khách đại diện thuê xe; danh sách các xe được
thuê.cùng đơn giá thuê một ngày của mỗi xe được thuê.
12
Hướng dẫn: Có 3 thực thể: Xe ô tô, Hợp đồng, và Khách thuê.
Câu 10.
Quản lý chương trình học và danh sách sinh viên của mỗi ngành học với
các quy tắc quản lý như sau: Mỗi sinh viên có một mã số phân biệt, có tên sinh
viên, ngày sinh, giới tính. Mỗi sinh viên chỉ học một ngành. Mỗi ngành học có một
mã số ngành học phân biệt, có tên ngành học. Chương trình đào tạo của mỗi ngành
học bao gồm nhiều môn học. Mỗi môn học có một mã số phân biệt, có tên môn, số
tín chỉ và được học ở nhiều ngành.
Hướng dẫn: Có 3 thực thể: Sinh viên, Ngành học và Môn học.
Câu 11.
Hãy lập mô hình thực thể kết hợp quản lý bằng cấp nhân viên một công
ty với các quy tắc quản lý như sau: Công ty gồm nhiều phòng ban, mỗi phòng ban
có một mã số phân biệt, có tên gọi và số điện thoại. Mỗi nhân viên có một mã số
phân biệt, có họ tên, ngày sinh, địa chỉ, ngày vào làm việc và chỉ trực thuộc một
phòng ban. Mỗi nhân viên có thể có nhiều bằng cấp thuộc nhiều chuyên ngành
khác nhau. Mỗi loại bằng cấp như bằng cử nhân, bằng kỹ sư, bằng cao đẳng…, có
một mã số phân biệt và có tên gọi. Mỗi chuyên ngành có mã chuyên ngành, tên
chuyên ngành. Cần ghi nhận lại nhân viên có bằng cấp gì và các thông tin liên quan
đến bằng cấp của nhân viên đó như ngành học, nơi cấp bằng và năm được cấp
bằng.
Hướng dẫn: Có 4 thực thể: Phòng ban, Nhân viên, Loại bằng cấp và Chuyên ngành.
Câu 12.
Hãy lập mô hình thực thể kết hợp quản lý tính lương nhân viên một cơ
quan với các quy tắc quản lý như sau: Cơ quan có nhiều chức vụ, mỗi chức vụ có
một mã số phân biệt, có tên gọi và hệ số phụ cấp chức vụ. Mỗi nhân viên có một
mã số phân biệt, các thông tin khác là họ tên, Ngày sinh, giới tính, số điện thoại và
phải có một chức vụ. Lương được chia làm nhiều bậc, mỗi bậc có một mã số phân
biệt và lương căn bản của bậc đó. Ngoài ra để tính lương tháng của một nhân viên,
cần lưu lại nhân viên đó được hưởng lương bậc mấy và ngày áp dụng bậc lương
trên.
Câu 13.
Hãy lập mô hình thực thể kết hợp quản lý cung cấp nước sạch tại công ty
cấp nước với các quy tắc quản lý như sau: pMục đích sử dụng sẽ quy định đơn giá
nước. Mỗi phân loại sử dụng có một mã số phân biệt, có mục đích sử dụng, có định
mức, đơn giá trong định mức và đơn giá ngoài định mức. Đồng hồ đo nước có
nhiều loại khác nhau. Mỗi loại có một mã số phân biệt và thông số kỹ thuật của
loại đó. Địa điểm là nơi gắn đồng hồ nước. Mỗi địa điểm có một mã số phân biệt,
tên người đăng ký, nơi lắp đặt. Mỗi địa điểm gắn một loại đồng hồ và có một mục
13
đích sử dụng. Ngoài ra, để tính tiền nước hàng tháng cho các địa điểm cần ghi nhận
thêm thông tin: địa điểm nào, tháng mấy, số m3 nước đầu tháng, số m3 nước cuối
tháng.
Câu 14.
Hãy lập mô hình thực thể kết hợp quản lý định mức nguyên vật liệu tại
một công ty với các quy tắc quản lý như sau: Công ty sản xuất nhiều sản phẩm.
Mỗi sản phẩm có môt mã số phân biệt, có tên gọi, và quy cách sản phẩm. Mỗi vật
liệu có một mã số phân biệt, có tên gọi, đơn vị tính và giá mua vật liệu đó. Để tính
được lượng nguyên vật liệu cần cho sản xuất, phải ghi nhận thêm mỗi sản phẩm
được làm từ những vật liệu nào với định mức tiêu thụ bao nhiêu. Kế hoạch sản xuất
từng tháng phải được đề ra từ trước tùy theo biến động của thị trường. Kế hoạch
này phải chỉ rõ một sản phẩm trong một tháng sản xuất bao nhiêu cái.
Câu 15.
Quản lý một công ty taxi ở TP HCM với các quy tắc quản lý như sau:
Mỗi loại xe có một mã số phân biệt, có mô tả loại xe, giá cước 1 KM và định mức
tiêu thụ xăng. Để thuận tiện cho việc quản lý xe, công ty chia thành phố thành các
khu vực đón khách. Mỗi khu vực có một mã số phân biệt và một tên gọi. Mỗi xe có
một mã số phân biệt và có họ tên tài xế lái xe. Mỗi xe phải thuộc về một loại xe và
đón khách tại một khu vực. Mỗi lần tài xế đón khách là một cuốc xe. Mỗi cuốc xe
có một mã số phân biệt, có thời điểm xuất phát, độ dài quãng đường và ghi lại xe
đã chạy cuốc đó.
Câu 16.
Hãy lập mô hình ER cho bài toán quản lý siêu thị với các quy tắc như
sau: Siêu thị chia thành nhiều khu vực, mỗi khu vực đều có một mã số phân biệt và
có 1 tên, chuyên bán 1 loại mặt hàng, có 1 người quản lý và nhiều nhân viên làm
việc trong khu vực đó. Mỗi nhân viên chỉ làm việc tại một khu vực và đều có một
mã số phân biệt, ngoài ra cần lưu trữ các thông tin như: họ tên, ngày sinh, địa chỉ,
ngày vào làm việc. Mỗi loại hàng đều có một mã số phân biệt, có tên và bao gồm
nhiều mặt hàng. Mỗi mặt hàng trong siêu thị đều có một mã số phân biệt, có tên,
đơn vị tính, đơn giá bán hiện hành. Mỗi mặt hàng đều có thể cung cấp bởi nhiều
nhà cung ứng. Mỗi nhà cung ứng đều có một mã số phân biệt, tên công ty, địa chỉ,
số phone, số fax và các mặt hàng mà nhà cung ứng đó cung cấp. Mỗi khách hàng
khi mua hàng, quầy tính tiền sẽ in ra 1 hóa đơn gồm số hóa đơn, ngày lập hóa đơn,
tên khách mua, địa chỉ, và danh sách các mặt hàng mua kèm theo đơn giá bán.
Hướng dẫn: Xác định các thực thể: Khu vực, Loại hàng, Mặt hàng, Nhà cung ứng, Hóa
đơn. Xác định các mối kết hợp giữa các thực thể trên.
14
- Xem thêm -