Giáo trình môn Cơ sở dữ liệu

MỤC LỤC

LỜI NÓI ĐẦU 1

chương 1 TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU

1.1. MỘT SỐ KHÁI NIỆM CƠ BẢN 2

1.1.1. Định nghĩa cơ sở dữ liệu 2

1.1.2. Ưu điểm của cơ sở dữ liệu 2

1.1.3. Các đối tượng sử dụng CSDL: 2

1.1.3. Những vấn đề mà CSDL cần phải giải quyết 2

1.1.5. Hệ quản trị cơ sở dữ liệu 3

1.1.6. Các ứng dụng của cơ sở dữ liệu 4

1.2. CÁC MÔ HÌNH CƠ SỞ DỮ LIỆU 5

1.3. MÔ HÌNH THỰC THỂ KẾT HỢP 5

1.3.1. Thực thể 6

1.3.2. Thuộc tính 6

1.3.3. Loại thực thể 6

1.3.4. Khóa 6

1.3.5 Mối kết hợp 8

BÀI TẬP 11

chương 2 MÔ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ

2.1. CÁC KHÁI NIỆM CƠ BẢN 16

2.1.1.Thuộc Tính(attribte): 16

2.1.2 Lược đồ quan hệ (Relation schema) 17

2.1.3.Quan hệ (Relation) 18

2.1.4 Bộ (Tuple) 18

2.1.5.Siêu khoá - Khoá chính 18

2.2. CHUYỂN TỪ MÔ HÌNH THỰC THỂ KẾT HỢP SANG MÔ HÌNH

DỮ LIỆU QUAN HỆ 20

2.3. CÁC PHÉP TOÁN ĐẠI SỐ TRÊN CÁC QUAN HỆ)

2.3.1 Phép hợp (Union) 21

2.3.2 Phép giao (Intersection) 22

