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…
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
Một số khái niệm
Sốhóa đơn Mã khách hàng Mã hàng hóa Sốlượng Thành tiền Tổng tiền Bằng chữ
Ph.thức th.toán
Mã khách hàng Họvà tên
Địa chỉ
Số tài khoản Mã số thuế
Mã hàng hóa Tên hàng hóa Đơn vịtính Đơn giá Thuộc tính định danh
Thuộc tính quan hệ
Thuộc tính mô tả Th.tính
thứsinh Thuộc tính
lặp
Thực thể Hóa đơn
Thực thểKhách hàng
Thực thể Hàng hóa
- 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.
Mô hình khái niệm
A R B
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
X,1
Biểu diễn mối quan hệ 1-1 giữa hai thực thể A&B
Y,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
thể hiện sự liên kết mỗi cá thể của B với mỗi cá thể của A
♦ 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ả Đọc Sách
0,1 1
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 B
1 R
Biểu diễn mối quan hệ 1-N giữa hai thực thể 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
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
♦ 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 Có Hóa đơn
1
Mối quan hệ giữa hai thực thể Khách hàng và Hóa đơn
N
Khách hàng
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 R B
N 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 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
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
Mối quan hệ giữa hai thực thể Sinh viên và Môn học
N
Sinh viên
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ệ
A
Quan hệ bậc 1 R1 X
Y
A B
C R3 N
NN
N
Quan hệ bậc 3
A R B
X 2
Quan hệ bậc 2 Y
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ẹ
A
F G
E D
B B
K
H I L
Tầng gốc
Tầng con thứ nhất
Tầng con thứ 2
Tầng con thứ 3
Ƣ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
■ Mô hình cơ sở dữ liệu thứ bậc
- Cơ bản giống mô hình CSDL thứ bậc, khác biệt lớn nhât là các báo cáo có thể thiết lập từ nhiều nguồn tức là có nhiều nút mẹ tới nút con.
- Sử dụng đối với những dữ liệu có mối quan hệ phức tạp hơn.
- Giúp cho việc thiết lập các chuẩn mực các cơ sở dữ liệu
Cấu trúc cơ bản:
- Mối quan hệ được gọi là một tập
- Mỗi tập chứa ít nhất hai dạng: một báo cáo chủ giống như nút mẹ trong CSDL thứ bậc, một báo cáo thành phần giống như nút con trong CSDL thứ bậc.
- Báo cáo thành phần có thể xuất hiện trong nhiều tập khác nhau.
Mô hình cơ sở dữ liệu mạng
Ƣu điểm:
- Mối quan hệ nhiều – nhiều có thể biều diễn dễ dàng hơn.
- Linh hoạt trong việc truy cập dữ liệu
- Nâng cao tính bảo toàn dữ liệu do người sử dụng phải khai báo cáo chủ trước rồi mới tới báo cáo thành phần.
- Đảm bảo tính độc lập của các dữ liệu một cách cao nhất.
Nhƣợc điểm:
- Khó thiết kế và khó sử dụng
- Khó có thể thay đổi trong CSDL. Mô hình này độc lập về dữ liệu nhưng không thể tạo ra sự độc lập về cấu trúc.
- Khó trong việc lập trình
- Môi trường truy cập dữ liệu theo một dòng thống nhất
Mô hình cơ sở dữ liệu mạng
Phòng bán hàng Khách hàng
Đơn
đặt hàng Chi trả
Sản phẩm
Chuỗi đơn đặt hàng
Mô hình cơ sở dữ liệu mạng
Mô hình cơ sở dữ liệu quan hệ
Cấu trúc cơ bản:
- Hệ thống này có chức năng tương tự hệ CSDL mạng và thứ bậc ngoài ra còn có thêm chức năng chủ khác cho phép mô hình này trở nên dễ hiểu và dễ thực hiện hơn.
- CSDL quan hệ được hiểu như một tập hợp các bảng biểu lưu trữ dữ liệu. Mỗi bảng là một ma trận gồm các các hàng và các cột giao nhau.
- Các bảng biểu còn được gọi là các mối quan hệ liên kết với nhau theo một tính chất chung nào đó.
Ƣu điểm
- Tăng tính linh hoạt
- Tăng khả năng thực hiện
- Giảm sự lặp lại của thông tin
- Tăng chất lượng thông tin
- Tăng độ an toàn cho thông tin
Mô hình cơ sở dữ liệu quan hệ
Nhƣợc điểm
- Yêu cầu hệ điều hành và phần cứng hoàn hảo - Yêu cầu hệ thống máy tính mạnh, CSDL hoạt
động chậm hơn so với các dạng CSDL khác.
Mô hình cơ sở dữ liệu quan hệ