1. Trang chủ
  2. » Công Nghệ Thông Tin

Cơ sở dữ liệu - ĐH Hàng hải

54 6 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 54
Dung lượng 1,28 MB

Nội dung

Bài giảng Cơ sở dữ liệu dưới đây với mục tiêu cung cấp các kiến thức cơ bản về mô hình cơ sở dữ liệu quan hệ, thiết kế một cơ sở dữ liệu hiệu quả. Bài giảng này với nội dung chủ yếu giới thiệu về cơ sở dữ liệu, mô hình thực thể - liên kết, mô hình dữ liệu quan hệ, đại số quan hệ, giới thiệu về ngôn ngữ truy vấn dữ liệu có cấu trúc SQL, thiết kế cơ sở dữ liệu quan hệ.

TRƢỜNG ĐẠI HỌC HÀNG HẢI KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN HỆ THỐNG THÔNG TIN -*** - BÀI GIẢNG CƠ SỞ DỮ LIỆU TÊN HỌC PHẦN MÃ HỌC PHẦN TRÌNH ĐỘ ĐÀO TẠO DÙNG CHO SV NGÀNH : CƠ SỞ DỮ LIỆU : 17401 : ĐẠI HỌC CHÍNH QUY : CƠNG NGHỆ THƠNG TIN HẢI PHỊNG - 2011 MỤC LỤC Chƣơng Giới thiệu 1.1 Tổng quan sở liệu 1.2 Hệ thống tệp tin hệ quản trị liệu 1.3 Các mơ hình liệu 1.4 Các mức độ trừu tượng sở liệu 17 Chƣơng Mơ hình Thực thể-Liên kết 21 2.1 Tổng quan thiết kế sở liệu 21 2.2 Mơ hình Thực thể-Liên kết 21 2.3 Thực thể thuộc tính 21 2.4 Quan hệ thực thể 22 Chƣơng 3: Mơ hình liệu quan hệ 24 3.1 Các khái niệm 24 3.2 Các ràng buộc liệu 24 3.3 Chuyển đổi sơ đồ Thực thể-Liên kết sang sở liệu quan hệ 27 Chƣơng Đại số quan hệ 29 4.1 Phép chọn 29 4.2 Phép chiếu 29 4.3 Phép hợp 30 4.4 Phép giao 30 4.5 Phép trừ 30 4.6 Tích Descartes 31 4.7 Các phép kết nối 31 4.8 Phép chia 32 Chƣơng Ngơn ngữ truy vấn có cấu trúc- SQL 33 5.1 Tổng quan SQL 33 5.2 Truy vấn SQL 33 5.3 Truy vấn sử dụng hàm thống kê 34 5.4 Các lệnh sửa đổi liệu 35 Chƣơng Chuẩn hóa rút gọn sở liệu quan hệ 37 6.1 Các vấn đề dư thừa liệu 37 6.2 Các phụ thuộc hàm 37 6.3 Các dạng chuẩn lược đồ quan hệ 44 6.3.1 Dạng chuẩn (1NF) 44 6.3.2 Dạng chuẩn (2NF) 44 6.3.3 Dạng chuẩn (3NF) 44 6.3.4 Dạng chuẩn Boyce-Codd (BCNF) 44 6.4 Phép tách lược đồ quan hệ 45 6.4.1 Phép tách bảo tồn thơng tin 45 6.4.2 Phép tách bảo tồn phụ thuộc 45 6.5 Chuẩn hóa lược đồ quan hệ 47 6.5.1 Tách lược đồ quan hệ 3NF 47 6.5.2 Tách lược đồ quan hệ BCNF 47 Một số đề thi mẫu 49 Tên học phần: Cơ sở liệu Loại học phần: Bộ môn phụ trách giảng dạy: Hệ thống Thông tin Khoa phụ trách: CNTT Mã học phần: 17401 Tổng số TC: Tổng số tiết Lý thuyết 45 Thực hành/ Xemina 45 Tự học Bài tập lớn Đồ án môn học không không Học phần học trƣớc: Không yêu cầu Học phần tiên quyết: Không yêu cầu Học phần song song: Không yêu cầu Mục tiêu học phần: Cung cấp kiến thức mơ hình sở liệu quan hệ; Thiết kế sở liệu hiệu Nội dung chủ yếu: Giới thiệu sở liệu; Mơ hình Thực thể-Liên kết; Mơ hình liệu quan hệ; Đại số quan hệ; Giới thiệu ngơn ngữ truy vấn liệu có cấu trúc SQL; Thiết kế sở liệu quan hệ Nội dung chi tiết: PHÂN PHỐI SỐ TIẾT TÊN CHƢƠNG MỤC Chƣơng Giới thiệu TS LT 3 6 6 6 1.1 Tổng quan sở liệu 1.2 Hệ thống tệp tin hệ quản trị liệu 1.3 Các mơ hình liệu 1.4 Các mức độ trừu tượng sở liệu Chƣơng Mơ hình Thực thể-Liên kết 2.1 Tổng quan thiết kế sở liệu 2.2 Mơ hình Thực thể-Liên kết 2.3 Thực thể thuộc tính 2.4 Quan hệ thực thể Chƣơng 3: Mơ hình liệu quan hệ 3.1 Các khái niệm 3.2 Các ràng buộc liệu 3.3 Chuyển đổi sơ đồ Thực thể-Liên kết sang sở liệu quan hệ Chƣơng Đại số quan hệ 4.1 Phép chọn TH BT KT PHÂN PHỐI SỐ TIẾT TÊN CHƢƠNG MỤC TS LT 9 15 15 TH BT KT 4.2 Phép chiếu 4.3 Phép hợp 4.4 Phép giao 4.5 Phép trừ 4.6 Tích Descartes 4.7 Các phép kết nối 4.8 Phép chia Chƣơng Ngơn ngữ truy vấn có cấu trúc- SQL 5.1 Tổng quan SQL 5.2 Truy vấn SQL 5.3 Truy vấn sử dụng hàm thống kê 5.4 Các lệnh sửa đổi liệu Chƣơng Chuẩn hóa rút gọn sở liệu quan hệ 6.1 Các vấn đề dư thừa liệu 6.2 Các phụ thuộc hàm 6.3 Các dạng chuẩn lược đồ quan hệ 6.3.1 Dạng chuẩn (1NF) 6.3.2 Dạng chuẩn (2NF) 6.3.3 Dạng chuẩn (3NF) 6.3.4 Dạng chuẩn Boyce-Codd (BCNF) 6.4 Phép tách lược đồ quan hệ 6.4.1 Phép tách bảo tồn thơng tin 6.4.2 Phép tách bảo tồn phụ thuộc 6.5 Chuẩn hóa lược đồ quan hệ 6.5.1 Tách lược đồ quan hệ 3NF 6.5.2 Tách lược đồ quan hệ BCNF Nhiệm vụ sinh viên: Tham dự buổi học lý thuyết thực hành, làm tập giao, làm thi học phần thi kết thúc học phần theo quy định Tài liệu học tập: Nguyễn Kim Anh, Nguyên lý hệ sở liệu, NXB Giáo dục, 2005 Lê Tiến Vương, Nhập môn sở liệu quan hệ, NXB Khoa học kỹ thuật, 1997 Raghu Ramakrishnan, Database Management Systems, McGraw-Hill, 1998 Hình thức tiêu chuẩn đánh giá sinh viên: - Hình thức thi: thi trắc nghiệm tự luận - Tiêu chuẩn đánh giá sinh viên: vào tham gia học tập sinh viên buổi học lý thuyết thực hành, kết làm tập giao, kết thi học phần thi kết thúc học phần Thang điểm: Thang điểm chữ A, B, C, D, F Điểm đánh giá học phần: Z = 0,2X + 0,8Y Bài giảng tài liệu thức thống Bộ môn Hệ thống Thông tin, Khoa Công nghệ Thông tin dùng để giảng dạy cho sinh viên Ngày phê duyệt: Trƣởng Bộ môn / / Chương Giới thiệu 1.1 Tổng quan sở liệu Cơ sở liệu tập hợp có tổ chức liệu có liên quan luận lý với Nói cách khác hệ thống thơng tin có cấu trúc lưu trữ thiết bị lưu trữ thông tin thứ cấp, ví dụ như: đĩa từ, băng từ, nhớ flash,… nhằm mục đích thỏa mãn yêu cầu tổ chức liệu, để giúp cho việc khai thác liệu nhanh chóng xác Cơ sở liệu phải thiết kế cho cho phép nhiều người dùng nhiều ứng dụng khác khai thác Hình 1.1: Sơ đồ tổng quát hệ sở liệu 1.2 Hệ thống tệp tin hệ quản trị liệu 1.2.1 Hệ thống tệp tin kiểu cũ Trước hệ quản trị sở liệu đời, liệu lưu trữ theo kiểu điện tử hệ thống máy tính thành nhiều tập tin riêng biệt, sử dụng hệ quản lý tập tin (từ sau ta gọi hệ tập tin theo lối cũ) Những tập tin xử lý ngơn ngữ lập trình hệ thứ ba COBOL, FORTRAN, PASCAL BASIC để tạo giải pháp cho vấn đề doanh nghiệp Mỗi ứng dụng, chẳng hạn hệ tính lương, hệ kho hay hệ thống kế tốn có tập tập tin riêng chứa liệu riêng Các ứng dụng đặt ba vấn đề sau: - Có ràng buộc chặt chẽ cấu trúc luận lý cấu trúc vật lý tập tin chương trình ứng dụng khai thác chúng Điều khiến việc tạo nên ứng dụng khó khăn, tốn nhiều thời gian mà tốn bảo trì hệ thống - Có dư thừa liệu lớn qua việc trùng lắp tập tin ứng dụng khác Điều tạo vấn đề như: liệu thiếu qn, khơng gian đĩa bị lãng phí, thời gian bảo trì lưu phịng hờ tập tin gia tăng, vấn đề quản trị không trọng bảo mật tổ chức liệu thiếu thống Một ví dụ điển hình trùng lắp liệu là: Hệ thống quản lý nhân bao gồm ba hệ thống con:  Hệ thống chấm công quản lý lương: hệ thống trì thơng tin ngày cơng quản lý việc tính lương cho tất nhân viên  Hệ thống quản lý hồ sơ nhân sự: hệ thống trì lý lịch cá nhân, liệu tổ chức, cơng việc đào tạo vị trí thăng tiến  Hệ thống quản lý thơng tin hưu trí: hệ thống quản trị qui tắc liên quan đến nghỉ hưu, loại nghỉ hưu Chi tiết chế độ hưu trí nhân viên Vấn đề phức tạp Hệ thống chấm công quản lý lương thông thường quản lý phòng Tài vụ, Hệ thống quản lý nhân Hệ thống quản lý thơng tin hưu trí quản lý phịng Tổ chức Rõ ràng, có nhiều liệu nhân viên chung cho ba hệ Thường hệ thực giữ riêng biệt chúng tạo trùng lặp liệu nhân viên mà chúng sử dụng - Người sử dụng có khả khai thác trực tiếp liệu mà hoàn toàn phải thông qua phần mềm tác nghiệp 1.2.2 Hệ quản trị sở liệu Hệ quản trị sở liệu tập hợp chương trình giúp cho người sử dụng tạo ra, trì khai thác sở liệu Đó hệ thống phần mềm phổ dụng, cung cấp môi trường công cụ giúp cho việc định nghĩa, xây dựng thao tác sở liệu cho ứng dụng khác cách dễ dàng Định nghĩa sở liệu đặc tả kiểu liệu, cấu trúc, ràng buộc cho liệu lưu trữ Xây dựng sở liệu lưu trữ liệu lên phương tiện lưu trữ hệ quản trị sở liệu kiểm soát Thao tác sở liêu trình truy vấn sở liệu để lấy liệu cụ thể, cập nhật sở liệu, tạo báo cáo từ liệu Hình 1.2: Mơ hình hệ quản trị sở liệu Mỗi hệ quản trị sở liệu có ngơn ngữ định nghĩa liệu riêng (DDL - Data Definition Languague) Đây ngôn ngữ dùng để định nghĩa, khai báo cấu trúc của sở liêu Những người thiết kế quản trị sở liệu thực công việc khai báo cấu trúc sở liệu Các chương trình khai báo cấu trúc CSDL viết ngôn ngữ DDL mà hệ quản trị CSDL cho phép Các chương trình ứng dụng viết ngơn ngữ lập trình C++/C#/Java/Delphi… kết hợp với ngôn ngữ thao tác liệu (DML - Data Manipulation Language) thông qua thư viện đối tượng kết nối CSDL ngôn ngữ lập trình hỗ trợ: ODBC, RDO, ADO,… Các hệ quản trị sở liệu quan hệ ngày phổ biến sử dụng ngôn ngữ DDL DML dựa ngôn ngữ SQL Đối với hệ quản trị sở liệu SQL Server Microsoft ngơn ngữ dùng để tương tác với sở liệu T – SQL Đây phiên ngôn ngữ SQL Ngôn ngữ T – SQL SQL Server bao gồm nhiều câu lệnh khác nhau, chia thành nhóm: Nhóm ngơn ngữ định nghĩa liệu DDL: với lệnh cho phép tạo, thay đổi cấu trúc xóa đối tượng CSDL: database, table, view,… Nhóm ngơn ngữ thao tác liệu DML: với lệnh (như SELECT / INSERT / UPDATE / DELETE) cho phép lấy liệu cụ thể, thay đổi giá trị liệu Hình 1.3: Tƣơng tác với hệ quản trị sở liệu Nhìn chung hệ quản trị sở liệu có nguyên lý hoạt động sau (xem hình 1.4): Các yêu cầu chương trình ứng dụng chuyển tới hệ quản trị CSDL (theo đường số 1) Tại hệ quản trị CSDL tham khảo từ điển liệu (Meta DataBase) để tìm kiếm ánh xạ cấu trúc với cấu trúc quan niệm cấu trúc vật lý (các ngõ a, b c) Tại hệ quản 10 trị CSDL tham khảo tới vùng đệm để xác định xem câu trả lời có sẵn chưa, có trả lại cho chương trình ứng dụng thơng qua đường số 8b; ngược lại yêu cầu hệ điều hành truy xuất thông tin theo đường số Tới hệ điều hành gửi yêu cầu truy xuất thông tin CSDL thông qua hệ thống xuất nhập HĐH (các đường số 5) Nếu việc truy xuất khơng thành cơng trả lại yêu cầu cho hệ quản trị CSDL (có thể thông qua mã lỗi) qua đường số 6; thành cơng liệu chuyển vào vùng đệm hệ quản trị CSDL Qua xử lý, hệ quản trị CSDL chuyển liệu vào vùng đệm chương trình ứng dụng đề xử lý (qua đường 8a) cho kết trả lời chương trình ứng dụng qua đường số 10 Hình 1.4: Hoạt động hệ quản trị sở liệu 1.3 Các mơ hình liệu Sự cần thiết tổ chức lưu trữ liệu theo cách thức xác định chặt chẽ dẫn đến phát triển mơ hình liệu Từ mơ hình mạng, mơ hình phân cấp mơ hình liệu quan hệ mơ hình sở liệu kinh điển, truyền thống mơ hình sở liệu phân tán, sở liệu hướng đối tượng mơ hình liệu đại áp dụng nhiều thị trường Đối tượng nghiên cứu hệ CSDL thực thể mối liên kết thực thể Một mơ hình CSDL phải có khả biểu diễn thực thể liên kết thực thể Các liên kết dạng đặc biệt thực thể Các cách tiếp cận CSDL cách nhìn cách biểu diễn liên kết người sử dụng Nghiên cứu mơ hình sở liệu dựa yêu cầu sau: 40 Bổ đề Hệ tiên đề Armstrong Điều có nghĩa X  Y phụ thuộc hàm suy diễn từ F nhờ hệ tiên đề Armstrong X  Y quan hệ thoả mãn phụ thuộc hàm F Chứng minh: Lần lượt kiểm tra tính đắn tiên đề: - Tiên đề phản xạ: Rõ ràng tiên đề khơng thể có hai X mà lại không tập - Tiên đề tăng trưởng: Giả sử quan hệ r thoả mãn X  Y Tồn hai t, u  r cho t[XZ] = u[XZ] mà t[YZ]  u[YZ] Vì t[Z] = u[Z] nên để có t[YZ]  u[YZ] t[Y]  u[Y] (1) Mà ta có t[XZ] = u[XZ] nên t[X] = u[X] (2) Từ (1) (2) ta có t[X] = u[X] t[Y]  u[Y] điều trái với giả thiết quan hệ r thoả mãn X  Y Vậy t[YZ] = u[YZ] hay XZ  YZ quan hệ r - Tiên đề bắc cầu: Cho X  Y Y  Z quan hệ r Giả sử tồn hai t, u  r cho t[X] = u[X] t[Z]  u[Z] (3) Từ X  Y suy t[X] = u[X] nên t[Y] = u[Y] (4) Từ ta có t[Y] = u[Y] t[Z]  u[Z] điều trái với giả thiết Y  Z Do t[Z] = u[Z] Suy X  Z quan hệ r Bổ đề Cho X, Y, Z, W  U Chúng ta có luật sau: - Luật hợp: Nếu X  Y, X  Z X  YZ - Luật tựa bắc cầu: Nếu X  Y, YW  Z XW  Z - Luật tách: Nếu X  Y, Z  Y X  Z Chứng minh - Chứng minh luật hợp: Từ X  Y ta dùng luật tăng trường thêm X có XX  XY tương đương với phụ thuộc hàm X  XY (1) Từ X  Z ta dùng luật tăng trưởng thêm Y có XY  YZ (2) Từ (1) (2) ta dùng luật bắc cầu có: X  YZ 41 - Chứng minh luật tựa bắc cầu: Từ X  Y, dùng luật tăng trưởng thêm W có XW  YW (3) Mà theo giả thiết có YW  Z (4) Từ (3) (4) ta dùng luật bắc cầu có: XW  Z - Chứng minh luật tách: Vì Z  Y nên Y  Z theo luật phản xạ (5) Mà theo giả thiết có X  Y (6) Từ (5) (6) ta dùng luật bắc cầu có: X  Z 6.2.4 Bao đóng tập thuộc tính Để dễ dàng chứng minh tính đầy đủ hệ tiên đề Armstrong, người ta đưa thêm khái niệm bao đóng tập thuộc tính Gọi F tập phụ thuộc hàm tập thuộc tính U, X  U Gọi X+ bao đóng X F, X+ định nghĩa sau: X+ = { A  U | X  A  F+} Nói cụ thể: X+ tập tất thuộc tính A mà phụ thuộc hàm X  A suy diễn logic từ F nhờ hệ tiên đề Armstrong Bổ đề X  Y suy diễn từ hệ tiên đề Armstrong Y  X+ Chứng minh: Giả sử Y = A1 AN với A1, , AN thuộc tính Y  X+ Từ định nghĩa X+ ta có X  Ai với i = 1, 2, , N Áp dụng hệ tiên đề Armstrong cho i suy từ X  Y nhờ luật hợp Ngược lại, giả sử ta có X  Y, áp dụng hệ tiên đề Armstrong cho i có X  Ai với Ai  Y nhờ luật tách Từ suy Y  X+ Định lý Hệ tiên đề Armstrong đầy đủ Chứng minh: Tính đắn hệ tiên đề chứng minh qua bổ đề 5.1 Ở cần chứng minh tính đầy đủ tức X  Y khơng thoả quan hệ r X  Y khơng thể suy diễn logic từ F 42 Gọi F tập phụ thuộc hàm tập thuộc tính U Giả sử X  Y suy diễn từ hệ tiên đề Armstrong Xét quan hệ r gồm hai cho bảng đây: Bảng 5.1 Một quan hệ r F không suy diễn logic X  Y 11 11 11 00 Các thuộc tính thuộc X+ Các thuộc tính cịn lại Trước hết cần tất phụ thuộc hàm thuộc F thoả quan hệ r Thật vậy, giả sử V  W  F nhứng không thoả r Do đó, ta có V  X+ hai r khơng thuộc tính V Như W tập X+ V  W thoả r Gọi A  W A khơng thuộc X+ Vì XV  X+ V  X+ nên X  V suy từ bổ đề 5.3 Áp dụng luật bắc cầu luật tách với X  V V  W  F suy X  A Nhưng A không thuộc X+ giả thiết, mâu thuẫn Từ đến kết luật V  W  F thoả r Bây cần chứng minh X  Y không thoả r Giả sử X  Y thoả r Như có X  X+ suy Y  X+, không hai thuộc r X không Y Theo bổ đề 5.3 X  Y suy từ hệ tiên đề, điều hồn tồn mâu thuẫn với giả thiết X  Y suy diễn từ hệ tiên đề Armstrong Do X  Y r Đến kết luận: Nếu X  Y khơng suy diễn từ hệ tiên đề Armstrong X  Y suy diễn logic từ F Vậy hệ tiên đề đầy đủ Tính tốn bao đóng tập thuộc tính Việc tính tốn bao đóng F+ tập phụ thuộc hàm F trường hợp tổng quát khoá khăn tốn thời gian tập phụ thuộc hàm thuộc F+ lớn cho dù F nhỏ Chẳng hạn cho F tập phụ thuộc hàm với F = {A  B1, A  B2, , A  BN} F+ cịn tính phụ thuộc hàm A  Y với Y  {B1,B2, ,BN} Như có 2N – tập khác rỗng Y Tuy nhiên việc tính X+, bao đóng tập thuộc tính X lại khơng khó Theo bổ đề 5.3 việc kiểm tra X  Y  F+ khơng khó việc tính X+ Thuật tốn Tính bao đóng tập thuộc tính tập phụ thuộc hàm Vào: Tập hữu hạn thuộc tính U, tập phụ thuộc hàm F U X  U Ra: Bao đóng X F Phương pháp: 43 Lần lượt tính tập X , X , X theo bước sau: Bước 0: Đặt X0 = X Bước i: Tính Xi từ Xi -1, cụ thể Xi = Xi-1  A tồn phụ thuộc hàm Y  Z  F mà Y  Xi-1 với A  Z A  Xi-1 Ngược lại đặt Xi = Xi-1 Vì X = X0  . Xi   U U hữu hạn tồn số i mà Xi = Xi-1, đặt X+ = Xi Định lý Thuật tốn tính bao đóng X+ Chứng minh: chứng minh quy nạp Bước sở: Đúng vài A  X rõ ràng X  A Bước quy nạp: Giả sử bước j-1 Cần chứng minh cho bước thứ j Tức A thêm vào Xj A  X+, Xj-1 chứa thuộc tính thuộc X+ Thật vậy, theo thuật toán bước thứ j, A thuộc tính đưa vào Xj phải tồn phụ thuộc hàm Y  X  F, Y  Xj-1 A  Z Theo giả thiết quy nạp, ta có Y  X+ X  Y theo bổ đề 5.2; áp dụng luật bắc cầu cho X  Y Y  Z có X  Z Do A  Z nên Z  A theo luật phản xạ Áp dụng luật bắc cầu cho X  Z Z  A, ta có X  A A  X+ Ngược lại, cần chứng minh A  X+ A phải thuộc vào Xj Có điều khơng quan trọng thuật tốn 5.1 kết thúc sớm trước tính tốn bước thứ j cho Xj Nêu thuật tốn dừng bước Xi = Xi-1 với i < j rõ ràng Xi = Xj Do Xi = X+, có thuộc tính A Trong trình chứng minh cần sử dụng tới hệ tiên đề Armstrong: X  Y suy diễn từ F thuộc tính A  Y thêm vào Xj Các bước quy nạp thực thêm số dịng, dịng phụ thuộc hàm thuộc F sử dụng luật phản xạ giả thiết bước quy nạp trước sử dụng luật tăng trưởng luật bắc cầu Cuối X  Y 44 6.3 Các dạng chuẩn lược đồ quan hệ Định nghĩa Cho R(U) lược đồ quan hệ với U = {A1, A2,…, AN} tập thuộc tính, F tập phụ thuộc hàm R A  U Chúng ta nói A thuộc tính khóa A thuộc khóa tối thiểu R Ngược lại A gọi thuộc tính khơng khóa Định nghĩa Cho R(U) lược đồ quan hệ với U = {A1, A2,…, AN} tập thuộc tính, F tập phụ thuộc hàm R X, Y  U Chúng ta nói Y phụ thuộc hàm đầy đủ vào X nếu: - X  Y  F+ - X‟  X X‟  Y  F+ Ngược lại, nói Y phụ thuộc phận vào X Như vậy, Y phụ thuộc hàm đầy đủ vào X Y phụ thuộc hàm vào X không phụ thuộc hàm vào tập thực X Định nghĩa Cho R(U) lược đồ quan hệ với U = {A1, A2,…, AN} tập thuộc tính, F tập phụ thuộc hàm R X  U, A  U Chúng ta nói A phụ thuộc bắc cầu vào X tồn tập thuộc tính Y, Y  U cho X  Y, Y  A thuộc F+ Y  X không thuộc F+ Ngược lại, nói A khơng phụ thuộc hàm bắc cầu vào X hay A phụ thuộc trực tiếp vào X 6.3.1 Dạng chuẩn (1NF) Một quan hệ chuẩn hóa quan hệ miền giá trị thuộc tính chứa nhứng giá trị nguyên tố tức giá trị phân chia Một quan hệ có chứa miền giá trị thuộc tính khơng ngun tố gọi quan hệ không chuẩn hay quan hệ phi chuẩn Tuy nhiên, với quan hệ không chuẩn nao đó, ln ln chuẩn hóa dạng quan hệ chuẩn hóa Định nghĩa Một lược đồ quan hệ R gọi dạng chuẩn (1NF) toàn miền giá trị thuộc tính R chứa cá giá trị nguyên tố Một quan hệ xác định lược đồ quan hệ dạng chuẩn nói quan hệ dạng chuẩn 6.3.2 Dạng chuẩn (2NF) Định nghĩa Một lược đồ quan hệ R gọi dạng chuẩn hai (2NF) dạng chuẩn thuộc tính khơng khóa R phụ thuộc hàm đầy đủ vào khóa Một quan hệ xác định lược đồ quan hệ dạng chuẩn hai nói quan hệ dạng chuẩn hai 6.3.3 Dạng chuẩn (3NF) 45 Định nghĩa Một lược đồ quan hệ R gọi dạng chuẩn ba (3NF) dạng chuẩn hai thuộc tính khơng khóa R khơng phụ thuộc bắc cầu vào khóa Một quan hệ xác định lược đồ quan hệ dạng chuẩn ba nói quan hệ dạng chuẩn ba 6.3.4 Dạng chuẩn Boyce-Codd (BCNF) Định nghĩa Một lược đồ quan hệ R với tập phụ thuộc hàm F gọi dạng chuẩn BoyeCodd với X  A thuộc F+ A  X X chứa khóa R Nói cách khác, sơ đồ quan hệ R có phụ thuộc hàm khơng tầm thường phụ thuộc hàm khóa xác định hàm hay nhiều thuộc tính khác Đính lý Mọi sơ đồ quan hệ R với tập phụ thuộc hàm F dạng chuẩn Boye-Codd dạng chuẩn ba 6.4 Phép tách lược đồ quan hệ 6.4.1 Phép tách bảo tồn thơng tin Giả sử lược đồ quan hệ R phân tách thành sơ đồ R1, R2,…, Rk F tập phụ thuộc hàm R Ta nói phép tách không mát thông tin F quan hệ r R mà thỏa mãn F thì: r = R1(r) * R2(r) *…* Rk(r) tức quan hệ r kết nối tự nhiên quan hệ phép chiếu Ri Gọi m ánh xạ định nghĩa sau: m(r) = R1(r) * R2(r) *…* Rk(r) tức m(r) kết nối tự nhiên quan hệ phép chiếu sơ đồ  Vì điều kiện để phép tách khơng mát thông tin r = m Bổ đề Cho lược đồ quan hệ R,  = {R1, R2,…, Rk}, r quan hệ R ri = Ri(r) Thì (a) r  m(r) (b) Nếu s = m® Ri(s) = ri (c) m( m(r)) = m(r) Bổ đề chứng minh dễ dàng dựa khái niệm phép tách định nghĩa m Kiểm tra phép tách không mát thông tin Liệu phép tách có thơng tin hay không tập phụ thuộc hàm cho trước kiểm tra thơng qua thuật tốn sau: 46 Thuật tốn Kiểm tra phép tách khơng mát thơng tin Vào: Lược đồ quan hệ R = {A1, A2,…, AN}, tập phụ thuộc hàm F R phép tách  = {R1, R2,…, Rk} R Ra: Khẳng định phép tách có mát thơng tin hay không? Phương pháp: - Xây dựng bảng n cột, k hàng; cột j tương ứng với thuộc tính Aj hàng i tương ứng với lược đồ Ri Tại vị trí hàng i, cột j, Aj thuộc Ri ta điền kí hiệu aj vào đó, ngược lại ta điền kí hiệu bij - Xét lần lược phụ thuộc hàm tỏng F áp dụng phụ thuộc hàm cho bảng vừa xây dựng Giả sử xét phụ thuộc hàm X  Y  F Nếu tồn hai hàng mà tất cột tương ứng với thuộc tính X có giá trị ta làm cho cột ứng với thuộc tính Y có giá trị hai hàng theo ngun tác sau: Nếu có kí hiệu a j cột ứng với thuộc tính Y đồng kí hiệu aj Nếu khơng đồng kí hiệu bij - Tiếp tục áp dụng phụ thuộc hàm cho bảng (kể việc lặp lại phụ thuộc hàm áp dụng) áp dụng (không thể thay đổi giá trị bảng nữa) - Nếu bảng có hàng gồm kí hiệu a1, a2,…, an phép tách khơng mát thơng tin Ngược lại phép tách khơng bảo tồn thơng tin Định lý Cho  = {R1, R2} phép tách R F tập phụ thuộc hàm R phép tách không mát thông tin R1  R2  R1 \ R2 R1  R2  R2 \ R1 Chú ý: phụ thuộc hàm không thiết thuộc F, cần thuộc F+ 6.4.2 Phép tách bảo toàn phụ thuộc Tách quan hệ: Lược đồ quan hệ đơn R = {A1, A2, , An} tách thành tập hợp lược đồ quan hệ D = {R1,R2, ,Rm} Một cách hình thức, ta có điều kiện bảo tồn thuộc tính: Ri = R Tính khơng đầy đủ dạng chuẩn: Mục đích quan hệ riêng rẽ Ri phép tách D dạng chuẩn BCNF 3NF Tuy nhiên, điều khơng đủ để đảm bảo thiết kế CSDL tốt Bên cạnh việc xem xét quan hệ riêng rẽ, cần xem xét toàn phép tách Việc phụ thuộc hàm X → Y F xuất trực tiếp trong lược đồ quan hệ Ri phép tách D suy diễn từ phụ thuộc hàm có Ri có lợi Ta gọi điều kiện bảo tồn phụ thuộc Định lý: Ln ln tìm phép tách bảo toàn phụ thuộc D F cho quan hệ Ri D 3NF 47 Thuật tốn: Tạo phép tách bảo tồn phụ thuộc D = {R1,R2, ,Rm} quan hệ R dựa tập phụ thuộc hàm F cho Ri D 3NF Thuật toán đảm bảo tính chất bảo tồn phụ thuộc, khơng đảm bảo tính chất nối khơng mát Input: Một quan hệ R tập phụ thuộc hàm F thuộc tính R Tìm phủ tối thiểu G F Với vế trái X phụ thuộc hàm xuất G, tạo lược đồ D với thuộc tính {X U {A1} U {A2} U U {Ak}} X → A1,X → A2, ,X → Ak phụ thuộc hàm G với X vế trái (X khóa quan hệ này) Đặt thuộc tính cịn lại (những thuộc tính chưa đặt vào quan hệ nào) vào quan hệ đơn để đảm bảo tính chất bảo tồn thuộc tính 6.5 Chuẩn hóa lược đồ quan hệ 6.5.1 Tách lược đồ quan hệ 3NF Thuật toán Tách lược đồ thành 3NF Vào: Lược đồ quan hệ R, tập phụ thuộc hàm F; Khơng làm tính tổng quát giả sử F tập phụ thuộc hàm tối thiểu Ra: Phép tách không mát thông tin R cho lược đồ 3NF Phương pháp: Bước Loại bỏ tất thuộc tính R thuộc tính không liên quan đến phụ thuộc hàm F, vế trái, vế phải Về nguyên tắc thuộc tính hình thành sơ đồ quan hệ riêng khơng tính vào phép tách R 3NF Bước Nếu có phụ thuộc hàm F liên quan tới tất thuộc tính R kết R Bước Ngược lại, kết bao gồm lược đồ XA ứng với phụ thuộc hàm X  A F Tuy nhiên, có phụ thuộc hàm X  A1, X  A2, …, X  AN sử dụng lược đồ XA1A2…AN thay cho XAi với i = 1, 2,…, N 6.5.2 Tách lược đồ quan hệ BCNF Bổ đề a Giả sử R sơ đồ quan hệ với tập phụ thuộc hàm F Đặt  = (R1, R2,…, Rk) phép tách không thông tin R F Với I = 1, 2,…, k, gọi Fi hình chiếu F lên Ri, đặt  = (S1, S2,…, Sm) phép tách không mát thông tin Ri Fi 48 Thì phép tách R thành (R1,…, Ri-1, S1, S2,…, Sm, Ri+1,…, Rk) không mát thông tin F b Giả sử R, F p (a),  = (R1, R2,…, Rk, Rk+1,…., Rn) phép tách R thành tập lược đồ chứa lược đồ   phép tách khơng mát thơng tin Thuật tốn Tách khơng mát thơng tin dạng chuẩn Boye-Codd Vào: Lược đồ quan hệ R, tập phụ thuộc hàm F R Ra:  - phép tách không mát thông tin bao gồm tập lược đồ lược đồ dạng chuẩn Boye-Codd với phụ thuộc hàm hình chiếu F lên lược đồ Phương pháp: - Chúng ta xây dựng phép tách  R theo phương pháp lặp Mỗi lần lặp,  tách tiếp với phép tách không mát thông tin F - Ban đầu, đặt  = (R) Nếu S sơ đồ quan hệ , không dạng chuẩn Boye-Codd, xét phụ thuộc hàm X  A S, với điều kiện X khơng chứa khóa S A  X Ta thay S với S1, S2 với S1 = A  {X}, S2 = S \ {A} - Tiếp tục trình lược đồ dạng chuẩn Boye-Codd, xây dựng phép tách không mát thơng tin chuẩn hóa R dạng chuẩn Boye-Codd 49 MỘT SỐ ĐỀ THI MẪU 50 Trƣờng Đại Học Hàng Hải Việt Nam Khoa Công nghệ Thông tin BỘ MÔN HỆ THỐNG THÔNG TIN -*** - THI KẾT THÚC HỌC PHẦN Tên học phần: CƠ SỞ DỮ LIỆU Năm học: x Đề thi số: Ký duyệt đề: x x Thời gian: 60 phút Câu 1: (2 điểm) a Cho biết khác hệ thống xử lý tệp tin hệ quản trị liệu b Định nghĩa dạng chuẩn (1NF), dạng chuẩn (2NF) Cho ví dụ minh họa Câu 2: (4 điểm) Cho sở liệu Ngân hàng sau: Ngân hàng có nhiều chi nhánh địa điểm khác Mỗi chi nhánh lưu giữ thông tin chi tiết tài khoản khách hàng chi nhánh Các khách hàng có tài khoản nhiều tài khoản Ngân hàng cho khách hàng vay với nhiều mục đích sử dụng khác Ngân hàng lưu giữ thông tin giao dịch thực tài khoản khách hàng Tất chi nhánh có nhiều nhân viên số nhân viên giữ chức vụ người quản lý a Vẽ sơ đồ Thực thể-Liên kết mô tả thông tin sở liệu b Chuyển sơ đồ Thực thể-Liên kết sang lược đồ quan hệ (có thể bổ sung thêm giả thiết khác để mơ tả tốn cần thiết) Câu 3: (2 điểm) Cho lược đồ quan hệ sau: Suppliers(sid: integer, sname: string, address: string) Parts(pid: integer, pname: string, color: string) Catalog(sid: integer, pid: integer, cost: real) (Suppliers: thông tin nhà cung cấp; Parts: thông tin loại hàng hóa; Catalog: thơng tin giá bán loại hàng hóa nhà cung cấp) a Viết truy vấn sau đại số quan hệ: Tìm tên nhà cung cấp có sản phẩm màu đỏ (RED) màu xanh (GREEN) b Cho biết mục đích truy vấn viết dạng đại số quan hệ sau: ( sid (( color 'red ' Parts)  ( cos t 100Cata log)  Suppliers))  ( sid (( color ' green ' Parts)  ( cos t 100Cata log)  Suppliers)) Câu 4: (2 điểm) Cho lược đồ quan hệ R với thuộc tính ABCDE có phụ thuộc hàm sau: A  B, BC  E, ED  A Xác định dạng chuẩn cao R thỏa mãn (1NF, 2NF, 3NF, BCNF) Giải thích ***HẾT*** -Lưu ý: - Khơng sửa, xóa đề thi, nộp lại đề sau thi 51 Trƣờng Đại Học Hàng Hải Việt Nam Khoa Cơng nghệ Thơng tin BỘ MƠN HỆ THỐNG THƠNG TIN -*** - THI KẾT THÚC HỌC PHẦN Tên học phần: CƠ SỞ DỮ LIỆU Năm học: x Đề thi số: Ký duyệt đề: x x Thời gian: 60 phút Câu 1: (2 điểm) a Giải thích khác mức độ trừu tượng liệu hệ quản trị liệu b Giải thích vấn đề dư thừa liệu sở liệu Cho ví dụ minh họa Câu 2: (4 điểm) Cho sở liệu Bệnh viện sau: Bệnh viện có nhiều khoa khám bệnh Mỗi khoa có nhiều bác sỹ Một bác sỹ thuộc vào khoa Một bác sỹ khám cho nhiều bệnh nhân Một bệnh nhân khám nhiều bác sỹ Thông tin lần khám bệnh lưu giữ sổ khám bệnh để theo dõi a Vẽ sơ đồ Thực thể-Liên kết mô tả thông tin sở liệu b Chuyển sơ đồ Thực thể-Liên kết sang lược đồ quan hệ (có thể bổ sung thêm giả thiết khác để mơ tả tốn cần thiết) Câu 3: (2 điểm) Cho lược đồ quan hệ sau: Suppliers(sid: integer, sname: string, address: string) Parts(pid: integer, pname: string, color: string) Catalog(sid: integer, pid: integer, cost: real) (Suppliers: thông tin nhà cung cấp; Parts: thông tin loại hàng hóa; Catalog: thơng tin giá bán loại hàng hóa nhà cung cấp) a Viết truy vấn sau đại số quan hệ: Tìm tên nhà cung cấp có đủ tất loại sản phẩm b Cho biết mục đích truy vấn viết dạng đại số quan hệ sau:  sname ( sid (( color 'red ' Parts)  ( cost 100Cata log)  Suppliers)) Câu 4: (2 điểm) Cho lược đồ quan hệ R với bốn thuộc tính ABCD có phụ thuộc hàm sau: C  D, C  A, B  C Xác định dạng chuẩn cao R thỏa mãn (1NF, 2NF, 3NF, BCNF) Giải thích ***HẾT*** -Lưu ý: - Khơng sửa, xóa đề thi, nộp lại đề sau thi 52 Trƣờng Đại Học Hàng Hải Việt Nam Khoa Cơng nghệ Thơng tin BỘ MƠN HỆ THỐNG THÔNG TIN -*** - THI KẾT THÚC HỌC PHẦN Tên học phần: CƠ SỞ DỮ LIỆU Năm học: x Đề thi số: Ký duyệt đề: x x Thời gian: 60 phút Câu 1: (2 điểm) a Giải thích khái niệm: liệu, sở liệu, hệ quản trị liệu b Giải thích khái niệm: khóa, siêu khóa, khóa chính, khóa ứng cử, khóa ngoại Câu 2: (4 điểm) Cho sở liệu Công ty bảo hiểm xe sau: Cơng ty bảo hiểm có nhiều khách hàng mua bảo hiểm xe Mỗi khách hàng sở hữu nhiều xe Mỗi xe mua loại bảo hiểm cơng ty Mỗi xe khơng có có đến nhiều hồ sơ tai nạn yêu cầu bồi thường a Vẽ sơ đồ Thực thể-Liên kết mô tả thông tin sở liệu b Chuyển sơ đồ Thực thể-Liên kết sang lược đồ quan hệ (có thể bổ sung thêm giả thiết khác để mơ tả tốn cần thiết) Câu 3: (2 điểm) Cho lược đồ quan hệ sau: Suppliers(sid: integer, sname: string, address: string) Parts(pid: integer, pname: string, color: string) Catalog(sid: integer, pid: integer, cost: real) (Suppliers: thông tin nhà cung cấp; Parts: thơng tin loại hàng hóa; Catalog: thơng tin giá bán loại hàng hóa nhà cung cấp) a Viết truy vấn sau đại số quan hệ: Tìm tên nhà cung cấp có sản phẩm màu đỏ (RED) màu xanh (GREEN) b Cho biết mục đích truy vấn viết dạng đại số quan hệ sau: ( sname (( color ' red ' Parts)  ( cos t 100Cata log)  Suppliers))  ( sname (( color ' green ' Parts)  ( cos t 100Cata log)  Suppliers)) Câu 4: (2 điểm) Cho lược đồ quan hệ R với thuộc tính ABCDE có phụ thuộc hàm sau: A  BC, BC  E, E  DA Xác định dạng chuẩn cao R thỏa mãn (1NF, 2NF, 3NF, BCNF) Giải thích ***HẾT*** -Lưu ý: - Khơng sửa, xóa đề thi, nộp lại đề sau thi 53 Trƣờng Đại Học Hàng Hải Việt Nam Khoa Công nghệ Thông tin BỘ MÔN HỆ THỐNG THÔNG TIN -*** - THI KẾT THÚC HỌC PHẦN Tên học phần: CƠ SỞ DỮ LIỆU Năm học: x Đề thi số: Ký duyệt đề: x x Thời gian: 60 phút Câu 1: (2 điểm) a Trình bày bước trình thiết kế sở liệu b Cho biết tiên đề Amstrong bổ đề sử dụng để tìm phụ thuộc hàm Câu 2: (4 điểm) Cho sở liệu Nhân viên cơng ty sau: Một cơng ty có nhiều phịng ban Mỗi phịng ban có nhiều nhân viên Mỗi nhân viên phải thuộc vào phịng ban Một số nhân viên giữ chức vụ Người quản lý Nhân viên chuyển từ phịng ban sang phòng ban khác thời điểm khác tùy theo yêu cầu công ty a Vẽ sơ đồ Thực thể-Liên kết mô tả thông tin sở liệu b Chuyển sơ đồ Thực thể-Liên kết sang lược đồ quan hệ (có thể bổ sung thêm giả thiết khác để mô tả toán cần thiết) Câu 3: (2 điểm) Cho lược đồ quan hệ sau: Suppliers(sid: integer, sname: string, address: string) Parts(pid: integer, pname: string, color: string) Catalog(sid: integer, pid: integer, cost: real) (Suppliers: thông tin nhà cung cấp; Parts: thơng tin loại hàng hóa; Catalog: thơng tin giá bán loại hàng hóa nhà cung cấp) a Viết truy vấn sau đại số quan hệ: Tìm tên nhà cung cấp có đủ tất loại sản phẩm màu đỏ (RED) b Cho biết mục đích truy vấn viết dạng đại số quan hệ sau:  sname ( sid (color 'red ' Parts)  ( cost 100Cata log)  Suppliers) Câu 4: (2 điểm) Cho lược đồ quan hệ R với bốn thuộc tính ABCD có phụ thuộc hàm sau: B  C, D  A Xác định dạng chuẩn cao R thỏa mãn (1NF, 2NF, 3NF, BCNF) Giải thích ***HẾT*** -Lưu ý: - Không sửa, xóa đề thi, nộp lại đề sau thi 54 Trƣờng Đại Học Hàng Hải Việt Nam Khoa Công nghệ Thơng tin BỘ MƠN HỆ THỐNG THƠNG TIN -*** - THI KẾT THÚC HỌC PHẦN Tên học phần: CƠ SỞ DỮ LIỆU Năm học: x Đề thi số: Ký duyệt đề: x x Thời gian: 60 phút Câu 1: (2 điểm) a Cho biết ưu điểm sử dụng hệ quản trị liệu để quản lý liệu b Định nghĩa dạng chuẩn (3NF), dạng chuẩn (4NF) Cho ví dụ minh họa Câu 2: (4 điểm) Cho sở liệu Thư viên: Một thư viện có nhiều sách Mỗi sách viết nhiều tác giả Mỗi sách thuộc vào nhiều thể loại sách khác Thư viện có nhiều giá sách đặt nhiều vị trí khác Mỗi sách đặt giá sách thư viên a Vẽ sơ đồ Thực thể-Liên kết mô tả thông tin sở liệu b Chuyển sơ đồ Thực thể-Liên kết sang lược đồ quan hệ (có thể bổ sung thêm giả thiết khác để mơ tả tốn cần thiết) Câu 3: (2 điểm) Cho lược đồ quan hệ sau: Suppliers(sid: integer, sname: string, address: string) Parts(pid: integer, pname: string, color: string) Catalog(sid: integer, pid: integer, cost: real) (Suppliers: thông tin nhà cung cấp; Parts: thông tin loại hàng hóa; Catalog: thơng tin giá bán loại hàng hóa nhà cung cấp) a Viết truy vấn sau đại số quan hệ: Tìm tên nhà cung cấp có đủ tất loại sản phẩm màu đỏ (RED) màu xanh (GREEN) b Cho biết mục đích truy vấn viết dạng đại số quan hệ sau: ( sid (( color 'red ' Parts)  ( cos t 100Cata log)  Suppliers))  ( sid (( color ' green ' Parts)  ( cos t 100Cata log)  Suppliers)) Câu 4: (2 điểm) Cho lược đồ quan hệ R với thuộc tính ABCDE có phụ thuộc hàm sau: AB  C, AB  D, C  A, D  B Xác định dạng chuẩn cao R thỏa mãn (1NF, 2NF, 3NF, BCNF) Giải thích ***HẾT*** -Lưu ý: - Không sửa, xóa đề thi, nộp lại đề sau thi ... sở liêu trình truy vấn sở liệu để lấy liệu cụ thể, cập nhật sở liệu, tạo báo cáo từ liệu Hình 1.2: Mơ hình hệ quản trị sở liệu Mỗi hệ quản trị sở liệu có ngơn ngữ định nghĩa liệu riêng (DDL -. .. hình liệu Bài tập Cơ sở liệu gì, hiểu hệ sở liệu tác nghiệp Sự cần thiết tổ chức lưu trữ liệu theo lý thuyết sở liệu Trình bày tổng quát kiến trúc mơ hình hệ sở liệu lớp Mục tiêu hệ sở liệu? ... tác sở liệu cho ứng dụng khác cách dễ dàng Định nghĩa sở liệu đặc tả kiểu liệu, cấu trúc, ràng buộc cho liệu lưu trữ Xây dựng sở liệu lưu trữ liệu lên phương tiện lưu trữ hệ quản trị sở liệu

Ngày đăng: 10/05/2021, 23:02

TÀI LIỆU CÙNG NGƯỜI DÙNG

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

TÀI LIỆU LIÊN QUAN