pdf107 trang | Chia sẻ: lethuong715 | Lượt xem: 680 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Giáo trình môn Cơ sở dữ liệu, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
g.Lập danh sách các nhân viên có lương tháng từ 2.500.000 đến 4.000.000 
h.Tìm những nhân viên có tuổi cao nhất thuộc phòng ban có MAPB là 10 
i.Lập danh sách các nhân viên của phòng 10,30,50. kết quả in ra theo thứ tự tăng dần của mã 
phòng nếu trùng mã phòng thì sắp xếp giảm dần theo mức lương. 
k.Lập danh sách các nhân viên phòng 10,30,50, chỉ in ra những người là lãnh đạo của mỗi 
phòng ban này. 
l.lập danh sách gồm mã phòng mà người có mức lương cao nhất của phòng lớn hơn hoặc 
bằng 4.000.000 
m.Lập mã phòng ban, tên phòng ban, họ và tên của lãnh đạo phòng tương ứng. 
n.Lập danh sách những người làm việc cùng phòng với ông Nguyen Van Thanh 
o.Lập biết mã số nhân viên, họ và tên, mức lương của người lãnh đạo ông Nguyen Van Thanh. 
p.Lập danh sách nhân viên có mức lương lớn hơn hay bằng mức lương cao nhất của phòng 
ông Nguyen Van Thanh. 
Giáo Trình Cơ Sở Dữ Liệu Trang 43 
q.Cho biết mã số nhân viên, họ và tên , tổng số nhân viên, mức lương cao nhất, mức lưong 
thấp nhất, mức lương trung bình của từng phòng ban. 
r.Cho biết các nhân viên có mức lương cao nhất của các phòng ban. 
s.Cho biết số lượng nhân viên của mỗi phòng ban. 
Giáo Trình Cơ Sở Dữ Liệu Trang 44 
Chương 4 
RÀNG BUỘC TOÀN VẸN 
(Integrity Constraint) 
4.1 RÀNG BUỘC TOÀN VẸN 
4.1.1 Khái Niệm Ràng Buộc Toàn Vẹn 
Trong mỗi CSDL luôn tồn tại nhiều mối liên hệ giữa các thuộc tính, giữa 
các bộ; sự liên hệ này có thể xảy ra trong cùng một quan hệ hoặc trong các 
quan hệ của một lược đồ CSDL. Các mối liên hệ này là những điều kiện bất 
biến mà tất cả các bộ của những quan hệ có liên quan trong CSDL đều phải 
thoả mãn ở mọi thời điểm. Những điều kiện bất biến đó được gọi là ràng buộc 
toàn vẹn.. Trong thực tế ràng buộc toàn vẹn là các quy tắc quản lý được áp đặt 
trên các đối tượng của thế giới thực. Chẳng hạn mỗi sinh viên phải có một mã 
sinh viên duy nhất, hai thí sinh dự thi vào một trường phải có số báo danh khác 
nhau, một sinh viên dự thi một môn học không quá 3 lần, 
Nhiệm vụ của người phân tích thiết kế là phải phát hiện càng đầy đủ các 
ràng buộc toàn vẹn càng tốt và mô tả chúng một cách chính xác trong hồ sơ 
phân tích thiết kế - đó là một việc làm rất quan trọng. Ràng buộc toàn vẹn được 
xem như là một công cụ để diễn đạt ngữ nghĩa của CSDL. Một CSDL được 
thiết kế cồng kềnh nhưng nó thể hiện được đầy đủ ngữ nghĩa của thực tế vẫn 
có giá trị cao hơn rất nhiều so với một cách thiết kế gọn nhẹ nhưng nghèo nàn 
về ngữ nghĩa vì thiếu các ràng buộc toàn vẹn của CSDL. 
Công việc kiểm tra ràng buộc toàn vẹn thường được tiến hành vào thời 
điểm cập nhật dữ liệu ( thêm, sửa, xoá). Những ràng buộc toàn vẹn phát sinh 
phải cần được ghi nhận và xử lý một cách tường minh (thường là bởi một hàm 
chuẩn hoặc một đoạn chương trình). 
Ràng buộc toàn vẹn và kiểm tra sự vi phạm ràng buộc toàn vẹn là hai 
trong số những vấn đề quan trọng trong quá trình phân tích thiết kế cơ sở dữ 
liệu, nếu không quan tâm đúng mức đến những vấn đề trên, thì có thể dẫn đến 
Giáo Trình Cơ Sở Dữ Liệu Trang 45 
những hậu quả nghiêm trọng về tính an toàn và toàn vẹn dữ liệu , đặc biệt là 
đối với những cơ sở dữ liệu lớn. 
4.1.2 Các Yếu Tố Của Ràng Buộc Toàn Vẹn 
Mỗi ràng buộc toàn vẹn có bốn yếu tố: điều kiện, bối cảnh, bảng tầm ảnh 
hưởng và hành động phải cần thực hiện khi phát hiện có ràng buộc toàn vẹn bị 
vi phạm: 
4.1.2.1.Điều kiện 
Điều kiện của ràng buộc toàn vẹn là sự mô tả, và biểu diễn hình thức nội 
dung của nó 
Điều kiện của một ràng buộc toàn vẹn R có thể được biểu diễn bằng 
ngôn ngữ tự nhiên, ngôn ngữ đại số quan hệ, ngôn ngữ mã giả, ngôn ngữ truy 
vấn SQL, ngoài ra điều kiện của ràng buộc toàn vẹn cũng có thể được biểu 
diễn bằng phụ thuộc hàm (khái niệm phụ thuộc hàm sẽ được đề cập trong 
chương 5) 
Sau đây là một số ràng buộc toàn vẹn trên lược đồ CSDL quản lý sinh 
viên . 
Mỗi lớp học phải có một mã số duy nhất để phân biệt với các lớp học 
khác trong trường. 
Mỗi lớp học phải thuộc về một khoa của trường. 
Mỗi sinh viên có một mã số sinh viên duy nhất, không trùng với bất cứ 
sinh viên nào trong trường. 
Mỗi học viên phải đăng ký vào một lớp học trong trường. 
Mỗi học viên chỉ được thi tối đa 3 lần cho mỗi môn học. 
Tổng số học viên của một lớp phải lớn hơn hoặc bằng số lượng đếm 
được của một lớp tại một thời điểm nào đó. 
4.1.2.2.Bối cảnh 
Bối cảnh của ràng buộc toàn vẹn là những quan hệ mà ràng buộc đó có 
hiệu lực hay nói một cách khác, đó là những quan hệ cần phải được kiểm tra 
khi tiến hành cập nhật dữ liệu. Bối cảnh của một ràng buộc toàn vẹn có thể là 
một hoặc nhiều quan hệ. 
Giáo Trình Cơ Sở Dữ Liệu Trang 46 
Chẳng hạn với ràng buộc toàn vẹn R trên thì bối cảnh của nó là quan hệ 
Sinhvien 
4.1.2.3.Bảng tầm ảnh hưởng 
Trong quá trình phân tích thiết kế một CSDL, người phân tích cần lập 
bảng tầm ảnh hưởng cho một ràng buộc toàn vẹn nhằm xác định thời điểm 
cần phải tiến hành kiểm tra khi tiến hành cập nhật dữ liệu. 
Thời điểm cần phải kiểm tra ràng buộc toàn vẹn chính là thời điểm cập 
nhật dữ liệu. 
Một bảng tầm ảnh hưởng của một ràng buộc toàn vẹn có dạng sau: 
Tên RBTV Thêm(T) Sửa(S) Xoá(X) 
r1 + 
r2 - 
r3 -(*) 
rn 
Bảng này chứa toàn các ký hiệu + , – hoặc -(*). 
Chẳng hạn + tại (dòng r1, cột Thêm) thì có nghĩa là khi thêm một bộ vào 
quan hệ r1 thì RBTV bị vi phạm. 
Dấu - Tại ô (dòng r2, cột sửa) thì có nghĩa là khi sửa một bộ trên quan hệ 
r2 thì RBTV không bị vi phạm. 
, 
Quy ước: 
-Không được sửa thuộc tính khoá. 
-Nếu không bị vi phạm do không được phép sửa đổi thì ký hiệu là -(*). 
4.1.2.4.Hành động cần phải có khi phát hiện có RBTV bị vi phạm: 
khi một ràng buộc toàn vẹn bị vi phạm, cần có những hành động thích 
hợp. Thông thường có 2 giải pháp: 
Thứ nhất: Đưa ra thông báo và yêu cầu sửa chữa dữ liệu của các thuộc 
tính cho phù hợp với quy tắc đảm bảo tính nhất quán dữ liệu. Thông báo phải 
Giáo Trình Cơ Sở Dữ Liệu Trang 47 
đầy đủ và phải thân thiện với người sử dụng. Giải pháp này là phù hợp cho 
việc xử lý thời gian thực. 
Thứ hai:Từ chối thao tác cập nhật. Giải pháp này là phù hợp đối với việc 
xử lý theo lô. Việc từ chối cũng phải được lưu lại bằng những thông báo đầy 
đủ, rõ ràng vì sao thao tác bị từ chối và cần phải sữa lại những dữ liệu nào ? 
Khóa nội, khoá ngoại, giá trị NOT NULL là những ràng buộc toàn vẹn 
miền giá trị của các thuộc tính. Những ràng buộc toàn vẹn này là những ràng 
buộc toàn vẹn đơn giản trong CSDL. 
Các hệ quản trị cơ sở dữ liệu thường có các cơ chế tự động kiểm tra 
các ràng buộc toàn vẹn về miền giá trị của khoa nội, khoá ngoại, giá trị NOT 
NULL. 
Việc kiểm tra ràng buộc toàn vẹn có thể tiến hành vào những thời điểm 
sau đây. 
Thứ nhất: Kiểm tra ngay sau khi thực hiện một thao tác cặp nhật CSDL. 
Thao tác cặp nhật chỉ được xem là hợp lệ nếu như nó không vi phạm bất cứ 
một ràng buộc toàn vẹn nào , nghĩa là nó không làm mất tính toàn vẹn của 
CSDL Nếu vi phạm ràng buộc toàn vẹn , thao tác cặp nhật bị coi là không hợp 
lệ và sẽ bị hệ thống huỷ bỏ (hoặc có một xử lý thích hợp nào đó) 
Thứ hai: Kiểm tra định kỳ hay đột xuất, nghĩa là việc kiểm tra ràng buộc 
toàn vẹn được tiến hành độc lập với thao tác cặp nhật dữ liệu. Đối với những 
trường hợp vi phạm ràng buộc toàn vẹn , hệ thống có những xử lý ngầm định 
hoặc yêu cầu người sử dụng xử lý những sai sót một cách tường minh. 
4.2. PHÂN LOẠI RÀNG BUỘC TOÀN VẸN 
Trong quá trình phân tích thiết kế CSDL, người phân tích phải phát hiện 
tất cả các ràng buộc toàn vẹn tiềm ẩn trong CSDL đó. Việc phân loại các ràng 
buộc toàn vẹn là rất có ích, nó nhằm giúp cho người phân tích có được một 
định hướng để phát hiện các ràng buộc toàn vẹn, tránh bỏ sót. Các ràng buộc 
toàn vẹn có thể được chia làm hai loại chính như sau: 
Giáo Trình Cơ Sở Dữ Liệu Trang 48 
Thứ nhất: Ràng buộc toàn vẹn có phạm vi là một quan hệ bao gồm 
:Ràng buộc toàn vẹn miền giá trị, ràng buộc toàn vẹn liên thuộc tính, ràng buộc 
toàn vẹn liên bộ. 
Thứ hai: Ràng buộc toàn vẹn có phạm vi là nhiều quan hệ bao gồm 
:Ràng buộc toàn vẹn phụ thuộc tồn tại, ràng buộc toàn vẹn liên bộ - liên quan 
hệ, ràng buộc toàn vẹn liên thuộc tính - liên quan hệ. 
Để minh hoạ cho phần lý thuyết của chương này, chúng ta xét ví dụ sau 
đây: 
Ví dụ 4.1 
Cho một CSDL C dùng để quản lý việc đặt hàng và giao hàng của một 
công ty. Lược đồ CSDL C gồm các lược đồ quan hệ như sau: 
Q1: Khach (MAKH, TENKH, DIACHIKH, DIENTHOAI) 
Tân từ: 
Mỗi khách hàng có một mã khách hàng (MAKH) duy nhất, mỗi MAKH 
xác định tên khách hàng (TENKH), địa chỉ (DIACHIKH), số điện thoại 
(DIENTHOAI). 
Q2: Hang(MAHANG,TENHANG,QUYCACH, DVTINH) 
Tân từ: 
Mỗi mặt hàng có một mã hàng (MAHANG) duy nhất, mỗi MAHANG xác 
định tên hàng (TENHANG), quy cách hàng (QUYCACH), đơn vị tính (DVTINH). 
Q3: Dathang(SODH,MAHANG, SLDAT, NGAYDH, MAKH) 
Tân từ: 
Mỗi mã số đặt hàng (SODH) xác định một ngày đặt hàng (NGAYDH) và 
mã khách hàng tương ứng (MAKH). Biết mã số đặt hàng và mã mặt hàng thì 
biết được số lượng đặt hàng(SLDAT). Mõi khách hàng trong một ngày có thể 
có nhiều lần đặt hàng 
Q4: Hoadon(SOHD, NGAYLAP, SODH, TRIGIAHD, NGAYXUAT) 
Tân từ: 
Mỗi hoá đơn tổng hợp có một mã số duy nhất là SOHD, mỗi hoá đơn 
bán hàng có thể gồm nhiều mặt hàng. Mỗi hoá đơn xác định ngày lập hoá đơn 
Giáo Trình Cơ Sở Dữ Liệu Trang 49 
(NGAYLAP), ứng với số đặt hàng nào (SODH). Giả sử rằng hoá đơn bán hàng 
theo yêu cầu của chỉ một đơn đặt hàng có mã số là SỌDH và ngược lại , mỗi 
đơn đặt hàng chỉ được giải quyết chỉ trong một hoá đơn. Do điều kiện khách 
quan có thể công ty không giao đầy đủ các mặt hàng cũng như số lượng từng 
mặt hàng như yêu cầu trong đơn đặt hàng nhưng không bao giờ giao vượt 
ngoài yêu cầu. Mỗi hóa đơn xác định một trị giá của nhưng các mặt hàng trong 
hoá đơn (TRIGIAHD) và một ngày xuất kho giao hàng cho khách (NGAYXUAT) 
Q5: Chitiethd (SOHD, MAHANG, GIABAN, SLBAN) 
Tân từ: 
Mỗi SOHD, MAHANG xác định giá bán (GIABAN) và số lượng bán 
(SLBAN) của một mặt hàng trong một hoá đơn. 
Q6: Phie

File đính kèm:

  • pdfGiao trinh co so du lieu.pdf