UTH Relational Database Design Exercises - 2025 Nguyễn Văn Diêu
HO CHI MINH CITY UNIVERSITY OF TRANSPORT
Kiến thức - Kỹ năng - Sáng tạo - Hội nhập
Sứ mệnh - Tầm nhìn
Triết Giáo dục - Giá trị cốt lõi
Contents
0 Database & ERD Tool Resources 2
0.1 PostgreSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
0.2 MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
0.3 SQLServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
0.4 ERD Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1 Entity Relationship Diagram (ERD) 3
2 Functional Dependencies (FDs) 8
3 Amstrong’s Axiom 8
4 Closure 9
5 Keys 12
6 Normal Form by FDs 13
7 Multivalued Dependencies (MVDs) 14
8 Tableau Chase Test 15
9 More Normal form and Dependencies 17
1/18
UTH Relational Database Design Exercises - 2025 Nguyễn Văn Diêu
0 Database & ERD Tool Resources
0.1 PostgreSQL
1. PostgreSQL pgAdmin4 bằng Docker từ git https://github.com/nvdieu/PostgreSQL-pgAdmin-lab
2. PostgreSQL trực tiếp lên máy: https://www.postgresql.org/download/
IDE: DBeaver Community
0.2 MySQL
1. Cài MySQL bằng Docker từ git https://github.com/nvdieu/mysql-lab.git/
2. Cài MySQL trực tiếp lên máy: https://dev.mysql.com/downloads/mysql/
3. IDE: DBeaver Community
0.3 SQLServer
1. Server: https://www.microsoft.com/en-us/sql-server/sql-server-downloads
2. IDE: DBeaver Community
0.4 ERD Tool
1. Ofline: TerraER
2. Online: Draw.io
2/18
UTH Relational Database Design Exercises - 2025 Nguyễn Văn Diêu
1 Entity Relationship Diagram (ERD)
1.1 ERD Hệ thống Thông tin Sinh viên
Hệ thống thông tin quản sinh viên một phần mềm được thiết kế để hỗ trợ các trường đại học các tổ chức giáo
dục trong việc quản thông tin liên quan đến sinh viên, các khóa học, giảng viên kết quả học tập. Hệ thống này nhằm
mục đích tối ưu hóa quy trình quản lý, giảm thiểu sai sót nâng cao hiệu quả hoạt động của nhà trường.
Hệ thống sẽ lưu trữ thông tin nhân của mỗi sinh viên bao gồm sinh viên, họ tên, ngày sinh, giới tính, địa chỉ,
email, số điện thoại. Thông tin học tập của sinh viên cũng được ghi nhận, chẳng hạn như ngành học, năm nhập học
trạng thái học tập hiện tại (đang học, đã tốt nghiệp, bảo lưu, v.v.).
Mỗi khóa học trong hệ thống sẽ được quản với các thông tin như khóa học, tên khóa học, tả số tín chỉ.
Khóa học sẽ được liên kết với giảng viên phụ trách.
Hệ thống sẽ lưu trữ thông tin của các giảng viên bao gồm giảng viên, họ tên, chuyên ngành, địa chỉ email số
điện thoại. Ngoài ra, thông tin về bộ môn hoặc phòng ban của giảng viên các khóa học họ phụ trách cũng sẽ được
ghi nhận.
Mỗi lớp học phần sẽ bao gồm các thông tin như lớp, khóa học, giảng viên, thời gian học địa điểm học.
Danh sách sinh viên tham gia lớp học phần cùng với điểm số của họ cũng sẽ được quản trong hệ thống.
Hệ thống sẽ lưu trữ kết quả học tập của mỗi sinh viên cho từng lớp học phần họ tham gia. Thông tin bao gồm
sinh viên, lớp học phần, điểm số xếp loại.
Mối quan hệ giữa sinh viên lớp học phần được thiết lập để ghi nhận các lớp học phần sinh viên tham gia. Một
sinh viên thể tham gia nhiều lớp học phần một lớp học phần thể bao gồm nhiều sinh viên.
Mỗi lớp học phần sẽ thuộc về một khóa học cụ thể. Một khóa học thể nhiều lớp học phần khác nhau trong các kỳ
học khác nhau.
Mỗi lớp học phần được giảng dạy bởi một giảng viên phụ trách. Một giảng viên thể phụ trách nhiều lớp học phần
khác nhau.
Một khóa học thể được giảng dạy bởi nhiều giảng viên một giảng viên thể giảng dạy nhiều khóa học.
Mối quan hệ sinh viên kết quả học tập ghi nhận kết quả học tập của sinh viên trong từng lớp học phần. Mỗi kết quả
học tập sẽ liên quan đến một sinh viên một lớp học phần cụ thể.
Yêu cầu:
1. Vẽ đồ ERD:
Hãy vẽ ERD cho hệ thống quản sinh viên dựa trên yêu cầu đã nêu trên.
Xác định các thực thể (entities), mối quan hệ (relationships), thuộc tính (attributes) của từng thực thể.
2. tả chi tiết:
tả chi tiết về mỗi thực thể, mối quan hệ thuộc tính trong ERD.
Cho biết các quy tắc mối quan hệ, dụ: mối quan hệ 1-n, n-n.
3. Biến đổi sang hình Quan hệ.
4. Chuẩn hóa cài đặt Database lên một DBMS.
1.2 ERD Hệ thống Thông tin Kho hàng
Hệ thống thông tin quản kho hàng (Warehouse Management System - WMS) được thiết kế để hỗ trợ doanh nghiệp
quản hiệu quả hoạt động lưu trữ, vận chuyển kiểm soát mặt hàng trong kho. Hệ thống này nhằm mục đích tối ưu
hóa quy trình nhập kho, xuất kho, theo dõi tồn kho, giúp giảm thiểu sai sót nâng cao hiệu suất quản lý.
Hệ thống lưu trữ thông tin chi tiết về mặt hàng bao gồm hàng, tên hàng, tả, đơn vị đo lường, giá thành, loại
hàng.
Mỗi kho hàng trong hệ thống sẽ được quản với các thông tin như kho, tên kho, địa chỉ, dung lượng lưu trữ tối
đa.
Hệ thống lưu trữ thông tin về các nhà cung cấp bao gồm nhà cung cấp, tên nhà cung cấp, địa chỉ, email, số điện
thoại, danh sách các mặt hàng họ cung cấp.
Quá trình nhập kho sẽ bao gồm các thông tin như phiếu nhập, mặt hàng, nhà cung cấp, số lượng, ngày nhập,
vị trí lưu trữ trong kho.
Quá trình xuất kho sẽ bao gồm các thông tin như phiếu xuất, mặt hàng, số lượng, ngày xuất, mục đích xuất
kho (bán hàng, chuyển kho, sản xuất, v.v.).
3/18
UTH Relational Database Design Exercises - 2025 Nguyễn Văn Diêu
Hệ thống quản các vị trí lưu trữ trong kho hàng với các thông tin như vị trí, kho, tả vị trí, dung lượng
lưu trữ khả dụng.
Một mặt hàng thể được nhập vào kho nhiều lần mỗi lần nhập kho thể bao gồm nhiều loại mặt hàng.
Một mặt hàng thể được xuất khỏi kho nhiều lần mỗi lần xuất kho thể bao gồm nhiều loại mặt hàng.
Một nhà cung cấp thể cung cấp nhiều loại mặt hàng một lần nhập kho thể liên quan đến nhiều nhà cung cấp
khác nhau.
Một kho hàng thể chứa nhiều vị trí lưu trữ mỗi vị trí lưu trữ thuộc về một kho hàng cụ thể.
Yêu cầu:
1. Vẽ đồ ERD:
Hãy vẽ ERD cho hệ thống quản kho hàng dựa trên yêu cầu đã nêu trên.
Xác định các thực thể (entities), mối quan hệ (relationships), thuộc tính (attributes) của từng thực thể.
2. tả chi tiết:
tả chi tiết về mỗi thực thể, mối quan hệ thuộc tính trong ERD.
Cho biết các quy tắc mối quan hệ, dụ: mối quan hệ 1-n, n-n.
3. Biến đổi sang hình Quan hệ.
4. Chuẩn hóa cài đặt Database lên một DBMS.
1.3 ERD Hệ thống Thông tin Thi bằng lái xe
Hệ thống thông tin thi bằng lái xe Việt Nam được thiết kế để hỗ trợ quản quá trình đào tạo, đăng thi, cấp
phát bằng lái xe cho người dân. Hệ thống này giúp các quan quản giao thông nâng cao hiệu quả quản lý, giảm thiểu
sai sót, tạo thuận tiện cho người dân trong quá trình học thi lấy bằng lái xe.
Khi một học viên mới đăng học lái xe, thông tin của họ sẽ được nhập vào hệ thống. Bất kỳ thay đổi nào về thông tin
nhân hoặc trạng thái đăng của học viên đều được cập nhật thường xuyên. Các khóa học lái xe mới được tạo ra mỗi
kỳ học, các khóa học cụ thể sẽ được tổ chức với lịch trình giảng viên phụ trách. Học viên thể đăng thi sau khi
hoàn thành khóa học. Thông tin đăng thi sẽ được ghi nhận, bao gồm thông tin về lệ phí trạng thái đăng ký. Kết quả
thi của học viên sẽ được nhập vào hệ thống sau mỗi kỳ thi. Hệ thống sẽ tính toán cập nhật điểm số, kết quả thi cho
từng học viên. Sau khi học viên đậu kỳ thi, thông tin về bằng lái xe sẽ được tạo lưu trữ trong hệ thống. Học viên
thể tra cứu thông tin về bằng lái của mình, bao gồm ngày cấp ngày hết hạn.
Hệ thống lưu trữ thông tin về học viên bao gồm học viên, họ tên, ngày sinh, địa chỉ, email, số điện thoại, loại bằng
lái xe muốn thi, trạng thái đăng ký.
Hệ thống quản các khóa học lái xe bao gồm khóa học, tên khóa học, tả, lịch trình, địa điểm, giảng viên
phụ trách.
Thông tin về các giảng viên bao gồm giảng viên, họ tên, chuyên ngành, địa chỉ email, số điện thoại, các khóa
học phụ trách.
Mỗi đăng thi sẽ bao gồm các thông tin như đăng ký, học viên, khóa học, ngày đăng ký, trạng thái đăng
ký, thông tin về lệ phí thi.
Hệ thống lưu trữ kết quả thi của học viên bao gồm học viên, khóa học, điểm số, kết quả thi (đậu hoặc rớt).
Thông tin về bằng lái xe bao gồm bằng lái, học viên, loại bằng, ngày cấp, ngày hết hạn.
Một học viên thể tham gia nhiều khóa học một khóa học thể nhiều học viên.
Một khóa học thể được giảng dạy bởi nhiều giảng viên một giảng viên thể phụ trách nhiều khóa học.
Một học viên thể đăng thi nhiều lần mỗi lần đăng thi liên quan đến một học viên duy nhất.
Mỗi học viên một kết quả thi duy nhất cho mỗi khóa học họ tham gia.
Mỗi học viên thể nhiều bằng lái xe khác nhau cho các loại phương tiện khác nhau.
Yêu cầu:
1. Vẽ đồ ERD:
Hãy vẽ ERD cho hệ thống quản thi bằng lái xe dựa trên yêu cầu đã nêu trên.
Xác định các thực thể (entities), mối quan hệ (relationships), thuộc tính (attributes) của từng thực thể.
2. tả chi tiết:
4/18
UTH Relational Database Design Exercises - 2025 Nguyễn Văn Diêu
tả chi tiết về mỗi thực thể, mối quan hệ thuộc tính trong ERD.
Cho biết các quy tắc mối quan hệ, dụ: mối quan hệ 1-n, n-n.
3. Biến đổi sang hình Quan hệ.
4. Chuẩn hóa cài đặt Database lên một DBMS.
1.4 ERD Hệ thống Thông tin Đại bán xe Toyota
Hệ thống thông tin đại bán xe Toyota được thiết kế để hỗ trợ quản các hoạt động kinh doanh của đại lý, bao gồm
quản thông tin xe, khách hàng, nhân viên bán hàng, đơn hàng các dịch vụ hậu mãi. Hệ thống này giúp nâng cao
hiệu quả quản lý, cải thiện trải nghiệm khách hàng tối ưu hóa quy trình bán hàng dịch vụ.
Khi xe mới được nhập về đại lý, thông tin chi tiết về xe sẽ được nhập vào hệ thống. Bất kỳ thay đổi nào về thông tin
xe đều được cập nhật thường xuyên. Hệ thống sẽ lưu trữ thông tin chi tiết về khách hàng lịch sử mua xe cũng như sử
dụng dịch vụ của họ. Điều này giúp đại cung cấp dịch vụ chăm sóc khách hàng tốt hơn thực hiện các chiến dịch
marketing hiệu quả. Quá trình đặt hàng sẽ được ghi nhận với thông tin về khách hàng, nhân viên bán hàng, xe, ngày đặt
hàng, tình trạng đơn hàng tổng giá trị. Hệ thống sẽ cập nhật trạng thái đơn hàng sau mỗi lần giao dịch. Hệ thống sẽ
lưu trữ quản các dịch vụ hậu mãi khách hàng đã sử dụng. Điều này giúp đảm bảo chất lượng dịch vụ theo dõi
các yêu cầu bảo dưỡng, sửa chữa. Thông tin về các nhà cung cấp sẽ được lưu trữ quản để theo dõi nguồn cung cấp
xe phụ tùng, đảm bảo liên lạc hợp tác hiệu quả.
Hệ thống lưu trữ thông tin chi tiết về các loại xe bao gồm xe, tên xe, dòng xe, màu sắc, năm sản xuất, giá bán,
tình trạng (còn hàng, đã bán, v.v.).
Thông tin về các nhân viên bán hàng bao gồm nhân viên, họ tên, địa chỉ email, số điện thoại, danh sách các đơn
hàng phụ trách.
Mỗi đơn hàng sẽ bao gồm các thông tin như đơn hàng, khách hàng, nhân viên bán hàng, xe, ngày đặt
hàng, tình trạng đơn hàng, tổng giá trị.
Hệ thống lưu trữ thông tin về các dịch vụ hậu mãi bao gồm dịch vụ, tên dịch vụ, tả, giá cả, khách hàng sử
dụng dịch vụ.
Thông tin về các nhà cung cấp phụ tùng xe bao gồm nhà cung cấp, tên nhà cung cấp, địa chỉ, email, số điện
thoại danh sách các sản phẩm cung cấp.
Một xe thể xuất hiện trong nhiều đơn hàng mỗi đơn hàng liên quan đến một xe duy nhất.
Một khách hàng thể đặt nhiều đơn hàng mỗi đơn hàng liên quan đến một khách hàng duy nhất.
Một nhân viên bán hàng thể phụ trách nhiều đơn hàng mỗi đơn hàng liên quan đến một nhân viên bán hàng duy
nhất.
Một khách hàng thể sử dụng nhiều dịch vụ hậu mãi mỗi dịch vụ hậu mãi liên quan đến một khách hàng duy nhất.
Một nhà cung cấp thể cung cấp nhiều xe mỗi xe thể được cung cấp bởi nhiều nhà cung cấp khác nhau.
Yêu cầu:
1. Vẽ đồ ERD:
Hãy vẽ ERD cho hệ thống quản đại bán xe Toyota dựa trên yêu cầu đã nêu trên.
Xác định các thực thể (entities), mối quan hệ (relationships), thuộc tính (attributes) của từng thực thể.
2. tả chi tiết:
tả chi tiết về mỗi thực thể, mối quan hệ thuộc tính trong ERD.
Cho biết các quy tắc mối quan hệ, dụ: mối quan hệ 1-n, n-n.
3. Biến đổi sang hình Quan hệ.
4. Chuẩn hóa cài đặt Database lên một DBMS.
1.5 ERD Hệ thống Thông tin Cửa hàng bán nước hoa
Hệ thống thông tin quản cửa hàng bán nước hoa (Perfume Shop Management System) được thiết kế để hỗ trợ các
cửa hàng nước hoa trong việc quản thông tin sản phẩm, đơn hàng, khách hàng, nhà cung cấp. Hệ thống này nhằm
mục đích tối ưu hóa quy trình bán hàng, quản tồn kho chăm sóc khách hàng, giúp nâng cao hiệu quả hoạt động của
cửa hàng.
Hệ thống lưu trữ thông tin chi tiết về sản phẩm bao gồm sản phẩm, tên sản phẩm, tả, giá bán, nhãn hiệu, dung
tích loại sản phẩm.
5/18
UTH Relational Database Design Exercises - 2025 Nguyễn Văn Diêu
Hệ thống lưu trữ thông tin về khách hàng bao gồm khách hàng, họ tên, địa chỉ, email, số điện thoại lịch sử mua
hàng.
Mỗi đơn hàng sẽ bao gồm các thông tin như đơn hàng, khách hàng, ngày đặt hàng, trạng thái đơn hàng tổng
giá trị đơn hàng. Chi tiết các sản phẩm trong đơn hàng cũng được ghi nhận.
Hệ thống lưu trữ thông tin về các nhà cung cấp bao gồm nhà cung cấp, tên nhà cung cấp, địa chỉ, email, số điện
thoại danh sách các sản phẩm họ cung cấp.
Quá trình nhập kho sẽ bao gồm các thông tin như phiếu nhập, sản phẩm, nhà cung cấp, số lượng, ngày nhập
vị trí lưu trữ trong kho.
Quá trình xuất kho sẽ bao gồm các thông tin như phiếu xuất, sản phẩm, số lượng, ngày xuất mục đích xuất
kho (bán hàng, chuyển kho, v.v.).
Một đơn hàng thể bao gồm nhiều sản phẩm một sản phẩm thể xuất hiện trong nhiều đơn hàng khác nhau.
Một khách hàng thể đặt nhiều đơn hàng mỗi đơn hàng liên quan đến một khách hàng duy nhất.
Một nhà cung cấp thể cung cấp nhiều loại sản phẩm một lần nhập kho thể liên quan đến nhiều nhà cung cấp
khác nhau.
Một sản phẩm thể được nhập kho nhiều lần mỗi lần nhập kho thể bao gồm nhiều loại sản phẩm.
Một sản phẩm thể được xuất khỏi kho nhiều lần mỗi lần xuất kho thể bao gồm nhiều loại sản phẩm.
Yêu cầu:
1. Vẽ đồ ERD:
Hãy vẽ ERD cho hệ thống quản cửa hàng bán nước hoa dựa trên yêu cầu đã nêu trên.
Xác định các thực thể (entities), mối quan hệ (relationships), thuộc tính (attributes) của từng thực thể.
2. tả chi tiết:
tả chi tiết về mỗi thực thể, mối quan hệ thuộc tính trong ERD.
Cho biết các quy tắc mối quan hệ, dụ: mối quan hệ 1-n, n-n.
3. Biến đổi sang hình Quan hệ.
4. Chuẩn hóa cài đặt Database lên một DBMS.
1.6 ERD Hệ thống Thông tin Công ty Lữ hành
Hệ thống thông tin quản công ty lữ hành (Travel Agency Management System) được thiết kế để hỗ trợ các công ty
lữ hành trong việc quản thông tin về các tour du lịch, khách hàng, hướng dẫn viên, đặt chỗ các dịch vụ liên quan.
Hệ thống này nhằm mục đích tối ưu hóa quy trình quản tour, đặt chỗ dịch vụ khách hàng, giúp nâng cao hiệu quả
hoạt động của công ty lữ hành.
Khi một tour mới được tạo, thông tin chi tiết về tour sẽ được nhập vào hệ thống. Bất kỳ thay đổi nào về thông tin tour
cũng được cập nhật thường xuyên. Hệ thống sẽ lưu trữ thông tin chi tiết về khách hàng lịch sử đặt chỗ của họ. Điều
này giúp công ty lữ hành cung cấp dịch vụ chăm sóc khách hàng tốt hơn thực hiện các chiến dịch marketing hiệu quả.
Thông tin về các hướng dẫn viên sẽ được lưu trữ quản để theo dõi lịch trình phân công công việc. Quá trình đặt
chỗ sẽ được ghi nhận với thông tin về khách hàng, tour, ngày đặt, trạng thái đặt chỗ tổng giá trị. Hệ thống sẽ cập nhật
trạng thái tour sau mỗi lần đặt chỗ. Thông tin về các dịch vụ liên quan đến tour các nhà cung cấp dịch vụ sẽ được lưu
trữ quản để đảm bảo chất lượng dịch vụ liên lạc khi cần thiết.
Hệ thống lưu trữ thông tin chi tiết về các tour du lịch bao gồm tour, tên tour, tả, địa điểm, lịch trình, giá cả,
thời gian khởi hành.
Hệ thống lưu trữ thông tin về khách hàng bao gồm khách hàng, họ tên, địa chỉ, email, số điện thoại lịch sử đặt
chỗ.
Thông tin về các hướng dẫn viên bao gồm hướng dẫn viên, họ tên, địa chỉ, email, số điện thoại, ngôn ngữ các
tour phụ trách.
Mỗi đặt chỗ sẽ bao gồm các thông tin như đặt chỗ, khách hàng, tour, ngày đặt, trạng thái đặt chỗ tổng giá
trị.
Hệ thống lưu trữ thông tin về các dịch vụ liên quan đến tour du lịch như dịch vụ vận chuyển, khách sạn, ăn uống,
các hoạt động tham quan.
Hệ thống lưu trữ thông tin về các nhà cung cấp dịch vụ bao gồm nhà cung cấp, tên nhà cung cấp, địa chỉ, email, số
điện thoại danh sách các dịch vụ họ cung cấp.
Một tour thể được đặt nhiều lần bởi nhiều khách hàng khác nhau mỗi đặt chỗ liên quan đến một tour duy nhất.
6/18
UTH Relational Database Design Exercises - 2025 Nguyễn Văn Diêu
Một khách hàng thể đặt nhiều tour du lịch mỗi đặt chỗ liên quan đến một khách hàng duy nhất.
Một tour thể nhiều hướng dẫn viên một hướng dẫn viên thể phụ trách nhiều tour khác nhau.
Một tour thể bao gồm nhiều dịch vụ khác nhau một dịch vụ thể được sử dụng trong nhiều tour khác nhau.
Một nhà cung cấp dịch vụ thể cung cấp nhiều dịch vụ khác nhau một dịch vụ thể được cung cấp bởi nhiều nhà
cung cấp.
Yêu cầu:
1. Vẽ đồ ERD:
Hãy vẽ ERD cho hệ thống thông tin của công ty lữ hành dựa trên yêu cầu đã nêu trên.
Xác định các thực thể (entities), mối quan hệ (relationships), thuộc tính (attributes) của từng thực thể.
2. tả chi tiết:
tả chi tiết về mỗi thực thể, mối quan hệ thuộc tính trong ERD.
Cho biết các quy tắc mối quan hệ, dụ: mối quan hệ 1-n, n-n.
3. Biến đổi sang hình Quan hệ.
4. Chuẩn hóa cài đặt Database lên một DBMS.
1.7 ERD Hệ thống Thông tin Khách sạn
Hệ thống thông tin quản khách sạn (Hotel Management Information System) được thiết kế để hỗ trợ các hoạt động
quản của khách sạn, bao gồm quản thông tin khách hàng, đặt phòng, dịch vụ, nhân viên, thanh toán. Hệ thống
này giúp tối ưu hóa quy trình quản lý, nâng cao hiệu quả hoạt động cải thiện trải nghiệm khách hàng.
Khi một khách hàng mới đăng lưu trú tại khách sạn, thông tin của họ sẽ được nhập vào hệ thống. Bất kỳ thay đổi
nào về thông tin nhân hoặc trạng thái đặt phòng của khách hàng đều được cập nhật thường xuyên. Hệ thống sẽ lưu trữ
thông tin chi tiết về các phòng, bao gồm tình trạng phòng giá cả. Khi thay đổi về tình trạng phòng (ví dụ: phòng
đang bảo trì, phòng đã được đặt), hệ thống sẽ cập nhật ngay lập tức. Quá trình đặt phòng sẽ được ghi nhận với thông tin
về khách hàng, phòng, ngày đặt phòng, ngày nhận phòng, ngày trả phòng. Hệ thống sẽ cập nhật trạng thái đặt phòng
sau mỗi giao dịch. Thông tin về nhân viên các nhiệm vụ được phân công sẽ được lưu trữ trong hệ thống. Điều này
giúp quản hiệu quả các nhiệm vụ hàng ngày đảm bảo chất lượng dịch vụ. Hệ thống sẽ lưu trữ thông tin về các dịch
vụ khách sạn cung cấp. Khi khách hàng sử dụng dịch vụ, thông tin sẽ được ghi nhận liên kết với hóa đơn. Hệ
thống sẽ tạo hóa đơn cho mỗi đặt phòng dịch vụ khách hàng sử dụng. Thông tin về hóa đơn sẽ bao gồm tổng số tiền,
ngày lập hóa đơn, trạng thái thanh toán.
Thông tin khách hàng bao gồm khách hàng, họ tên, địa chỉ, email, số điện thoại, lịch sử lưu trú.
Thông tin phòng bao gồm phòng, loại phòng, tình trạng phòng (có sẵn, đang sử dụng, đang bảo trì), giá phòng,
các tiện nghi đi kèm.
Thông tin đặt phòng bao gồm đặt phòng, khách hàng, phòng, ngày đặt phòng, ngày nhận phòng, ngày trả
phòng, tình trạng đặt phòng.
Thông tin nhân viên bao gồm nhân viên, họ tên, chức vụ, địa chỉ email, số điện thoại, danh sách các nhiệm vụ
phụ trách.
Thông tin về các dịch vụ cung cấp bởi khách sạn như nhà hàng, spa, giặt ủi, các dịch vụ phòng. Thông tin bao gồm
dịch vụ, tên dịch vụ, tả, giá cả.
Thông tin hóa đơn bao gồm hóa đơn, đặt phòng, khách hàng, dịch vụ (nếu có), tổng số tiền, ngày lập
hóa đơn, trạng thái thanh toán.
Một khách hàng thể thực hiện nhiều đặt phòng mỗi đặt phòng liên quan đến một khách hàng duy nhất.
Một phòng thể được đặt nhiều lần mỗi đặt phòng liên quan đến một phòng duy nhất.
Một khách hàng thể sử dụng nhiều dịch vụ khác nhau mỗi dịch vụ thể được sử dụng bởi nhiều khách hàng.
Một nhân viên thể phụ trách nhiều nhiệm vụ mỗi nhiệm vụ thể được thực hiện bởi nhiều nhân viên.
Mỗi đặt phòng thể tạo ra một hoặc nhiều hóa đơn mỗi hóa đơn liên quan đến một đặt phòng duy nhất.
Yêu cầu:
1. Vẽ đồ ERD:
Hãy vẽ ERD cho hệ thống thông tin quản khách sạn dựa trên yêu cầu đã nêu trên.
Xác định các thực thể (entities), mối quan hệ (relationships), thuộc tính (attributes) của từng thực thể.
7/18
UTH Relational Database Design Exercises - 2025 Nguyễn Văn Diêu
2. tả chi tiết:
tả chi tiết về mỗi thực thể, mối quan hệ thuộc tính trong ERD.
Cho biết các quy tắc mối quan hệ, dụ: mối quan hệ 1-n, n-n.
3. Xác Định Nhu Cầu Bảo Mật Quyền Truy Cập:
Đặt câu hỏi về quyền truy cập thông tin bảo mật, dụ: ai quyền truy cập danh sách thanh toán?
4. Biến đổi sang hình Quan hệ.
5. Chuẩn hóa cài đặt Database lên một DBMS.
2 Functional Dependencies (FDs)
Exercise 1
Consider relation r below:
r: R( A B C D E )
t
1
0 0 0 0 0
t
2
0 1 1 1 0
t
3
1 0 2 2 0
t
4
1 0 3 2 0
t
5
2 1 4 0 0
Which of the following FDs does r satisfy (why?):
A Ba)
AB Db)
C BDEc)
E Ad)
A Ee)
Exercise 2
Prove that r satisfies X Y if and only if X is a key of π
XY
(r).
Exercise 3
Let r be a relation on R, with X a subset of R. Show that if π
X
(r) has the same number of tuples as r, then r satisfies
X Y for any subset Y of R.
Exercise 4
Prove or disprove the following inference rules for a relation r(R) with W, X, Y, Z subsets of R.
X Y and Z W imply XZ Y W .a)
XY Z and Z X imply Z Y .b)
X Y and Y Z imply X Y Z.c)
X Y , W Z , and Y W imply X Z.d)
3 Amstrong’s Axiom
Exercise 5
Consider F =
{
AB CD, A BE, BH DK, H BC
}
Prove by Amstrong: F |= AH CK
Exercise 6
Consider F =
{
AB E, AG J, BE I, E G, GI H
}
Prove by Amstrong: F |= AB GH
8/18
UTH Relational Database Design Exercises - 2025 Nguyễn Văn Diêu
Exercise 7
Consider F =
{
A D, B CE, E H, D E, E C
}
Prove by Amstrong:
F |= B Ha)
F |= AB CHb)
Exercise 8
Consider
F
=
{
D
BK, AB
GK, B
H, CE
AG, H
E, K
G, EH
K, G
AH
}
Prove by Amstrong:
F |= AB GHa)
F |= DE AGb)
F |= BH EKc)
Exercise 9
Consider:
F
1
=
{
A B, D H, BH E, EH G, A C, BC D
}
F
2
=
{
AB C, B D, CD GH, CH E
}
F
3
=
{
AB C, B D, CD E, CE GH, G A
}
F
4
=
{
A B, BC D, AB E, CE G
}
Prove by Amstrong:
F
1
|= AH Ga)
F
2
|= AB Eb)
F
3
|= AB EGc)
F
4
|= AC DGd)
Exercise 10
Consider:
F
1
=
{
AB E, AG I, E G, GI H
}
F
2
=
{
CK H, C D, E C, E G, CK E
}
F
3
=
{
B A, AD CE, D H, GH C, AC D
}
F
4
=
{
A BC, AC D, B E, CE A
}
F
5
=
{
AB CD, C E, DE K, AK G, BH D
}
Prove by Amstrong:
F
1
|= AB GHa)
F
2
|= EK DHb)
F
3
|= BCD ABCDEHc)
F
4
|= AC ABEd)
F
5
|= ABH EKGe)
4 Closure
Exercise 11
Show that for any set of FDs F , F
+
= (F
+
)
+
.
Exercise 12
Suppose R(ABCDE) and set of functional dependencies:
F =
{
A BC, CD E, B D, E A
}
. Compute:
CD
+
F
a)
E
+
F
b)
9/18
UTH Relational Database Design Exercises - 2025 Nguyễn Văn Diêu
Exercise 13
Suppose R(ABCDEK) and set of functional dependencies:
F =
{
AB C, BC AD, D E, CK B
}
. Compute:
BCK
+
F
a)
CD
+
F
b)
D
+
F
c)
Exercise 14
Suppose R(ABCDEKGH) and set of functional dependencies:
F =
{
A BC, E C, AH D, CD E, D AEH, DH BC
}
. Compute:
AE
+
F
a)
BCD
+
F
b)
Exercise 15
Consider:
F
1
=
{
AB CD, A BE, BH DK, H BC
}
F
2
=
{
AB E, AG J, BE I, E G, GI H
}
F
3
=
{
A D, B CE, E H, D E, E C
}
F
4
=
{
D BK, AB GK, B H, CE AG, H E, K G, EH K, G AH
}
Compute:
AH
+
F
1
a)
AB
+
F
2
b)
B
+
F
3
c)
AB
+
F
3
d)
AB
+
F
4
e)
DE
+
F
4
f)
BH
+
F
4
g)
Exercise 16
Consider F =
{
A B, A C, CD E, B D, E A
}
Which of the following functional dependencies is NOT implied by the above set ?
CD ACa)
BD CDb)
BC CDc)
AC BCd)
Exercise 17
From Axiom 1, 2, 3 prove Axiom 4, 5 and 6.
Exercise 18
Prove that inference axioms 1, 2, and 3 are independent. That is, no one of them can be proved from the other two.
Exercise 19
R(ABCD) having two FDs sets:
F =
{
A B, B C, AB D
}
,
G =
{
A B, B C, A C, A D
}
Are the two sets equivalent ?
10/18
UTH Relational Database Design Exercises - 2025 Nguyễn Văn Diêu
Exercise 20
R(ABCD) having two FDs sets:
F =
{
A B, B C, A C
}
,
G =
{
A B, B C, A D
}
Are the two sets equivalent ?
Exercise 21
R(ACDEH) having two FDs sets:
F =
{
A C, AC D, E AD, E H
}
,
G =
{
A CD, E AH
}
Are the two sets equivalent ?
Exercise 22
R(ABCDE) having two FDs sets:
F =
{
A BC, A D, CD E
}
,
G =
{
A BCE, A ABD, CD E
}
Are the two sets equivalent ?
Exercise 23
R(ABCDE) having two FDs sets:
F =
{
AB C, A B, B C, A C
}
,
G =
{
AB C, A B, B C
}
Are the two sets equivalent ?
Exercise 24
Consider F =
{
A B, B C, C A, B A, A C
}
Find a minimum cover F
c
of F by loop from right to lefta)
Find a minimum cover F
c
of F by loop from left to rightb)
Exercise 25
Consider F =
{
A BC, B C, A B, AB C
}
Find a minimum cover F
c
of F
Exercise 26
Consider F =
{
A BC, CD E, B D, E A
}
Find a minimum cover F
c
of F
Exercise 27
Consider F =
{
B A, AD BC, C ABD
}
Find a minimum cover F
c
of F
Exercise 28
Consider R(ABC),
F =
{
AB C, A B
}
G =
{
A B, B C
}
Find a minimum cover F
c
of Fa)
Is G a minimal cover of F ? Otherwise give a data instance of R satisfy F but not Gb)
11/18
UTH Relational Database Design Exercises - 2025 Nguyễn Văn Diêu
Exercise 29
Consider R(ABCDE) , F =
{
AB CD, B CD, CD AE, DE AB, D E
}
Compute Projected Functional Dependencies:
π
R
1
(ABC)
(F )a)
π
R
2
(BCD)
(F )b)
π
R
3
(CDE)
(F )c)
π
R
4
(ADE)
(F )d)
π
R
5
(BDE)
(F )e)
π
R
6
(AE)
(F )f)
π
R
7
(DE)
(F )g)
Exercise 30
Consider R(ABCDEGH) ,
F =
{
AB CD, E D, ABC DE, E AB , D AG, ACD BE
}
Compute Projected Functional Dependencies:
π
R
1
(ABCD)
(F )a)
π
R
2
(DEGH)
(F )
b)
π
R
3
(CDE)
(F )c)
π
R
4
(ADE)
(F )d)
π
R
5
(BDE)
(F )e)
π
R
6
(AE)
(F )f)
π
R
7
(DE)
(F )g)
5 Keys
Exercise 31
Consider R(ABCDEH) with a set of FDs
F =
{
A B, BC D, E C, D A
}
What are the candidate keys of R
AE, BEa)
AE, BE, DEb)
AEH, BEH, BCHc)
AEH, BEH, DEHd)
Exercise 32
Consider R(DEGHIJKLM N) with a set of FDs
F =
{
DE G, D IJ, EH KL, K M, L N
}
What is the key for R ?
EFa)
DEHb)
DEHKLc)
Ed)
Exercise 33
Consider R(ABCDEKGH) with a set of FDs
F =
{
ABC DE, AB D, DE ABCK, E C
}
Find all the candidate keys of R
Exercise 34
Consider R(ABCDEGHK) with a set of FDs
F =
{
CD A, EC H, GHB AB , C D, EG A, H B, BE CD, EC B
}
Find all the candidate keys of R
12/18
UTH Relational Database Design Exercises - 2025 Nguyễn Văn Diêu
6 Normal Form by FDs
Exercise 35
Which normal form of relational scheme below:
R
1
(ABC), F
1
=
{
A C
}
a)
R
2
(ABC), F
2
=
{
C B
}
b)
R
3
(ABCD), F
3
=
{
A B, B A
}
c)
R
4
(ABCD), F
4
=
{
D C, B A
}
d)
R
5
(ABCD), F
5
=
{
B D, C D
}
e)
R
6
(ABCDE), F
6
=
{
AB C, B A, D A
}
f)
R
7
(ABCDE), F
7
=
{
AB C, C D, D A
}
g)
R
8
(ABCDE), F
8
=
{
AB CD, CD AE, D A
}
h)
R
9
(ABCDE), F
9
=
{
D A, BC E, A C
}
i)
R
10
(ABCDEG), F
10
=
{
AB CG, G D, B D
}
j)
R
11
(ABCDE), F
11
=
{
E D, C B, A E B A, D C
}
k)
R
12
(ABCDE), F
12
=
{
AC B, BD C, CE D
}
l)
R
13
(ABCD), F
13
= m)
Exercise 36
Consider R(ABCD), F =
{
A C, B D
}
Keys and Normal form?a)
Decompose Rb)
Exercise 37
Consider R(ABCD), F =
{
AC D
}
Keys and Normal form?a)
Decompose Rb)
Exercise 38
Consider R(ABCDE), F =
{
AB C, B A, D A
}
Keys and Normal form?a)
Decompose Rb)
Exercise 39
Consider R(ABCDE), F =
{
CD A, EC B, AD C
}
Keys and Normal form?a)
Decompose Rb)
Exercise 40
Consider R(ABCDEGH),
F =
{
CD A, EC H, GHB AB , C D, EG A, H B, BE CD, EC B
}
Keys and Normal form ?a)
Decompose Rb)
Exercise 41
Consider R(ABCD), F =
{
A B, B C, D B
}
Normal form of R ?a)
If R is not good, let try to find a good decomposition for Rb)
13/18
UTH Relational Database Design Exercises - 2025 Nguyễn Văn Diêu
Exercise 42
Consider R(ABCD), F =
{
A B, B C, A D, D C
}
One decomposition ρ of R:
R
1
(AB), F
1
R
2
(AC), F
2
R
3
(BD), F
3
F
i
?a)
Keys and Normal form of R
i
?b)
Exercise 43
Consider R(A B D E M N O P X Y Z V W ),
F =
{
D XM NP E, MP N EY ABO, MN ZO, O V, P ABW , AB P, NE MP
}
One decomposition ρ of R:
R
1
(
DXM NP E
)
,
F
1
R
2
(MN P EY ABO), F
2
R
3
(MN ZO), F
3
R
4
(OV ), F
4
R
5
(P ABW ), F
5
F
i
?a)
Keys and Normal form of R
i
?b)
Evaluate the quality of ρ (Normal form, Conserve information, Conserve FDs)c)
If ρ is not good, let make a improvement of ρd)
Exercise 44
Consider R(ABCDEGH),
F =
{
CD A, EC H, GHB AB , C D, EG A, H B, BE CD, EC B
}
Evaluate the decomposition below (Normal form, Conserve information, Conserve FDs)
ρ =
{
R
1
(ABC), R
2
(CDEG), R
3
(EGH)
}
Exercise 45
Give an example of a relation in 3NF that has some prime attribute transitively dependent upon a key
Exercise 46
Let R
1
and R
2
be relation schemes with R
1
R
2
= X. Show that for any relation r(R
1
R
2
) that satisfies X R
2
,
r = π
R
1
(r) π
R
2
(r)
7 Multivalued Dependencies (MVDs)
Exercise 47
Consider relation r below:
r: R( A B C D E )
t
1
0 0 1 0 0
t
2
0 0 2 1 0
t
3
0 2 2 0 1
From data instance R above make R satisfies each MVD below:
AB Ca)
AB Eb)
D Cc)
AD Cd)
C DEe)
14/18
UTH Relational Database Design Exercises - 2025 Nguyễn Văn Diêu
Exercise 48
Let R(ABCDE), D =
{
A BC, A E, E CD
}
Proving by MVDs axiom:
D |= A Ca)
D |= A BDb)
D |= AC BDc)
D |= AC BEd)
D |= DE ACe)
D |= DE ABf)
Exercise 49
Let R(ABCDGH), D =
{
A B, B GH, CD G
}
Proving by MVDs axiom:
D |= BC ADa)
D |= BC GHb)
D |= BC DGc)
D |= CD ABd)
D |= CD BGe)
D |= CD GHf)
Exercise 50
Let R(ABCGHI), D =
{
A B, B HI, CG H
}
Compute X
++
D
:
A
++
D
a)
AG
++
D
b)
BG
++
D
c)
BC
++
D
d)
HG
++
D
e)
Exercise 51
Prove the correctness of inference axioms M1 and M2.
Exercise 52
Prove the correctness of inference axiom M3.
Exercise 53
We know axiom M7 is correct from Lemma 8.3
Prove the correctness of inference axiom M4 using axioms M3 and M7.
Exercise 54
Prove the correctness of inference axiom M5 using axioms M4.
Exercise 55
Prove the correctness of inference axiom M6 using axioms M1-M5 and M7
8 Tableau Chase Test
Exercise 56
Consider D =
{
AB CD, A BE, BH DK, H BC
}
Prove by Tableau Chase test: D |= AH CK
15/18
UTH Relational Database Design Exercises - 2025 Nguyễn Văn Diêu
Exercise 57
Consider D =
{
AB E, AG J, BE I, E G, GI H
}
Prove by Tableau Chase test: D |= AB GH
Exercise 58
Consider D =
{
A D, B CE, E H, D E, E C
}
Prove by Tableau Chase test:
D |= B Ha)
D |= AB CHb)
Exercise 59
Consider D =
{
D BK, AB GK, B H, CE AG, H E, K G, EH K, G AH
}
Prove by Tableau Chase test:
D |= AB GHa)
D |= DE AGb)
D |= BH EKc)
Exercise 60
Suppose R(ABCDE) and set of functional dependencies:
D =
{
A BC, CD E, B D, E A
}
. Using Tableau Chase test to compute:
CD
+
D
a)
E
+
D
b)
Exercise 61
Suppose R(ABCDEK) and set of functional dependencies:
D =
{
AB C, BC AD, D E, CK B
}
. Using Tableau Chase test to compute:
BCK
+
D
a)
CD
+
D
b)
D
+
D
c)
Exercise 62
Suppose R(ABCDEKGH) and set of functional dependencies:
D =
{
A BC, E C, AH D, CD E, D AEH, DH BC
}
. Using Tableau Chase test to compute:
AE
+
D
a)
BCD
+
D
b)
Exercise 63
Consider:
D
1
=
{
AB CD, A BE, BH DK, H BC
}
D
2
=
{
AB E, AG J, BE I, E G, GI H
}
D
3
=
{
A D, B CE, E H, D E, E C
}
D
4
=
{
D BK, AB GK, B H, CE AG, H E, K G, EH K, G AH
}
Using Tableau Chase test to compute:
AH
+
D
1
a)
AB
+
D
2
b)
B
+
D
3
c)
AB
+
D
3
d)
AB
+
D
4
e)
DE
+
D
4
f)
BH
+
D
4
g)
16/18
UTH Relational Database Design Exercises - 2025 Nguyễn Văn Diêu
Exercise 64
Consider D =
{
A B, A C, CD E, B D, E A
}
Using Tableau Chase test to compute: Which of the following functional dependencies is NOT implied by the above
set ?
CD ACa)
BD CDb)
BC CDc)
AC
BCd)
Exercise 65
Let R(ABCDE), D =
{
A BC, A E, E CD
}
Using Tableau Chase test to compute:
D |= A Ca)
D |= A BDb)
D |= AC BDc)
D |= AC BEd)
D |= DE ACe)
D |= DE ABf)
Exercise 66
Let R(ABCDGH), D =
{
A B, B GH, CD G
}
Using Tableau Chase test to compute:
D |= BC ADa)
D |= BC GHb)
D |= BC DGc)
D |= CD ABd)
D |= CD BGe)
D |= CD GHf)
9 More Normal form and Dependencies
Exercise 67
Modify the relation r below to satisfy the MVDs A BC and CD BE by adding rows.
r: R( A B C D E )
t
1
0 0 0 0 0
t
2
0 1 0 1 0
t
3
1 0 0 0 1
Exercise 68
Prove that if a relation r(R) satisfies the MVDs X Y
1
, X Y
2
... X Y
k
, where R = XY
1
Y
2
...Y
k
, then r
decomposes converse information onto the relation schemes XY
1
, XY
2
, ..., XY
k
.
Exercise 69
Let r(R) be a relation where R
1
R, R
2
R and R = R
1
R
2
. Prove that r = π
R
1
(r) π
R
2
(r) if and only if:
Count(π
R
([X = x](r))) = Count(π
R
1
([X = x](r))) × Count(π
R
2
([X = x](r))) for every X-value x in r
Exercise 70
Prove that if relation r(R) satisfies X Y and Z = R XY , then
π
Z
(σ
X=x
(r)) = π
Z
(σ
XY =xy
(r))
for every XY -value xy in r
17/18
UTH Relational Database Design Exercises - 2025 Nguyễn Văn Diêu
Exercise 71
Let relation scheme R and let W, X, Y, Z R. Show that:
{
X Y , Z W
}
|= XW Y Z
Exercise 72
Prove the correctness of inference axiom M6 using axioms M1-M5 and M7
Exercise 73
Let relation scheme R and let X, Y, Z R. Show that:
{
X Y , XY Z
}
|= X Z Y
18/18

