MỤC LỤC:
1. Giới thiệu
2. Một số khái niệm cơ bản
3. Ràng buộc toàn vẹn
4. Các đặc trưng của quan hệ
5. Chuyển đổi ERD -> Mô hình quan hệ
1. Giới thiệu
Mô hình Dữ liệu Quan hệ (Relational Data Model) do TS. E. F. Codd đưa ra năm 1970.
Đây là mô hình cung cấp một cấu trúc dữ liệu ơn giản và đồng bộ dựa trên khái niệm quan hệ.
Quan hệ là khái niệm toán học dựa trên nền tảng ý thuyết vững chắc về lý thuyết tập hợp.
Là cơ sở của các HQT CSDL thương mại (Oracle, DB2, SQL Server,…)
2.1 Quan hệ
2.2 Thuộc tính
2.3 Bộ giá trị
2.4 Thể hiện của quan hệ
2.5 Tân từ
2.6 Lược đồ quan hệ
2.7 Lược đồ CSDL
2.1 Quan hệ (Relation)
Các thông tin lưu trữ trong CSDL được tổ chức thành bảng (table) gọi là quan hệ
Thuộc tính:
– Tên gọi: dãy ký tự (gợi nhớ)
– Kiểu dữ liệu: Số, Chuỗi, Thời gian, Luận lý, OLE.
– Miền giá trị: tập giá trị mà thuộc tính có thể nhận.
Ký hiệu miền giá trị của thuộc tính A là Dom(A).
Ví dụ:
GIOITINH kiểu dữ liệu là Chuỗi;
Miền giá trị: Dom(GIOITINH)=(‘Nam’,’Nu’)
Chú ý:
Một thuộc tính không có giá trị hoặc chưa xác định ược giá trị => giá trị Null
Mô tả ý nghĩa cho các giá trị tại cột đó
Tất cả các dữ liệu trong cùng một cột đều có dùng iểu dữ liệu
Bộ là các dòng của quan hệ (trừ dòng tiêu đề: tên của ác thuộc tính)
Thể hiện dữ liệu cụ thể của các thuộc tính trong quan hệ
Một quan hệ gồm:
Tên quan hệ
Tập hợp các cột (cố định, được đặt tên, có KDL)
Tập hợp các dòng (thay đổi theo thời gian, sự hay đổi phụ thuộc vào NSD)
Mỗi dòng Một thực thể
Quan hệ Tập các thực thể
2.4 Thể hiện của quan hệ (Instance)
Định nghĩa: Thể hiện của một quan hệ là tập hợp các ộ giá trị của quan hệ tại một thời điểm nhất định.
Ký hiệu: thể hiện của quan hệ Q là TQ
Ví dụ: TSINHVIEN là thể hiện của quan hệ SINHVIEN tại hời điểm hiện tại gồm có các bộ như sau:
Định nghĩa: Tân từ là một quy tắc dùng để ô tả một quan hệ.
Ký hiệu: ||Q||
Ví dụ: THI (MaSV, MaMH, Lanthi, Diem)
||THI||: mỗi sinh viên được phép thi một môn ọc nhiều lần, mỗi lần thi lưu trữ sinh viên ào thi môn gì? lần thi thứ mấy? và điểm là ao nhiêu?
2.6 Lược đồ quan hệ
Mục đích:
Mô tả cấu trúc của một quan hệ và
Các mối liên hệ giữa các thuộc tính trong quan ệ đó.
Cấu trúc của một quan hệ: là tập thuộc tính hình hành nên quan hệ đó.
Một lược đồ quan hệ gồm:
Một tập thuộc tính của quan hệ, kèm theo
Một mô tả để xác định ý nghĩa và mối liên hệ iữa các thuộc tính
Lược đồ quan hệ được đặc trưng bởi:
– Một tên phân biệt
– Một tập hợp hữu hạn các thuộc tính (A1, …, An)
Ký hiệu: Lược đồ quan hệ Q gồm n thuộc tính (A1, A2,... An) à: Q(A1, A2, ..., An)
Ví dụ 1:
SINHVIEN(MaSV,Hoten,Gioitinh,Noisinh,Malop)
Tân từ: Mỗi sinh viên có một mã sinh viên để phân biệt với các sinh iên khác. Cần lưu trữ họ tên, giới tính, nơi sinh và thuộc lớp nào.
Tân từ: mỗi sinh viên phân biệt với nhau bằng mã sinh viên, lưu trữ họ tên, ngày sinh, iới tính, nơi sinh, thuộc lớp nào.
LOP (MALOP, TENLOP, TRGLOP, SISO, MAGVCN)
Tân từ: mỗi lớp gồm có mã lớp, tên lớp, học viên làm lớp trưởng của lớp, sỉ số lớp và iáo viên chủ nhiệm.
KHOA (MAKHOA, TENKHOA, NGTLAP, TRGKHOA)
Tân từ: mỗi khoa cần lưu trữ mã khoa, tên khoa, ngày thành lập khoa và trưởng khoa
(cũng là một giáo viên thuộc khoa).
MONHOC (MAMH, TENMH, TCLT, TCTH, MAKHOA)
Tân từ: mỗi môn học cần lưu trữ tên môn học, số tín chỉ lý thuyết, số tín chỉ thực hành à khoa nào phụ trách.
DIEUKIEN (MAMH, MAMH_TRUOC)
Tân từ: có những môn học sinh viên phải có kiến thức từ một số môn học trước
HESO, MUCLUONG, MAKHOA)
Tân từ: mã giáo viên để phân biệt giữa các giáo viên, cần lưu trữ họ tên, học vị, ọc hàm, giới tính, ngày sinh, ngày vào làm, hệ số, mức lương và thuộc một khoa.
GIANGDAY(MALOP,MAMH,MAGV,HOCKY, NAM,TUNGAY,DENNGAY)
Tân từ: mỗi học kỳ của năm học sẽ phân công giảng dạy: lớp nào học môn gì do iáo viên nào phụ trách.
KETQUATHI (MASV, MAMH, LANTHI, NGTHI, DIEM, KQUA)
Tân từ: lưu trữ kết quả thi của sinh viên: sinh viên nào thi môn học gì, lần thi thứ mấy, gày thi là ngày nào, điểm thi bao nhiêu và kết quả là đạt hay không đạt.
RBTV (Integrity Constraint) là những:
Qui tắc,
Điều kiện,
Ràng buộc ần được thỏa mãn trong một thể hiện của CSDL uan hệ.
RBTV được mô tả khi định nghĩa lược đồ quan hệ
RBTV được kiểm tra khi các quan hệ có thay đổi
3.1 Siêu khóa (super key)
3.2 Khóa (key)
3.3 Khóa chính (primary key)
3.4 Tham chiếu
3.5 Khóa ngoại (foreign key)
3.1 Siêu khóa (super key)
Siêu khóa: là một tập con các thuộc tính của Q+ à giá trị của chúng có thể phân biệt 2 bộ khác hau trong cùng một thể hiện TQ bất kỳ.
Siêu khóa là tập các thuộc tính dùng để xác định ính duy nhất của mỗi bộ trong quan hệ
Một quan hệ có ít nhất một siêu khóa (Q+) và có hể có nhiều siêu khóa.
Khóa: K là khóa của quan hệ R, thỏa mãn 2 điều kiện:
– K là một siêu khóa.
– K là siêu khóa “nhỏ nhất” (chứa ít thuộc tính nhất và hác rỗng) nghĩa là:
Thuộc tính tham gia vào một khóa gọi là thuộc tính hóa, ngược lại là thuộc tính không khóa.
Ví dụ 1: SINHVIEN (MASV, HOTEN, NGSINH, GIOITINH, NOISINH, MALOP)
Các siêu khóa của quan hệ SINHVIEN là:
{MaSV};{MaSV,Hoten};{Hoten};{Hoten,Gioitinh};{Noisinh,Hoten};
{MaSV,Hoten,Gioitinh,Noisinh}…
=> Khóa của quan hệ SINHVIEN có thể là: {MaSV}; {Hoten}
Ví dụ 2: GIANGDAY(MALOP,MAMH,MAGV,HOCKY, NAM,TUNGAY,DENNGAY)
Khóa của quan hệ GIANGDAY là:
K={MaGV,MaMH,MaLop}
=> Thuộc tính khóa sẽ là: MaGV,MaMH,MaLop
Giá trị của khóa dùng để nhận biết một bộ trong uan hệ.
Khóa là một đặc trưng của lược đồ quan hệ, hông phụ thuộc vào thể hiện quan hệ.
Khóa được xây dựng dựa vào ý nghĩa của một số huộc tính trong quan hệ.
Lược đồ quan hệ có thể có nhiều khóa.
3.3 Khóa chính (primary key)
Định nghĩa: Khi cài đặt trên một DBMS cụ thể, ếu quan hệ có nhiều hơn một khóa, ta chỉ ược chọn một và gọi là khóa chính
Ký hiệu: Các thuộc tính nằm trong khóa chính hi liệt kê trong quan hệ phải được gạch dưới.
Ví dụ:
– SINHVIEN (MaSV,Hoten,Gioitinh,Noisinh,Malop)
– GIANGDAY(Magv,Mamh,Malop,Hocky,Nam)
3.4 Tham chiếu
Một bộ trong quan hệ R, tại thuộc tính A nếu nhận một giá trị từ ột thuộc tính B của quan hệ S, ta gọi R tham chiếu S
– Bộ được tham chiếu phải tồn tại trước
Xét 2 lược đồ R và S
Gọi FK là tập thuộc tính khác rỗng của R
FK là khóa ngoại (Foreign Key) của R khi:
Các thuộc tính trong FK phải có cùng miền giá trị với ác thuộc tính khóa chính của S
Giá trị tại FK của một bộ t1R
Hoặc bằng giá trị tại khóa chính của một bộ t2S
Hoặc bằng giá trị rỗng
Ví dụ: Cho 2 quan hệ
LOP (Malop,Tenlop,Siso,Khoahoc)
SINHVIEN(MaSV,Hoten,Gioitinh,Noisinh,Malop)
Thuộc tính Malop trong quan hệ LOP là khóa chính ủa quan hệ LOP.
Thuộc tính Malop trong quan hệ SINHVIEN là khóa goại, tham chiếu đến Malop trong quan hệ LOP
Trong một lược đồ quan hệ, một thuộc tính vừa có thể tham gia ào khóa chính, vừa tham gia vào khóa ngoại.
Khóa ngoại có thể tham chiếu đến khóa chính trên cùng một lược ồ quan hệ.
Có thể có nhiều khóa ngoại tham chiếu đến cùng một khóa chính.
Ràng buộc tham chiếu = Ràng buộc khóa ngoại
Ví dụ:
Thứ tự các bộ trong quan hệ là không quan trọng
Mỗi giá trị trong một bộ
– Hoặc là một giá trị nguyên tố
– Hoặc là một giá trị rỗng (null)
Không có bộ nào trùng nhau
5. Chuyển đổi ERD quan hệ
B1: Chuyển đổi các tập thực thể thành các lược đồ uan hệ
B2: Chuyển đổi các mối quan hệ:
Một - Một
Một – Nhiều
Nhiều – Nhiều
B3: Chuyển đổi các tập thực thể yếu thành các quan hệ
B4: Chuyển đổi thuộc tính đa trị thành một quan hệ
B4: Chuyển đổi mối quan hệ đa ngôi thành một quan hệ
– Hoặc thêm vào quan hệ này thuộc tính khóa của quan hệ kia
– Hoặc thêm thuộc tính khóa vào cả 2 quan hệ
Chuyển thành một quan hệ:
Có cùng tên với thuộc tính đa trị
Thuộc tính khóa của quan hệ này là khóa ngoài của uan hệ chứa thuộc tính đa trị
Chuyển thành một quan hệ:
Có cùng tên với tên mối liên kết đa ngôi
Khóa chính là tổ hợp các khóa của tập các thực thể ham gia liên kết
SINH VIÊN (Mã SV, Họ tên SV, Địa chỉ, NTTN, Mã lớp)
LỚP (Mã lớp, Tên lớp, Sĩ số, Mã khoa)
KHOA (Mã khoa, Tên khoa, Ngày thành lập)
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội
=============================
oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty