CHƢƠNG 2
CƠ SỞ DỮ LIỆU
CHƢƠNG 2
CƠ SỞ DỮ LIỆU
1. MỘT SỐ KHÁI NIỆM VỀ CƠ SỞ DỮ LIỆU
Cơ sở dữ liệu là một tập hợp có cấu trúc của các
dữ liệu được lưu trữ có thể thỏa mãn đồng thời
nhiều người sử dụng.
- Với hệ thống kế toán thông thường xử lý thủ công,
dữ liệu được lưu trữ trên giấy và cấu trúc của dữ
liệu chính là các mẫu chứng từ, sổ sách.
- Với hệ thống kế toán dùng máy tính, dữ liệu được
lưu giữ dưới dạng các tệp tin và cấu trúc của dữ liệu
chính là cấu trúc của các tập tin cơ sở dữ liệu.
Tệp và hệ thống tệp dữ liệu
■ Bit: 1 hoặc 0
■ Byte
■ 8 bits (số, ký tự, tín hiệu)
■ Trường/ thuộc tính
■ Nhóm các ký tự được tổ chức nhằm mục đích lưu trữ và xử lý
■ Biểu ghi/ Thực thể
■ Nhóm các trường có liên quan tới nhau
■ Tập DL/ Tập thực thể
■ Một nhóm các biểu ghi có cấu trúc giống nhau
■ Cơ sở dữ liệu (CSDL)
■ Một nhóm các tập dữ liệu có liên quan
Phòng nhân sự
Phòng bán hàng
CSDL
Hệ thống
quản lý CSDL
Phòng kế toán
Hồ sơ nhân sự
Hồ sơ khách hàng
CSDL bán hàng
Hàng tồn kho
Hệ thống tài khoản
Hệ thống tệp
Phòng nhân sự
Hồ sơ nhân sự
Hồ sơ khách hàng
Phòng bán hàng
CSDL bán hàng
Hàng tồn kho
Phòng kế toán
Hệ thống tài khoản
Nội dung của một tệp dữ liệu về các khách hàng của một
công ty kinh doanh hàng điện máy.
Số
TT
Tên KH
Số điện thoại
Địa chỉ
Sản phẩm
Số tiền
Ngày mua
1
Lê Văn Tiến
453456
12 Lê Lợi
ĐTDĐ Nokia
2500000
23/6/09
2
Ngô Thanh Lan
678432
34 Đê La Thành
Máy giặt LG
6700000
12/4/09
3
Trần Quốc Hinh
342357
61 Lê Văn Lương
TV LCD Sony
12500000
01/3/09
MÔ HÌNH CƠ SỞ DỮ LIỆU
Một số khái niệm
- Thực thể (Entity)
- Cá thể (Instance)
- Thuộc tính (Attribute)
- Quan hệ (Relation)
Một số khái niệm
a/ Thực thể - lớp các đối tượng có cùng đặc tính
chung mà người ta muốn quản lý thông tin về nó.
Ví dụ: thực thể “NHÂN VIÊN” dùng để chỉ những
người nhân viên làm việc trong tổ chức, họ có các đặc
tính chung cần quản lý:
- mã nhân viên,
- tên gọi,
- ngày sinh,
- công việc chuyên môn…
Một số khái niệm
Trong thực tế có rất nhiều loại thực thể khác nhau:
- Thực thể xác thực: mô tả cho các đối tượng hữu
hình
- Thực thể chức năng: mô tả cho mục đích, chức
năng, hoặc nhiệm vụ của con người, thiết bị trong hệ
thống hoặc tổ chức
- Thực thể sự kiện: mô tả cho sự kiện hoặc biến cố
- Thực thể quan hệ: mô tả quan hệ giữa các đối
tượng. Đây là một quan hệ có thêm dữ liệu riêng tạo
thành thực thể.
Một số khái niệm
b/ Cá thể: là một đối tượng cụ thể trong thực thể.
Ví dụ: Nguyễn Văn A là một cá thể của thực thể
Sinh viên; Tivi Sony là một cá thể của thực thể Hàng
hóa…
c/ Thuộc tính: là các đặc trưng riêng của tất cả các
đối tượng trong thực thể.
Ví dụ: thực thể Sinh viên có các thuộc tính là Mã
sinh viên, Họ và tên sinh viên, Ngày sinh, Địa chỉ,
Trường, Khoa, Khóa học, Lớp học… Thực thể Hàng
hóa có các thuộc tính là Mã hàng hóa, Tên hàng hóa,
Đơn vị tính, Đơn giá…
Một số khái niệm
Các loại thuộc tính phổ biến:
- Thuộc tính định danh (hay còn gọi là khóa): là một
hay tổ hợp của một số thuộc tính mà giá trị của nó
được xác định một cách duy nhất đối với mỗi cá thể
của một thực thể.
- Thuộc tính mô tả: để làm rõ tính chất và cung cấp
thông tin về các cá thể của thực thể. Giá trị của các
thuộc tính này có thể trùng nhau với các cá thể khác
nhau. Các thuộc tính mô tả chỉ được xuất hiện trong
một và chỉ một bảng của CSDL mà thôi.
Một số khái niệm
Các loại thuộc tính phổ biến:
- Thuộc tính quan hệ: giá trị của nó cho phép xác định
mối quan hệ giữa cá thể của thực thể này với cá thể
của thực thể kia.
Nó giống với thuộc tính mô tả thông thường trong
bản thân thực thể chứa nó nhưng ở trong một thực
thể khác thì nó là một thuộc tính định danh.
- Thuộc tính lặp: có thể nhận nhiều hơn một giá trị.
- Thuộc tính thứ sinh: giá trị của nó có thể tính toán
hoặc suy luận từ các thuộc tính khác.
Một số khái niệm
Thực thể Khách
hàng
Thực thể
Hóa đơn
Số hóa đơn
Thuộc tính
lặp
Th.tính
thứ sinh
Mã khách hàng
Thuộc tính định danh
Họ và tên
Mã khách hàng
Địa chỉ
Mã hàng hóa
Số tài khoản
Số lượng
Thành tiền
Thuộc tính
quan hệ
Tổng tiền
Thực thể
Hàng hóa
Bằng chữ
Ph.thức th.toán
Mã số thuế
Thuộc tính mô tả
Mã hàng hóa
Tên hàng hóa
Đơn vị tính
Đơn giá
Mô hình khái niệm
- Quan hệ một - một
VD: ổ khóa và chìa khóa
- Quan hệ một - nhiều
VD: Khách hàng và đơn đặt hàng
- Quan hệ nhiều - nhiều
VD: sinh viên và môn học
Mô hình khái niệm
Quan hệ Một – Một: Người ta nói thực thể A có
quan hệ 1-1 với thực thể B nếu mỗi cá thể của thực
thể A hoặc là không liên kết hoặc là liên kết với chỉ
một cá thể của thực thể B và ngược lại, mỗi cá thể
của thực thể B hoặc là không liên kết hoặc là liên kết
với chỉ một cá thể của thực thể A.
A
X,1
R
B
Y,1
thể hiện sự liên kết
mỗi cá thể của B với
mỗi cá thể của A
A, B: Hai thực thể
R : Quan hệ 1-1 giữa A&B
X, Y có thể có giá trị 0 hoặc 1
thể hiện sự liên kết mỗi
cá thể của A với mỗi cá
thể của B
Biểu diễn mối quan hệ 1-1 giữa hai thực thể A&B
♦ Quan hệ Một – Một:
Ví dụ: Mỗi độc giả tại một thời điểm chỉ được đọc một
quyển sách và mỗi cuốn sách có thể không có ai đọc
hoặc có người đọc thì chỉ có một người đọc mà thôi
Độc giả
0,1
Đọc
1
Sách
Mối quan hệ giữa hai thực thể Đọc giả và Sách
♦ Quan hệ Một – Nhiều (1-N): Người ta nói thực thể
A có quan hệ 1-N với thực thể B nếu mỗi cá thể của
thực thể A liên kết với nhiều cá thể của thực thể B và
mỗi cá thể của thực thể B chỉ liên kết với một cá thể
của thực thể A.
A
1
R
thể hiện sự liên kết
một cá thể của B với
một cá thể của A
A
B
N
thể hiện sự liên kết một
cá thể của A với nhiều
cá thể của B
B
Biểu diễn mối quan hệ 1-N giữa hai thực thể A&B
♦ Quan hệ Một – Nhiều:
Ví dụ: Xét mối quan hệ giữa 2 thực thể Khách hàng và
Hóa đơn. Một khách hàng có thể có nhiều hóa đơn
mua hàng, nhưng trong mỗi hóa đơn chỉ ghi tên của
một khách hàng.
Khách hàng
Hóa đơn
Có
1
Khách
hàng
N
Mối quan hệ giữa hai thực
thể Khách hàng và Hóa đơn
Hóa
đơn
♦ Quan hệ Nhiều – Nhiều (N-N): Người ta nói thực thể
A có quan hệ N-N với thực thể B nếu mỗi cá thể của thực
thể A liên kết với nhiều cá thể của thực thể B và mỗi cá
thể của thực thể B liên kết với nhiều cá thể của thực thể
A.
Khái niệm “nhiều cá thể” ở đây có thể là 0, 1 hay nhiều cá
thể.
A
N
R
thể hiện sự liên kết
một cá thể của B với
nhiều cá thể của A
A
B
N
thể hiện sự liên kết
một cá thể của A với
nhiều cá thể của B
B
Quan hệ Nhiều – Nhiều (N-N):
Ví dụ: Xét mối quan hệ giữa thực thể Sinh viên và thực
thể Môn học. Một sinh viên học nhiều môn học và mỗi
môn học có nhiều sinh viên tham gia học tập.
Sinh viên
Môn học
Học
N
Sinh
viên
N
Mối quan hệ giữa hai thực thể
Sinh viên và Môn học
Môn
học
Bậc của quan hệ
Bậc của quan hệ chỉ số lượng thực thể tham gia vào
quan hệ đó.
- Quan hệ bậc 1 là quan hệ của một cá thể với các
cá thể khác thuộc cùng một thực thể.
- Quan hệ bậc 2 là quan hệ giữa 2 thực thể. Đây là
quan hệ thường gặp trong thực tế.
- Quan hệ bậc 3 trở lên được gọi quan hệ bậc cao.
Người ta đã chứng minh được rằng mọi quan hệ bậc
cao đều biến đổi được về quan hệ bậc 2.
Trong mỗi bậc quan hệ đều tồn tại các kiểu quan
hệ như đã trình bày ở trên.
Bậc của quan hệ
X
A
N
R1
A
R3
N
Y
N
Quan hệ bậc 1
C
A
X
R2
B
Y
Quan hệ bậc 2
B
Quan hệ bậc 3
Mô hình thực hiện
- Mô hình cơ sở dữ liệu thứ bậc
- Mô hình cơ sở dữ liệu mạng
- Mô hình cơ sở dữ liệu quan hệ
■ Mô hình cơ sở dữ liệu thứ bậc
Mô hình chính đầu tiên có tính thương mại dành cho một cơ sở dữ liệu lớn.
Cấu trúc cơ bản:
- Nút đầu tiên là nút mẹ
-
Nút mẹ có thể nhiều nút con
Mỗi nút con chỉ có một và duy nhất một nút mẹ
Tầng gốc
A
Tầng con thứ nhất
B
B
Tầng con thứ 2
D
E
F
G
Tầng con thứ 3
H
I
K
L
■ Mô hình cơ sở dữ liệu thứ bậc
Ƣu điểm:
- Đảm bảo tính độc lập của dữ liệu, đó làm tăng tính hiệu quả
của chương trình xử lý.
- Tạo mối quan hệ chặt chẽ giữa các nút mẹ và nút con và nhờ
đó đảm bảo tính toàn vẹn của dữ liệu từ trên xuống dưới.
- Phù hợp đối với CSDL có quan hệ một – nhiều, các giao dịch
sử dụng những mối quan hệ cố định trong thời gian dài. VD:
Ngân hàng
- CSDL thiết lập từ đầu là rất lớn, thuận lợi cho việc thiết lập
các chương trình.
- Trong môi trường dữ liệu này doanh nghiệp có thể áp dụng
nhiều ứng dụng.
■ Mô hình cơ sở dữ liệu thứ bậc
Nhƣợc điểm:
- Bất kỳ sự thay đổi nào trong cấu trúc CSDL, VD thiết
lập lại các mô đun, đều đòi hỏi thay đổi tất cả
chương trình ứng dụng dẫn đến việc thiết kế CSDL
trở nên phức tạp.
- Mối quan hệ dạng nhiều - nhiều thường khó sử
dụng mô hình này.
- CSDL thứ bậc phức tạp, khó quản lý, ít linh hoạt
- Người sử dụng phải rất quen thuộc với cơ sở dữ
liệu