Cơ sở dữ liệu
Database
Le Thi Lan
MICA,
Ha noi university of Technology
Quy trình phát triển ứng dụng CSDL
Source: Data Modeling Using Entity-Relationship Model, NGUYEN Kim Anh
Data modelling – Mô hình hóa dữ liệu
• Mục đích:
– Mô tả dữ liệu sẽ lưu trữ trong cơ sở dữ
liệu (ví dụ các thực thể như sinh viên,
bài học,…)
– Mô tả mối quan hệ giữa các dữ liệu
– Mô tả các ràng buộc đối với dữ liệu
Chương 2: Các mô hình dữ liệu
• Mô hình dữ liệu là :
– Một sự hình thức hóa toán học với
một tập ký hiệu để mô tả dữ liệu
– Một tập các phép toán được sử dụng để
thao tác các dữ liệu
Chương 2: Các mô hình dữ liệu
2. Mô hình thực thể liên kết (Entity Relationship Diagrams)
• Thực thể
• Thuộc tính
• Liên kết
Thực thể (Entity)
• “Là một đối tượng cụ thể hay trừu tượng
trong thế giới thực mà nó tồn tại và có thể
phân biệt với các đối tượng khác”
• Ví dụ: sinh viên, cán bộ
• Tập thực thể: nhóm các thực thể giống
nhau
real customers
customer
surrogates
Tên của thực thể là duy nhất
Thuộc tính (Attribute)
• Thuộc tính là một thông tin về thực thể.
• Một thuộc tính có một miền giá trị
• Thuộc tính (tập thuộc tính) khóa là thuộc
tính (hay tập thuộc tính) mà giá trị của nó
được xác định duy nhất cho mỗi thực thể
• Ví dụ:
– Số chứng minh thư nhân dân là thuộc tính
khóa cho nhân viên trong một xí nghiệp
– Username và password là tập thuộc tính khóa
cho một tài khoản thư
Ví dụ
Họ tên
Mã số
Giới tính
Nhân viên
Tuổi
Ngày sinh
Thực thể yếu (Weak entity)
-Là thực thể phụ thuộc vào thực thể khác
-Liên kết định danh
+là liên kết giữa thực thể yếu và thực thể
định danh nó
Thực thể yếu (Weak Entity)
VD:
-Thân nhân là thực thể yếu
-Nhân viên là thực thể định danh của thân
nhân
-Phụ thuộc là liên kết định danh
Thực thể yếu(Weak Entity)
Giới tính
Quan hệ Ngày sinh
Mã số
Nhân viên
Phụ thuộc
Thân nhân
Tên
Liên kết 1-1
femalecustomer
1
current
marriage
1
malecustomer
partial functions
A partial function from X to Y is a function ƒ:
X' → Y, where X' is a subset of X
Liên kết 0-N và 1-N
N
1
airport
from
partial function
flt-schedule
Liên kết bắt buộc 0-N và 1-N
N
1
airport
from
total function
flt-schedule
Liên hết N-M (nhiều-nhiều)
customer
N
reservation
M
flt-instance
Liên hết N-M (nhiều-nhiều)
N
Cấu thủ
Mức
lương
tên
Thể
trạng
Thi đấu cho
đội nào
Quốc
tịch
N
Đội bóng
tên
Sân nhà
Tài
chính
Liên kết lặp
out
flt-schedule
connection
in
departure arrival
time
time
flt#
Liên kết «is-a»
• A “is-a” B nếu B là sự tổng quát hóa của A
Thể lực
Tốc độ
Cầu thủ
Tên
Là-một
MãNV
Nhân viên
Lương
Chương 2: Các mô hình dữ liệu
2. Mô hình quan hệ
• Tích đề các (Cartesian Product): Tích đề các
(×) của n tập là tập tất cả các cách kết hợp của các
thành phần trong n tập.
• Miền giá trị (Domain) của một thuộc tính là tập
tất cả các giá trị có thể của một thuộc tính. Kí hiệu
miền giá trị của thuộc tính A là dom(A).
Chương 2: Các mô hình dữ liệu
2. Mô hình quan hệ
• Sơ đồ quan hệ (Relation Schema) biểu diễn
R(A1, A2, …, An) là một quan hệ R và danh
sách các thuộc tính A1, A2, …, An.
• Quan hệ (Relation): là một tập con của tích
Đề các trong miền giá trị.
– Sơ đồ quan hệ R,
– Quan hệ r
– Tập các thuộc tính A1..An
r(R) ⊆ (dom(A1) × dom(A2) × ... × dom(An))
Chương 2: Các mô hình dữ liệu
2. Mô hình quan hệ
• Bộ quan hệ ((N)-tuple): là một tập các cặp thuộc
tính-giá trị biểu diễn một thể hiện của quan hệ.
• Bậc quan hệ (Degree) : là số thuộc tính của quan
hệ.
• Lực lượng của quan hệ (Cardinality): là số bộ
của quan hệ.
Chương 2: Các mô hình dữ liệu
2. Mô hình quan hệ
• Khóa (Key): là một tập thuộc tính mà các giá trị của nó xác định duy nhất
một bộ trong quan hệ.
– t1 và t2 là 2 bộ trong quan hệ r trên mô hình quan hệ R
– sk là một tập các thuộc tính khóa
– t1[sk] ≠ t2[sk].
• Khóa tối thiểu (Candidate key): là tập thuộc tính khóa nhỏ nhất. Một
quan hệ có thể có nhiều tập khóa tối thiểu.
• Khóa chính (primary key): là khóa tối thiểu được lựa chọn làm khóa cho
quan hệ.
• Khóa ngoài (Foreign Key): là khóa tối thiểu của quan hệ A và được sử
dụng trong quan hệ B.
• Cơ sở dữ liệu: Là một tập quan hệ
Chương 2: Các mô hình dữ liệu
2. Mô hình quan hệ - Ví dụ
Courseno
Subject
Lecturer
Machine
CS250
Programming
Lindsey
Sun
CS260
Graphics
Hubbold
Sun
CS270
Micros
Woods
PC
CS290
Verification
Barringer
Sun
Course(Courseno, Subject, Lecturer, Machine)