You are on page 1of 4

CÂU HỎI CƠ SỞ DỮ LIỆU

Câu 1: Phân biệt các loại khoá trong CSDL. Cho ví dụ minh hoạ.
Supper key (Siêu khóa)

Candidate key (Khóa dự tuyển)

Primary Key

Khóa ngoại (Foreign key)


Supper key (Siêu khóa)
Siêu khóa là một tập hợp của một hoặc nhiều khóa có thể được sử dụng để xác định một bản
ghi (hàng) duy nhất trong một bảng.
Candidate key (Khóa dự tuyển / khoá ứng viên)
Một Key Candidate là một tập hợp của một hoặc nhiều trường / cột có thể xác định một bản ghi
(hàng) duy nhất trong một bảng. Có thể có nhiều khóa dự tuyển trong một bảng. Mỗi khóa dự
tuyển có thể làm việc như khóa chính (Primary Key). Có thể chấp nhận giá trị Null.
Primary Key
Khóa chính là một tập hợp của một hoặc nhiều trường / cột của một bảng có thể xác định một
bản ghi (hàng) duy nhất trong bảng cơ sở dữ liệu. Nó không thể chấp nhận null, và không có
giá trị nhân bản. Chỉ có một khóa dự tuyển có thể trở thành khóa chính.
Khóa ngoại (Foreign key)
Khóa ngoại là một trường trong bảng cơ sở dữ liệu, đó là khóa chính trong bảng khác. Khoá
ngoại là một cột tạo mối quan hệ giữa hai bảng. Mục đích của khoá ngoại là duy trì tính toàn
vẹn của dữ liệu và cho phép tìm kiếm giữa nhiều dữ liệu khác nhau của một thực thể. Nó đóng
vai trò là một tham chiếu giữa hai bảng vì nó tham chiếu đến khoá chính của một bảng khác.
Ví dụ minh hoạ:
Ta có 3 bảng:
HOPDONG (MaHD, MaXe, MaKH, NgayThue, NgayTra, GiaTriHopDong)
XE (MaXe, SoChoNgoi, HangXe, DonGiaThue)
KHACHHANG (MaKH, CMND, TenKH, SoDienThoai, DiaChi)
- Khoá chính:
+ Trong bảng HOPDONG có thể là: MaHD.
+ Trong bảng XE có thể là: MaXe.
+ Trong bảng KHACHHANG có thể là: MaKH, CMND, SoDienThoai.
- Khoá ngoại:
+ Khoá chính của bảng XE và KHACHHANG có thể là khoá ngoại của bảng
HOPDONG thông qua cột MaXe và MaKH.
- Khoá dự tuyển:
+ Trong bảng HOPDONG khoá dự tuyển là: MaHD.
+ Trong bảng XE khoá dự tuyển là: MaXe.
+ Trong bảng KHACHHANG, khoá dự tuyển là: MaKH, CMND và SoDienThoai
- Siêu khoá:
+ Trong bảng KHACHHANG thì siêu khoá là: MaKH, CMND, SoDienThoai.
Câu 2: Trình bày các loại ràng buộc trong CSDL: Not null, Primary key, Foreign key,
Unique, Default, CHECK (ràng buộc miền giá trị).
Ràng buộc Ý nghĩa
Đảm bảo dữ liệu của cột không được nhận giá trị NULL hay giá trị rỗng.
NOT NULL
Không được để rỗng dữ liệu của cột đó.
Cung cấp một giá trị mặc định cho một cột trong trường hợp dữ liệu của cột
DEFAULT
không được nhập vào hay không được xác định.
Đảm bảo rằng dữ liệu của cột là duy nhất, tất cả các giá trị trong một cột là khác
UNIQUE
nhau không trùng lặp.
Dùng để thiết lập khóa chính trên bảng, giá trị của cột làm khóa chính phải là
PRIMARY
duy nhất, không được trùng lặp. Việc khai báo ràng buộc khóa chính yêu cầu các
Key
cột phải NOT NULL.
Dùng để thiết lập khóa ngoại trên bảng, tham chiếu đến bảng khác thông qua giá
FOREIGN
trị của cột được liên kết. Giá trị của cột được liên kết phải là duy nhất trong bảng
Key
kia.
CHECK Đảm bảo tất cả các giá trị trong một cột thỏa mãn một số điều kiện.
INDEX Dùng để tạo và lấy dữ liệu từ cơ sở dữ liệu một cách nhanh chóng.

