Bài giảng Cơ sở dữ liệu (Database) - Chương 3: Thiết kế cơ sở dữ liệu logic

207 11 0
Bài giảng Cơ sở dữ liệu (Database) - Chương 3: Thiết kế cơ sở dữ liệu logic

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng Cơ sở dữ liệu (Database) - Chương 3: Thiết kế cơ sở dữ liệu logic cung cấp cho học viên những kiến thức về mô hình dữ liệu quan hệ, các ngôn ngữ thao tác trên quan hệ, phụ thuộc hàm và khóa, dạng chuẩn và chuẩn hóa, chuyển đổi mô hình ER sang mô hình dữ liệu quan hệ,... Mời các bạn cùng tham khảo chi tiết nội dung bài giảng!

Chương Thiết kế CSDL logic Giới thiệu Nhiều hệ quản trị sở liệu dùng mơ hình CSDL quan hệ: Oracle, SQL server, … § Mơ hình dựa sở ghi § CSDL tập hợp bảng, bảng tập ghi § Khuôn dạng ghi cố định (hiếm thay đổi) § Dữ liệu mơ tả mức logic, không mô tả mức vật lý Nội dung Mơ hình liệu quan hệ Các ngôn ngữ thao tác quan hệ Phụ thuộc hàm khoá Dạng chuẩn chuẩn hoá Chuyển đổi mơ hình ER sang mơ hình liệu quan hệ Nội dung Mơ hình liệu quan hệ Các ngôn ngữ thao tác quan hệ Phụ thuộc hàm khoá Dạng chuẩn chuẩn hố Chuyển đổi mơ hình ER sang mơ hình liệu quan hệ Các khái niệm §Quan hệ (Relation) §Thuộc tính (Attribute) §Bộ (Tuple) §Miền (Domain) §Lược đồ quan hệ (Relation scheme) §Các tính chất đặc trưng quan hệ Quan hệ (relation) Mỗi quan hệ bảng giá trị gồm hàng cột § Hàng: biểu diễn thơng tin thực thể hay mối quan hệ giới thực § Cột: thể thuộc tính thực thể Mỗi CSDL tập quan hệ Quan hệ (relation) Ví dụ quan hệ nhan_vien MANV HO_TEN NGAY_SINH GIOI_TINH MADV LUONG CMND Phạm Văn Bình 30/04/1975 Nam P1 500 000 1417589987 Hoàng Lê Chi 28/03/1961 Nam P2 300 000 1417894532 Nguyễn Thu Cúc 12/06/1955 Nữ P1 700 000 1563298211 Lê Trần Dũng 10/09/1978 Nam P4 100 000 1518987219 Phan Ái Khanh 15/08/1970 Nữ P3 100 000 1718897245 10 Thân Như Thơ 21/11/1974 Nam P1 500 000 1718987215 Quan hệ (relation) Ví dụ quan hệ phong MADV TEN_PHONG MATP P1 Hành quản trị 10 P2 Nghiên cứu phát triển P3 Giám đốc P4 Kĩ thuật Thuộc tính Mỗi quan hệ có số thuộc tính § Mỗi thuộc tính tên cột § Mỗi thuộc tính có Miền tập giá trị thuộc tính Thuộc tính Ví dụ, quan hệ phong có thuộc tính: MADV, TEN_PHONG, MATP Miền MADV: tập chuỗi có kí tự, bắt đầu chữ P Miền TEN_PHONG: tập chuỗi có tối đa 30 kí tự Miền MATP: tập số tự nhiên thuộc khoảng [0,1000] Thuộc tính phong MADV TEN_PHONG MATP P1 Hành quản trị 10 P2 Nghiên cứu phát triển P3 Giám đốc P4 Kĩ thuật Bước Chuyển kiểu liên kết cấp 2, tỉ số liên kết N:M thành lc quan h Nguyờn tc: Ô Gi s, lc đồ quan hệ S tương ứng với thực thể tham gia phía N, lược đồ quan hệ T tương ứng với thực thể tham gia phía M kiểu liên kết Khóa S T -> Khóa ngồi lược đồ n Các thuộc tính đơn (các thành phần đơn thuộc tính phức hợp) kiểu liên kết -> Các thuộc tính của lược đồ n Hợp khóa S T -> Khóa lược đồ n Ví dụ Mã nhân viên Họ tên Đường phố Số nhà Xã Ngày sinh NHÂN VIÊN Giới tính Bậc lương Lương M THAM GIA N Số Huyện Địa Tỉnh DỰ ÁN Địa điểm Mã dự án Tên dự án THAM_GIA(Mã_nhân_viên, Mã_dự_án, Số_giờ) Cách thiết kế lược đồ sở liệu cho toán quản lí Cách 1: Chuyển biểu đồ ER thành lược đồ quan hệ Cách 2: Dùng phép tách Chuyển biu ER thnh cỏc lc quan h ă ¨ ¨ Bước 1: Xây dựng biểu đồ thực thể liên kết (ER) tốn quản lí Bước 2: ER -> Các lược đồ quan hệ Bước 3: Xây dựng tập phụ thuộc hàm lược đồ Kiểm tra dạng chuẩn lược đồ Lược đồ chưa thuộc dạng chuẩn tốt dùng phép tách để tách lược đồ thành lược đồ thuộc dạng chuẩn tốt Ví dụ Một cơng ti cần thiết kế CSDL để quản lý thông tin sau: Các phịng: Mỗi phịng có tên nhất, mã số nhất, trưởng phịng có nhiều địa điểm Ngày mà nhân viên bổ nhiệm làm trưởng phòng lưu trữ Các dự án: Mỗi dự án có mã số nhất, tên địa điểm Một phịng quản lí số dự án Các nhân viên: Mỗi nhân viên cần lưu thông tin: mã nhân viên, họ tên, ngày sinh, giới tính, bậc lương, lương, địa (phân chia thành số nhà, đường phố, xã, huyện, tỉnh) Mỗi nhân viên có mã nhân viên nhất, phân biệt với nhân viên khác Một nhân viên thuộc vào phịng đó, tham gia nhiều dự án (khơng bắt buộc dự án phải thuộc phòng làm việc nhân viên) Số làm việc nhân viên cho dự án lưu trữ Một nhân viên người hướng dẫn cơng việc cho số nhân viên khác Các người phụ thuộc: Những người phụ thuộc nhân viên gồm: con, vợ/chồng, bố, mẹ Thông tin người phụ thuộc gồm: họ tên, gới tính, ngày sinh mối quan hệ với nhân viên Bước Xây dựng biểu đồ ER Mã nhân viên Ngày sinh Họ tên Số nhà Huyện Địa NHÂN VIÊN h d Tỉnh Ngày bổ nhiệm Bậc lương Lương QUẢN LÍ Đường phố Xã Giới tính LÀM VIỆC CHO N tt HƯỚN G DẪN M N THAM GIA PHỤ THUỘC VÀO N Họ tên N Mã phịng Tên phịng Địa điểm PHỊNG ĐIỀU HÀNH N Số DỰ ÁN PHỤ THUỘC Ngày sinh Quan hệ Giới tính Địa điểm Mã dự án Tên dự án Bước Xây dựng lược đồ quan hệ NHÂN_VIÊN(Mã_nhân_viên, Họ_tên, Ngày_sinh, Giới_tính, Bậc_lương, Lương, Số_nhà, Đường_phố, Xã, Huyện, Tỉnh, Mã_phịng) PHỤ_THUỘC(Mã_nhân_viên, Họ_tên, Ngày_sinh, Giới_tính, Quan_hệ) PHỊNG(Mã phịng, Tên_phịng, Mã_nhân_viên, Ngày_bổ_nhiệm) ĐỊA_ĐIỂM(Mã_phịng, Địa_chỉ) DỰ_ÁN(Mã_dự_án, Tên_dự_án, Địa_điểm, Mã_phòng) THAM_GIA(Mã_nhân_viên, Mã_dự_án, Số_giờ) Bước Kiểm tra dạng chuẩn lược đồ NHÂN_VIÊN(Mã_nhân_viên, Họ_tên, Ngày_sinh, Giới_tính, Bậc_lương, Lương, Số_nhà, Đường_phố, Xã, Huyện, Tỉnh, Mã_phịng) F1= {Mã_nhân_viên ®{Họ_tên, Ngày_sinh, Giới_tính, Bậc_lương, Lương, Số_nhà, Đường_phố, Xã, Huyện, Tỉnh, Mã_phịng}} =>NHÂN_VIÊN Ỵ BCNF PHỤ_THUỘC(Mã_nhân_viên, Họ_tên, Ngày_sinh, Giới_tính, Quan_hệ) F2= {Mã_nhân_viên, Họ_tên ® {Ngày_sinh, Giới_tính, Quan_hệ}} =>PHỤ_THUỘC Ỵ BCNF Bước Kiểm tra dạng chuẩn lược đồ PHỊNG(Mã phịng, Tên_phịng, Mã_nhân_viên, Ngày_bổ_nhiệm) F3 ={Mó_phũng đ {Tờn_phũng, Mó_nhõn_viờn, Ngy_b_nhim}} =>PHềNG ẻ BCNF A_IM(Mó_phũng, Địa_chỉ) F4={} =>ĐỊA_ĐIỂM Ỵ BCNF Bước Kiểm tra dạng chuẩn lược đồ DỰ_ÁN(Mã_dự_án, Tên_dự_án, Địa_điểm, Mã_phịng) F5={Mã_dự_án ® {Tên_dự_án, Địa_điểm, Mã_phịng}} =>DỰ_ÁN Ỵ BCNF THAM_GIA(Mã_nhân_viên, Mã_dự_án, Số_giờ) F6={{Mã_nhân_viên, Mó_d_ỏn} đ S_gi} =>THAM_GIA ẻ BCNF Tp cỏc lc quan hệ tốn NHÂN_VIÊN(Mã_nhân_viên, Họ_tên, Ngày_sinh, Giới_tính, Bậc_lương, Lương, Số_nhà, Đường_phố, Xã, Huyện, Tỉnh, Mã_phịng) F1= {Mã_nhân_viên ®{Họ_tên, Ngày_sinh, Giới_tính, Bậc_lương, Lương, Số_nhà, Đường_phố, Xã, Huyện, Tỉnh, Mã_phịng}} PHỤ_THUỘC(Mã_nhân_viên, Họ_tên, Ngày_sinh, Giới_tính, Quan_hệ) F2= {Mã_nhân_viên, Họ_tên ® {Ngày_sinh, Giới_tính, Quan_hệ}} PHỊNG(Mã phịng, Tên_phịng, Mã_nhân_viên, Ngày_bổ_nhiệm) F3 ={Mã_phịng ® {Tên_phòng, Mã_nhân_viên, Ngày_bổ_nhiệm}} ĐỊA_ĐIỂM(Mã_phòng, Địa_chỉ) F4={} DỰ_ÁN(Mã_dự_án, Tên_dự_án, Địa_điểm, Mã_phòng) F5={Mã_dự_án ® {Tên_dự_án, Địa_điểm, Mã_phịng}} THAM_GIA(Mã_nhân_viên, Mã_dự_án, Số_giờ) F6={{Mã_nhân_viên, Mã_dự_án} đ S_gi} Dựng cỏc phộp tỏch ă ă Bc 1: Xây dựng lược đồ ban đầu bao gồm tất thuộc tính tất phụ thuộc hàm Kiểm tra dạng chuẩn lược đồ quan hệ Bước 2: Nếu lược đồ chưa thuộc dạng chuẩn tốt, dùng phép tách để tách thành lược đồ dạng chuẩn tốt Ví dụ Một cơng ti cần thiết kế CSDL để quản lý thông tin sau: Các phịng: Mỗi phịng có tên nhất, mã số nhất, trưởng phịng có nhiều địa điểm Ngày mà nhân viên bổ nhiệm làm trưởng phòng lưu trữ Các dự án: Mỗi dự án có mã số nhất, tên địa điểm Một phịng quản lí số dự án Các nhân viên: Mỗi nhân viên cần lưu thông tin: mã nhân viên, họ tên, ngày sinh, giới tính, bậc lương, lương, địa (phân chia thành số nhà, đường phố, xã, huyện, tỉnh) Mỗi nhân viên có mã nhân viên nhất, phân biệt với nhân viên khác Một nhân viên thuộc vào phịng đó, tham gia nhiều dự án (khơng bắt buộc dự án phải thuộc phòng làm việc nhân viên) Số làm việc nhân viên cho dự án lưu trữ Một nhân viên người hướng dẫn cơng việc cho số nhân viên khác Các người phụ thuộc: Những người phụ thuộc nhân viên gồm: con, vợ/chồng, bố, mẹ Thông tin người phụ thuộc gồm: họ tên, gới tính, ngày sinh mối quan hệ với nhân viên Bước R(Mã_nhân_viên, Họ_tên_nv, Ngày_sinh, Giới_tính, Bậc_lương, Lương, Số_nhà, Đường_phố, Xã, Huyện, Tỉnh, Họ_tên_pt, Ngày_sinh, Giới_tính, Quan_hệ, Mã phòng, Tên_phòng, Mã_nhân_viên_tp, Ngày_bổ_nhiệm, Mã_địa_điểm, Địa_chỉ_phòng, Mã_dự_án, Tên_dự_án, Địa_điểm, Số_giờ) F= {Mã_nhân_viên ®{Họ_tên_nv, Ngày_sinh, Giới_tính, Bậc_lương, Lương, Số_nhà, Đường_phố, Xã, Huyện, Tỉnh, Mã_phịng}, {Mã_nhân_viên, Họ_tên_pt} ® {Ngày_sinh, Giới_tính, Quan_hệ}, Mã_phịng ® {Tên_phòng, Mã_nhân_viên_tp, Ngày_bổ_nhiệm}, Mã_nhân_viên_tp® Mã_nhân_viên, Mã_địa_điểm ® {Mã_phòng, Địa_chỉ_phòng}, Mã_dự_án ® {Tên_dự_án, Địa_điểm, Mã_phịng}, Mã_nhân_viên, Mã_dự_án} ® Số_giờ}} R Î 1NF Bước Dùng phép tách kết nối không tổn thất thành BCNF ta có lược đồ NHÂN_VIÊN(Mã_nhân_viên, Họ_tên, Ngày_sinh, Giới_tính, Bậc_lương, Lương, Số_nhà, Đường_phố, Xã, Huyện, Tỉnh, Mã_phịng) F1= {Mã_nhân_viên ®{Họ_tên, Ngày_sinh, Giới_tính, Bậc_lương, Lương, Số_nhà, Đường_phố, Xã, Huyện, Tỉnh, Mã_phịng}} PHỤ_THUỘC(Mã_nhân_viên, Họ_tên, Ngày_sinh, Giới_tính, Quan_hệ) F2= {Mã_nhân_viên, Họ_tên ® {Ngày_sinh, Giới_tính, Quan_hệ}} PHỊNG(Mã phịng, Tên_phịng, Mã_nhân_viên, Ngày_bổ_nhiệm) F3 ={Mã_phịng ® {Tên_phịng, Mã_nhân_viên, Ngày_bổ_nhiệm}} ĐỊA_ĐIỂM(Mã_phịng, Địa_chỉ) F4={} DỰ_ÁN(Mã_dự_án, Tên_dự_án, Địa_điểm, Mã_phịng) F5={Mã_dự_án ® {Tên_dự_án, Địa_điểm, Mã_phịng}} THAM_GIA(Mã_nhân_viên, Mã_dự_án, Số_giờ) F6={{Mã_nhân_viên, Mã_dự_án} ® Số_giờ} ... hệ quản trị sở liệu dùng mơ hình CSDL quan hệ: Oracle, SQL server, … § Mơ hình dựa sở ghi § CSDL tập hợp bảng, bảng tập ghi § Khn dạng ghi cố định (hiếm thay đổi) § Dữ liệu mô tả mức logic, không... vật lý Nội dung Mơ hình liệu quan hệ Các ngôn ngữ thao tác quan hệ Phụ thuộc hàm khoá Dạng chuẩn chuẩn hố Chuyển đổi mơ hình ER sang mơ hình liệu quan hệ Nội dung Mơ hình liệu quan hệ Các ngơn... Nghiên cứu phát triển P3 Giám đốc P4 Kĩ thuật P5 Kinh doanh null Kế toán Vi phạm ràng buộc miền liệu thuộc tính INSERT(phong; 6, ? ?Kế tốn”, 1) phong phong MADV TEN_PHONG MATP P1 Hành quản trị 10

Ngày đăng: 25/12/2021, 09:38

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan