Tạo nhiều bảng trong PostgreSQL - phần 2¶
Tóm lược nội dung
Bài này trình bày cách tạo thêm bảng nhằm hoàn chỉnh cơ sở dữ liệu quản lý điểm số học sinh bằng công cụ pgAdmin 4 của PostgreSQL.
Khái quát cơ sở dữ liệu¶
Cơ sở dữ liệu cần tạo là school_db
, dùng để quản lý điểm số của học sinh, gồm có một số bảng sau:
Tên bảng | Dữ liệu được lưu trữ |
---|---|
classrooms |
Dữ liệu về lớp học |
students |
Dữ liệu về học sinh |
subjects |
Dữ liệu về môn học |
scores |
Dữ liệu về điểm số của học sinh |
Bài trước đã hướng dẫn cách tạo bảng classrooms
và kết nối với bảng students
.
Bài này trình bày cách tạo hai bảng còn lại là subjects
và scores
.
Bảng subjects¶
Tạo bảng¶
Mô tả của bảng subjects
như sau:
Thuộc tính | Ý nghĩa | Kiểu dữ liệu |
---|---|---|
subject_id |
mã định danh của mỗi môn học | chuỗi gồm 2 ký tự và là khóa chính |
subject_name |
tên đầy đủ của mỗi môn học | chuỗi gồm 100 ký tự |
description |
mô tả môn học | văn bản dài |
is_mandatory |
là môn học bắt buộc hoặc không | true hoặc false |
Mã lệnh SQL tạo bảng subjects
:
text
là kiểu dữ liệu dùng cho khối văn bản lớn, nhưng hiệu năng không bằng kiểuvarchar
.- Giá trị mặc định của thuộc tính
is_mandatory
trong mỗi mẫu tin là true.
Thêm dữ liệu¶
Mã lệnh SQL thêm mới ba mẫu tin (1) vào bảng subjects
:
- Mỗi mẫu tin là một hàng trong bảng, chứa dữ liệu của một môn học.
Bảng scores¶
Tạo bảng¶
Mô tả của bảng scores
như sau:
Thuộc tính | Ý nghĩa | Kiểu dữ liệu |
---|---|---|
student_id |
mã định danh của mỗi học sinh | chuỗi gồm 6 ký tự |
subject_id |
mã định danh của mỗi môn học | chuỗi gồm 2 ký tự |
regular_1 |
điểm kiểm tra thường xuyên 1 | số thực |
regular_2 |
điểm kiểm tra thường xuyên 2 | số thực |
regular_3 |
điểm kiểm tra thường xuyên 3 | số thực |
midterm |
điểm kiểm tra giữa kỳ | số thực |
final_test |
điểm kiểm tra cuối kỳ | số thực |
Lược đồ của bảng scores
có thể được ghi như sau:
scores(student_id, subject_id, regular_1, regular_2, regular_3, midterm, final_test)
Trong đó:
- Khoá chính gồm hai thuộc tính là
student_id
vàsubject_id
. - Hai khoá ngoại gồm:
- Khoá ngoại 1: thuộc tính
student_id
sẽ tham chiếu đến thuộc tínhstudent_id
của bảngstudents
. - Khoá ngoại 2: thuộc tính
subject_id
sẽ tham chiếu đến thuộc tínhsubject_id
của bảngsubjects
.
- Khoá ngoại 1: thuộc tính
Mã lệnh SQL tạo bảng scores
:
- Dòng lệnh này khai báo khoá ngoại trực tiếp trong lệnh
CREATE TABLE
, mà không cần dùng viết thêm lệnhALTER TABLE
.
Như vậy, cho đến lúc này, ta đã có được cơ sở dữ liệu (tạm) hoàn chỉnh như sau:
Thêm dữ liệu¶
Mã lệnh SQL thêm mới mười mẫu tin (1) vào bảng scores
:
- Mỗi mẫu tin là một hàng trong bảng, chứa dữ liệu điểm số các bài kiểm tra của một học sinh và một môn học.
Xem toàn bộ dữ liệu của bảng scores
bằng cách: click phải lên bảng scores
> chọn View/Edit Data > chọn All Rows.