Nghiên cứu, xây dựng cơ sở dữ liệu tích cực - Pdf 25


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGÔ THỊ THANH HOÀ

NGHIÊN CỨU, XÂY DỰNG
CƠ SỞ DỮ LIỆU TÍCH CỰC
LUẬN VĂN THẠC SĨ

Hà Nội, 2011

ĐẠI HỌC QUỐC GIA HÀ NỘI

kiến thức cũng như tài liệu để em có thể hoàn thành luận văn này.
Em xin gửi lời cảm ơn đến Ban Giám hiệu, các phòng ban, Khoa sau Đại
học Trường Đại học Công nghệ đã tạo điều kiện cho em trong suốt khoá học.
Em cũng xin bày tỏ lòng biết ơn sâu sắc đến các thầy giáo, cô giáo
Trường Đại học Công nghệ – Đại học Quốc Gia Hà Nội , các thầy, cô giáo đã
tham gia giảng dạy, hướng dẫn, chỉ bảo cho em trong suốt hai năm học qua.
Và em xin gửi lời cảm ơn đến bạn bè, gia đình và các đồng nghiệp đã có
những động viên, khuyến khích và hỗ trợ cần thiết để em hoàn thành luận văn
này.
Hà nội, ngày 10 tháng 5 năm 2011

Ngô Thị Thanh Hoà
L 1

MỤC LỤC
LỜI CẢM ƠN 0
MỤC LỤC 1
BẢNG KÝ HIỆU CÁC CHỮ VIẾT TẮT 4
MỞ ĐẦU 5
Chương I 7
TỔNG QUAN VỀ CSDL QUAN HỆ VÀ CÁC RÀNG BUỘC TOÀN VẸN 7
1.1. TỔNG QUAN VỀ CSDL QUAN HỆ 7
1.1.1. Các khái niệm CSDL quan hệ 7
1.1.2. Chuẩn hóa 10

Chƣơng III 58
CÀI ĐẶT CÁC QUY TẮC ECA BẰNG NGÔN NGỮ SQL 58
3.1. GIỚI THIỆU TRIGGER TRONG SQL-SERVER 58
3.2. CSDL TRONG QUẢN LÝ BÁN HÀNG 58
3.2.1. Danh mục Cart: 59
2.2.2. Danh mục CartStatus: 59
2.2.3. Danh mục News: 59
2.2.4. Danh mục Parent Product: 60
2.2.5. Danh mục Product: 60
2.2.6. Danh mục ProductCart: 60
2.2.7. Danh mục Role: 61
2.2.8. Danh mục user: 61
3.3. QUY TẮC TẠO TRIGGER 61
3.4. CÁC TRIGGER TRONG CSDL 62
3.4.1. Trigger ngăn chặn việc xóa database trên Server. 62 3

3.4.2. Trigger ngăn chặn insert vào bảng Product. 63
3.4.3. Trigger ngăn chặn update (cập nhật) bảng Product. 65
3.4.4. Trigger ngăn chặn xóa dữ liệu trong bảng 66
3.4.5. Trigger ngăn chặn tạo mới record trong bảng. 67
3.4.6. Tạo mới trong bảng ( không vi phạm trigger của trigger 05) 68
3.4.7. Trigger ngăn chặn xóa bảng trong database. 70
3.4.8. Ngăn chặn xóa trigger trong CSDL 70
3.4.9. Không cho phép tạo mới bảng trong CSDL. 71
3.4.10. Không cho phép tạo mới trigger trong CSDL. 72
KẾT LUẬN 74
TÀI LIỆU THAM KHẢO 75

6
WFF
Well-formal formular
Một công thức xây dựng tốt
5