Preview text:

UTH
Relational Database Design Exercises - 2025 Nguyễn Văn Diêu
HO CHI MINH CITY UNIVERSITY OF TRANSPORT
Kiến thức - Kỹ năng - Sáng tạo - Hội nhập Sứ mệnh - Tầm nhìn
Triết lý Giáo dục - Giá trị cốt lõi Contents 0
Database & ERD Tool Resources 2 0.1
PostgreSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 0.2
MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 0.3 SQLServer
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 0.4
ERD Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1
Entity Relationship Diagram (ERD) 3 2
Functional Dependencies (FDs) 8 3 Amstrong’s Axiom 8 4 Closure 9 5 Keys 12 6 Normal Form by FDs 13 7
Multivalued Dependencies (MVDs) 14 8 Tableau Chase Test 15 9
More Normal form and Dependencies 17 1/18 UTH
Relational Database Design Exercises - 2025 Nguyễn Văn Diêu 0
Database & ERD Tool Resources 0.1 PostgreSQL
1. PostgreSQL và pgAdmin4 bằng Docker từ git https://github.com/nvdieu/PostgreSQL-pgAdmin-lab
2. PostgreSQL trực tiếp lên máy: https://www.postgresql.org/download/ và IDE: DBeaver Community 0.2 MySQL
1. Cài MySQL bằng Docker từ git https://github.com/nvdieu/mysql-lab.git/
2. Cài MySQL trực tiếp lên máy: https://dev.mysql.com/downloads/mysql/ 3. IDE: DBeaver Community 0.3 SQLServer
1. Server: https://www.microsoft.com/en-us/sql-server/sql-server-downloads 2. IDE: DBeaver Community 0.4 ERD Tool 1. Ofline: TerraER 2. Online: Draw.io 2/18 UTH
Relational Database Design Exercises - 2025 Nguyễn Văn Diêu 1
Entity Relationship Diagram (ERD) 1.1
ERD Hệ thống Thông tin Sinh viên
Hệ thống thông tin quản lý sinh viên là một phần mềm được thiết kế để hỗ trợ các trường đại học và các tổ chức giáo
dục trong việc quản lý thông tin liên quan đến sinh viên, các khóa học, giảng viên và kết quả học tập. Hệ thống này nhằm
mục đích tối ưu hóa quy trình quản lý, giảm thiểu sai sót và nâng cao hiệu quả hoạt động của nhà trường.
Hệ thống sẽ lưu trữ thông tin cá nhân của mỗi sinh viên bao gồm mã sinh viên, họ tên, ngày sinh, giới tính, địa chỉ,
email, và số điện thoại. Thông tin học tập của sinh viên cũng được ghi nhận, chẳng hạn như ngành học, năm nhập học và
trạng thái học tập hiện tại (đang học, đã tốt nghiệp, bảo lưu, v.v.).
Mỗi khóa học trong hệ thống sẽ được quản lý với các thông tin như mã khóa học, tên khóa học, mô tả và số tín chỉ.
Khóa học sẽ được liên kết với giảng viên phụ trách.
Hệ thống sẽ lưu trữ thông tin của các giảng viên bao gồm mã giảng viên, họ tên, chuyên ngành, địa chỉ email và số
điện thoại. Ngoài ra, thông tin về bộ môn hoặc phòng ban của giảng viên và các khóa học mà họ phụ trách cũng sẽ được ghi nhận.
Mỗi lớp học phần sẽ bao gồm các thông tin như mã lớp, mã khóa học, mã giảng viên, thời gian học và địa điểm học.
Danh sách sinh viên tham gia lớp học phần cùng với điểm số của họ cũng sẽ được quản lý trong hệ thống.
Hệ thống sẽ lưu trữ kết quả học tập của mỗi sinh viên cho từng lớp học phần mà họ tham gia. Thông tin bao gồm mã
sinh viên, mã lớp học phần, điểm số và xếp loại.
Mối quan hệ giữa sinh viên và lớp học phần được thiết lập để ghi nhận các lớp học phần mà sinh viên tham gia. Một
sinh viên có thể tham gia nhiều lớp học phần và một lớp học phần có thể bao gồm nhiều sinh viên.
Mỗi lớp học phần sẽ thuộc về một khóa học cụ thể. Một khóa học có thể có nhiều lớp học phần khác nhau trong các kỳ học khác nhau.
Mỗi lớp học phần được giảng dạy bởi một giảng viên phụ trách. Một giảng viên có thể phụ trách nhiều lớp học phần khác nhau.
Một khóa học có thể được giảng dạy bởi nhiều giảng viên và một giảng viên có thể giảng dạy nhiều khóa học.
Mối quan hệ sinh viên và kết quả học tập ghi nhận kết quả học tập của sinh viên trong từng lớp học phần. Mỗi kết quả
học tập sẽ liên quan đến một sinh viên và một lớp học phần cụ thể. Yêu cầu: 1. Vẽ sơ đồ ERD:
• Hãy vẽ ERD cho hệ thống quản lý sinh viên dựa trên yêu cầu đã nêu trên.
• Xác định các thực thể (entities), mối quan hệ (relationships), và thuộc tính (attributes) của từng thực thể. 2. Mô tả chi tiết:
• Mô tả chi tiết về mỗi thực thể, mối quan hệ và thuộc tính trong ERD.
• Cho biết các quy tắc mối quan hệ, ví dụ: mối quan hệ 1-n, n-n.
3. Biến đổi sang mô hình Quan hệ.
4. Chuẩn hóa và cài đặt Database lên một DBMS. 1.2
ERD Hệ thống Thông tin Kho hàng
Hệ thống thông tin quản lý kho hàng (Warehouse Management System - WMS) được thiết kế để hỗ trợ doanh nghiệp
quản lý hiệu quả hoạt động lưu trữ, vận chuyển và kiểm soát mặt hàng trong kho. Hệ thống này nhằm mục đích tối ưu
hóa quy trình nhập kho, xuất kho, và theo dõi tồn kho, giúp giảm thiểu sai sót và nâng cao hiệu suất quản lý.
Hệ thống lưu trữ thông tin chi tiết về mặt hàng bao gồm mã hàng, tên hàng, mô tả, đơn vị đo lường, giá thành, và loại hàng.
Mỗi kho hàng trong hệ thống sẽ được quản lý với các thông tin như mã kho, tên kho, địa chỉ, và dung lượng lưu trữ tối đa.
Hệ thống lưu trữ thông tin về các nhà cung cấp bao gồm mã nhà cung cấp, tên nhà cung cấp, địa chỉ, email, số điện
thoại, và danh sách các mặt hàng mà họ cung cấp.
Quá trình nhập kho sẽ bao gồm các thông tin như mã phiếu nhập, mã mặt hàng, mã nhà cung cấp, số lượng, ngày nhập,
và vị trí lưu trữ trong kho.
Quá trình xuất kho sẽ bao gồm các thông tin như mã phiếu xuất, mã mặt hàng, số lượng, ngày xuất, và mục đích xuất
kho (bán hàng, chuyển kho, sản xuất, v.v.). 3/18 UTH
Relational Database Design Exercises - 2025 Nguyễn Văn Diêu
Hệ thống quản lý các vị trí lưu trữ trong kho hàng với các thông tin như mã vị trí, mã kho, mô tả vị trí, và dung lượng lưu trữ khả dụng.
Một mặt hàng có thể được nhập vào kho nhiều lần và mỗi lần nhập kho có thể bao gồm nhiều loại mặt hàng.
Một mặt hàng có thể được xuất khỏi kho nhiều lần và mỗi lần xuất kho có thể bao gồm nhiều loại mặt hàng.
Một nhà cung cấp có thể cung cấp nhiều loại mặt hàng và một lần nhập kho có thể liên quan đến nhiều nhà cung cấp khác nhau.
Một kho hàng có thể chứa nhiều vị trí lưu trữ và mỗi vị trí lưu trữ thuộc về một kho hàng cụ thể. Yêu cầu: 1. Vẽ sơ đồ ERD:
• Hãy vẽ ERD cho hệ thống quản lý kho hàng dựa trên yêu cầu đã nêu trên.
• Xác định các thực thể (entities), mối quan hệ (relationships), và thuộc tính (attributes) của từng thực thể. 2. Mô tả chi tiết:
• Mô tả chi tiết về mỗi thực thể, mối quan hệ và thuộc tính trong ERD.
• Cho biết các quy tắc mối quan hệ, ví dụ: mối quan hệ 1-n, n-n.
3. Biến đổi sang mô hình Quan hệ.
4. Chuẩn hóa và cài đặt Database lên một DBMS. 1.3
ERD Hệ thống Thông tin Thi bằng lái xe
Hệ thống thông tin thi bằng lái xe ở Việt Nam được thiết kế để hỗ trợ quản lý quá trình đào tạo, đăng ký thi, và cấp
phát bằng lái xe cho người dân. Hệ thống này giúp các cơ quan quản lý giao thông nâng cao hiệu quả quản lý, giảm thiểu
sai sót, và tạo thuận tiện cho người dân trong quá trình học và thi lấy bằng lái xe.
Khi một học viên mới đăng ký học lái xe, thông tin của họ sẽ được nhập vào hệ thống. Bất kỳ thay đổi nào về thông tin
cá nhân hoặc trạng thái đăng ký của học viên đều được cập nhật thường xuyên. Các khóa học lái xe mới được tạo ra mỗi
kỳ học, và các khóa học cụ thể sẽ được tổ chức với lịch trình và giảng viên phụ trách. Học viên có thể đăng ký thi sau khi
hoàn thành khóa học. Thông tin đăng ký thi sẽ được ghi nhận, bao gồm thông tin về lệ phí và trạng thái đăng ký. Kết quả
thi của học viên sẽ được nhập vào hệ thống sau mỗi kỳ thi. Hệ thống sẽ tính toán và cập nhật điểm số, kết quả thi cho
từng học viên. Sau khi học viên đậu kỳ thi, thông tin về bằng lái xe sẽ được tạo và lưu trữ trong hệ thống. Học viên có
thể tra cứu thông tin về bằng lái của mình, bao gồm ngày cấp và ngày hết hạn.
Hệ thống lưu trữ thông tin về học viên bao gồm mã học viên, họ tên, ngày sinh, địa chỉ, email, số điện thoại, loại bằng
lái xe muốn thi, và trạng thái đăng ký.
Hệ thống quản lý các khóa học lái xe bao gồm mã khóa học, tên khóa học, mô tả, lịch trình, địa điểm, và giảng viên phụ trách.
Thông tin về các giảng viên bao gồm mã giảng viên, họ tên, chuyên ngành, địa chỉ email, số điện thoại, và các khóa học phụ trách.
Mỗi đăng ký thi sẽ bao gồm các thông tin như mã đăng ký, mã học viên, mã khóa học, ngày đăng ký, trạng thái đăng
ký, và thông tin về lệ phí thi.
Hệ thống lưu trữ kết quả thi của học viên bao gồm mã học viên, mã khóa học, điểm số, và kết quả thi (đậu hoặc rớt).
Thông tin về bằng lái xe bao gồm mã bằng lái, mã học viên, loại bằng, ngày cấp, và ngày hết hạn.
Một học viên có thể tham gia nhiều khóa học và một khóa học có thể có nhiều học viên.
Một khóa học có thể được giảng dạy bởi nhiều giảng viên và một giảng viên có thể phụ trách nhiều khóa học.
Một học viên có thể đăng ký thi nhiều lần và mỗi lần đăng ký thi liên quan đến một học viên duy nhất.
Mỗi học viên có một kết quả thi duy nhất cho mỗi khóa học mà họ tham gia.
Mỗi học viên có thể có nhiều bằng lái xe khác nhau cho các loại phương tiện khác nhau. Yêu cầu: 1. Vẽ sơ đồ ERD:
• Hãy vẽ ERD cho hệ thống quản lý thi bằng lái xe dựa trên yêu cầu đã nêu trên.
• Xác định các thực thể (entities), mối quan hệ (relationships), và thuộc tính (attributes) của từng thực thể. 2. Mô tả chi tiết: 4/18 UTH
Relational Database Design Exercises - 2025 Nguyễn Văn Diêu
• Mô tả chi tiết về mỗi thực thể, mối quan hệ và thuộc tính trong ERD.
• Cho biết các quy tắc mối quan hệ, ví dụ: mối quan hệ 1-n, n-n.
3. Biến đổi sang mô hình Quan hệ.
4. Chuẩn hóa và cài đặt Database lên một DBMS. 1.4
ERD Hệ thống Thông tin Đại lý bán xe Toyota
Hệ thống thông tin đại lý bán xe Toyota được thiết kế để hỗ trợ quản lý các hoạt động kinh doanh của đại lý, bao gồm
quản lý thông tin xe, khách hàng, nhân viên bán hàng, đơn hàng và các dịch vụ hậu mãi. Hệ thống này giúp nâng cao
hiệu quả quản lý, cải thiện trải nghiệm khách hàng và tối ưu hóa quy trình bán hàng và dịch vụ.
Khi có xe mới được nhập về đại lý, thông tin chi tiết về xe sẽ được nhập vào hệ thống. Bất kỳ thay đổi nào về thông tin
xe đều được cập nhật thường xuyên. Hệ thống sẽ lưu trữ thông tin chi tiết về khách hàng và lịch sử mua xe cũng như sử
dụng dịch vụ của họ. Điều này giúp đại lý cung cấp dịch vụ chăm sóc khách hàng tốt hơn và thực hiện các chiến dịch
marketing hiệu quả. Quá trình đặt hàng sẽ được ghi nhận với thông tin về khách hàng, nhân viên bán hàng, xe, ngày đặt
hàng, tình trạng đơn hàng và tổng giá trị. Hệ thống sẽ cập nhật trạng thái đơn hàng sau mỗi lần giao dịch. Hệ thống sẽ
lưu trữ và quản lý các dịch vụ hậu mãi mà khách hàng đã sử dụng. Điều này giúp đảm bảo chất lượng dịch vụ và theo dõi
các yêu cầu bảo dưỡng, sửa chữa. Thông tin về các nhà cung cấp sẽ được lưu trữ và quản lý để theo dõi nguồn cung cấp
xe và phụ tùng, đảm bảo liên lạc và hợp tác hiệu quả.
Hệ thống lưu trữ thông tin chi tiết về các loại xe bao gồm mã xe, tên xe, dòng xe, màu sắc, năm sản xuất, giá bán, và
tình trạng (còn hàng, đã bán, v.v.).
Thông tin về các nhân viên bán hàng bao gồm mã nhân viên, họ tên, địa chỉ email, số điện thoại, và danh sách các đơn hàng phụ trách.
Mỗi đơn hàng sẽ bao gồm các thông tin như mã đơn hàng, mã khách hàng, mã nhân viên bán hàng, mã xe, ngày đặt
hàng, tình trạng đơn hàng, và tổng giá trị.
Hệ thống lưu trữ thông tin về các dịch vụ hậu mãi bao gồm mã dịch vụ, tên dịch vụ, mô tả, giá cả, và mã khách hàng sử dụng dịch vụ.
Thông tin về các nhà cung cấp phụ tùng và xe bao gồm mã nhà cung cấp, tên nhà cung cấp, địa chỉ, email, số điện
thoại và danh sách các sản phẩm cung cấp.
Một xe có thể xuất hiện trong nhiều đơn hàng và mỗi đơn hàng liên quan đến một xe duy nhất.
Một khách hàng có thể đặt nhiều đơn hàng và mỗi đơn hàng liên quan đến một khách hàng duy nhất.
Một nhân viên bán hàng có thể phụ trách nhiều đơn hàng và mỗi đơn hàng liên quan đến một nhân viên bán hàng duy nhất.
Một khách hàng có thể sử dụng nhiều dịch vụ hậu mãi và mỗi dịch vụ hậu mãi liên quan đến một khách hàng duy nhất.
Một nhà cung cấp có thể cung cấp nhiều xe và mỗi xe có thể được cung cấp bởi nhiều nhà cung cấp khác nhau. Yêu cầu: 1. Vẽ sơ đồ ERD:
• Hãy vẽ ERD cho hệ thống quản lý đại lý bán xe Toyota dựa trên yêu cầu đã nêu trên.
• Xác định các thực thể (entities), mối quan hệ (relationships), và thuộc tính (attributes) của từng thực thể. 2. Mô tả chi tiết:
• Mô tả chi tiết về mỗi thực thể, mối quan hệ và thuộc tính trong ERD.
• Cho biết các quy tắc mối quan hệ, ví dụ: mối quan hệ 1-n, n-n.
3. Biến đổi sang mô hình Quan hệ.
4. Chuẩn hóa và cài đặt Database lên một DBMS. 1.5
ERD Hệ thống Thông tin Cửa hàng bán nước hoa
Hệ thống thông tin quản lý cửa hàng bán nước hoa (Perfume Shop Management System) được thiết kế để hỗ trợ các
cửa hàng nước hoa trong việc quản lý thông tin sản phẩm, đơn hàng, khách hàng, và nhà cung cấp. Hệ thống này nhằm
mục đích tối ưu hóa quy trình bán hàng, quản lý tồn kho và chăm sóc khách hàng, giúp nâng cao hiệu quả hoạt động của cửa hàng.
Hệ thống lưu trữ thông tin chi tiết về sản phẩm bao gồm mã sản phẩm, tên sản phẩm, mô tả, giá bán, nhãn hiệu, dung tích và loại sản phẩm. 5/18 UTH
Relational Database Design Exercises - 2025 Nguyễn Văn Diêu
Hệ thống lưu trữ thông tin về khách hàng bao gồm mã khách hàng, họ tên, địa chỉ, email, số điện thoại và lịch sử mua hàng.
Mỗi đơn hàng sẽ bao gồm các thông tin như mã đơn hàng, mã khách hàng, ngày đặt hàng, trạng thái đơn hàng và tổng
giá trị đơn hàng. Chi tiết các sản phẩm trong đơn hàng cũng được ghi nhận.
Hệ thống lưu trữ thông tin về các nhà cung cấp bao gồm mã nhà cung cấp, tên nhà cung cấp, địa chỉ, email, số điện
thoại và danh sách các sản phẩm mà họ cung cấp.
Quá trình nhập kho sẽ bao gồm các thông tin như mã phiếu nhập, mã sản phẩm, mã nhà cung cấp, số lượng, ngày nhập
và vị trí lưu trữ trong kho.
Quá trình xuất kho sẽ bao gồm các thông tin như mã phiếu xuất, mã sản phẩm, số lượng, ngày xuất và mục đích xuất
kho (bán hàng, chuyển kho, v.v.).
Một đơn hàng có thể bao gồm nhiều sản phẩm và một sản phẩm có thể xuất hiện trong nhiều đơn hàng khác nhau.
Một khách hàng có thể đặt nhiều đơn hàng và mỗi đơn hàng liên quan đến một khách hàng duy nhất.
Một nhà cung cấp có thể cung cấp nhiều loại sản phẩm và một lần nhập kho có thể liên quan đến nhiều nhà cung cấp khác nhau.
Một sản phẩm có thể được nhập kho nhiều lần và mỗi lần nhập kho có thể bao gồm nhiều loại sản phẩm.
Một sản phẩm có thể được xuất khỏi kho nhiều lần và mỗi lần xuất kho có thể bao gồm nhiều loại sản phẩm. Yêu cầu: 1. Vẽ sơ đồ ERD:
• Hãy vẽ ERD cho hệ thống quản lý cửa hàng bán nước hoa dựa trên yêu cầu đã nêu trên.
• Xác định các thực thể (entities), mối quan hệ (relationships), và thuộc tính (attributes) của từng thực thể. 2. Mô tả chi tiết:
• Mô tả chi tiết về mỗi thực thể, mối quan hệ và thuộc tính trong ERD.
• Cho biết các quy tắc mối quan hệ, ví dụ: mối quan hệ 1-n, n-n.
3. Biến đổi sang mô hình Quan hệ.
4. Chuẩn hóa và cài đặt Database lên một DBMS. 1.6
ERD Hệ thống Thông tin Công ty Lữ hành
Hệ thống thông tin quản lý công ty lữ hành (Travel Agency Management System) được thiết kế để hỗ trợ các công ty
lữ hành trong việc quản lý thông tin về các tour du lịch, khách hàng, hướng dẫn viên, đặt chỗ và các dịch vụ liên quan.
Hệ thống này nhằm mục đích tối ưu hóa quy trình quản lý tour, đặt chỗ và dịch vụ khách hàng, giúp nâng cao hiệu quả
hoạt động của công ty lữ hành.
Khi một tour mới được tạo, thông tin chi tiết về tour sẽ được nhập vào hệ thống. Bất kỳ thay đổi nào về thông tin tour
cũng được cập nhật thường xuyên. Hệ thống sẽ lưu trữ thông tin chi tiết về khách hàng và lịch sử đặt chỗ của họ. Điều
này giúp công ty lữ hành cung cấp dịch vụ chăm sóc khách hàng tốt hơn và thực hiện các chiến dịch marketing hiệu quả.
Thông tin về các hướng dẫn viên sẽ được lưu trữ và quản lý để theo dõi lịch trình và phân công công việc. Quá trình đặt
chỗ sẽ được ghi nhận với thông tin về khách hàng, tour, ngày đặt, trạng thái đặt chỗ và tổng giá trị. Hệ thống sẽ cập nhật
trạng thái tour sau mỗi lần đặt chỗ. Thông tin về các dịch vụ liên quan đến tour và các nhà cung cấp dịch vụ sẽ được lưu
trữ và quản lý để đảm bảo chất lượng dịch vụ và liên lạc khi cần thiết.
Hệ thống lưu trữ thông tin chi tiết về các tour du lịch bao gồm mã tour, tên tour, mô tả, địa điểm, lịch trình, giá cả, và thời gian khởi hành.
Hệ thống lưu trữ thông tin về khách hàng bao gồm mã khách hàng, họ tên, địa chỉ, email, số điện thoại và lịch sử đặt chỗ.
Thông tin về các hướng dẫn viên bao gồm mã hướng dẫn viên, họ tên, địa chỉ, email, số điện thoại, ngôn ngữ và các tour phụ trách.
Mỗi đặt chỗ sẽ bao gồm các thông tin như mã đặt chỗ, mã khách hàng, mã tour, ngày đặt, trạng thái đặt chỗ và tổng giá trị.
Hệ thống lưu trữ thông tin về các dịch vụ liên quan đến tour du lịch như dịch vụ vận chuyển, khách sạn, ăn uống, và các hoạt động tham quan.
Hệ thống lưu trữ thông tin về các nhà cung cấp dịch vụ bao gồm mã nhà cung cấp, tên nhà cung cấp, địa chỉ, email, số
điện thoại và danh sách các dịch vụ mà họ cung cấp.
Một tour có thể được đặt nhiều lần bởi nhiều khách hàng khác nhau và mỗi đặt chỗ liên quan đến một tour duy nhất. 6/18 UTH
Relational Database Design Exercises - 2025 Nguyễn Văn Diêu
Một khách hàng có thể đặt nhiều tour du lịch và mỗi đặt chỗ liên quan đến một khách hàng duy nhất.
Một tour có thể có nhiều hướng dẫn viên và một hướng dẫn viên có thể phụ trách nhiều tour khác nhau.
Một tour có thể bao gồm nhiều dịch vụ khác nhau và một dịch vụ có thể được sử dụng trong nhiều tour khác nhau.
Một nhà cung cấp dịch vụ có thể cung cấp nhiều dịch vụ khác nhau và một dịch vụ có thể được cung cấp bởi nhiều nhà cung cấp. Yêu cầu: 1. Vẽ sơ đồ ERD:
• Hãy vẽ ERD cho hệ thống thông tin của công ty lữ hành dựa trên yêu cầu đã nêu trên.
• Xác định các thực thể (entities), mối quan hệ (relationships), và thuộc tính (attributes) của từng thực thể. 2. Mô tả chi tiết:
• Mô tả chi tiết về mỗi thực thể, mối quan hệ và thuộc tính trong ERD.
• Cho biết các quy tắc mối quan hệ, ví dụ: mối quan hệ 1-n, n-n.
3. Biến đổi sang mô hình Quan hệ.
4. Chuẩn hóa và cài đặt Database lên một DBMS. 1.7
ERD Hệ thống Thông tin Khách sạn
Hệ thống thông tin quản lý khách sạn (Hotel Management Information System) được thiết kế để hỗ trợ các hoạt động
quản lý của khách sạn, bao gồm quản lý thông tin khách hàng, đặt phòng, dịch vụ, nhân viên, và thanh toán. Hệ thống
này giúp tối ưu hóa quy trình quản lý, nâng cao hiệu quả hoạt động và cải thiện trải nghiệm khách hàng.
Khi một khách hàng mới đăng ký lưu trú tại khách sạn, thông tin của họ sẽ được nhập vào hệ thống. Bất kỳ thay đổi
nào về thông tin cá nhân hoặc trạng thái đặt phòng của khách hàng đều được cập nhật thường xuyên. Hệ thống sẽ lưu trữ
thông tin chi tiết về các phòng, bao gồm tình trạng phòng và giá cả. Khi có thay đổi về tình trạng phòng (ví dụ: phòng
đang bảo trì, phòng đã được đặt), hệ thống sẽ cập nhật ngay lập tức. Quá trình đặt phòng sẽ được ghi nhận với thông tin
về khách hàng, phòng, ngày đặt phòng, ngày nhận phòng, và ngày trả phòng. Hệ thống sẽ cập nhật trạng thái đặt phòng
sau mỗi giao dịch. Thông tin về nhân viên và các nhiệm vụ được phân công sẽ được lưu trữ trong hệ thống. Điều này
giúp quản lý hiệu quả các nhiệm vụ hàng ngày và đảm bảo chất lượng dịch vụ. Hệ thống sẽ lưu trữ thông tin về các dịch
vụ mà khách sạn cung cấp. Khi khách hàng sử dụng dịch vụ, thông tin sẽ được ghi nhận và liên kết với hóa đơn. Hệ
thống sẽ tạo hóa đơn cho mỗi đặt phòng và dịch vụ khách hàng sử dụng. Thông tin về hóa đơn sẽ bao gồm tổng số tiền,
ngày lập hóa đơn, và trạng thái thanh toán.
Thông tin khách hàng bao gồm mã khách hàng, họ tên, địa chỉ, email, số điện thoại, và lịch sử lưu trú.
Thông tin phòng bao gồm mã phòng, loại phòng, tình trạng phòng (có sẵn, đang sử dụng, đang bảo trì), giá phòng, và các tiện nghi đi kèm.
Thông tin đặt phòng bao gồm mã đặt phòng, mã khách hàng, mã phòng, ngày đặt phòng, ngày nhận phòng, ngày trả
phòng, và tình trạng đặt phòng.
Thông tin nhân viên bao gồm mã nhân viên, họ tên, chức vụ, địa chỉ email, số điện thoại, và danh sách các nhiệm vụ phụ trách.
Thông tin về các dịch vụ cung cấp bởi khách sạn như nhà hàng, spa, giặt ủi, và các dịch vụ phòng. Thông tin bao gồm
mã dịch vụ, tên dịch vụ, mô tả, và giá cả.
Thông tin hóa đơn bao gồm mã hóa đơn, mã đặt phòng, mã khách hàng, mã dịch vụ (nếu có), tổng số tiền, ngày lập
hóa đơn, và trạng thái thanh toán.
Một khách hàng có thể thực hiện nhiều đặt phòng và mỗi đặt phòng liên quan đến một khách hàng duy nhất.
Một phòng có thể được đặt nhiều lần và mỗi đặt phòng liên quan đến một phòng duy nhất.
Một khách hàng có thể sử dụng nhiều dịch vụ khác nhau và mỗi dịch vụ có thể được sử dụng bởi nhiều khách hàng.
Một nhân viên có thể phụ trách nhiều nhiệm vụ và mỗi nhiệm vụ có thể được thực hiện bởi nhiều nhân viên.
Mỗi đặt phòng có thể tạo ra một hoặc nhiều hóa đơn và mỗi hóa đơn liên quan đến một đặt phòng duy nhất. Yêu cầu: 1. Vẽ sơ đồ ERD:
• Hãy vẽ ERD cho hệ thống thông tin quản lý khách sạn dựa trên yêu cầu đã nêu trên.
• Xác định các thực thể (entities), mối quan hệ (relationships), và thuộc tính (attributes) của từng thực thể. 7/18 UTH
Relational Database Design Exercises - 2025 Nguyễn Văn Diêu 2. Mô tả chi tiết:
• Mô tả chi tiết về mỗi thực thể, mối quan hệ và thuộc tính trong ERD.
• Cho biết các quy tắc mối quan hệ, ví dụ: mối quan hệ 1-n, n-n.
3. Xác Định Nhu Cầu Bảo Mật và Quyền Truy Cập:
• Đặt câu hỏi về quyền truy cập thông tin và bảo mật, ví dụ: ai có quyền truy cập danh sách thanh toán?
4. Biến đổi sang mô hình Quan hệ.
5. Chuẩn hóa và cài đặt Database lên một DBMS. 2
Functional Dependencies (FDs) Exercise 1
Consider relation r below: r: R( A B C D E ) t1 0 0 0 0 0 t2 0 1 1 1 0 t3 1 0 2 2 0 t4 1 0 3 2 0 t5 2 1 4 0 0
Which of the following FDs does r satisfy (why?): a) A → B b) AB → D c) C → BDE d) E → A e) A → E Exercise 2
Prove that r satisfies X → Y if and only if X is a key of πXY (r). Exercise 3
Let r be a relation on R, with X a subset of R. Show that if πX (r) has the same number of tuples as r, then r satisfies
X → Y for any subset Y of R. Exercise 4
Prove or disprove the following inference rules for a relation r(R) with W, X, Y, Z subsets of R.
a) X → Y and Z → W imply XZ → Y W .
b) XY → Z and Z → X imply Z → Y .
c) X → Y and Y → Z imply X → Y Z.
d) X → Y , W → Z , and Y ⊇ W imply X → Z. 3 Amstrong’s Axiom Exercise 5 { } Consider F =
AB → CD, A → BE, BH → DK, H → BC
Prove by Amstrong: F |= AH → CK Exercise 6 { } Consider F =
AB → E, AG → J, BE → I, E → G, GI → H
Prove by Amstrong: F |= AB → GH 8/18 UTH
Relational Database Design Exercises - 2025 Nguyễn Văn Diêu Exercise 7 { } Consider F =
A → D, B → CE, E → H, D → E, E → C Prove by Amstrong: a) F |= B → H
b) F |= AB → CH Exercise 8 { } Consider F =
D → BK, AB → GK, B → H, CE → AG, H → E, K → G, EH → K, G → AH Prove by Amstrong:
a) F |= AB → GH
b) F |= DE → AG
c) F |= BH → EK Exercise 9 Consider: { } F1 =
A → B, D → H, BH → E, EH → G, A → C, BC → D { } F2 =
AB → C, B → D, CD → GH, CH → E { } F3 =
AB → C, B → D, CD → E, CE → GH, G → A { } F4 =
A → B, BC → D, AB → E, CE → G Prove by Amstrong:
a) F1 |= AH → G
b) F2 |= AB → E
c) F3 |= AB → EG
d) F4 |= AC → DG Exercise 10 Consider: { } F1 =
AB → E, AG → I, E → G, GI → H { } F2 =
CK → H, C → D, E → C, E → G, CK → E { } F3 =
B → A, AD → CE, D → H, GH → C, AC → D { } F4 =
A → BC, AC → D, B → E, CE → A { } F5 =
AB → CD, C → E, DE → K, AK → G, BH → D Prove by Amstrong:
a) F1 |= AB → GH
b) F2 |= EK → DH
c) F3 |= BCD → ABCDEH
d) F4 |= AC → ABE
e) F5 |= ABH → EKG 4 Closure Exercise 11
Show that for any set of FDs F , F + = (F +)+. Exercise 12
Suppose R(ABCDE) and set of functional dependencies: { } F =
A → BC, CD → E, B → D, E → A . Compute: a) CD+ F b) E+ F 9/18 UTH
Relational Database Design Exercises - 2025 Nguyễn Văn Diêu Exercise 13
Suppose R(ABCDEK) and set of functional dependencies: { } F =
AB → C, BC → AD, D → E, CK → B . Compute: a) BCK+ F b) CD+ F c) D+ F Exercise 14
Suppose R(ABCDEKGH) and set of functional dependencies: { } F =
A → BC, E → C, AH → D, CD → E, D → AEH, DH → BC . Compute: a) AE+ F b) BCD+ F Exercise 15 Consider: { } F1 =
AB → CD, A → BE, BH → DK, H → BC { } F2 =
AB → E, AG → J, BE → I, E → G, GI → H { } F3 =
A → D, B → CE, E → H, D → E, E → C { } F4 =
D → BK, AB → GK, B → H, CE → AG, H → E, K → G, EH → K, G → AH Compute: a) AH+ F1 b) AB+ F2 c) B+ F3 d) AB+ F3 e) AB+ F4 f) DE+ F4 g) BH+ F4 Exercise 16 { } Consider F =
A → B, A → C, CD → E, B → D, E → A
Which of the following functional dependencies is NOT implied by the above set ? a) CD → AC b) BD → CD c) BC → CD d) AC → BC Exercise 17
From Axiom 1, 2, 3 prove Axiom 4, 5 and 6. Exercise 18
Prove that inference axioms 1, 2, and 3 are independent. That is, no one of them can be proved from the other two. Exercise 19
R(ABCD) having two FDs sets: { } F =
A → B, B → C, AB → D , { } G =
A → B, B → C, A → C, A → D Are the two sets equivalent ? 10/18 UTH
Relational Database Design Exercises - 2025 Nguyễn Văn Diêu Exercise 20
R(ABCD) having two FDs sets: { } F =
A → B, B → C, A → C , { } G =
A → B, B → C, A → D Are the two sets equivalent ? Exercise 21
R(ACDEH) having two FDs sets: { } F =
A → C, AC → D, E → AD, E → H , { } G = A → CD, E → AH Are the two sets equivalent ? Exercise 22
R(ABCDE) having two FDs sets: { } F =
A → BC, A → D, CD → E , { } G =
A → BCE, A → ABD, CD → E Are the two sets equivalent ? Exercise 23
R(ABCDE) having two FDs sets: { } F =
AB → C, A → B, B → C, A → C , { } G =
AB → C, A → B, B → C Are the two sets equivalent ? Exercise 24 { } Consider F =
A → B, B → C, C → A, B → A, A → C
a) Find a minimum cover Fc of F by loop from right to left
b) Find a minimum cover Fc of F by loop from left to right Exercise 25 { } Consider F =
A → BC, B → C, A → B, AB → C
Find a minimum cover Fc of F Exercise 26 { } Consider F =
A → BC, CD → E, B → D, E → A
Find a minimum cover Fc of F Exercise 27 { } Consider F =
B → A, AD → BC, C → ABD
Find a minimum cover Fc of F Exercise 28 Consider R(ABC), { } F = AB → C, A → B { } G = A → B, B → C
a) Find a minimum cover Fc of F
b) Is G a minimal cover of F ? Otherwise give a data instance of R satisfy F but not G 11/18 UTH
Relational Database Design Exercises - 2025 Nguyễn Văn Diêu Exercise 29 { }
Consider R(ABCDE) , F =
AB → CD, B → CD, CD → AE, DE → AB, D → E
Compute Projected Functional Dependencies:
a) πR1(ABC)(F )
b) πR2(BCD)(F )
c) πR3(CDE)(F )
d) πR4(ADE)(F )
e) πR5(BDE)(F )
f) πR6(AE)(F )
g) πR7(DE)(F ) Exercise 30
Consider R(ABCDEGH) , { } F =
AB → CD, E → D, ABC → DE, E → AB, D → AG, ACD → BE
Compute Projected Functional Dependencies:
a) πR1(ABCD)(F )
b) πR2(DEGH)(F )
c) πR3(CDE)(F )
d) πR4(ADE)(F )
e) πR5(BDE)(F )
f) πR6(AE)(F )
g) πR7(DE)(F ) 5 Keys Exercise 31
Consider R(ABCDEH) with a set of FDs { } F =
A → B, BC → D, E → C, D → A
What are the candidate keys of R a) AE, BE b) AE, BE, DE c) AEH, BEH, BCH d) AEH, BEH, DEH Exercise 32
Consider R(DEGHIJ KLM N ) with a set of FDs { } F =
DE → G, D → IJ, EH → KL, K → M, L → N What is the key for R ? a) EF b) DEH c) DEHKL d) E Exercise 33
Consider R(ABCDEKGH) with a set of FDs { } F =
ABC → DE, AB → D, DE → ABCK, E → C
Find all the candidate keys of R Exercise 34
Consider R(ABCDEGHK) with a set of FDs { } F =
CD → A, EC → H, GHB → AB, C → D, EG → A, H → B, BE → CD, EC → B
Find all the candidate keys of R 12/18 UTH
Relational Database Design Exercises - 2025 Nguyễn Văn Diêu 6 Normal Form by FDs Exercise 35
Which normal form of relational scheme below: { }
a) R1(ABC), F1 = A → C { }
b) R2(ABC), F2 = C → B { }
c) R3(ABCD), F3 = A → B, B → A { }
d) R4(ABCD), F4 = D → C, B → A { }
e) R5(ABCD), F5 = B → D, C → D { }
f) R6(ABCDE), F6 =
AB → C, B → A, D → A { }
g) R7(ABCDE), F7 =
AB → C, C → D, D → A { }
h) R8(ABCDE), F8 =
AB → CD, CD → AE, D → A { }
i) R9(ABCDE), F9 =
D → A, BC → E, A → C { }
j) R10(ABCDEG), F10 =
AB → CG, G → D, B → D { }
k) R11(ABCDE), F11 =
E → D, C → B, A → E B → A, D → C { }
l) R12(ABCDE), F12 =
AC → B, BD → C, CE → D
m) R13(ABCD), F13 = Exercise 36 { }
Consider R(ABCD), F = A → C, B → D a) Keys and Normal form? b) Decompose R Exercise 37 { }
Consider R(ABCD), F = AC → D a) Keys and Normal form? b) Decompose R Exercise 38 { }
Consider R(ABCDE), F =
AB → C, B → A, D → A a) Keys and Normal form? b) Decompose R Exercise 39 { }
Consider R(ABCDE), F =
CD → A, EC → B, AD → C a) Keys and Normal form? b) Decompose R Exercise 40
Consider R(ABCDEGH), { } F =
CD → A, EC → H, GHB → AB, C → D, EG → A, H → B, BE → CD, EC → B a) Keys and Normal form ? b) Decompose R Exercise 41 { }
Consider R(ABCD), F =
A → B, B → C, D → B a) Normal form of R ?
b) If R is not good, let try to find a good decomposition for R 13/18 UTH
Relational Database Design Exercises - 2025 Nguyễn Văn Diêu Exercise 42 { }
Consider R(ABCD), F =
A → B, B → C, A → D, D → C
One decomposition ρ of R:
R1(AB), F1
R2(AC), F2
R3(BD), F3 a) Fi ?
b) Keys and Normal form of Ri ? Exercise 43
Consider R(A B D E M N O P X Y Z V W ), { } F =
D → XM N P E, M P N → EY ABO, M N → ZO, O → V, P → ABW , AB → P, N E → M P
One decomposition ρ of R:
R1(DXM N P E), F1
R2(M N P EY ABO), F2
R3(M N ZO), F3
R4(OV ), F4
R5(P ABW ), F5 a) Fi ?
b) Keys and Normal form of Ri ?
c) Evaluate the quality of ρ (Normal form, Conserve information, Conserve FDs)
d) If ρ is not good, let make a improvement of ρ Exercise 44
Consider R(ABCDEGH), { } F =
CD → A, EC → H, GHB → AB, C → D, EG → A, H → B, BE → CD, EC → B
Evaluate the decomposition below (Normal form, Conserve information, Conserve FDs) { } ρ =
R1(ABC), R2(CDEG), R3(EGH) Exercise 45
Give an example of a relation in 3NF that has some prime attribute transitively dependent upon a key Exercise 46
Let R1 and R2 be relation schemes with R1 ∩ R2 = X. Show that for any relation r(R1R2) that satisfies X → R2,
r = πR (r) ▷◁ π (r) 1 R2 7
Multivalued Dependencies (MVDs) Exercise 47
Consider relation r below: r: R( A B C D E ) t1 0 0 1 0 0 t2 0 0 2 1 0 t3 0 2 2 0 1
From data instance R above make R satisfies each MVD below: a) AB C b) AB E c) D C d) AD C e) C DE 14/18 UTH
Relational Database Design Exercises - 2025 Nguyễn Văn Diêu Exercise 48 { }
Let R(ABCDE), D =
A BC, A E, E CD Proving by MVDs axiom:
a) D |= A C
b) D |= A BD
c) D |= AC BD
d) D |= AC BE
e) D |= DE AC
f) D |= DE AB Exercise 49 { }
Let R(ABCDGH), D =
A B, B GH, CD G Proving by MVDs axiom:
a) D |= BC AD
b) D |= BC GH
c) D |= BC DG
d) D |= CD AB
e) D |= CD BG
f) D |= CD GH Exercise 50 { }
Let R(ABCGHI), D =
A B, B HI, CG H Compute X++: D a) A++ D b) AG++ D c) BG++ D d) BC++ D e) HG++ D Exercise 51
Prove the correctness of inference axioms M1 and M2. Exercise 52
Prove the correctness of inference axiom M3. Exercise 53
We know axiom M7 is correct from Lemma 8.3
Prove the correctness of inference axiom M4 using axioms M3 and M7. Exercise 54
Prove the correctness of inference axiom M5 using axioms M4. Exercise 55
Prove the correctness of inference axiom M6 using axioms M1-M5 and M7 8 Tableau Chase Test Exercise 56 { } Consider D =
AB → CD, A → BE, BH → DK, H → BC
Prove by Tableau Chase test: D |= AH → CK 15/18 UTH
Relational Database Design Exercises - 2025 Nguyễn Văn Diêu Exercise 57 { } Consider D =
AB → E, AG → J, BE → I, E → G, GI → H
Prove by Tableau Chase test: D |= AB → GH Exercise 58 { } Consider D =
A → D, B → CE, E → H, D → E, E → C
Prove by Tableau Chase test: a) D |= B → H
b) D |= AB → CH Exercise 59 { } Consider D =
D → BK, AB → GK, B → H, CE → AG, H → E, K → G, EH → K, G → AH
Prove by Tableau Chase test: a) D |= AB → GH
b) D |= DE → AG
c) D |= BH → EK Exercise 60
Suppose R(ABCDE) and set of functional dependencies: { } D =
A → BC, CD → E, B → D, E → A . Using Tableau Chase test to compute: a) CD+ D b) E+ D Exercise 61
Suppose R(ABCDEK) and set of functional dependencies: { } D =
AB → C, BC → AD, D → E, CK → B . Using Tableau Chase test to compute: a) BCK+ D b) CD+ D c) D+ D Exercise 62
Suppose R(ABCDEKGH) and set of functional dependencies: { } D =
A → BC, E → C, AH → D, CD → E, D → AEH, DH → BC . Using Tableau Chase test to compute: a) AE+ D b) BCD+ D Exercise 63 Consider: { } D1 =
AB → CD, A → BE, BH → DK, H → BC { } D2 =
AB → E, AG → J, BE → I, E → G, GI → H { } D3 =
A → D, B → CE, E → H, D → E, E → C { } D4 =
D → BK, AB → GK, B → H, CE → AG, H → E, K → G, EH → K, G → AH
Using Tableau Chase test to compute: a) AH+ D1 b) AB+ D2 c) B+ D3 d) AB+ D3 e) AB+ D4 f) DE+ D4 g) BH+ D4 16/18 UTH
Relational Database Design Exercises - 2025 Nguyễn Văn Diêu Exercise 64 { } Consider D =
A → B, A → C, CD → E, B → D, E → A
Using Tableau Chase test to compute: Which of the following functional dependencies is NOT implied by the above set ? a) CD → AC b) BD → CD c) BC → CD d) AC → BC Exercise 65 { }
Let R(ABCDE), D =
A BC, A E, E CD
Using Tableau Chase test to compute:
a) D |= A C
b) D |= A BD
c) D |= AC BD
d) D |= AC BE
e) D |= DE AC
f) D |= DE AB Exercise 66 { }
Let R(ABCDGH), D =
A B, B GH, CD G
Using Tableau Chase test to compute:
a) D |= BC AD
b) D |= BC GH
c) D |= BC DG
d) D |= CD AB
e) D |= CD BG
f) D |= CD GH 9
More Normal form and Dependencies Exercise 67
Modify the relation r below to satisfy the MVDs A BC and CD BE by adding rows. r: R( A B C D E ) t1 0 0 0 0 0 t2 0 1 0 1 0 t3 1 0 0 0 1 Exercise 68
Prove that if a relation r(R) satisfies the MVDs X Y1, X Y2 ... X Yk, where R = XY1Y2...Yk, then r
decomposes converse information onto the relation schemes XY1, XY2, ..., XYk. Exercise 69
Let r(R) be a relation where R1 ⊆ R, R2 ⊆ R and R = R1R2. Prove that r = πR (r) ▷◁ π (r) if and only if: 1 R2
Count(πR([X = x](r))) = Count(πR ([X = x](r))) × Count(π
([X = x](r))) for every X-value x in r 1 R2 Exercise 70
Prove that if relation r(R) satisfies X Y and Z = R − XY , then
πZ(σX=x(r)) = πZ(σXY =xy(r))
for every XY -value xy in r 17/18 UTH
Relational Database Design Exercises - 2025 Nguyễn Văn Diêu Exercise 71
Let relation scheme R and let W, X, Y, Z ⊆ R. Show that: { }
X Y , Z ⊆ W
|= XW Y Z Exercise 72
Prove the correctness of inference axiom M6 using axioms M1-M5 and M7 Exercise 73
Let relation scheme R and let X, Y, Z ⊆ R. Show that: { }
X Y , XY → Z |= X → Z − Y 18/18
Document Outline

  • Database & ERD Tool Resources
    • PostgreSQL
    • MySQL
    • SQLServer
    • ERD Tool
  • Entity Relationship Diagram (ERD)
  • Functional Dependencies (FDs)
  • Amstrong's Axiom
  • Closure
  • Keys
  • Normal Form by FDs
  • Multivalued Dependencies (MVDs)
  • Tableau Chase Test
  • More Normal form and Dependencies