On Tap CSDL 2
On Tap CSDL 2
On Tap CSDL 2
A B D
G
E F
C
A B D
G
(1,n) (1,1)
E F
C
MALOP
TENLOP
LOP
(30,60) SISO
NGAYSINH MAMH
LANTHI TENMH
(1,1)
(1,1)
SINHVIEN (1,N) (1,1) KETQUA (0,N) MONHOC
KETQ
SOTC
HOTEN DIEM
Page 1
Ví dụ quan hệ MONHOC
MAMH TENMH SOTC
MH01 CSDL 3
MH02 TCC 2
MH03 LTW 3
MH04 ABC
Lược đồ quan hệ tương ứng: MONHOC(MAMH,TENMH,SOTC)
– Khóa chính: gồm một hoặc nhiều thuộc tính, được chọn từ tập khóa, có duy nhất 1,
giá trị ko được rỗng (Not null).
Ví dụ: Lược đồ quan hệ NHAVIEN(MANV, HOTEN, EMAIL, DIENTHOAI, CMND)
có 4 khóa: MANV, EMAIL, DIENTHOAI, CMND. Trong các khóa này, MANV được chọn
làm khóa chính.
– Khóa ngoại: gồm một hoặc nhiều thuộc tính, tham chiếu đến khóa chính, trên mỗi
quan hệ có thể không có, có 1 hoặc nhiều, có thể rỗng (null)
Ví dụ: Xét 2 quan hệ LOP và SINHVIEN. Trên quan hệ SINHVIEN có khóa ngoại là
MALOP tham chiếu đến khóa chính là MALOP trên quan hệ LOP.
Lưu ý: Thuộc tính khóa chính và khóa ngoại có thể khác nhau, tuy nhiên kiểu dữ liệu và
chiều dài phải giống nhau.
LOP
MALOP TENLOP SISO
L01 11DHTH 30
L02 12DHTH 50
SINHVIEN
MASV HOTEN MALOP
SV01 MINH L01
SV02 CHÂU L01
SV03 BÌNH L02
– Siêu khóa là tập thuộc tính chứa hoặc bằng khóa.
3. Chuyển mô hình thực thể kết hợp sang mô hình quan hệ:
– Chuyển mối kết hợp 1-N:
A B D
G
E F
C
hoặc
Page 2
E
F
ABC
DG
MASV
LOP SINHVIEN
LOP(MALOP,TENLOP,SISO)
SINHVIEN(MASV,HOTEN,NGAYSINH,MALOP)
– Chuyển mối kết hợp 1-1
A B D
G
E F
C
HOTEN
Theo trường hợp 1:
SINHVIEN(MASV,HOTEN,NGAYSINH)
THESV(MATHE,NGAYC,MASV)
Theo trường hợp 2:
THESV(MATHE,NGAYC)
SINHVIEN(MASV,HOTEN,NGAYSINH,MATHE)
Ở đây, ta chọn trường hợp 1, vì theo thứ tự nhập dữ liệu thì thông tin sinh viên sẽ nhập
trước, thông tin thẻ sinh viên sẽ nhập sau.
(Lưu ý: thứ tự nhập liệu: quan hệ chứa khóa chính nhập trước, quan hệ chứa khóa ngoại
nhập sau).
Page 3
– Chuyển mối kết hợp N-N
A B D
G
F
Ví dụ E1: T
C P
Chuyển mô hình thực thể kết hợp sau sang các lược đồ quan hệ
MAHD MAHG
DONGIA
TENHG
HOADON HANGHOA
CHITHIETHD
DVT
NGAYLAP SOLUONG
HOADON(MAHD, NGAYLAP)
HANGHOA(MAHG, TENHG, DVT)
CHITIETHD(MAHD, MAHG, SOLUONG, DONGIA)
Ví dụ 2: Mối kết hợp nhiều nhiều biểu diễn dạng kiểu thực thể yếu:
NGAYSINH MAMH
LANTHI
TENMH
MASV
SINHVIEN KETQUA MONHOC
KETQ
SOTC
HOTEN DIEM
SINHVIEN(MASV,HOTEN,NGAYSINH)
MONHOC(MAMH, TENMH, SOTC)
KETQUA(MASV,MAMH, LANTHI, DIEM)
Bài tập: Chuyển môn hình thực thể kết hợp sau sang các lược đồ quan hệ:
MAKH TENKH TENNSX
MANSX
DIACHI NHASX
KHACH DIACHI
Page 4
CHƢƠNG 3: ĐẠI SỐ QUAN HỆ
- Dựa vào lược đồ quan hệ cho trước để thực hiện:
+ Phân tích câu truy vấn (yêu cầu, điều kiện, các quan hệ)
+ Xác định các phép toán cần sử dụng (giải thích được vì sao sử dụng các phép toán)
+ Xác định những quan hệ liên quan (lưu ý: ko được thừa)
+ Viết biểu thức truy vấn bằng đại số quan hệ.
Ví dụ: Cho cơ sở dữ liệu gồm các lược đồ quan hệ sau:
LOP (MaLop, TenLop)
SINHVIEN(MaSV, HoTen, NgaySinh, Phai, MaLop)
MONHOC(MaMH, TenMH, SoTC)
KETQUA(MaSV, MaMH, Diem)
a/ Cho biết mã và họ tên những sinh viên thuộc lớp có tên là 07DHTH
– Giải thích sử dụng phép toán:
Câu truy vấn sử dụng các phép toán: Phép kết tự nhiên (vì có liên quan đến 2 quan hệ là
SINHVIEN và LOP), phép chọn (vì có điều kiện chọn tên lớp = 07DHTH), phép chiếu (vì
yêu cầu cho biết mã và họ tên sinh viên)
– Viết biểu thức truy vấn:
MASV,HOTEN(TENLOP='07dhth'(LOP*SINHVIEN))
hoặc cách 2:
MASV,HOTEN(TENLOP='07dhth'(LOP) *SINHVIEN)
a’/ Cho biết mã và họ tên những sinh viên thuộc lớp có mã là L01
MASV,HOTEN(MALOP='L01'(SINHVIEN))
b/ Mã và tên những môn học nào có số tín chỉ <2
c/ Liệt kê danh sách những sinh viên (mã sinh viên, họ tên) học môn có mã là MH001
d/ Liệt kê danh sách những sinh viên (mã sinh viên, họ tên) học môn có tên là Cơ sở dữ liệu
e/ Cho biết danh sách môn học (mã mh, tên mh) mà sinh viên có mã sv001 học
e’/ Cho biết danh sách môn học (mã mh) mà sinh viên có mã sv001 học
Page 5
CHƢƠNG 4: NGÔN NGỮ SQL
4.1 Cấu trúc câu truy vấn SQL
SELECT [* | DISTINCT] <danh_sách_cột>//Lưu ý: chỉ những cột yêu cầu
FROM <danh_sách_bảng liên quan> //Lưu ý: ko được thừa bảng
[WHERE <biểu_thức_điều_kiện>]
[GROUP BY <danh_sách_tên_nhóm>]
[HAVING <biểu_thức_điều_kiện_nhóm>]
[ORDER BY<tên_cột 1> [ASC | DESC], <tên_cột 2> [ASC | DESC],...]
4.2. Thứ tự thực thi một câu truy vấn
FROM, WHERE, GROUP BY, HAVING, SELECT, ORDER BY
Ví dụ: Cho 2 quan hệ như sau:
NHANVIEN THAMGIA
MANVHOTENPHAI MANV MADA SOGIO
NV001Trần Văn TuấnNam NV002Đỗ ThịNV01 DA1 20 Thị LanNữ NV004Trần MinhNam
BìnhNữ NV003Nguyễn
NV01 DA2 30
NV02 DA1 15
NV02 DA3 25
NV03 DA3 10
NV03 DA2 15
Xét câu truy vấn: Cho biết mã, họ tên, phái của những nhân viên NỮ tham gia >= 2 đề án.
SELECT NHANVIEN.MANV, HOTEN, PHAI
FROM NHANVIEN, THAMGIA
WHERE NHANVIEN.MANV=THAMGIA.MANV AND PHAI=N'Nữ'
GROUP BY NHANVIEN.MANV, HOTEN, PHAI
HAVING COUNT(MADA)>=2
Thứ tự thực thi của câu truy vấn trên đƣợc thể hiện nhƣ sau:
1. FROM: Xác định các quan hệ liên quan là NHANVIEN và THAMGIA
NHANVIEN THAMGIA
MANVHOTENPHAI MANV MADA SOGIO
NV001Trần Văn TuấnNam NV002Đỗ ThịNV01 DA1 20 Thị LanNữ NV004Trần MinhNam
BìnhNữ NV003Nguyễn
NV01 DA2 30
NV02 DA1 15
NV02 DA3 25
NV03 DA3 10
Page 6
PHAI=N'Nữ'
2/ Cho biết mã môn, tên môn và số lượng sinh viên học tương ứng
SELECT MAMH,TENMH,COUNT(MASV)
FROM MONHOC,KETQUA
WHERE MONHOC.MAMH=KETQUA.MAMH
GROUP BY MAMH,TENMH
6/ Liệt kê những sinh viên (Mã sv, họ tên) có điểm môn cơ sở dữ liệu cao nhất.
SELECT SINHVIEN.MASV,HOTEN
FROM SINHVIEN,KETQUA,MONHOC
WHERE SINHVIEN.MASV=KETQUA.MASV AND KETQUA.MAMH=MONHOC.MAMH
AND TENMH=N'Cơ sở dữ liệu'
AND DIEM>=ALL(SELECT DIEM
FROM KETQUA,MONHOC
WHERE KETQUA.MAMH=MONHOC.MAMH
AND TENMH=N'Cơ sở dữ liệu')
4.4 Từ câu truy vấn đã có, tìm câu hỏi tƣơng ứng
Dựa vào ý nghĩa của từng mệnh đề trong cấu trúc câu truy vấn để viết ngược từ câu truy vấn
sang yêu cầu câu hỏi.
Ví dụ:
SELECT SINHVIEN.MASV,HOTEN
FROM SINHVIEN,KETQUA,MONHOC
Page 8
WHERE SINHVIEN.MASV=KETQUA.MASV AND KETQUA.MAMH=MONHOC.MAMH
AND TENMH=N'Cơ sở dữ liệu' AND DIEM>=8
Chọn từ các mệnh đề:
SELECT SINHVIEN.MASV,HOTEN =>Cho biết mã và họ tên những sinh viên
WHERE ...TENMH=N'Cơ sở dữ liệu' AND DIEM>=8 => học môn cơ sở dữ liệu,
điểm từ 8 từ 8 trở lên.
=> Cho biết mã và họ tên những sinh viên học môn cơ sở dữ liệu có điểm từ 8 trở lên.
4.5. Xác định khóa chính, khóa ngoại. Viết lệnh SQL tạo khóa chính, khóa ngoại
- Xác định khóa chính, khóa ngoại (xem bài tập chương 2 - giáo trình CSDL khoa CNTT)
- Viết lệnh tạo khóa chính, khóa ngoại: dùng cấu trúc
ALTER TABLE <tên bảng>
ADD CONSTRAINT PK_<tên ràng buộc> PRIMARY KEY (tên cột khóa chính)
ADD CONSTRAINT FK_<tên ràng buộc> FOREIGN KEY(tên cột khóa ngoại)
REFERENCES <tên bảng chứa khóa chính>(tên cột khóa chính)
4.6. Xác định kết quả của câu truy vấn, giải thích từng bƣớc cách thực hiện một câu
truy vấn.
SELECT MONHOC.MAMH,TENMH
FROM MONHOC,KETQUA
WHERE MONHOC.MAMH=KETQUA.MAMH
GROUP BY MONHOC.MAMH,TENMH
HAVING COUNT(MASV)>=ALL(SELECT COUNT(MASV)
FROM KETQUA
GROUP BY MAMH)
- Kết quả: tìm ra danh sách môn học (MAMH, TENMH) với điều kiện là có nhiều sinh viên
học nhất.
- Giải thích: Truy vấn con thực hiện trước cho kết quả là số sinh viên của từng môn học. Từ
khóa >= ALL sẽ tìm được số sinh viên cao nhất. Kết quả này sẽ làm điều kiện cho truy vấn
lớn để tìm được những môn học có số sinh viên học cao nhất.
Trên quan hệ này tồn tại các ràng buộc toàn vẹn:
Page 9
- Giá trị mã môn học phải duy nhất
- Số tín chỉ >=1
* Phân loại ràng buộc toàn vẹn:
- Ràng buộc toàn vẹn trên 1 quan hệ:
+ Liên bộ
+ Miền giá trị
+ Liên thuộc tính
- Ràng buộc toàn vẹn trên nhiều quan hệ:
+ Tham chiếu
+ Liên bộ - liên quan hệ
+ Liên thuộc tính - liên quan hệ
- Liệt kê các ràng buộc toàn vẹn có trên quan hệ.
* Biểu diễn các ràng buộc toàn vẹn:
+ Phát biểu
+ Bối cảnh
+ Nội dung
+ Bảng tầm ảnh hưởng.
Page 10
Lưu ý dạng phát biểu: Mỗi đối tượng thuộc quan hệ chứa khóa ngoại phải có/thuộc
trong quan hệ chứa khóa chính
+ Phát biểu: Mỗi nhân viên phải thuộc về một phòng ban
+ Bối cảnh: NHANVIEN, PHONGBAN
+ Nội dung: 𝑡𝑁𝐻𝐴𝑁𝑉𝐼𝐸𝑁, 𝑢𝑃𝐻𝑂𝑁𝐺𝐵𝐴𝑁: 𝑡. 𝑀𝐴𝑃𝐻 = 𝑢. 𝑀𝐴𝑃𝐻
+ Bảng tầm ảnh hưởng:
MASV TENSV
MASV TUOI
MASV PHAI
MASV MALOP
Có thể viết gộp: MASV TENSV, TUOI, PHAI, MALOP
Giải thích: Vì biết được mã sinh viên sẽ xác định (tìm được) chính xác tên sv, tuổi, phái và
mã lớp. Ví dụ có mã sv là SV003 sẽ tìm được chính xác tên sinh viên là LAN, tuổi 20, phái
Nữ và thuộc lớp có mã lớp là 03.
6.2 Hệ tiên đề armstrong
Cho lược đồ quan hệ R, tập thuộc tính U và X,Y,Z,W U
1. Luật phản xạ: 𝑁e𝑢 𝑌 X 𝑡ℎì X 𝑌 (tập lớn xác định tập con)
2. Luật tăng trưởng: 𝑁e𝑢 𝑈 X 𝑌 𝑡ℎì X 𝑌
3. Luật ắc cầu: 𝑁e𝑢 X 𝑌 𝑌 𝑡ℎì X
4. Luật phân r : 𝑁e𝑢 X 𝑌 𝑡ℎì X 𝑌 X (lưu ý: Chỉ được phân rã vế phải)
5. Luật hợp: 𝑁e𝑢 X 𝑌 X 𝑡ℎì X 𝑌
6. Luật tựa bắc cầu: 𝑁e𝑢 X 𝑌 𝑌 𝑡ℎì X
Ví
Chodụlược
4: đồ
Cho R(ABCDE),
quan F={BC,
hệ , tập thuộc tính U, tập AE, BCA,
phụ thuộc DB}
hàm F, X . Cần tìm ao đóng X+F ?
Phương pháp:
Tìm ao đóng của các tập thuộc tính: BC (BC+F=?)
Tính liên tiếp tập các thuộc tính X0, X1, X2, theo các ước:
1. Đặt XX00=BC
=X
X 1 x0tA=ABC
2. Lần lược=X các phụ thuộc(xét
hàm phụ củathuộc
, nếu hàm
YZBCA)
có Y Xi thì Xi+1 = Xi Z, loại YZ ra khỏi
3. TiếpXtục cho đến
2=X1E=ABCEkhi X =X
i+1 (xét
i thì phụ thuộc hàmkết
thuật toán dừng, luận: X+F = Xi
AE)
X3=X2 dừng
=> BC+ = F
ABCE
Tương tự, tìm ao đóng của các tập thuộc tính D, AE?
Định lý
Nếu X+F Y <=> X Y
Ví dụ 5: Áp dụng định lý để chứng minh phụ thuộc hàm ở ví dụ 2 và ví dụ 3
* Cho R(ABCD), F={AB, C D}. Chứng minh AC ABCD
AC+ =ACBD
F
= ABCD (vế phải của pth) => theo định lý trên thì AC ABCD
* Cho R(ABCDE), F={BC, AE, BCA, DB}. Chứng minh:
DAEC
F
D+ =DBCAE AEC => DAEC
6.3 Chứng minh một tập thuộc tính là khóa
Cho lược đồ quan hệ R, tập thuộc tính U, tập phụ thuộc hàm F, XU. Ta nói X là một khóa
của R nếu thỏa điều kiện sau:
Ví dụ 6: Cho R(ABCDE), F = {AB, CE, DC, EBD}
1. XU (X+=U)
Chứng minh AD là một khoá của R
2. YX thì Y➦U (Y+ U)
+ Chứng minh điều kiện 1: ADU?
Ta có: AD+F=ADCEB=U=> ADU (1)
Page 13
Xét A AD, A+ =AB
F
U =>A ➦U
Xét D AD, D+ =F
DCE U =>D ➦U
=> YAD thì Y➦U (2) (1),
(2)=> AD là một khóa của R
6.4. Thuật toán tìm tất cả các khóa
Định nghĩa:
* Tập nguồn: (TN): Gồm các thuộc tính chỉ xuất hiện ở vế trái các phụ thuộc hàm hoặc các
thuộc tính thuộc nhưng không xuất hiện trong các phụ thuộc hàm.
* Tập trung gian (TG): Gồm các thuộc tính xuất hiện ở cả 2 vế các phụ thuộc hàm.
Ví dụ 7: Cho R(ABCDEG), F={AB, BCD, DAG}. Xác định tập nguồn và tập trung
gian
TN={C, E}, TG={A, B, D}
Thuật toán:
Ví 1.
dụ Xác
8: Cho
địnhR(ABC),
tập nguồnF={ACB,
(TN) và tập BA}. Tìm
trung gian tất cả
(TG). các{TN}
Nếu khoá+F=U
củathì
R {TN} là một khoá
duy TG={A,
TN={C}, nhất của B}
. ngược lại qua ước 2
2. Liệt kê tất cả các tập con Xi của tập trung gian và tính {XiTN}. Nếu {XiTN}+F=U thì
{XiTN} là một siêu khoá Si
3. So sánh các siêu khoá Si và Sj, nếu SiSj thì loại Sj ra khỏi tập khoá K. Các tập thuộc tính
còn lại chính là các khoá.
Page 14
6.5.2. Dạng chuẩn 2:
*Định
Khoá: DùngMột
nghĩa: thuật toánđồtìm
lược khoá
quan hệ đểđược
tìm gọi
ra tất
là cả
đạtcác khoánếu
chuan của mọi
lượcthuộc
đồ R tính không khóa
*đều phụ tính
Thuộc thuộc đầy đủ
không vào=U-{tập
khoá: khóa các thuộc tính khoá}
Page 15
Kiểm tra R có đạt chuan 3 không?
R có 2 khoá: AB và BC (lưu ý: dùng thuật toán để tìm ra tất cả các khoá)
Xét B D có B không là siêu khoá và D không là thuộc tính khoá R không đạt chuan 3
6.5.3. Dạng chuẩn BC:
Ví dụ 14:
Định Cho
nghĩa R(ABCD)
: Một lược đồcóquan
= AB hệR CD,
đượcACgọilàB}
đạt chuan BC nếu mọi phụ thuộc
Rhàm
có 2XY
khoá làđều
ABcó
vàvế
ACtrái là siêu
(lưu khóa.
ý: dùng thuật toán để tìm ra tất cả các khoá)
Xét lần lượt các phụ thuộc hàm trong F:
AB CD: có AB là siêu khoá => thoả chuan BC
AC B: có AC là siêu khoá => thoả chuan BC
R đạt chuan BC
6.6. Xác định dạng chuẩn cao nhất của lƣợc đồ
Có 2 cách:
1. Xác định từ chuan 2 -> chuan BC
. Xác định từ chuan BC -> chuan 2
Lưu ý: Lược đồ quan hệ mặc định đạt chuẩn 1 nên ko cần ktra chuẩn 1.
Nếu chuẩn cao nhất của R là:
– Chuan 1 => cần chứng minh R ko đạt chuan 2.
– Chuan 2 => cần chứng minh R đạt chuan và R không đạt chuan 3
– Chuan 3 => cần chứng minh R đạt chuan và R không đạt chuan BC
– Chuan BC => cần chứng minh R đạt chuan BC
Ví dụ 15: Cho R(ABCDE), F={DB A, E CB, D BA, C E}. Hãy xác định dạng
chuan cao nhất của R?
R có 2 khoá: DC và DE, thuộc tính không khoá là A, B
Kiểm tra chuẩn 2:
Xét DC A, ta có D DC mà D BA => D A => thuộc tính không khoá A phụ thuộc
không đầy đủ vào khoá DC => R không đạt chuan 2
Vì R không đạt chuan 2 nên dạng chuan cao nhất của R là chuan 1.
Bài tập
Xác định dạng chuan cao nhất của các lược đồ sau:
a/ R(A,B,C,D); F={A C, D B, C AD, C B}
b/ R(A,B,C,D,E); F={BC D, D E, D C}
Page 16
c/ R(A,B,C,D); F={AB C, B D, C AB}
d/ R(A,B,C,D,E); F={A E, CD B, E D, B C}
e/ R(A,B,C,D,E); F={AE BCD, C A, A E}
f/ R(A,B,C,D,E,G); F={AE C, CG A, BD G, GA E}
1. Mức Cơ sở dữ liệu (Physical level): Mức này miêu tả cách cơ sở dữ liệu được lưu trữ trên đĩa cứng, bao gồm
các chi tiết về cấu trúc file, khối và bộ nhớ đệm. Các đối tượng của mức này bao gồm các block, trang, extent và
segment. Đây là mức thấp nhất của kiến trúc cơ sở dữ liệu và hầu hết người dùng không cần quan tâm đến nó.
Ví dụ: Một bảng trong cơ sở dữ liệu Oracle được lưu trữ trên đĩa cứng dưới dạng một hoặc nhiều segment, mỗi
segment lại được chia thành nhiều extents và mỗi extent lại được chia thành nhiều block.
2. Mức Mô tả (Logical level): Mức này miêu tả cách dữ liệu được tổ chức theo các khái niệm logic và mối quan
hệ giữa chúng. Các đối tượng của mức này bao gồm các bảng, trường, ràng buộc và quan hệ giữa các bảng.
Ví dụ: Trong hệ cơ sở dữ liệu MySQL, một bảng có thể được tạo ra với các trường như id, name và address. Mối
quan hệ giữa các bảng được xác định thông qua khóa ngoại.
3. Mức Ứng dụng (View level): Mức này miêu tả cách người dùng cuối truy xuất và xử lý dữ liệu. Các đối tượng
của mức này bao gồm các view, thủ tục lưu trữ và các câu lệnh truy vấn. Người dùng có thể sử dụng các công cụ
truy vấn để truy xuất dữ liệu từ cơ sở dữ liệu.
Ví dụ: Người dùng có thể truy vấn các thông tin sản phẩm trong cơ sở dữ liệu bằng câu lệnh SQL như SELECT
ProductName, Price FROM Products WHERE CategoryID = 1.
Việc hiểu rõ kiến trúc 3 mức của một hệ cơ sở dữ liệu là rất quan trọng để thiết kế, phát triển và duy trì cơ sở dữ
liệu một cách hiệu quả.
8. Tính chất của cơ sở dữ liệu quan hệ, các hệ thống sử dụng cơ sở dữ liệu quan hệ
Cơ sở dữ liệu quan hệ (Relational Database) là một loại cơ sở dữ liệu được tổ chức theo mô hình quan hệ. Trong
đó, dữ liệu được lưu trữ trong các bảng (table), mỗi bảng gồm nhiều hàng (row) và cột (column). Cột thường biểu
Page 18
diễn cho các thuộc tính của đối tượng, trong khi hàng chứa thông tin về các đối tượng.
1. Độ đơn giản: Hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) rất đơn giản để sử dụng và triển khai.
2. Tính nhất quán: Dữ liệu trong các bảng liên kết với nhau được đảm bảo tính nhất quán, không xảy ra tình trạng
dữ liệu bị lặp lại hay mất mát dữ liệu.
3. Tính linh hoạt: Các bảng có thể được kết hợp với nhau thông qua các khóa ngoại để truy xuất và lấy dữ liệu từ
nhiều bảng khác nhau.
4. Khả năng mở rộng: Hệ thống RDBMS có thể mở rộng quy mô dữ liệu một cách dễ dàng bằng cách thêm mới
các bảng hoặc các cột trong bảng.
Các hệ thống sử dụng cơ sở dữ liệu quan hệ bao gồm nhiều lĩnh vực, từ các ứng dụng tin học cá nhân đến các hệ
thống doanh nghiệp lớn. Ví dụ như các trang web thương mại điện tử, hệ thống quản lý tài sản, hệ thống quản lý
khách hàng, hệ thống quản lý nhân sự, hệ thống quản lý kho và vận chuyển, và nhiều hệ thống khác.
9. Cơ sở dữ liệu không quan hệ là gì?
Cơ sở dữ liệu không quan hệ (Non-Relational Database hay NoSQL) là một loại cơ sở dữ liệu mà không sử dụng
các bảng, hàng và cột như trong cơ sở dữ liệu quan hệ. Thay vào đó, NoSQL lưu trữ dữ liệu ở dạng tài liệu
(document), đồ thị (graph), hoặc key-value pair.
Tóm lại, hệ quản trị cơ sở dữ liệu là một phần mềm quan trọng giúp người dùng quản lý và bảo vệ dữ liệu của họ.
Nó cung cấp các tính năng để quản lý và truy xuất dữ liệu, đảm bảo tính nhất quán và bảo mật của dữ liệu, sao lưu
và phục hồi dữ liệu và quản lý tương tranh khi nhiều người sử dụng cùng truy cập vào cơ sở dữ liệu.
Page 19
11. Hãy giải thích mối quan hệ giữa thực thể (entity), loại thực thể (entity class) và thể hiện của thực thể
(entity instance)
Trong mô hình quan hệ thực thể-quan hệ (ER - Entity-Relationship model), các đối tượng của dữ liệu được biểu
diễn như là các thực thể (entities). Các thực thể này có thể thuộc về một loại thực thể cụ thể (entity class) và được
biểu diễn bởi các thể hiện của thực thể (entity instance).
- Thực thể (entity): là một đối tượng trong thế giới thực, có thể được phân biệt và có tính chất riêng biệt. Trong
ER, các thực thể được biểu diễn bằng các hình vuông và có tên gọi riêng. Ví dụ, trong một hệ thống quản lý bán
hàng, thực thể "khách hàng" có thể chứa thông tin về tên, địa chỉ, số điện thoại và email của khách hàng.
- Loại thực thể (entity class): là một nhóm các thực thể có các thuộc tính chung và được đặc trưng bởi một tập
thuộc tính chung. Trong ER, các loại thực thể được biểu diễn bằng các hình vuông có đường xén ngang ở phía
trên và có tên gọi riêng. Ví dụ, trong hệ thống quản lý bán hàng, loại thực thể "sản phẩm" có thể chứa thông tin về
tên sản phẩm, mô tả, giá và số lượng.
- Thể hiện của thực thể (entity instance): là một trường hợp cụ thể của một loại thực thể trong thế giới thực. Trong
ER, các thể hiện của thực thể được đại diện bởi các hình vuông được kẻ nét và có tên gọi riêng. Ví dụ, trong hệ
thống quản lý bán hàng, một thể hiện của thực thể "khách hàng" có thể tương ứng với thông tin chi tiết của một
khách hàng cụ thể.
Vì vậy, mối quan hệ giữa thực thể, loại thực thể và thể hiện của thực thể trong ER là như sau: Một loại thực thể là
một nhóm các thực thể có các thuộc tính chung, trong khi thể hiện của thực thể là một trường hợp cụ thể của một
loại thực thể. Các thực thể được biểu diễn bởi các thể hiện của chúng và thuộc về một loại thực thể cụ thể.
Page 20