Nhận biết mô hình quan hệ
Giải thích được vì sao dữ liệu được tổ chức thành các bảng có liên hệ với nhau.
Từ những bảng dữ liệu quen thuộc, em sẽ khám phá cách tổ chức, liên kết và truy vấn dữ liệu một cách chính xác.
Khi em tìm bài hát “Xa khơi”, ứng dụng nhanh chóng cho biết tên bài hát, nhạc sĩ sáng tác và ca sĩ thể hiện. Nhưng các thông tin ấy lại được lưu ở những bảng khác nhau.
Sau bài học này, em có thể:
Giải thích được vì sao dữ liệu được tổ chức thành các bảng có liên hệ với nhau.
Xác định được hàng, cột, bản ghi và trường trong một bảng dữ liệu.
Nhận biết khóa chính, khóa ngoài và vai trò của chúng trong liên kết dữ liệu.
Chọn kiểu dữ liệu và ràng buộc phù hợp cho từng trường.
Quan sát từng bước cách ghép các bảng bằng trường khóa chung.
Viết và chạy câu lệnh SELECT đơn giản trên dữ liệu âm nhạc mẫu.
CSDL quan hệ tổ chức dữ liệu thành các bảng và nối chúng bằng khóa.
Thay vì lặp lại tên nhạc sĩ và ca sĩ ở mọi nơi, dữ liệu được chia thành các bảng Nhạc sĩ, Ca sĩ, Bản nhạc và Bản thu âm. Các mã Aid, Sid và Mid giúp liên kết chúng.
| Aid PK | TenNS |
|---|---|
| 1 | Đỗ Nhuận |
| 2 | Văn Cao |
| 3 | Hoàng Việt |
| 4 | Nguyễn Tài Tuệ |
| Sid PK | TenCS |
|---|---|
| TK | Trần Khánh |
| LD | Lê Dung |
| TN | Tấn Nhân |
| QH | Quốc Hương |
| Mid PK | Aid FK | TenBN |
|---|---|---|
| 0001 | 1 | Du kích sông Thao |
| 0002 | 2 | Trường ca sông Lô |
| 0003 | 3 | Tình ca |
| 0004 | 4 | Xa khơi |
| 0005 | 1 | Việt Nam quê hương tôi |
| 0006 | 2 | Tiến về Hà Nội |
| Mid FK | Sid FK |
|---|---|
| 0001 | TK |
| 0001 | LD |
| 0005 | TK |
| 0005 | TN |
| 0002 | QH |
| 0002 | QH |
Cơ sở dữ liệu quan hệ là hệ thống quản lý dữ liệu lưu trữ thông tin dưới dạng các tập hợp bảng có quan hệ logic với nhau thông qua khóa chính (Primary Key) và khóa ngoại (Foreign Key), đảm bảo tuân thủ nghiêm ngặt các đặc tính ACID (Atomicity, Consistency, Isolation, Durability) để duy trì tính toàn vẹn dữ liệu.
Nguồn: Microsoft – trích từ tài liệu Azure Cloud Architecture Guides.Một hàng của bảng, ghi dữ liệu về một đối tượng cụ thể. Ví dụ: một hàng mô tả nhạc sĩ Văn Cao.
Một cột của bảng, thể hiện một thuộc tính. Ví dụ: TenNS là trường tên nhạc sĩ.
Một trường hoặc nhóm trường có giá trị không trùng nhau, dùng để xác định duy nhất mỗi bản ghi.
Trường hoặc nhóm trường tham chiếu tới khóa chính của bảng khác, tạo mối liên hệ giữa các bảng.
Ghép dữ liệu từ hai hay nhiều bảng dựa trên trường chung để tạo ra thông tin đầy đủ hơn.
Quy định miền giá trị của trường, giúp kiểm soát tính hợp lệ và nhất quán của dữ liệu.
| SBD | Họ và tên | Giới tính | Ngày sinh | Điểm | Mã kì thi |
|---|---|---|---|---|---|
| 1 | Phan Việt An | Nam | 17/10/2005 | 6,25 | A1001 |
| 2 | Trần Duy Anh | Nam | 11/09/2004 | 8,00 | A1001 |
| 3 | Bùi Thị Hương | Nữ | 20/03/2006 | 9,50 | A1001 |
Ràng buộc dữ liệu: SBD là số nguyên; họ tên là xâu tối đa 64 kí tự; giới tính chỉ nhận “Nam” hoặc “Nữ”; ngày sinh là ngày hợp lệ; điểm từ 0 đến 10; mã kì thi là xâu tối đa 5 kí tự.
Chạm vào từng bảng, sau đó xoay mô hình để quan sát các lớp dữ liệu và khóa.
Kéo trực tiếp mô hình để xoay. Các mặt biểu diễn bảng; trường cùng tên tạo đường tham chiếu giữa các mặt.
Góc X: −18° · Góc Y: 28°
Phương án tĩnh: Bản nhạc nối Nhạc sĩ qua Aid; Bản thu âm nối Bản nhạc qua Mid và nối Ca sĩ qua Sid.
Theo dõi từng bản thu âm tìm bản nhạc, nhạc sĩ và ca sĩ tương ứng.
Sẵn sàng. Hãy chọn dự đoán rồi bấm “Bước tiếp”.
| # | Mid | Sid |
|---|---|---|
| 1 | 0001 | TK |
| 2 | 0001 | LD |
| 3 | 0005 | TK |
| 4 | 0005 | TN |
| 5 | 0002 | QH |
| 6 | 0002 | QH |
Đơn vị: số dòng bản thu âm trong dữ liệu mẫu của bài.
Chỉnh sửa câu lệnh SELECT và chạy trên bộ dữ liệu âm nhạc mẫu.
Nhiệm vụ: Tìm tên bản nhạc cùng tên nhạc sĩ sáng tác. Thử thay đổi danh sách trường, thêm WHERE hoặc ORDER BY. Bộ chạy chỉ xử lí truy vấn đọc dữ liệu, không truy cập tệp hay mạng.
Kết quả truy vấn sẽ hiển thị tại đây.
5 câu hỏi, mỗi lần một câu. Trả lời để mở khóa câu tiếp theo.
Năm ý chính tạo thành một chuỗi logic của mô hình quan hệ.
Hãy hoàn thành 5 câu luyện tập để cập nhật kết quả tại đây.
Hãy đề xuất ba bảng để quản lí học sinh, môn học và điểm; xác định khóa chính và khóa ngoài để liên kết các bảng đó.
Câu hỏi mở: Nếu hai học sinh trùng họ tên, trường nào nên dùng để phân biệt?