MỞ ĐẦU
Theo truyền thống, các hệ thống cơ sở dữ liệu đƣợc xem nhƣ là các kho để
lƣu trữ thông tin cần thiết của một ứng dụng và chúng đƣợc truy cập hoặc bởi
những ngƣời sử dụng chƣơng trình hoặc các giao diện tƣơng tác. Tuy nhiên, các
hệ thống cơ sở dữ liệu đang đƣợc sử dụng cho một phạm vi các lĩnh vực liên
quan đến việc xử lý các thông tin phức tạp, thậm chí số lƣợng lớn dữ liệu, hoặc
đòi hòi sự thực hiện chính xác cao, trong đó môi trƣờng nhiều thành phần theo
quy ƣớc chứng tỏ không đƣợc thỏa mãn. Điều này dẫn đến xu hƣớng chung
trong việc nghiên cứu cơ sở dữ liệu hƣớng chức năng đƣợc yêu cầu bởi một ứng
dụng đƣợc hỗ trợ trong cơ sở dữ liệu, sinh ra các hệ thống cơ sở dữ liệu với
nhiều khả năng tinh xảo để mô phỏng cả khía cạnh cấu trúc và hoạt động của
một ứng dụng. Trong số những lĩnh vực nhận đƣợc sự chú ý trong những năm
gần đây với cái nhìn làm nổi bật sự hoạt động dễ dàng là lập trình cơ sở dữ liệu,
các cơ sở dữ liệu tạm thời, các cơ sở dữ liệu không gian, các cơ sở dữ liệu đa
phƣơng tiện (truyền thông), các cơ sở dữ liệu suy diễn và các cơ sở dữ liệu tích
cực. Trong luận văn này, tôi tập trung vào vấn đề cơ sở dữ liệu tích cực.
Hệ thống cơ sở dữ liệu tích cực (ADBS) hỗ trợ các cơ chế cho phép chúng
tự động phản ứng tới các sự kiện đang diễn ra bên trong hoặc bên ngoài chính hệ
thống cơ sở dữ liệu đó. Trong những năm gần đây, nỗ lực đáng kể đƣợc hƣớng
tới việc nâng cao hiểu biết các hệ thống đó, và có nhiều ứng dụng đƣợc đề xuất.
Sự tích cực ở mức độ cao này không mang lại sự phù hợp với phƣơng pháp tiếp


7

Chương I
TỔNG QUAN VỀ CSDL QUAN HỆ VÀ CÁC RÀNG BUỘC TOÀN VẸN
1.1. TỔNG QUAN VỀ CSDL QUAN HỆ
Có nhiều lý do để chọn mô hình dữ liệu quan hệ nhƣ: Cơ sở toán học của
mô hình quan hệ là một ứng viên tốt cho xử lý lý thuyết.
Mô hình quan hệ có thể đƣợc đặc trƣng bởi ít nhất 3 tính chất mạnh mẽ:
a. Cấu trúc dữ liệu của nó là đơn giản. Chúng là các quan hệ, các bảng hai
chiều mà các phần tử của chúng là các mục dữ liệu. Điều này cho phép
một mức độ độc lập cao đối với biểu diễn dữ liệu vật lý (tức là các tệp và
các chỉ mục)
b. Mô hình quan hệ cung cấp một cơ sở chắc chắn cho việc tƣơng thích dữ
liệu. Việc thiết kế CSDL đƣợc giúp đỡ bằng quá trình chuẩn hóa loại bỏ
các bất thƣờng của dữ liệu. Các trạng thái tƣơng thích của CSDL cũng có
thể đƣợc định nghĩa một cách đồng nhất và đƣợc duy trì thông qua các
quy tắc toàn vẹn.
c. Mô hình CSDL cho phép thao tác quan hệ hƣớng tập hợp. Tính chất này
đã dẫn đến sự phát triển mạnh mẽ của các ngôn ngữ phi thủ tục hoặc dựa
trên lý thuyết tập hợp (đại số quan hệ) hoặc dựa trên logic (tính toán quan
hệ).
1.1.1. Các khái niệm CSDL quan hệ
Một CSDL là một tập hợp dữ liệu có cấu trúc liên quan đến một vài hiện
tƣợng của cuộc sống thực mà ta muốn mô hình hóa. Một CSDL quan hệ là
CSDL mà ở đó cấu trúc dữ liệu ở dạng bảng. Một cách hình thức, một quan hệ
đƣợc định nghĩa trên n tập hợp D
1
, D
2


án (RESP) và khoảng thời gian làm việc (DUR). Một cách tƣơng tự, với mỗi dự
án chúng ta lƣu trữ mã số dự án (PNO), tên dự án (PNAME) và ngân sách của
dự án (BUDGET).
Các lƣợc đồ quan hệ cho cơ sở dữ liệu này có thể đƣợc định nghĩa nhƣ sau:
EMP(ENO, ENAME, TITLE, SAL, PNO, DUR)
PROJ(PNO, PNAME, BUGGET)
Trong lƣợc đồ quan hệ EMP có bảy thuộc tính ENO, ENAME, TITLE,
SAL, PNO, DUR. Các giá trị của ENO lấy từ miền của tất cả các mã số nhân
viên hợp lệ, gọi là D
1
. Các giá trị ENAME lấy từ miền giá tất cả các tên hợp lệ
D
2
, … Để ý rằng thuộc tính của mỗi quan hệ không đƣợc lấy giá trị từ miền
khác. Các thuộc tính khác nhau trong cùng một quan hệ trong một số quan hệ có
thể đƣợc định nghĩa trên cùng một miền.
Khóa (key) của một quan hệ là một tập con không rỗng bé nhất của các
thuộc tính của nó sao cho giá trị tạo nên khóa xác định một cách duy nhất mỗi
bộ của một quan hệ. Các thuộc tính tạo nên khóa đƣợc gọi là các thuộc tính chủ
yếu. Các tập hợp lớn hơn của một khóa thƣờng đƣợc gọi là siêu khóa. Nhƣ vậy,
trong ví dụ trên, khóa của PROJ là PNO, khóa của EMP là (ENO, PNO). Mỗi
quan hệ có ít nhất là một khóa. Đôi khi một quan hệ có nhiều khả năng cho
khóa. Trong trƣờng hợp nhƣ vậy, mỗi khả năng đƣợc xem là một khóa dự tuyển
và một trong các khóa dự tuyển đƣợc lựa chọn làm khóa chính. Số các thuộc
tính của quan hệ xác định cấp của nó, số các bộ giá trị của quan hệ xác định lực
lƣợng của nó.
Trong dạng bảng, CSDL ví dụ bao gồm hai bảng nhƣ đƣợc chỉ ra ở trong
hình 1.1. Các cột của bảng tƣơng ứng với các thuộc tính của quan hệ. Nếu có
các thông tin đƣợc nhập vào các bảng thì chúng tƣơng ứng với các bộ giá trị.

EMP Hình 1.2 Ví dụ về cơ sở dữ liệu
Một giá trị của thuộc tính có thể không đƣợc xác định. Việc thiếu tính xác
định có thể có các giải thích khác nhau, hay dùng nhất là không biết hoặc không
áp dụng đƣợc. Giá trị này thƣờng đƣợc gọi là giá trị null. Cần phân biệt giá trị
null với giá trị 0 (zero). Giá trị 0 là giá trị đƣợc biết, giá trị null là giá trị không
PNO
PNAME
BUDGET
P1
Instrucmentation
150000
P2
Database Develop
135000
P3
CAD/CAM
250000
P4

6
E3
A.Lee
Mech.Eng.
27000
P3
Consultal
10
E3
A.Lee
Mech.Eng
27000
P4
Engineer
48
E4
J.Miller
Programmer
24000
P2
Programmer
Null
E5
B.Casey
Syst. Anal.
34000
P2
Manager
24
E6

chính quy hơn”. Mục đích của chuẩn hóa là loại bỏ nhiều bất thƣờng của một
quan hệ để nhận đƣợc quan hệ “tốt hơn”. Bốn vấn đề sau có thể tồn tại trong một
lƣợc đồ quan hệ:
a. Bất thƣờng lặp (repetition anormaly)
Một số thông tin có thể đƣợc lặp lại một cách không cần thiết. Ví dụ, xét
quan hệ EMP ở hình 2.2. ENAME, TITLE, SAL của một nhân viên đƣợc lặp với
mỗi dự án mà nhân viên này phục vụ trên đó. Điều này dẫn đến một sự lãng phí
bộ nhớ và trái với tinh thần của CSDL.
b. Bất thƣờng cập nhật (update anormaly)
Nhƣ là hệ quả của việc lặp dữ liệu, việc thực hiện cập nhật có thể gây rắc rối
phiền hà. Ví dụ, lƣơng của một nhân viên thay đổi, nhiều bộ giá trị phải đƣợc
cập nhật để phản ánh sự thay đổi này.
c. Bất thƣờng chèn (Insertion anormaly)
Có thể không có khả năng thêm mới vào cơ sở dữ liệu. Ví dụ, khi một nhân
viên mới vào công ty chúng ta không thể thêm thông tin cá nhân (ENAME,
TITLE, SAL) vào quan hệ EMP nếu nhân viên đó chƣa làm cho dự án nào. Đó
là vì khóa của EMP bao hàm thuộc tính PNO và giá trị null không phải là thành
phần của một khóa.
d. Bất thƣờng loại bỏ (Deletion anormaly)
Đó là sự trái ngƣợc của bất thƣờng chèn. Nếu một nhân viên chỉ làm việc
trên một dự án và dự án đó đã kết thúc thì không thể loại bỏ thông tin dự án ra
khỏi EMP. Làm nhƣ vậy dẫn đến việc loại bỏ bộ giá trị duy nhất về nhân viên,
dẫn đến việc mất thông tin cá nhân mà chúng ta muốn lƣu giữ.
Sự chuẩn hóa chuyển đổi các lƣợc đồ quan hệ thành các lƣợc đồ không có
những vấn đề này. Phƣơng pháp phổ biến nhất để chuẩn hóa một lƣợc đồ quan 11

hệ là phƣơng pháp tách (decomposition), trong đó chúng ta bắt đầu với một quan


12

Chúng ta sẽ định nghĩa phụ thuộc gồm:
a. Phụ thuộc hàm
Giả sử R là một quan hệ xác định trên tập thuộc tính A={A1, A2, …, An} và
giả sử X  A và Y  A. Nếu với mỗi giá trị của X trong R chỉ kết hợp đƣợc với
một giá trị duy nhất của Y thì ta nói rằng “X xác định hàm Y” hoặc “Y phụ
thuộc hàm vào X”. Ký hiệu là X→Y. Khóa của một quan hệ xác định hàm các
thuộc tính không khóa của cùng quan hệ.
Ví dụ 1.2
Trong quan hệ PROJ ở hình 1.2 phụ thuộc hàm có hiệu lực là
PNO → (PNAME, BUDGET) (1)
Trong quan hệ EMP chúng ta có:
(ENO, PNO) → (ENAME, TITLE, SAL, RES, DUR) (2)
Phụ thuộc hàm này không phải là phụ thuộc hàm duy nhất trong EMP. Nếu
mỗi nhân viên đƣợc cấp một mã số nhân viên duy nhất, chúng ta có thể viết
ENO → (ENAME, TITLE, SAL)
(ENO, PNO) → (RESP, DUR)
Cũng hợp lý khi nói rằng lƣơng của một chức danh cho trƣớc là cố định.
Điều đó cho sinh ra phụ thuộc hàm
TITLE → SAL
Để ý rằng một số các thuộc tính trên vế phải của phụ thuộc hàm thứ hai (2) là
phụ thuộc hàm vào một tập con của tập các thuộc tính ở vế phải của cùng phụ
thuộc hàm đó. Các thuộc tính nhƣ (ENAME, TITLE, SAL) đƣợc gọi là phụ
thuộc hàm bộ phận vào (ENO, PNO), các thuộc tính (RESP, DUR) đƣợc nói là
phụ thuộc hàm đầy đủ vào (ENO, PNO).
b. Phụ thuộc giá trị
Giả sử R là một quan hệ đƣợc định nghĩa trên tập các thuộc tính A={A1, A2,
…, An} và giả sử X → A, Y → A, Z → A. Nếu mỗi giá trị Z trong R chỉ có một


