Tin học 12 Bài 10: Cơ sở dữ liệu quan hệ
Lý thuyết tổng hợp Tin học lớp 12 Bài 10: Cơ sở dữ liệu quan hệ chọn lọc năm 2021 – 2022 mới nhất gồm tóm tắt lý thuyết và hơn 500 bài tập ôn luyện Tin 12. Hy vọng bộ tổng hợp lý thuyết Tin học lớp 12 sẽ giúp học sinh củng cố kiến thức, ôn tập và đạt điểm cao trong các bài thi trắc nghiệm môn Tin học 12
Bài 10: Cơ sở dữ liệu quan hệ
A. Lý thuyết
1. Mô hình dữ liệu quan hệ.
• Yếu tố 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.
• 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.
• 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, xóa 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.
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ệ.
• Miền để chỉ kiểu dữ liệu của một thuộc tính.
• Mỗi quan hệ trong CSDL có các đặc trưng chính sau:
• Một quan hệ trong hệ CSDL quan hệ có các đặc trưng chính sau:
+ Mỗi quan hệ có tên để phân biệt với các quan hệ khác;
+ Các bộ là duy nhất và không phân biệt thứ tự;
+ Mỗi thuộc tính có tên phân biệt và không phân biệt thứ tự;
+ Quan hệ không có thuộc tính đa trị hay phức hợp.
• Một số hệ QTCSDL: Microsoft, Access, Microsoft SQL Sever, …
b) Ví dụ
• Để quản lí việc học sinh mượn sách ở trường, thư viện cần có thông tin về:
+ Tình hình mượn sách
+ Các học sinh có thẻ mượn sách
+ Sách có trong thư viện
c) Khóa và liên kết giữa các bảng
• Khóa
+ 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.
+ Trong một bảng, tập thuộc tính được mô tả gọi là khoá của một bảng.
• Khóa chính
+ Một bảng có thể có nhiều khóa. Trong các khóa của một bảng người ta thường chọn (chỉ định) một khóa 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, giá trị của mọi bộ tại khóa 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 đối tượng 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 khóa).
• Lưu ý:
+ Mỗi bảng có ít nhất một khóa. 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 khóa.
B. Bài tập trắc nghiệm
Câu 1 : Mô hình phổ biến để xây dựng CSDL quan hệ là:
A. Mô hình phân cấp
B. Mô hình dữ liệu quan hệ
C. Mô hình hướng đối tượng
D. Mô hình cơ sỡ quan hệ
Lời giải
Trả lời: Mô hình phổ biến để xây dựng CSDL quan hệ là mô hình dữ liệu quan hệ E. F. Codd đề xuất năm 1970. Trong vòng 30 năm trở lại đây, các hệ CSDL xây duwbgj theo mô hình quan hệ được dùng rất phổ biến.
Đáp án: B
Câu 2: Các khái niệm dùng để mô tả các yếu tố nào sẽ tạo thành mô hình dữ liệu quan hệ?
A. Cấu trúc dữ liệu
B. Các ràng buộc dữ liệu
C. Các thao tác, phép toán trên dữ liệu
D. Tất cả câu trên
Lời giải
Trả lời: Các khái niệm dùng để mô tả các yếu tố tạo thành mô hình dữ liệu quan hệ là:
+ 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
Đáp án: D
Câu 3: Trong mô hình quan hệ, về mặt cấu trúc thì dữ liệu được thể hiện trong các:
A. Cột (Field) B. Hàng (Record) C. Bảng (Table) D. Báo cáo (Report)
Lời giải
Trả lời: 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, mỗi hàng biểu thị cho một cá thể.
Đáp án: C
Câu 4: Thao tác trên dữ liệu có thể là:
A. Sửa bản ghi
B. Thêm bản ghi
C. Xoá bản ghi
D. Tất cả đáp án trên
Lời giải
Trả lời: Có thể cập nhật dữ liệu như thêm, xóa 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.
Đáp án: D
Câu 5: Phát biểu nào về hệ QTCSDL quan hệ là đúng?
A. Phần mềm dùng để xây dựng các CSDL quan hệ
B. Phần mềm dùng để tạo lập, cập nhật và khai thác CSDL quan hệ
C. Phần mềm Microsoft Access
D. Phần mềm để giải các bài toán quản lí có chứa các quan hệ giữa các dữ liệt
Lời giải
Trả lời: hệ QTCSDL quan hệ là Phần mềm dùng để tạo lập, cập nhật và khai thác CSDL quan hệ.
Đáp án: B
Câu 6: Phát biểu nào trong các phát biểu sau là sai khi nói về miền?
A. 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
B. Mỗi một thuộc tính có thể có hai miền trở lên
C. Hai thuộc tính khác nhau có thể cùng miền
D. Miền của thuộc tính họ tên thường là kiểu text
Lời giải
Trả lời: Miền là kiểu dữ liệu của một thuộc tính. Mỗi một thuộc tính có một miền, ví dụ miền của thuộc tính họ tên thường là kiểu text, dài không qua 25 kí tự.
Đáp án: C
Câu 7: Đặc điểm nào sau đây không là đặc trưng của một quan hệ trong hệ CSDL quan hệ?
A. Các bộ là phân biệt và thứ tự các bộ không quan trọng
B. Quan hệ không có thuộc tính đa trị hay phức tạp
C. Mỗi thuộc tính có một tên phân biệt và thứ tự các thuộc tính là quan trọng
D. Tên của các quan hệ có thể trùng nhau
Lời giải
Trả lời: đặc trưng của một quan hệ trong hệ CSDL quan hệ là:
+ Các bộ là phân biệt và thứ tự các bộ không quan trọng
+ Quan hệ không có thuộc tính đa trị hay phức tạp
+ Mỗi thuộc tính có một tên phân biệt và thứ tự các thuộc tính là quan trọng
+ Mỗi quan hệ có một tên phân biệt với tên các quan hệ khác
Đáp án: D
Câu 8: Phát biểu nào sai trong các phát biểu sau khi nói về khoá chính?
A. Một bảng có thể có nhiều khoá chính
B. Mỗi bảng có ít nhất một khoá
C. Xác định khoá phụ thuộc vào quan hệ logic của các dữ liệu chứ không phụ thuộc vào giá trị các dữ liệu
D. Nên chọn khoá chính là khoá có ít thuộc tính nhất
Lời giải
Trả lời: Một bảng có thể có nhiều khoá nhưng chỉ có một khóa chính. Việc xác định khoá phụ thuộc vào quan hệ logic của các dữ liệu chứ không phụ thuộc vào giá trị các dữ liệu và nên chọn khoá chính là khoá có ít thuộc tính nhất.
Đáp án: A
Câu 9: Giả sử một bảng có 2 trường SOBH (số bảo hiểm) và HOTEN (họ tên) thì nên chọn trường SOBH làm khoá chính hơn vì :
A. Trường SOBH là duy nhất, trong khi đó trường HOTEN không phải là duy nhất
B. Trường SOBH là kiểu số, trong khi đó trường HOTEN không phải là kiểu số
C. Trường SOBH đứng trước trường HOTEN
D. Trường SOBH là trường ngắn hơn
Lời giải
Trả lời: nên chọn trường SOBH làm khoá chính hơn vì trường SOBH là duy nhất, trong khi đó trường HOTEN không phải là duy nhất (vì có thể có nhiều người có cùng tên).
Đáp án: A
Câu 10: Cho các bảng sau :
- DanhMucSach(MaSach, TenSach, MaLoai)
- LoaiSach(MaLoai, LoaiSach)
- HoaDon(MaSach, SoLuong, DonGia)
Để biết giá của một quyển sách thì cần những bảng nào ?A. HoaDon
B. DanhMucSach, HoaDon
C. DanhMucSach, LoaiSach
D. HoaDon, LoaiSach
Lời giải
Trả lời: Để biết giá của một quyển sách thì phải lấy đơn giá (Dongia) trong bảng HoaDon và để biết là sách gì thì phải lấy Masach ở bảng HoaDon. Từ Masach đó tra trong bảng DanhMucSach để biết sach cần tìm.
Đáp án: B