SGK Tin Học 12 - §10. Cơ Sở Dữ Liệu Quan Hệ - Giải Bài Tập

Giải Bài Tập

Giải Bài Tập, Sách Giải, Giải Toán, Vật Lý, Hóa Học, Sinh Học, Ngữ Văn, Tiếng Anh, Lịch Sử, Địa Lý

  • Home
  • Lớp 1,2,3
    • Lớp 1
    • Giải Toán Lớp 1
    • Tiếng Việt Lớp 1
    • Lớp 2
    • Giải Toán Lớp 2
    • Tiếng Việt Lớp 2
    • Văn Mẫu Lớp 2
    • Lớp 3
    • Giải Toán Lớp 3
    • Tiếng Việt Lớp 3
    • Văn Mẫu Lớp 3
    • Giải Tiếng Anh Lớp 3
  • Lớp 4
    • Giải Toán Lớp 4
    • Tiếng Việt Lớp 4
    • Văn Mẫu Lớp 4
    • Giải Tiếng Anh Lớp 4
  • Lớp 5
    • Giải Toán Lớp 5
    • Tiếng Việt Lớp 5
    • Văn Mẫu Lớp 5
    • Giải Tiếng Anh Lớp 5
  • Lớp 6
    • Soạn Văn 6
    • Giải Toán Lớp 6
    • Giải Vật Lý 6
    • Giải Sinh Học 6
    • Giải Tiếng Anh Lớp 6
    • Giải Lịch Sử 6
    • Giải Địa Lý Lớp 6
    • Giải GDCD Lớp 6
  • Lớp 7
    • Soạn Văn 7
    • Giải Bài Tập Toán Lớp 7
    • Giải Vật Lý 7
    • Giải Sinh Học 7
    • Giải Tiếng Anh Lớp 7
    • Giải Lịch Sử 7
    • Giải Địa Lý Lớp 7
    • Giải GDCD Lớp 7
  • Lớp 8
    • Soạn Văn 8
    • Giải Bài Tập Toán 8
    • Giải Vật Lý 8
    • Giải Bài Tập Hóa 8
    • Giải Sinh Học 8
    • Giải Tiếng Anh Lớp 8
    • Giải Lịch Sử 8
    • Giải Địa Lý Lớp 8
  • Lớp 9
    • Soạn Văn 9
    • Giải Bài Tập Toán 9
    • Giải Vật Lý 9
    • Giải Bài Tập Hóa 9
    • Giải Sinh Học 9
    • Giải Tiếng Anh Lớp 9
    • Giải Lịch Sử 9
    • Giải Địa Lý Lớp 9
  • Lớp 10
    • Soạn Văn 10
    • Giải Bài Tập Toán 10
    • Giải Vật Lý 10
    • Giải Bài Tập Hóa 10
    • Giải Sinh Học 10
    • Giải Tiếng Anh Lớp 10
    • Giải Lịch Sử 10
    • Giải Địa Lý Lớp 10
  • Lớp 11
    • Soạn Văn 11
    • Giải Bài Tập Toán 11
    • Giải Vật Lý 11
    • Giải Bài Tập Hóa 11
    • Giải Sinh Học 11
    • Giải Tiếng Anh Lớp 11
    • Giải Lịch Sử 11
    • Giải Địa Lý Lớp 11
  • Lớp 12
    • Soạn Văn 12
    • Giải Bài Tập Toán 12
    • Giải Vật Lý 12
    • Giải Bài Tập Hóa 12
    • Giải Sinh Học 12
    • Giải Tiếng Anh Lớp 12
    • Giải Lịch Sử 12
    • Giải Địa Lý Lớp 12
Trang ChủLớp 12Giải Bài Tập Tin Học 12SGK Tin Học 12§10. Cơ sở dữ liệu quan hệ SGK Tin Học 12 - §10. Cơ sở dữ liệu quan hệ
  • §10. Cơ sở dữ liệu quan hệ trang 1
  • §10. Cơ sở dữ liệu quan hệ trang 2
  • §10. Cơ sở dữ liệu quan hệ trang 3
  • §10. Cơ sở dữ liệu quan hệ trang 4
  • §10. Cơ sở dữ liệu quan hệ trang 5
  • §10. Cơ sở dữ liệu quan hệ trang 6
  • §10. Cơ sở dữ liệu quan hệ trang 7
10 . cơ sở Dữ LIỆU QUAN HỆ 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. Cơ sỏ dữ liệu quan hệ 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ị. SỐ thẻ Mã số sách Ngày muợn Ngày trả TV-02 TO-012 5/9/2007 30/9/2007 TN-103 22/10/2007 25/10/2007 TV-04 TN-103 12/9/2007 15/9/2007 TV-02 TN-102 24/9/2007 5/10/2007 TV-01 TO-012 5/10/2007 ... ... ... 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. Số thẻ Mã số sách Ngàymưọn - trả . Ngày mượn Ngày trả TV-02 TO-012 5/9/2007 30/9/2007 TV-04 TN-103 12/9/2007 15/9/2007 TV-02 TN-102 24/9/2007 5/10/2007 TV-01 TO-012 5/10/2007 12/10/2007 ... ... ... ... Phức họp 82 6-TH12-B Ở 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,... 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. Số thè; Họ tên Ngáy sinh Lóp TV-011 Nguyễn Anh 10/10/1990 12A TV-02’ Trán Cuong 23/02/1991 11B TV-03 Lẽ Văn Binh 21/12/1990 12B TV-04 Nguyên Thị Dung 30/01/1992 10C Bảng NGƯỜI MƯỢN Mã só sách Ténsách Só trang Tác già TN-102 Dé mèn phiêu luu kí 236 Tó Hoài TN-103 Hai vạn dặm dưới biển 120 Giuyn Vécno TI-01 Những điểu kì diệu vé máy tính 240 Nguyễn Thế Hùng •TO-012 Sáng tạo Toán học 308 Polya Bảng SÁCH Bảng MƯỢN SÁCH Số thẻ Mã số sách Ngày muợn Ngáy trà “TV-02 TO -012 5/9/2007 30/9/2007 TV-04 Th 103 12/9/2007 15/9/2007 TV-02 Th 102 24/9/2007 5/10/2007 TV-02 TC ■012 5/10/2007 í 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,... 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ưomg ứ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ố the'đượ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. Bảng MƯỢN SÁCH Học sinh có mã TV-02 mượn ba lán Sỗ thè Mã số sách Ngày muọn Ngày trà - TV-02 TO-012 5/9/2007 30/9/2007 TV-04 TN-103 12/9/2007 15/9/2007 ■ TV-02 TN-102 24/9/2007 5/10/2007 ■TV-02 TO-012 5/10/2007 Tập gồm hai thuộc tính Sô' thẻ và 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 đó. Số thè Mã só sách Ngày muọn Ngáy trả - TV-02 TO-012 5/9/2007 30/9/2007 TV-04 TN-103 12/9/2007 15/9/2007 TV-02 TN-102 24/9/2007 5/10/2007 ■ TV-02 TO-012 5/10/2007 ... Bảng MƯỢN SÁCH Hình 74. Một học sinh có thể mượn một cuốn sạch nhiều lần Học sinh có mã TV-02 mượn cuốn sách có mắTO-012 hai 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á, 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 muọ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íhh {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/199T, học lớp T1B'. 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 T1B' đã 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 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? Hãy nêu các khái niệm co bởn mà em biết về hệ CSDL quan hệ. 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.

Các bài học tiếp theo

  • Bài tập và thực hành 10. Hệ cơ sở dữ liệu quan hệ
  • §11. Các thao tác với cơ sở dữ liệu quan hệ
  • §12. Các loại kiến trúc của hệ cơ sở dữ liệu
  • §13. Bảo mật thông tin trong các hệ cơ sở dữ liệu
  • Bài tập và thực hành 11. Bảo mật cơ sở dữ liệu
  • Phụ lục 1. Một số tính chất của trường dữ liệu trong Access
  • Phụ lục 2. Biểu thức trong Access
  • Phụ lục 3. Một số giao diện Access
  • Phụ lục 4. Một số thuật ngữ Tiếng Anh dùng trong Access

Các bài học trước

  • Bài đọc thêm 2. Sửa thiết kế và in báo cáo
  • Bài tập và thực hành 9. Bài thực hành tổng hợp
  • Bài tập và thực hành 8. Tạo báo cáo
  • §9. Báo cáo và kết xuất báo cáo
  • Bài tập và thực hành 7. Mẫu hỏi trên nhiều bảng
  • Bài tập và thực hành 6. Mẫu hỏi trên nhiều bảng
  • §8. Truy vấn dữ liệu
  • Bàì tập thực hành 5. Tạo biểu mẫu đơn giản
  • §7. Liên kết giữa các bảng
  • Bài tập và thực hành 4. Tạo biểu mẫu đơn giản

SGK Tin Học 12

  • CHƯƠNG I. KHÁI NIỆM VỀ CƠ SỞ DỮ LIỆU
  • §1. Một số khái niệm cơ bản
  • §2. Hệ quản trị cơ sở dữ liệu
  • Bài tập và thực hành 1. Tìm hiểu hệ cơ sở dữ liệu
  • Bài đọc thêm 1. Sơ lược lịch sử cơ sở dữ liệu
  • CHƯƠNG II. HỆ QUẢ TRỊ CƠ SỞ DỮ LIỆU MICROSOFT ACCESS
  • §3. Giới thiệu Microsoft Access
  • §4. Cấu trúc bảng
  • Bài tập và thực hành 2. Tạo cấu trúc bảng
  • §5. Các thao tác cơ bản trên bảng
  • Bài tập thực hành 3. Thao tác trên bảng
  • §6. Biểu mẫu
  • Bài tập và thực hành 4. Tạo biểu mẫu đơn giản
  • §7. Liên kết giữa các bảng
  • Bàì tập thực hành 5. Tạo biểu mẫu đơn giản
  • §8. Truy vấn dữ liệu
  • Bài tập và thực hành 6. Mẫu hỏi trên nhiều bảng
  • Bài tập và thực hành 7. Mẫu hỏi trên nhiều bảng
  • §9. Báo cáo và kết xuất báo cáo
  • Bài tập và thực hành 8. Tạo báo cáo
  • Bài tập và thực hành 9. Bài thực hành tổng hợp
  • Bài đọc thêm 2. Sửa thiết kế và in báo cáo
  • CHƯƠNG III. HỆ CƠ SỞ DỮ LIỆU QUAN HỆ
  • §10. Cơ sở dữ liệu quan hệ(Đang xem)
  • Bài tập và thực hành 10. Hệ cơ sở dữ liệu quan hệ
  • §11. Các thao tác với cơ sở dữ liệu quan hệ
  • CHƯƠNG IV. KIẾN TRÚC VÀ BẢO MẬT CÁC HỆ CƠ SỞ DỮ LIỆU
  • §12. Các loại kiến trúc của hệ cơ sở dữ liệu
  • §13. Bảo mật thông tin trong các hệ cơ sở dữ liệu
  • Bài tập và thực hành 11. Bảo mật cơ sở dữ liệu
  • PHỤ LỤC
  • Phụ lục 1. Một số tính chất của trường dữ liệu trong Access
  • Phụ lục 2. Biểu thức trong Access
  • Phụ lục 3. Một số giao diện Access
  • Phụ lục 4. Một số thuật ngữ Tiếng Anh dùng trong Access

Từ khóa » để Liên Kết Giữa Hai Bảng Ta Dựa Vào