Bài 10: Cơ Sở Dữ Liệu Quan Hệ | Tin Học 12 | Chương III: Hệ Cơ Sở Dữ Liệu Quan Hệ - Lớp 12 - Giáo Dục Việt Nam

Tin học 12 - Bài 10


1. Mô hình dữ liệu quan hệ

Như đã biết ở chương I, việc xây dựng và khai thác một hệ CSDL thường được tiến hành qua một số bước và có sự tham gia của nhiều người với mức hiểu biết khác nhau về CSDL. Để có thể nghiên cứu và phát triển các ứng dụng CSDL, cộng đồng những người làm việc trong lĩnh vực CSDL cần trao đổi với nhau về những yếu tố sau đây của một hệ CSDL:

  • Cấu trúc dữ liệu;
  • Các thao tác, phép toán trên dữ liệu;
  • Các ràng buộc dữ liệu.

Các khái niệm dùng để mô tả các yếu tố trên tạo thành mô hình dữ liệu.

Có nhiều mô hình dữ liệu khác nhau như mô hình phân cấp, mô hình quan hệ, mô hình hướng đối tượng,... nhưng ở đây ta chỉ đề cập đến mô hình dữ liệu quan hệ vì cho đến nay đó là mô hình phổ biến nhất trong thực tế xây dựng các ứng dụng CSDL.

Mô hình dữ liệu quan hệ (gọi tắt là mô hình quan hệ) được E. F. Codd đề xuất năm 1970. Trong khoảng ba mươi năm trở lại đây, các hệ CSDL xây dựng theo mô hình quan hệ được dùng rất phổ biến. Trong mô hình quan hệ:

  • Về mặt cấu trúc: Dữ liệu được thể hiện trong các bảng. Mỗi bảng bao gồm các hàng và các cột thể hiện thông tin về một chủ thể. Các cột biểu thị các thuộc tính của chủ thể và tên cột thường là tên của thuộc tính. Mỗi hàng biểu thị cho một cá thể, gồm một bộ các giá trị tương ứng với các cột.
  • Về mặt thao tác trên dữ liệu: Có thể cập nhật dữ liệu như thêm, xoá hay sửa bản ghi trong một bảng. Các kết quả tìm kiếm thông tin qua truy vấn dữ liệu có được nhờ thực hiện các thao tác trên dữ liệu.
  • Về mặt các ràng buộc dữ liệu: Dữ liệu trong các bảng phải thoả mãn một số ràng buộc, chẳng hạn, không được có hai bộ nào trong một bảng giống nhau hoàn toàn. Với sự xuất hiện lặp lại của một số thuộc tính ở các bảng, mối liên kết giữa các bảng được xác lập. Mối liên kết này thể hiện mối quan hệ giữa các chủ thể được CSDL phản ánh.

2. Cơ sở dữ liệu quan hệ

a) Khái niệm

Cơ sở dữ liệu được xây dựng dựa trên mô hình dữ liệu quan hệ gọi là cơ sở dữ liệu quan hệ . Hệ QTCSDL dùng để tạo lập, cập nhật và khai thác CSDL quan hệ gọi là hệ QTCSDL quan hệ.

Ngoài thuật ngữ quan hệ để chỉ bảng, thuộc tính để chỉ cột, bộ (bản ghi) để chỉ hàng, trong mô hình dữ liệu quan hệ ta sử dụng thuật ngữ miền để chỉ kiểu dữ liệu của một thuộc tính. Mỗi thuộc tính có một miền, ví dụ miền của thuộc tính họ và tên trong CSDL Lớp là tập các xâu kí tự, mỗi xâu không quá 25 kí tự. Các miền của các thuộc tính khác nhau không nhất thiết phải khác nhau.

Một quan hệ trong hệ CSDL quan hệ có các đặc trưng chính sau:

  • Mỗi quan hệ có một tên phân biệt với tên các quan hệ khác;
  • Các bộ là phân biệt và thứ tự của các bộ không quan trọng;
  • Mỗi thuộc tính có một tên phân biệt, thứ tự các thuộc tính không quan trọng;
  • Quan hệ không có thuộc tính đa trị hay phức hợp.

Ví dụ, bảng ở hình 69 không phải là một quan hệ vì có thuộc tính đa trị.

hinh-anh-bai-10-co-so-du-lieu-quan-he-3105-0

Hình 69. Bảng có thuộc tính đa trị

Còn bảng ở hình 70 cũng không phải là một quan hệ vì có thuộc tính phức hợp.

hinh-anh-bai-10-co-so-du-lieu-quan-he-3105-1

Hình 70. Bảng có thuộc tính phức hợp

Ở nước ta, thường dùng một số hệ QTCSDL quan hệ như Microsoft, Access, Foxpro, Microsoft SQL Server, ... Ngoài ra có thể kể đến một số hệ QTCSDL quan hệ thông dụng khác như Oracle, Paradox, Visual DBase,...

b) Ví dụ

CSDL Lớp ở chương I và các CSDL được giới thiệu trong chương II đều là những CSDL quan hệ.

Như vậy, về thực chất, trong chương II, ta đã làm quen với nhiều khái niệm về CSDL quan hệ và hệ QTCSDL quan hệ. Tuy nhiên, nội dung đó chủ yếu đề cập đến kĩ năng cơ bản sử dụng một hệ QTCSDL quan hệ (cụ thể là Access) để tạo lập, cập nhật và khai thác CSDL. Dưới đây là một ví dụ được xem xét ở mức mô hình để thấy được một số nét đặc trưng của các hệ CSDL quan hệ.

Để quản lí việc học sinh mượn sách ở thư viện của một trường, thông thường, thư viện cần quản lí các thông tin về:

  • Tình hình mượn sách: Số thẻ, mã số sách, ngày mượn, ngày trả.
  • Các học sinh có thể mượn sách: Số thẻ, họ tên, ngày sinh, lớp.
  • Sách có trong thư viện: Mã số sách, tên sách, số trang, tác giả.

Có thể sử dụng ba bảng để lưu trữ dữ liệu tương ứng với những thông tin cần quản lí nêu trên. Giữa ba bảng đó có các liên kết được minh hoạ ở hình 71.

hinh-anh-bai-10-co-so-du-lieu-quan-he-3105-2

Hình 71. Liên kết giữa các bảng

Sự xuất hiện lại của thuộc tính Số thẻ và Mã số sách ở bảng MƯỢN SÁCH trong bảng NGƯỜI MƯỢN và bảng SÁCH thể hiện một sự liên kết giữa học sinh mượn sách và sách trong thư viện. Nhờ liên kết này mà ta biết được nhiều thông tin, chẳng hạn những học sinh đã mượn một cuốn sách nào đó, sách do một học sinh nào đó mượn,...

c) Khoá và liên kết giữa các bảng

• Khoá

Trong một bảng, mỗi hàng thể hiện thông tin về một đối tượng (cá thể) nên sẽ không thể có hai hàng giống nhau hoàn toàn. Nghĩa là không có hai hàng nào (trong một bảng) tương ứng bằng nhau trên tất cả các thuộc tính. Ta còn nói rằng tập tất cả các thuộc tính trong bảng "phân biệt" (hay "nhận diện") được các cá thể.

Tuy nhiên, thông thường không cần đến tập tất cả các thuộc tính trong bảng để phân biệt các cá thể. Trong nhiều trường hợp một thuộc tính hay một tập con các thuộc tính trong bảng cũng có tính chất này.

Bảng NGƯỜI MƯỢN

Số thẻ Họ tên Ngày sinh Lớp
TV-01 Nguyễn Anh 10/10/1990 12A
TV-02 Trần Cương 23/02/1991 11B
... ... ... ...
TV-56 Nguyễn Anh 21/8/1990 12A
TV-91 Nguyễn Thị Dung 10/10/1990 12A

Hình 72. Thuộc tính Số thẻ được dùng để phân biệt người mượn

Ví dụ, trong bảng NGƯỜI MƯỢN (h. 72), thuộc tính Số thẻ có thể dùng để phân biệt các học sinh, vì mỗi học sinh có một số thẻ thư viện riêng.

Một ví dụ nữa, hãy xem xét bảng MƯỢN SÁCH (h. 73). Chỉ một thuộc tính Số thẻ không đủ để phân biệt các lần mượn sách bởi một học sinh có thể mượn sách nhiều lần.

hinh-anh-bai-10-co-so-du-lieu-quan-he-3105-3

Hình 73. Một học sinh có thể mượn sách nhiều lần

Tập gồm hai thuộc tính Số thẻMã số sách cũng chưa đủ để phân biệt các lần mượn sách vì một học sinh có thể mượn đi mượn lại một cuốn sách nào đó.

hinh-anh-bai-10-co-so-du-lieu-quan-he-3105-4

Hình 74. Một học sinh có thể mượn một cuốn sách nhiều lần

Giả sử có quy định rằng trong một ngày, mỗi học sinh không được mượn một cuốn sách nhiều lần thì với tập gồm ba thuộc tính Số thẻ, Mã số sách, Ngày mượn ta có thể phân biệt được các lần mượn sách được ghi trong bảng MƯỢN SÁCH.

Như vậy trong các thuộc tính của một bảng, ta quan tâm đến một tập thuộc tính (có thể chỉ gồm một thuộc tính) vừa đủ để phân biệt được các bộ, nghĩa là không thể bỏ bớt được thuộc tính nào.

Trong một bảng, tập thuộc tính được mô tả ở trên được gọi là khoá của một bảng.

Trở lại ví dụ trên, trong bảng NGƯỜI MƯỢN có thuộc tính Số thẻ là một khoán khoá này chỉ gồm một thuộc tính. Thuộc tính Mã số sách làm thành một khoá của bảng SÁCH. Khoá của bảng MƯỢN SÁCH gồm ba thuộc tính Số thẻ, Mã số sách, Ngày mượn.

• Khoá chính

Một bảng có thể có nhiều khoá. Trong các khoá của một bảng người ta thường chọn (chỉ định) một khoá làm khoá chính (primary key). Trong một hệ QTCSDL quan hệ, khi nhập dữ liệu cho một bảng, dữ liệu tại các cột khoá chính không được để trống. Các hệ QTCSDL quan hệ kiểm soát điều đó và đảm bảo sự nhất quán dữ liệu, tránh trường hợp thông tin về một cá thể xuất hiện hơn một lần sau những cập nhật dữ liệu. Trong mô hình quan hệ, ràng buộc như vậy về dữ liệu còn được gọi là ràng buộc toàn vẹn thực thể (hay gọi ngắn gọn là ràng buộc khoá).

Chú ý :

- Mỗi bảng có ít nhất một khoá. Việc xác định khoá phụ thuộc vào quan hệ lôgic của các dữ liệu chứ không phụ thuộc vào giá trị các dữ liệu.

- Nên chọn khoá chính là khoá có ít thuộc tính nhất.

• Liên kết

Thực chất sự liên kết giữa các bảng được xác lập dựa trên thuộc tính khoá. Chẳng hạn thuộc tính Số thẻ là khoá của bảng NGƯỜI MƯỢN xuất hiện lại ở bảng MƯỢN SÁCH đã tạo nên liên kết giữa hai bảng này. Cũng như vậy, khoá Mã số sách của bảng SÁCH xuất hiện ở bảng MƯỢN SÁCH thể hiện mối quan hệ giữa hai bảng này. Nhờ các liên kết này mà ta biết được học sinh nào mượn cuốn sách gì.

Ví dụ, ta cần biết thông tin đầy đủ về học sinh nào đã mượn sách có mã số 'TO-012'. Bộ đầu tiên trong bảng MƯỢN SÁCH (h. 71) cho biết học sinh có số thẻ 'TV-02' đã mượn cuốn sách có mã số 'TO-012'. Trong bảng NGƯỜI MƯỢN, ta tìm thấy bộ có giá trị thuộc tính số thẻ là 'TV-02'. Từ đó ta biết được người mượn cuốn sách mã số 'TO-012' vào ngày '5/9/2007' là học sinh 'Trần Cương', sinh ngày '23/02/1991', học lớp '11B'. Nói một cách khác, từ một bộ ở bảng MƯỢN SÁCH, ta đã tham chiếu đến một bộ khác ở bảng NGƯỜI MƯỢN qua giá trị của thuộc tính Số thẻ. Trong mối liên kết như vậy giữa hai bảng trên, ta coi bảng MƯỢN SÁCH là bảng chính của liên kết, còn bảng NGƯỜI MƯỢN là bảng được tham chiếu đến (h. 71).

Tương tự, có thể dựa vào mối liên kết giữa hai bảng MƯỢN SÁCH và SÁCH để biết được thông tin chi tiết về cuốn sách mà người có số thẻ 'TV-02' đã mượn vào ngày '5/9/2007. Đối với mối liên kết này, bảng chính vẫn là bảng MƯỢN SÁCH, bảng được tham chiếu đến là bảng SÁCH, thuộc tính đóng vai trò liên kết hai bảng là Mã số sách.

Khi sử dụng đồng thời nhiều mối liên kết, ta có thể kết nối được các thông tin tương ứng với nhau. Chẳng hạn, nhờ hai mối liên kết giữa bảng MƯỢN SÁCH với bảng NGƯỜI MƯỢN và với bảng SÁCH, ta biết được thông tin đầy đủ: vào ngày '5/9/2007', học sinh 'Trần Cương' sinh ngày '23/02/1991', lớp '11B' đã mượn cuốn sách 'Sáng tạo Toán học' gồm '308' trang và đã trả cuốn sách này vào ngày '30/9/2007.

Tóm lại, có thể xem ba bảng trên cùng các liên kết giữa chúng tạo thành một CSDL quan hệ đơn giản, được lưu trữ ở bộ nhớ ngoài, phục vụ quản lí việc mượn sách thư viện của một trường học.

CÂU HỎI VÀ BÀI TẬP

1. Theo em, khi xét một mô hình dữ liệu ta cần quan tâm những yếu tố nào?

2. Hãy nêu các khái niệm cơ bản mà em biết về hệ CSDL quan hệ.

3. Những tiêu chí nào giúp ta chọn khoá chính cho bảng? Hãy cho ví dụ và giải thích.

 

Tin tức mới


Đánh giá

Bài 10: Cơ Sở Dữ Liệu Quan Hệ | Tin Học 12 | Chương III: Hệ Cơ Sở Dữ Liệu Quan Hệ - Lớp 12 - Giáo Dục Việt Nam

Tổng số sao của bài viết là: 5 trong 1 đánh giá
Xếp hạng: 5 / 5 sao

Bình Luận

Để Lại Bình Luận Của Bạn

Tin Học 12

  1. Chương I: Khái Niệm Về Hệ Cơ Sở Dữ Liệu
  2. Chương II: Hệ Quản Trị Cơ Sở Dữ Liệu Microsoft Access
  3. Chương III: Hệ Cơ Sở Dữ Liệu Quan Hệ
  4. Chương IV: Kiến Trúc Và Bảo Mật Các Hệ Cơ Sở Dữ Liệu
  5. Phụ Lục

Tin tức mới

Bộ Sách Lớp 12

Giáo Dục Việt Nam

Bộ Sách Giáo Khoa của Nhà Xuất Bản Giáo Dục Việt Nam

Kết Nối Tri Thức Với Cuộc Sống

Sách giáo khoa của nhà xuất bản Kết Nối Tri Thức Với Cuộc Sống

Sách Bài Giải

Bài giải cho các sách giáo khoa, sách bài tập

Sách Giáo Dục Việt Nam

Lớp 6

Sách giáo khoa dành cho lớp 6

Lớp 5

Sách giáo khoa dành cho lớp 5

Lớp 4

Sách giáo khoa dành cho lớp 4

Lớp 3

Sách giáo khoa dành cho lớp 3

Lớp 7

Sách giáo khoa dành cho lớp 7

Lớp 8

Sách giáo khoa dành cho lớp 8

Lớp 9

Sách giáo khoa dành cho lớp 9

Lớp 10

Sách giáo khoa dành cho lớp 10

Lớp 11

Sách giáo khoa dành cho lớp 11

Lớp 12

Sách giáo khoa dành cho lớp 12

Liên Kết Chia Sẻ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.