Hướng dẫn ôn tập môn Cơ sở dữ liệu | Trường Đại học Kinh tế và Quản trị Kinh doanh, Đại học Thái Nguyên

Hướng dẫn ôn tập môn Cơ sở dữ liệu | Trường Đại học Kinh tế và Quản trị Kinh doanh, Đại học Thái Nguyên. Tài liệu được biên soạn dưới dạng file PDF gồm 17 trang, giúp bạn tham khảo, ôn tập và đạt kết quả cao trong kì thi sắp tới. Mời bạn đọc đón xem!

lOMoARcPSD|25865958
1
MÔN: CƠ SỞ D LIU
Câu 1:
1. Anh (ch) hãy trình bày hiu v ca mình v kiến
trúc ca mt h cơ sở d liu?
(V kiến trúc, trình bày mc ngoài, logic, vt lý)
Kiến trúc ca mt h cơ sở d liu (Database System)
đóng vai trò quan trọng trong vic t chc và qun lý d
liu trong mt h thng. Nó bao gm các mc khác
nhau, bao gm mc ngoài, mc logic và mc vt lý.
1. Mc Ngoài (External Level):
Mc ngoài là mc giao tiếp với người dùng cui,
bao gm các khía cnh ca h thng d liu mà
người dùng thấy và tương tác trực tiếp.
Ti mức này, người dùng có th thc hin các hot
động như truy vấn d liu, cp nht, thêm, xóa d
liu và thc hiện các thao tác khác liên quan đến d
liu.
Mc ngoài cung cp mt giao din d s dng cho
người dùng và ẩn đi chi tiết v cấu trúc và lưu trữ
ca d liu.
2. Mc Logic (Conceptual Level):
Mc logic là mc trung gian gia mc ngoài và mc
vt lý.
Ti mc này, ta mô t cu trúc t chc d liu trong
cơ sở d liu mt cách trừu tượng và đc lp vi
các chi tiết v lưu trữ vt lý.
lOMoARcPSD|25865958
2
Mc logic bao gm các khái niệm như các thực th
(entities), mi quan h
(relationships), ràng buc (constraints) và các lut
kết ni (integrity rules).
Mức logic định nghĩa một mô hình d liu o
(conceptual schema) cho toàn b h thống cơ sở d
liu.
3. Mc Vt lý (Physical Level):
Mc vt lý là mc thp nht trong kiến trúc ca h
cơ sở d liu.
Ti mc này, ta qun lý chi tiết v cách d liệu được
lưu trữ và truy xut trên các thiết b lưu trữ vt lý
như ổ cng.
Mc vật lý xác định cách d liệu được phân tán, b
trí và cu trúc bên trong các file và các cu trúc d
liu khác nhau như bảng, ch mục và các phương
pháp truy xut d liu.
ới đây là biểu đồ mô t kiến trúc ca mt h cơ sở d
liu:
lOMoARcPSD|25865958
3
Trên biểu đồ, mức ngoài tương tác trực tiếp vi
người dùng cui và cung cp giao din cho vic
truy xut d liu. Mc logic là mc trung gian,
nơi mô hình dữ liệu được xác định và các quy
tc và ràng buc d liệu được định nghĩa. Mức
vt lý là mc thp nht, qun lý chi tiết v lưu
tr và truy xut d liu trên các thiết b vt lý.
2. Ưu nhược điểm ca mô hình d liu quan h
Mô hình d liu quan h là mt mô hình d liu ph
biến và được s dng rng rãi trong các h cơ sở d
liệu. Dưới đây là ưu nhược điểm ca mô hình d liu
quan h:
Ưu điểm:
lOMoARcPSD|25865958
4
1. Tính mô phng thc tế: Mô hình d liu quan h
kh năng mô phỏng mt cách chính xác các mi
quan h và liên kết giữa các đối tượng trong thế
gii thực, giúp người thiết kế d dàng hiu và biu
din d liu.
2. Đơn giản và d hiu: Mô hình d liu quan h s
dng các bng và quan h giữa chúng để biu din
d liu. Cú pháp và cu trúc ca mô hình d hiu và
đơn giản, giúp người thiết kế và người s dng d
dàng làm vic vi d liu.
3. Kh năng mở rng: Mô hình d liu quan h có kh
năng mở rộng để thêm mi các bng và quan h
mới vào cơ sở d liu mà không làm ảnh hưởng
đến các bng và quan h đã tồn tại. Điều này giúp
mô hình d liu quan h linh hot trong vic thay
đổi và m rng h thng.
4. Hiu sut cao: Mô hình d liu quan h đã được ti
ưu hóa và có các thuật toán hiu qu để thc hin
các thao tác truy vn d liu. Vic s dng ch mc
và các k thut tối ưu truy vấn giúp ci thin hiu
sut truy xut d liu.
Nhược điểm:
1. Kh năng mở rng: Mc dù mô hình d liu quan h
có kh năng mở rộng, nhưng khi dự án phc tp
hơn và quy mô lớn hơn, việc thiết kế và qun lý
quan h gia các bng có th tr nên phc tp và
khó khăn.
lOMoARcPSD|25865958
5
2. Đồng nht d liu: Mô hình d liu quan h yêu cu
d liu trong cùng mt bng phi tuân th cùng
mt quy tắc và có độ chính xác cao. Điều này đôi khi
khó đạt đưc và có th dẫn đến s không đồng
nht và không nht quán trong d liu.
3. Hiệu năng và tốc độ: Mô hình d liu quan h
th gặp khó khăn trong việc x lý các truy vn phc
tp hoc trong các tình hung có ti công vic cao.
Trong mt s trường hp, vic truy xut và truy vn
d liu có th gây ra hiệu năng chậm.
4. Kh năng mô phỏng d liu không cu trúc: Mô
hình d liu quan h không được thiết kế để qun
lý d liu không cu trúc hoc d liu có cu trúc
không rõ ràng. Điều này có th làm gii hn mô
hình trong vic làm vic vi các dng d liệu đa
dạng như văn bản không cu trúc,
hình nh, video, và d liu không có cu trúc khác.
Tóm li, mô hình d liu quan h có nhiều ưu điểm,
nhưng cũng có nhược điểm. Vic áp dng mô hình d
liu quan h ph thuc vào yêu cầu và điều kin c th
ca d án để đảm bo hiu qu và s phù hp.
3. Chuẩn hóa lược đồ quan h, các dng chun
Chuẩn hóa lược đồ quan h là quá trình thiết kế và ci
tiến cu trúc của lược đồ quan h trong mô hình d liu
quan h. Mc tiêu ca chun hóa là loi b các ph
lOMoARcPSD|25865958
6
thuc không mong mun, gim thiểu dư thừa d liu và
tăng tính nhất quán và hiu sut ca h thng.
ới đây là các dạng chun quan trng trong chun hóa
lược đồ quan h:
1. Chun 1NF (First Normal Form):
Đảm bo mi thuc tính ch cha giá tr nguyên t,
không cha các giá tr lp li hoặc đa giá trị.
Tách các thuc tính phc tp thành các thuc tính
đơn giản để đảm bo tính nguyên t.
2. Chun 2NF (Second Normal Form): Đạt được
1NF.
Xác định các khóa chính và ph thuc hàm.
Đảm bo các thuc tính không khóa ph thuc vào
mt phn ca khóa chính.
3. Chun 3NF (Third Normal Form): Đạt được
2NF.
Loi b ph thuc hàm phi chính nguyên t.
Đảm bo các thuc tính không khóa không ph
thuc ln nhau.
4. Chun BCNF (Boyce-Codd Normal Form):
Đạt đưc 3NF.
Loi b các ph thuc hàm phi chính nguyên t.
Đảm bo rng mi ph thuc hàm phi chính nguyên
t ph thuc vào khóa chính.
5. Chun 4NF (Fourth Normal Form): Đạt được
BCNF.
lOMoARcPSD|25865958
7
Loi b các ph thuộc đa giá trị.
Đảm bảo tính độc lp gia các ph thuộc đa giá trị.
6. Chun 5NF (Fifth Normal Form): Đạt được
4NF.
Loi b các ph thuộc đa giá trị phi ph thuc.
Ngoài ra, còn có các dng chuẩn cao hơn như chuẩn
6NF, chun Domain/Key Normal Form (DK/NF) và chun
6.5NF.
Mi dng chuẩn đều có mc tiêu và quy tắc riêng để
đảm bo tính cht ca d liệu trong lược đồ quan h.
Quá trình chuẩn hóa lược đồ quan h yêu cu s phân
tích cn thn và hiu rõ v mi quan h gia các thuc
tính và các ph thuộc trong cơ sở d liệu đ đạt được
thiết kế hiu qu và linh hot.
Câu 2: Cho lược đồ quan h r(U,F) 1. Tính bao đóng
ca thuc tính
Để tính bao đóng của thuộc tính trong lược đồ quan h
r(U, F), ta s dng thuật toán bao đóng. Thuật toán này
cho phép tìm ra tp hp các thuc tính ph thuc hoàn
toàn vào mt tp hp thuc tính khác.
ới đây là một bước đơn giản để tính bao đóng của
thuộc tính A trong lược đồ quan h r(U, F):
c 1: Khi tạo bao đóng của thuc tính A là A+ = A
(bao gồm A ban đu).
lOMoARcPSD|25865958
8
c 2: Lp lại các bước sau cho đến khi không có s
thay đổi nào trong bao đóng: a.
lOMoARcPSD|25865958
9
Downloaded by 48
Nguy?n Th? Anh Th? (nguyenthianhtho2110@gmail.com)
Đối vi mi ph thuc chức năng X -> Y trong tp hp F:
Nếu X thuc A+ (tc là X là mt tp con ca A+), thêm Y
vào A+. b. Nếu A+ không thay đổi sau mt vòng lp, kết
thúc thut toán.
Kết qu cuối cùng là bao đóng của thuc tính
A trong lược đồ quan h r(U, F), ký hiu là A+.
Tính bao đóng của thuộc tính trong lược đồ quan h
quan trọng để xác định các ph thuc chức năng và
quyết đnh v vic chuẩn hóa lược đồ.
2. Tìm khóa của lược đồ quan h Để tìm khóa ca
ợc đồ quan h r(U, F), ta có th s dng thut toán
thu gọn bao đóng (Closure Reduction Algorithm).
ới đây là các bước để tìm khóa của lược đồ:
c 1: Khi to tp khóa K rng.
c 2: Vi mi thuc tính A trong U, thc hin c 3.
ớc 3: Xác định bao đóng F+ của F (bao gm tt c các
thuộc tính được suy ra t F) và kim tra xem A có thuc
F+ hay không. Nếu A thuc F+, chng t A là mt thuc
tính trung gian hoc ph thuc chức năng. Ta loại b A
khi U và quay lại bước 2.
Nếu A không thuc F+, chng t A là mt thuc tính cn
thiết đ xác định khóa. Ta thêm A vào tp khóa K và
quay lại bước 2. Bước 4: Kết qu là tp khóa K, cha tt
lOMoARcPSD|25865958
10
c các thuc tính cn thiết để xác định mi ph thuc
chức năng trong F.
Tập K thu được chính là khóa của lược đồ quan h r(U,
F). Nếu có nhiu khóa, ta có th thu được nhiu tp K
khác nhau.
3. Tìm ph ti thiu
Để tìm ph ti thiu (Minimal Cover) của lược đồ quan
h r(U, F), ta có th s dng thut toán phân rã
(Decomposition Algorithm). Dưới đây là các bước để
tìm ph ti thiu:
c 1: Bắt đầu vi tp ph thuc chức năng F ban đầu.
c 2: Loi b các ph thuc chức năng không cn
thiết t F.
Loi b các ph thuc chức năng trùng lặp:
Kim tra xem có các ph thuc chức năng (X -> Y) và (X -
> Z) trong F sao cho Y và Z là tp con ca nhau. Nếu có,
loi b ph thuc chức năng dư tha.
Loi b ph thuc chức năng không cần thiết: Kim tra
xem có ph thuc chức năng (X -> Y) trong F sao cho Y
có th suy ra t các ph thuc chức năng khác trong F.
Nếu có, loi b ph thuc chức năng dư thừa.
ớc 3: Xác định ph ti thiu ca F.
To tp F' rng.
lOMoARcPSD|25865958
11
Vi mi ph thuc chức năng (X -> Y) trong F, kim tra
xem có th loi b bt k thuc tính nào trong X mà vn
gi nguyên tính cht ph thuc chức năng. Nếu có, loi
b thuộc tính đó và thêm phụ thuc chức năng mới vào
F'.
c 4: Kết qu là tp ph ti thiu F', cha các ph
thuc chức năng cần thiết để mô t tt c các ràng buc
chức năng của lược đồ quan h r(U, F).
Tập F' thu được chính là ph ti thiu của lược đồ quan
h r(U, F). Nó là mt tp con ca F, cha ít ph thuc
chức năng nhất đ mô t cùng mt tp ràng buc chc
năng.
4. Chun hóa v 3NF
Để chuẩn hóa lược đồ quan h r(U, F) v 3NF (Third
Normal Form), ta cần tuân theo các bước sau:
ớc 1: Xác định tp ph thuc chức năng không phụ
thuộc đầy đủ (Partial Dependency).
Tìm các tp con X và Y ca U sao cho X -> Y là ph thuc
chức năng trong F và không có
lOMoARcPSD|25865958
12
tp con X' ca X mà X' -> Y cũng là phụ thuc chức năng
trong F. Đây là trường hp ph thuc chức năng không
ph thuộc đầy đủ.
ớc 2: Tách các lược đồ con (Decompose the Schema).
Vi mi ph thuc chức năng không ph thuộc đầy đủ X
-> Y, to một lược đồ quan h mi có các thuc tính
trong X và Y.
Chuyn ph thuc chức năng của các lược đồ con vào
ợc đồ mi to.
ớc 3: Xác định tp ph thuc chức năng không phụ
thuc chính quy (Transitive Dependency).
Tìm các tp con X, Y và Z ca U sao cho X -> Y là ph
thuc chức năng trong F và Y không phụ thuc trc
tiếp vào X, nhưng có Z là tập con ca U sao cho Z -> Y là
ph thuc chức năng trong F. Đây là trường hp ph
thuc chức năng không phụ thuộc chính quy. Bước 4:
Tách lược đồ con mi (Decompose the New Schema).
Vi mi ph thuc chức năng không ph thuc chính
quy X -> Y, to một lược đồ quan h mi có các thuc
tính trong X và Y. Chuyn ph thuc chức năng của các
ợc đồ con vào lược đồ mi to.
c 5: Kim tra và lp li.
Kiểm tra lược đồ quan h mới để đảm bo rng không
còn ph thuc chức năng không phụ thuộc đầy đủ hoc
không ph thuc chính quy.
lOMoARcPSD|25865958
13
Lp lại các bước trên nếu cn cho đến khi không còn
ph thuc chức năng không phụ thuộc đầy đủ và không
ph thuc chính quy na.
Sau khi hoàn thành các bước trên, lược đồ quan h r(U,
F) s đưc chun hóa v 3NF, đảm bo tính toàn vn d
liu và loi b các ph thuc chức năng không cn thiết.
Câu 3:
1. Cú pháp ca ngôn ng định nghĩa dữ liu gm
nhng gì?; Nêu b lnh tng quát của SQL được áp
dụng trên cơ sở d liu (Database), cho ví d minh
ha.
Cú pháp: Create object_Name
Alter object_Name
Drop object_Name create database:
tạo cơ sở d liu create database
HoSoSinhViencreate drop database: xóa
cơ sở d liu drop database
HoSoSinhVien
alter database: sa các thông tin của cơ sở
d liu alter database HoSoSinhVien
lOMoARcPSD|25865958
14
2. Nêu b lnh tng quát của SQL được áp dng trên
bng (Table), cho ví d minh ha.
create table: to bng create table
SinhVien (MaSV
int,TenSV nchar(50)) drop
table: xóa bng drop table
SinhVien
alter table..add: thêm ct Thêm ct bng
cách dùng lnh alter table alter table
SinhVienadd QueQuan int alter table..drop
column: xóa ct alter table SinhVien drop
column
QueQuan
alter table..alter column: thêm thuc tính not
null
lOMoARcPSD|25865958
15
alter table SinhVienalter column
TenSV nchar(50) not null alter table..add
primary key: thêm
khóa chính
3. Phân tích ưu nhược điểm ca ngôn ng truy
vn d liu SQL server Ưu điểm:
D liu có mọi nơi: Dữ liu xut hin mọi nơi
trên màn hình t laptop đến điện thoi ca bn.
Vic hc tp và tìm hiu SQL s giúp bn biết đưc
cách thc hot đng ca nhng d liu này.
Thêm, sửa, đọc và xóa d liu d dàng: vi SQL, các
thao tác x lý d liu tr nên d dàng hơn bao giờ
hết. Bn ch cn thc hin mt s thao tác vi d
liệu đơn giản trên SQL thay vì phi dùng nhiu câu
lnh phc tp trên các loi ngôn ng khác.
SQL giúp công vic lp trình d dàng hơn: bạn có
th lưu nhiu d liu cho nhiu ng dng khác
nhau trên cũng một cơ sở d liu và vic truy cp
các cơ sở d liu này tr lên đơn giản hơn nhờ mt
cách thc ging nhau.
Đưc s dng và h tr bi nhiu công ty ln: tt
c các công ty ln v công ngh trên thế gii hin
nay như Microsoft, IBM, Oracle… đều h tr vic
phát trin ngôn ng SQL.
lOMoARcPSD|25865958
16
Lch s hơn 40 năm: với lch s phát triển hơn 40
năm từ 1970, SQL vn tn ti và tr vững đến ngày
nay. Điều này cho thy v trí ca SQL hin ti rt khó
b thay thế bi bt k mt ngôn ng máy tính nào
khác.
Nhược điểm:
Giao din khó dùng: SQL có giao din phc tp
khiến mt s người dùng khó truy cp.
Không được toàn quyn kim soát: Các lp trình
viên s dng SQL không có toàn quyn kiểm soát cơ
s d liu.
Thc thi: Hu hết các chương trình cơ sở d liu
SQL đều có phn m rộng độc quyn riêng.
Giá c: Chi phí vn hành ca mt s phiên bn SQL
khá cao khiến mt s lp trình viên gặp khó khăn
khi tiếp cn.
4. Cú pháp cơ bản ca lnh truy vn trong SQL sever là
gì? Có nhng la chn nào cho mệnh đ Select?
SELECT [tính cht] <danh sách column>
FROM <danh sách Table/Query> La chn:
SELECT *
Để ly tt c d liu mt hoc nhiu Table ta s
dng SELECT * vi cú pháp :
SELECT * FROM <tên table1>, < tên table2>,…
lOMoARcPSD|25865958
17
SELECT * FROM dbo.BOMON
SELECT DISTINCT
Trong table, ngoài khóa chính, các column khác đu
có th cha giá tr trùng lặp, để ly ra nhng d
liu hoàn toàn riêng bit.
Để đảm bảo điều này ta dùng t khóa
DISTINCT
SELECT DISTINCT <tên column>
FROM <tên table>
SELECT TOP
Vi nhng table có s ợng record lên đến hàng
nghìn, trăm nghìn, thì việc truy xut mt s ng
ln d liệu như vậy có th gây ảnh hưởng đến hiu
sut. Vic s dng mệnh đề SELECT TOP giúp tr v
một lượng record theo yêu cu, hữu ích hơn cho hệ
thng.
Truy xut n tp tin theo column
SELECT TOP <n> <Tên column> FROM <tên
table>
| 1/17

