lOMoARcPSD| 58778885
Review questions
1. Describe the three-schema architecture.
- Kiến trúc Ba Mô Hình (Three-Schema Architecture), còn được gọi là Phương
pháp Ba Mô Hình, là một kiến trúc cơ sở dữ liệu mà chia thành ba mô hình dữ liệu
khác nhau: mô hình bên ngoài (external schema), mô hình khái niệm (conceptual
schema), và mô hình bên trong (internal schema) của hệ thống cơ sở dữ liệu. Kiến
trúc này được sử dụng chủ yếu để tăng cường hiệu suất, linh hoạt và bảo mật của
hệ thống quản lý cơ sở dữ liệu (DBMS).
2. Define the following terms and give an example for each term: an attribute,
the domain of an attribute, a relation schema, a relation, n-tuple, degree of a
relation, a relationship, a relation instance (state), a relational database
schema, a relational database state, integrity constraints.
-Mô hình Bên Ngoài (Góc Nhìn Người Dùng): Đây là mức độ trừu tượng cao nhất
và đại diện cho cách dữ liệu được trình bày cho người dùng cuối hoặc các chương
trình ứng dụng. Nó xác định các góc nhìn người dùng hoặc góc nhìn logic khác
nhau của dữ liệu. Mỗi người dùng hoặc nhóm người dùng có thể có một góc nhìn
cụ thể của cơ sở dữ liệu được tùy chỉnh theo nhu cầu của họ. Mô hình bên ngoài
tập trung vào cách tổ chức dữ liệu cho các yêu cầu cụ thể của người dùng mà
không tiết lộ sự phức tạp bên trong của cơ sở dữ liệu.
+Mục Đích: Tùy chỉnh trình bày dữ liệu cho người dùng hoặc ứng dụng
khác nhau mà không ảnh hưởng đến cấu trúc dữ liệu cơ bản.
-Mô hình Khái Niệm (Góc Nhìn Logic): hình khái niệm đại diện cho cấu trúc
logic tổng thể của toàn bộ sở dữ liệu. xác định các mối quan hệ giữa các thành
phần dữ liệu khác nhau, thực thể và thuộc tính của chúng. Mô hình này độc lập với
bất kỳ DBMS cụ thể nào và phục vụ như một biểu đồ trừu tượng về mô hình dữ liệu
cho toàn bộ tổ chức.
+Mục Đích: Cung cấp góc nhìn tổng thể, trừu tượng về toàn bộ sở dữ liệu
cho các quản trị viên nhà thiết kế dữ liệu. Các thay đổi trong cấu trúc dữ
liệu bản thể được thực hiện mức này không ảnh hưởng đến các
góc nhìn bên ngoài.
-Mô hình Bên Trong (Góc Nhìn Vật Lý): hình bên trong xử vviệc lưu trữ
vật lý của dữ liệu trên thiết bị lưu trữ, chỉ số dữ liệu, nén dữ liệu các chi tiết i
đặt vật khác. xác định cách dữ liệu được lưu trữ truy xuất một cách hiệu
quả bởi DBMS. Các thay đổi ở mức này không nên ảnh hưởng đến các mô hình bên
trên.
lOMoARcPSD| 58778885
+Mục Đích: Tối ưu hóa việc lưu trữ và truy xuất dữ liệu, cải thiện hiệu suất
và đảm bảo bảo mật và tính toàn vẹn dữ liệu.
3. Why are tuples in a relation not ordered?
- Các bản ghi (tuples) trong một mối quan hệ (relation), còn được gọi là các
hàng trong bảng cơ sở dữ liệu, có tính chất mặc định là không có thứ tự cụ thể
trong ngữ cảnh của mô hình dữ liệu quan hệ. Điều này có nghĩa là thứ tự mà các
bản ghi được lưu trữ hoặc truy xuất từ một bảng cơ sở dữ liệu không có ý nghĩa
hoặc ý nghĩa cụ thể. Thay vào đó, mô hình quan hệ dựa vào các phương tiện khác
để xác định và điều khiển dữ liệu, chủ yếu thông qua các thuộc tính và khóa.
4. Why are duplicate tuples not allowed in a relation?
- Thông thường, các bản ghi trùng lặp (hàng) không được phép trong một
mối quan hệ (bảng) trong cơ sở dữ liệu quan hệ vì mô hình quan hệ dựa trên các
nguyên tắc của lý thuyết tập hợp và tính toán toán học. Trong một tập hợp toán
học, mỗi phần tử là duy nhất và không có sự trùng lặp.
5. What is the difference between a key and a superkey?
Khóa Chính (Primary Key):
- Tính duy nhất: Khóa chính phải là một tập hợp duy nhất của các thuộc tính
(hoặc cột) trong một bảng dữ liệu. Không có hai hàng nào trong bảng có giá trị
khóa chính giống nhau.
- Tính bắt buộc: Khóa chính không được chứa giá trị NULL. Mọi hàng trong
bảng phải có một giá trị khóa chính.
- Mục đích: Khóa chính được sử dụng để duy nhất hóa và xác định mỗi hàng
trong bảng. Nó giúp đảm bảo tính toàn vẹn dữ liệu và làm cho việc thực hiện truy
vấn và thao tác dữ liệu hiệu quả hơn.
Siêu Khóa (Super Key):
- Tính duy nhất không bắt buộc: Siêu khóa là một tập hợp của một hoặc
nhiều thuộc tính trong bảng dữ liệu. Nó có thể chứa giá trị trùng lặp và có thể chứa
giá trị NULL.
- Mục đích: Siêu khóa không cần phải duy nhất hóa hàng trong bảng. Thay
vào đó, nó là một tập hợp bất kì của các thuộc tính có thể được sử dụng để duy
nhất hóa hàng, bao gồm cả khóa chính.
6. Discuss the entity integrity and referential integrity constraints. Why is each
considered important?
Ràng Buộc Tính Nguyên Vẹn Thực Thể (Entity Integrity):
lOMoARcPSD| 58778885
- Tính Chất: Ràng buộc này đảm bảo rằng giá trị của thuộc tính khóa chính
(primary key) không thể để trống (NULL) và phải là duy nhất trong mỗi hàng của
bảng.
- Quan Trọng: Ràng buộc về tính nguyên vẹn thực thể quan trọng vì nó đảm
bảo tính toàn vẹn của dữ liệu trong bảng. Nếu giá trị khóa chính có thể để trống
hoặc bị trùng lặp, sẽ gây ra sự không nhất quán và khó khăn trong việc xác định
xử lý dữ liệu.
Ràng Buộc Tính Nguyên Vẹn Tham Chiếu (Referential Integrity):
- Tính Chất: Ràng buộc này đảm bảo rằng mối quan hệ giữa các bảng dữ liệu
đượcduy trì và thống nhất. Nó đảm bảo rằng giá trị trong cột tham chiếu (foreign
key) của một bảng phải tham chiếu đến một giá trị tồn tại trong cột khóa chính của
bảng tham chiếu (primary key).
- Quan Trọng: Ràng buộc về tính nguyên vẹn tham chiếu quan trọng vì
đảm bảo sự chính xác và nhất quán của các mối quan hệ trong cơ sở dữ liệu. Nó
ngăn chặn việc tham chiếu đến dữ liệu không tồn tại hoặc không hợp lệ, giúp duy
trì tính toàn vẹn của dữ liệu và quy tắc kết nối giữa các bảng.
Tóm lại, ràng buộc về tính nguyên vẹn thực thể và tính nguyên vẹn tham chiếu là
hai khía cạnh quan trọng của quản lý cơ sở dữ liệu. Chúng đảm bảo tính toàn vẹn,
chính xác và hiệu quả của dữ liệu trong hệ thống cơ sở dữ liệu và giúp duy trì sự
nhất quán và bảo mật của thông tin.
Exercises.
1. Given one possible database state for the COMPANY relational database
schema as follows:
lOMoARcPSD| 58778885
- Suppose that each of the following Update operations is applied directly to the
databasestate shown above. Discuss all integrity constraints violated by each
operation, if any, and the different ways of enforcing these constraints.
lOMoARcPSD| 58778885
- Which of the following operations are not correct? Wh y? Show the results of the
correct operations: a.
- Về miền giá trị: Tất cả dữ liệu trong câu lệnh đều thỏa RBTV này tương ứng
trong các cột
-Kết luận: Câu lệnh trên có thể thực hiện mà không vi phàm các RBTV. b.
-Về miền giá trị: Tất cả dữ liệu trong câu lệnh đều tha RBTV này tương ứng
trong các cột
-Kết luận: Câu lệnh trên có thể thực hiện mà không vi phàm các RBTV.
c.
-Về miền giá trị: Tất cả dữ liệu trong câu lệnh đều tha RBTV này tương ứng
trong các cột
-Câu lệnh trên cho thấy giá trị cột Dnumber là 4 đã có trên bảng và cột
Dnumber lại là khóa chính không được phép trùng
-Kết luận: Câu lệnh này không thực hiện được vì vi phạm ràng buộc.
lOMoARcPSD| 58778885
-Để thực hiện câu lệnh này cần thay đổi giá trị Dnumber khác 4 để không bị
trùng
d.
- Về miền giá trị: Tất cả dữ liệu trong câu lệnh đều thỏa RBTV này tương ứng
trong các cột
-Ràng buộc về khóa ngoại: Cột Pno là khóa ngoại tham chiếu với cột Pnumber
của bảng PROJECT. Theo câu lệnh trên thì giá trị cột Pno là NULL trong khi
cột Pnumber lại không có giá trị đó
-Kết luận: Câu lệnh này không thực hiện được vì vi phạm ràng buộc.
-Để lệnh được thực hiện ta phải thay đổi giá trị NULL của dòng lệnh
thành 1 trong các giá trị có sẵn trong cột Pnumber của bảng PROJECT
e.
- Về miền giá trị: Tất cả dữ liệu trong câu lệnh đều thỏa RBTV này tương ứng
trong các cột
-Ràng buộc về khóa ngoại: Cột Essn là khóa ngoại tham chiếu với cột Ssn của
bảng DEPARTMENT có cùng giá trị.
-Giá trị “John” ở cột khóa chính không bị tng với các tên khác.
-Kết luận: Câu lệnh trên có thể thực hiện mà không vi phạm các RBTV. f.
-Kết luận: Câu lệnh trên có thể thực hiện mà không vi phàm các RBTV. g.
- Cột Ssn của bảng EMPLOYEE tham chiếu với các bảng: DEPARTMENT,
WORKS_ON và DEPENDENT nên khi xóa bộ “987654321” sẽ vi phạm ràng
buộc.
-Cột Dno của bảng EMPLOYEE khóa ngoại tham chiếu với các cột: Dnumber
ở bảng DEPT_LOCATION, Dnumber ở bảng DEPARTMENT, Dnum ở bảng
PROJECT. Theo lệnh trên khi xóa bộ có giá trị “987654321” ở cột Ssn của
bảng EMPLOYEE sẽ không ảnh hưởng đến bảng PROJECT
DEPT_LOCATION nhưng ảnh hưởng đến bảng DEPARTMENT.
-Kết luận: Câu lệnh này không thực hiện được vì vi phạm ràng buộc.
-Để thực hiện được câu lệnh trên ta phải thay đổi giá trị Mgr_ssn, và
Mgr_start_date ở bảng DEPARTMENT, xóa bộ có giá trị ở cột Essn
lOMoARcPSD| 58778885
"987654321” ở bảng DEPENDENT, xóa các bộ có giá tr ở cột Essn
“987654321” ở bảng
WORKS_ON.
h.
-Cột Pnumber ở bảng PROJECT là khóa ngoại tham chiếu với cột Pno bảng
WORKS_ON. Theo câu lệnh trên, xóa bộ có giá trị cột Pname là “ProductX”
sẽ làm mất giá tr “1” ở cột Pnumber vì thế các bộ có giá trị cột Pno ở bảng
WORKS_ON sẽ không có giá trị để tham chiếu vào.
-Kết luận: Câu lệnh này không thực hiện được vì vi phạm ràng buộc.
-Cần xóa các bộ có giá trị “1” cột Pno ở bảng WORKS_ON sau đó
mới thực hiện lệnh được
i.
- Về miền giá trị: Tất cả dữ liệu trong câu lệnh đều thỏa RBTV này tương ứng
trong các cột
-Kết luận: Câu lệnh trên có thể thực hiện mà không vi phàm các RBTV.
j.
- Về miền giá trị: Tất cả dữ liệu trong câu lệnh đều thỏa RBTV này tương ứng
trong các cột
-Ràng buộc về khóa ngoại: cột Ssn ở bảng EMPLOYEE là khóa ngoại tham
chiếu với cột Essn bảng WORKS_ON. Theo câu lệnh trên thay đổi giá trị cột
Ssn từ “999887777” thành “943775543” bảng EMPLOYEE nhưng tra cột
Essn bảng WORKS_ON vẫn giá trị
-Kết luận: Câu lệnh này không thực hiện được vì vi phạm ràng buộc.
-Để thực hiện câu lệnh ta phải viết thêm câu lệnh thay đổi tương tự với bảng
WORKS_ON
k.
-Về miền giá trị: Giá trị thay đổi ở câu lệnh trên không thỏa RBTV khi thuộc
tính ở cột Pno là số nguyên dương trong khi dữ liệu thay đổi là số thực dương.
-Để thực hiện câu lệnh ta phải thay đổi thông tin từ “5.0” thành “5”
lOMoARcPSD| 58778885
2. Given a University database as follows:
Consider the above figure. In addition to constraints relating the values of columns
in one table to columns in another table, there are also constraints that impose
restrictions on values in a column or a combination of columns within a table. One
such constraint dictates that a column or a group of columns must be unique across
all rows in the table. For example, in the STUDENT table, the Student_number
column must be unique (to prevent two different students from having the same
Student_number).
- Identify the column or the group of columns in the other tables that must be
uniqueacross all rows in the table.
- Identify the primary key, foreign key in each relational schema.
- Specify the following queries on the University database schema:
a. Retrieve the student_number and the name of all students in the university.
Π Student_number, Name(STUDENT)
b. Retrieve the student_number and the name of all students in “Computer
Science” major
Π Student_number, Name(σMajor= Computer Science(STUDENT))
c. Retrieve the prerequisite course number and course name of the
coursewhich has course number “1111’
Πprerequisite_number,course_number,course_name(σcourse_number=1111
lOMoARcPSD| 58778885
(COURSE|X| PREREQUISITE))
d. Retrieve the section identifier, course number and course name of
courseswhich are opened in semester 1, year 2019
Πsection_identifier,course_number,course_name(σsemester=1 and
year=2019(COURSE|X| SECTION))
e. Retrieve the section identifier, course number and course name of
courseswhich are not opened in semester 1, year 2019
Πsection_identifier,course_number,course_name(σsemester!=1 and year!
=2019(COURSE|X| SECTION))
f. Retrieve the section identifier, course number and course name of
courseswhich are opened in year 2018 or 2019.
Πsection_identifier,course_number,course_name(σyear=2018(COURSE|X|
SECTION))
Πsection_identifier,course_number,course_name(σyear=2019(COURSE|
X| SECTION))
g. Retrieve the section identifier, course number and course name of
courseswhich are opened in year 2018 and 2019.
Πsection_identifier,course_number,course_name(σyear=2018(COURSE|X|
SECTION))
Πsection_identifier,course_number,course_name(σyear=2019(COURSE|
X| SECTION))

