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

9 25 0
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

Đang tải... (xem toàn văn)

Thông tin tài liệu

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!

12/07/2018 Phụ thuộc hàm  Quan hệ R định nghĩa tập thuộc tính R = { A1, A2, , An}  X, Y  R tập tập thuộc tính R  Quan hệ R có phụ thuộc hàm X xác định Y (X  Y) nếu:   (dòng) t, t’  R cho t.X = t’.X t.Y = t’.Y  Nghĩa là: ứng với giá trị thuộc tính X có giá trị thuộc tính Y  X vế trái phụ thuộc hàm, Y vế phải phụ thuộc hàm LÝ THUYẾT THIẾT KẾ CƠ SỞ DỮ LIỆU 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, NoiSinh, MaKhoa ) Có phụ thuộc hàm sau:  MaSV  HoSV  MaSV  TenSV  MaSV  HoSV, TenSV, Phai, NgaySinh, NoiSinh, MaKhoa Khơng có phụ thuộc hàm sau:  HoSV  NgaySinh  TenSV  NgaySinh Trong quan hệ KETQUA ( MaSV, MaMH, LanThi, Diem ) Có phụ thuộc hàm: MaSV, MaMH, LanThi  Diem Khơng có phụ thuộc hàm: MaSV, MaMH  Diem MaSV MaMH LanThi Diem A01 01 A01 04 A02 01 A02 01 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 tập thuộc tính → Xác định khóa lược đồ quan hệ MaSV, MaMH, LanThi  Diem } Bao đóng tập thuộc tính vế trái:  MaSV+ = { MaSV, HoSV, TenSV } có MaSV  HoSV, TenSV  (MaSV, MaMH, LanThi)+ = { MaSV, MaMH, LanThi, Diem, HoSV, TenSV } có MaSV, MaMH, LanThi  Diem MaSV  HoSV, TenSV  Khóa quan hệ KETQUA (MaSV, MaMH, LanThi)  Xét ví dụ quan hệ: KETQUA ( MaSV, HoSV, TenSV, MaMH, LanThi, Diem ) Với tập PTH F = { MaSV  HoSV, TenSV MaSV, MaMH, LanThi  Diem } Xác định khóa quan hệ KETQUA? Hệ luật dẫn Armstrong Chuẩn hóa CSDL  Dạng chuẩn  Dạng chuẩn  Dạng chuẩn  Chuẩn hóa lược đồ CSDL phương pháp phân rã 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 ) MaMH LanThi MaHH, SoLuong ) MaSV HoSV TenSV Diem SoDH A01 Nguyễn Nam 01 A01 Nguyễn Nam 04 A02 Hoàng Minh 01 A02 Hoàng Minh 01 NgayDH MaKH MaHH SoLuong DH01 5/1/99 KH01 H01 50 DH02 13/2/99 KH05 H02 30 DH02 13/2/99 KH05 H03 40 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 }  Kiểm tra có bị trùng lắp thơng tin? SoDH, MaHH  SoLuong }  Kiểm tra có bị trùng lắp thông tin? 10 Đặt vấn đề Đặt vấn đề Sự trùng lắp thông tin dẫn đến:  Tăng chí phí lưu trữ  Dư thừa thêm sửa liệu  Sai sót xóa, sửa liệu  Thiếu tính qn  Vi phạm tính tồn vẹn liệu  Với tập PTH F = { MaSV  HoSV, TenSV MaSV, MaMH, LanThi  Diem } Tổ chức lại thành quan hệ sau:  SINHVIEN (MaSV, HoSV, TenSV ) Với tập PTH F1 = { MaSV  HoSV, TenSV }  KETQUA ( MaSV, MaMH, LanThi, Diem ) Với tập PTH F2 = { MaSV, MaMH, LanThi  Diem }  Khơng cịn xảy tình trạng trùng lắp thơng tin 11 12 12/07/2018 Đặt vấn đề  KETQUA ( MaSV, HoSV, TenSV, MaMH, LanThi, Diem ) MaSV HoSV TenSV A01 Nguyễn Nam MaMH LanThi 01 Diem A01 Nguyễn Nam 04 A02 Hoàng Minh 01 A02 Hoàng Minh 01 MaSV MaMH LanThi  Với tập PTH F = { SoDH  NgayDH, MaKH MaSV HoSV TenSV A01 Nguyễn Nam A01 01 A02 Hoàng Minh A01 04 A02 01 A02 01 SoDH, MaHH  SoLuong } Tổ chức lại thành quan hệ sau:  DAT_HANG ( SoDH, NgayDH, MaKH ) Với tập PTH F1 = { SoDH  NgayDH, MaKH }  CHITIET_DH ( SoDH, MaHH, SoLuong ) Với tập PTH F2 = { SoDH, MaHH  SoLuong } Diem  Khơng cịn xảy tình trạng trùng lắp thông tin 13 Đặt vấn đề  DAT_HANG ( SoDH, NgayDH, MaKH, MaHH, SoLuong ) SoDH NgayDH MaKH MaHH SoLuong DH01 5/1/99 KH01 H01 50 DH02 13/2/99 KH05 H02 30 DH02 13/2/99 KH05 H03 40 DH02 13/2/99 KH05 H01 60 14 Mục đích q trình chuẩn hóa  Để biểu diễn quan hệ CSDL  Tránh sai sót thêm, xóa, sửa liệu  Tránh phải xây dựng lại cấu trúc quan hệ cần đến kiểu liệu 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 Dạng chuẩn  Dạng chuẩn thứ (1NF - Normal Form) thỏa điều  Ví dụ: Xét quan hệ SINHVIEN ( MaSV, HoSV, TenSV, kiện phụ thuộc hàm vào khố khơng thể chia thành thành phần nhỏ  Giá trị cột đơn trị  Cách chuyển sang dạng 1NF: điền đủ liệu vào cột khác BangCap, TrinhDo )  Biến cột đa trị thành dòng MaSV HoSV TenSV BangCap TrinhDo A01 Nguyễn Nam Anh văn Tin học A A A02 Hoàng Minh Tin học B  Tách lược đồ  Quan hệ SINHVIEN không đạt dạng chuẩn 17 Dạng chuẩn  Ví dụ: 18 Dạng chuẩn  Ví dụ: MaSV HoSV TenSV BangCap TrinhDo MaSV HoSV TenSV BangCap TrinhDo A01 Nguyễn Nam Anh văn Tin học A A A01 Nguyễn Nam Anh văn Tin học A A A02 Hoàng Minh Tin học B A02 Hoàng Minh Tin học B MaSV HoSV TenSV BangCap TrinhDo MaSV HoSV A01 Nguyễn Nam Anh văn A A01 A01 Nguyễn Nam Tin học A A02 A02 Hoàng Minh Tin học B 19 TenSV MaSV BangCap TrinhDo Nguyễn Nam A01 Anh văn A Hoàng Minh A01 Tin học A A02 Tin học B 20 12/07/2018 Dạng chuẩn Dạng chuẩn  Một sơ đồ quan hệ R xem thoả dạng chuẩn  Xét ví dụ quan hệ: KETQUA ( MaSV, HoSV, TenSV, MaMH, dạng chuẩn khơng có phụ thuộc hàm phần  Tất thuộc tính khơng khóa phụ thuộc hồn tồn vào tập thuộc tính khóa LanThi, Diem ) MaSV HoSV TenSV A01 Nguyễn Nam MaMH LanThi 01 Diem A01 Nguyễn Nam 04 A02 Hoàng Minh 01 A02 Hoàng Minh 01  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 Dạng chuẩn  Xét ví dụ quan hệ: KETQUA ( MaSV, HoSV, TenSV, MaMH,  Quan hệ: KETQUA ( MaSV, HoSV, TenSV, MaMH, LanThi, Diem )  Với tập PTH F = { MaSV  HoSV, TenSV MaSV, MaMH, LanThi  Diem }  Khóa quan hệ: { MaSV, MaMH, LanThi }  Các thuộc tính khơng khóa: HoSV, TenSV phụ thuộc vào phận khóa → Quan hệ KETQUA khơng đạt dạng chuẩn LanThi, Diem )  Với tập PTH F = { MaSV  HoSV, TenSV MaSV, MaMH, LanThi  Diem } Khắc phục: Tách thành quan hệ:  R1 ( MaSV, HoSV, TenSV ) với tập PTH: { MaSV  HoSV, TenSV }  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 23 24 12/07/2018 Dạng chuẩn Dạng chuẩn  Một sơ đồ quan hệ R xem thỏa dạng chuẩn  Ví dụ: Quan hệ GIANG_DAY ( MaLop, MaMH, MaGV, dạng chuẩn khơng có phụ thuộc hàm truyền (bắc cầu)  Mọi thuộc tính khơng khóa R khơng phụ thuộc bắc cầu vào khóa R TenGV, DiaChi )  Với tập PTH F = { MaLop, MaMH  MaGV MaGV  TenGV, DiaChi }  Không đạt dạng chuẩn Khắc phục: Tách thành 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 trường ĐH  Quản lý thông tin sinh viên Mỗi SV có Mã SV (MaSV), Họ (HoSV), tên (TenSV), phái (Phai), ngày sinh (NgaySinh), thuộc khoa (Khoa), có cấp (BangCap), trình độ cấp (TrinhDo)  Quản lý thông tin môn học Mỗi môn học có Mã mơn học (MaMH), Tên mơn học (TenMH), số đơn vị học trình (DVHT)  Quản lý thông tin điểm kết thi kết thúc học phần Mỗi sinh viên ứng với môn học, lần thi (LanThi) có điểm thi tương ứng (Diem) Phân tích phụ thuộc hàm (1)  MaSV → HoSV  MaSV → TenSV …  MaSV → HoSV, TenSV, Phai, NgaySinh, Khoa Sinh viên có cấp (BangCap), trình độ cấp (TrinhDo)  MaSV, BangCap → TrinhDo 27 28 12/07/2018 Thiết kế CSDL Thiết kế CSDL Phân tích phụ thuộc hàm (2)  MaMH → TenMH MaMH → DVHT  MaMH → TenMH, DVHT Mỗi sinh viên ứng với môn học, lần thi (LanThi) có điểm thi tương ứng (Diem)  MaSV, MaMH, LanThi → Diem Tổng hợp phụ thuộc hàm:  MaSV → HoSV, TenSV, Phai, NgaySinh, Khoa  MaSV, BangCap → TrinhDo  MaMH → TenMH, DVHT  MaSV, MaMH, LanThi → Diem Tách riêng 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 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  Quản lý danh sách khách hàng Mã khách hàng (MaKH): Họ tên khách hàng (TenKH) Giới tính (GioiTinh), Số điện thoại (SDT), Địa (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á (DonGia), Đơn vị tính (DVT)  Quản lý hóa đơn đặt hàng 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 đặt nhiều loại mặt hàng (MaHH) với SL đặt khác (SoLuong)  MaKH  TenKH  MaHD  MaKH  MaKH  GioiTinh  MaHD  NgayLapHD  MaKH  SDT  MaHD  MaHH, SoLuong 31  MaKH  DiaChi  MaHH  TenHH  MaHH  DonGia  MaHH  DVT 32 12/07/2018 Thiết kế CSDL Một hóa đơn đặt hàng đặt nhiều loại mặt hàng khác MaHD MaKH A01 … NgayLapHD MaHH SoLuong … 01 02 32 54 A02 … … 04 01 43 12 A03 … … 01 21 A04 … … 01 31 … … … … … 33 Tổng kết Chương  35 MaHD MaKH NgayLapHD MaHH SoLuong A01 … … 01 02 32 54 A02 … … 04 01 43 12 A03 … … 01 21 A04 … … 01 31 MaHD MaKH NgayLapHD A01 … … A01 01 32 A02 … … A01 02 54 A03 … … A02 04 43 A04 … … A02 01 12 A03 01 21 A04 01 31 MaHD MaHH SoLuong 34 ... riêng 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 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  Quản lý danh sách khách hàng Mã khách... 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. .. trình độ cấp (TrinhDo)  Quản lý thông tin mơn học Mỗi mơn học có Mã mơn học (MaMH), Tên môn học (TenMH), số đơn vị học trình (DVHT)  Quản lý thơng tin điểm kết thi kết thúc học phần Mỗi sinh

Ngày đăng: 14/12/2021, 10:40

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan