1

CHƯƠNG CHƯƠNG 4: 4:
THI THIẾ ẾT K T KẾ Ế M MỨ ỨC LOGIC V C LOGIC VÀ À MÔ HÌNH MÔ HÌNH
QUAN H QUAN HỆ Ệ
N NỘ ỘI DUNG TRÌNH B I DUNG TRÌNH BÀ ÀY Y
1. Thiết kế mức logic
2. Thiết kế mức vật lý
3. Ràng buộc toàn vẹn
4. Sưu liệu cho mô hình dữ liệu
1. Thi 1. Thiế ết k t kế ế m mứ ức logic c logic
1.1 Thiết kế logic mức cao
1.2 Thiết kế logic mức thấp
1.1 Thi 1.1 Thiế ết k t kế ế logic m logic mứ ức cao c cao
1.1.1 Loại bỏ phân cấp tổng quát hóa
1.1.2 Chọn lựa khóa
2
1.1.1 Lo 1.1.1 Loạ ại b i bỏ ỏ phân c phân cấ ấp t p tổ ổng qu ng quá át h t hó óa a
Các công việc cần xem xét:
- Biểu diễn các thuộc tính kế thừa từ thực thể tổng
quát của tập thực thể con
- Mối liên kết là thành viên của (Is-a) cho biết
quan hệ giữa thực thể tập con và thực thể tổng
quát
1.1.1 Lo 1.1.1 Loạ ại b i bỏ ỏ phân c phân cấ ấp t p tổ ổng qu ng quá át h t hó óa (tt) a (tt)
Các lựa chọn giải quyết thường là:
- Phá vỡ cấu trúc tổng quát hóa thành một thực
thể đơn bằng cách hội các thuộc tính của thực thể
con vào thực thể tổng quát
- Loại bỏ thực thể tổng quát và chuyển các thuộc
tính kế thừa sang thực thể tập con
- Tạo thực thể mới bao gồm tập các thực thể con
1.1.1 Lo 1.1.1 Loạ ại b i bỏ ỏ phân c phân cấ ấp t p tổ ổng qu ng quá át h t hó óa (tt) a (tt)
Mô hình tổng quát hóa dùng thực thể tổng quát:
SVDaiHoc
NCS
SinhVien
HoTen
GioiTinh
DiaChi
NgaySinh
DeCuongNC
SinhVien
GioiTinh
DiaChi
DeCuongNC
NgaySinh
HoTen
1.1.1 Lo 1.1.1 Loạ ại b i bỏ ỏ phân c phân cấ ấp t p tổ ổng qu ng quá át h t hó óa (tt) a (tt)
Ưu điểm: đơn giản, không phát sinh thêm các
mối kết hợp và áp dụng cho tất cả cấu trúc tổng
quát
Khuyết điểm: có thể phát sinh ra một số lượng
lớn các giá trị rỗng cho các thuộc tính mà chỉ
dùng cho một loại thực thể con. Tất cả các tác vụ
chỉ truy cập đến thực thể tập con phải truy xuất
đến tất cả các thực thể tập con
3
1.1.1 Lo 1.1.1 Loạ ại b i bỏ ỏ phân c phân cấ ấp t p tổ ổng qu ng quá át h t hó óa (tt) a (tt)
Mô hình tổng quát hóa dùng thực thể tập con:
KySu QuanLy
NhanVien
MaNV
GioiTinh
DiaChi
HoTen
ThuKy
PhongBan
thuoc
quanly
phutrach
(0,1)
(1,n)
(1,1)
(1,1)
(1,1) (1,n)
ChuyenNganh KyNang SoNVTrucThuoc
MaPB
TenPB
(t,e)
1.1.1 Lo 1.1.1 Loạ ại b i bỏ ỏ phân c phân cấ ấp t p tổ ổng qu ng quá át h t hó óa (tt) a (tt)
Mô hình tổng quát hóa dùng thực thể tập con:
KySu QuanLy
HoTen
ThuKy
PhongBan
thuoc
thuoc
phutrach
1,n
(1,1)
(1,1)
(1,1)
(1,n)
ChuyenNganh KyNang
SoNVTrucThuoc
MaPB
TenPB
thuoc
1,1
(1,n)
(0,n)
MaNV
GioiTinh
HoTen
DiaChi
quanly
quanly
(0,n) (0,1)
(0,n)
(0,1)
quanly
(0,1)
(0,n)
MaNV
GioiTinh
DiaChi
MaNV
GioiTinh
HoTen
DiaChi
1.1.1 Lo 1.1.1 Loạ ại b i bỏ ỏ phân c phân cấ ấp t p tổ ổng qu ng quá át h t hó óa (tt) a (tt)
Ưu điểm: thuộc tính riêng của thực thể tập con
chỉ biểu diễn riêng cho loại thực thể của tập con
đó. Các tác vụ liên quan chỉ truy xuất đến loại tập
thực thể con đó
Khuyết điểm: không áp dụng được cho cấu trúc
tổng quát hóa loại chồng chéo (o) và bán phần (p),
chỉ dùng cho toàn phần (t) và riêng biệt (e). Các
tác vụ trước đây thao tác lên thực thể tổng quát
nay phải thao tác lên tất cả các thực thể tập con
1.1.1 Lo 1.1.1 Loạ ại b i bỏ ỏ phân c phân cấ ấp t p tổ ổng qu ng quá át h t hó óa (tt) a (tt)
Hình thành thực thể mới từ các thực thể con:
BNSotRet BNThuongHan
BenhNhan
NamSinh
TenBenhNhan
BNH5N1 BNHIV
DiaChi
GioiTinh
MaBN
4
1.1.1 Lo 1.1.1 Loạ ại b i bỏ ỏ phân c phân cấ ấp t p tổ ổng qu ng quá át h t hó óa (tt) a (tt)
Hình thành thực thể mới từ các thực thể con:
BenhNhan
NamSinh
TenBenhNhan
DiaChi
GioiTinh
lienquan LoaiBenh
(1,n) (1,1)
TenLoaiBenh
MaBN
1.1.1 Lo 1.1.1 Loạ ại b i bỏ ỏ phân c phân cấ ấp t p tổ ổng qu ng quá át h t hó óa (tt) a (tt)
Ưu điểm: cho phép mở rộng thêm các thực thể
con khác
Khuyết điểm: có thể phát sinh ra một số lượng
lớn các giá trị rỗng cho các thuộc tính mà chỉ
dùng cho một loại thực thể con
1.1.2 Ch 1.1.2 Chọ ọn l n lự ựa kh a khó óa a
Hầu hết các hệ quản trị cơ sở dữ liệu (DBMS) đòi
hỏi phải có một định danh được chọn như là khóa
chính
- Định danh thường được chọn làm khóa chính vì
khi truy xuất khóa chính sẽ nhanh hơn khi truy
xuất thực thể
- Khóa chính nên tối thiểu về kích thước và đơn
giản về cấu trúc
1.1.2 Ch 1.1.2 Chọ ọn l n lự ựa kh a khó óa (tt) a (tt)
NhanVien
NgaySinh
HoTenNV
thuoc PhongBan
(1,n) (1,1)
MaPB
MaNV
GioiTinh
DiaChi
TenPB
Thuộc tính MaNV được chọn làm khóa cho thực thể NhanVien
Thuộc tính MaPB được chọn làm khóa cho thực thể PhongBan
5
1.1.2 Ch 1.1.2 Chọ ọn l n lự ựa kh a khó óa (tt) a (tt)
BenhNhan
NamSinh
TenBenhNhan
DiaChi
GioiTinh
lienquan LoaiBenh
(1,n) (1,1)
MaLB
MaBN
TenLoaiBenh
Thuộc tính MaBN được chọn làm khóa cho thực thể BenhNhan
Thuộc tính MaLB được chọn làm khóa cho thực thể LoaiBenh
1.2 Thi 1.2 Thiế ết k t kế ế logic m logic mứ ức th c thấ ấp p
1.2.1 Chuyển đổi thuộc tính kết hợp
1.2.2 Chuyển đổi thuộc tính đa trị
1.2.3 Chuyển đổi thực thể và mối kết hợp sang
quan hệ
1.2.1 Chuy 1.2.1 Chuyể ển đ n đổ ổi thu i thuộ ộc t c tí ính k nh kế ết h t hợ ợp p
Đối với thuộc tính kết hợp, có thể chọn lựa theo
2 cách sau:
(1) Loại bỏ các thuộc tính kết hợp bằng cách
chuyển các thuộc tính thành phần của nó
thành thuộc tính đơn
(2) Loại bỏ các thuộc tính thành phần và chuyển
thuộc tính kết hợp thành thuộc tính đơn
Đối với thuộc tính có yếu tố thời gian cần tách
riêng thành thực thể mới
1.2.1 Chuy 1.2.1 Chuyể ển đ n đổ ổi thu i thuộ ộc t c tí ính k nh kế ết h t hợ ợp (tt) p (tt)
Lược đồ với thuộc tính kết hợp
KhachHang
TenDuong
PhuongXa
QuanHuyen
TinhThanhPho
NgaySinh
HoTenKH
GioiTinh
MaKH
SoNha
DiaChi
6
1.2.1 Chuy 1.2.1 Chuyể ển đ n đổ ổi thu i thuộ ộc t c tí ính k nh kế ết h t hợ ợp (tt) p (tt)
Thuộc tính kết hợp phân rã theo thuộc tính thành phần
KhachHang
TenDuong
PhuongXa
QuanHuyen
TinhThanhPho
NgaySinh
HoTenKH
GioiTinh
MaKH
SoNha
1.2.1 Chuy 1.2.1 Chuyể ển đ n đổ ổi thu i thuộ ộc t c tí ính k nh kế ết h t hợ ợp (tt) p (tt)
Thuộc tính kết hợp phân rã theo thuộc tính kết hợp
KhachHang
NgaySinh
HoTenKH
MaKH
DiaChi
GioiTinh
1.2.1 Chuy 1.2.1 Chuyể ển đ n đổ ổi thu i thuộ ộc t c tí ính k nh kế ết h t hợ ợp (tt) p (tt)
Thực thể với thuộc tính kết hợp có yếu tố thời gian
KhachHang
TenDuong
PhuongXa
QuanHuyen
TinhThanhPho
NgaySinh
HoTenKH
GioiTinh
MaKH
SoNha
DiaChi
ThoiGianBatDau
ThoiGianKetThuc
1.2.1 Chuy 1.2.1 Chuyể ển đ n đổ ổi thu i thuộ ộc t c tí ính k nh kế ết h t hợ ợp (tt) p (tt)
Thực thể với thuộc tính kết hợp có yếu tố thời gian thành thực thể
DoanhNghiep
NgaySinh
HoTenKH
GioiTinh
MaKH
DiaChi
(1,1)
SoNha
TenDuong
Quan/Huyen
Tinh/ThanhPho
ThoiGianBatDau
ThoiGianKetThuc
DiaDiem lienquan
(1,n)
MaDD
7
1.2.2 Chuy 1.2.2 Chuyể ển đ n đổ ổi thu i thuộ ộc t c tí ính đa tr nh đa trị ị
Thuộc tính đa trị của thực thể cần phải được
chuyển đổi thành thực thể mới
SanPham
QuyCach
TenSP
NguyenLieu (1,n)
MaSP
DVT
Thuộc tính đa trị NguyenLieu
(mỗi sản phẩm được sản xuất từ nhiều nguyên liệu, vật tư
khác nhau)
1.2.2 Chuy 1.2.2 Chuyể ển đ n đổ ổi thu i thuộ ộc t c tí ính đa tr nh đa trị ị (tt) (tt)
SanPham
QuyCach
TenSP
MaSP
NguyenLieu NguyenLieuSP
TenNguyenLieu
MaNL
(1,n) (1,n)
Tách thuộc tính đa trị thành thực thể mới
1.2.3 Chuy 1.2.3 Chuyể ển th n thự ực th c thể ể v và à m mố ối k i kế ết h t hợ ợp p
sang quan h sang quan hệ ệ
Chuyển đổi thực thể
NhanVien
NgaySinh
HoTenNV
MaNV
GioiTinh
DiaChi
NhanVien (MaNV, HoTenNV, NgaySinh, GioiTinh, DiaChi)
1.2.3 Chuy 1.2.3 Chuyể ển th n thự ực th c thể ể v và à m mố ối k i kế ết h t hợ ợp p
sang quan h sang quan hệ ệ (tt) (tt)
Chuyển đổi mối kết hợp
Mối kết 1-1: gộp lại thành 1 quan hệ
A B
(1,1) (1,1)
Gộp hai thực thể A và B thành một quan hệ
A (MaA, A1, A2, …, B1, B2,…)
8
1.2.3 Chuy 1.2.3 Chuyể ển th n thự ực th c thể ể v và à m mố ối k i kế ết h t hợ ợp p
sang quan h sang quan hệ ệ (tt) (tt)
Chuyển đổi mối kết hợp
Mối kết 1-1
KhacHang (MaKH, HoTenKH, DiaChi, DienThoai,
Fax, Email, CMND, DiaChiGiaoDich)
KhachHang
HoTenKH
duocdaidien NguoiDaiDien
(1,1) (1,1)
CMND
MaKH
DiaDiemGiaoDich
DiaChi
DienThoai
Fax
Email
1.2.3 Chuy 1.2.3 Chuyể ển th n thự ực th c thể ể v và à m mố ối k i kế ết h t hợ ợp p
sang quan h sang quan hệ ệ (tt) (tt)
Chuyển đổi mối kết hợp
Mối kết hợp 1-1: tách thành 2 quan hệ
A B
(1,1) (1,1)
A (MaA, A1, A2,...,An, MaB)
B (MaB, B1, B2,…, Bn)
hoặc
A (MaA, A1, A2,…, An)
B (MaB, B1, B2,...,Bn, MaA)
Khóa chính
Khóa ngoại
1.2.3 Chuy 1.2.3 Chuyể ển th n thự ực th c thể ể v và à m mố ối k i kế ết h t hợ ợp p
sang quan h sang quan hệ ệ (tt) (tt)
Chuyển đổi mối kết hợp
Mối kết hợp 1-1: tách thành 2 quan hệ
KhacHang (MaKH, HoTenKH, DiaChi, DienThoai,
Fax, Email)
BienNhan (SoBN, NgayBienNhan, NgayHenKetQua,
Noidung, HoSoDinhKem, NguoiNhan, MaKH)
KhachHang
HoTenKH
biennhan BienNhan
(1,1) (1,1)
SoBN
MaKH NgayBienNhan DiaChi
DienThoai
Fax
Email
NgayHenKetQua
NoiDung
HoSoDinhKem
NguoiNhan
1.2.3 Chuy 1.2.3 Chuyể ển th n thự ực th c thể ể v và à m mố ối k i kế ết h t hợ ợp p
sang quan h sang quan hệ ệ (tt) (tt)
Chuyển đổi mối kết hợp
Mối kết hợp 1-n
A (MaA, A1, A2,...,An)
B (MaB, B1, B2,...,Bn, MaA)
A B
(1,1) (1,n)
9
1.2.3 Chuy 1.2.3 Chuyể ển th n thự ực th c thể ể v và à m mố ối k i kế ết h t hợ ợp p
sang quan h sang quan hệ ệ (tt) (tt)
Chuyển đổi mối kết hợp
Mối kết hợp 1-n
NhanVien (MaNV, HoTenNV, NgaySinh, GioiTinh,
DiaChi, MaPB)
PhongBan (MaPB, TenPB)
NhanVien
NgaySinh
HoTenNV
thuoc PhongBan
(1,n) (1,1)
MaPB
MaNV
GioiTinh
DiaChi
TenPB
1.2.3 Chuy 1.2.3 Chuyể ển th n thự ực th c thể ể v và à m mố ối k i kế ết h t hợ ợp p
sang quan h sang quan hệ ệ (tt) (tt)
Chuyển đổi mối kết hợp
Mối kết hợp n - n
A (MaA, A1, A2,...,An)
B (MaB, B1, B2,...,Bn)
AB (MaA, MaB,…)
A B
(1,n) (1,n)
1.2.3 Chuy 1.2.3 Chuyể ển th n thự ực th c thể ể v và à m mố ối k i kế ết h t hợ ợp p
sang quan h sang quan hệ ệ (tt) (tt)
Chuyển đổi mối kết hợp
Mối kết hợp n - n
Sach (MaSach, TenSach, SoTrang, MauSac)
TacGia (MaTG, TenTG)
BienSoan (MaSach, MaTG)
Sach
SoTrang
TenSach
duocviet TacGia
(1,n) (1,n)
MaTG
MaSach
MauSac
TenTG
1.2.3 Chuy 1.2.3 Chuyể ển th n thự ực th c thể ể v và à m mố ối k i kế ết h t hợ ợp p
sang quan h sang quan hệ ệ (tt) (tt)
Chuyển đổi mối kết hợp
Mối kết hợp n - n
HoaDon (SoHD, VAT, NgayLap, TongTien, NguoiLap)
CTHoaDon (SoHD, MaSP, SoLuong, DonGia, ThanhTien)
SanPham (MaSP, TenSP, QuyCach, DVT)
SanPham HoaDon
MaSP
TenSP
QuyCach
DVT
CTHoaDon
(1,n) (1,n)
ThanhTien
DonGiaBan
SoLuong
NgayLap
SoHD
TongTien
NguoiLap
VAT
10
1.2.3 Chuy 1.2.3 Chuyể ển th n thự ực th c thể ể v và à m mố ối k i kế ết h t hợ ợp p
sang quan h sang quan hệ ệ (tt) (tt)
Chuyển đổi mối kết hợp
Mối kết hợp phản thân 1-n
NhanVien (MaNV, HoTenNV, NgaySinh, GioiTinh,
DiaChi, MaNQL)
NgaySinh
HoTenNV
GioiTinh
MaNV
DiaChi
NhanVien
quanly
(0,1)
(0,n)
1.2.3 Chuy 1.2.3 Chuyể ển th n thự ực th c thể ể v và à m mố ối k i kế ết h t hợ ợp p
sang quan h sang quan hệ ệ (tt) (tt)
Chuyển đổi mối kết hợp
Mối kết hợp 3 ngôi 1- 1 -1
NhanVien
DuAn SoNhatKy PhanCong
(1,1)
(1,1) (1,1)
Quan hệ PhanCong có 3 cách chọn khóa:
C1: PhanCong(MaNV,MaDA,....)
C2: PhanCong(MaSoNK, MaDA,....)
C3: PhanCong(MaSoNK, MaNV,....)
1.2.3 Chuy 1.2.3 Chuyể ển th n thự ực th c thể ể v và à m mố ối k i kế ết h t hợ ợp p
sang quan h sang quan hệ ệ (tt) (tt)
Chuyển đổi mối kết hợp
Mối kết hợp 3 ngôi 1- 1 - n
HuongDan (MaGV, MaSV,MaDeTai....)
SinhVien
GiaoVien DeTai HuongDan
(1,n)
(1,1) (1,1)
1.2.3 Chuy 1.2.3 Chuyể ển th n thự ực th c thể ể v và à m mố ối k i kế ết h t hợ ợp p
sang quan h sang quan hệ ệ (tt) (tt)
Chuyển đổi mối kết hợp
Mối kết hợp 3 ngôi 1 - n - m
NhanVien
DuAn ViTri PhanCong
(1,n)
(1,1) (1,n)
PhanCong (MaNV, MaViTri,....)
11
1.2.3 Chuy 1.2.3 Chuyể ển th n thự ực th c thể ể v và à m mố ối k i kế ết h t hợ ợp p
sang quan h sang quan hệ ệ (tt) (tt)
Chuyển đổi mối kết hợp
Mối kết hợp 3 ngôi n - m - l
NhanVien
DuAn KyNang PhanCong
(1,n)
(1,n) (1,n)
PhanCong(MaNV, MaDA, MaKyNang,...)
2. Thi 2. Thiế ết k t kế ế m mứ ức v c vậ ật lý t lý
MaSP
TenSP
QuyCach
DVT
CTHoaDon
ThanhTien
DonGiaBan
SoLuong
NgayLap
SoHD
TongTien
NguoiLap
VAT
(1,n)
SanPham
(1,n)
HoaDon
Xét quan hệ giữa 2 thực thể HoaDon và SanPham
2. Thi 2. Thiế ết k t kế ế m mứ ức v c vậ ật lý (tt) t lý (tt)
NguoiLap TongTien NgayLap VAT SoHD
HoaDon
ThanhTien DonGiaBan SoLuong MaSP SoHD
CTHoaDon
DVT QuyCach TenSP MaSP
SanPham
2. Thi 2. Thiế ết k t kế ế m mứ ức v c vậ ật lý (tt) t lý (tt)
MaSP
TenSP
QuyCach
DVT
CTDonHang
ThanhTien
DonGiaBan
SoLuong
NgayDatHang
SoDH
TongTien
NguoiLap
(1,n)
SanPham
(1,n)
DonHang KhachHang dathang
(1,n) (1,1)
MaKH HoTenKH
DiaChi DienThoai
Xét quan hệ giữa các thực thể KhachHang, DonHang và SanPham
12
2. Thi 2. Thiế ết k t kế ế m mứ ức v c vậ ật lý (tt) t lý (tt)
NguoiLap MaKH TongTien NgayDatHang SoDH
DonHang
ThanhTien DonGiaBan SoLuong MaSP SoDH
CTDonHang
DVT QuyCach TenSP MaSP
SanPham
DienThoai DiaChi HoTenKH MaKH
KhachHang
2. Thi 2. Thiế ết k t kế ế m mứ ức v c vậ ật lý (tt) t lý (tt)
FK_CTHOPDON_CTHOPDONG_HOPDONG
FK_CTHOPDON_CTHOPDONG_HANGHOA
FK_NHACUNGC_THUOC_QUOCGIA
FK_HOPDONG_HD_NCC_NHACUNGC
FK_PHIEUNHA_NHAP__HD_HOPDONG
FK_CTPHIEUN_CTPHIEUNH_PHIEUNHA
FK_CTPHIEUN_CTPHIEUNH_HANGHOA
FK_PHIEUXUA_XUAT_DDH_DONDATHA
FK_CTDATHAN_CTDATHANG_DONDATHA
FK_CTDATHAN_CTDATHANG_HANGHOA
FK_DONDATHA_CO_KHACHHAN
FK_PHIEUNHA_NHAPKHO_KHO FK_PHIEUXUA_XUATKHO_KHO
FK_HANGHOA_DON_VI_TI_DVT
FK_PHIEUNHA_NV_PN_NHANVIEN FK_PHIEUXUA_NV_PX_NHANVIEN
FK_DONDATHA_NV_DDH_NHANVIEN
FK_KHO_NV_KHO_NHANVIEN
FK_PHIEUTHU_THU_NHANVIEN
FK_PHIEUCHI_CHI_NHANVIEN
FK_PHIEUTHU_THUTIEN_KHACHHAN FK_PHIEUCHI_CHITIEN_NHACUNGC
FK_TONKHO_HANGTON_HANGHOA
FK_TONKHO_THUOCKHO_KHO
FK_HOPDONG_NV_HD_NHANVIEN
FK_NHANVIEN_THUOCPHON_PHONGBAN
FK_HANGHOA_LOAIHANG_LOAIHANG
FK_NHANVIEN_CHUCVU_CHUCVU
FK_NHANVIEN_QUANLY_NHANVIEN
FK_CTPHIEUX_CTPHIEUXU_HANGHOA
FK_CTPHIEUX_CTPHIEUXU_PHIEUXUA
HANGHOA
MAHH
MALOAI
MADV
TENHH
QUYCACH
GIADENGHI
varchar(9)
char(3)
char(2)
varchar(100)
char(20)
numeric(8,2)
<pk>
<fk2>
<fk1>
HOPDONG
MAHD
MANCC
MANV
NGAYHD
THOIGIANTT
TENNGANHANG
DCNGANHANG
SOTK
NGAYTAUDI
THONGTIN
TRIGIAHD
GHICHU
char(11)
char(2)
char(2)
ti mestamp
varchar(100)
varchar(100)
varchar(200)
char(10)
ti mestamp
varchar(500)
numeri c(8,2)
varchar(500)
<pk>
<fk1>
<fk2>
CTHOPDONG
MAHD
MAHH
SLHD
DGHD
char(11)
varchar(9)
integer
numeric(8,2)
<pk,fk1>
<pk,fk2>
NHACUNGCAP
MANCC
MAQUOCGIA
TENNCC
DIACHI
DIENTHOAI
FAX
EMAIL
WEBSITE
GHICHU
char(2)
char(2)
varchar(100)
varchar(200)
varchar(20)
varchar(20)
varchar(50)
varchar(50)
varchar(500)
<pk>
<fk>
QUOCGIA
MAQUOCGIA
TENQUOCGIA
char(2)
varchar(20)
<pk>
PHIEUNHAP
MAPN
MANV
MAKHO
MAHD
NGAYNHAP
TOKHAIHQ
NGAYKHAIHQ
TRIGIANHAP
GHICHU
char(10)
char(2)
char(2)
char(11)
ti mestamp
char(18)
ti mestamp
numeri c(8,2)
varchar(500)
<pk>
<fk3>
<fk2>
<fk1>
DONDATHANG
MADH
MAKHACH
MANV
NGAYDH
TGDDH
GHICHU
char(7)
char(2)
char(2)
ti mestamp
numeric(8,2)
varchar(500)
<pk>
<fk1>
<fk2>
PHIEUXUAT
MAPX
MAKHO
MANV
MADH
NGAYXUAT
TRIGIAXUAT
GHICHU
char(11)
char(2)
char(2)
char(7)
timestamp
numeri c(8,2)
varchar(500)
<pk>
<fk2>
<fk3>
<fk1>
CTPHIEUNHAP
MAPN
MAHH
SLNHAP
DGNHAP
THUEVAT
THUENK
GHICHU
char(10)
varchar(9)
i nteger
numeri c(8,2)
ti nyi nt
ti nyi nt
varchar(500)
<pk,fk1>
<pk,fk2>
CTDATHANG
MADH
MAHH
SLDAT
DGDAT
THUEVAT
char(7)
varchar(9)
i nteger
numeri c(8,2)
ti nyi nt
<pk,fk1>
<pk,fk2>
KHACHHANG
MAKHACH
TENKHACH
DIACHI
DIENTHOAI
FAX
EMAIL
GHICHU
char(2)
varchar(100)
varchar(200)
varchar(20)
varchar(20)
varchar(50)
varchar(500)
<pk>
KHO
MAKHO
MANV
TENKHO
DIACHI
DIENTHOAI
FAX
char(2)
char(2)
varchar(20)
varchar(200)
varchar(20)
varchar(20)
<pk>
<fk>
DVT
MADV
TENDV
char(2)
varchar(10)
<pk>
NHANVIEN
MANV
NHA_MANV
MAPB
MACV
TENNV
DIENTHOAI
char(2)
char(2)
char(2)
char(2)
varchar(50)
varchar(20)
<pk>
<fk3>
<fk1>
<fk2>
PHIEUTHU
MAPTHU
MANV
MAKHACH
NGAYTHU
SOTIENTHU
LYDONOP
GHICHU
char(10)
char(2)
char(2)
ti mestamp
numeri c(8,2)
varchar(100)
varchar(500)
<pk>
<fk1>
<fk2>
PHIEUCHI
MAPCHI
MANV
MANCC
NGAYCHI
SOTIENCHI
LYDOCHI
GHICHU
char(10)
char(2)
char(2)
ti mestamp
numeri c(8,2)
varchar(100)
varchar(500)
<pk>
<fk1>
<fk2>
TONKHO
NAM
THANG
MAKHO
MAHH
SLDAU
TONGSLN
TONGSLX
SLCUOI
char(4)
char(2)
char(2)
varchar(9)
i nteger
i nteger
i nteger
i nteger
<pk>
<pk>
<fk2>
<fk1>
PHONGBAN
MAPB
TENPB
char(2)
varchar(50)
<pk>
LOAIHANGHOA
MALOAI
TENLOAI
char(3)
varchar(50)
<pk>
CHUCVU
MACV
TENCV
char(2)
varchar(30)
<pk>
CTPHIEUXUAT
MAHH
MAPX
SLXUAT
DGXUAT
THUEVAT
GHICHU
varchar(9)
char(11)
i nteger
numeri c(8,2)
tinyi nt
varchar(500)
<pk,fk1>
<pk,fk2>
3. R 3. Rà àng bu ng buộ ộc to c toà àn v n vẹ ẹn (RBTV) n (RBTV)
3.1 Các yêu cầu của ràng buộc toàn vẹn
3.2 Ràng buộc toàn vẹn có bối cảnh là 1 quan hệ
3.3 Ràng buộc toàn vẹn có bối cảnh là nhiều
quan hệ
o. Ð|eu k|en hoy no| dung
- Ð|eu k|en duoc k|em Iro Iren IoI co coc Irong
Iho| co so, co Ihe duoc b|eu d|en bong.
- MoI b|eu Ihuc Ioon hoc
- MoI phep so sonh Iren Iop hop
- MoI b|eu Ihuc v| Iu
- MoI IhuoI Ioon k|em Iro (mo g|o, ngon ngu Iuo
Fosco|, C,..)
No| dung cuo P8IV co Ihe duoc b|eu d|en bong.
- Ngon ngu Iu nh|en
- Ngonngu h|nh Ihuc
3.1 C 3.1 Cá ác yêu c c yêu cầ ầu c u củ ủa r a rà àng bu ng buộ ộc to c toà àn v n vẹ ẹn n
13
b. 8o| conh
Iren moI hoy nh|eu quon he co Ihe b| v| phom
P8IV kh| Ihuc h|en Ihoo Ioc cop nhoI (Ihem,
xoo, suo)
c. 8ong Iom o nh huong
Xoc d|nh kh| noo con I|en honh k|em Iro rong
buoc Ioon ven
d. Honh dong
Fhon ho| cuo P8IV neu P8IV b| v| phom
3.1 C 3.1 Cá ác yêu c c yêu cầ ầu c u củ ủa r a rà àng bu ng buộ ộc to c toà àn v n vẹ ẹn (tt) n (tt)
- + - Quan hệ n
….
+(B) - + Quan hệ R3
- + - Quan hệ R2
+(A) - + Quan hệ R1
Sửa (update) Xóa (delete) Thêm (insert) R
i
8ong Iom onh huong cuo rong buoc P
i
Iren O quon
he bo| conh.
3.1 C 3.1 Cá ác yêu c c yêu cầ ầu c u củ ủa r a rà àng bu ng buộ ộc to c toà àn v n vẹ ẹn (tt) n (tt)
3.2 R 3.2 Rà àng bu ng buộ ộc to c toà àn v n vẹ ẹn b n bố ối c i cả ảnh l nh là à 1 quan h 1 quan hệ ệ
3.2.1 Ràng buộc miền trị
3.2.2 Ràng buộc khóa chính
3.2.3 Ràng buộc liên thuộc tính
Ouy d|nh m|en Ir| cuo Ihuoc I|nh
VD1. NhonV|en (MoNV, HoIenNV, Ngoy$|nh, D|oCh|,
D|enIhoo|, Emo||, NgoyVoo|om, HooHong,
MoNOI, MoF8)
P1. “Hoo hong cuo nhon v|en bon hong khong
duoc |on hon 20%”
8o| conh. NhonV|en
nv € NhanVien: nv.HoaHong<=20%
Bảng tầm ảnh hưởng:
+(HoaHong) - + NhanVien
Sửa Xóa Thêm R1
3.2.1 R 3.2.1 Rà àng bu ng buộ ộc mi c miề ền tr n trị ị
14
VD2.
P2. “Ngoy voo |om v|ec cuo nhon v|en pho|
nho hon hooc bong ngoy h|en honh”
8o| conh. NhonV|en
nv € NhanVien: nv.NgayVaoLam<=Ngoy
h|en honh
Bảng tầm ảnh hưởng:
+(NgayVaoLam) - + NhanVien
Sửa Xóa Thêm R2
3.2.1 R 3.2.1 Rà àng bu ng buộ ộc mi c miề ền tr n trị ị (tt) (tt)
+(MaDH) - + DonHang
Sửa Xóa Thêm R1
3.2.2 R 3.2.2 Rà àng bu ng buộ ộc kh c khó óa ch a chí ính nh
Ouy d|nh Irong moI quon he khong co 2 bo boI ky
Irung nhou ve khoo ch|nh
VD1. DonHong (MoDH, NgoyDoIHong, IongI|en)
P1. “Mo| don doI hong co moI mo so r|eng b|eI,
khong Irung vo| don doI hong khoc”
8o| conh.
dh1, dh2 € DonHang: dh1<>dh2 =>
dh1.MoDH <> dh2.MoDH
Bảng tầm ảnh hưởng:
+(NgaySinh, NgayVaoLam) - + NhanVien
Sửa Xóa Thêm R1
3.2.3 R 3.2.3 Rà àng bu ng buộ ộc liên thu c liên thuộ ộc t c tí ính nh
Ouy d|nh coc rong buoc g|uo nhung Ihuoc I|nh
khoc nhou Irong cung moI quon he
VD1.
P1. “Ngoy s|nh cuo nhon v|en pho| nho hon ngoy
voo |om”
8o| conh. NhonV|en
nv € NhonV|en.
nv.Ngoy$|nh<=nv.NgoyVooIom
8ong Iom o nh huong.
3.3 R 3.3 Rà àng bu ng buộ ộc to c toà àn v n vẹ ẹn b n bố ối c i cả ảnh l nh là à nhi nhiề ều u
quan h quan hệ ệ
3.3.1 Ràng buộc khóa ngoại
3.3.2 Ràng buộc liên thuộc tính – liên quan hệ
3.3.3 Ràng buộc liên bộ - liên quan hệ
3.3.4 Ràng buộc do thuộc tính tổng hợp
15
3.3.1 R 3.3.1 Rà àng bu ng buộ ộc kh c khó óa ngo a ngoạ ại i
8oo dom g|o Ir| xuoI h|en Irong moI quon he cuo
moI Iop Ihuoc I|nh cho Iruoc pho| xuoI h|en Irong
moI Iop Ihuoc I|nh Irong moI quon he khoc
NhonV|en (MoNV, HoIenNV, Ngoy$|nh, D|oCh|,
D|enIhoo|, Emo||, NgoyVoo|om, HooHong, MoNOI,
MoF8)
Fhong8on (MoF8, IenF8)
3.3.1 R 3.3.1 Rà àng bu ng buộ ộc kh c khó óa ngo a ngoạ ại (tt) i (tt)
VD2.
P1. “Iop g|o Ir| MoF8 duoc I|m Ihoy Irong quon he
NhonV|en pho| duoc I|m Ihoy Irong Iop coc g|o Ir|
MoF8 Irong quon he Fhong8on”
8o| conh. NhonV|en, Fhong8on
nv € NhonV|en, э pb € Fhong8on.
nv.MoF8=pb.MoF8
8ong Iom o nh huong.
+(MaPB) + - PhongBan
+(MaPB) - + NhanVien
Sửa Xóa Thêm R1
3.3.1 R 3.3.1 Rà àng bu ng buộ ộc kh c khó óa ngo a ngoạ ại (tt) i (tt)
+(MaNV, MaNQL) - + NhanVien
Sửa Xóa Thêm R1
Pong buoc Ihom ch|eu con duoc go| |o P8IV phu
Ihuoc Ion Io| vo Ihuong co bo| conh |o 2 quon
he. Iuy nh|en, cung co Iruong hop P8IV khoo
ngoo| Iren cung 1 quon he
P2. “Nguo| quon |y Iruc I|ep cuo moI nhon v|en
pho| |o moI nhon v|en Irong cong Iy”
8o| conh. NhonV|en
nv € NhonV|en. (nv.MoNOI=NUII) ^
э nv1 € NhonV|en nv.MoNOI=nv1.MoNV
Iruong hop |ong khoo.
DonHong (MoDH, MokH, NgoyDoIHong,
IongCong, H|nhIhucIro, XocNhon, MokH, MoNV)
Ch|I|eIDonHong (MoDH,Mo$F, DonG|o,
$oIuongDoI, $oIuongG|oo)
P3. “MoI don doI hong co nh|eu ch| I|eI don doI
hong”
3.3.1 R 3.3.1 Rà àng bu ng buộ ộc kh c khó óa ngo a ngoạ ại (tt) i (tt)
16
+(MaDH) -
+
ChiTietDonHang
+(MaDH) +
-
DonHang
Sửa Xóa Thêm R3
3.3.1 R 3.3.1 Rà àng bu ng buộ ộc kh c khó óa ngo a ngoạ ại (tt) i (tt)
Iruong hop |ong khoo.
P3. “MoI don doI hong co nh|eu ch| I|eI don doI
hong”
8o| conh. DonHong,Ch|I|eIDonHong
dh € DonHong. э cIdh € Ch|I|eIDonHong.
dh.MoDH=cIdh.MoDH ^ cIdh €
Ch|I|eIDonHong. cIdh.MoDH<>NUII
3.3.2 R 3.3.2 Rà àng bu ng buộ ộc liên thu c liên thuộ ộc t c tí ính nh – – liên quan h liên quan hệ ệ
+(MaDH, NgayGiaoHang) - + PhieuGiaoHang
+(MaDH, NgayDatHang) - + DonHang
Sửa Xóa Thêm R1
DonHang (MaDH, MaKH, NgayDatHang, TongTien)
PhieuGiaoHang (MaPG, NgayGiaoHang, SoLuong, DonGia,
MaSP, MaDH)
R1: “Ngày đặt hàng phải nhỏ hơn hoặc bằng ngày giao hàng”
Bối cảnh: DonHang, PhieuGiaoHang
pgh € PhieuDonHang: э dh € DonHang:
pgh.MaDH=dh.MaDH ^ dh.NgayDatHang
<=pgh.NgayGiaoHang
Bảng tầm ảnh hưởng:
3.3.3 R 3.3.3 Rà àng bu ng buộ ộc liên b c liên bộ ộ - - liên quan h liên quan hệ ệ
+(MaSV) - + NhanVien
Sửa Xóa Thêm R1
$|nhV|en (Mo$V, HoIen$V, Ngoy$|nh, Mokhoo,...)
Dongky (Mo$V, MoMH)
MonHoc (MoMH, IenMH)
P1. “Mo| s|nh v|en dong ky Io| do 7 mon ho c”
8o| conh. $|nhV|en, Dongky
dk € Dongky.cord(d € Dongky/
d.Mo$V=dk.Mo$V)<=7
8ong Iom onh huong.
3.3.4 R 3.3.4 Rà àng bu ng buộ ộc do thu c do thuộ ộc t c tí ính t nh tổ ổng h ng hợ ợp p
Do su h|en d|en cuo Ihuoc I|nh I|nh Ioon (g|o Ir|
cuo Ihuoc I|nh do duoc I|nh Ioon hoy don xuoI Iu
coc Ihuoc I|nh khoc)
P1. “Iong I|en cuo don hong duoc doI pho| bo ng
Iong Ihonh I|en cuo hong hoo duoc doI Irong ch|
I|eI don hong”
17
3.3.4 R 3.3.4 Rà àng bu ng buộ ộc do thu c do thuộ ộc t c tí ính t nh tổ ổng h ng hợ ợp (tt) p (tt)
+ (MaDH, ThanhTien) - - ChiTietDonHang
+(MaDH, TongCong) -
+
DonHang
Sửa Xóa Thêm R1
8o| conh. DonHong, Ch|I|eIDonHong
dh€DonHong.dh.IongCong=$UM(dsdh.IhonhI|en)
Irong do dsdh DonHong Ch|I|eIDonHong
8ong Iom o nh huong.
4. 4. Sưu li Sưu liệ ệu cho mô h u cho mô hì ình d nh dữ ữ li liệ ệu u
4.1 Mô tả các quan hệ
4.2 Từ điển dữ liệu
4.1 Mô t 4.1 Mô tả ả c cá ác quan h c quan hệ ệ
Sach (MaSach, TenSach, SoTrang, MauSac)
TacGia (MaTG, TenTacGia)
BienSoan (MaSach, MaTG)
Sach
SoTrang
TenSach
duocviet TacGia
(1,n) (1,n)
MaTG
MaSach
MauSac
TenTG
(1) Sach (Sách)
20 VarChar K Màu sắc MauSac
4 >0 Int K Số trang SoTrang
50 Varchar B Tên sách TenSach
KC 10 Char B Mã sách MaSach
Ghi
chú
Chiều
dài
Miền
giá trị
Kiểu
dữ liệu
Loại giá
trị
Diễn giải Tên thuộc
tính
Ghi chú: B: bắt buộc; K: không bắt buộc
4.1 Mô t 4.1 Mô tả ả c cá ác quan h c quan hệ ệ (tt) (tt)
18
(2) TacGia (Tác giả)
50 Varchar B Tên tác giả TenTG
KC 4 >0 Int B Mã tác giả MaTG
Ghi
chú
Chiều
Dài
Miền
giá trị
Kiểu
dữ liệu
Loại giá
trị
Diễn giải Tên thuộc
tính
4.1 Mô t 4.1 Mô tả ả c cá ác quan h c quan hệ ệ (tt) (tt)
(3) BienSoan (Biên soạn)
KC 50 >0 Int B Mã sách MaTG
KC 4 Char B Mã tác giả MaSach
Ghi
chú
Chiều
Dài
Miền
giá trị
Kiểu
dữ liệu
Loại giá
trị
Diễn giải Tên thuộc
tính
4.1 Mô t 4.1 Mô tả ả c cá ác quan h c quan hệ ệ (tt) (tt)
4.2 T 4.2 Từ ừ đi điể ển d n dữ ữ li liệ ệu u
BienSoan 4 >0 Int Mã tác giả MaTG
BienSoan 10 Char Mã sách MaSach
Sach 10 Char Mã sách MaSach
TacGia 50 Varchar Tên tác giả TenTG
Sach 50 Varchar Tên sách TenSach
Sach 4 >0 Int Số trang SoTrang
Sach 20 Varchar Màu sắc MauSac
TacGia 4 >0 Int Mã tác giả MaTG
Thuộc quan
hệ
Chiều
dài
Miền
giá trị
Kiểu
dữ liệu
Diễn giải Tên thuộc
tính

T t c các tác v ch truy c p n th c th t p con ph i truy xu t n t t c các th c th t p con SinhVien HoTen SinhVien SVDaiHoc NCS DeCuongNC 2 .1 Lo i b phân c p t ng quát hóa (tt) quá hó Mô hình t ng quát hóa dùng th c th t ng quát: DiaChi GioiTinh NgaySinh HoTen GioiTinh NgaySinh DiaChi DeCuongNC 1.1 Lo i b phân c p t ng quát hóa (tt) quá hó Ưu i m: ơn gi n.T o th c th m i bao g m t p các th c th con 1.Lo i b th c th t ng quát và chuy n các thu c tính k th a sang th c th t p con .1.Phá v c u trúc t ng quát hóa thành m t th c th ơn b ng cách h i các thu c tính c a th c th con vào th c th t ng quát .1.1.Bi u di n các thu c tính k th a t th c th t ng quát c a t p th c th con .M i liên k t là thành viên c a (Is-a) cho bi t quan h gi a th c th t p con và th c th t ng quát 1.1 Lo i b phân c p t ng quát hóa quá hó Các công vi c c n xem xét: . không phát sinh thêm các m i k t h p và áp d ng cho t t c c u trúc t ng quát Khuy t i m: có th phát sinh ra m t s lư ng l n các giá tr r ng cho các thu c tính mà ch dùng cho m t lo i th c th con.1.1.1 Lo i b phân c p t ng quát hóa (tt) quá hó Các l a ch n gi i quy t thư ng là: .

