You are on page 1of 51

TRƯỜNG ĐẠI HỌC KINH TẾ

KHOA THỐNG KÊ –TIN HỌC

CHƯƠNG 2.
CÁC MÔ HÌNH DỮ LIỆU

Giảng viên:
TS. Nguyễn Thị Uyên Nhi
nhintu@due.edu.vn
n
NỘI DUNG CHƯƠNG

01 PHÁT TRIỂN CƠ SỞ DỮ LIỆU

02 CÁC LOẠI MÔ HÌNH DỮ LIỆU

03 MÔ HÌNH THỰC THỂ KẾT HỢP

04 MÔ HÌNH DỮ LIỆU QUAN HỆ

05 CHUYỂN ĐỔI ERD SANG RDM

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 2


1. PHÁT TRIỂN CƠ SỞ DỮ LIỆU

▪ Mô hình ở mức quan niệm (mức cao, ngữ


nghĩa): cung cấp khái niệm gần gũi với người
dùng. VD mô hình thực thể kết hợp, mô hình
đối tượng,…
▪ Mô hình ở mức cài đặt (logic): cung cấp
các khái niệm người dùng có thể hiểu nhưng
không quá khác với dữ liệu được lưu trên
máy tính. Mô hình này không đề cập đến một
HQT CSDL cụ thể. Ví dụ: Mô hình dữ liệu
quan hệ.
▪ Mô hình vật lý (mức thấp): đưa ra khái
niệm, mô tả chi tiết về cách thức dữ liệu được
lưu trên máy tính với một HQT CSDL cụ thể.
Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 3
1. PHÁT TRIỂN CƠ SỞ DỮ LIỆU

Khái
Logic Vật lý
niệm

Sơ đồ thực
Lược đồ quan hệ Bảng và mối
thể liên kết
Chuẩn hóa quan hệ
(ERD)

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 4


1. PHÁT TRIỂN CƠ SỞ DỮ LIỆU
● Tìm hiểu công ty
● Xác định bài toán và các ràng buộc
Khởi tạo
● Xác định mục tiêu
● Thiết kế mức khái niệm
● Xác định phạm vi
● Lựa chọn hệ quản trị CSDL
Thiết kế ● Thiết kế logic
● Cài đặt
● Thiết kếhệ
vậtquản
lý trị CSDL
● Tạo CSDL
Thực thi
● Chuyển đổi/tạo dữ liệu
● Kiểm thử CSDL
Kiểm thử & đánh giá ● Tối ưu hóa CSDL
● Đánh giá CSDL và ứng dụng

Vận hành ● Chạy CSDL thật


● Thực hiện các thay đổi
Bảo trì
● Nâng cấp CSDL

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 5


1. PHÁT TRIỂN CƠ SỞ DỮ LIỆU
▪ Tiếp cận từ trên xuống (3 bước) – Top Down
✓Xác định các thực thể dữ liệu Tính trừu
✓Xác định các thuộc tính của các thực thể trượng cao
✓Xác định các mối liên hệ giữa các thực thể - KHÓ

▪ Tiếp cận từ dưới lên (3 bước) – Bottom Up


Xuất phát
✓Tập hợp các yếu tố dữ liệu từ thực tế
từ thực tế -
✓Gom nhóm thành các thực thể DỄ
✓Xác định các mối quan hệ

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 6


2. CÁC LOẠI MÔ HÌNH DỮ LIỆU
▪ Mô hình dữ liệu là tập các khái niệm để mô tả cấu trúc của CSDL và các ràng
buộc, các quan hệ trên CSDL đó.
▪ Là tập hợp kí hiệu, quy tắc cho phép mô tả dữ liệu, mối liên hệ trên dữ liệu, ngữ
nghĩa và các ràng buộc
▪ Có nhiều loại mô hình dữ liệu khác nhau: đặc trưng cho từng phương pháp tiếp
cận dữ liệu. Các CSDL có thể khác nhau về chức năng và mô hình dữ liệu (data
model)
▪ Mô hình dữ liệu sẽ quyết định cách lưu trữ và truy cập dữ liệu
▪ Tùy từng ngữ cảnh, mô hình phức hợp được áp dụng để việc lưu trữ và truy
xuất được hiệu quả nhất

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 7


