Cơ sở dữ liệu - chuong 02

  • 31 trang
  • file .pdf
CHƯƠNG 2
Mô hình thực thể-kết hợp
(Entity-Relationship)
NỘI DUNG CHI TIẾT
 Quá trình thiết kế CSDL
 Mô hình E/R
 Thiết kế
 Ví dụ
2
QUÁ TRÌNH THIẾT KẾ CSDL
Lược đồ HQT CSDL
Ý tưởng E/R thiết kế
quan hệ quan hệ
3
QUÁ TRÌNH THIẾT KẾ CSDL (TT)
Thế
giới
thực
Phân tích yêu cầu Các yêu cầu về chức năng
Các yêu cầu về dữ liệu
Phân tích chức năng
Phân tích quan niệm
Các đặc tả chức năng
Lược đồ quan niệm
Độc lập HQT
Thiết kế mức logic
Phụ thuộc
Lược đồ logic Thiết kế HQT cụ thể
chương trình ứng dụng
Thiết kế mức vật lý
4
Lược đồ trong Chương trình ứng dụng
NỘI DUNG CHI TIẾT
 Quá trình thiết kế CSDL
 Mô hình thực thể - kết hợp
 Thực thể
 Thuộc tính
 Mối kết hợp
 Lược đồ thực thể - kết hợp
 Thực thể yếu
 Thiết kế
 Ví dụ
5
MÔ HÌNH THỰC THỂ - KẾT HỢP
 Được dùng để thiết kế CSDL ở mức quan niệm
 Biểu diễn trừu tượng cấu trúc của CSDL
 Lược đồ thực thể - kết hợp
(Entity-Relationship Diagram)
 Tập thực thể (Entity Sets)/ Thực thể (Entity)
 Thuộc tính (Attributes)
 Mối quan hệ (Relationship)
6
TẬP THỰC THỂ (ENTITY SETS)
 Một thực thể là một đối tượng của thế giới thực
 Tập hợp các thực thể giống nhau tạo thành 1 tập thực
thể
 Ký hiệu:
E
 Chú ý
 Thực thể (Entity) Cấu trúc của dữ liệu
 Đối tượng (Object)
Thao tác trên dữ liệu
 Tập thực thể (Entity set)
 Lớp đối tượng (Class of objects)
7
TẬP THỰC THỂ (ENTITY SETS)
 Ví dụ “Quản lý đề án công ty”
 Một nhân viên là một thực thể
 Tập hợp các nhân viên là tập thực thể
 Một đề án là một thực thể
 Tập hợp các đề án là tập thực thể
 Một phòng ban là một thực thể
 Tập hợp các phòng ban là tập thực thể
8
THUỘC TÍNH (ATTRIBUTES)
 Thuộc tính là những đặc tính riêng biệt của tập thực thể
hoặc mối kết hợp
 Ký hiệu:
 Ví dụ tập thực thể NHAN_VIEN có các thuộc tính
 HO_TEN
 GIOI_TINH
 NGAY_SINH
 Thuộc tính là những giá trị nguyên tố
 Kiểu chuỗi
 Kiểu số nguyên
 Kiểu số thực 9
 ………
THUỘC TÍNH (ATTRIBUTES)
 Có các loại thuộc tính:
 Thuộc tính đơn: không thể chia làm nhiều thành phần nhỏ hơn
VD: Tập thực thể NHAN_VIEN có thuộc tính LUONG, HO_TEN,
GIOI_TINH
 Thuộc tính kết hợp: gồm nhiều thành phần nhỏ hơn
VD: Tập thực thể NHAN_VIEN có thuộc tính DIA_CHI
DIA_CHI có thể chia thành các thành phần: SO_NHA, DUONG,
QUAN, THANH_PHO
SO_NHA
DUONG
NHAN_VIEN DCHI
QUAN 10
THPHO
THUỘC TÍNH
 Có các loại thuộc tính:
 Thuộc tính đơn trị: nhận một giá trị đơn đối với một thực thể
cụ thể
VD: Thuộc tính HO_TEN của tập thực thể NHAN_VIEN là đơn
trị, mỗi nhân viên chỉ có một họ tên
 Thuộc tính đa trị: nhận nhiều giá trị đối với một thực thể cụ thể
VD: Thuộc tính DIEN_THOAI của tập thực thể NHAN_VIEN là
đa trị, mỗi nhân viên có thể có nhiều số điện thoại.
NHAN_VIEN
DIEN_THOAI
 Thuộc tính suy diễn: giá trị được tính từ giá trị của thuộc tính
