logo

Quản trị Cơ sở dữ liệu và Phần mềm ứng dụng chương 2: Thiết kế CSDL quan hệ

Mô hình dữ liệu quan hệ được Codd đề xuất năm 1970 và đến nay trở thành mô hình được sử dụng phổ biến trong các hệ quản trị cơ sở dữ liệu thương mại. Nói một cách đơn giản, một cơ sở dữ liệu quan hệ là một cơ sở dữ liệu trong đó ..
Quản trị Cơ sở dữ liệu và Phần mềm ứng dụng Bộ môn CNTT Khoa Tin học Thương mại 11/3/2008 Bài giảng - CSDL và Phần mềm ứng dụng 1 Chương II: Thiết kế CSDL quan hệ 1. Giới thiệu chung 1.1. Thiết kế CSDL QH và các cách tiếp cận 1.2. Phụ thuộc hàm 2. Chuẩn hóa lược đồ quan hệ 2.1. Các dạng chuẩn 2.2. Tách lược đồ quan hệ theo chuẩn 3. Ràng buộc toàn vẹn trong CSDL quan hệ 3.1. Khái niệm ràng buộc toàn vẹn 3.2. Ràng buộc toàn vẹn trên thuộc tính 3.3. Ràng buộc toàn vẹn trên quan hệ Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 2 1. Giới thiệu chung 1.1. Thiết kế CSDL QH và các cách tiếp cận  Thiết kế cơ sở dữ liệu quan hệ  xây dựng lược đồ CSDL QH gồm một tập các lược đồ quan hệ thỏa mãn hai yêu cầu:  Lưu trữ thông tin không dư thừa  Tìm kiếm thông tin dễ dàng  Ví dụ  Lược đồ quan hệ  CUNG_UNG(MaNCC, TenNCC, DiaChi, SanPham, Gia) Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 3 Dư thừa dữ liệu  Quan hệ CUNG_UNG_0 MaNCC TenNCC DiaChi SanPham Gia 1 Hải Hà Hà Nội Kẹo mềm 100 1 Hải Hà Hà Nội Kẹo cứng 150 1 Hải Hà Hà Nội Bánh 200 2 Kinh đô Hồ Chí Minh Kẹo 120 2 Kinh đô Hồ Chí Minh Bánh 150  Một nhà cung cấp cung cấp nhiều mặt hàng.  Lặp các thông tin về nhà cung cấp ứng với mỗi một mặt hàng khác nhau của cùng nhà cung cấp đó. Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 4 Không nhất quán  Quan hệ CUNG_UNG_0 MaNCC TenNCC DiaChi SanPham Gia 1 Hải Hà Đà Nẵng Kẹo mềm 100 1 Hải Hà Hà Nội Kẹo cứng 150 1 Hải Hà Hà Nội Bánh 200 2 Kinh đô Hồ Chí Minh Kẹo 120 2 Kinh đô Hồ Chí Minh Bánh 150  Dị thường khi cập nhật thông tin về nhà cung cấp như thay đổi địa chỉ. Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 5 Dị thường khi thêm bộ  Quan hệ CUNG_UNG_0 MaNCC TenNCC DiaChi SanPham Gia 1 Hải Hà Hà nội Kẹo mềm 100 1 Hải Hà Hà Nội Kẹo cứng 150 1 Hải Hà Hà Nội Bánh 200 2 Kinh đô Hồ Chí Minh Kẹo 120 2 Kinh đô Hồ Chí Minh Bánh 150 3 Bibica Đà nẵng NULL NULL  Dị thường khi thêm mới thông tin về nhà cung cấp nhưng nhà cung cấp chưa cung cấp mặt hàng nào. Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 6 Dị thường khi xóa bộ  Quan hệ CUNG_UNG_0 MaNCC TenNCC DiaChi SanPham Gia 1 Hải Hà Hà nội Kẹo mềm 100 1 Hải Hà Hà Nội Kẹo cứng 150 1 Hải Hà Hà Nội Bánh 200 2 Kinh đô Hồ Chí Minh Kẹo 120  Tồn tại nhà cung cấp chỉ cung cấp một mặt hàng.  Dị thường khi xóa thông tin về sự cung cấp  xóa luôn thông tin về nhà cung cấp. Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 7 Tìm kiếm thông tin MaNCC TenNCC DiaChi MaNCC SanPham Gia 1 Hải Hà Hà Nội 1 Kẹo mềm 100 2 Kinh đô Hồ Chí Minh 1 Kẹo cứng 150 CUNG_UNG_11 1 Bánh 200 2 Kẹo 120 2 Bánh 200 CUNG_UNG_12  Quan hệ CUNG_UNG_0 tách thành 2 quan hệ CUNG_UNG_11 và CUNG_UNG_12  Lưu trữ thông tin không dư thừa ???  Tìm kiếm thông tin dễ dàng ??? Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 8 Các cách tiếp cận  Từ trên xuống(Topdown):  Xây dựng sơ đồ thực thể liên kết ER từ các đặc tả  Chuyển đổi sơ đồ ER thành lược đồ CSDL quan hệ.  Chuẩn hóa lược đồ CSDL quan hệ (nếu cần)  Từ dưới lên (Bottom Up):  Xây dựng lược đồ quan hệ ban đầu từ các đặc tả.  Chuẩn hóa lược đồ quan hệ. Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 9 1.2. Phụ thuộc hàm a. Khái niệm  Cho quan hệ R, thuộc tính B của quan hệ R được gọi là phụ thuộc hàm vào thuộc tính A của quan hệ R nếu với mỗi giá trị của A xác định duy nhất một giá trị của B. A được gọi là xác định hàm của B.  Ký hiệu: AB Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 10 a. Khái niệm (t)  Tập các phụ thuộc hàm F của 1 lược đồ quan hệ R là một tập gồm các phụ thuộc hàm xác định trên R.  Ví dụ: Tập phụ thuộc hàm F={AB, BC} của R(A,B,C)  Trong quan hệ R, ký hiệu A, B, C dành cho các thuộc tính đơn, X, Y, Z dành cho tập các thuộc tính. Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 11 Ví dụ  Tập tất cả các thuộc tính của MaNCC TenNCC SoNV DiaChi quan hệ phải phụ thuộc hàm vào S1 Hải Hà 20 Hà Nội khóa. S2 Kinh Đô 10 Hà Nội  MaNCC TenNCC S3 Bibica 30 HCM  MaNCC SoNV  MaNCC DiaChi  MaNCC: Khóa  F={ MaNCC TenNCC, MaNCC SoNV, MaNCC DiaChi} Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 12 Ví dụ  Một tập thuộc tính là xác định hàm của các thuộc tính khác thì chưa chắc là một khóa.  TenNCC DiaChi  TenNCC không phải là khóa MaNCC TenNCC SoNV DiaChi S1 Hải Hà 20 Hà Nội S2 Kinh Đô 10 Hà Nội S3 Bibica 30 HCM S4 Hải Hà 10 Hà Nội Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 13 b. Hệ tiên đề Amstrong  Giả thiết  Lược đồ quan hệ R.  X,Y,Z: tập các thuộc tính thuộc R.  XY=XUY  Hệ 3 tiên đề với các phụ thuộc hàm:  Phản xạ:XYX; XYY  Tăng trưởng: XY thì XZYZ  Bắc cầu:XY, YZ thì XZ Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 14 Luật suy ra từ hệ tiên đề  Luật hợp  Nếu XY, XZ thì XYZ  Luật tựa bắc cầu  Nếu XY, WYZ thì XWZ  Luật tách  Nếu XY, Z thuộc Y thì XZ Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 15 c. Phụ thuộc hàm đầy đủ và phụ thuộc bắc cầu  Phụ thuộc hàm đầy đủ  Y phụ thuộc hàm đầy đủ vào X nếu Y phụ thuộc hàm vào X nhưng không phụ thuộc hàm vào bất kỳ một tập con thực sự nào của X.  Ví dụ  Lược đồ R(A, B, C, D)  F={ABC; ABD; BD}  C phụ thuộc hàm đầy đủ vào {A,B}  D không phụ thuộc hàm đầy đủ vào {A,B} Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 16 Phụ thuộc bắc cầu  Phụ thuộc hàm X  A, A được gọi là phụ thuộc bắc cầu vào X nếu tồn tại Y để cho X  Y, Y  A, Y / X và A  XY  Ví dụ:  F = {AB, BC}  AC: C phụ thuộc bắc cầu vào A Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 17 d. Bao đóng và phủ của tập các phụ thuộc hàm  Cho tập các phụ thuộc hàm F xác định trên R.  Bao đóng F+ của tập các phụ thuộc hàm F là tập tất cả các phụ thuộc hàm được suy diễn logic từ F.  Phủ G của tập các phụ thuộc hàm F (G≈F) là tập các phụ thuộc hàm xác định trên R sao cho G+ = F+. Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 18 X+ ?  Bao đóng X+ của thuộc tính X đối với tập phụ thuộc hàm F là tất cả các thuộc tính A mà phụ thuộc hàm XA có thể được suy diễn logic từ F nhờ hệ tiên đề Amstrong.  Một phụ thuộc hàm XY thuộc F+ nếu Y thuộc X+: Kiểm tra XY có thuộc F+ Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 19 Ý nghĩa của phụ thuộc hàm  Chỉ ra các phụ thuộc dữ liệu/ràng buộc có thể xảy ra giữa tập thuộc tính của một lược đồ quan hệ.  Giúp xác định khóa tối thiểu, khóa chính của quan hệ.  Giúp chuẩn hóa lược đồ quan hệ Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 20
DMCA.com Protection Status Copyright by webtailieu.net