Các tác v liên quan ch truy xu t n lo i t p th c th con ó Khuy t i m: không áp d ng ư c cho c u trúc t ng quát hóa lo i ch ng chéo (o) và bán ph n (p).e) (0.1.1.n) (0.1 Lo i b phân c p t ng quát hóa (tt) quá hó Hình thành th c th m i t các th c th con: TenBenhNhan NamSinh DiaChi GioiTinh MaBN BenhNhan BNSotRet BNThuongHan BNH5N1 BNHIV 3 .1.1 Lo i b phân c p t ng quát hóa (tt) quá hó Mô hình t ng quát hóa dùng th c th t p con: DiaChi GioiTinh (1.n (1.1.1.n) PhongBan GioiTinh MaPB TenPB NhanVien (t.1) HoTen MaNV thuoc DiaChi GioiTinh DiaChi 1.n) (0.n) (1.1) ThuKy HoTen MaNV ChuyenNganh (0.1) QuanLy (0.1) quanly (1.n) thuoc (1.1) 1. ch dùng cho toàn ph n (t) và riêng bi t (e).1) GioiTinh SoNVTrucThuoc (1.1) (0.1) KySu (0.1) (1.n) PhongBan (1. Các tác v trư c ây thao tác lên th c th t ng quát nay ph i thao tác lên t t c các th c th t p con 1.1 (1.1 Lo i b phân c p t ng quát hóa (tt) quá hó Ưu i m: thu c tính riêng c a th c th t p con ch bi u di n riêng cho lo i th c th c a t p con ó.1 Lo i b phân c p t ng quát hóa (tt) quá hó Mô hình t ng quát hóa dùng th c th t p con: thuoc (1.n) KyNang ChuyenNganh SoNVTrucThuoc quanly quanly 1.n) phutrach ThuKy KySu QuanLy phutrach KyNang quanly (0.1) MaPB TenPB HoTen MaNV thuoc DiaChi MaNV HoTen 1.

1) TenPB NhanVien thuoc PhongBan Thu c tính MaNV ư c ch n làm khóa cho th c th NhanVien Thu c tính MaPB ư c ch n làm khóa cho th c th PhongBan 4 .n) (1.Khóa chính nên t i thi u v kích thư c và ơn gi n v c u trúc 1.2 Ch n l a khóa (tt) khó HoTenNV NgaySinh GioiTinh DiaChi MaNV MaPB (1.1.1.nh danh thư ng ư c ch n làm khóa chính vì khi truy xu t khóa chính s nhanh hơn khi truy xu t th c th .2 Ch n l a khóa khó H u h t các h qu n tr cơ s d li u (DBMS) òi h i ph i có m t nh danh ư c ch n như là khóa chính .1.1 Lo i b phân c p t ng quát hóa (tt) quá hó Hình thành th c th m i t các th c th con: TenBenhNhan NamSinh DiaChi GioiTinh MaBN TenLoaiBenh (1.n) (1.1.1.1) 1.1 Lo i b phân c p t ng quát hóa (tt) quá hó Ưu i m: cho phép m r ng thêm các th c th con khác Khuy t i m: có th phát sinh ra m t s lư ng l n các giá tr r ng cho các thu c tính mà ch dùng cho m t lo i th c th con BenhNhan lienquan LoaiBenh 1.

2.2.1.2.2 Ch n l a khóa (tt) khó TenBenhNhan NamSinh DiaChi GioiTinh MaBN MaLB (1.3 Chuy n quan h i thu c tính k t h p i thu c tính a tr i th c th và m i k t h p sang TenLoaiBenh BenhNhan lienquan LoaiBenh Thu c tính MaBN ư c ch n làm khóa cho th c th BenhNhan Thu c tính MaLB ư c ch n làm khóa cho th c th LoaiBenh 1.1 Chuy n 1.2.1.2 Chuy n 1.1 Chuy n i thu c tính k t h p tí 1.n) (1. có th ch n l a theo 2 cách sau: (1) Lo i b các thu c tính k t h p b ng cách chuy n các thu c tính thành ph n c a nó thành thu c tính ơn (2) Lo i b các thu c tính thành ph n và chuy n thu c tính k t h p thành thu c tính ơn i v i thu c tính có y u t th i gian c n tách riêng thành th c th m i HoTenKH NgaySinh GioiTinh MaKH SoNha TenDuong KhachHang DiaChi PhuongXa QuanHuyen TinhThanhPho Lư c v i thu c tính k t h p 5 .1 Chuy n i thu c tính k t h p (tt) tí i v i thu c tính k t h p.1) 1.2 Thi t k logic m c th p 1.2.

2.2.2.n) DiaDiem Quan/Huyen Tinh/ThanhPho ThoiGianBatDau ThoiGianKetThuc ThoiGianKetThuc Th c th v i thu c tính k t h p có y u t th i gian Th c th v i thu c tính k t h p có y u t th i gian thành th c th 6 .1) lienquan (1.1 Chuy n i thu c tính k t h p (tt) tí HoTenKH NgaySinh GioiTinh MaKH SoNha TenDuong HoTenKH NgaySinh GioiTinh DiaChi MaKH KhachHang PhuongXa QuanHuyen TinhThanhPho KhachHang Thu c tính k t h p phân rã theo thu c tính thành ph n Thu c tính k t h p phân rã theo thu c tính k t h p 1.1 Chuy n i thu c tính k t h p (tt) tí 1.1 Chuy n HoTenKH NgaySinh MaKH i thu c tính k t h p (tt) tí MaDD SoNha TenDuong GioiTinh DiaChi SoNha TenDuong KhachHang DiaChi PhuongXa QuanHuyen TinhThanhPho ThoiGianBatDau DoanhNghiep (1.1.2.1 Chuy n HoTenKH NgaySinh GioiTinh MaKH i thu c tính k t h p (tt) tí 1.

n) NguyenLieuSP (1. ….2.…) 7 . GioiTinh.2 Chuy n i thu c tính a tr tí ư c 1. A1.n) NguyenLieu SanPham Thu c tính a tr NguyenLieu (m i s n ph m ư c s n xu t t nhi u nguyên li u.3 Chuy n th c th và m i k t h p sang quan h (tt) Chuy n i m i k t h p M i k t 1-1: g p l i thành 1 quan h A (1. HoTenNV.2.1) (1.2.n) DVT MaSP TenSP QuyCach MaSP TenNguyenLieu MaNL SanPham (1.1) B NhanVien NhanVien (MaNV. DiaChi) G p hai th c th A và B thành m t quan h A (MaA.2.2 Chuy n i thu c tính a tr (tt) tí Thu c tính a tr c a th c th c n ph i chuy n i thành th c th m i TenSP QuyCach NguyenLieu (1.3 Chuy n th c th và m i k t h p sang quan h Chuy n i th c th HoTenNV NgaySinh GioiTinh DiaChi MaNV 1. v t tư khác nhau) Tách thu c tính a tr thành th c th m i 1. B1.1. B2. A2. NgaySinh.

….3 Chuy n th c th và m i k t h p sang quan h (tt) Chuy n i m i k t h p M i k t 1-1 HoTenKH DiaChi DienThoai Fax Email MaKH CMND (1. NguoiNhan. A1.3 Chuy n th c th và m i k t h p sang quan h (tt) Chuy n i m i k t h p M i k t h p 1-n A (1. B1. NgayHenKetQua. HoTenKH. B1.. A2.. MaKH) 8 . B2.1) 1. B2.. DiaChiGiaoDich) A (MaA. An) B (MaB.2.n) B NgayBienNhan NgayHenKetQua NoiDung KhachHang biennhan BienNhan HoSoDinhKem NguoiNhan A (MaA. A2.Bn. B1.2.An. MaA) Khóa ngo i 1. Email) BienNhan (SoBN. DiaChi. NgayBienNhan..1) (1. B2... A1. Email.2. Noidung.1) 1. DiaChi.3 Chuy n th c th và m i k t h p sang quan h (tt) Chuy n i m i k t h p M i k t h p 1-1: tách thành 2 quan h DiaChi DienThoai Fax Email HoTenKH MaKH SoBN (1.1.Bn. CMND.. MaA) KhacHang (MaKH.. DienThoai.3 Chuy n th c th và m i k t h p sang quan h (tt) Chuy n i m i k t h p M i k t h p 1-1: tách thành 2 quan h DiaDiemGiaoDich A (1. Fax.. Bn) ho c A (MaA.….An) B (MaB. A1..1) B Khóa chính KhachHang duocdaidien NguoiDaiDien KhacHang (MaKH.1) (1.1) (1. A2.2.. HoTenKH.. Fax.1) (1... MaB) B (MaB. DienThoai... HoSoDinhKem.

TongTien. MauSac) TacGia (MaTG. TenTG) BienSoan (MaSach.. TenPB) A (MaA.n) B NhanVien thuoc PhongBan NhanVien (MaNV. MaB. A1. MaPB) PhongBan (MaPB. ThanhTien) SanPham (MaSP.n) (1.3 Chuy n th c th và m i k t h p sang quan h (tt) Chuy n i m i k t h p M ik th pn-n TenTG HoaDon (1.. SoTrang.1) 1. NgayLap.Bn) AB (MaA. A2..n) (1.An) B (MaB.n) 1. NguoiLap) CTHoaDon (SoHD.. MaSP..2. GioiTinh. TenSach. DVT) 9 . MaTG) HoaDon (SoHD. TenSP. B1.2.2.3 Chuy n th c th và m i k t h p sang quan h (tt) Chuy n i m i k t h p M ik th pn-n TenPB A (1.…) 1.3 Chuy n th c th và m i k t h p sang quan h (tt) Chuy n i m i k t h p M ik th pn-n TenSach SoTrang MauSac MaSach MaTG (1. NgaySinh.1. QuyCach.2.n) CTHoaDon (1. HoTenNV. DonGia.3 Chuy n th c th và m i k t h p sang quan h (tt) Chuy n i m i k t h p M i k t h p 1-n HoTenNV NgaySinh GioiTinh DiaChi MaNV MaPB (1... DiaChi. SoLuong.n) SanPham MaSP TenSP QuyCach Sach duocviet TacGia SoHD VAT NguoiLap NgayLap TongTien SoLuong DonGiaBan ThanhTien DVT Sach (MaSach.. VAT. B2.n) (1.

MaDeTai.n) (1.3 Chuy n th c th và m i k t h p sang quan h (tt) Chuy n i m i k t h p M i k t h p 3 ngôi 1 .MaDA..1) (1.2.1) PhanCong (1..n) (1.1) 1.3 Chuy n th c th và m i k t h p sang quan h (tt) Chuy n i m i k t h p M i k t h p 3 ngôi 1.1) 1..) C2: PhanCong(MaSoNK. GioiTinh.m NhanVien (1. HoTenNV. MaViTri..1.1) (1.) 10 .. MaNQL) Quan h PhanCong có 3 cách ch n khóa: C1: PhanCong(MaNV.... MaDA.n) (1.) PhanCong (MaNV.n . MaNV.1 -1 NhanVien (1. NgaySinh.1) SoNhatKy NhanVien (MaNV.n) GiaoVien HuongDan DeTai DuAn PhanCong ViTri HuongDan (MaGV.2.3 Chuy n th c th và m i k t h p sang quan h (tt) Chuy n i m i k t h p M i k t h p ph n thân 1-n HoTenNV NgaySinh GioiTinh DiaChi MaNV (0..) C3: PhanCong(MaSoNK. DiaChi.1 ....n SinhVien (1.) 1....2...2.1) NhanVien quanly DuAn (0...3 Chuy n th c th và m i k t h p sang quan h (tt) Chuy n i m i k t h p M i k t h p 3 ngôi 1. MaSV.

.n) (1.n) TongTien NguoiLap KhachHang (1.2. MaKyNang.1) dathang DonHang CTDonHang SanPham QuyCach DVT SoDH NguoiLap TongTien NgayDatHang ThanhTien SoLuong DonGiaBan Xét quan h gi a các th c th KhachHang.n) (1.) 2.m . Thi t k m c v t lý (tt) SoHD VAT HoaDon NgayLap CTHoaDon SoHD MaSP SoLuong DonGiaBan ThanhTien DiaChi DienThoai 2.1. Thi t k m c v t lý MaSP TenSP (1.n) (1.n) (1. Thi t k m c v t lý (tt) MaKH HoTenKH MaSP TenSP (1..3 Chuy n th c th và m i k t h p sang quan h (tt) Chuy n i m i k t h p M i k t h p 3 ngôi n ..n) (1.l NhanVien (1. MaDA.n) HoaDon SoHD VAT NguoiLap NgayLap TongTien CTHoaDon SanPham QuyCach DVT SoLuong DonGiaBan ThanhTien DuAn PhanCong KyNang Xét quan h gi a 2 th c th HoaDon và SanPham PhanCong(MaNV.n) 2. DonHang và SanPham MaSP TenSP SanPham QuyCach DVT 11 .

2) varchar(500) FK_CTPHIEUN_CTPHIEUNH_PHIEUNHA CTPHIEUNHAP MAPN MAHH SLNHAP DGNHAP THUEVAT THUENK GHICHU char(10) <pk.Moät bieåu thöùc vò töø .2) ti nyi nt ti nyi nt varchar(500) PHIEUXUAT KHO DONDATHANG M APX char(11) <pk> char(2) <pk> M ADH char(7) <pk> M AKHO char(2) <fk2> char(2) FK_PHIEUXUA_XUATKHO_KHO <fk> M AKHACH char(2) <fk1> M ANV char(2) <fk3> M ANV char(2) <fk2> varchar(20) M ADH char(7) FK_PHIEUXUA_XUAT_DDH_DONDATHA <fk1> varchar(200) NGAYDH ti m estamp NGAYXUAT tim estam p varchar(20) TGDDH numeric(8. Thi t k m c v t lý (tt) MaKH DonHang SoDH NgayDatHang TongTien NguoiLap MaKH HOPDONG M AHD M ANCC M ANV NGAYHD THOIGIANTT TENNGANHANG DCNGANHANG SOTK NGAYTAUDI THONGT IN TRIGIAHD GHICHU 2.2) ti nyi nt FK_CTHOPDON_CTHOPDONG_HOPDONG LOAIHANGHOA MALOAI char(3) <pk> TENLOAI varchar(50) FK_CTPHIEUN_CT PHIEUNH_HANGHOA FK_TONKHO_HANGTON_HANGHOA FK_HANGHOA_LOAIHANG_LOAIHANG FK_CTDAT HAN_CTDATHANG_HANGHOA FK_CTPHIEUX_CTPHIEUXU_HANGHOA CT HOPDONG MAHD char(11) <pk.2) TRIGIAXUAT numeri c(8.fk1> MAHH varchar(9) <pk.fk1> varchar(9) <pk.fk1> char(11) <pk.1 Các yêu c u c a ràng bu c toàn v n Cá rà toà a.2.Ngoân ngöõ töï nhieân .1 Các yêu c u c a ràng bu c toàn v n 3.fk2> i nteger numeri c(8. Thi t k m c v t lý (tt) FK_NHANVIEN_QUANLY_NHANVIEN NHACUNGCAP M ANCC M AQUOCGIA TENNCC DIACHI DIENTHOAI FAX EM AIL WEBSITE GHICHU PHIEUCHI PHIEUTHU KHACHHANG char(2) <pk> NHANVIEN char(2) <fk> M APCHI char(10) <pk> M APTHU char(10) <pk> MAKHACH char(2) <pk> MANV char(2) <pk> varchar(100) M ANV char(2) <fk1> M ANV char(2) <fk1> TENKHACH varchar(100) NHA_M ANV char(2) FK_PHIEUTHU_THU_NHANVIEN <fk3> FK_PHIEUCHI_CHITIEN_NHACUNGC FK_PHIEUTHU_THUT IEN_KHACHHAN M ANCC char(2) <fk2> M AKHACH char(2) <fk2> DIACHI varchar(200) varchar(200) MAPB char(2) <fk1> varchar(20) NGAYCHI ti mestamp FK_PHIEUCHI_CHI_NHANVIEN NGAYTHU ti mestam p DIENTHOAI varchar(20) MACV char(2) <fk2> varchar(20) SOTIENCHI numeri c(8. C.2) FAX varchar(20) TENNV varchar(50) varchar(50) LYDOCHI varchar(100) LYDONOP varchar(100) EMAIL varchar(50) DIENT HOAI varchar(20) varchar(50) GHICHU varchar(500) GHICHU varchar(500) GHICHU varchar(500) FK_NHANVIEN_CHUCVU_CHUCVU varchar(500) FK_NHANVIEN_THUOCPHON_PHONGBAN CHUCVU FK_NHACUNGC_THUOC_QUOCGIA MACV char(2) <pk> TENCV varchar(30) FK_HOPDONG_NV_HD_NHANVIEN QUOCGIA MAQUOCGIA char(2) <pk> TENQUOCGIA varchar(20) FK_PHIEUNHA_NV_PN_NHANVIEN FK_PHIEUXUA_NV_PX_NHANVIEN FK_DONDATHA_NV_DDH_NHANVIEN FK_DONDATHA_CO_KHACHHAN PHONGBAN MAPB char(2) <pk> TENPB varchar(50) KhachHang HoTenKH DiaChi DienThoai FK_KHO_NV_KHO_NHANVIEN FK_HOPDONG_HD_NCC_NHACUNGC CTDonHang SoDH MaSP SoLuong SanPham QuyCach DonGiaBan ThanhTien char(11) <pk> PHIEUNHAP char(2) <fk1> MAPN char(10) <pk> char(2) <fk2> MANV char(2) <fk3> ti mestamp M AKHO MAKHO char(2) <fk2> varchar(100) M ANV FK_PHIEUNHA_NHAPKHO_KHO FK_PHIEUNHA_NHAP__HD_HOPDONG MAHD char(11) <fk1> varchar(100) T ENKHO NGAYNHAP ti mestamp varchar(200) DIACHI TOKHAIHQ char(18) char(10) DIENTHOAI NGAYKHAIHQ ti mestamp ti mestamp FAX TRIGIANHAP num eri c(8. Ñieàu kieän hay noäi dung .Ñieàu kieän ñöôïc kieåm tra treân taát caû caùc traïng thaùi cô sôû.Moät thuaät toaùn kieåm tra (maõ giaû.2) varchar(20) GHICHU varchar(500) GHICHU varchar(500) FK_T ONKHO_T HUOCKHO_KHO FK_CTPHIEUX_CTPHIEUXU_PHIEUXUA TONKHO NAM THANG MAKHO MAHH SLDAU TONGSLN TONGSLX SLCUOI char(4) <pk> char(2) <pk> char(2) <fk2> varchar(9) <fk1> i nteger i nteger i nteger i nteger CT PHIEUXUAT MAHH MAPX SLXUAT DGXUAT THUEVAT GHICHU varchar(9) <pk. ngoân ngöõ töïa Pascal. coù theå ñöôïc bieåu dieãn baèng: .Moät bieåu thöùc toaùn hoïc .Moät pheùp so saùnh treân taäp hôïp .2) SOTIENTHU num eri c(8..2) DVT FK_HANGHOA_DON_VI_TI_DVT MADV char(2) <pk> TENDV varchar(10) MaSP TenSP DVT 3.2) tinyi nt varchar(500) FK_CT DATHAN_CTDATHANG_DONDATHA CTDATHANG MADH MAHH SLDAT DGDAT THUEVAT char(7) <pk..fk2> i nteger num eri c(8.fk1> varchar(9) <pk.2) varchar(500) GHICHU varchar(500) numeri c(8.) Noäi dung cuûa RBTV coù theå ñöôïc bieåu dieãn baèng: .fk2> SLHD integer DGHD numeric(8.3 Ràng bu c toàn v n có b i c nh là nhi u quan h 3.Ngoânngöõ hình thöùc 12 .2) FK_CT HOPDON_CTHOPDONG_HANGHOA HANGHOA MAHH MALOAI MADV TENHH QUYCACH GIADENGHI varchar(9) <pk> char(3) <fk2> char(2) <fk1> varchar(100) char(20) numeric(8.2 Ràng bu c toàn v n có b i c nh là 1 quan h 3. Ràng bu c toàn v n (RBTV) Rà toà 3.fk2> i nteger num eri c(8.

HoTenNV. MaPB) R1: “Hoa hoàng cuûa nhaân vieân baùn haøng khoâng ñöôïc lôùn hôn 20%” Boái caûnh: NhanVien nv € NhanVien: nv.2.3 Ràng bu c liên thu c tính 3.HoaHong<=20% B ng t m nh hư ng: R1 NhanVien Thêm + Xóa S a +(HoaHong) 13 . DiaChi.2.1 Ràng bu c mi n tr Rà Quy ñònh mieàn trò cuûa thuoäc tính VD1: NhanVien (MaNV.2 Ràng bu c toàn v n b i c nh là 1 quan h Rà toà là 3.3. xoùa.1 Ràng bu c mi n tr 3. NgayVaolam. Haønh ñoäng Phaûn hoài cuûa RBTV neáu RBTV bò vi phaïm - + - 3.1 Các yêu c u c a ràng bu c toàn v n (tt) Cá rà toà b. Baûng taàm aûnh höôûng Xaùc ñònh khi naøo caàn tieán haønh kieåm tra raøng buoäc toaøn veïn d. DienThoai. Boái caûnh 3. Email. MaNQL. söûa) c.2 Ràng bu c khóa chính 3.2.2. Quan h n Thêm (insert) + + Xóa (delete) + S a (update) +(A) +(B) Treân moät hay nhieàu quan heä coù theå bò vi phaïm RBTV khi thöïc hieän thao taùc caäp nhaät (theâm. HoaHong. NgaySinh.1 Các yêu c u c a ràng bu c toàn v n (tt) Cá rà toà Baûng taàm aûnh höôûng cuûa raøng buoäc Ri treân Q quan heä boái caûnh: Ri Quan h R1 Quan h R2 Quan h R3 ….

NgayDatHang.3.NgayVaoLam Baûng taàm aûnh höôûng: R1 NhanVien Thêm + Xóa S a +(NgaySinh.3 Ràng bu c toàn v n b i c nh là nhi u Rà toà là quan h 3.3.2.3 Ràng bu c liên thu c tính Rà tí Quy ñònh caùc raøng buoäc giöõa nhöõng thuoäc tính khaùc nhau trong cuøng moät quan heä VD1: R1: “Ngaøy sinh cuûa nhaân vieân phaûi nhoû hôn ngaøy vaøo laøm” Boái caûnh: NhanVien nv € NhanVien: nv. TongTien) R1: “Moãi ñôn ñaët haøng coù moät maõ soá rieâng bieät.2.3 Ràng bu 3.2 Ràng bu 3. NgayVaoLam) 3.1 Ràng bu 3.liên quan h c do thu c tính t ng h p 14 .3. dh2 € DonHang: dh1<>dh2 => dh1.2.MaDH B ng t m nh hư ng: R2 NhanVien Thêm + Xóa S a +(NgayVaoLam) B ng t m nh hư ng: R1 DonHang Thêm + Xóa S a +(MaDH) 3.2 Ràng bu c khóa chính Rà khó chí Quy ñònh trong moät quan heä khoâng coù 2 boä baát kyø truøng nhau veà khoùa chính VD1: DonHang (MaDH. khoâng truøng vôùi ñôn ñaët haøng khaùc” Boái caûnh: dh1.1 Ràng bu c mi n tr (tt) Rà VD2: R2: “Ngaøy vaøo laøm vieäc cuûa nhaân vieân phaûi nhoû hôn hoaëc baèng ngaøy hieän haønh” Boái caûnh: NhanVien nv € NhanVien: nv.MaDH <> dh2.4 Ràng bu c khóa ngo i c liên thu c tính – liên quan h c liên b .NgayVaoLam<=Ngaøy hieän haønh 3.NgaySinh<=nv.3.3.

NgayVaolam.MaNV R1 Thêm Xóa S a NhanVien + +(MaNV.MaPB=pb. MaPB) PhongBan (MaPB.MaSP. Tuy nhieân.MaPB Baûng taàm aûnh höôûng: R1 NhanVien PhongBan Thêm + Xóa + S a +(MaPB) +(MaPB) 3. NgayDatHang.1 Ràng bu c khóa ngo i Rà khó Baûo ñaûm giaù trò xuaát hieän trong moät quan heä cuûa moät taäp thuoäc tính cho tröôùc phaûi xuaát hieän trong moät taäp thuoäc tính trong moät quan heä khaùc NhanVien (MaNV. э pb € PhongBan: nv. HinhThucTra. DiaChi. MaNQL. cuõng coù tröôøng hôïp RBTV khoùa ngoaïi treân cuøng 1 quan heä R2: “Ngöôøi quaûn lyù tröïc tieáp cuûa moät nhaân vieân phaûi laø moät nhaân vieân trong coâng ty” Boái caûnh: NhanVien nv € NhanVien: (nv. MaKH.3. SoLuongGiao) R3: “Moät ñôn ñaët haøng coù nhieàu chi tieát ñôn ñaët haøng” 15 . HoaHong. NgaySinh.3. PhongBan nv € NhanVien.1 Ràng bu c khóa ngo i (tt) Rà khó Tröôøng hôïp loàng khoùa: DonHang (MaDH. DonGia. DienThoai. MaNV) ChiTietDonHang (MaDH. XacNhan.MaNQL=NULL) ^ э nv1 € NhanVien nv.3. MaNQL) 3. Email.1 Ràng bu c khóa ngo i (tt) Rà khó Raøng buoäc tham chieáu coøn ñöôïc goïi laø RBTV phuï thuoäc toàn taïi vaø thöôøng coù boái caûnh laø 2 quan heä.MaNQL=nv1. HoTenNV. TongCong.3.3. TenPB) 3. SoLuongDat.1 Ràng bu c khóa ngo i (tt) Rà khó VD2: R1: “Taäp giaù trò MaPB ñöôïc tìm thaáy trong quan heä NhanVien phaûi ñöôïc tìm thaáy trong taäp caùc giaù trò MaPB trong quan heä PhongBan” Boái caûnh: NhanVien. MaKH.

MaSP.. SoLuong. NgayGiaoHang.MaSV)<=7 Baûng taàm aûnh höôûng: 3.NgayGiaoHang B ng t m nh hư ng: + R1 Thêm Xóa DonHang + PhieuGiaoHang + - S a +(MaDH. HoTenSV.3.2 Ràng bu c liên thu c tính – liên quan h Rà tí DonHang (MaDH.3 Ràng bu c liên b ..MaDH ^ dh. NgayGiaoHang) 3. DonGia.MaDH=ctdh.1 Ràng bu c khóa ngo i (tt) Rà khó Tröôøng hôïp loàng khoùa: R3: “Moät ñôn ñaët haøng coù nhieàu chi tieát ñôn ñaët haøng” Boái caûnh: DonHang. NgayDatHang) +(MaDH.MaDH ^ ctdh € ChiTietDonHang: ctdh. NgayDatHang.3.3.) DangKy (MaSV. DangKy dk € DangKy:card(d € DangKy/ d. MaDH) R1: “Ngày t hàng ph i nh hơn ho c b ng ngày giao hàng” B i c nh: DonHang.MaDH=dh. PhieuGiaoHang pgh € PhieuDonHang: э dh € DonHang: pgh.MaSV=dk. MaKhoa.NgayDatHang <=pgh. MaMH) MonHoc (MaMH.MaDH<>NULL R3 DonHang ChiTietDonHang Thêm Xóa + S a +(MaDH) +(MaDH) 3.3. NgaySinh. MaKH.3.4 Ràng bu c do thu c tính t ng h p Rà tí Do söï hieän dieän cuûa thuoäc tính tính toaùn (giaù trò cuûa thuoäc tính ñoù ñöôïc tính toaùn hay daãn xuaát töø caùc thuoäc tính khaùc) R1: “Toång tieàn cuûa ñôn haøng ñöôïc ñaët phaûi baèng toång thaønh tieàn cuûa haøng hoùa ñöôïc ñaët trong chi tieát ñôn haøng” R1 NhanVien Thêm + Xóa - S a +(MaSV) 16 . TongTien) PhieuGiaoHang (MaPG.liên quan h Rà SinhVien (MaSV.ChiTietDonHang dh € DonHang: э ctdh € ChiTietDonHang: dh.. TenMH) R1: “Moãi sinh vieân ñaêng kyù toái ña 7 moân hoïc” Boái caûnh: SinhVien.

2 T i n d li u + - 4.TongCong=SUM(dsdh. Sưu li u cho mô hình d li u hì 4.n) 4. ChiTietDonHang dh€DonHang:dh. MaTG) 17 .1 Mô t các quan h 4.3.4 Ràng bu c do thu c tính t ng h p (tt) Rà tí Boái caûnh: DonHang. ThanhTien) 4.n) (1.1 Mô t các quan h TenSach SoTrang MauSac MaSach MaTG (1.1 Mô t các quan h (tt) (1) Sach (Sách) TenTG Ghi chú: B: b t bu c.ThanhTien) Trong ñoù dsdh DonHang ChiTietDonHang Baûng taàm aûnh höôûng: R1 DonHang ChiTietDonHang Thêm Xóa S a +(MaDH. SoTrang.3. MauSac) TacGia (MaTG. TenTacGia) BienSoan (MaSach. TenSach. TongCong) + (MaDH. K: không b t bu c Tên thu c tính MaSach TenSach SoTrang MauSac Di n gi i Mã sách Tên sách S trang Màu s c Lo i giá Ki u tr d li u B B K K Char Varchar Int VarChar >0 Mi n giá tr Chi u Ghi dài chú 10 50 4 20 KC Sach duocviet TacGia Sach (MaSach.

2 T Tên thu c Di n gi i tính MaSach MaSach MaTG MaTG MauSac SoTrang TenSach TenTG Mã sách Mã sách Mã tác gi Mã tác gi Màu s c S trang Tên sách Tên tác gi Ki u d li u Char Char Int Int Varchar Int Varchar Varchar i n d li u Mi n giá tr Chi u dài 10 10 >0 >0 4 4 20 >0 4 50 50 Thu c quan h Sach BienSoan BienSoan TacGia Sach Sach Sach TacGia 18 .1 Mô t các quan h (tt) (2) TacGia (Tác gi ) Tên thu c tính MaTG TenTG Di n gi i Mã tác gi Tên tác gi Lo i giá Ki u tr d li u B B Int Varchar Mi n giá tr >0 Chi u Ghi Dài chú 4 50 4.4.1 Mô t các quan h (tt) (3) BienSoan (Biên so n) Tên thu c tính MaSach MaTG Di n gi i Mã tác gi Mã sách Lo i giá Ki u tr d li u B B Char Int >0 Mi n giá tr Chi u Ghi Dài chú 4 50 KC KC KC 4.

Sign up to vote on this title
UsefulNot useful