2. CÁC LOẠI MÔ HÌNH DỮ LIỆU
▪ Mô hình mức cao (Mức khái niệm)
✓Mô hình thực thể kết hợp (Entity Relationship Model)
✓Mô hình hướng đối tượng (Object Oriented Model)
▪ Mô hình cài đặt
✓Mô hình quan hệ (Relational Data Model)
✓Mô hình mạng (Network Data Model)
✓Mô hình phân cấp (Hierachical Data Model)
▪ Mô hình mức thấp (mô hình vật lý)

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 8


2. CÁC LOẠI MÔ HÌNH DỮ LIỆU

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 9


3. MÔ HÌNH THỰC THỂ KẾT HỢP
▪ Mô hình thực thể kết hợp (ERD - Entity Relationship Diagram)
▪ Dùng để thiết kế CSDL ở mức quan niệm
▪ Biểu diễn các đối tượng trong thế giới thực và mối quan hệ giữa chúng
▪ ERD bao gồm:
✓Tập thực thể (Entity sets) / Thực thể (Entity)
✓Thuộc tính (Attributes)
✓Mối quan hệ (Relationship)

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 10


3. MÔ HÌNH THỰC THỂ KẾT HỢP: THỰC THỂ
▪ Đặc điểm:
✓Diễn tả các đối tượng trong thực tế
✓Có tên gọi riêng
✓Có danh sách thuộc tính mô tả đặc trưng của thực thể
✓Có khóa thực thể
▪ Ví dụ: Ứng dụng quản lý sinh viên
✓1 SV → 1 thực thể
✓1 lớp → 1 thực thể
➔Tập thực thể Entity set là tập hợp các thực thể có tính chất giống nhau.
▪ Kí hiệu: E , tên: danh từ hoặc cụm danh từ

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 11


3. MÔ HÌNH THỰC THỂ KẾT HỢP: THUỘC TÍNH
▪ Đặc điểm:
✓Là những đặc tính riêng biệt của tập thực thể
✓Diễn tả các thuộc tính thành phần của thực thể hay mối kết hợp
✓Các thông tin mở rộng → thuộc tính
✓Thuộc tính là những giá trị nguyên tố (không thể chia nhỏ hơn nữa về mặt ngữ nghĩa):
Kiểu chuỗi, kiểu số nguyên, kiểu số thực
✓Tên thuộc tính: Danh từ hoặc cụm danh từ
▪ Kí hiệu: A1

▪ Ví dụ: Thực thể NHANVIEN có các thuộc tính: họ tên, ngày sinh, địa chỉ, quê
quán…

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 12


3. MÔ HÌNH THỰC THỂ KẾT HỢP: PHÂN LOẠI THUỘC TÍNH
▪ Thuộc tính đơn trị là thuộc tính không thể chia nhỏ thành các phần riêng biệt.
✓Ví dụ: sinh viên có một mã số để lưu trữ hồ sơ tại trường Đại học đang theo học
▪ Thuộc tính đa trị là thuộc tính nhận nhiều hơn một giá trị đối với một thực thể cụ thể
tại một thời điểm xác định.
✓Ví dụ: thuộc tính Năng khiếu của mỗi sinh viên có thể là múa, vẽ, âm nhạc, ...
▪ Thuộc tính phức là thuộc tính gồm nhiều thành phần là thuộc tính đơn trị.
✓Ví dụ: mỗi địa chỉ của sinh viên gồm số nhà, đường, quận, thành phố, v.v. mỗi thành phần trong
thuộc tính địa chỉ thì số nhà, đường, quận, thành phố là một thuộc tính đơn.
▪ Thuộc tính suy diễn là thuộc tính mà giá trị của nó được tính toán từ giá trị của các
thuộc tính khác thông qua một phương thức cụ thể.
✓Ví dụ: điểm cuối môn học của sinh viên được tính từ điểm Tp1, TP2 và điểm thi hết môn.
▪ Thuộc tính khóa là một thuộc tính duy nhất nhằm phân biệt giữa các thực thể với
nhau.
✓Ví dụ: thuộc tính MASV là thuộc tính khóa của thực thể SINHVIEN.

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 13


3. MÔ HÌNH THỰC THỂ KẾT HỢP: PHÂN LOẠI THUỘC TÍNH

Thuộc tính
khóa

Thuộc
tính

Thực thể

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 14


3. MÔ HÌNH THỰC THỂ KẾT HỢP: MỐI KẾT HỢP
▪ Kí hiệu:
R

▪ Đặc điểm:
✓Diễn tả mối liên kết giữa ít nhất 2 thực thể khác nhau
• Quan hệ giữa 2 thực thể → kết hợp nhị phân
• Quan hệ nhiều thực thể → kết hợp đa phân
✓Mối kết hợp có thể có thuộc tính riêng
▪ Bậc của mối kết hợp: Số thực thể tham gia vào quan hệ

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 15


3. MÔ HÌNH THỰC THỂ KẾT HỢP: MỐI KẾT HỢP
▪ Phân loại mối liên kết/kết hợp
✓Mối kết hợp một - một (1-1) là mối kết hợp trong đó một thực thể trong tập thực thể X
kết hợp với một thực thể trong tập thực thể Y và ngược lại một thực thể trong tập thực thể
Y kết hợp với một thực thể trong tập thực thể X.
✓Mối kết hợp một - nhiều (1-n) là mối kết hợp trong đó một thực thể trong tập thực thể X
kết hợp với nhiều thực thể trong tập thực thể Y. Tuy nhiên, một thực thể trong tập thực
thể Y chỉ kết hợp được với một thực thể trong tập thực thể X.
✓Mối kết hợp nhiều - nhiều (n-n) là mối kết hợp trong đó một thực thể trong tập thực thể
X kết hợp với một số thực thể trong tập thực thể Y và một thực thể trong tập thực thể Y
kết hợp với một số thực thể trong tập thực thể X.

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 16


3. MÔ HÌNH THỰC THỂ KẾT HỢP: BẢN SỐ MỐI KẾT HỢP
Mối kết hợp

▪ (min, max) chỉ định mỗi thực thể e thuộc tập các thực thể E tham gia ít nhất và
nhiều nhất vào thể hiện của R.
▪ Chỉ quan tâm đến số nhỏ nhất và số lớn nhất
▪ Các loại bản số
✓(0,1): không hoặc một
✓(1,1): duy nhất một
✓(0,n): không hoặc nhiều
✓(1,n): một hoặc nhiều

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 17


3. MÔ HÌNH THỰC THỂ KẾT HỢP: MỐI KẾT HỢP 1-1
▪ Mỗi cá thể của thực thể A có liên kết với 0 hay 1 cá thể trong thực thể B và
ngược lại.
(1,1)

A R B
(X,1) (Y,1)

✓X,Y ∊ [0,1]
▪ Ví dụ: Sinh viên có thể có (0,1) tài khoản ngân hàng. Tài khoản thuộc về (1,1)
sinh viên. (1,1)
(0,1) (1,1)
Sinh viên Có Tài khoản

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 18


3. MÔ HÌNH THỰC THỂ KẾT HỢP: MỐI KẾT HỢP 1-n
▪ Mỗi cá thể của thực thể A có liên kết với 0 hay n cá thể trong thực thể B. Tuy
nhiên, 1 thực thể trong B chỉ kết hợp được với 1 thực thể trong A

(1,n)

A R B
(X,1) (Y,n)

✓X,Y ∊ [0,1]
▪ Ví dụ: Một sinh viên có thể thuộc về (1,1) khoa. Một khoa có thể có (0,n) sinh
viên. (1,n)
(1,1) Thuộc (0,n)
Sinh viên về
Khoa

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 19


3. MÔ HÌNH THỰC THỂ KẾT HỢP: MỐI KẾT HỢP n-n
▪ Mỗi cá thể của thực thể A có liên kết với 0 hay n cá thể trong thực thể B và
ngược lại.
(n,n)

A R B
(X,n) (Y,n)

▪ Ví dụ: Một sinh viên có thể học (0,n) môn học. Một môn học có thể được học
bởi (0,n) sinh viên
(n,n)
(0,n) (0,n)
Sinh viên Học Môn học

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 20


3. MÔ HÌNH THỰC THỂ KẾT HỢP: VÍ DỤ MỐI KẾT HỢP

1-n 1. Mỗi viên


3. Nhân phònglàm banviệc/thuộc
phụ trách trong (duy
không
(1,1) (1,n)
nhất) một phòng
hoặc nhiều đề án ban nào đó.
Mỗi
Mỗiphòng
đề án ban
được 1 hoặc
có phụ nhiều
trách bởinhân
chỉ
(0,n)
(0,1) (0,1) (0,n) làm việc.
duy nhất
viên 1 phòng ban
2. Mỗi nhân
4. Nhân viênthểthực
viên có là trưởng
hiện 0 phòng
hoặc
1-1 hoặc
1-n đề án của một phòng ban nào đó
nhiềukhông
Mỗi đề
Mỗi án được
phòng ban cóphân0 hoặc trưởng
công1 cho 1
(1,1)
hoặc nhiều nhân viên
phòng
(1,n)

n-n

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 21


3. MÔ HÌNH THỰC THỂ KẾT HỢP: MỐI KẾT HỢP VÒNG

▪ 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

A R

▪ Ví dụ:
La nguoi quan ly
NhanVien QuanLy (1,n)
(0,n)

(0,1) Duoc quan ly bởi

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 22


3. MÔ HÌNH THỰC THỂ KẾT HỢP: THỰC THỂ YẾU
▪ Là thực thể mà khóa có được từ MAHD

những thuộc tính của tập thực thể NGAYHD


khác
TONGTIEN HOA_DON
▪ Thực thể yếu (weak entity set) (1,n)

phải tham gia vào mối quan hệ mà HD_CT


trong đó có một tập thực thể chính (1,1)
SL_HH
CHI_ CHI_TIET
TIET SOTIEN
(1,1)

SL_HH
HH_CT
SOTIEN
(1,n) TENHH

HANG_HOA DGIA

MAHH

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 23


Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 24
3. MÔ HÌNH THỰC THỂ KẾT HỢP: XÂY DỰNG ERD
▪ Cách 1: thực hiện đồng thời

Danh
mục hồ sơ Xác định thực Xác định mối
Chọn lọc
thể và thuộc quan hệ và
Nội dung thông tin
tính thuộc tính
hồ sơ

ERD Chuẩn hóa, Vẽ sơ đồ thực


thu gọn thể liên kết

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 25


3. MÔ HÌNH THỰC THỂ KẾT HỢP: XÂY DỰNG ERD
▪ Cách 2: thực hiện từng hồ sơ rồi tích hợp
Danh
mục hồ sơ Xác định Xác định
Chọn lọc
thực thể và mối quan hệ
Nội dung thông tin
thuộc tính và thuộc tính
hồ sơ

ERD Chuẩn hóa, Vẽ sơ đồ thực


Tích hợp
thu gọn thể liên kết

Cho 1 hồ sơ

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 26


3. MÔ HÌNH THỰC THỂ KẾT HỢP: XÂY DỰNG ERD
▪ Bước 1: Chọn lọc thông tin → Từ điển dữ liệu
✓Quy tắc:
• Chính xác hóa
• Chọn lọc
▪ Bước 2: Xác định thực thể
✓Quy tắc:
✓Tìm thuộc tính tên gọi → thực thể
✓Xác định thuộc tính định danh và thuộc tính còn lại
▪ Bước 3: Xác định mối quan hệ
✓Quy tắc:
• Xác định mối quan hệ tương tác
• Xác định mối quan hệ ràng buộc

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 27


3. MÔ HÌNH THỰC THỂ KẾT HỢP: XÂY DỰNG ERD
▪ Bước 4: Vẽ sơ đồ bằng các công cụ (MS Visio, PowerDesigner, Case Studio)
✓Vẽ thực thể
✓Vẽ mối quan hệ
✓Sắp xếp lại cho cân đối, dễ nhìn
✓Bổ sung thuộc tính, gạch chân thuộc tính định danh
✓Xác định bản số
▪ Bước 5: Chuẩn hóa
✓Mục đích: Loại bỏ thuộc tính lặp, nhóm lặp, … và đảm bảo quy tắc nghiệp vụ
✓Rút gọn mô hình, nếu có thể
✓Xác định lại bản số

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 28