Câu 3: Vai trò và nhiệm vụ của người quản trị CSDL trong hệ thống thông tin.
- Người quản trị CSDL là một người hay một nhóm người có trách nhiệm quản lý và điều khiển
toàn bộ hoạt động của các hệ CSDL.
Thu thập dữ liệu: Xác định nguồn, định dạng, cấu trúc dữ liệu cần lưu trữ.
Cập nhật dữ liệu: Bổ sung, xoá, hiệu chỉnh.
Bảo vệ dữ liệu: Bí mật, toàn vẹn, sẵn sàng.
Phân phát dữ liệu cho người dùng: Phân loại người dùng, phân quyền sử dụng dữ liệu.
Phát hiện và khắc phục sự cố: Duy trì tính ổn định của hệ thống, xây dựng chiến lược sao lưu
và phục hồi dữ liệu, mở rộng hệ thống.
Câu 4: Trình bày và cho ví dụ các mối quan hệ.
1. ISA (Is a)
- Cho hai tập thực thể E1 và E2, ta nói rằng E1 có mối quan hệ ISA với E2, ký hiệu E1
ISA E2, nếu mỗi thực thể của E1 là một thực thể của E2.
- Ví dụ:
E1: NguoiQuanLy (ChucVu)
E2: NhanVien (Ten, Luong, DiaChi, GioiTinh)
Người quản lý sẽ có Tên, Lương, Địa chỉ, Giới tính và có thêm thuộc tính mà Nhân viên
không có đó là Chức vụ.
2. Quan hệ Một – Một (One – to – One):
- Mối quan hệ R giữa 2 tập thực thể E1 và E2 được gọi là mối quan hệ một – một nếu mỗi
thực thể của E1 có quan hệ nhiều nhất với một thực thể E2 và ngược lại mỗi thực thể
của E2 có quan hệ nhiều nhất với một thực thể của E1.
- Ví dụ:
E1: NguoiQuanly
E2: PhongBan
R: Quan_ly
Một Phòng ban thì chỉ có một Người quản lý, và một Người quản lý thì chỉ có thể quản
lý một phòng ban.
3. Quan hệ Nhiều – Một (Many – to – One):
- Mối quan hệ R giữa 2 tập thực thể E1 và E2 được gọi là mối quan hệ nhiều – một nếu:
+ Mỗi thực thể trong tập thực thể E1 có quan hệ với nhiều nhất 1 thực thể trong tập thực
thể E2.
+ Mỗi thực thể trong tập thực thể E2 có thể có quan hệ với 0, 1 hoặc nhiều thực thể
trong tập thực thể E1.
- Ví dụ:
E1: NhanVien
E2: PhongBan
R: Lam_viec
Một nhân viên chỉ có thể làm việc cho một phòng ban, nhưng một phòng ban có thể có
nhiều nhân viên làm việc.
Many – to – one : từ E1 vào E2.
One – to – Many: từ E2 vào E1.
4. Quan hệ Một – Nhiều ( One – to – Many):
- Mối quan hệ R giữa 2 tập thực thể E1 và E2 được gọi là mối quan hệ một – nhiều nếu:
+ Mỗi thực thể trong tập thực thể E1 có quan hệ với 0, 1 hoặc nhiều thực thể trong tập
thực thể E2.
+ Mỗi thực thể trong tập thực thể E2 có thể có quan hệ với nhiều nhất 1 thực thể trong
tập thực thể E1.
5. Quan hệ Nhiều – Nhiều (Many – to – many):
- Mối quan hệ R giữa 2 tập thực thể E1 và E2 được gọi là mối quan hệ nhiều – nhiều nếu:
+ Mỗi thực thể trong tập thực thể E1 có quan hệ với 0, 1 hoặc nhiều thực thể trong tập
thực thể E2.
+ Mỗi thực thể trong tập thực thể E2 có thể có quan hệ với 0, 1 hoặc nhiều thực thể
trong tập thực thể E1.
- Ví dụ:
E1: MonHoc
E2: SinhVien
R: Dang_ky_hoc
Mỗi môn học có thể có không có sinh viên nào đăng ký học hoặc có rất nhiều sinh viên
đăng ký học, một sinh viên có thể đăng ký 0 hoặc nhiều môn học để học.

You might also like