Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 4: Lý thuyết thiết kế cơ sở dữ liệu
lượt xem 2
download
Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 4: Lý thuyết thiết kế cơ sở dữ liệu, cung cấp cho người học những kiến thức như: Phụ thuộc hàm; Hệ luật dẫn Armstrong; Chuẩn hóa cơ sở dữ liệu; Thiết kế cơ sở dữ liệu. Mời các bạn cùng tham khảo!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 4: Lý thuyết thiết kế cơ sở dữ liệu
- 12/07/2018 Phụ thuộc hàm Quan hệ R được định nghĩa trên tập thuộc tính R = { A1, A2, ..., An}. LÝ THUYẾT THIẾT KẾ X, Y R là 2 tập con của tập thuộc tính R. CƠ SỞ DỮ LIỆU Quan hệ R có phụ thuộc hàm X xác định Y (X Y) nếu: 2 bộ (dòng) bất kỳ t, t’ R sao cho t.X = t’.X thì t.Y = t’.Y Nghĩa là: ứng với 1 giá trị của thuộc tính X thì có một giá trị duy nhất của thuộc tính Y. X là vế trái của phụ thuộc hàm, Y là vế phải của phụ thuộc hàm. 1 2 Phụ thuộc hàm Phụ thuộc hàm Ví dụ 1: Ví dụ 2: Xét quan hệ SINHVIEN ( MaSV, HoSV, TenSV, Phai, NgaySinh, Trong quan hệ KETQUA ( MaSV, MaMH, LanThi, Diem ) NoiSinh, MaKhoa ) Có phụ thuộc hàm: MaSV, MaMH, LanThi Diem Có các phụ thuộc hàm sau: Không có phụ thuộc hàm: MaSV, MaMH Diem MaSV HoSV MaSV TenSV MaSV MaMH LanThi Diem MaSV HoSV, TenSV, Phai, NgaySinh, NoiSinh, MaKhoa A01 01 1 5 Không có phụ thuộc hàm sau: A01 04 1 6 HoSV NgaySinh A02 01 1 2 TenSV NgaySinh A02 01 2 5 3 4
- 12/07/2018 Phụ thuộc hàm Phụ thuộc hàm Phụ thuộc hàm Với tập PTH F = { MaSV HoSV, TenSV → Bao đóng của tập thuộc tính MaSV, MaMH, LanThi Diem } → Xác định khóa của lược đồ quan hệ Bao đóng của tập thuộc tính vế trái: MaSV+ = { MaSV, HoSV, TenSV } Xét ví dụ quan hệ: KETQUA ( MaSV, HoSV, TenSV, do có MaSV HoSV, TenSV MaMH, LanThi, Diem ) (MaSV, MaMH, LanThi)+ = { MaSV, MaMH, LanThi, Diem, Với tập PTH F = { MaSV HoSV, TenSV HoSV, TenSV } MaSV, MaMH, LanThi Diem } do có MaSV, MaMH, LanThi Diem Xác định khóa của quan hệ KETQUA? và MaSV HoSV, TenSV Khóa của quan hệ KETQUA là (MaSV, MaMH, LanThi) 5 6 Hệ luật dẫn Armstrong Chuẩn hóa CSDL Dạng chuẩn 1 Dạng chuẩn 2 Dạng chuẩn 3 Chuẩn hóa lược đồ CSDL bằng phương pháp phân rã 7 8
- 12/07/2018 Đặt vấn đề Đặt vấn đề Xét ví dụ quan hệ 1: KETQUA ( MaSV, HoSV, TenSV, Xét ví dụ quan hệ 2: DAT_HANG ( SoDH, NgayDH, MaKH, MaMH, LanThi, Diem ) MaHH, SoLuong ) MaSV HoSV TenSV MaMH LanThi Diem SoDH NgayDH MaKH MaHH SoLuong A01 Nguyễn Nam 01 1 5 DH01 5/1/99 KH01 H01 50 A01 Nguyễn Nam 04 1 6 DH02 13/2/99 KH05 H02 30 A02 Hoàng Minh 01 1 2 DH02 13/2/99 KH05 H03 40 A02 Hoàng Minh 01 2 5 DH02 13/2/99 KH05 H01 60 Với tập PTH F = { MaSV HoSV, TenSV Với tập PTH F = { SoDH NgayDH, MaKH MaSV, MaMH, LanThi Diem } SoDH, MaHH SoLuong } Kiểm tra có bị trùng lắp thông tin? Kiểm tra có bị trùng lắp thông tin? 9 10 Đặt vấn đề Đặt vấn đề Sự trùng lắp thông tin dẫn đến: Với tập PTH F = { MaSV HoSV, TenSV Tăng chí phí lưu trữ MaSV, MaMH, LanThi Diem } Dư thừa khi thêm sửa dữ liệu Tổ chức lại thành 2 quan hệ như sau: Sai sót khi xóa, sửa dữ liệu SINHVIEN (MaSV, HoSV, TenSV ) Thiếu tính nhất quán Với tập PTH F1 = { MaSV HoSV, TenSV } Vi phạm tính toàn vẹn của dữ liệu KETQUA ( MaSV, MaMH, LanThi, Diem ) Với tập PTH F2 = { MaSV, MaMH, LanThi Diem } Không còn xảy ra tình trạng trùng lắp thông tin 11 12
- 12/07/2018 KETQUA ( MaSV, HoSV, TenSV, MaMH, LanThi, Diem ) Đặt vấn đề MaSV HoSV TenSV MaMH LanThi Diem Với tập PTH F = { SoDH NgayDH, MaKH A01 Nguyễn Nam 01 1 5 SoDH, MaHH SoLuong } A01 Nguyễn Nam 04 1 6 A02 Hoàng Minh 01 1 2 Tổ chức lại thành 2 quan hệ như sau: A02 Hoàng Minh 01 2 5 DAT_HANG ( SoDH, NgayDH, MaKH ) Với tập PTH F1 = { SoDH NgayDH, MaKH } CHITIET_DH ( SoDH, MaHH, SoLuong ) MaSV HoSV TenSV MaSV MaMH LanThi Diem Với tập PTH F2 = { SoDH, MaHH SoLuong } A01 Nguyễn Nam A01 01 1 5 A02 Hoàng Minh A01 04 1 6 Không còn xảy ra tình trạng trùng lắp thông tin A02 01 1 2 A02 01 2 5 13 14 DAT_HANG ( SoDH, NgayDH, MaKH, MaHH, SoLuong ) Đặt vấn đề SoDH NgayDH MaKH MaHH SoLuong Mục đích của quá trình chuẩn hóa DH01 5/1/99 KH01 H01 50 Để biểu diễn được mọi quan hệ trong CSDL DH02 13/2/99 KH05 H02 30 DH02 13/2/99 KH05 H03 40 Tránh sai sót khi thêm, xóa, sửa dữ liệu DH02 13/2/99 KH05 H01 60 Tránh phải xây dựng lại cấu trúc của các quan hệ khi cần đến các kiểu dữ liệu mới SoDH NgayDH MaKH SoDH MaHH SoLuong DH01 5/1/99 KH01 DH01 H01 50 DH02 13/2/99 KH05 DH02 H02 30 DH02 H03 40 DH02 H01 60 15 16
- 12/07/2018 Dạng chuẩn 1 Dạng chuẩn 1 Dạng chuẩn thứ nhất (1NF - 1 Normal Form) thỏa điều Ví dụ: Xét quan hệ SINHVIEN ( MaSV, HoSV, TenSV, kiện khi phụ thuộc hàm vào khoá và không thể chia được BangCap, TrinhDo ) thành các thành phần nhỏ hơn. Giá trị của các cột là đơn trị. MaSV HoSV TenSV BangCap TrinhDo Cách chuyển sang dạng 1NF: điền đủ dữ liệu vào các cột A01 Nguyễn Nam Anh văn A khác Tin học A Biến cột đa trị thành các dòng A02 Hoàng Minh Tin học B Tách lược đồ Quan hệ SINHVIEN không đạt dạng chuẩn 1 17 18 Dạng chuẩn 1 Dạng chuẩn 1 Ví dụ: MaSV HoSV TenSV BangCap TrinhDo Ví dụ: MaSV HoSV TenSV BangCap TrinhDo A01 Nguyễn Nam Anh văn A A01 Nguyễn Nam Anh văn A Tin học A Tin học A A02 Hoàng Minh Tin học B A02 Hoàng Minh Tin học B MaSV HoSV TenSV BangCap TrinhDo MaSV HoSV TenSV MaSV BangCap TrinhDo A01 Nguyễn Nam Anh văn A A01 Nguyễn Nam A01 Anh văn A A01 Nguyễn Nam Tin học A A02 Hoàng Minh A01 Tin học A A02 Hoàng Minh Tin học B A02 Tin học B 19 20
- 12/07/2018 Dạng chuẩn 2 Dạng chuẩn 2 Một sơ đồ quan hệ R được xem là thoả dạng chuẩn 2 nếu Xét ví dụ quan hệ: KETQUA ( MaSV, HoSV, TenSV, MaMH, nó ở dạng chuẩn 1 và không có phụ thuộc hàm từng LanThi, Diem ) phần. MaSV HoSV TenSV MaMH LanThi Diem Tất cả thuộc tính không khóa phụ thuộc hoàn toàn vào A01 Nguyễn Nam 01 1 5 tập thuộc tính khóa chính. A01 Nguyễn Nam 04 1 6 A02 Hoàng Minh 01 1 2 A02 Hoàng Minh 01 2 5 Với tập PTH F = { MaSV HoSV, TenSV MaSV, MaMH, LanThi Diem } Quan hệ KETQUA có đạt dạng chuẩn 2? 21 22 Dạng chuẩn 2 Dạng chuẩn 2 Xét ví dụ quan hệ: KETQUA ( MaSV, HoSV, TenSV, MaMH, Quan hệ: KETQUA ( MaSV, HoSV, TenSV, MaMH, LanThi, Diem ) LanThi, Diem ) Với tập PTH F = { MaSV HoSV, TenSV Với tập PTH F = { MaSV HoSV, TenSV MaSV, MaMH, LanThi Diem } MaSV, MaMH, LanThi Diem } Khóa của quan hệ: { MaSV, MaMH, LanThi } Khắc phục: Tách thành 2 quan hệ: Các thuộc tính không khóa: HoSV, TenSV chỉ phụ thuộc R1 ( MaSV, HoSV, TenSV ) vào một bộ phận của khóa với tập PTH: { MaSV HoSV, TenSV } → Quan hệ KETQUA không đạt dạng chuẩn 2 R2 ( MaSV, MaMH, LanThi, Diem ) với tập PTH: { MaSV, MaMH, LanThi Diem } → Mỗi quan hệ R1, R2 đạt dạng chuẩn 2 23 24
- 12/07/2018 Dạng chuẩn 3 Dạng chuẩn 3 Một sơ đồ quan hệ R được xem là thỏa dạng chuẩn 3 nếu Ví dụ: Quan hệ GIANG_DAY ( MaLop, MaMH, MaGV, nó ở dạng chuẩn 2 và không có phụ thuộc hàm truyền TenGV, DiaChi ) (bắc cầu) Với tập PTH F = { MaLop, MaMH MaGV Mọi thuộc tính không khóa của R đều không phụ thuộc MaGV TenGV, DiaChi } bắc cầu vào một khóa nào của R Không đạt dạng chuẩn 3 Khắc phục: Tách thành 2 quan hệ: R1 ( MaLop, MaMH, MaGV ) Với tập PTH F1 = { MaLop, MaMH MaGV } R2 ( MaGV, TenGV, DiaChi ) Với tập PTH F2 = { MaGV TenGV, DiaChi } 25 26 Thiết kế CSDL Thiết kế CSDL Bài tập 1: Thiết kế CSDL quản lý sinh viên trong trường ĐH Phân tích các phụ thuộc hàm (1) Quản lý thông tin các sinh viên MaSV → HoSV Mỗi SV có một Mã SV duy nhất (MaSV), Họ (HoSV), tên MaSV → TenSV (TenSV), phái (Phai), ngày sinh (NgaySinh), thuộc 1 khoa … (Khoa), có bằng cấp (BangCap), trình độ bằng cấp (TrinhDo) MaSV → HoSV, TenSV, Phai, NgaySinh, Khoa Quản lý thông tin các môn học Sinh viên có bằng cấp (BangCap), trình độ bằng cấp Mỗi môn học có một Mã môn học duy nhất (MaMH), Tên (TrinhDo) môn học (TenMH), và số đơn vị học trình (DVHT). MaSV, BangCap → TrinhDo Quản lý thông tin điểm kết quả thi kết thúc học phần Mỗi sinh viên ứng với mỗi môn học, và lần thi (LanThi) có điểm thi tương ứng (Diem) 27 28
- 12/07/2018 Thiết kế CSDL Thiết kế CSDL Phân tích các phụ thuộc hàm (2) Tổng hợp các phụ thuộc hàm: MaMH → TenMH và MaMH → DVHT MaSV → HoSV, TenSV, Phai, NgaySinh, Khoa MaMH → TenMH, DVHT MaSV, BangCap → TrinhDo Mỗi sinh viên ứng với mỗi môn học, và lần thi (LanThi) có MaMH → TenMH, DVHT điểm thi tương ứng (Diem) MaSV, MaMH, LanThi → Diem MaSV, MaMH, LanThi → Diem Tách riêng các phụ thuộc hàm → Quan hệ → Phép tách bảo toàn phụ thuộc hàm đạt dạng chuẩn 3 29 30 Thiết kế CSDL Thiết kế CSDL Bài tập 2: Thiết kế CSDL quản lý bán hàng MaKH TenKH MaHD MaKH Quản lý danh sách khách hàng MaKH GioiTinh MaHD NgayLapHD Mã khách hàng (MaKH): Họ tên khách hàng (TenKH) Giới MaKH SDT MaHD MaHH, SoLuong tính (GioiTinh), Số điện thoại (SDT), Địa chỉ (DiaChi) MaKH DiaChi Quản lý danh mục hàng hóa Mã hàng hóa (MaHH), Tên hàng hóa (TenHH), Đơn giá MaHH TenHH (DonGia), Đơn vị tính (DVT) MaHH DonGia Quản lý hóa đơn đặt hàng MaHH DVT Mã hóa đơn (MaHD), Khách đặt hàng (MaKH), Ngày lập hóa đơn (NgayLapHD). Một hóa đơn đặt hàng có thể đặt nhiều loại mặt hàng (MaHH) với SL đặt khác nhau (SoLuong). 31 32
- 12/07/2018 MaHD MaKH NgayLapHD MaHH SoLuong Thiết kế CSDL A01 … … 01 02 32 54 Một hóa đơn đặt hàng có thể đặt nhiều loại mặt hàng khác A02 … … 04 43 nhau. 01 12 A03 … … 01 21 MaHD MaKH NgayLapHD MaHH SoLuong A04 … … 01 31 A01 … … 01 32 02 54 MaHD MaKH NgayLapHD MaHD MaHH SoLuong A02 … … 04 43 A01 … … A01 01 32 01 12 A02 … … A01 02 54 A03 … … 01 21 A03 … … A02 04 43 A04 … … 01 31 A04 … … A02 01 12 … … … … … A03 01 21 A04 01 31 33 34 Tổng kết Chương 35
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Hệ quản trị cơ sở dữ liệu Oracle: Chương 1 - Ngô Thùy Linh
31 p | 183 | 25
-
Bài giảng Hệ quản trị cơ sở dữ liệu Oracle: Chương 5 - Ngô Thùy Linh
34 p | 95 | 18
-
Bài giảng Hệ quản trị cơ sở dữ liệu Access - ĐH Phạm Văn Đồng
159 p | 112 | 17
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Tổng quan hệ quản trị CSDL SQL Server - TS. Lại Hiền Phương
50 p | 112 | 14
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 4 - ĐH Công nghiệp Thực phẩm
92 p | 147 | 11
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 1 - ĐH Công nghiệp Thực phẩm
31 p | 99 | 10
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Giới thiệu - Phạm Thọ Hoàn
14 p | 157 | 9
-
Bài giảng Hệ quản trị cơ sở dữ liệu Oracle - Trường ĐH Đồng Tháp
119 p | 35 | 8
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 1 - Nguyễn Thị Uyên Nhi
33 p | 84 | 6
-
Bài giảng Hệ quản trị cơ sở dữ liệu (Database Management Systems) - Bài 1.1: Tổng quan về Hệ quản trị cơ sở dữ liệu
5 p | 17 | 6
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 1 - Nguyễn Trường Sơn
29 p | 46 | 5
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 2 - Phạm Nguyên Thảo
39 p | 78 | 5
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 1 - Lê Thị Minh Nguyện
14 p | 72 | 4
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Các tác vụ quản trị hệ thống - TS. Lại Hiền Phương (Phần 3)
61 p | 53 | 4
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Các tác vụ quản trị hệ thống - TS. Lại Hiền Phương (Phần 1)
32 p | 52 | 4
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 6 - Nguyễn Thị Mỹ Dung
33 p | 58 | 4
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 6 - Phạm Nguyên Thảo
44 p | 51 | 3
-
Bài giảng Hệ quản trị cơ sở dữ liệu MSSQL 2005: Chương 7 - Hồ Thị Anh Đào
24 p | 62 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn