Các bước thực hiện
Các hệ QT CSDL quan hệ ngày nay đòi hỏi giá trị đơn cho các kiểu thuộc tính và cấm khái niệm thừa kế giữa các quan hệ. Do đó để thành lập một CSDL quan hệ bắt đầu từ một lược đồ khái niệm theo mô hình ER mở rộng, trước hết cần phải chuyển lược
đồ này sang ER kinh điển. Sau đây là các quy tắc để biến đổi mô hình ER mở rộng sang mô hình ER kinh điển
Quy tắc 1: Xử lý các thuộc tính đa trị của một kiểu thực thể. Thay một kiểu thuộc tính đa trị T của một kiểu thực thể A bởi một kiểu thực thể mới E – T và kết nối A với E – T bởi một kiểu liên kết. Đưa vào kiểu thực thể mới E – T một kiểu thuộc tính đơn trị t, tương ứng với giá trị thành phần của T. Nghiên cứu bản số mới cho kiểu liên kết mới (giữa A và E - T)
Ví dụ. Kiểu thực thể nhân viên có kiểu thuộc tính đa trị là : các ngoại ngữ
Chuyển sang ER kinh điển, ta có
Một trường hợp đặc biệt quan trọng thường gặp trong mô hình hóa là trường hợp các chứng từ có bảng. Ví dụ như Hóa đơn sau
Ta nhận thấy trong Hóa đơn trên có hai danh mục
o Các danh mục ở ngoài bảng, chỉ nhận một giá trị duy nhất.
o Các danh mục ở trong bảng, có thể nhận nhiều giá trị
HÓA ĐƠN Số ______ Họ tên khách hàng:__________________________ Địa chỉ:______________________________
Hình thức thanh toán:_________________________
Mã hàng Tên hàng Đơn vị tính Số lượng Đơn giá Thành tiền Cộng tiền:___________________ Ngày: ______________________
Khi tiến hành mô hình hóa, một cách tự nhiên ta diễn tả Hóa đơn là một kiểu thực thể với tất cả danh mục có trong Hóa đơn được lấy làm kiểu thuộc tính. Như vậy ta có một mô hình ER mở rộng. Sau đó ta biến đổi ER mở rộng về ER kinh điển bằng cách loại bỏ các thuộc tính đa trị. Ở đây chỉ cần tạo một kiểu thực thể phụ thuộc duy nhất, mà mỗi thực thể trong đó tương ứng với một dòng các giá trị viết trong bảng
trở thành
Quy tắc 2: Xử lý các kiểu thuộc tính đa trị của một kiểu liên kết: Thực thể hóa kiểu liên kết đó rồi áp dụng qui tắc 1 cho kiểu thực thể mới lập
Hai kiểu thuộc tính Các môn học, các năm học của kiểu liên kết Dạy là kiểu thuộc tính đa trị. Ta có thể biến đổi như sau
Qui tắc 3: Xử lý các kiểu thực thể con. Giả sử kiểu thực thể A có kiểu thực thể con là B. Có hai cách xử lý tùy chọn như sau.
Qui tắc 3.1: Loại bỏ kiểu thực thể B và bổ sung mọi kiểu thuộc tính của B vào trong A, đồng thời một kiểu thuộc tính cho phép phân loại các thực thể của A (thuộc tính B hay không thuộc tính B). Chuyển mọi kiểu liên kết với B sang A, và nghiên cứu cụ thể các bản số tối thiểu.
Qui tắc 3.2. Thay mối liên quan thừa kế giữa A và B bởi một kiểu liên kết giữa A và B mà các bản số tối đa đều là 1.
Nếu áp dụng qui tắc 3.2.
Chú ý:
- Trong mô hình ER trên khi Loại người = Viên chức, các kiểu thuộc tính Bút hiệu, Số tác phẩm không dùng tới, nghĩa là không có giá trị. Tuy nhiên để cho các kiểu thuộc tính đối với một kiểu thực thể luôn có giá trị, trong trường hợp trên, ta gán cho kiểu thuộc tính một giá trị quy ước: NULL (được hiểu là không tồn tại hoặc chưa được biết).
- Nếu kiểu thuộc tính Loại người là thuộc tính đa trị (nghĩa là có người vừa là nhà văn vừa là viên chức), ta lại phải áp dụng qui tắc 1 để xử lý tiếp, lúc đó mô hình ER trở thành
Hình 4 – 3. Mô hình ER kinh điển