về MVDhinh
Hình 1.3 Ví dụ về MVD
ENO
PNO
PLACE
E1
P1
Toronto
E1
P1
New York
E1
P1
London
E1
P2
Toronto
E1
P2
New York
E1
P2
London
E2
P1
Toronto
E2
P1
New York

dạng chuẩn cao hơn.
1.1.2.2. Các dạng chuẩn.
Dạng chuẩn thứ nhất (1NF) tuyên bố một cách đơn giản rằng các thuộc tính
của một quan hệ chỉ chứa các giá trị nguyên tử. Nói cách khác, các quan hệ phải
phẳng, không có các nhóm lặp. Các quan hệ EMP và PROJ trong hình 1.2 thỏa
mãn điều kiện này vì vậy cả hai là ở 1NF.
Các quan hệ ở 1NF vẫn còn cho phép các bất thƣờng đƣợc đƣa ra ở trên. Để
loại bỏ một số các bất thƣờng này chúng ta phải đƣợc tách thành các quan hệ ở
các dạng chuẩn cao hơn. Chúng ta không quan tâm đặc biệt đến dạng chuẩn thứ
hai vì nó chỉ còn có tầm quan trọng lịch sử do có các thuật toán chuẩn hóa trực
tiếp một quan hệ 1NF thành dạng chuẩn thứ ba (3NF) hoặc cao hơn.
Một quan hệ là ở 3NF nếu với mỗi phụ thuộc hàm X → Y, trong đó Y là
không ở trong X, hoặc X là một siêu khóa của R, hoặc Y là một thuộc tính cơ
bản. Có các thuộc tính cung cấp một phân tách bảo toàn phụ thuộc và không mất
mát của một quan hệ 1NF thành quan hệ 3NF.
Ví dụ 1.4 15

Quan hệ PROJ trong ví dụ đang xét là ở 3NF nhƣng quan hệ EMP thì không,
do phụ thuộc hàm TITLE → SAL. Phụ thuộc hàm này vi phạm 3NF vì TITLE
không phải là siêu khóa và SAL không phải là thuộc tính cơ bản.
Vấn đề với EMP là nhƣ sau: Nếu chúng ta muốn chèn vào một sự kiện rằng
một chức danh cho trƣớc nhận một lƣơng cụ thể thì không làm đƣợc trừ phi có ít
nhất là một nhân viên có chức danh ấy (các tranh luận tƣơng tự có thể làm cho
các bất thƣờng cập nhật và xóa). Vì vậy chúng ta phải tách EMP thành hai quan
hệ:
EMP (ENO, ENAME, TITLE, PNO, RESP, DUR)
PAY (TITLE, SAL)

EP (ENO, PNO)
EL (ENO, PLACE)
Ta có thể để ý rằng trong tất cả các dạng chuẩn ở trên, sự phân tách là thành
hai quan hệ. Dạng chuẩn thứ năm (5NF) xử lý các tình huống mà ở đó các phân
tách n-đƣờng (n>2) có thể cần thiết.
Một quan hệ là ở 5NF (còn đƣợc gọi là dạng chuẩn nối-chiếu PJNF) nếu mỗi
phụ thuộc nối đƣợc định nghĩa cho quan hệ là đƣợc bao hàm bởi các khóa dự
tuyển của R. Với mỗi phụ thuộc hàm nối đƣợc bao hàm bởi một khóa dự tuyển
của quan hệ, tập con (hoặc các phép chiếu) X, Y, Z phải đƣợc làm phù hợp với
khóa dự tuyển.
Ví dụ 1.6
Với quan hệ EMP chúng ta có thể định nghĩa phụ thuộc nối
*( (ENO, ENAME), (ENO, TITLE) )
Nó đƣợc bao hàm bởi khoá dự tuyển ENO (nó cũng đã trở thành khóa chính).
Dễ dàng kiểm tra rằng các quan hệ EMP, PAY, PROJ, ASG là ở 5NF. Nhƣ vậy,
các lƣợc đồ mà chúng ta kết thúc sau phân tích là nhƣ sau:
EMP (ENO, ENAME, TITLE)
PAY (TITLE, SAL)
PROJ (PNO, PNAME, BUDGET)
ASG (ENO, PNO, RESP, DUR)
Tất cả các dạng chuẩn trình bày ở trên là không mất mát. Một kết quả quan
trọng là một quan hệ 5NF không thể tách thêm mà không bị mất thông tin
(Fagin, 1977). Chúng ta có CSDL:
17