3. MÔ HÌNH THỰC THỂ KẾT HỢP: XÂY DỰNG ERD
VÍ DỤ: PHIẾU XUẤT KHO
Số: xxxxxx

Họ và tên người mua hàng:…………………………………………………

Địa chỉ:…………………………………………………………………………………
Lý do xuất kho:……………………………………………………………………
Xuất tại kho:……………………………………………………………………
STT Tên hàng ĐVT Số lượng Đơn giá Thành tiền
……. ……. …… …… …… ……
……. ……. …… …… …… ……
Tổng tiền hàng …….
Thuế VAT ……
Tổng cộng ……

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 29


3. MÔ HÌNH THỰC THỂ KẾT HỢP: XÂY DỰNG ERD
ER CHO ĐƠN ĐẶT HÀNG
▪ Bước 1: Chọn lọc thông tin
Từ trong HSDL Từ rõ nghĩa Viết tắt
Số Mã đơn đặt hàng MaDDH
Người đặt hàng Tên người đặt hàng TenNDH
Địa chỉ Địa chỉ DiaChi
Ngày đặt Ngày đặt NgayDat NGƯỜI ĐẶT HÀNG
Tên hàng Tên hàng TenHang
Đơn vị Đơn vị DonVi
Đơn giá Đơn giá DonGia
Số lượng Số lượng SoLuong
Thành tiền Thành tiền ThanhTien
HÀNG HÓA

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 30


3. MÔ HÌNH THỰC THỂ KẾT HỢP: XÂY DỰNG ERD
▪ Bước 2: Xác đinh thực thể, thuộc tính

Từ trong HSDL Từ rõ nghĩa Viết tắt


Số Mã đơn đặt hàng MaDDH
Người đặt hàng Tên người đặt hàng TenNDH
Địa chỉ Địa chỉ DiaChi
Ngày đặt Ngày đặt NgayDat
Tên hàng Tên hàng TenHang NGƯỜI ĐẶT HÀNG

Đơn vị Đơn vị DonVi


Đơn giá Đơn giá DonGia NGƯỜI ĐẶT HÀNG (MANDH, TENNDH, DIACHI)
Số lượng Số lượng SoLuong
Thành tiền Thành tiền ThanhTien

HÀNG HÓA HÀNG HÓA (MaHH, TenHang, DonVi, DonGia)

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 31


3. MÔ HÌNH THỰC THỂ KẾT HỢP: XÂY DỰNG ERD
▪ Bước 3: Xác định quan hệ
✓ĐẶT HÀNG: bao gồm các thuộc tính còn lại trong từ điển
▪ Bước 4: Vẽ
SoLuong NgayDat

ThanhTien
MaDDH

(1,n) (1,n)
Đặt
HÀNG HÓA NGƯỜI ĐẶT HÀNG
hàng

MaHH
DonGia DiaChi
TenNDH

DonVi ER-1 MaNDH


TenH

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 32


3. MÔ HÌNH THỰC THỂ KẾT HỢP: XÂY DỰNG ERD
ER CHO PHIẾU XUẤT KHO Từ trong HS Từ rõ nghĩa Từ viết tắt
▪ Bước 1: Chọn lọc thông tin Số Số hóa đơn xuất SoHDX
Họ và tên người mua hàng Tên khách hàng Ten KH
Địa chỉ Địa chỉ DiaChi
Lý do xuất kho Lý do xuất kho LyDo
Xuất tại kho Tên kho TenKho
Tên hàng Tên hàng TenHang
Đơn vị Đơn vị DVT
Đơn giá Đơn giá DonGiaBan
Thành tiền Thành tiền ThanhTien
Tổng tiền hàng Tổng tiền hàng TongTienH
Thuế VAT Thuế VAT VAT
Tổng cộng Tổng cộng TongCong

NGƯỜI MUA HÀNG KHO HÀNG HÓA

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 33


3. MÔ HÌNH THỰC THỂ KẾT HỢP: XÂY DỰNG ERD
▪ Bước 2: Xác định thực thể Từ trong HS Từ rõ nghĩa Từ viết tắt
Số Số hóa đơn xuất SoHDX
Họ và tên người mua hàng Tên khách hàng Ten KH
NGƯỜI MUA HÀNG (MaNMH, TenKH, DiaChi)
KHO (MaKho, TenKho) Địa chỉ Địa chỉ DiaChi
HÀNG HÓA (MaHH, TenHang, DonGiaBan, DVT) Lý do xuất kho Lý do xuất kho LyDo
Xuất tại kho Tên kho TenKho
Tên hàng Tên hàng TenHang
Đơn vị Đơn vị DVT
Đơn giá Đơn giá DonGiaBan
Thành tiền Thành tiền ThanhTien
Tổng tiền hàng Tổng tiền hàng TongTienH
Thuế VAT Thuế VAT VAT
Tổng cộng Tổng cộng TongCong

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 34


3. MÔ HÌNH THỰC THỂ KẾT HỢP: XÂY DỰNG ERD
▪ Bước 3: Xác định quan hệ
✓XUẤT KHO: bao gồm các thuộc tính còn lại trong từ điển
▪ Bước 4: Vẽ ThanhTien
LyDo
TongTien MaKH
MaHH DVT
SoHDX VAT
(1,n) (1,n)
Xuất NGƯỜI MUA DiaChi
HÀNG HÓA
kho HÀNG
TongCong
SL SoLuong (1,n)
TenKH
TenHang
KHO
ER-2
MaKho TenKho

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 35


DVT SoLuong NgayDat
TenH
ThanhTien DiaChi
MaHH MaDDH

(1,n) Đặt (1,n) NGƯỜI ĐẶT


HÀNG HÓA TenNDH
DGB hàng HÀNG
LyDo
SL TongTien
DGN ThanhTien MaNDH
(1,n) Xuất SoLuong
TenKH kho
SoHDX
TongC
VAT (1,n)
NGƯỜI MUA ong
DiaChi
HÀNG (1,n) TenKho
KHO
MaNMH MaKho

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 36


4. MÔ HÌNH DỮ LIỆU QUAN HỆ
▪ Cung cấp cấu trúc dữ liệu đơn giản, đồng bộ: Khái niệm “Quan hệ”
▪ Nền tảng lý thuyết vững chắc: Lý thuyết tập hợp
▪ Là cơ sở của hầu hết DBMS thương mại: Oracle, DB2, SQL Server, ...
▪ Các HQT CSDL mạnh hiện nay như MS SQL, Oracle… đều được cài đặt dựa
trên lý thuyết của mô hình DLQH
▪ Các khái niệm của Mô hình quan hệ:
✓Quan hệ (Relation)
✓Thuộc tính (Attribute)
✓Khóa
✓Bộ (Tuple)
✓Lược đồ (Schema)

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 37


4. MÔ HÌNH DỮ LIỆU QUAN HỆ
a) Quan hệ (Relation)
▪ Các thông tin lưu trữ trong CSDL được tổ chức thành bảng (table) gọi là quan
hệ. Mỗi bảng có một tên duy nhất.
▪ Mỗi quan hệ là một bảng 2 chiều, mô tả một thực thể, đối tượng trong thực tế
▪ Ví dụ: Bảng SINHVIEN trong CSDL quản lý sinh viên

MASV TENSV SODT NGSINH DCHI GIOITINH MAKHOA


102344245 Nguyễn Văn An 0911342256 05/05/2005 123 Phan Huy Ích, Tân 1 TKTH
Bình, TPHCM
191577379 Lê Kiều My 0763321902 06/07/2004 32 Trần Huy Liệu, Ba 0 TMDT
Đình, Hà Nội

➔ TÊN QUAN HỆ: SINHVIEN

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 38


4. MÔ HÌNH DỮ LIỆU QUAN HỆ
▪ Quan hệ R gồm:
✓Tập hợp các cột → các Thuộc tính
• Cố định, Được đặt tên
• Có kiểu dữ liệu
✓Tập hợp các dòng → Các bộ
• Thay đổi theo thời gian.
• Sự thay đổi phụ thuộc vào người sử dụng
▪ Mỗi dòng ~ Một thực thể (đối tượng ở thế giới thực)
▪ Quan hệ ~ Tập các thực thể

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 39


4. MÔ HÌNH DỮ LIỆU QUAN HỆ
b) Thuộc tính (Attribute)
▪ Tên các cột của quan hệ
▪ Mô tả ý nghĩa cho các giá trị tại cột đó
▪ Tất cả các dữ liệu trong cùng 1 một cột đều có dùng kiểu dữ liệu
Thuộc tính

MASV TENSV SODT NGSINH DCHI GIOITINH MAKHOA


123 Phan Huy Ích, Tân
102344245 Nguyễn Văn An 0911342256 05/05/2005 1 TKTH
Bình, TPHCM
32 Trần Huy Liệu, Ba
191577379 Lê Kiều My 0763321902 06/07/2004 0 TMDT
Đình, Hà Nội

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 40


4. MÔ HÌNH DỮ LIỆU QUAN HỆ
c) Thuộc tính khóa:
▪ Siêu khóa (Super key): Siêu khóa là một tập hợp của một hoặc nhiều khóa là
duy nhất nhằm xác định các hàng trong bảng. Ví dụ: Trong một bảng
SINHVIEN, siêu khóa có thể là tập hợp {MASV, TENSV, DIACHI} vì có thể sử
dụng tất cả các thông tin này để xác định một sinh viên cụ thể.
▪ Khóa ứng viên (Candidate key): Khóa ứng viên là một hoặc tập hợp các thuộc
tính hoặc các cột xác định duy nhất các dữ liệu trong một bảng. Giá trị của khóa
ứng viên có thể nhận giá trị NULL hoặc giá trị rỗng. Ví dụ: Trong bảng
SINHVIEN, {MASV} có thể là một khóa ứng viên,vì nó là duy nhất và có thể
định danh một sinh viên.

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 41


4. MÔ HÌNH DỮ LIỆU QUAN HỆ
▪ Khóa chính (PRIMARY KEY): Khóa chính là một cột hoặc nhóm các cột
trong bảng xác định duy nhất mỗi hàng trong bảng đó. Khóa chính không được
phép trùng lặp và không được nhận giá trị NULL. Một bảng chỉ duy nhất một
khóa chính.
✓Ký hiệu: Gạch dưới thuộc tính khóa chính.
KHÓA ỨNG VIÊN

MASV TENSV SODT NGSINH DCHI GIOITINH MAKHOA


123 Phan Huy Ích, Tân
102344245 Nguyễn Văn An 0911342256 05/05/2005 1 TKTH
Bình, TPHCM
32 Trần Huy Liệu, Ba
191577379 Lê Kiều My 0763321902 06/07/2004 0 TMDT
Đình, Hà Nội

KHÓA CHÍNH
Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 42
4. MÔ HÌNH DỮ LIỆU QUAN HỆ
▪ Khóa ngoại (FOREIGN KEY): Khóa ngoại là giá trị tạo mối quan hệ giữa hai
bảng, nhằm đảm bảo tính toàn vẹn của dữ liệu và cho phép tìm kiếm giữa nhiều
dữ liệu khác nhau của một thực thể. Khóa ngoại đóng vai trò là một tham chiếu
giữa hai bảng vì nó tham chiếu đến khóa chính của một bảng khác
MAKHOA TENKHOA
TKTH Thống kê – Tin học
TMDT Thương mại điện tử
TC Tài Chính KHÓA
NGOẠI

MASV TENSV SODT NGSINH DCHI GIOITINH MAKHOA


123 Phan Huy Ích, Tân
102344245 Nguyễn Văn An 0911342256 05/05/2005 1 TKTH
Bình, TPHCM
32 Trần Huy Liệu, Ba
191577379 Lê Kiều My 0763321902 06/07/2004 0 TMDT
Đình, Hà Nội

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 43


4. MÔ HÌNH DỮ LIỆU QUAN HỆ
▪ Trong một lược đồ quan hệ, một
thuộc tính vừa có thể tham gia
vào khóa chính, vừa tham gia
vào khóa ngoại
▪ Khóa ngoại có thể tham chiếu
đến khóa chính trên cùng 1 lược
đồ quan hệ.
▪ Có thể có nhiều khóa ngoại tham
chiếu đến cùng một khóa chính.
▪ Khóa ngoại tham chiếu đến khóa
chính phải cùng kiểu dữ liệu và
chiều dài DL

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 44