Preview text:

lOMoAR cPSD| 58778885 Review questions
1. Describe the three-schema architecture.
- Kiến trúc Ba Mô Hình (Three-Schema Architecture), còn được gọi là Phương
pháp Ba Mô Hình, là một kiến trúc cơ sở dữ liệu mà chia thành ba mô hình dữ liệu
khác nhau: mô hình bên ngoài (external schema), mô hình khái niệm (conceptual
schema), và mô hình bên trong (internal schema) của hệ thống cơ sở dữ liệu. Kiến
trúc này được sử dụng chủ yếu để tăng cường hiệu suất, linh hoạt và bảo mật của
hệ thống quản lý cơ sở dữ liệu (DBMS).
2. Define the following terms and give an example for each term: an attribute,
the domain of an attribute, a relation schema, a relation, n-tuple, degree of a
relation, a relationship, a relation instance (state), a relational database
schema, a relational database state, integrity constraints.

-Mô hình Bên Ngoài (Góc Nhìn Người Dùng): Đây là mức độ trừu tượng cao nhất
và đại diện cho cách dữ liệu được trình bày cho người dùng cuối hoặc các chương
trình ứng dụng. Nó xác định các góc nhìn người dùng hoặc góc nhìn logic khác
nhau của dữ liệu. Mỗi người dùng hoặc nhóm người dùng có thể có một góc nhìn
cụ thể của cơ sở dữ liệu được tùy chỉnh theo nhu cầu của họ. Mô hình bên ngoài
tập trung vào cách tổ chức dữ liệu cho các yêu cầu cụ thể của người dùng mà
không tiết lộ sự phức tạp bên trong của cơ sở dữ liệu.
+Mục Đích: Tùy chỉnh trình bày dữ liệu cho người dùng hoặc ứng dụng
khác nhau mà không ảnh hưởng đến cấu trúc dữ liệu cơ bản.
-Mô hình Khái Niệm (Góc Nhìn Logic): Mô hình khái niệm đại diện cho cấu trúc
logic tổng thể của toàn bộ cơ sở dữ liệu. Nó xác định các mối quan hệ giữa các thành
phần dữ liệu khác nhau, thực thể và thuộc tính của chúng. Mô hình này độc lập với
bất kỳ DBMS cụ thể nào và phục vụ như một biểu đồ trừu tượng về mô hình dữ liệu cho toàn bộ tổ chức.
+Mục Đích: Cung cấp góc nhìn tổng thể, trừu tượng về toàn bộ cơ sở dữ liệu
cho các quản trị viên và nhà thiết kế dữ liệu. Các thay đổi trong cấu trúc dữ
liệu cơ bản có thể được thực hiện ở mức này mà không ảnh hưởng đến các góc nhìn bên ngoài.
-Mô hình Bên Trong (Góc Nhìn Vật Lý): Mô hình bên trong xử lý về việc lưu trữ
vật lý của dữ liệu trên thiết bị lưu trữ, chỉ số dữ liệu, nén dữ liệu và các chi tiết cài
đặt vật lý khác. Nó xác định cách dữ liệu được lưu trữ và truy xuất một cách hiệu
quả bởi DBMS. Các thay đổi ở mức này không nên ảnh hưởng đến các mô hình bên trên. lOMoAR cPSD| 58778885
+Mục Đích: Tối ưu hóa việc lưu trữ và truy xuất dữ liệu, cải thiện hiệu suất
và đảm bảo bảo mật và tính toàn vẹn dữ liệu.
3. Why are tuples in a relation not ordered? -
Các bản ghi (tuples) trong một mối quan hệ (relation), còn được gọi là các
hàng trong bảng cơ sở dữ liệu, có tính chất mặc định là không có thứ tự cụ thể
trong ngữ cảnh của mô hình dữ liệu quan hệ. Điều này có nghĩa là thứ tự mà các
bản ghi được lưu trữ hoặc truy xuất từ một bảng cơ sở dữ liệu không có ý nghĩa
hoặc ý nghĩa cụ thể. Thay vào đó, mô hình quan hệ dựa vào các phương tiện khác
để xác định và điều khiển dữ liệu, chủ yếu thông qua các thuộc tính và khóa.
4. Why are duplicate tuples not allowed in a relation? -
Thông thường, các bản ghi trùng lặp (hàng) không được phép trong một
mối quan hệ (bảng) trong cơ sở dữ liệu quan hệ vì mô hình quan hệ dựa trên các
nguyên tắc của lý thuyết tập hợp và tính toán toán học. Trong một tập hợp toán
học, mỗi phần tử là duy nhất và không có sự trùng lặp.
5. What is the difference between a key and a superkey? Khóa Chính (Primary Key): -
Tính duy nhất: Khóa chính phải là một tập hợp duy nhất của các thuộc tính
(hoặc cột) trong một bảng dữ liệu. Không có hai hàng nào trong bảng có giá trị khóa chính giống nhau. -
Tính bắt buộc: Khóa chính không được chứa giá trị NULL. Mọi hàng trong
bảng phải có một giá trị khóa chính. -
Mục đích: Khóa chính được sử dụng để duy nhất hóa và xác định mỗi hàng
trong bảng. Nó giúp đảm bảo tính toàn vẹn dữ liệu và làm cho việc thực hiện truy
vấn và thao tác dữ liệu hiệu quả hơn. Siêu Khóa (Super Key): -
Tính duy nhất không bắt buộc: Siêu khóa là một tập hợp của một hoặc
nhiều thuộc tính trong bảng dữ liệu. Nó có thể chứa giá trị trùng lặp và có thể chứa giá trị NULL. -
Mục đích: Siêu khóa không cần phải duy nhất hóa hàng trong bảng. Thay
vào đó, nó là một tập hợp bất kì của các thuộc tính có thể được sử dụng để duy
nhất hóa hàng, bao gồm cả khóa chính.
6. Discuss the entity integrity and referential integrity constraints. Why is each considered important?
Ràng Buộc Tính Nguyên Vẹn Thực Thể (Entity Integrity): lOMoAR cPSD| 58778885 -
Tính Chất: Ràng buộc này đảm bảo rằng giá trị của thuộc tính khóa chính
(primary key) không thể để trống (NULL) và phải là duy nhất trong mỗi hàng của bảng. -
Quan Trọng: Ràng buộc về tính nguyên vẹn thực thể quan trọng vì nó đảm
bảo tính toàn vẹn của dữ liệu trong bảng. Nếu giá trị khóa chính có thể để trống
hoặc bị trùng lặp, sẽ gây ra sự không nhất quán và khó khăn trong việc xác định và xử lý dữ liệu.
Ràng Buộc Tính Nguyên Vẹn Tham Chiếu (Referential Integrity): -
Tính Chất: Ràng buộc này đảm bảo rằng mối quan hệ giữa các bảng dữ liệu
đượcduy trì và thống nhất. Nó đảm bảo rằng giá trị trong cột tham chiếu (foreign
key) của một bảng phải tham chiếu đến một giá trị tồn tại trong cột khóa chính của
bảng tham chiếu (primary key). -
Quan Trọng: Ràng buộc về tính nguyên vẹn tham chiếu quan trọng vì nó
đảm bảo sự chính xác và nhất quán của các mối quan hệ trong cơ sở dữ liệu. Nó
ngăn chặn việc tham chiếu đến dữ liệu không tồn tại hoặc không hợp lệ, giúp duy
trì tính toàn vẹn của dữ liệu và quy tắc kết nối giữa các bảng.
Tóm lại, ràng buộc về tính nguyên vẹn thực thể và tính nguyên vẹn tham chiếu là
hai khía cạnh quan trọng của quản lý cơ sở dữ liệu. Chúng đảm bảo tính toàn vẹn,
chính xác và hiệu quả của dữ liệu trong hệ thống cơ sở dữ liệu và giúp duy trì sự
nhất quán và bảo mật của thông tin. Exercises.
1. Given one possible database state for the COMPANY relational database schema as follows: lOMoAR cPSD| 58778885
- Suppose that each of the following Update operations is applied directly to the
databasestate shown above. Discuss all integrity constraints violated by each
operation, if any, and the different ways of enforcing these constraints. lOMoAR cPSD| 58778885
- Which of the following operations are not correct? Wh y? Show the results of the correct operations: a.
- Về miền giá trị: Tất cả dữ liệu trong câu lệnh đều thỏa RBTV này tương ứng trong các cột
-Kết luận: Câu lệnh trên có thể thực hiện mà không vi phàm các RBTV. b.
-Về miền giá trị: Tất cả dữ liệu trong câu lệnh đều thỏa RBTV này tương ứng trong các cột
-Kết luận: Câu lệnh trên có thể thực hiện mà không vi phàm các RBTV. c.
-Về miền giá trị: Tất cả dữ liệu trong câu lệnh đều thỏa RBTV này tương ứng trong các cột
-Câu lệnh trên cho thấy giá trị cột Dnumber là 4 đã có trên bảng và cột
Dnumber lại là khóa chính không được phép trùng
-Kết luận: Câu lệnh này không thực hiện được vì vi phạm ràng buộc. lOMoAR cPSD| 58778885
-Để thực hiện câu lệnh này cần thay đổi giá trị Dnumber khác 4 để không bị trùng d.
- Về miền giá trị: Tất cả dữ liệu trong câu lệnh đều thỏa RBTV này tương ứng trong các cột
-Ràng buộc về khóa ngoại: Cột Pno là khóa ngoại tham chiếu với cột Pnumber
của bảng PROJECT. Theo câu lệnh trên thì giá trị cột Pno là NULL trong khi
cột Pnumber lại không có giá trị đó
-Kết luận: Câu lệnh này không thực hiện được vì vi phạm ràng buộc.
-Để lệnh được thực hiện ta phải thay đổi giá trị NULL của dòng lệnh
thành 1 trong các giá trị có sẵn trong cột Pnumber của bảng PROJECT e.
- Về miền giá trị: Tất cả dữ liệu trong câu lệnh đều thỏa RBTV này tương ứng trong các cột
-Ràng buộc về khóa ngoại: Cột Essn là khóa ngoại tham chiếu với cột Ssn của
bảng DEPARTMENT có cùng giá trị.
-Giá trị “John” ở cột khóa chính không bị trùng với các tên khác.
-Kết luận: Câu lệnh trên có thể thực hiện mà không vi phạm các RBTV. f.
-Kết luận: Câu lệnh trên có thể thực hiện mà không vi phàm các RBTV. g.
- Cột Ssn của bảng EMPLOYEE tham chiếu với các bảng: DEPARTMENT,
WORKS_ON và DEPENDENT nên khi xóa bộ “987654321” sẽ vi phạm ràng buộc.
-Cột Dno của bảng EMPLOYEE khóa ngoại tham chiếu với các cột: Dnumber
ở bảng DEPT_LOCATION, Dnumber ở bảng DEPARTMENT, Dnum ở bảng
PROJECT. Theo lệnh trên khi xóa bộ có giá trị “987654321” ở cột Ssn của
bảng EMPLOYEE sẽ không ảnh hưởng đến bảng PROJECT và
DEPT_LOCATION nhưng ảnh hưởng đến bảng DEPARTMENT.
-Kết luận: Câu lệnh này không thực hiện được vì vi phạm ràng buộc.
-Để thực hiện được câu lệnh trên ta phải thay đổi giá trị Mgr_ssn, và
Mgr_start_date ở bảng DEPARTMENT, xóa bộ có giá trị ở cột Essn lOMoAR cPSD| 58778885
"987654321” ở bảng DEPENDENT, xóa các bộ có giá trị ở cột Essn “987654321” ở bảng WORKS_ON. h.
-Cột Pnumber ở bảng PROJECT là khóa ngoại tham chiếu với cột Pno bảng
WORKS_ON. Theo câu lệnh trên, xóa bộ có giá trị cột Pname là “ProductX”
sẽ làm mất giá trị “1” ở cột Pnumber vì thế các bộ có giá trị cột Pno ở bảng
WORKS_ON sẽ không có giá trị để tham chiếu vào.
-Kết luận: Câu lệnh này không thực hiện được vì vi phạm ràng buộc.
-Cần xóa các bộ có giá trị “1” cột Pno ở bảng WORKS_ON sau đó
mới thực hiện lệnh được i.
- Về miền giá trị: Tất cả dữ liệu trong câu lệnh đều thỏa RBTV này tương ứng trong các cột
-Kết luận: Câu lệnh trên có thể thực hiện mà không vi phàm các RBTV. j.
- Về miền giá trị: Tất cả dữ liệu trong câu lệnh đều thỏa RBTV này tương ứng trong các cột
-Ràng buộc về khóa ngoại: cột Ssn ở bảng EMPLOYEE là khóa ngoại tham
chiếu với cột Essn bảng WORKS_ON. Theo câu lệnh trên thay đổi giá trị cột
Ssn từ “999887777” thành “943775543” bảng EMPLOYEE nhưng tra cột
Essn bảng WORKS_ON vẫn giá trị cũ
-Kết luận: Câu lệnh này không thực hiện được vì vi phạm ràng buộc.
-Để thực hiện câu lệnh ta phải viết thêm câu lệnh thay đổi tương tự với bảng WORKS_ON k.
-Về miền giá trị: Giá trị thay đổi ở câu lệnh trên không thỏa RBTV khi thuộc
tính ở cột Pno là số nguyên dương trong khi dữ liệu thay đổi là số thực dương.
-Để thực hiện câu lệnh ta phải thay đổi thông tin từ “5.0” thành “5” lOMoAR cPSD| 58778885
2. Given a University database as follows:
Consider the above figure. In addition to constraints relating the values of columns
in one table to columns in another table, there are also constraints that impose
restrictions on values in a column or a combination of columns within a table. One
such constraint dictates that a column or a group of columns must be unique across
all rows in the table. For example, in the STUDENT table, the Student_number
column must be unique (to prevent two different students from having the same Student_number).
- Identify the column or the group of columns in the other tables that must be
uniqueacross all rows in the table.
- Identify the primary key, foreign key in each relational schema.
- Specify the following queries on the University database schema:
a. Retrieve the student_number and the name of all students in the university.
Π Student_number, Name(STUDENT)
b. Retrieve the student_number and the name of all students in “Computer Science” major
Π Student_number, Name(σMajor= Computer Science(STUDENT)) c.
Retrieve the prerequisite course number and course name of the
coursewhich has course number “1111’’
Πprerequisite_number,course_number,course_name(σcourse_number=1111 lOMoAR cPSD| 58778885 (COURSE|X| PREREQUISITE)) d.
Retrieve the section identifier, course number and course name of
courseswhich are opened in semester 1, year 2019
Πsection_identifier,course_number,course_name(σsemester=1 and year=2019(COURSE|X| SECTION)) e.
Retrieve the section identifier, course number and course name of
courseswhich are not opened in semester 1, year 2019
Πsection_identifier,course_number,course_name(σsemester!=1 and year! =2019(COURSE|X| SECTION)) f.
Retrieve the section identifier, course number and course name of
courseswhich are opened in year 2018 or 2019.
Πsection_identifier,course_number,course_name(σyear=2018(COURSE|X| SECTION))
Πsection_identifier,course_number,course_name(σyear=2019(COURSE| X| SECTION)) g.
Retrieve the section identifier, course number and course name of
courseswhich are opened in year 2018 and 2019.
Πsection_identifier,course_number,course_name(σyear=2018(COURSE|X| SECTION))
Πsection_identifier,course_number,course_name(σyear=2019(COURSE| X| SECTION))