Bài giảng quản trị cơ sở dữ liệu chương 2 mô hình quan hệ

29 1.3K 0
Bài giảng quản trị cơ sở dữ liệu   chương 2  mô hình quan hệ

Đ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

CHƯƠNG II: MÔ HÌNH QUAN HỆ Mô hình quan hệ Ted Codd đưa vào năm 1970 gây ý tức khắc tính đơn giản sở toán học Mô hình quan hệ sử dụng khái niệm quan hệ toán học khối xây dựng sở có sở lý thuyết lý thuyết tập hợp logic vị từ bậc Trong chương nghiên cứu khái niệm mô hình quan hệ 2.1 CÁC KHÁI NIỆM CỦA MÔ HÌNH QUAN HỆ Mô hình quan hệ cách tổ chức liệu dạng bảng hay quan hệ gồm ba thành phần sau: • A Cấu trúc liệu: tổ chức dạng bảng hay quan hệ • B Thao tác liệu: Những phép toán mạnh (ngôn ngữ truy vần - SQL) để thực thao tác liệu • C Tích hợp liệu: qui tắc nghiệp vụ nhằm trì tính toàn vẹn liệu chúng thao tác 2.1.1 Quan hệ, thuộc tính, miền • Quan hệ: bảng liệu hai chiều Mỗi quan hệ tập hợp cột cột đặt tên số tuỳ ý hàng không đặt tên Một quan hệ mô tả tập hợp đối tượng giới thực ta gọi thực thể • Thuộc tính:, đối tượng mô tả quan hệ có chung đặc trưng Các cột quan hệ nhằm mô tả đặc trưng hay thuộc tính thực thể, cột biểu thị đặc trưng • Nhóm lặp hay số thuộc tính có giá trị khác hàng giá trị thuộc tính khác lại trùng • Bản ghi: Mỗi hàng quan hệ chứa liệu biểu thị thông tin đối tượng cụ thể, hàng quan hệ gọi (tube) hay gọi ghi (record) Ví dụ Quan hệ SINHVIÊN • Lược đồ quan hệ: Khi thay đổi liệu bảng tính chất quan hệ không thay đổi, ta loại bỏ tất hàng liệu khỏi bảng, có khung quan hệ, khung gọi lược đồ quan hệ • Để mô tả lược đồ quan hệ ta qui ước viết tên quan hệ chữ in hoa sau danh sách thuộc tính dấu ngoặc đơn, thuộc tính viết chữ thường phân tách dấu phẩy • Ví dụ quan hệ SINHVIEN ta có lược đồ quan hệ SINHVIEN(Họtên, Mãsố, Ngàysinh, Giớitính, Lớp, Môn, Điểm) • Miền giá trị: Mỗi thuộc tính lược đồ quan hệ nhận giá trị liệu tập đó, tập gọi miền giá trị (nói vắn tắt miền trị) thuộc tính • Ví dụ: Trong quan hệ SINHVIEN thuộc tính Họtên tập dẫy chữ có độ dài nhỏ 25; Giớitính tập hai giá trị “nam”, “nữ”; Điểm tập hợp số nguyên từ đến 10 2.1.2 Các đặc trưng quan hệ • • • • • • A Giá trị đưa vào cột đơn nhất: Giá trị liệu đưa vào cột tương ứng với hàng đơn thuộc miền trị thuộc tính B Các giá trị đưa vào cột phải thuộc miền liệu Ví dụ liệu đưa vào cột điểm phải số nguyên từ đến 10, đưa vào chữ ”chín” hay ”bảy” C Mỗi dòng bảng D Thứ tự cột không quan trọng: Các cột đổi chỗ cho mà không làm thay đổi ý nghĩa chúng, cột xác định tên thứ tự E Thứ tự hàng không quan trọng: Các hàng đưa vào bảng có thứ tự tuỳ ý Ví dụ bảng quan hệ 2.2 KHÁI NIỆM VỀ CÁC DẠNG CHUẨN 2.2.1 Quan hệ có cấu trúc tốt • Một quan hệ có cấu trúc tốt quan hệ có chứa số dư thừa liệu cho phép người dùng thêm, xoá, hay sửa đổi hàng bảng mà không gây lỗi không quán Một quan hệ cấu trúc tốt: • Khoá - primary key: Là khoá dự tuyển chọn làm khoá quan hệ Trong số khoá dự tuyển nêu quan hệ SINHVIEN, rõ ràng ta chọn (Mãsv) làm khoá tốt Để chọn khoá ta nên theo nguyên tắc sau: • Khoá nên có số thuộc tính Nếu tốt gồm thuộc tính • Nếu khoá có nhiều thuộc tính, nên tạo thuộc tính thay chúng làm kháo cho quan hệ • Nếu khoá cấu tạo từ nhiều thuộc tính, nên tránh sử dụng thuộc tính dễ thay đổi theo thời gian tên địa danh chẳng hạn Như khoá dùng để tính nhận dạng ghi quan hệ Khoá ngoại - foreign key: Một khoá dùng quan hệ (bảng) để làm đại diện cho giá trị khoá bảng có liên hệ Trong khoá chứa giá trị khoá ngoại chứa giá trị giống Ví dụ, mã sinh viên (MãSV) khoá bảng SINHVIEN (mỗi sinh viên có mã nhất), MãSV bảng SINHVIEN_MON xem khoá ngoại, sinh viên tham gia nhiều môn, giá trị MASV bảng SINHVIEN_MON trùng lặp Các dạng chuẩn Người ta xác định có ba dạng chuẩn gồm: • Dạng chuẩn thứ (1NF): Không có nhóm lặp bảng • Dạng chuẩn thứ hai (2NF): + Là chuẩn + Không có trường không khoá phụ thuộc vào phần khoá • Dạng chuẩn thứ ba (3FN): + Là chuẩn + Không có thuộc tính không khoá phụ thuộc vào thuộc tính không khoá khác Nói cách khác, thuộc tính ghi chứa thông tin thực thể xác định khoá 2.2.3 Chuẩn hoá lược đồ quan hệ Chuẩn hoá trình chuyển quan hệ có cấu trúc phức hợp thành quan hệ có cấu trúc đơn giản Thc trình chuẩn hoá, ta bắt đầu việc kiểm tra dạng chuẩn từ thấp đến cao thực việc tách quan hệ phức hợp thành quan hệ đơn giản Nếu quan hệ không chuẩn Có nghĩa QH có chứa thuộc tính lặp Khi ta tách thành hai quan hệ : • Quan hệ thứ : Gồm thuộc tính lặp phần khoá xác định chúng • Quan hệ thứ hai : gồm thuộc tính lại toàn khoá không chứa thuộc tính lặp Ví dụ, cho lược đồ quan hệ: DONHANG(sốđơn, mãkhách, tênkh, địachỉkh, ngàyđặt, mãhàng*, tênhàng*, đơnvịtính*, môtả*, sốlượng*) Trong quan hệ ta đánh dấu * thuộc tính lặp Để xác định khoá ta xác định phụ thuộc hàm : • (mãkhách) ( tênkh, địachỉkh) • ( mãhàng) ( tênhàng, đơnvịtính, môtả) • (sốđơn, mãhàng) ( sốlượng) • (sốđơn) (mãkhách, ngàyđặt, mãhàng) Từ ta suy khoá gồm thuộc tính bên trái phụ thuộc hàm : (sốđơn, mãkhách,mãhàng) Quan hệ DONHANG tách thành hai quan hệ sau : • Quan hệ 1: gồm thuộc tính thuộc tính lặp phần khoá xác định chúng HÀNGĐẶT(sốđơn, mãhàng, tênhàng, đơnvịtính, môtả, sốlượng) • Quan hệ 2: Gồm thuộc tính lại phần khoá xác định chúng: DONHANG(sốđơn, mãkhách, tênkh, địachỉkh, ngàyđặt) Nếu quan hệ không chuẩn 2, Có nghĩa QH có chứa thuộc tính không khoá phụ thuộc vào phần khoá Khi ta tách thành hai quan hệ : • Quan hệ thứ nhất: Gồm thuộc tính không khoá phụ thuộc vào phần khoá phần khoá xác định chúng • Quan hệ thứ hai: Gồm thuộc tính lại toàn khoá Ví dụ: Quan hệ DONHANG(sốđơn, mãkhách, tênkh, địachỉkh, ngàyđặt) quan hệ dạng chuẩn chưa chuẩn Các phụ thuộc hàm: • (sốđơn) (mãkhách, ngàyđặt) ; (mãkhách)  (tênkh, địachỉkh) Kéo theo khoá quan hệ (sốđơn, mãkhách) • Phụ thuộc hàm (mãkhách)  (tênkh, địachỉkh) cho thấy hai thuộc tính không khoá phụ thuộc vào phần khoá Vậy quan hệ DONHANG(sốđơn, mãkhách, tênkh, địachỉkh, ngàyđặt) tách thành hai quan hệ: (1) KHÁCH(mãkhách, tênkh, địachỉkh) (2) DONHANG(sốđơn, mãkhách, ngàyđặt) Nếu quan hệ không chuẩn 3, Khi quan hệ dạng chuẩn chưa dạng chuẩn 3, có nghĩa quan hệ tồn thuộc tính không khoá phụ thuộc vào thuộc tính không khoá khác Để đưa dạng chuẩn ta tách quan hệ sau: • Quan hệ thứ nhất: Gồm thuộc tính không khoá thuộc tính không khoá khác (gọi thuộc tính cầu) xác định chúng • Quan hệ thứ hai: Gồm thuộc tính lại thuộc tính gọi thuộc tính cầu nói Ví dụ: cho lược đồ VẬNCHUYỂN(sốvậnđơn, khohàng, nơiđến, khoảngcách) • Các phụ thuộc hàm: (sốvậnđơn)  ( khohàng, nơiđến, khoảngcách) ; ( khohàng, nơiđến) ( khoảngcách) Xác định khoá (vậnđơn) • Rõ ràng quan hệ (khoảngcách) thuộc tính không khoá lại phụ thuộc vào thuộc tính không khoá khác (khohàng, nơiđến) Do đó, lược đồ tách thành hai lược đồ: (1) HÀNHTRÌNH(khohàng, nơiđến, khoảngcách) (2) VẬNCHUYỂN(sốvậnđơn, khohàng, nơiđến) 2.3 CÁC RÀNG BUỘC QUAN HỆ, LƯỢC ĐỒ CSDL QUAN HỆ Trong phần thảo luận hạn chế liệu lược đồ sở liệu quan hệ Các hạn chế gọi ràng buộc Có loại ràng buộc : ràng buộc miền, ràng buộc khoá, ràng buộc toàn vẹn thực thể ràng buộc toàn vẹn tham chiếu 2.3.1 Các ràng buộc miền • Các ràng buộc miền giá trị thuộc tính A phải giá trị nguyên tử thuộc miền giá trị thuộc kiểu liệu Các kiểu liệu liên kết với miền bao gồm: • kiểu liệu số chuẩn cho số nguyên ( short integer, integer, long integer), • số thực ( float, double precision float ) • Ngoài kiểu liệu ký tự (dãy ký tự với độ dài cố định, dãy ký tự với độ dài thay đổi ), • ngày, thời gian (Date, Time) • tiền tệ (currency) • Các loại miền khác miền kiểu liệu kiểu liệu đếm giá trị liệt kê rõ ràng 2.3.2 Ràng buộc khoá Thông thường, có tồn tập thuộc tính lược đồ quan hệ có tính chất hai trạng thái quan hệ r R có tổ hợp giá trị cho thuộc tính Giả sử ký hiệu tập SK; với hai khác t1 t2 trạng thái quan hệ r R có ràng buộc t1[SK] ≠ t2[SK] Tập hợp thuộc tính SK gọi siêu khoá (superkey) lược đồ quan hệ R Một siêu khoá SK xác định rõ ràng buộc tính , phát biểu hai khác trạng thái r R có giá trị cho SK Mỗi quan hệ có it siêu khoá mặc định, tập hợp tất thuộc tính Một khoá K lược đồ quan hệ R siêu khoá R với tính chất bỏ thuộc tính A khỏi K lại tập K siêu khoá R 2.3.4 Toàn vẹn thực thể, toàn vẹn tham chiếu khoá • Ràng buộc toàn vẹn thực thể phát biểu là: khoá phải luôn có giá trị xác định, nghĩa không phép có giá trị null Các ràng buộc khoá ràng buộc toàn vẹn thực thể quan hệ riêng rẽ • Ràng buộc toàn vẹn tham chiếu hai quan hệ để trì tương ứng hai quan hệ Lược đồ sơ đồ tham chiếu [...]... chính 2. 2.3 Chuẩn hoá các lược đồ quan hệ Chuẩn hoá là quá trình chuyển một quan hệ có cấu trúc phức hợp thành các quan hệ có cấu trúc đơn giản hơn Thc hiện quá trình chuẩn hoá, ta bắt đầu việc kiểm tra dạng chuẩn từ thấp đến cao và thực hiện việc tách quan hệ phức hợp thành các quan hệ đơn giản hơn Nếu quan hệ không là chuẩn 1 Có nghĩa là QH có chứa các thuộc tính lặp Khi đó ta tách thành hai quan hệ. .. quan hệ này (khoảngcách) là thuộc tính không khoá nhưng lại phụ thuộc vào các thuộc tính không khoá khác là (khohàng, nơiđến) Do đó, lược đồ được tách thành hai lược đồ: (1) HÀNHTRÌNH(khohàng, nơiđến, khoảngcách) (2) VẬNCHUYỂN(sốvậnđơn, khohàng, nơiđến) 2. 3 CÁC RÀNG BUỘC QUAN HỆ, LƯỢC ĐỒ CSDL QUAN HỆ Trong phần này chúng ta thảo luận về các hạn chế trên các dữ liệu trong một lược đồ cơ sở dữ liệu quan. .. mãkhách, ngàyđặt) Nếu quan hệ không là chuẩn 3, Khi quan hệ ở dạng chuẩn 2 nhưng chưa ở dạng chuẩn 3, có nghĩa là trong quan hệ tồn tại các thuộc tính không khoá phụ thuộc vào các thuộc tính không khoá khác Để đưa về dạng chuẩn 3 ta tách quan hệ như sau: • Quan hệ thứ nhất: Gồm các thuộc tính không khoá và các thuộc tính không khoá khác (gọi là thuộc tính cầu) xác định chúng • Quan hệ thứ hai: Gồm các... ngàyđặt) Nếu quan hệ không là chuẩn 2, Có nghĩa là QH có chứa các thuộc tính không khoá phụ thuộc vào một phần của khoá Khi đó ta tách thành hai quan hệ : • Quan hệ thứ nhất: Gồm các thuộc tính không khoá phụ thuộc vào một phần khoá và phần khoá xác định chúng • Quan hệ thứ hai: Gồm các thuộc tính còn lại và toàn bộ khoá chính Ví dụ: Quan hệ DONHANG(sốđơn, mãkhách, tênkh, địachỉkh, ngàyđặt) là quan hệ ở dạng.. .2. 2 .2 Khái niệm về các dạng chuẩn • Một dạng chuẩn của một quan hệ là một trạng thái của nó có thể xác định được nhờ một số qui tắc nhất định Các qui tắc này liên quan đến việc kiểm tra sự phụ thuộc giữa các thuộc tính trong một quan hệ Sự tồn tại một số quan hệ phụ thuộc đặc biệt là nguyên nhân gây ra các dị thường Chuẩn hoá là việc đưa các lược đồ quan hệ về các dạng chuẩn có... tênhàng, đơnvịtính, môtả) • (sốđơn, mãhàng) ( sốlượng) • (sốđơn) (mãkhách, ngàyđặt, mãhàng) Từ đó ta suy ra khoá gồm các thuộc tính bên trái của các phụ thuộc hàm : (sốđơn, mãkhách,mãhàng) Quan hệ DONHANG được tách thành hai quan hệ sau : • Quan hệ 1: gồm các thuộc tính các thuộc tính lặp và phần khoá xác định chúng HÀNGĐẶT(sốđơn, mãhàng, tênhàng, đơnvịtính, môtả, sốlượng) • Quan hệ 2: Gồm các thuộc... ti[X] là các giá trị ở hàng ti trên tập thuộc tính X, khi đó A → B nếu t1 và t2 là hai hàng bất kỳ của R mà có t1[A]=t2[A] kéo theo t1[B]=t2[B] Hệ tiên đề Armstrong (Tham khảo) Gọi R(U) là lược đồ quan hệ với U ={A1, A2, …,An} là tập thuộc tính X, Y, Z,W⊆ U Hệ tiên đề Armstrong phát biểu như sau: • 1 Phản xạ: Nếu Y ⊆ X thì X  Y (A1) • 2 Tăng trưởng: Nếu Z ⊆ U và X Y thì X ∪ Z  Y ∪ Z (A2) • 3 Bắc cầu:... liệu quan hệ Các hạn chế đó được gọi là các ràng buộc Có các loại ràng buộc : ràng buộc miền, ràng buộc khoá, ràng buộc toàn vẹn thực thể và ràng buộc toàn vẹn tham chiếu 2. 3.1 Các ràng buộc miền • Các ràng buộc miền chỉ ra rằng giá trị của mỗi thuộc tính A phải là một giá trị nguyên tử thuộc miền giá trị thuộc kiểu dữ liệu nào đó Các kiểu dữ liệu liên kết với các miền bao gồm: • các kiểu dữ liệu số... ra còn các kiểu dữ liệu ký tự (dãy ký tự với độ dài cố định, dãy ký tự với độ dài thay đổi ), • ngày, thời gian (Date, Time) • tiền tệ (currency) • Các loại miền khác có thể là các miền con của một kiểu dữ liệu hoặc một kiểu dữ liệu đếm được trong đó mọi giá trị có thể được liệt kê rõ ràng 2. 3 .2 Ràng buộc khoá Thông thường, có tồn tại các tập con của các thuộc tính của một lược đồ quan hệ có tính chất... thuộc tính lặp Khi đó ta tách thành hai quan hệ : • Quan hệ thứ nhất : Gồm các thuộc tính lặp và phần khoá xác định chúng • Quan hệ thứ hai : gồm các thuộc tính còn lại và toàn bộ khoá nhưng không chứa thuộc tính lặp Ví dụ, cho lược đồ quan hệ: DONHANG(sốđơn, mãkhách, tênkh, địachỉkh, ngàyđặt, mãhàng*, tênhàng*, đơnvịtính*, môtả*, sốlượng*) Trong quan hệ ta đánh dấu * các thuộc tính lặp Để xác định khoá .. .2. 1 CÁC KHÁI NIỆM CỦA MÔ HÌNH QUAN HỆ Mô hình quan hệ cách tổ chức liệu dạng bảng hay quan hệ gồm ba thành phần sau: • A Cấu trúc liệu: tổ chức dạng bảng hay quan hệ • B Thao tác liệu: ... không quan trọng: Các hàng đưa vào bảng có thứ tự tuỳ ý Ví dụ bảng quan hệ 2. 2 KHÁI NIỆM VỀ CÁC DẠNG CHUẨN 2. 2.1 Quan hệ có cấu trúc tốt • Một quan hệ có cấu trúc tốt quan hệ có chứa số dư thừa liệu. .. • Lược đồ quan hệ: Khi thay đổi liệu bảng tính chất quan hệ không thay đổi, ta loại bỏ tất hàng liệu khỏi bảng, có khung quan hệ, khung gọi lược đồ quan hệ • Để mô tả lược đồ quan hệ ta qui ước

Ngày đăng: 03/12/2015, 01:10

Mục lục

    CHƯƠNG II: MÔ HÌNH QUAN HỆ

    2.1 CÁC KHÁI NIỆM CỦA MÔ HÌNH QUAN HỆ

    2.1.1 Quan hệ, thuộc tính, miền

    Ví dụ Quan hệ SINHVIÊN

    2.1.2 Các đặc trưng của các quan hệ

    Ví dụ về bảng không phải là một quan hệ

    2.2 KHÁI NIỆM VỀ CÁC DẠNG CHUẨN

    2.2.1. Quan hệ có cấu trúc tốt

    2.2.2. Khái niệm về các dạng chuẩn

    Hệ tiên đề Armstrong (Tham khảo)

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

Tài liệu liên quan