ĐÁP ÁN
1. tả các tính năng lợi ích của Hệ Quản Trị Sở Dữ Liệu (DBMS).
DBMS giúp đảm bảo tính nhất quán và toàn vẹn dữ liệu như thế nào?
Tính năng và lợi ích của DBMS:
Tính nhất quán: DBMS đảm bảo rằng dữ liệu trong sở dữ liệu luôn đúng
nhất quán thông qua việc sử dụng các ràng buộc toàn vẹn (integrity constraints),
như khóa chính, khóa ngoại, và các ràng buộc kiểu dữ liệu.
Tính an toàn: DBMS cung cấp các phương pháp bảo mật dữ liệu, chỉ cho phép
các người dùng có quyền truy cập nhất định vào dữ liệu.
Tính độc lập dữ liệu: Chương trình ứng dụng không cần phải thay đổi khi cấu
trúc cơ sở dữ liệu thay đổi, điều này giúp giảm thiểu sự phức tạp trong việc bảo trì
hệ thống.
Tính trừu tượng: DBMS cung cấp một lớp trừu tượng, cho phép người dùng
lập trình viên tương tác với dữ liệukhông cần biết chi tiết về cách thức lưu trữ
dữ liệu trên phần cứng.
Quản giao dịch (Transaction Management): DBMS hỗ trợ việc xử giao
dịch (transactions) một cách hiệu quả, đảm bảo tính toàn vẹn dữ liệu ngay cả khi
có sự cố như hệ thống bị tắt đột ngột.
Cách DBMS đảm bảo tính nhất quán và toàn vẹn dữ liệu:
Ràng buộc toàn vẹn: DBMS sử dụng các ràng buộc toàn vẹn như khóa chính
(primary key), khóa ngoại (foreign key), và các ràng buộc dữ liệu để đảm bảo rằng
dữ liệu được nhập vào cơ sở dữ liệu luôn hợp lệ và nhất quán.
Quản giao dịch: DBMS đảm bảo rằng các giao dịch (transactions) được thực
hiện theo nguyên ACID (Atomicity, Consistency, Isolation, Durability), giúp dữ
liệu luôn được duy trì ở trạng thái nhất quán ngay cả khi có sự gián đoạn hệ thống.
2. Giải thíchhình Thực Thể - Quan Hệ (Entity-Relationship - E/R) tầm
quan trọng của nó trong thiết kế cơ sở dữ liệu. Các thực thể, thuộc tính và mối
quan hệ đóng góp như thế nào vào việc xây dựng cấu trúc dữ liệu toàn diện?
Mô hình Thực Thể - Quan Hệ (Entity-Relationship - E/R) là một công cụ quan
trọng trong thiết kế cơ sở dữ liệu, được sử dụng để mô tả các thực thể (entities), thuộc
tính (attributes), và mối quan hệ (relationships) giữa chúng trong một hệ thống thông tin.
Mô hình này giúp hình dung cấu trúc của cơ sở dữ liệu trước khi thực hiện việc triển
khai.
Các thành phần chính trong mô hình E/R:
Thực thể (Entity): Là các đối tượng trong thế giới thực mà hệ thống cần lưu trữ
thông tin. Mỗi thực thể có thể là một cá nhân, một sự vật, hoặc một sự kiện. Ví dụ, trong
một hệ thống quản lý sinh viên, "Sinh viên", "Giảng viên", "Khóa học" là các thực thể.
Thuộc tính (Attribute): Là những đặc điểm hoặc thông tin mô tả chi tiết về thực
thể. Ví dụ, đối với thực thể "Sinh viên", các thuộc tính có thể là "Mã sinh viên", "Tên",
"Ngày sinh", "Địa chỉ", v.v.
Mối quan hệ (Relationship): Là sự liên kết giữa các thực thể. Một mối quan hệ có
thể liên kết hai hoặc nhiều thực thể với nhau. Ví dụ, mối quan hệ giữa "Sinh viên" và
"Khóa học" có thể là "Đăng ký", thể hiện rằng một sinh viên có thể đăng ký một hoặc
nhiều khóa học.
Tầm quan trọng trong thiết kế cơ sở dữ liệu:
Cấu trúc hóa dữ liệu: Mô hình E/R giúp tạo ra một mô hình khái niệm về cơ sở dữ
liệu, nơi mà các thực thể, thuộc tính và mối quan hệ được xác định rõ ràng. Điều này giúp
dễ dàng hình dung cách các đối tượng và thông tin liên quan với nhau.
Đảm bảo tính toàn vẹn của dữ liệu: Mô hình giúp xây dựng các ràng buộc giữa các
thực thể và mối quan hệ, giúp đảm bảo rằng dữ liệu được lưu trữ một cách chính xác và
đầy đủ.
Hỗ trợ việc triển khai cơ sở dữ liệu: Khi mô hình E/R đã được hoàn thành, có thể
chuyển sang bước tạo bảng (tables) trong cơ sở dữ liệu quan hệ. Các thực thể trở thành
các bảng, các thuộc tính trở thành các trường (fields), và các mối quan hệ được chuyển
thành các khóa ngoại (foreign keys).
Dễ dàng bảo trì và mở rộng: Một cơ sở dữ liệu được thiết kế theo mô hình E/R dễ
dàng được bảo trì và mở rộng khi có sự thay đổi hoặc bổ sung về các đối tượng và mối
quan hệ trong hệ thống.
Ví dụ:
Thực thể: Sinh viên, Khóa học, Giảng viên.
Thuộc tính: Sinh viên (Mã sinh viên, Tên, Ngày sinh), Khóa học (Mã khóa học,
Tên khóa học), Giảng viên (Mã giảng viên, Tên giảng viên).
Mối quan hệ: Sinh viên đăng ký Khóa học, Giảng viên giảng dạy Khóa học.
Mô hình E/R giúp xây dựng cơ sở dữ liệu có tính toàn vẹn cao và dễ dàng thực
hiện các truy vấn, thao tác dữ liệu trong quá trình sử dụng hệ thống.
3. Trình bày các loại khóa trong cơ sở dữ liệu quan hệ. Vai trò của khóa chính,
khóa ngoại và siêu khóa trong việc duy trì tính toàn vẹn dữ liệu là gì?
Khóa chính (Primary Key): thuộc tính hoặc tập hợp thuộc tính dùng để duy
trì tính duy nhất cho mỗi bản ghi trong bảng. Mỗi bảng trong cơ sở dữ liệu phải
một khóa chính.
oVí dụ: Mã nhân viên (MANV) có thể là khóa chính của bảng NHANVIEN.
Khóa ngoại (Foreign Key): thuộc tính trong một bảng liên kết với khóa
chính của bảng khác. Khóa ngoại giúp duy trì các mối quan hệ giữa các bảng trong
cơ sở dữ liệu.
o dụ: phòng ban (PHG) trong bảng NHANVIEN thể khóa ngoại
tham chiếu đến khóa chính của bảng PHONGBAN.
Siêu khóa (Super Key): một tập hợp thuộc tính của bảng thể duy trì
tính duy nhất của các bản ghi trong bảng. Một siêu khóa thể chứa khóa chính
hoặc thêm các thuộc tính không cần thiết.
o dụ: Siêu khóa thể (MANV, TENNV), nhưng khóa chính chỉ
MANV.
Vai trò của khóa trong việc duy trì tính toàn vẹn dữ liệu:
Khóa chính: Đảm bảo rằng không có bản ghi nào bị trùng lặp trong bảng, giữ cho
dữ liệu được duy nhất.
Khóa ngoại: Giúp duy trì tính toàn vẹn tham chiếu, đảm bảo rằng mỗi giá trị của
khóa ngoại phải tồn tại trong bảng liên kết, tránh việc có các tham chiếu không
hợp lệ.
Siêu khóa: Đảm bảo tính duy nhất của bản ghi, nhưng không phải tất cả các siêu
khóa đều là khóa chính.
4. Đại số quan hệ hỗ trợ như thế nào trong việc truy vấn sở dữ liệu? Cung
cấp dụ về một câu truy vấn phức tạp sử dụng các phép toán đại số quan hệ
như chọn (selection), chiếu (projection) và kết nối (join).
Đại số quan hệ một tập hợp các phép toán cho phép thực hiện các truy vấn sở dữ
liệu mà không cần phải viết câu lệnh SQL. Các phép toán này bao gồm:
Chọn (Selection - σ): Lọc các bản ghi từ một quan hệ (bảng) thỏa mãn một điều
kiện nhất định.
Chiếu (Projection - π): Lấy các cột cụ thể từ một quan hệ.
Kết nối (Join): Kết hợp các bản ghi từ hai hoặc nhiều bảng dựa trên một điều kiện
chung.
Ví dụ: Giả sử có hai bảng:
1. NHANVIEN (MANV, TENNV, LUONG, PHG)
2. PHONGBAN (MAPHG, TENPB)
Câu truy vấn: "Lấy họ tên và phòng ban của những nhân viên có lương trên 30,000."
Biểu thức đại số quan hệ:
πTENNV, TENPB (σLUONG > 30000 (NHANVIEN) PHONGBAN)
Chọn (σLUONG > 30000 (NHANVIEN)) lọc các nhân viên lương trên
30,000.
Kết nối () giữa bảng NHANVIEN PHONGBAN thông qua PHG (phòng
ban).
Chiếu (πTENNV, TENPB) lấy họ tên nhân viên và tên phòng ban.
5. Trong SQL, các hàm tổng hợp như COUNT, SUM AVG hoạt động như
thế nào trên sở dữ liệu? Cung cấp dụ minh họa về cách sử dụng chúng
để truy xuất dữ liệu tổng hợp.
Các hàm tổng hợp trong SQL giúp thực hiện các phép toán trên một nhóm bản ghi trả
về kết quả duy nhất:
COUNT: Đếm số lượng bản ghi thỏa mãn điều kiện.
SUM: Tính tổng các giá trị trong một cột.
AVG: Tính giá trị trung bình của một cột.
Ví dụ SQL:
1. Đếm số lượng nhân viên:
SELECT COUNT(*) FROM NHANVIEN ;
2. Tính tổng lương của tất cả nhân viên:
SELECT SUM(LUONG) FROM NHANVIEN;
3. Tính lương trung bình của các nhân viên ở phòng ban 5: