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

Giáo trình cơ sở dữ liệu nghề công nghệ thông tin - Trung cấp

57 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 57
Dung lượng 1,28 MB

Cấu trúc

  • CHƯƠNG 1: KHÁI NIỆM CƠ BẢN VỀ CƠ SỞ DỮ LIỆU (7)
    • 1. KHÁI NIỆM CƠ SỞ DỮ LIỆU (7)
    • 2. SỰ CẦN THIẾT CỦA CÁC HỆ CƠ SỞ DỮ LIỆU (8)
    • 3. MÔ HÌNH KIẾN TRÚC TỔNG QUÁT 3 MỨC HỆ CƠ SỞ DỮ LIỆU (9)
      • 3.1 Mức trong (9)
      • 3.2 Mô hình dữ liệu (0)
      • 3.3 Mức ngoài (11)
      • 4.1 N GÔN NGỮ CON DỮ LIỆU (11)
      • 4.2 H Ệ QUẢN TRỊ CƠ SỞ DỮ LIỆU (11)
  • CHƯƠNG II: MÔ HÌNH QUAN HỆ (12)
    • 1. N GUYÊN NHÂN RA ĐỜI CỦA MÔ HÌNH QUAN HỆ (0)
    • 2. M Ô HÌNH QUAN HỆ (0)
      • 2.1 Mô hình quan hệ là gì? (12)
      • 2.2 Các khái niệm cơ bản của mô hình quan hệ (12)
      • 2.3 Các phép toán tập hợp (12)
      • 2.4 Các phép toán quan hệ (12)
    • 3. M Ô HÌNH THỰC THỂ KẾT HỢP (0)
  • CHƯƠNG III: RÀNG BUỘC TOÀN VẸN QUAN HỆ (18)
    • 1.1 Ràng buộc toàn vẹn (18)
    • 1.2 Các yếu tố của ràng buộc toàn vẹn (18)
    • 2.1 Ràng buộc toàn vẹn liên bộ (20)
    • 2.2 Ràng buộc toàn vẹn về phụ thuộc tồn tại (20)
    • 2.3 Ràng buộc toàn vẹn về miền giá trị (20)
    • 2.4 Ràng buộc toàn vẹn liên thuộc tính (20)
    • 2.5 Ràng buộc toàn vẹn liên thuộc tính liên quan hệ (21)
    • 2.6 Ràng buộc toàn vẹn về thuộc tính tổng hợp (21)
  • CHƯƠNG IV: PHỤ THUỘC HÀM (22)
    • 1. K HÁI NIỆM PHỤ THUỘC HÀM (22)
      • 1.1 Định nghĩa phụ thuộc hàm (22)
      • 1.2 Phụ thuộc hàm hiển nhiên (23)
      • 1.3 Thuật toán Satifies (23)
      • 1.4 Các phụ thuộc hàm có thể có (23)
    • 2. H Ệ LUẬT DẪN A RMSTRONG (23)
      • 2.1 Phụ thuộc hàm được suy diễn logic từ F (23)
      • 2.2 Hệ luật dẫn Armstrong (0)
  • CHƯƠNG V: PHỦ CỦA TẬP PHỤ THUỘC HÀM (26)
    • 1. B AO ĐÓNG VÀ THUẬT TOÁN XÁC ĐỊNH BAO ĐÓNG CÁC THUỘC TÍNH (26)
      • 1.1 Định nghĩa (26)
      • 1.2 Thuật toán xác định bao đóng các thuộc tính (27)
    • 2. C ÁC LOẠI PHỤ THUỘC HÀM (28)
      • 2.1 Phụ thuộc hàm có vế trái dư thừa (28)
      • 2.2 Phụ thuộc hàm có vế phải một thuộc tính (28)
      • 2.3 Tập phụ thuộc hàm không dư thừa (28)
      • 2.4. Tập phụ thuộc hàm tối thiểu (28)
    • 3. T HUẬT TOÁN TÌM PHỦ TỐI THIỂU TỐI THIỂU (0)
    • 4. K HÓA CỦA LƯỢC ĐỒ QUAN HỆ (29)
      • 4.1 Định nghĩa (29)
      • 4.2 Thuật toán tìm tất cả các khóa (29)
  • CHƯƠNG VI: NGÔN NGỮ THAO TÁC DỮ LIỆU (31)
  • CHƯƠNG VII: CHUẨN HÓA CƠ SỞ DỮ LIỆU (48)
    • 1. D ẠNG CHUẨN CỦA LƯỢC ĐỒ QUAN HỆ (48)
      • 1.1 Dạng chuẩn một (48)
      • 1.2 Dạng chuẩn hai (48)
      • 1.3 Dạng chuẩn ba (50)
      • 1.4 Dạng chuẩn Boyce – Codd (53)
    • 2. P HÉP TÁCH KẾT NỐI BẢO TOÀN (54)
      • 2.1 Phép tách kết nối bảo toàn thông tin (54)
      • 2.2 Phép tách kết nối bảo toàn phụ thuộc hàm (55)
  • TÀI LIỆU THAM KHẢO ................................................................................................................................... 51 (57)

Nội dung

- Ý nghĩa và vai trò của mô đun: Mục tiêu của mô đun: - Viết các câu lệnh truy vấn đến cơ sở dữ liệu bằng SQL; - Xây dựng được các ràng buộc, các phụ thuộc hàm, cách chuẩn hóa các cơ sở

KHÁI NIỆM CƠ BẢN VỀ CƠ SỞ DỮ LIỆU

KHÁI NIỆM CƠ SỞ DỮ LIỆU

Cơ sở dữ liệu (CSDL) là sự tập hợp có tổ chức (có cấu trúc) các dữ liệu có liên quan luận lý với nhau, được lưu trữ trên các thiết bị lưu trữ thông tin (băng từ, đĩa từ…) để có thể thỏa mãn yêu cầu khai thác thông tin đồng thời của nhiều người sử dụng hay nhiều chương trình ứng dụng với nhiều mục đích khác nhau Ví dụ: Để quản lý hoạt động học tập trong một trường Đại học, chúng ta sẽ quản lý các dữ liệu là các thông tin về sinh viên, về các môn học, điểm thi… Do đó, chúng ta tổ chức các dữ liệu thành các bảng và lưu giữ chúng vào sổ sách hoặc sử dụng một phần mềm máy tính để lưu giữ chúng trên máy tính Ta có một tập hợp các dữ liệu có liên quan đến nhau và mang nhiều ý nghĩa, đó là một CSDL

Hình: CSDL quản lý sinh viên

Trước hết, chúng ta cần nhấn mạnh CSDL phải là một tập hợp các thông tin mang tính hệ thống chứ không phải là các thông tin rời rạc, không có mối quan hệ với nhau Các thông tin này phải có cấu trúc và tập hợp các thông tin này phải có khả năng đáp ứng các nhu cầu khai thác của nhiều người sử dụng một cách đồng thời Đó cũng chính là các đặc trưng của CSDL

SỰ CẦN THIẾT CỦA CÁC HỆ CƠ SỞ DỮ LIỆU