11
khác
NHAN_VIEN TUOI
MỐI QUAN HỆ/ MỐI KẾT HỢP
 Diễn tả mối quan hệ ngữ nghĩa giữa ít nhất 2 tập thực
thể khác nhau
 Ví dụ giữa tập thực thể NHAN_VIEN và PHONG_BAN có
các mối quan hệ sau:
 Một nhân viên thuộc một phòng ban nào đó
 Một phòng ban có một nhân viên làm trưởng phòng
12
LƯỢC ĐỒ ER
 Là đồ thị biểu diễn các tập thực thể, thuộc tính và mối
quan hệ
 Đỉnh
Tên tập thực thể Tập thực thể
Tên thuộc tính Thuộc tính
Tên quan hệ Quan hệ
 Cạnh là đường nối giữa
 Tập thực thể và thuộc tính
 Mối quan hệ và tập thực thể
 Mối quan hệ và thuộc tính 13
VÍ DỤ LƯỢC ĐỒ ER
NGSINH LUONG DCHI TENPHG
HONV
TENNV NHAN_VIEN Lam_viec PHONG_BAN
PHAI
La_truong_phong
Phu_trach
DDIEM_DA
Phan_cong DE_AN
TENDA
14
THỂ HIỆN CỦA LƯỢC ĐỒ ER
 Một CSDL được mô tả bởi lược đồ ER sẽ chứa đựng
những dữ liệu cụ thể gọi là thể hiện CSDL
 Mỗi tập thực thể sẽ có tập hợp hữu hạn các thực thể
 Giả sử tập thực thể NHAN_VIEN có các thực thể như NV1, NV2, …NVn
 Mỗi thực thể sẽ có 1 giá trị cụ thể tại mỗi thuộc tính
 NV1 có TENNV=“Tung”, NGSINH=“08/12/1955”, PHAI=“„Nam”
 NV2 có TENNV= “Hang”, NGSINH=“07/19/1966”, PHAI=“Nu”
 Chú ý
 Không lưu trữ lược đồ ER trong CSDL
 Khái niệm trừu tượng
 Lược đồ ER chỉ giúp ta thiết kế CSDL trước khi chuyển các
quan hệ và dữ liệu xuống mức vật lý
15
MỐI QUAN HỆ - THỂ HIỆN
 Thể hiện CSDL còn chứa các mối quan hệ cụ thể
 Cho mối quan hệ R kết nối n tập thực thể E1, E2, …, En
 Thể hiện của R là tập hữu hạn các danh sách (e1, e2, …, en)
 Trong đó ei là các giá trị được chọn từ các tập thực thể Ei
 Xét mối quan hệ
NHAN_VIEN Lam_viec PHONG_BAN
NHAN_VIEN PHONG_BAN
(Tung, Nghien cuu)
Tung Nghien cuu
(Hang, Dieu hanh)
Hang Dieu hanh
(Vinh, Quan ly)
Vinh Quan ly 16
MỐI QUAN HỆ - MULTIPLICITY
 Xét mối quan hệ nhị phân R (binary relationship) giữa 2
tập thực thể E và F, tính multiplicity bao gồm
 Một-Nhiều
 Một E có quan hệ với nhiều F
n 1
 Một F có quan hệ với một E E Quan_hệ F
 Một-Một
 Một E có quan hệ với một F
 Một F có quan hệ với một E
1 1
E Quan_hệ F
 Nhiều-Nhiều
 Một E có quan hệ với nhiều F
 Một F có quan hệ với nhiều E n n
E Quan_hệ F
17
MỐI QUAN HỆ - MULTIPLICITY (TT)
 (min, max) chỉ định mỗi thực thể e  E tham gia ít nhất và
nhiều nhất vào thể hiện của R
(min, max) (min, max)
E Quan_hệ F
 (0,1) – không hoặc 1
 (1,1) – duy nhất 1
 (0,n) – không hoặc nhiều
 (1,n) – một hoặc nhiều
18
MỐI QUAN HỆ - MULTIPLICITY (TT)
 Ví dụ
 Một phòng ban có nhiều nhân viên
(1,n)
NV Lam_viec PB
 Một nhân viên chỉ thuộc 1 phòng ban
(1,1)
NV Lam_viec PB
 Một nhân viên có thể tham gia nhiều đề án hoặc không tham
gia đề án nào (0,n)
NV Phan_cong DA
 Một nhân viên là trưởng phòng của 1 phòng ban hoặc không là
trưởng phòng
(0,1)
NV La_truong_phong PB
19
MỐI QUAN HỆ - VAI TRÕ
 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
La nguoi quan ly
NHAN_VIEN Quan_ly
(0,n)
Duoc quan ly boi (0,1)
20