Chương 7 Thiết kế mô hình dữ liệu logic

Nội dung thiết kế mô hình dữ liệu logic Mô hình dữ liệu quan hệ Quan hệ & thuộc tính Khái niệm về các dạng chuẩn Chuẩn hóa các quan hệ Xây dựng mô hình dữ liệu logic Quy trình thiết kế mô hình dữ liệu logic

ppt24 trang | Chia sẻ: lylyngoc | Lượt xem: 2166 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Chương 7 Thiết kế mô hình dữ liệu logic, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 7 Thiết Kế Mô Hình Dữ Liệu Logic Faculty of MIS GV: LÊ THỊ QUỲNH NGA Nội Dung Nội dung thiết kế mô hình dữ liệu logic Mô hình dữ liệu quan hệ Quan hệ & thuộc tính Khái niệm về các dạng chuẩn Chuẩn hóa các quan hệ Xây dựng mô hình dữ liệu logic Quy trình thiết kế mô hình dữ liệu logic Nội dung thiết kế mô hình dữ liệu logic Là quá trình chuyển 1 mô hình dữ liệu quan niệm sang 1 mô hình dữ liệu logic Mô hình bao gồm các quan hệ đã được chuẩn hóa & tích hợp, cùng với sơ đồ mô hình Mô hình dữ liệu quan hệ (Relational Database Model) Gồm 3 thành phần: Cấu trúc dữ liệu: bảng hay quan hệ Thao tác dữ liệu: ngôn ngữ SQL Tích hợp dữ liệu: quy tắc nghiệp vụ nhằm duy trì tính toàn vẹn dữ liệu Quan hệ & thuộc tính CSDL quan hệ (Relational Database): DL được biểu diễn như 1 tập các bảng (hay quan hệ) có liên quan với nhau Quan hệ (Relation): 1 bảng DL 2 chiều được đặt tên. Mỗi quan hệ gồm 1 tập các cột được đặt tên & 1 số dòng tùy ý không có tên Lược đồ quan hệ: SINHVIEN(mãSV,tênSV,ngàysinh,mãlớp) LOP(mãlớp,tênlớp) Các tính chất của 1 quan hệ Giá trị đưa vào 1 cột là đơn nhất. Giá trị đưa vào 1 cột phải thuộc cùng 1 miền giá trị. Mỗi dòng là duy nhất trong bảng. Thứ tự các cột là không quan trọng. Thứ tự các dòng là không quan trọng. Quan hệ có cấu trúc tốt Là quan hệ chứa số dư thừa ít nhất & cho phép người sử dụng thêm xóa, hay sửa đổi những dòng trong bảng mà không gây ra lỗi hoặc sự không nhất quán Quan hệ có cấu trúc tốt (Well-Structured Relation) Không dư thừa, DL có liên quan đến 1 thực thể đơn giản, nhân viên Quan hệ không có cấu trúc tốt (Poorly Structured Relation) Dư thừa vì DL có liên quan đến 2 thực thể, nhân viên & các khóa học mà họ đã lấy Khái niệm về các dạng chuẩn Phụ thuộc hàm (Functional Dependency) Phụ thuộc hàm: mối quan hệ cụ thể giữa 2 thuộc tính hay nhóm thuộc tính trong 1 quan hệ Cho quan hệ R & 2 nhóm thuộc tính A & B thuộc R. Nhóm thuộc tính B gọi là phụ thuộc hàm vào nhóm thuộc tính A nếu đối với mỗi dòng của quan hệ R các giá trị của A xác định giá trị duy nhất của B. Ký hiệu: A  B VD: mãSV  {tênSV,ngàysinh,mãlớp} Khái niệm về các dạng chuẩn Khóa dự tuyển, Khóa chính & khóa ngoại Khóa dự tuyển là 1 hay 1 nhóm thuộc tính mà các giá trị của nó xác định duy nhất mỗi dòng. Cần thỏa mản 2 tính chất: Xác định duy nhất Không dư thừa Khóa chính là 1 khóa dự tuyển được chọn làm khóa của quan hệ. Khóa ngoại là 1 thuộc tính của quan hệ nhưng lại là thuộc tính khóa của 1 quan hệ khác. Ràng buộc tham chiếu (Referential Integrity): xác định giá trị hay sự tồn tại của 1 thuộc tính trong 1 quan hệ phụ thuộc vào giá trị hay sự tồn tại của cùng thuộc tính trong quan hệ khác. Ví Dụ về Khóa Ngoại The foreign key Khóa ngoại thiết lập quan hệ 1-n giữa SPERSON (1) & SALES1 (n) Không thể có SalesPerson trong SALES1 không tồn tại trong SPERSON (Luật ràng buộc tham chiếu) Khái niệm về các dạng chuẩn Các dạng chuẩn cơ bản Chuẩn hóa (normalization): tiến trình chuyển đổi cấu trúc dữ liệu phức tạp thành cấu trúc DL ổn định, đơn giản. Chuẩn 1 (First Normal From - 1NF) Các dòng duy nhất Không chứa các thuộc tính lặp (mọi thuộc tính của R đều chứa các giá trị nguyên tố (atomic value), giá trị này không là một danh sách các giá trị hoặc giá trị phức hợp (composite value) ) Khái niệm về các dạng chuẩn Các dạng chuẩn cơ bản Chuẩn 2 (Second Normal Form - 2NF) Là chuẩn 1 Mỗi thuộc tính không phải là khóa được xác định bởi toàn bộ khóa (Gọi là phụ thuộc hàm toàn phần). Chuẩn 3 (Third Normal Form - 3NF) Là chuẩn 2 Các thuộc tính không phải là khóa không phụ thuộc lẫn nhau (phụ thuộc bắc cầu). Xây dựng mô hình dữ liệu Logic Gồm các bước: Biểu diễn các thực thể Biểu diễn các mối quan hệ Chuẩn hóa các QH Hợp nhất các QH Vẽ sơ đồ Biểu diễn các thực thể Mỗi thực thể trong ERD thành 1 quan hệ. Các thuộc tính của thực thể trở thành thuộc tính của QH Thuộc tính định danh của thực thể trở thành khóa chính của quan hệ. CUSTOMER(Customer_ID,Name,Address,City_State_Zip,Discount) Biểu diễn các mối quan hệ QH nhị nguyên 1:N (Binary 1:N) Thêm khoá của QH tương ứng ở bên 1 vào QH tương ứng với bên nhiều như là khoá ngoại. Hoặc là Hợp nhất bên 1 vào bên nhiều. Binary or Unary 1:1 Có 3 cách: Thêm khoá chính của A thành khoá ngoại của B. Thêm khóa chính của B thành khoá ngoại của A. Cả 2 cách trên. Biểu diễn các mối quan hệ Biểu diễn các mối quan hệ Binary and Higher M:N relationships Tạo QH khác bao gồm các khoá chính của tất cả các QH. Tất cả các khóa chính này hợp thành khoá chính của QH mới. Biểu diễn các mối quan hệ Biểu diễn các mối quan hệ Biểu diễn các mối quan hệ Hợp nhất các quan hệ (Merging Relations) Mục tiêu là xoá đi các QH lặp lại Xem xét các vấn đề tích hợp: Đồng nghĩa (Synonyms) 2 tên khác nhau được dùng cho cùng 1 thuộc tính Khi hợp nhất, xin ý kiến người dùng để có tên chuẩn đơn giản Đồng danh (Homonyms) 1 tên thuộc tính được dùng cho 2 hay nhiều Thuộc tính khác nhau Giải quyết bằng cách tạo tên mới Các phụ thuộc giữa các thuộc tính không khoá Các phụ thuộc có thể được tạo ra do tích hợp để giải quyết, QH mới phải được chuẩn hoá Quy trình thiết kế mô hình dữ liệu logic Chuyển các mô hình thực thể - mối QH sang các QH Xác định khoá & chuẩn hoá các QH nhận được Tích hợp các QH nhận được vẽ sơ đồ mô hình DL QH & xác định các lực lượng tham gia vào QH