Trong những năm gần đây, thuật ngữ “Cơ sở dữ liệu” (CSDL - Database) đã trở nên khá quen thuộc không chỉ riêng với những người làm Tin học mà còn đối với cả những người làm trong nhiều lĩnh vực khác như Thống kê, Kinh tế, Quản lý Doanh nghiệp v.v… Các ứng dụng của Tin học vào công tác quản lý ngày càng nhiều hơn và càng đa dạng hơn Có thể nói hầu hết các lĩnh vực kinh tế, xã hội, giáo dục, y tế v.v… đều đã ứng dụng các thành tựu mới của Tin học vào phục vụ công tác chuyên môn của mình Chính vì lẽ đó mà ngày càng nhiều người quan tâm đến lĩnh vực thiết kế và xây dựng các CSDL Mục đích của Chương 1 chỉ đơn giản là cung cấp các khái niệm cơ bản về CSDL để các học viên có một cái nhìn ban đầu về một CSDL và một hệ quản trị CSDL Trước hết chúng ta sẽ tìm hiểu lý do tại sao cần phải có một CSDL

Hệ thống các tập tin cổ điển (File System):

Đến nay vẫn còn một số đơn vị kinh tế, hành chính sự nghiệp sử dụng mô hình hệ thống các tập tin cổ điển Các tập tin này được tổ chức riêng rẽ nhằm phục vụ cho mục đích cụ thể của một đơn vị hoặc đơn vị con trực thuộc Ví dụ, chúng ta có thể xem xét ví dụ sau:

Ví dụ: Tại một công ty người ta trang bị máy vi tính cho tất cả các phòng, ban nghiệp vụ

Bộ phận Văn phòng sử dụng máy vi tính để soạn thảo văn bản bằng Microsoft Word do thủ trưởng yêu cầu về tình hình hoạt động của đơn vị, trong đó có chỉ tiêu về tổng số công nhân viên chức chia theo trình độ chuyên môn được đào tạo Phòng Kế toán sử dụng máy vi tính để tính lương và in danh sách lương của từng bộ phận trong đơn vị dựa trên danh sách cán bộ viên chức cùng hệ số lương và các hệ số phụ cấp của họ do phòng Tổ chức cung cấp Thông tin mà phòng Kế toán quản lý và khai thác là:

Phần mềm quản lý thông tin của Phòng Tổ chức là FoxPro for Windows, tập trung vào các chi tiết cá nhân của công nhân viên chức (CNVC) như họ, tên (sắp xếp theo bảng chữ cái), giới tính, ngày sinh, ngày tuyển dụng, hoàn cảnh gia đình và quá trình đào tạo Hệ thống cũng bao gồm Hệ số lương và Hệ số phụ cấp, nhưng thiếu thông tin về Phụ cấp khác của CNVC.

Trong khi đó, tại Tổng công ty của họ, các phòng ban nghiệp vụ cũng được trang bị máy vi tính Phòng Tổ chức cán bộ tại Tổng công ty sử dụng phần mềm Microsoft Access để quản lý CNVC gồm các cán bộ chủ chốt từ trường phó phòng, quản đốc và phó quản đốc xí nghiệp trở lên của các công ty con trực thuộc Thông tin quản lý tại đây cũng giống như thông tin quản lý tại phòng tổ chức của công ty con

- Việc xây dựng hệ thống các tập tin riêng tại từng đơn vị quản lý ít tốn thời gian bởi khối lượng thông tin cần quản lý và khai thác là nhỏ, không đòi hỏi đầu tư vật chất và chất xám nhiều, do đó triển khai ứng dụng nhanh

- Thông tin được khai thác chỉ phục vụ cho mục đích hẹp nên khả năng đáp ứng nhanh chóng, kịp thời

Sự bất đồng về hệ thống thông tin và công cụ phần mềm trong các phòng ban gây cản trở cho quá trình phối hợp, dẫn đến việc thông tin không thể sử dụng chung giữa các phòng ban, giữa các đơn vị cấp trên và cấp dưới Tình trạng nhập liệu trùng lặp gây lãng phí thời gian và dung lượng lưu trữ Ngoài ra, trùng lắp thông tin còn dẫn đến sự không nhất quán, chẳng hạn như thông tin cá nhân của nhân viên Nguyễn Văn Quang được ghi đầy đủ tại phòng Tổ chức nhưng lại được ghi tắt tại phòng Kế toán.

- Thông tin được tổ chức ở nhiều nơi nên việc cập nhật cũng dễ làm mất tính nhất quán dữ liệu Một cán bộ chủ chốt của công ty có thay đổi về hoàn cảnh gia đình (mới cưới vợ / lấy chồng, sinh thêm con…) có thể được cập nhật ngay tại đơn vị nhưng sau một thời gian mới được cập nhật tại Tổng công ty

Do thiết kế hệ thống theo các hệ thống tập tin riêng lẻ, việc chia sẻ thông tin giữa các hệ thống gặp hạn chế và khó khăn Quá trình kết nối giữa các hệ thống cũng như nâng cấp ứng dụng cũng trở nên phức tạp hơn.

Qua phân tích trên chúng ta nhận thấy việc tổ chức dữ liệu theo hệ thống các tập tin có nhiều nhược điểm Việc xây dựng một hệ thống tin đảm bảo được tính chất nhất quán dữ liệu, không trùng lặp thông tin mà vẫn đáp ứng được nhu cầu khai thác đồng thời của tất cả các phòng ban ở công ty và tổng công ty là thực sự cần thiết.

MÔ HÌNH KIẾN TRÚC TỔNG QUÁT 3 MỨC HỆ CƠ SỞ DỮ LIỆU

Mô hình kiến trúc 3 mức của hệ CSDL gồm: Mức trong, mức mô hình dữ liệu (Mức quan niệm) và mức ngoài Giữa các mức tồn tại các ánh xạ quan niệm trong và ánh xạ quan niệm ngoài Trung tâm của hệ thống là mức quan niệm, tức là mức mô hình dữ liệu Ngoài ra còn có khái niệm người sử dụng, hệ quản trị CSDL và người quản trị CSDL

Mô hình dữ liệu trong là phương thức lưu trữ vật lý của dữ liệu, tạo thành một cách biểu diễn duy nhất và cố định của cơ sở dữ liệu (CSDL) dưới dạng lưu trữ vật lý Nó đại diện cho mức biểu diễn trừu tượng nhất của CSDL, cung cấp nền tảng cho các cấp độ biểu diễn cao hơn.

Mô hình trong gồm nhiều xuất hiện của nhiều kiểu bản ghi lưu trữ được xác định bởi một sơ đồ trong Thông tin biểu diễn trong mô hình trong là duy nhất

Sơ đồ trong bao gồm định nghĩa mô hình trong, xác định kiểu bản ghi lưu trữ, chỉ dẫn, thứ tự sắp xếp bản ghi và xác định dữ liệu lưu trữ, truy nhập thông qua các đường dẫn truy nhập dữ liệu Ánh xạ quan niệm trong đảm bảo tính độc lập của dữ liệu, phải thay đổi khi cấu trúc lưu trữ dữ liệu thay đổi để mô hình dữ liệu không bị ảnh hưởng Ánh xạ quan niệm ngoài ánh xạ tương ứng một-một giữa mô hình ngoài của người dùng và mô hình dữ liệu.

3.2 Mô hình dữ liệu

Mô hình quan niệm là cách nhìn dữ liệu một cách tổng quát của người sử dụng Nghĩa là có rất nhiều cách nhìn dữ liệu ở mô hình ngoài, nhưng chỉ có duy nhất một

4 cách nhìn dữ liệu ở mức quan niệm Biểu diễn toàn bộ thông tin trong CSDL là duy nhất

Mô hình dữ liệu gồm nhiều xuất hiện của nhiều kiểu bản ghi dữ liệu Ví dụ kiểu xuất hiện bản ghi về nhân sự, kiểu xuất hiện bản ghi về doanh thu, sản lượng, kiểu xuất hiện bản ghi về cước đàm thoại

Mô hình dữ liệu được xác định bởi một sơ đồ dữ liệu mô tả của nhiều kiểu thực thể, chẳng hạn như mô tả thực thể tuyến cáp, các loại cáp, thầy giáo, học sinh Sơ đồ dữ liệu bao gồm các định nghĩa về các kiểu bản ghi, đó là các ràng buộc cho quyền và tính toàn vẹn thích hợp Những ràng buộc này chính là các tính chất của dữ liệu, tính liên kết các thuộc tính cùng một kiểu dữ liệu Các định nghĩa này không bao hàm về cấu trúc lưu trữ, cũng như về chiến lược truy nhập, chúng chỉ là các định nghĩa về nội dung thông tin, về tính độc lập của dữ liệu trong mô hình quan niệm

Sơ đồ quan niệm luôn luôn ổn định, nghĩa là nếu mô tả thêm một kiểu thực thể đặc biệt sát nhập vào sơ đồ dữ liệu, không được làm thay đổi sơ đồ dữ liệu cũ Nếu sơ đồ dữ liệu không ổn định thì các ứng dụng và mô hình ngoài cũng không ổn định Sơ đồ dữ liệu chỉ được thay đổi khi có sự điều chỉnh trong thế giới thực, đòi hỏi điều chỉnh lại định nghĩa sao cho nó phản ảnh thế giới hiện thực khách quan hơn, chân lý hơn

- Thiết kế mô hình dữ liệu là giai đoạn quan trọng và quyết định trong việc thiết kế và cài đặt các hệ cơ sở dữ liệu Quá trình thiết kế không phụ thuộc quá nhiều vào cấu trúc lưu trữ vật lý và chiến lược truy nhập của dữ liệu Như vậy việc thiết kế sơ đồ dữ liệu phải được tiến hành độc lập với việc thiết kế sơ đồ trong và các sơ đồ ngoài liên kết, vì nếu không việc thiết kế sẽ không ổn định và thường xuyên phải xem xét lại tác động thường xuyên đến nhiều thành phần khác của hệ thống

Hình 1.2 Kiến trúc hệ cơ sở dữ liệu

Mô hình ngoài là nội dung thông tin của CSDL dưới cách nhìn của người sử dụng Là nội dung thông tin của một phần dữ liệu tác nghiệp đựơc một người hoặc một nhóm người sử dụng quan tâm Nói cách khác, mô hình ngoài mô tả cách nhìn dữ liệu của người sử dụng và mỗi người sử dụng có cách nhìn dữ liệu khác nhau Nhiều mô hình ngoài khác nhau có thể cùng tồn tại trong một hệ CSDL, nghĩa là có nhiều người sử dụng chia sẻ chung cùng một cơ sở dữ liệu Hơn nữa, có thể mô hình ngoài quan hệ, mô hình ngoài phân cấp hay mô hình ngoài kiểu mạng cũng có thể tồn tại trong một cơ sở dữ liệu Sơ đồ ngoài không làm “hiện” mà được nhúng vào trong logic một đơn tác có liên quan

Mô hình ngoài gồm nhiều xuất hiện kiểu bản ghi ngoài, nghĩa là mỗi một người sử dụng có một sơ đồ dữ liệu riêng, một khung nhìn dữ liệu riêng Bản ghi ngoài của người sử dụng có thể khác với bản ghi lưu trữ và bản ghi quan niệm

Mô hình ngoài được xác định bởi một sơ đồ ngoài bao gồm các mô tả về kiểu bản ghi ngoài như tên các trường, kiểu dữ liệu các trường, độ rộng của trường

Ngôn ngữ con dữ liệu của người sử dụng thao tác trên các bản ghi ngoài

Người sử dụng khác nhau có khung nhìn dữ liệu khác nhau

Người sử dụng đầu cuối có thể là các ứng dụng hay thao tác trực tiếp bằng ngôn ngữ thao tác, truy vấn dữ liệu

4 Ngôn ngữ con dữ liệu và hệ quản trị cơ sở dữ liệu

4.1 Ngôn ngữ con dữ liệu:

Ngôn ngữ con dữ liệu của người sử dụng thao tác trên các bản ghi ngoài

4.2 Hệ quản trị cơ sở dữ liệu:

Một hệ quản trị CSDL (HQTCSDL) là:

- Một tập các phần mềm quản lý CSDL và cung cấp các dịch vụ xử lý CSDL cho những người phát triển ứng dụng và người dùng cuối

- HQTCSDL cung cấp một giao diện giữa người sử dụng và dữ liệu

- HQTCSDL biến đổi CSDL vật lý thành CSDL logic

5 Tổ chức lưu trữ dữ liệu

6 Các mô hình xử lý dữ liệu

6.1 Mô hình cơ sở dữ liệu Client Server 2 lớp

6.2 Mô hình Client/Server nhiều lớp

6.3 Kỹ thuật lập trình cơ sở dữ liệu - Web động

6.4 Kiến trúc hệ thống Server

6.5 Các mô hình kiến trúc ứng dụng

MÔ HÌNH QUAN HỆ

M Ô HÌNH QUAN HỆ

CHƯƠNG II: MÔ HÌNH QUAN HỆ Giới thiệu:

- Trình bày các khái niệm, nguyên nhân ra đời của mô hình quan hệ;

- Trình bày được các phép toán quan hệ và phép toán tập hợp trên mô hình quan hệ

- Chuyển đổi từ lược đồ cơ sở dữ liệu sang mô hình quan hệ dữ liệu;

- Thiết kế được mô hình quan hệ

- Áp dụng các phép toán đại số quan hệ để biểu diễn trên lược đồ quan hệ;

- Nghiêm túc, tỉ mỉ trong việc học và làm bài tập

- Rèn luyện tính cẩn thận, tỉ mỉ, chính xác, sáng tạo, linh hoạt trong công việc

- Rèn luyện tính cẩn thận, tỉ mỉ, chính xác, sáng tạo, linh hoạt trong công việc

1 Nguyên nhân ra đời của mô hình quan hệ

2 Mô hình quan hệ

2.1 Mô hình quan hệ là gì?

2.2 Các khái niệm cơ bản của mô hình quan hệ

2.3 Các phép toán tập hợp

2.4 Các phép toán quan hệ

3 Mô hình thực thể kết hợp

Mô tả thế giới thực gần với quan niệm, suy nghĩ của ta Đây là mô hình tốt với lượng thông tin ít nhất, mô tả thế giới dữ liệu đầy đủ nhất

Việc xây dựng mô hình nhằm thành lập một biểu đồ cấu trúc dữ liệu bao gồm dữ liệu cần xử lý và cấu trúc nội tại của nó

Ví dụ: Một mô hình thực thể liên kết Mô hình thực thể kết hợp (Mô hình ER)

Mô hình liên kết thực thể của việc bán hàng

Chuyển từ mô hình thực thể kết hợp sang lược đồ cơ sở dữ liệu

Mô hình thực thể liên kết còn gọi là mô hình dữ liệu logic hoặc sơ đồ tiêu chuẩn Nó được xây dựng dùng bốn kiểu khối xây dựng: thực thể, kiểu thực thể, thuộc tính, liên kết a Thực thể

Nhà cung cấp Mặt hàng Đơn hàng Nhà cung cấp

Một thực thể là khái niệm để chỉ một đối tượng, một nhiệm vụ, một sự kiện trong thế giới thực hay tư duy được quan tâm trong quản lý Một thực thể tương đương với một dòng trong bảng nào đó

Ví dụ: Sinh viên Lê An, Đơn hàng số 123, b Kiểu thực thể

Kiểu thực thể là việc nhóm tự nhiên một số thực thể lại, mô tả cho một loại thông tin chứ không phải là bản thân thông tin Kiểu thực thể thường là tập hợp các thực thể có cùng bản chất Tên kiểu thực thể: Là một danh từ

Ví dụ: Lê An là một thực thể, được quan tâm đến vì anh ta đang học tại một trường đại học A, tức anh ta là một sinh viên "SINH VIÊN" là một kiểu thực thể vì nó mô tả cho một số thực thể và dựa trên đó thông tin được lưu giữ.

Kiểu thực thể được biểu diễn dạng hình chữ nhật

Chú ý: Một cách gọi khác của Kiểu thực thể - Thực thể đó là Thực thể - Thể hiện của thực thể

Ví dụ: Có thể nói kiểu thực thể SINH VIÊN có các thực thể Lê An, Hoàng Thị

Hà hay thực thể SINH VIÊN có các thể hiện Lê An, Hoàng Thị Hà,… c Liên kết và kiểu liên kết

Liên kết (còn gọi là quan hệ) là sự kết hợp giữa hai hay nhiều thực thể phản ánh sự ràng buộc trong quản lý Đặc biệt: Một thực thể có thể liên kết với chính nó ta thường gọi là tự liên kết Giữa hai thực thể có thể có nhiều hơn một liên kết

Kiểu liên kết là tập hợp các liên kết có cùng bản chất Các kiểu liên kết cho biết số thể hiện lớn nhất của mỗi thực thể tham gia vào liên kết với một thể hiện của một thực thể khác Có ba kiểu liên kết: một - một, một - nhiều, nhiều – nhiều

Mỗi thể hiện của thực thể A quan hệ với một thể hiện của thực thể B và ngược lại

Ví dụ: Một sinh viên có một luận văn Một luận văn thuộc về một sinh viên

Tên kiểu thực thể SINHVIEN

Mỗi thể hiện của thực thể A quan hệ với nhiều thể hiện của thực thể B Ngược lại mỗi thể hiện của thực thể B quan hệ với chỉ một thể hiện của thực thể A

Ví dụ: Một khoa có nhiều sinh viên Một sinh viên thuộc về một khoa

Mỗi thể hiện của thực thể A quan hệ với nhiều thể hiện của thực thể B Ngược lại mỗi thể hiện của thực thể B quan hệ với nhiều thể hiện của thực thể A

Ví dụ: Một giáo viên dạy nhiều sinh viên Một sinh viên được dạy bởi nhiều giáo viên

Loại thành viên: là điều kiện một thể hiện của thực thể tham gia vào liên kết với một thực thể khác Nó có thể là bắt buộc hay tuỳ chọn trong quan hệ Các loại thành viên cho biết số thể hiện nhỏ nhất của mỗi thực thể tham gia vào liên kết với một thể hiện của một thực thể khác

Tuỳ chọn (ít nhất 0) –“một giáo viên có thể dạy không, một hoặc nhiều môn học.”

Bắt buộc(ít nhất 1) – “một môn học cần phải được một hoặc nhiều giáo viên dạy.”

Giáo viên Sinh Viên Được dạy bởi

Mô hình dữ liệu đóng vai trò như một công cụ phân tích thiết kế cũng như một phương pháp thẩm tra chặt chẽ các yêu cầu nghiệp vụ của người dùng Nối kết một sơ đồ mô hình dữ liệu với cơ sở dữ liệu vật lý, nhà phân tích có thể đánh giá tác động của thay đổi trong mô hình thiết kế đối với cơ sở dữ liệu thực tế Bằng cách này, mô hình dữ liệu đảm bảo sự nhất quán và tích hợp giữa các điểm dữ liệu, giúp tránh các lỗi thiết kế tiềm ẩn và tăng cường chất lượng tổng thể của hệ thống thông tin.

- nhiều biểu thị ràng buộc là một phần của mô tả yêu cầu nghiệp vụ: Khi chiều một nhiều là mở, không xác định (khách hàng có thể có nhiều đơn hàng) thì chiều từ nhiều sang một là hoàn toàn xác định (một đơn hàng phải thuộc về một khách hàng)

Nếu hai thực thể có quan hệ một - một thường có ít lý do để coi chúng như hai bảng tách biệt => người ta thường gộp hai thực thể làm một bảng với mỗi dòng dài hơn

Nếu hai thực thể có quan hệ nhiều - nhiều thì không có sự khác biệt về bản chất giữa các chiều (không nói lên được kẻ thống trị) => ít khi được sử dụng

Tóm lại trong ba kiểu liên kết trên, liên kết một nhiều là quan trọng hơn cả và hầu như các mối quan hệ trong mô hình thực thể liên kết đều là một nhiều d Thuộc tính:

RÀNG BUỘC TOÀN VẸN QUAN HỆ

Ràng buộc toàn vẹn

Trong mỗi CSDL luôn tồn tại nhiều mối liên hệ giữa các thuộc tính, giữa các bộ Sự liên hệ này có thể xảy ra trong một lược đồ quan hệ hoặc trong các lược đồ quan hệ của một cơ sở dữ liệu Các mối liên hệ này là những điều kiện bất biến mà tất cả các bộ của những quan hệ có liên quan trong CSDL đều phải thỏa mãn ở mọi thời điểm Những điều kiện bất biến đó được gọi là ràng buộc toàn vẹn (RBTV) Trong thực tế ràng buộc toàn vẹn là các quy tắc quản lý được áp đặt trên các đối tượng của thế giới thực

Nhiệm vụ của người phân tích thiết kế là phải phát hiện càng đầy đủ và chính xác các ràng buộc toàn vẹn càng tốt và mô tả chúng một cách chính xác trong hồ sơ phân tích thiết kế - đó là một việc làm rất quan trọng và rất cần thiết

Trong một cơ sở dữ liệu, ràng buộc toàn vẹn được xem như là một công cụ để diễn đạt ngữ nghĩa của CSDL Một CSDL được thiết kế cồng kềnh nhưng nó thể hiện được đầy đủ ngữ nghĩa của thực tế vẫn có giá trị cao hơn rất nhiều so với một cách thiết kế gọn nhẹ nhưng nghèo nàn về ngữ nghĩa vì thiếu các ràng buộc toàn vẹn của cơ sở dữ liệu

Công việc kiểm tra ràng buộc toàn vẹn thường được tiến hành vào thời điểm cập nhật dữ liệu (thêm, sửa, xóa) Những ràng buộc toàn vẹn phát sinh cần phải được ghi nhận và xử lý một cách tường minh (thường là bởi một hàm chuẩn hoặc một đoạn chương trình).

Các yếu tố của ràng buộc toàn vẹn

Mỗi ràng buộc toàn vẹn có 3 yếu tố: điều kiện, bối cảnh và tầm ảnh hưởng

Điều kiện của ràng buộc toàn vẹn (R) có thể được trình bày ở nhiều dạng thức, bao gồm ngôn ngữ tự nhiên, thuật giải, ngôn ngữ đại số tập hợp, đại số quan hệ hoặc phụ thuộc hàm Ví dụ, trong lược đồ quan hệ SV, tồn tại một ràng buộc toàn vẹn:

Với r là một quan hệ của Sv ta có ràng buộc toàn vẹn sau

Bối cảnh của một ràng buộc toàn vẹn là những quan hệ mà ràng buộc đó có hiệu lực hay nói một cách khác, đó là những quan hệ cần phải được kiểm tra ràng buộc toàn vẹn Bối cảnh của một ràng buộc toàn vẹn có thể là một hoặc nhiều quan hệ Chẳng hạn với ràng buộc toàn vẹn trên thì bối cảnh là một quan hệ SV

Trong quá trình phân tích thiết kế một CSDL, người phân tích cần lập bảng tầm ảnh hưởng cho một ràng buộc toàn vẹn nhằm xác định thời điểm cần phải tiến hành kiểm tra các ràng buộc toàn vẹn đó Các thời điểm cần phải kiểm tra RBTV chính là những thời điểm cập nhật dữ liệu (thêm/ sửa/ xóa) Một bảng tầm ảnh hưởng của một RBTV có dạng sau:

Tên RBTV Thêm (T) Sửa (S) Xóa (X)

Bảng này chứa toàn các ký hiệu + hoặc –

Chẳng hạn + tại ô tương ứng với dòng r1, cột thêm thì có nghĩa là khi thêm một bộ vào quan hệ r1thì cần phải kiểm tra RBTV Dấu - Tại ô tương ứng với dòng r1, cột sửa thì có nghĩa là khi sửa một bộ trên quan hệ r1 thì không cần phải kiểm tra RBTV này,…

2 2 Phân loại ràng buộc toàn vẹn:

Trong quá trình phân tích thiết kế cơ sở dữ liệu, người phân tích phải phát hiện tất cả các ràng buộc toàn vẹn tiềm ẩn trong CSDL đó Việc phân loại các ràng buộc toàn vẹn là rất có ích, nó nhằm gíúp cho người phân tích có được một định hướng, tránh bỏ sót những ràng buộc toàn vẹn Các ràng buộc toàn vẹn có thể được chia làm hai loại chính như sau:

Ràng buộc toàn vẹn trên phạm vi là một quan hệ bao gồm: Ràng buộc toàn vẹn miền giá trị, ràng buộc toàn vẹn liên thuộc tính, ràng buộc toàn vẹn liên bộ

Ràng buộc toàn vẹn trên phạm vi nhiều quan hệ bao gồm: Ràng buộc toàn vẹn phụ thuộc tồn tại, ràng buộc toàn vẹn liên bộ - liên quan hệ, ràng buộc toàn vẹn liên thuộc tính – liên quan hệ Để minh họa cho phần lý thuyết của chương này, ta nêu ví dụ sau đây

Ví dụ: Đối với cơ sở dữ liệu C để quản lý hoạt động đặt hàng và giao hàng của một công ty, lược đồ quan hệ sẽ bao gồm các lược đồ sau:

Q1: Khach (MaKhach, TenKH, DiaChi, DThoại)

Tân từ: Mỗi khách hàng có một mã khách hàng (MaKhach) duy nhất, mỗi

MaKhach xác định một tên khách hàng (TenKH), một địa chỉ (MaKhach), một số điện thoại (DThoai)

Q2: Hang(MAHANG, TENHANG, QUYCACH, DVTINH)

Tân từ: Mỗi mặt hàng có một mã hàng (MAHANG) duy nhất, mỗi MAHANG xác định một tên hàng (TENHANG), quy cách hàng (QUYCACH), đơn vị tính (DVTINH)

Q3: Dathang(SODH, MAHANG, SLDAT, NGAYDH, MaKhach)

Tân từ: Mỗi lần đặt hàng có số đặt hàng (SODH) xác định một ngày đặt hàng

(NGAYDH) và mã khách hàng tương ứng (Makhach) Biết mã số đặt hàng và mã mặt hàng thì biết được số lượng đặt hàng(SLDAT) Mõi khách hàng trong một ngày có thể có nhiều lần đặt hàng

Q4: Hoadon(SOHD, NGAYLAP, SODH, TRIGIAHD, NGAYXUAT)

Tân từ: Mỗi hóa đơn có một mã số duy nhất là SOHD, mỗi hóa đơn bán hàng có thể gồm nhiều mặt hàng Mỗi hóa đơn xác định ngày lập hóa đơn (NGAYLAP), ứng với số đặt hàng nào (SODH) Giả sử rằng hóa đơn bán hàng theo yêu cầu của chỉ một đơn đặt hàng có mã số là SODH và ngược lại, mỗi đơn đặt hàng chỉ được giải quyết chỉ trong một hóa đơn Do điều kiện khách quan có thể công ty không giao đầy đủ các mặt hàng cũng như số lượng từng mặt hàng như yêu cầu trong đơn đặt hàng nhưng không bao giờ giao vượt ngoài yêu cầu Mỗi hóa đơn xác định một trị giá của các mặt hàng trong hóa đơn (TRIGIAHD) và một ngày xuất kho giao hàng cho khách (NGAYXUAT)

Q5: Chitiethd (SOHD, MAHANG, GIABAN, SLBAN)

Tân từ: Mỗi SOHD, MAHANG xác định giá bán (GIABAN) và số lượng bán

(SLBAN) của một mặt hàng trong một hóa đơn

Q6: Phieuthu(SOPT, NGAYTHU, MAKH, SOTIEN)

Mỗi phiếu thu có một số phiếu thu (SOPT) riêng biệt xác định ngày thu (NGAYTHU) của khách hàng có mã khách hàng (MAKH) và số tiền thu (SOTIEN) Khách hàng có thể có nhiều số phiếu thu trong cùng một ngày.

Ràng buộc toàn vẹn về miền giá trị

Ràng buộc toàn vẹn có liên quan đến miền giá trị của các thuộc tính trong một quan hệ Ràng buộc này thường gặp Một số hệ quản trị CSDL đã tự động kiểm tra một số ràng buộc loại này

Ví dụ: Với r là một quan hệ của Hoadon ta có ràng buộc toàn vẹn sau

Ràng buộc toàn vẹn liên thuộc tính

Ràng buộc toàn vẹn liên thuộc tính là mối liên hệ giữa các thuộc tính trong một lược đồ quan hệ

Ví dụ: Với r là một quan hệ của Hoadon ta có ràng buộc toàn vẹn sau

Ràng buộc toàn vẹn liên thuộc tính liên quan hệ

Ràng buộc loại này là mối liên hệ giữa các thuộc tính trong nhiều lược đồ quan hệ

Ví dụ: Với r, s lần lượt là quan hệ của Dathang, Hoadon ta có ràng buộc toàn vẹn sau

Nếu t 1 SODH = t 2 SODH thì t 1 NGAYDH X+=X3={ACDEH} là bao đóng của X

C ÁC LOẠI PHỤ THUỘC HÀM

2.1 Phụ thuộc hàm có vế trái dư thừa

F là tập các phụ thuộc hàm trên lược đồ quan hệ Q, Z là tập thuộc tính, Z→Y ∈

F Nói rằng phụ thuộc hàm Z → Y có vế trái dư thừa (phụ thuộc không đầy đủ) nếu có một A ∈ Z sao cho: F ≡ F - {Z → Y} ∪ {(Z - A) → Y}

Ngược lại Z → Y là phụ thuộc hàm có vế trái không dư thừa hay Y phụ thuộc hàm đầy đủ vào Z hay phụ thuộc hàm đầy đủ

AB → C là phụ thuộc hàm không đầy đủ

B → C là phụ thuộc hàm đầy đủ

Chú ý: Phụ thuộc hàm có vế trái chứa một thuộc tính là phụ thuộc hàm đầy đủ

Ví dụ 2: Cho tập phụ thuộc hàm F = {A → BC,B → C,AB → D} thì phụ thuộc hàm AB→D có vế trái dư thừa B vì: F ≡ F – {AB → D}∪{A → D}≡ {A → BC,B → C,A → D}

Ta nói F là tập phụ thuộc hàm có vế trái không dư thừa nếu F không chứa phụ thuộc hàm có vế trái dư thừa

Thuật toán loại khỏi F các phụ thuộc hàm có vế trái dư thừa

Bước 1: Lần lượt thực hiện bước 2 cho các phụ thuộc hàm X→Y của F

Bước 2: Với mọi tập con thật sự X’≠ ∅ của X

Nếu X'→Y ∈ F+ thì thay X→Y trong F bằng X'→Y thực hiện lại bước 2

Ví dụ 3: Ở ví dụ 2 phụ thuộc hàm AB→D có A+ = ABCD ⇒ A→D ∈ F+ Trong F ta thay AB→D bằng A→D ⇒ F ≡ {A → BC, B → C, A → D}

2.2 Phụ thuộc hàm có vế phải một thuộc tính

2.3 Tập phụ thuộc hàm không dư thừa

2.4 Tập phụ thuộc hàm tối thiểu

3 Thuật toán tìm phủ tối thiểu tối thiểu

Bước 1: Loại khỏi F các phụ thuộc hàm có vế trái dư thừa

Bước 2: Tách các phụ thuộc hàm có vế phải trên một thuộc tính thành các phụ thuộc hàm có vế phải một thuộc tính

Bước 3: Loại khỏi F các phụ thuộc hàm dư thừa

Chú ý: Theo thuật toán trên, từ một tập phụ thuộc hàm F luôn tìm được ít nhất một phủ tối thiểu Ftt để F ≡ Ftt và nếu thứ tự loại các phụ thuộc hàm trong tập F là khác nhau thì có thể sẽ thu được những phủ tối thiểu khác nhau

Ví dụ 6: Cho lược đồ quan hệ R =, Q(A,B,C,D) và tập phụ thuộc F như sau:

F= {AB → CD, B → C, C → D} Hãy tính phủ tối thiểu của F

Bước 1: AB→CD là phụ thuộc hàm có vế trái dư thừa?

Vậy AB → CD là phụ thuộc hàm có vế trái dư thừa A ⇒ kết quả của bước 1 là: F≡ {B → CD, B → C, C → D}

Bước 2: Kết quả của bước 2 là:

Bước 3: Trong F1tt, B → C là phụ thuộc hàm dư thừa?

B_G^+= BD ⇒ B → C ∉ G+ ⇒ trong F1tt vậy B → C không dư thừa Trong F1tt, B → D là phụ thuộc hàm dư thừa?

B_G^+= BCD ⇒ B → D ∈ G+ ⇒ trong F1tt,B → D dư thừa kết quả của bước

3 cho phủ tối thiểu: F≡ {B → C, C → D}=Ftt

Ví dụ 6: Cho lược đồ quan hệ R=, Q(MSCD, MSSV, CD, HG) và tập phụ thuộc F như sau: F = {MSCD → CD; CD → MSCD; CD,MSSV → HG; MSCD,HG → MSSV; CD,HG → MSSV; MSCD,MSSV → HG}Hãy tìm phủ tối thiểu của F

Ftt = {MSCD → CD; CD → MSCD; CD,HG → MSSV; MSCD,MSSV → HG}

4 Khóa của lược đồ quan hệ

Cho lược đồ quan hệ R=, Q(A1,A2,…,An),Q+ là tập thuộc tính của Q, F là tập phụ thuộc hàm trên Q, K là tập con của Q+ Ta nói rằng K là một khóa của Q nếu:

2 Không tồn tại K' ⊂ K sao cho K’+= Q+

Tập thuộc tính S được gọi là siêu khóa nếu S ⊇ K

Thuộc tính A được gọi là thuộc tính khóa nếu A∈K với K là khóa bất kỳ của Q Ngược lại A được gọi là thuộc tính không khóa

Một lược đồ quan hệ có thể có nhiều khóa và tập thuộc tính không khóa cũng có thể bằng rỗng

Khi thiết kế hệ thống thông tin, việc xác lập chuẩn cho lược đồ cơ sở dữ liệu là vô cùng quan trọng Tiêu chuẩn này liên hệ mật thiết với thuật toán tìm khóa.

4.2 Thuật toán tìm tất cả các khóa

Thuật toán tìm một khóa của một lược đồ quan hệ Q

Bước 2: A là một thuộc tính của K, đặt K’ = K − A Nếu K’+= Q+ thì gán K K' thực hiện lại bước 2

Nếu muốn tìm các khóa khác (nếu có) của lược đồ quan hệ, ta có thể thay đổi thứ tự loại bỏ các phần tử của K

Ví dụ: Cho R=, Q(ABCDEGHI) và tập phụ thuộc hàm sau:

F= {AC→ B, BI → ACD, ABC→D, H→I, ACE→BCG, CG→AE} Tìm K?

Lần lượt loại các thuộc tính trong K theo thứ tự sau: A, B, D, E, I Ta được một khóa là của lược đồ quan hệ là {C,G,H}

(Lưu ý là thuật toán này chỉ nên sử dụng trong trường hợp chỉ cần tìm một khóa)

Ví dụ: Với lược đồ quan hệ SINHVIEN(MaS, Hoten, QQ, NS, SoCMND) có các khóa :

K2 = {SoCMND} là khóa dự phòng

Thuộc tính khóa: Một thuộc tính được gọi là thuộc tính khóa của lược đồ quan hệ nếu nó thuộc vào ít nhất một khóa của lược đồ quan hệ Những thuộc tính không phải là thuộc tính khóa thì được gọi là thuộc tính không khóa

Khóa chính: Là một khóa dự tuyển được chọn Thông thường khóa chính là khóa dự tuyển có số thuộc tính ít nhất

Ví dụ: Với lược đồ quan hệ SINHVIEN(Mã SV, Tên SV, Năm sinh, Địa chỉ) K1 = {Mã SV} là khóa dự tuyển

K2 = {Mã Sv, Tên SV} không phải là khóa dự tuyển

Khóa ngoài: Một tập thuộc tính K là khóa ngoài của một lược đồ quan hệ r nếu

K không là khóa chính của quan hệ r nhưng lại là khóa chính của quan hệ khác

Ví dụ: Với lược đồ quan hệ SINHVIEN(Mã SV, Tên SV,…, Mã lớp)

LOP(Mã lớp, Tên lớp,…) Mã lớp là khóa ngoài của quan hệ SINHVIEN.

K HÓA CỦA LƯỢC ĐỒ QUAN HỆ

Cho lược đồ quan hệ R=, Q(A1,A2,…,An),Q+ là tập thuộc tính của Q, F là tập phụ thuộc hàm trên Q, K là tập con của Q+ Ta nói rằng K là một khóa của Q nếu:

2 Không tồn tại K' ⊂ K sao cho K’+= Q+

Tập thuộc tính S được gọi là siêu khóa nếu S ⊇ K

Thuộc tính A được gọi là thuộc tính khóa nếu A∈K với K là khóa bất kỳ của Q Ngược lại A được gọi là thuộc tính không khóa

Một lược đồ quan hệ có thể có nhiều khóa và tập thuộc tính không khóa cũng có thể bằng rỗng

(Khi thiết kế một hệ thống thông tin, thì việc lập lược đồ cơ sở dữ liệu đạt đến một tiêu chuẩn nào đó là một việc làm quan trọng Việc xác định chuẩn cho một lược đồ quan hệ có liên quan mật thiết với thuật toán tìm khóa)

4.2 Thuật toán tìm tất cả các khóa

Thuật toán tìm một khóa của một lược đồ quan hệ Q

Bước 2: A là một thuộc tính của K, đặt K’ = K − A Nếu K’+= Q+ thì gán K K' thực hiện lại bước 2

Nếu muốn tìm các khóa khác (nếu có) của lược đồ quan hệ, ta có thể thay đổi thứ tự loại bỏ các phần tử của K

Ví dụ: Cho R=, Q(ABCDEGHI) và tập phụ thuộc hàm sau:

F= {AC→ B, BI → ACD, ABC→D, H→I, ACE→BCG, CG→AE} Tìm K?

Lần lượt loại các thuộc tính trong K theo thứ tự sau: A, B, D, E, I Ta được một khóa là của lược đồ quan hệ là {C,G,H}

(Lưu ý là thuật toán này chỉ nên sử dụng trong trường hợp chỉ cần tìm một khóa)

Ví dụ: Với lược đồ quan hệ SINHVIEN(MaS, Hoten, QQ, NS, SoCMND) có các khóa :

K2 = {SoCMND} là khóa dự phòng

Thuộc tính khóa: Một thuộc tính được gọi là thuộc tính khóa của lược đồ quan hệ nếu nó thuộc vào ít nhất một khóa của lược đồ quan hệ Những thuộc tính không phải là thuộc tính khóa thì được gọi là thuộc tính không khóa

Khóa chính: Là một khóa dự tuyển được chọn Thông thường khóa chính là khóa dự tuyển có số thuộc tính ít nhất

Ví dụ: Với lược đồ quan hệ SINHVIEN(Mã SV, Tên SV, Năm sinh, Địa chỉ) K1 = {Mã SV} là khóa dự tuyển

K2 = {Mã Sv, Tên SV} không phải là khóa dự tuyển

Khóa ngoài: Một tập thuộc tính K là khóa ngoài của một lược đồ quan hệ r nếu

K không là khóa chính của quan hệ r nhưng lại là khóa chính của quan hệ khác

Ví dụ: Với lược đồ quan hệ SINHVIEN(Mã SV, Tên SV,…, Mã lớp)

LOP(Mã lớp, Tên lớp,…) Mã lớp là khóa ngoài của quan hệ SINHVIEN

NGÔN NGỮ THAO TÁC DỮ LIỆU

- Trình bày được đặc điểm của các loại ngôn ngữ cơ sở dữ liệu

- Trình bày được các phép toán đại số quan hệ, các phép toán đại số bổ sung

- Trình bày được các tính chất và đặc điểm của đại số quan hệ

- Trình bày được đặc điểm của ngôn ngữ cơ sở hệ thống thông tin và ngôn ngữ vấn tin SQL

- Vận dụng thành thạo các phép toán đại số quan hệ trên dữ liệu vào các bài tập

- Vận dụng thành thạo các phép toán đại số quan hệ trên dữ liệu vào các bài tập

- Rèn luyện tính cẩn thận, tỉ mỉ, chính xác, sáng tạo, linh hoạt trong công việc

1 Các khái niệm cơ bản

Chẳng hạn với bài toán quản lý điểm thi của sinh viên; với đôi tượng sinh viên ta cần phải chú ý đến các đặc trưng riêng như họ tên, ngày sinh, nữ (giới tính), tỉnh thường trú, học bổng, lớp mà sinh viên theo học, các đặc trưng này gọi là thuộc tính

Các thuộc tính được phân biệt qua tên gọi và phải thuộc vào một kiểu dữ liệu nhất định (số, chuỗi, ngày tháng, logic, hình ảnh,…) Kiểu dữ liệu ở đây là kiểu đơn Trong cùng một đối tượng không được có hai thuộc tính cùng tên

Thông thường mỗi thuộc tính chỉ chọn lấy giá trị trong một tập con của kiểu dữ liệu và tập hợp con đó gọi là miền giá trị của thuộc tính đó Thuộc tính ngày trong tháng thì có kiểu dữ liệu là số nguyên, miền giá trị của nó là 1 đến (tối đa là) 31 Hoặc điểm thi của sinh viên chỉ là các số nguyên từ 0 đến 10

Thường người ta dùng các chữ cái hoa A,B,C,… để biểu diễn các thuộc tính, hoặc A1,A2,…., An để biểu diễn một số lượng lớn các thuộc tính

Tập tất cả các thuộc tính cần quản lý của một đối tượng cùng với mối liên hệ giữa chúng được gọi là lược đồ quan hệ Lược đồ quan hệ R với tập thuộc tính {A1,

A 2 , ,A n } được viết là R(A 1 , A 2 , ,A n ) Tập các thuộc tính của R được ký hiệu là R +

Chẳng hạn lược đồ quan hệ sinh viên (Đặt tên là Sv) với các thuộc tính như trên là: Sv(MASV, HOSV, TENSV, NU, NGAYSINH, MALOP, HOCBONG, TINH)

Thường khi thành lập một lược đồ, người thiết kế luôn gắn cho nó một ý nghĩa nhất định, ý nghĩa đó gọi là tân từ của lược đồ quan hệ đó Dựa vào tân từ người ta xác định được tập thuộc tính khóa của lược đồ quan hệ (khái niệm khoá sẽ được trình bày ở phần sau)

Khi định nghĩa một lược đồ quan hệ, cần mô tả rõ ràng ý nghĩa của tân từ để tránh nhầm lẫn Ví dụ, tân từ của lược đồ quan hệ trên mô tả mối quan hệ "một một" giữa sinh viên và mã sinh viên của họ Theo đó, mỗi mã sinh viên sẽ xác định toàn bộ các thuộc tính của sinh viên đó, bao gồm họ tên, giới tính, ngày sinh, lớp theo học, học bổng và tỉnh cư trú.

Nhiều lược đồ quan hệ cùng nằm trong một hệ thống quản lý được gọi là một lược đồ cơ sở dữ liệu

Ví dụ lược đồ cơ sở dữ liệu để quản lý điểm sinh viên có thể gồm các lược đồ quan hệ sau:

Sv(MASV, HOSV,TENSV, NU, NGAYSINH, MALOP, TINH, HOCBONG) Lop(MALOP,TENLOP,SISO,MAKHOA)

Bộ là tập mỗi giá trị liên quan của tất cả các thuộc tính của một lược đồ quan hệ

Thường người ta dùng các chữ cái thường (như t, p, q,…) để biểu diễn các bộ Chẳng hạn để nói bộ t thuộc quan hệ r ta viết: t  r

Về trực quan thì mỗi quan hệ xem như một bảng, trong đó mỗi cột là thông tin về một thuộc tính, mỗi dòng là thông tin về một bộ Chẳng hạn sau đây là các thể hiện của các quan hệ định nghĩa trên lược đồ cơ sở dữ liệu quản lý sinh viên ở trên:

Thể hiện của lược đồ quan hệ Q tại thời điểm bất kỳ được gọi là quan hệ Mỗi lược đồ quan hệ có thể định nghĩa nhiều quan hệ Thông thường, các ký hiệu R, S, Q được sử dụng để biểu diễn các lược đồ quan hệ, trong khi quan hệ được định nghĩa trên lược đồ tương ứng được ký hiệu là r, s, q.

1.5 Siêu khoá - khoá chỉ định

Cho lược đồ quan hệ R, S  R + S được gọi là một siêu khóa (superkey) của lược đồ quan hệ R nếu với hai bộ tùy ý trong quan hệ R thì giá trị của các thuộc tính trong S là khác nhau

Một lược đồ quan hệ có thể có nhiều siêu khoá Siêu khoá chứa ít thuộc tính nhất được gọi là khóa chỉ định , trong trường hợp lược đồ quan hệ có nhiều khóa chỉ định, thì khóa được chọn để cài đặt gọi là khóa chính (Primary key) (trong các phần sau khóa chính được gọi tắt là khóa)

Các thuộc tính tham gia vào một khóa được gọi là thuộc tính khóa (prime key), ngược lại được gọi là thuộc tính không khóa (non prime key)

Một thuộc tính được gọi là khóa ngoại nếu nó là thuộc tính của một lược đồ quan hệ này nhưng lại là khóa chính của lược đồ quan hệ khác

Ví dụ: Ta hãy xem lược đồ quan hệ sau:

Xe(SODANGBO, QUICACH, INHDANG, MAUSAC, SOSUON, SOMAY, MAXE, QUOCGIA)

Khóa chỉ định: (SODANGBO, QUOCGIA), (SOSUON), (SOMAY), (MAXE)

Thuộc tính khóa: SODANGBO, QUOCGIA, SOSUON, SOMAY, MAXE

Thuộc tính không khóa: QUICACH, HINHDANG, MAUSAC

Khóa của Sv là (MASV), Khoá của Mh là (MAMH), khoá của Kh là (MAKHOA), khóa của Kq là (MASV,MAMH) khóa của Lop là MALOP, trong Lop thuộc tính MAKHOA là khóa ngoại

2 Các phép toán đại số quan hệ

Cho hai lược đồ quan hệ Q1 và Q2 có cùng tập thuộc tính {A1, A2, ,An} r1 và r2 lần lượt là hai quan hệ trên Q1 và Q2 Phép hợp của hai lược đồ quan hệ Q1 và Q2 tạo thành một lược đồ quan hệ Q3 Q3 được xác định như sau:

Ví dụ: cho hai quan hệ r và s như sau : r s

Hợp quan hệ r và s cho ta quan hệ : r  s r  s

Cho hai lược đồ quan hệ Q 1 và Q 2 có cùng tập thuộc tính {A 1 ,A 2 , ,A n } r 1 và r 2 lần lượt là hai quan hệ trên Q1 và Q 2 Phép giao của hai lược đồ quan hệ Q 1 và Q 2 sẽ tạo thành một lược đồ quan hệ Q 3 như sau:

Ví dụ: cho hai quan hệ r và s như sau : r s

Giao quan hệ r và s cho ta quan hệ : r  s r  s

Cho hai lược đồ quan hệ Q 1 và Q 2 có cùng tập thuộc tính {A 1 , A 2 , ,A n } r 1 và r 2 lần lượt là hai quan hệ trên Q1 và Q 2 Phép trừ lược đồ quan hệ Q 1 cho Q 2 sẽ tạo thành một lược đồ quan hệ Q 3 như sau:

Ví dụ: cho hai quan hệ r và s như sau : r s

Phép trừ quan hệ r và s cho ta quan hệ : r - s r - s

Cho hai quan hệ r và s Trong đó r trên tập thuộc tính U = {A 1 , ,A n } và s trên tập thuộc tính V ={B 1 , ,B m }, A i và B j là hai thuộc tính tương ứng thuộc U và V sao cho dom(A i ) = dom(B j )

Gọi  là một trong các phép toán {=, >, >=,

Ngày đăng: 03/06/2024, 19:03