III. THIẾT KẾ CÁC TỆP DỮ LIỆU TỪ SƠ ĐỒ QUAN HỆ THỰC THỂ
2. Thiết lập CSDL từ sơ đồ ERD
Sự khác nhau về tên gọi các thành phần thuộc thực thể và tệp dữ liệu
Thực thể Tệp dữ liệu Ký hiệu/ Ví dụ
Thuộc tính Trường (Field) Tên có thể viết
bằng tiếng Việt, có dấu
Tên viết bằng tiếng Việt, không dấu hoặc tiếng Anh
Thuộc tính “Họ và tên” Trường dữ liệu “Hovaten”
Th.tính định danh
(1a) Trường khóa chính (1b)
Dấu # và gạch chân dưới tên
(1a) #Mã cán bộ (1b)
#Macanbo
2. Thiết lập CSDL từ sơ đồ ERD
Phương pháp thiết lập CSDL từ sơ đồ ERD
♦ Kiểu quan hệ Một – Một của quan hệ bậc 1: ta tạo một tệp dữ liệu duy nhất, xác định trường khóa chính, trường mô tả và trường quan hệ.
Nếu cá thể X có quan hệ với cá thể Y thì giá trị trường quan hệ của X được xác định duy nhất bằng giá trị của trường khóa chính của Y. Ví dụ: Xét thực thể “Cán bộ” với quan hệ “Là vợ/chồng”. Ta tạo một tệp “Canbo” với trường khóa chính là #Macanbo, các trường mô tả là Hovaten, Ngaysinh, Diachi, …; trường quan hệ Mavochong.
2. Thiết lập CSDL từ sơ đồ ERD
#Macanbo Hovaten … Mavochong
A001 Nguyễn Văn A … B005
… … … …
B005 Lê Thị B … A001
… … … …
2. Thiết lập CSDL từ sơ đồ ERD
♦ Kiểu quan hệ 1-N của quan hệ bậc 1: ta tạo một tệp dữ liệu duy nhất, xác định trường khóa chính, trường mô tả và trường quan hệ.
Giá trị của trường quan hệ được xác định không duy nhất từ giá trị của trường khóa chính.
Ví dụ: Xét thực thể “Nhân viên” với quan hệ “Phụ trách”. Ta tạo một tệp “Nhanvien” với trường khóa chính là #Manhanvien, các trường mô tả là Hovaten, Ngaysinh, Diachi, …; trường quan hệ Maphutrach.
2. Thiết lập CSDL từ sơ đồ ERD
Tệp dữ liệu Nhân viên và quan hệ Phụ trách
#Manhanvien Hovaten Ngaysinh … Maphutrach
A001 Nguyễn Văn An … …
B002 Lê Thanh Bình … … H004
H004 Trần Thu Hà … … A001
H012 Vũ Ngọc Hoa … … H004
2. Thiết lập CSDL từ sơ đồ ERD
♦ Kiểu quan hệ N-N của quan hệ bậc 1: ta tạo hai tệp dữ liệu, một tệp mô tả thực thể, một tệp mô tả quan hệ.
- Đối với tệp thực thể: xác định trường khóa chính, trường mô tả. - Đối với tệp quan hệ: xác định trường quan hệ, trường mô tả. Giá trị của trường quan hệ được xác định không duy nhất từ giá trị của trường khóa chính của tệp thực thể.
Ví dụ: Xét thực thể “Sản phẩm” với quan hệ “Được cấu thành từ”. Ta tạo hai tệp:
- Tệp “Sanpham” với các trường #MaSP, TenSP, Donvitinh, Dongia. - Tệp “Quanhe” với các trường MaSP, MaSPNL; Soluong.
2. Thiết lập CSDL từ sơ đồ ERD
Các tệp Sanpham và tệp Quanhe
#MaSP TenSP Donvitinh Dongia
Lm02 Lúa mạch … …
Bm01 Bột mỳ … …
Ba05 Bánh mỳ … …
… … … …
MaSP MaSPNL Soluong ...
Bm01 Lm02 5 …
2. Thiết lập CSDL từ sơ đồ ERD
♦ Kiểu quan hệ Một – Một của quan hệ bậc 2: ta tạo hai tệp dữ liệu mô tả hai thực thể. Xác định trường khóa chính, trường mô tả cho mỗi tệp. Trường quan hệ có thể thuộc tệp này hoặc tệp kia. Cả hai trường hợp thông tin thu được đều như nhau.
Ví dụ: Xét hai thực thể là “Trưởng phòng” và “Phòng công tác” với quan hệ “Lãnh đạo”. Ta tạo hai tệp theo hai trường hợp sau:
- Tr.hợp 1: Tệp “Phongcongtac” chứa trường quan hệ là MaTP
2. Thiết lập CSDL từ sơ đồ ERD
Các tệp dữ liệu Truongphong và Phongcongtac (Trường hợp 1)
#MaTP HovatenTP …
QL01 Đỗ Văn An …
QL02 Vũ Ngọc Thu … QL03 Lê Xuân Hà …
… … …
#MaphongCT TenphongCT … MaTP
PCT01 Tổ chức CB … QL02
PCT02 Kế toán … QL01
PCT03 Kế hoạch- ĐT … QL03
2. Thiết lập CSDL từ sơ đồ ERD
Các tệp dữ liệu Truongphong và Phongcongtac (Trường hợp 2)
#MaTP HovatenTP … MaphongCT
QL01 Đỗ Văn An … PCT02 QL02 Vũ Ngọc Thu … PCT01 QL03 Lê Xuân Hà … PCT03 … … … … #MaphongCT TenphongCT … PCT01 Tổ chức CB … PCT02 Kế toán … PCT03 Kế hoạch- ĐT …
2. Thiết lập CSDL từ sơ đồ ERD
♦ Kiểu quan hệ Một – Nhiều của quan hệ bậc 2: ta tạo hai tệp dữ liệu mô tả hai thực thể. Xác định trường khóa chính, trường mô tả cho mỗi tệp. Trường quan hệ bắt buộc phải thuộc tệp tương ứng với thực thể đầu “Nhiều”, giá trị của nó được xác định từ các giá trị của trường khóa chính của tệp tương ứng với thực thể đầu “Một”.
Ví dụ: Xét hai thực thể là “Lớp học” và “Sinh viên” với quan hệ “Có/ Thuộc”. Ta tạo hai tệp dữ liệu: “Lophoc” và “Sinhvien”, trong tệp “Sinhvien” có trường quan hệ là MaLH.
2. Thiết lập CSDL từ sơ đồ ERD
Các tệp dữ liệu Lophoc và Sinhvien
#MaLH TenLH … D07QT1 D07QTKD1 … D07QT2 D07QTKD2 …
C08QT C08QTKD …
… … …
#MaSV HovatenSV … MaLH
QT0015 Lê Thu Hà … D07QT1
QT0037 Vũ Văn Nam … D07QT1
QT0174 Trần Đình Chiến … D07QT2 QT0185 Nguyễn Thu Thanh … D07QT2 QT0291 Trần Thanh Bình … C08QT
2. Thiết lập CSDL từ sơ đồ ERD
♦ Kiểu quan hệ Nhiều – Nhiều của quan hệ bậc 2: ta tạo ba tệp dữ liệu, hai tệp mô tả hai thực thể, tệp thứ ba mô tả quan hệ giữa hai thực thể đó.
- Đối với hai tệp tương ứng với hai thực thể: xác định trường khóa chính, trường mô tả.
- Đối với tệp thứ ba – tệp quan hệ: Hai trường quan hệ được xác định từ giá trị của hai trường khóa chính tương ứng với hai tệp thực thể. Tổ hợp của cả hai trường quan hệ này sẽ là trường khóa chính của tệp quan hệ. Sau đó xác định các trường mô tả của tệp quan hệ này.
2. Thiết lập CSDL từ sơ đồ ERD
Tệp dữ liệu
mô tả thực thể 1 mô tả thực thể 2Tệp dữ liệu
Tệp dữ liệu mô tả quan hệ Các trường mô tả 2 Trường khóa chính 2 Các trường mô tả 1 Trường khóa chính 1 Các trường mô tả Trường quan hệ 1 Trường quan hệ 2
Trường khóa chính của tệp QH
2. Thiết lập CSDL từ sơ đồ ERD
Ví dụ: Xét hai thực thể “Sinh viên”, “Môn học” và quan hệ “Sinh viên và Môn học”. Quan hệ này là quan hệ N-N với các thuộc tính riêng là lần thi và điểm thi. Từ đó, ta tạo 3 tệp dữ liệu:
- Tệp Sinhvien với trường khóa chính là #MaSV, các trường mô tả là Hovaten, …
- Tệp Monhoc với trường khóa chính là #MaMH, các trường mô tả là TenMH, …
- Tệp SVMH với trường khóa chính là tổ hợp của 2 trường quan hệ: MaSV, MaMH; các trường mô tả là Lanthi, Diemthi.
Tệp dữ liệu Monhoc
2. Thiết lập CSDL từ sơ đồ ERD
Tệp dữ liệu Sinhvien
#MaSV HovatenSV …
QT0015 Lê Thu Hà …
QT0037 Vũ Văn Nam …
QT0174 Trần Đình Chiến … QT0185 Bùi Thu Thanh …
… … … #MaMH TenMH … CB01 Toán cao cấp … QT05 Kinh tế vi mô … CB12 Lịch sử Đảng … … … … Tệp dữ liệu SVMH
MaSV MaMH Lanthi Diemthi
QT0015 CB01 1 8 …
QT0037 CB01 1 9 …
QT0174 CB12 2 6 …
QT0185 QT05 1 9 …