4. MÔ HÌNH DỮ LIỆU QUAN HỆ
e) Bộ (Tuple)
▪ Là các dòng của quan hệ/ bảng (trừ dòng tiêu đề - tên của các thuộc tính)
▪ Thể hiện dữ liệu cụ thể của các thuộc tính trong quan hệ
▪ Bộ thay đổi theo thời gian

MASV TENSV SODT NGSINH DCHI GIOITINH MAKHOA


123 Phan Huy Ích, Tân
102344245 Nguyễn Văn An 0911342256 05/05/2005 1 TKTH
Bình, TPHCM
32 Trần Huy Liệu, Ba
191577379 Lê Kiều My 0763321902 06/07/2004 0 TMDT
Đình, Hà Nội

CÁC BỘ (DÒNG)

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 45


4. MÔ HÌNH DỮ LIỆU QUAN HỆ
▪ TÍNH CHẤT CỦA QUAN HỆ
✓Các bộ (dòng) trong một quan hệ (bảng) là duy nhất.
✓Không quan tâm đến thứ tự các bộ trong quan hệ.
✓Thứ tự các giá trị trong bộ phải tương ứng với thứ tự liệt kê các thuộc tính của quan hệ.
✓Một thuộc tính (trừ thuộc tính khóa chính) có thể mang giá trị rỗng (null).

MASV TENSV SODT NGSINH DCHI GIOITINH MAKHOA


123 Phan Huy Ích, Tân
102344245 Nguyễn Văn An 0911342256 05/05/2005 1 TKTH
Bình, TPHCM
32 Trần Huy Liệu, Ba
191577379 Lê Kiều My 0763321902 06/07/2004 0 TMDT
Đình, Hà Nội

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 46


4. MÔ HÌNH DỮ LIỆU QUAN HỆ
f) Lược đồ quan hệ (Schema)
▪ Tên của quan hệ
▪ Tên của tập thuộc tính

Lược đồ quan hệ

SINHVIEN (MASV, TENSV, NGSINH, DCHI, GIOITINH, MAKHOAFK)

Là tập hợp

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 47


4. MÔ HÌNH DỮ LIỆU QUAN HỆ: CÁC RÀNG BUỘC CSDL
▪ NOT NULL: Ràng buộc này đảm bảo dữ liệu của cột không được nhận giá trị
NULL.
▪ UNIQUE: Ràng buộc này đảm bảo dữ liệu của cột là duy nhất, không trùng lặp
giá trị trên cùng 1 cột.
▪ KHÓA CHÍNH (PRIMARY KEY):
▪ KHÓA NGOẠI (FOREIGN KEY):
▪ CHECK: Bảo đảm tất cả giá trị trong cột thỏa mãn điều kiện nào đó. Đây là hình
thức sử dụng phổ biến để kiểm tra tính hợp lệ của dữ liệu (validate data).
▪ DEFAULT: Ràng buộc này định nghĩa một giá trị mặc định cho một cột dữ liệu
khi nó không được điền một giá trị cụ thể bởi người dùng.

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 48


5. CHUYỂN ĐỔI ERD SANG RDM
▪ Bước 1. Biến đổi một kiểu thực thể thành một bảng: Thuộc tính khóa của thực
thể chính là khoá chính của bảng. Các thuộc tính thông thường của thực thể là
thuộc tính của bảng.
▪ Bước 2. Biến đổi thuộc tính đa trị thành một bảng: Tách thuộc tính đa trị thành
bảng mới, đặt khoá chính của bảng mới đó vào bảng ban đầu, đóng vai trò là
khoá ngoại tham chiếu đến bảng ban đầu.
▪ Bước 3. Biểu diễn mối liên kết 1-1: Đặt thuộc tính khóa ở phía tùy chọn sang
phía bắt buộc.
▪ Bước 4. Biểu diễn mối liên kết có lượng số 1-n: Đặt thuộc tính khóa ở phía 1
sang n.
▪ Bước 5. Biến đổi mối liên kết có lượng số n-n: Sinh ra bảng trung gian và khoá
chính của bảng này được tạo bởi sự kết hợp giữa 2 khoá của 2 thực thể tham gia
vào mối quan hệ n-n, hay còn được gọi là khoá phức hợp.

Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 49


Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 50
THANK YOU

You might also like