EMP ASG
ENO Hình 1.4 Các quan hệ đã đƣợc chuẩn hóa
1.1.3. Các quy tắc toàn vẹn
Các quy tắc toàn vẹn là các ràng buộc xác định các trạng thái tƣơng thích của
cơ sở dữ liệu. Các ràng buộc toàn vẹn có thể là cấu trúc hay hành vi. Các ràng
buộc cấu trúc là vốn có đối với mô hình dữ liệu theo nghĩa là chúng bắt giữ
thông tin trên các liên kết dữ liệu không thể đƣợc mô hình hóa một cách trực
tiếp. Các ràng buộc hành vi cho phép sự bắt giữ ngữ nghĩa của các ứng dụng.
Các sự phụ thuộc đƣợc định nghĩa trong phần trƣớc là các ràng buộc hành vi.
Việc duy trì các ràng buộc toàn vẹn nói chung là đắt trong phạm vi tài nguyên
hệ thống. Một cách lý tƣởng, chúng phải đƣợc kiểm soát tại mỗi cập nhật CSDL
bởi vì các cập nhật có thể dẫn đến các trạng thái CSDL không tƣơng thích.
ENO
PNO
RESP
DUR
E1
P1
Manager
12
E2
P1
Analyst
24
E2
P2
Analyst

PNAME
BUDGET
P1
Instrucmentation
150000
P2
Database Develop
135000
P3
CAD/CAM
250000
P4
maintemance
310000
TITLE
SAL
Elect.Eng.
40000
Syst.Anal
34000
Mech.Eng
27000
Programmer
24000
PAY
PROJ 18

19

tiếp hơn với các chƣơng trình đƣợc trao đổi trên một mạng. Điều này chủ yếu là
tính toán quan hệ có thể đƣợc chuyển đổi thành đại số quan hệ. Để cho đầy đủ,
ta trình bày cả hai.
1.1.4.1. Đại số quan hệ
Đại số quan hệ bao gồm một tập hợp các phép toán thao tác trên các quan hệ.
Nó có nguồn gốc từ lý thuyết tập hợp (các quan hệ tƣơng ứng với các tập hợp).
Mỗi phép toán lấy một hoặc hai quan hệ làm toán hạng và tạo ra một quan hệ kết
quả. Kết quả đó có thể lại là toán hạng của phép toán khác. Các phép toán này
cho phép truy vấn và cập nhật cơ sở dữ liệu.
Các phép toán đại số
Có 5 phép toán đại số quan hệ và 5 phép toán khác có thể đƣợc định nghĩa
theo các phép toán này. Các phép toán cơ bản là phép chọn, phép chiếu, phép
hợp, phép trừ quan hệ và tích Đecac. Hai phép toán đầu là hai phép toán một
ngôi và ba phép toán sau là các phép toán hai ngôi. Các phép toán thêm vào có
thể đƣợc định nghĩa theo các phép toán cơ bản này là phép giao, nối θ, nối tự
nhiên, nửa nối và phép chia. Trên thực tế, đại số quan hệ đƣợc mở rộng với các
phép toán để nhóm hoặc sắp xếp các quan hệ và để thực hiện các hàm số học
hoặc hàm nhóm.
Các toán hạng của một số các phép toán hai ngôi phải tƣơng thích hợp. Hai
quan hệ R và S là tƣơng thích hợp khi và chỉ khi chúng cùng cấp và thuộc tính
thứ i của mỗi quan hệ là đƣợc định nghĩa trên cùng một miền. Dĩ nhiên, phần
thứ hai của định nghĩa là đúng khi và chỉ khi các thuộc tính của quan hệ đƣợc
xác định bằng các vị trí tƣơng quan của chúng ở bên trong quan hệ chứ không
phải bằng tên của chúng. Nếu thứ tự tƣơng quan của các thuộc tính là không
quan trọng thì cần phải thay phần thứ hai của định nghĩa bằng câu: các thuộc
tính tƣơng ứng của hai quan hệ phải đƣợc định nghĩa trên cùng một miền.

Hiệu tập hợp của hai quan hệ R và S, ký hiệu là R – S, là một tập hợp tất cả
các bộ ở trong R nhƣng không ở trong S. Trong trƣờng hợp này R và S cũng
phải tƣơng thích hợp. Phép toán này không đối xứng, nghĩa là R – S S – R.
Phép toán này cho phép loại bỏ các bộ ra khỏi một quan hệ. Cùng với phép hợp
chúng ta có thể thực hiện các thay đổi các bộ bằng cách loại bỏ sau đó bằng các
phép chèn.
Tích Đề-các
Tích Đề-các của hai quan hệ R cấp k1 và S cấp k2 là một tập hợp của các
(k1+k2)-bộ, trong đó mỗi bộ kết quả là một kết nối của một bộ của R với mỗi bộ
của S, với tất cả các bộ của R và S.
Tích Đề-các của R và S đƣợc ký hiệu là R x S. 21

Có khả năng là hai quan hệ có thể có các thuộc tính trùng tên. Trong trƣờng
hợp này các tên thuộc tính đƣợc bắt đầu bằng tên của quan hệ để duy trì tính duy
nhất của các tên thuộc tính bên trong một quan hệ.
Phép giao
Phép giao của hai quan hệ R và S, ký hiệu R S, bao gồm tập hợp tất cả các
bộ vừa ở trong R vừa ở trong S. Theo các phép toán cơ bản, nó có thể đƣợc biểu
diễn là
R S = R – (R – S).
Nối θ
Phép nối là một suy diễn của tích Đecac. Có nhiều dạng nối, tổng quát nhất là
nối θ, thƣờng đƣợc gọi là nối. Phép nối θ của hai quan hệ R và S đƣợc ký hiệu là
R
F
S
Trong đó F là một công thức chỉ vị từ nối. Vị từ nối đƣợc chỉ ra tƣơng ứng

A

B
S, trong đó A là thuộc tính nối của R, B là của S.
Phép nửa nối
Phép nửa nối của quan hệ R đƣợc xác định trên tập thuộc tính A và quan hệ
S đƣợc xác định trên tập thuộc tính B là tập con của các thuộc tính của R tham
gia vào phép nối của R và S. Nó đƣợc ký hiệu là:
R
F
S =
A
(R
F
S)
Ƣu điểm của phép nửa nối là nó giảm số các bộ cần phải thực hiện để tạo
thành phép nối. Trong các hệ CSDL tập trung, điều đó là quan trọng bởi vì nó
thƣờng dẫn đến việc sử dụng bộ nhớ tốt hơn, làm giảm các truy cập bộ nhớ phụ.
Điều đó còn quan trọng hơn trong CSDL phân tán vì nó thƣờng làm giảm số dữ
liệu cần truyền giữa các trạm để thực hiện một truy vấn. Chú ý rằng phép nửa
nối là không đối xứng, nghĩa là R
F
S S
F
R
Phép chia
Phép chia của quan hệ R cấp r với quan hệ S cấp s (r > s và s 0) là một tập
các (r-s)-bộ t sao cho với mọi bộ u trong S, bộ tu trong R. Phép chia đƣợc ký
hiệu là R S và đƣợc biểu diễn qua các phép toán cơ bản nhƣ sau:
R S =


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status