Preview text:

lOMoARcPSD| 25865958 1
MÔN: CƠ SỞ DỮ LIỆU Câu 1:
1. Anh (chị) hãy trình bày hiểu về của mình về kiến
trúc của một hệ cơ sở dữ liệu?
(Vẽ kiến trúc, trình bày mức ngoài, logic, vật lý)
Kiến trúc của một hệ cơ sở dữ liệu (Database System)
đóng vai trò quan trọng trong việc tổ chức và quản lý dữ
liệu trong một hệ thống. Nó bao gồm các mức khác
nhau, bao gồm mức ngoài, mức logic và mức vật lý. 1.
Mức Ngoài (External Level):
• Mức ngoài là mức giao tiếp với người dùng cuối,
bao gồm các khía cạnh của hệ thống dữ liệu mà
người dùng thấy và tương tác trực tiếp.
• Tại mức này, người dùng có thể thực hiện các hoạt
động như truy vấn dữ liệu, cập nhật, thêm, xóa dữ
liệu và thực hiện các thao tác khác liên quan đến dữ liệu.
• Mức ngoài cung cấp một giao diện dễ sử dụng cho
người dùng và ẩn đi chi tiết về cấu trúc và lưu trữ của dữ liệu. 2.
Mức Logic (Conceptual Level):
• Mức logic là mức trung gian giữa mức ngoài và mức vật lý.
• Tại mức này, ta mô tả cấu trúc tổ chức dữ liệu trong
cơ sở dữ liệu một cách trừu tượng và độc lập với
các chi tiết về lưu trữ vật lý. lOMoARcPSD| 25865958 2
• Mức logic bao gồm các khái niệm như các thực thể (entities), mối quan hệ
(relationships), ràng buộc (constraints) và các luật
kết nối (integrity rules).
• Mức logic định nghĩa một mô hình dữ liệu ảo
(conceptual schema) cho toàn bộ hệ thống cơ sở dữ liệu. 3.
Mức Vật lý (Physical Level):
• Mức vật lý là mức thấp nhất trong kiến trúc của hệ cơ sở dữ liệu.
• Tại mức này, ta quản lý chi tiết về cách dữ liệu được
lưu trữ và truy xuất trên các thiết bị lưu trữ vật lý như ổ cứng.
• Mức vật lý xác định cách dữ liệu được phân tán, bố
trí và cấu trúc bên trong các file và các cấu trúc dữ
liệu khác nhau như bảng, chỉ mục và các phương
pháp truy xuất dữ liệu.
Dưới đây là biểu đồ mô tả kiến trúc của một hệ cơ sở dữ liệu: lOMoARcPSD| 25865958 3
Trên biểu đồ, mức ngoài tương tác trực tiếp với
người dùng cuối và cung cấp giao diện cho việc
truy xuất dữ liệu. Mức logic là mức trung gian,
nơi mô hình dữ liệu được xác định và các quy
tắc và ràng buộc dữ liệu được định nghĩa. Mức
vật lý là mức thấp nhất, quản lý chi tiết về lưu
trữ và truy xuất dữ liệu trên các thiết bị vật lý.
2. Ưu nhược điểm của mô hình dữ liệu quan hệ
Mô hình dữ liệu quan hệ là một mô hình dữ liệu phổ
biến và được sử dụng rộng rãi trong các hệ cơ sở dữ
liệu. Dưới đây là ưu nhược điểm của mô hình dữ liệu quan hệ: Ưu điểm: lOMoARcPSD| 25865958 4
1. Tính mô phỏng thực tế: Mô hình dữ liệu quan hệ có
khả năng mô phỏng một cách chính xác các mối
quan hệ và liên kết giữa các đối tượng trong thế
giới thực, giúp người thiết kế dễ dàng hiểu và biểu diễn dữ liệu.
2. Đơn giản và dễ hiểu: Mô hình dữ liệu quan hệ sử
dụng các bảng và quan hệ giữa chúng để biểu diễn
dữ liệu. Cú pháp và cấu trúc của mô hình dễ hiểu và
đơn giản, giúp người thiết kế và người sử dụng dễ
dàng làm việc với dữ liệu.
3. Khả năng mở rộng: Mô hình dữ liệu quan hệ có khả
năng mở rộng để thêm mới các bảng và quan hệ
mới vào cơ sở dữ liệu mà không làm ảnh hưởng
đến các bảng và quan hệ đã tồn tại. Điều này giúp
mô hình dữ liệu quan hệ linh hoạt trong việc thay
đổi và mở rộng hệ thống.
4. Hiệu suất cao: Mô hình dữ liệu quan hệ đã được tối
ưu hóa và có các thuật toán hiệu quả để thực hiện
các thao tác truy vấn dữ liệu. Việc sử dụng chỉ mục
và các kỹ thuật tối ưu truy vấn giúp cải thiện hiệu
suất truy xuất dữ liệu. Nhược điểm:
1. Khả năng mở rộng: Mặc dù mô hình dữ liệu quan hệ
có khả năng mở rộng, nhưng khi dự án phức tạp
hơn và quy mô lớn hơn, việc thiết kế và quản lý
quan hệ giữa các bảng có thể trở nên phức tạp và khó khăn. lOMoARcPSD| 25865958 5
2. Đồng nhất dữ liệu: Mô hình dữ liệu quan hệ yêu cầu
dữ liệu trong cùng một bảng phải tuân thủ cùng
một quy tắc và có độ chính xác cao. Điều này đôi khi
khó đạt được và có thể dẫn đến sự không đồng
nhất và không nhất quán trong dữ liệu.
3. Hiệu năng và tốc độ: Mô hình dữ liệu quan hệ có
thể gặp khó khăn trong việc xử lý các truy vấn phức
tạp hoặc trong các tình huống có tải công việc cao.
Trong một số trường hợp, việc truy xuất và truy vấn
dữ liệu có thể gây ra hiệu năng chậm.
4. Khả năng mô phỏng dữ liệu không cấu trúc: Mô
hình dữ liệu quan hệ không được thiết kế để quản
lý dữ liệu không cấu trúc hoặc dữ liệu có cấu trúc
không rõ ràng. Điều này có thể làm giới hạn mô
hình trong việc làm việc với các dạng dữ liệu đa
dạng như văn bản không cấu trúc,
hình ảnh, video, và dữ liệu không có cấu trúc khác.
Tóm lại, mô hình dữ liệu quan hệ có nhiều ưu điểm,
nhưng cũng có nhược điểm. Việc áp dụng mô hình dữ
liệu quan hệ phụ thuộc vào yêu cầu và điều kiện cụ thể
của dự án để đảm bảo hiệu quả và sự phù hợp.
3. Chuẩn hóa lược đồ quan hệ, các dạng chuẩn
Chuẩn hóa lược đồ quan hệ là quá trình thiết kế và cải
tiến cấu trúc của lược đồ quan hệ trong mô hình dữ liệu
quan hệ. Mục tiêu của chuẩn hóa là loại bỏ các phụ lOMoARcPSD| 25865958 6
thuộc không mong muốn, giảm thiểu dư thừa dữ liệu và
tăng tính nhất quán và hiệu suất của hệ thống.
Dưới đây là các dạng chuẩn quan trọng trong chuẩn hóa lược đồ quan hệ: 1.
Chuẩn 1NF (First Normal Form):
• Đảm bảo mỗi thuộc tính chỉ chứa giá trị nguyên tử,
không chứa các giá trị lặp lại hoặc đa giá trị.
• Tách các thuộc tính phức tạp thành các thuộc tính
đơn giản để đảm bảo tính nguyên tử.
2. Chuẩn 2NF (Second Normal Form): Đạt được 1NF.
• Xác định các khóa chính và phụ thuộc hàm.
• Đảm bảo các thuộc tính không khóa phụ thuộc vào
một phần của khóa chính.
3. Chuẩn 3NF (Third Normal Form): Đạt được 2NF.
• Loại bỏ phụ thuộc hàm phi chính nguyên tố.
• Đảm bảo các thuộc tính không khóa không phụ thuộc lẫn nhau.
4. Chuẩn BCNF (Boyce-Codd Normal Form): • Đạt được 3NF.
• Loại bỏ các phụ thuộc hàm phi chính nguyên tố.
• Đảm bảo rằng mọi phụ thuộc hàm phi chính nguyên
tố phụ thuộc vào khóa chính.
5. Chuẩn 4NF (Fourth Normal Form): Đạt được BCNF. lOMoARcPSD| 25865958 7
• Loại bỏ các phụ thuộc đa giá trị.
• Đảm bảo tính độc lập giữa các phụ thuộc đa giá trị.
6. Chuẩn 5NF (Fifth Normal Form): Đạt được 4NF.
Loại bỏ các phụ thuộc đa giá trị phi phụ thuộc.
Ngoài ra, còn có các dạng chuẩn cao hơn như chuẩn
6NF, chuẩn Domain/Key Normal Form (DK/NF) và chuẩn 6.5NF.
Mỗi dạng chuẩn đều có mục tiêu và quy tắc riêng để
đảm bảo tính chất của dữ liệu trong lược đồ quan hệ.
Quá trình chuẩn hóa lược đồ quan hệ yêu cầu sự phân
tích cẩn thận và hiểu rõ về mối quan hệ giữa các thuộc
tính và các phụ thuộc trong cơ sở dữ liệu để đạt được
thiết kế hiệu quả và linh hoạt.
Câu 2: Cho lược đồ quan hệ r(U,F) 1. Tính bao đóng của thuộc tính
Để tính bao đóng của thuộc tính trong lược đồ quan hệ
r(U, F), ta sử dụng thuật toán bao đóng. Thuật toán này
cho phép tìm ra tập hợp các thuộc tính phụ thuộc hoàn
toàn vào một tập hợp thuộc tính khác.
Dưới đây là một bước đơn giản để tính bao đóng của
thuộc tính A trong lược đồ quan hệ r(U, F):
Bước 1: Khởi tạo bao đóng của thuộc tính A là A+ = A (bao gồm A ban đầu). lOMoARcPSD| 25865958 8
Bước 2: Lặp lại các bước sau cho đến khi không có sự
thay đổi nào trong bao đóng: a. lOMoARcPSD| 25865958 9
Đối với mỗi phụ thuộc chức năng X -> Y trong tập hợp F:
Nếu X thuộc A+ (tức là X là một tập con của A+), thêm Y
vào A+. b. Nếu A+ không thay đổi sau một vòng lặp, kết thúc thuật toán.
Kết quả cuối cùng là bao đóng của thuộc tính
A trong lược đồ quan hệ r(U, F), ký hiệu là A+.
Tính bao đóng của thuộc tính trong lược đồ quan hệ là
quan trọng để xác định các phụ thuộc chức năng và
quyết định về việc chuẩn hóa lược đồ.
2. Tìm khóa của lược đồ quan hệ Để tìm khóa của
lược đồ quan hệ r(U, F), ta có thể sử dụng thuật toán
thu gọn bao đóng (Closure Reduction Algorithm).
Dưới đây là các bước để tìm khóa của lược đồ:
Bước 1: Khởi tạo tập khóa K rỗng.
Bước 2: Với mỗi thuộc tính A trong U, thực hiện bước 3.
Bước 3: Xác định bao đóng F+ của F (bao gồm tất cả các
thuộc tính được suy ra từ F) và kiểm tra xem A có thuộc
F+ hay không. Nếu A thuộc F+, chứng tỏ A là một thuộc
tính trung gian hoặc phụ thuộc chức năng. Ta loại bỏ A
khỏi U và quay lại bước 2.
Nếu A không thuộc F+, chứng tỏ A là một thuộc tính cần
thiết để xác định khóa. Ta thêm A vào tập khóa K và
quay lại bước 2. Bước 4: Kết quả là tập khóa K, chứa tất Downloaded by 48
Nguy?n Th? Anh Th? (nguyenthianhtho2110@gmail.com) lOMoARcPSD| 25865958 10
cả các thuộc tính cần thiết để xác định mọi phụ thuộc chức năng trong F.
Tập K thu được chính là khóa của lược đồ quan hệ r(U,
F). Nếu có nhiều khóa, ta có thể thu được nhiều tập K khác nhau.
3. Tìm phủ tối thiểu
Để tìm phủ tối thiểu (Minimal Cover) của lược đồ quan
hệ r(U, F), ta có thể sử dụng thuật toán phân rã
(Decomposition Algorithm). Dưới đây là các bước để tìm phủ tối thiểu:
Bước 1: Bắt đầu với tập phụ thuộc chức năng F ban đầu.
Bước 2: Loại bỏ các phụ thuộc chức năng không cần thiết từ F.
Loại bỏ các phụ thuộc chức năng trùng lặp:
Kiểm tra xem có các phụ thuộc chức năng (X -> Y) và (X -
> Z) trong F sao cho Y và Z là tập con của nhau. Nếu có,
loại bỏ phụ thuộc chức năng dư thừa.
Loại bỏ phụ thuộc chức năng không cần thiết: Kiểm tra
xem có phụ thuộc chức năng (X -> Y) trong F sao cho Y
có thể suy ra từ các phụ thuộc chức năng khác trong F.
Nếu có, loại bỏ phụ thuộc chức năng dư thừa.
Bước 3: Xác định phủ tối thiểu của F. Tạo tập F' rỗng. lOMoARcPSD| 25865958 11
Với mỗi phụ thuộc chức năng (X -> Y) trong F, kiểm tra
xem có thể loại bỏ bất kỳ thuộc tính nào trong X mà vẫn
giữ nguyên tính chất phụ thuộc chức năng. Nếu có, loại
bỏ thuộc tính đó và thêm phụ thuộc chức năng mới vào F'.
Bước 4: Kết quả là tập phủ tối thiểu F', chứa các phụ
thuộc chức năng cần thiết để mô tả tất cả các ràng buộc
chức năng của lược đồ quan hệ r(U, F).
Tập F' thu được chính là phủ tối thiểu của lược đồ quan
hệ r(U, F). Nó là một tập con của F, chứa ít phụ thuộc
chức năng nhất để mô tả cùng một tập ràng buộc chức năng.
4. Chuẩn hóa về 3NF
Để chuẩn hóa lược đồ quan hệ r(U, F) về 3NF (Third
Normal Form), ta cần tuân theo các bước sau:
Bước 1: Xác định tập phụ thuộc chức năng không phụ
thuộc đầy đủ (Partial Dependency).
Tìm các tập con X và Y của U sao cho X -> Y là phụ thuộc
chức năng trong F và không có lOMoARcPSD| 25865958 12
tập con X' của X mà X' -> Y cũng là phụ thuộc chức năng
trong F. Đây là trường hợp phụ thuộc chức năng không phụ thuộc đầy đủ.
Bước 2: Tách các lược đồ con (Decompose the Schema).
Với mỗi phụ thuộc chức năng không phụ thuộc đầy đủ X
-> Y, tạo một lược đồ quan hệ mới có các thuộc tính trong X và Y.
Chuyển phụ thuộc chức năng của các lược đồ con vào lược đồ mới tạo.
Bước 3: Xác định tập phụ thuộc chức năng không phụ
thuộc chính quy (Transitive Dependency).
Tìm các tập con X, Y và Z của U sao cho X -> Y là phụ
thuộc chức năng trong F và Y không phụ thuộc trực
tiếp vào X, nhưng có Z là tập con của U sao cho Z -> Y là
phụ thuộc chức năng trong F. Đây là trường hợp phụ
thuộc chức năng không phụ thuộc chính quy. Bước 4:
Tách lược đồ con mới (Decompose the New Schema).
Với mỗi phụ thuộc chức năng không phụ thuộc chính
quy X -> Y, tạo một lược đồ quan hệ mới có các thuộc
tính trong X và Y. Chuyển phụ thuộc chức năng của các
lược đồ con vào lược đồ mới tạo.
Bước 5: Kiểm tra và lặp lại.
Kiểm tra lược đồ quan hệ mới để đảm bảo rằng không
còn phụ thuộc chức năng không phụ thuộc đầy đủ hoặc
không phụ thuộc chính quy. lOMoARcPSD| 25865958 13
Lặp lại các bước trên nếu cần cho đến khi không còn
phụ thuộc chức năng không phụ thuộc đầy đủ và không
phụ thuộc chính quy nữa.
Sau khi hoàn thành các bước trên, lược đồ quan hệ r(U,
F) sẽ được chuẩn hóa về 3NF, đảm bảo tính toàn vẹn dữ
liệu và loại bỏ các phụ thuộc chức năng không cần thiết. Câu 3:
1. Cú pháp của ngôn ngữ định nghĩa dữ liệu gồm
những gì?; Nêu bộ lệnh tổng quát của SQL được áp
dụng trên cơ sở dữ liệu (Database), cho ví dụ minh họa. Cú pháp: Create object_Name Alter object_Name
Drop object_Name create database:
tạo cơ sở dữ liệu create database
HoSoSinhViencreate drop database: xóa
cơ sở dữ liệu drop database HoSoSinhVien
alter database: sửa các thông tin của cơ sở
dữ liệu alter database HoSoSinhVien lOMoARcPSD| 25865958 14
2. Nêu bộ lệnh tổng quát của SQL được áp dụng trên
bảng (Table), cho ví dụ minh họa.
create table: tạo bảng create table SinhVien (MaSV
int,TenSV nchar(50)) drop
table: xóa bảng drop table SinhVien
alter table..add: thêm cột Thêm cột bằng
cách dùng lệnh alter table alter table
SinhVienadd QueQuan int alter table..drop
column: xóa cột alter table SinhVien drop column QueQuan
alter table..alter column: thêm thuộc tính not null lOMoARcPSD| 25865958 15
alter table SinhVienalter column
TenSV nchar(50) not null alter table..add primary key: thêm khóa chính
3. Phân tích ưu nhược điểm của ngôn ngữ truy
vấn dữ liệu SQL server Ưu điểm:
Dữ liệu có ở mọi nơi: Dữ liệu xuất hiện ở mọi nơi
trên màn hình từ laptop đến điện thoại của bạn.
Việc học tập và tìm hiểu SQL sẽ giúp bạn biết được
cách thức hoạt động của những dữ liệu này.
Thêm, sửa, đọc và xóa dữ liệu dễ dàng: với SQL, các
thao tác xử lý dữ liệu trở nên dễ dàng hơn bao giờ
hết. Bạn chỉ cần thực hiện một số thao tác với dữ
liệu đơn giản trên SQL thay vì phải dùng nhiều câu
lệnh phức tạp trên các loại ngôn ngữ khác.
SQL giúp công việc lập trình dễ dàng hơn: bạn có
thể lưu nhiều dữ liệu cho nhiều ứng dụng khác
nhau trên cũng một cơ sở dữ liệu và việc truy cập
các cơ sở dữ liệu này trở lên đơn giản hơn nhờ một cách thức giống nhau.
Được sử dụng và hỗ trợ bởi nhiều công ty lớn: tất
cả các công ty lớn về công nghệ trên thế giới hiện
nay như Microsoft, IBM, Oracle… đều hỗ trợ việc
phát triển ngôn ngữ SQL. lOMoARcPSD| 25865958 16
Lịch sử hơn 40 năm: với lịch sử phát triển hơn 40
năm từ 1970, SQL vẫn tồn tại và trụ vững đến ngày
nay. Điều này cho thấy vị trí của SQL hiện tại rất khó
bị thay thế bởi bất kỳ một ngôn ngữ máy tính nào khác. Nhược điểm:
Giao diện khó dùng: SQL có giao diện phức tạp
khiến một số người dùng khó truy cập.
Không được toàn quyền kiểm soát: Các lập trình
viên sử dụng SQL không có toàn quyền kiểm soát cơ sở dữ liệu.
Thực thi: Hầu hết các chương trình cơ sở dữ liệu
SQL đều có phần mở rộng độc quyền riêng.
Giá cả: Chi phí vận hành của một số phiên bản SQL
khá cao khiến một số lập trình viên gặp khó khăn khi tiếp cận.
4. Cú pháp cơ bản của lệnh truy vấn trong SQL sever là
gì? Có những lựa chọn nào cho mệnh đề Select? SELECT [tính chất] FROM Lựa chọn: SELECT *
Để lấy tất cả dữ liệu ở một hoặc nhiều Table ta sử
dụng SELECT * với cú pháp :
SELECT * FROM , < tên table2>,… lOMoARcPSD| 25865958 17 SELECT * FROM dbo.BOMON SELECT DISTINCT
Trong table, ngoài khóa chính, các column khác đều
có thể chứa giá trị trùng lặp, để lấy ra những dữ
liệu hoàn toàn riêng biệt.
Để đảm bảo điều này ta dùng từ khóa DISTINCT SELECT DISTINCT FROM SELECT TOP
Với những table có số lượng record lên đến hàng
nghìn, trăm nghìn, thì việc truy xuất một số lượng
lớn dữ liệu như vậy có thể gây ảnh hưởng đến hiệu
suất. Việc sử dụng mệnh đề SELECT TOP giúp trả về
một lượng record theo yêu cầu, hữu ích hơn cho hệ thống.
Truy xuất n tập tin theo column SELECT TOP FROM table>