Bài giản hay
Chia sẻ bởi Vương Thị Sen |
Ngày 20/10/2018 |
21
Chia sẻ tài liệu: bài giản hay thuộc Tiếng Anh 7
Nội dung tài liệu:
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
1
TRƯỜNG ĐH NÔNG LÂM TP.HCM
KHOA QUẢN LÝ ĐẤT ĐAI & BẤT ĐỘNG SẢN
CƠ SỞ DỮ LIỆU
Bài giảng môn học
Giảng viên: ThS. Lê Ngọc Lãm
Bộ môn: Công Nghệ Địa Chính
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
2
GIỚI THIỆU MÔN HỌC
Thời lượng
Phạm vi môn học
Đối tượng nghiên cứu
Mục đích nghiên cứu
Yêu cầu môn học
Cấu trúc môn học
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
3
NỘI DUNG
1. NHẬP MÔN CSDL
2. CƠ SỞ DỮ LIỆU QUAN HỆ
3. CHUẪN HOÁ CSDL
4. THIẾT KẾ HỆ THỐNG
5. CSDL TÀI NGUYÊN ĐẤT ĐAI
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
4
CHƯƠNG 1
NHẬP MÔN CSDL
CÁC KHÁI NIỆM
MỘT SỐ VÍ DỤ
CẤU TRÚC MỘT HỆ CSDL
TÍNH ĐỘC LẬP DỮ LIỆU
MÔ HÌNH DỮ LIỆU
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
5
KHÁI NIỆM CSDL
Khái niệm về dữ liệu
Nhu cầu quản lý và truy xuất thông tin
Các hình thức tổ chức dữ liệu
Các tính chất của dữ liệu
Các dạng dữ liệu
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
6
Sinh viên
Quốc gia
Đơn vị hành chánh
Tỉnh Đồng Nai; cách Tp.HCM 30km
Tỉnh Bình Thuận; cách Tp.HCM 150km
Tỉnh Long An; Cách Tp.HCM 50km
Việt nam; dân số 80 triệu người
Lào; dân số 30 triệu người
Thái Lan; dân số 60 triệu người
Trung Quốc; 1,2 tỷ người
Nguyễn thị Mén; 20 tuổi; Quê quán: Tiền Giang
Lê Văn Lúa; 21 tuổi; quê quán: Long An
Trần thị Son; 19 tuổi; quê quán: Bình Định
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
7
CẤU TRÚC 1 HỆ CSLD
Mức vật lý
Mức khái niệm
Mức khung nhìn
NGƯỜI THIẾT KẾ
HỆ THỐNG
MÁY TÍNH
NGƯỜI SỬ DỤNG
……….
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
8
TÍNH ĐỘC LẬP DỮ LIỆU
Mức độc lập vật lý (Physical data independence) l kh? nang s?a d?i so d? v?t l khơng lm cho cc chuong trình ?ng d?ng ph?i vi?t l?i. Cc s?a d?i ? m?c v?t l l c?n thi?t d? c?i thi?n hi?u nang.
D?c l?p d? li?u lu?n l (Logical data independence) l kh? nang s?a d?i so d? lu?n l khơng lm cho cc chuong trình ?ng d?ng ph?i vi?t l?i. Cc s?a d?i ? m?c lu?n l l c?n thi?t khi c?u trc lu?n l c?a co s? d? li?u b? thay th?.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
9
MÔ HÌNH DỮ LIỆU
Mô hình mạng
Mô hình phân cấp
Mô hình thực thể kết hợp
Mô hình quan hệ
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
10
MÔ HÌNH MẠNG
(Network model)
Mục tin
Dữ liệu gôp
Bản ghi
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
11
MÔ HÌNH PHÂN CẤP
(Hierarchical model)
Cây (Tree)
Đoạn (Segment)
Trường (Field)
Cây các đoạn (Tree of segments)
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
12
MÔ HÌNH QUAN HỆ
(Relational model)
B?i c?nh ra d?i
Trước khi có RM, dữ liệu được quản lý bằng tập tin - hệ tập tin với các ngôn ngữ: COBOL, FORTRAN, PASCAL
Những hạn chế của hệ tập tin:
Có sự liên kết chặt chẽ giữa cấu trúc vật lý - luận lý và chương trình ứng dụng
Dư thừa dữ liệu quá lớn
Người SD ít có khả năng tiếp cận và khai thác dữ liệu
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
13
MÔ HÌNH QUAN HỆ
(Relationship model)
Quan hệ (Relationship)
Thuộc tính (Attribute)
Miền giá trị (Domain)
Bộ trong quan hệ (Record)
Khoá và thuộc tính khoá (Primary key)
Thuộc tính không khĩa(None primary key)
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
14
MÔ HÌNH THỰC THỂ KẾT HỢP
(Entities relationship model)
Thực thể (Entities)
Mối kết hợp (Join)
Quan hệ (Relationship)
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
15
HỆ QUẢN TRỊ CSLD
(Database Management System)
• Một cơ sở dữ liệu (CSDL/ DB: DataBase) là một tập hợp các tập tin có liên quan với nhau, được thiết kế nhằm làm giảm thiểu sự lặp lại dữ liệu.
• Một hệ quản trị cơ sở dữ liệu (HQTCSDL/ DBMS: DataBase Management System) là một hệ thống gồm một CSDL và các thao tác trên CSDL đó, được thiết kế trên một nền tảng phần cứng, phần mềm và với một kiến trúc nhất định.
• Một hệ cơ sở dữ liệu (HCSDL/ DBS: DataBase System) là một phần mềm cho phép xây dựng một HQTCSDL.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
16
Cấu trúc vật lý và luận lý
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
17
TÍNH CHẤT HỆ QUẢN TRỊ CSDL
Độc lập vật lý
Độc lập logic
Ngôn ngữ phi thủ tục
Quản trị dữ liệu
Quản lý dư thừa dữ liệu
Tương hợp dữ liệu (chuẩn hoá)
Chia sẻ dữ liệu (dùng chung)
An Toàn dữ liệu
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
18
LỊCH SỬ HỆ QUẢN TRỊ CSDL
Đầu thập niên 60 thế kỹ XX
Giữa thập niên 60
Thập niên 70
Thập niên 80
Thập nên 90 đến nay
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
19
CHỨC NĂNG HỆ QUẢN TRỊ CSDL
Mô tả dữ liệu
Tìm kiếm dữ liệu
Cập nhật dữ liệu
Chuyển hoá dữ liệu
Điều khiển tính toàn vẹn dữ liệu
Quản lý giao tác và an toàn dữ liệu
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
20
Chương 2
MÔ HÌNH DỮ LIỆU QUAN HỆ (RELATIONAL MODEL)
MỘT SỐ KHÁI NIỆM
CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ
PHỤ THUỘC HÀM
RÀNG BUỘC TOÀN VẸN
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
21
Ví dụ
Cách quản lý thông tin về sinh viên đăng ký môn học như sau:
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
22
Ví dụ (tt)
Những hạn chế trên sẽ được khắc phục nếu tổ chức dữ liệu theo mô hình sau:
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
23
MỘ SỐ KHÁI NIỆM
THUỘC TÍNH (ATTRIBUTE)
MIỀN GIÁ TRỊ CỦA THUỘC TÍNH (DOMAIN)
BỘ (TUBLE hay RECORD)
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
24
Thuộc tính: là tính chất để mô tả đối tượng hay nói cách khác 1 đối tượng được mô tả thông qua thuộc tính của nó.
Miền giá trị: Thuộc tính có thể là một chuỗi các ký tự hay là một con số hoặc ngày tháng năm. Ngoài ra có thể còn là giá trị tiền tệ hay một đơn vị đo lường nào đó. Tập hợp các giá trị này gọi là Miền giá trị của thuộc tính.
Bộ: Tập hợp các thuộc tính cùng mô tả một đối tượng gọi là Bộ. Như vậy có thể nói bộ là một đối tượng cụ thể.
MỘ SỐ KHÁI NIỆM
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
25
MỘ SỐ KHÁI NIỆM
QUAN HỆ (RELATIONSHIP)
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
26
Lược đồ quan hệ
Tập tất cả các thuộc tính cần quản lý của một đối tượng cùng với mối liên hệ giữa chúng được gọi là lược đồ quan hệ. Lược đồ quan hệ Q với tập thuộc tính {A1,A2,...,An} được viết là
Q(A1,A2,...,An). Tập các thuộc tính của Q được ký hiệu là Q+. Chẳng hạn lược đồ quan hệ sinh viên (Đặt tên là Sv) với các thuộc tính như trên là:
Sv(MASV, HOSV,TENSV,NU, NGAYSINH, MALOP, HOCBONG, TINH)
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
27
QUAN HỆ
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
28
Khóa - Khóa ngọai của Quan hệ
Siêu khóa
Khóa
Khóa ngọai
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
29
Khóa - Khóa ngọai của Quan hệ
Siêu khoá: là một tập các thuộc tính để phân biệt giữa các đối tượng với nhau trong một quan hệ.
Khoá: Trong trường hợp siêu khoá chỉ bao gồm 1 thuộc tính thì gọi là khoá. Các thuộc tính trong siêu khoá gọi là thuộc tính khoá. Thuộc tính khoá thường đóng vai trò liên kết giữa các quan hệ với nhau.
Khoá ngoại: Trong trường hợp 2 quan hệ liên kết với nhau thông qua 1 thuộc tính nếu thuộc tính này đóng vai trò là khoá chính trong một quan hệ đã xác định thì nó chính là khoá ngoại của quan hệ còn lại.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
30
Ví dụ 1
Đường giao thông của huyện Hóc Môn được phân thành 4 cấp: Đường quốc lộ, đường tỉnh lộ, đường liên xã và đường hẽm. Đường quốc lộ có lộ giới 60m; đường tỉnh lộ có lộ giới 40m; đường liên xã có lộ giới 15m và đường hẽm có lộ giới 8m. Mỗi cấp đường cũng có kết cấu bề mặt khác nhau; Quốc lộ và tỉnh lộ có kết cấu bê-tông nhựa; đường liên xã và hẽm thường là đường cấp phối hoặc đường đất.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
31
Ví dụ 2
Theo số liệu thống kê năm 2005 Huyện Hóc Môn có 02 tuyến đường quốc lộ với chiều dài trên 40km; 06 tuyến đường tỉnh lộ với chiều dài trên 80km; 15 tuyến đường liên xã và đường nội bộ với chiều dài 150km và 60 con hẽm với tổng chiều dài trên 30km
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
32
Ví dụ 3
Công ty A kinh doanh rất nhiều mặt hàng thuộc nhiều chủng loại khác nhau, mỗi mặt hàng đều có mã riêng tương ứng với một mức giá nhất định. Mỗi nhân viên công ty được giao cho phụ trách một mặt hàng nhất định, các nhân viên được quản lý thông qua mã nhân viên. Các thông tin mà công ty quản lý về nhân viên bao gồm: mã nhân viên, tên nhân viên, ngày sinh, địa chỉ, và mặt hàng mà nhân viên đó phụ trách. Mỗi mặt hàng đều có tên và mã mặt hàng cùng với xuất xứ nguồn gốc của mặt hàng đó mà nhân viên cần biết để nhập hàng khi có yêu cầu.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
33
CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ
Các phép toán đại số quan hệ là phép toán mà tất cả các hệ quản trị cơ sở dữ liệu đều cài đặt cụ thể bằng các lệnh theo ngôn ngữ riêng. Các phép toán này được thực hiện trực tiếp trên các bộ của các quan hệ lưu trữ trong máy tính. Việc tổ chức các quan hệ và các bộ của nó có thể được xem như biểu diễn tương ứng một - một qua các tệp(file) và các bản ghi(Records).
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
34
Phép chèn(Insert)
Mục đích của phép chèn là thêm một bộ vào một quan hệ nhất định. Kết quả của phép chèn có thể gây ra một số sai sót với những lý do sau đây:
- Bộ mới được thêm vào không phù hợp với lược đồ quan hệ cho trước.
- Một số giá trị của một số thuộc tính nằm ngoài miền giá trị của thuộc tính đó.
- Giá trị khóa của bộ mới có thể là giá trị đã có trong quan hệ đang lưu trữ.
Do đó tùy từng quan hệ cụ thể mà có cách khắc phục khác nhau.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
35
Phép chiếu (project)
Cho Q là một quan hệ với tập thuộc tính Q+, Q+=?A1,A2,...,An?, X? Q+: X là một tập con các thuộc tính của Q.
Phép chiếu Q lên tập thuộc tính X là phép trích cột từ Q gồm những thuộc tính có trong X, các bộ là một phần của các bộ trong Q, được ký hiệu Q[X]
Ví dụ: Người ta chỉ cần biết MA_LD (mã lọai đất) và thời hạn sử dụng của loại đất đó (TH_SD), thực hiện phép chiếu tập con gồm các thuộc tính MA_LD và TH_SD lên quan hệ LOAIDAT. Kết quả ta được một quan hệ với hai thuộc tính MA_LD và TH_SD, hai thuộc tính này đều nằm trong quan hệ LOAIDAT.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
36
Phép chiếu
(ví dụ)
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
37
Phép chọn:(select)
Cho Q là một quan hệ với tập thuộc tính Q+, Q+=?A1,A2,...,An?, gọi D(x) là một điều kiện xác định trên Q+. Phép chọn từ Q những bộ thỏa D(x) là một quan hệ Q` với các phần tử (bộ) thuộc Q và thỏa điều kiện D(x).
Q` = ?q /q ?Q /q thỏa D(x)?
Nói cách khác phép chọn thực hiện Q theo điều kiện D(x) là phép trích các bộ từ Q thỏa điều kiện D(x) được ký hiệu Q:D(x)
Ví dụ:Xác định những thửa có diện tích >10.000 m2 trong quan hệ DANGKY
Thực hiện phép chọn với điều kiện D_TICH>10.000 trên quan hệ DANGKY nhưng các phần tử trong quan hệ mới chỉ có những bộ có thuộc tính D_TICH> 10.000 (trong MAPINFO sử dụng lệnh SELECT).
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
38
Phép chọn (ví dụ)
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
39
Phép tích Đề-cac (cartesian product)
Cho hai quan hệ Q1(A1,A2,...,Am) và Q2( B1,B2,...,Bn), tích Đề-cac của hai quan hệ Q1 và Q2 là quan hệ Q3 có các thuộc tính là hợp các thuộc tính Q1 và Q2, các n bộ là nối của các n bộ trong Q1 và Q2.
Ký hiệu: Q3= Q1* Q2=?q3=(q1,q2)?Q3/q1?Q1 ?q2?Q2?, Q3 có m+n ngôi (có m+n thuộc tính)
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
40
Phép tích Đề-cac (ví dụ)
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
41
Phép hạn chế một quan hệ (Restriction)
Phép hạn chế một quan hệ là phép toán một ngôi cho kết quả là một quan hệ có các bộ thỏa mãn một điều kiện hạn chế. Điều kiện hạn chế có thể áp dụng trên một hoặc nhiều thuộc tính của quan hệ. Có hai chuẩn viết về điều kiện hạn chế của một quan hệ: Chuẩn và (AND) và chuẩn hoặc (OR).
Hạn chế của quan hệ Q bằng tiêu chuẩn T là quan hệ Q` có cùng lược đồ (số ngôi) trong đó các n bộ thỏa mãn tiêu chuẩn T.
Ví dụ: Trong quan hệ THUA xác định những thửa có diện tích >1000 và lọai đất là nông nghiệp. Quan hệ mới từ điều kiện trên sẽ là các quan hệ có n bộ có đầy đủ những thuộc tính của quan hệ THUA các bộ thỏa điều kiện DT> 1000 ?LD ="NN"
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
42
Phép liên kết:(join)
Cho hai quan hệ Q1(A1,A2,...,Am) và Q2( B1,B2,...,Bn) và hai thuộc tính Ai ?A1,A2,...,Am ?; Bj ?B1,B2,...,Bn? sao cho MGT (Ai)=MGT(Bj) và phép liên kết
?? <,<=,>,>=,=,<>?
Phép liên kết thực hiện trên hai quan hệ Q1 và Q2 cùng với các thuộc tính Ai và Bj là phép tích Đề-cac của hai quan hệ Q1 và Q2. tạo ra một quan hệ mới có các thuộc tính và các n bộ là ghép nối các n bộ và các thuộc tính của hai quan hệ Q1 và Q2., chỉ lấy ra những n bộ thỏa mãn điều kiện hạn chế Ai và Bj
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
43
Phép liên kết(ví dụ)
Ai = Dj
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
44
Câu lệnh SQL
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
45
Truy vấn chọn
Select [Distinct|Top n[%]] field1 [As alias1][,field2 [As alias2][,...]]
From table1 [Inner Join table2 On table1.field1 ? table2.field2] ...
Where dieuKien]
Order By field1[Asc|Desc][,field2[Asc|Desc]][,...]]];
Distinct: loại bỏ các bộ trùng trong quan hệ đích
Top n[%]: Chọn n hay n% mẫu tin đầu tiên.
table: Tên table hay query chứa dữ liệu.
field: Tên field hay một biểu thức.
Alias: Trường hợp field là một biểu thức thì là một tên mới của biểu thức.
Inner Join: mỗi mẫu tin của table1 nối với bất kỳ mẫu tin nào của table2 có dữ liệu của field1 thỏa mãn điều kiện so sánh với dữ liệu của field2 tạo thành mẫu tin của query.
điều kiện: Biểu thức mà dữ liệu mẫu tin phải thỏa mãn
Chú ý:
Khi nêu rõ thuộc tính đó thuộc về quan hệ nào ta viết theo cú pháp tênQuanHệ.tênThuộcTính.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
46
Truy vấn chọn – ví dụ
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
47
Truy vấn nhóm
Select [Distinct|Top n[%]] field1 [As alias1][,field2 [As alias2][,...]]
From table1 [Inner Join table2 On table1.field1 ? table2.field2] ...
[Where dieuKienLocMauTinNguon]
[Group By fieldGroupBy[,fieldGroupBy[,...]]
[Having dieuKienLocMauTinTongHop]
[Order By field1[Asc|Desc][,field2[Asc|Desc]][,...]]];
điềuKiệnLọcMẫuTinNguồn: điều kiện mà các mẫu tin nguồn phải thỏa mãn (phép chọn)
fieldGroupBy: tên field mà các mẫu tin có dữ liệu giống nhau trên ấy được xếp vào cùng nhóm.
điềuKiệnLọcMẫuTinTổngHợp: điều kiện mà các mẫu tin tổng hợp phải thỏa mãn (phép chọn)
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
48
Truy vấn nhóm – ví dụ
Ví du: Đếm số lượng sinh viên nữ của mỗi khoa
SELECT Kh.MAKHOA,TENKHOA,COUNT(Kh.MAKHOA) AS SOLUONG
FROM (Sv Inner Join Lop On Sv.MALOP = LOP.MALOP)
INNER JOIN Kh On lop.MAKHOA=Kh.MAKHOA
WHERE NU
GROUP BY Kh.MAKHOA,TENKHOA;
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
49
Truy vấn lồng nhau
Là những câu lệnh truy vấn mà trong thành phần WHERE hay HAVING có chứa thêm một câu lệnh Select khác. Câu lệnh select khác này gọi là subquery. Ta lồng câu Select vào phần Where hay Having theo cú pháp sau:
o bieuthuc toanTuSoSanh [ANY | ALL | SOME] (cauLenhSQL)
ANY, SOME là bất kỳ, ALL là tất cả
Các mẫu tin của query chính thỏa mãn toán tử so sánh với bất kỳ/ tất cả mẫu tin nào của subquery
o bieuThuc [NOT] IN (cauLenhSQL)
Các mẫu tin của query chính có giá trị bằng với một giá trị trong subquery
o [NOT] EXISTS (cauLenhSQL).
Các mẫu tin của query chính thỏa mãn khi subquery có mẫu tin
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
50
Truy vấn lồng nhau – ví dụ
Ví du: Lập danh sách sinh viên có học bổng cao nhất
SELECT *
FROM Sv
WHERE HOCBONG>=ALL(SELECT HOCBONG FROM SV);
Ví du: Lập danh sách sinh viên có điểm thi môn CSDL cao nhất
SELECT SV.MASV,HOTEN,NU,NGAYSINH,DIEMTHI
FROM sv Inner Join kq On Sv.MASV = Kq.MASV
WHERE MAMH=`CSDL` AND DIEMTHI >= ALL
(SELECT DIEMTHI FROM KQ WHERE MAMH=`CSDL`);
Hiểu và vận dụng tốt lệnh truy vấn dữ liệu là một việc làm cực kỳ cần thiết để tạo ra các kết quả cho báo cáo, thống kê số liệu.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
51
Chương 2
MỘT SỐ KHÁI NIỆM
CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ
RÀNG BUỘC TOÀN VẸN
PHỤ THUỘC HÀM
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
52
Ràng buộc toàn vẹn
(Entegrity constraint)
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 một lược đồ quan hệ hoặc trong các lược đồ quan hệ của một cơ sở dữ liệu. 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 thỏa 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.
Ví dụ 1: Xét cơ sở dữ liệu về quản lý sinh viên, từ CSDL này ta có thể xác định được một số ràng buộc tòan vẹn sau:
R1: không thể có >1 sinh viên có cùng MASV
R2: Tuổi sinh viên phải >= 18
R3: Giới tính ( phái) phải là nam hoặc nữ.
Ví dụ 2: Xét CSDL về đăng ký đất đai ta có các ràng buộc tòan vẹn sau:
R1: Số thửa phải là duy nhất trong một tờ bản đồ.
R2: Diện tích số thửa phải >0.
R3: Thời hạn sử dụng phải >50 năm.
R4: Lọai đất phải là một trong các lọai đất theo qui định của Luật ĐĐ.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
53
Kiểm tra Ràng buộc toàn vẹn
Trong hồ sơ phân tích thiết kế hệ thống CSDL cần phải xác định đầy đủ các ràng buộc tòan vẹn và cần phải có thủ tục cụ thể để kiểm tra các ràng buộc tòan vẹn mỗi khi nó bị vi phạm.
Ràng buộc tòan vẹn có thể được kiểm tra theo hai cách:
+ Cách 1: Kiểm tra ngay khi nhập dữ liệu: cách này thường sử dụng đối với việc kiểm tra đơn giản, ít tốn thời gian. Ví dụ: kiểm tra miền giá trị, giới tính...
+ Cách 2: Kiểm tra định kỳ hoặc khi cần; cách này thường sử dụng với việc kiểm tra phức tạp tốn nhiều thời gian. Ví dụ kiểm tra về thời hạn sử dụng tổng diện tích trong ranh giới hành chính.
Ràng buộc tòan vẹn nói lên các quy tắc quản lý của hệ thống cần tin học hóa.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
54
Các yếu tố của RBTV
1. Di?u ki?n
Được mô tả một cách hình thức bằng ngôn ngữ tự nhiên hoặc đại số.
Ví dụ: Cho hai quan hệ:
LOAIDAT( MA_LD, TEN_FAO, TEN_VN, KY_HIEU)
R1: ? mald1 ? LOAIDAT ? mald2 ? LOAIDAT ? loaidat1 ? loaidat2: mald1.MA_LD ? mald2.MA_LD. (hai loại đất khác nhau thì có MA_LD khác nhau)
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
55
Các yếu tố của RBTV
2) Bối cảnh:
Bối cảnh của một 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 ràng buộc toàn vẹn. 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ệ.
.Ví dụ: Xét CSDL về đăng ký đất đai bao gồm các thực thể (quan hệ) sau:
LOAIDAT( MA_LD, TEN_FAO, TEN_VN, KY_HIEU)
DOITUONGSD(MA_DTSD, TEN_DTSD, NGAY_DK)
HIENTRANG( KY_HIEU, MD_SD)
DANGKY( SOTO_BD, SO_THUA, MA_LD, MA_DTSD, KY_HIEU, D_TICH, THOIHAN_SD).
Với các RBTV sau:
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
56
Các yếu tố của RBTV
R1: Điều kiện: những lọai đất khác nhau sẽ đánh MA_LD khác nhau
Bối cảnh: trong một quan hệ
R2: Điều kiện: Các đối tượng sử dụng khác nhau sẽ đánh MA_DTSD khác nhau
Bối cảnh: trong một quan hệ
R3: Điều kiện: Mục đích sử dụng đất khác nhau sẽ đánh KY_HIEU khác nhau
Bối cảnh: Trong một quan hệ
R4: Điều kiện: trong cùng một tờ bản đồ SO_THUA phải khác nhau
Bối cảnh: trong cùng một quan hệ
R5: Điều kiện: MA_LD trong DANGKY phải có trong LOAIDAT
Bối cảnh: Trong hai quan hệ DANGKY và LOAIDAT
R6: Điều kiện: MA_DTSD trong DANGKY phải có trong DOITUONGSD
Bối cảnh: Trong hai quan hệ DANGKY và DOITUONGSD
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
57
Tầm ảnh hưởng
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
58
1) Ràng buộc tòan vẹn có bối cảnh là một quan hệ (trên một quan hệ)
a.) Ràng buộc tòan vẹn về miền giá trị: Ràng buộc này ảnh hưởng đén những thuộc tính về miền giá trị.
b.) Ràng buộc tòan vẹn liên thuộc tính: Là ràng buộc tòan vẹn được xác định trên nhiều thuộc tính.
c.) Ràng buộc tòan vẹn liên bộ: Là lọai ràng buộc tòan vẹn xác định liên quan đến nhiều bộ trong một quan hệ, khi cần kiểm tra đến ràng buộc tòan vẹn lọai này ta phải xét đến nhiều bộ trong quan hệ, thường gặp nhất là khóa và phụ thuộc hàm (R2 trong Ví dụ 2, phần a)
d.) Ràng buộc tòan vẹn khóa nội: Định nghĩa khóa : Khóa của một quan hệ là tập tối thiểu của các thuộc tính mà mỗi trường hợp cụ thể của nó xác định duy nhất một bộ trong quan hệ.
Phân loại RBTV
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
59
Phân loại RBTV
2) Ràng buộc tòan vẹn có bối cảnh trên nhiều quan hệ:
a.) Phụ thuộc tồn tại: RBTV kiểu phụ thuộc tồn tại là sự tồn tại của một bộ trong quan này phụ thuộc vào sự tồn tại của 1 bộ trong quan hệ khác. Thường gặp nhất là do sự hiện diện của khóa ngọai hoặc lồng khóa.
b) RBTV liên bộ và liên quan hệ: Là RBTV liên quan đến một nhóm các bộ giữa các quan hệ - ví dụ hạng mức đất.
c) RBTV liên bộ, liên thuộc tính và liên quan hệ: Là RBTV mà giá trị của một thuộc tính liên quan đến các thuộc tính khác nhau của nhiều bộ trên các quan hệ - ví dụ về định giá đất.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
60
Chương 2
MỘT SỐ KHÁI NIỆM
CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ
RÀNG BUỘC TOÀN VẸN
PHỤ THUỘC HÀM
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
61
Phụ thuộc hàm
(Functional dependency)
Phụ thuộc hàm là sự biểu diễn ràng buộc toàn vẹn dưới hình thức toán học để bảo đảm thông tin không bị tổn thất khi phân rã hoặc kết nối giữa các quan hệ.
Cho Q là một quan hệ Q+ là tập thuộc tính của Q; X,Y? Q+, X???Y(? :tập rỗng). Ta nói: X xác định Y hay Y phụ thuộc hàm vào X, ký hiệu:X ?Y nếu:
(luôn xác định cùng trường hợp cụ thể Y khi cho cùng trường hợp cụ thể X)
?q1,q2?Q+:q1*X=q2*X?q1Y=q2Y
S? PTH cĩ th? cĩ c?a Q(A1, A2.An) l 22n
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
62
Phụ thuộc hàm – ví dụ
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
63
Phụ thuộc hàm – ví dụ
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
64
Ph? thu?c hàm(ví dụ)
MASV → TEN_SV: Mỗi mã sv có một tên
MAMH → TEN_MH: Mỗi mã môn học có một tên
MSGV → TEN_GV: Mỗi mã giáo viên có một mã số công chức
SHTHUA → TEN_CSD: Mỗi số thửa có một tên chủ sử dụng
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
65
Ph? thu?c hàm(ví dụ)
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
66
Phụ Thuộc Hàm – ví dụ
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
67
Phụ Thuộc Hàm
Chú ý : Phụ thuộc hàm X xác định Y liên quan đến tất cả các giá trị có thể có của X và Y trong bảng chứ không phải chỉ dựa trên vài giá trị hiện tại. Thực chất phụ thuộc hàm được xác định khi biết nghĩa của các thuộc tính trong X và Y.
Việc xác định các phụ thuộc hàm là dựa vào thế giới thực do mô tả trong lược đồ khái niệm. Xác định được các phụ thuộc hàm là một phần quan trọng trong quá trình hiểu ý nghĩa của cơ sở dữ liệu. Chính người quản trị cơ sở dữ liệu sẽ thực hiện công việc này. Ngòai ra còn có phụ thuộc hàm trên nhiều thực thể
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
68
Phụ Thuộc Hàm – ví dụ
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
69
Tính chất phụ thuộc hàm
Cho quan hệ Q với tập thuộc tính Q+, X, Y, Z thuộc Q+
* Tính chất 1: Tính phản xạ: Nếu Y? X?X?Y (Y là con hoặc = X)
Ví dụ: SOTO_BD, SO_THUA ? SO_THUA
* Tính chất 2: Tính thêm vào
Nếu X? Y thì X Z ? Y Z (X Z= X?Z)
* Tính chất 3: Tính bắc cầu:
Nếu X ?Y và Y ? Z thì X ? Z
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
70
Tính chất phụ thuộc hàm
Ba tính chất trên là nội dung hệ tiên đề Amstrong đưa ra năm 1974. Từ ba tính chất trên ta có thể suy diễn ra một số phụ thuộc hàm khác gọi là luật dẫn suy diễn.
Trong một cơ sở dữ liệu với tập phụ thuộc hàm F, giả sử f là một phụ thuộc hàm được suy ra từ F. Nếu các phụ thuộc hàm trong F được kiểm tra đúng thì F hiển nhiên là đúng.
Ví dụ: Xét cơ sở dữ liệu sau:
DANGKY(SOTO_BD, SO_THUA, CHU_SD, L_.DAT, D_TICH, DT_SD) với các phụ thuộc hàm sau:
f1: SOTO_BD, SO_THUA? CHU_SD, L_DAT, D_TICH
f2: CHU_SD ? DT_SD
f3: SOTO_BD, SO_THUA ? DT_SD
Qua đó ta thấy phụ thuộc hàm f3 được suy ra từ phụ thuộc hàm f1 và f2 thông qua tính chất bắc cầu
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
71
Một số luật dẫn suy diễn
1) Luật phân rã:
Nếu X?Y và Z ? Y thì X? Z
Chứng minh: Z ? Y ? Y?Z (ph?n x?), mà X?Y ? X ? Z (b?c cầu)
Ví dụ: Cho quan hệ:
DVDAT(SO_DV, D_TICH, L_DAT, DO_DOC, T_DAY, N_NUOC, HT_SDD)
khóa là SO_DV
SODV? D_TICH, L_DAT, T_DAY, N_NUOC, HT_SDD.
Nếu biết được số đơn vị đất đai thì sẽ biết tất cả các thông tin khác có liên quan đến đơn vị đó
SO_DV?L_DAT, D_TICH (Chỉ muốn biết lọai đất và diện tích của đơn vị đó)
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
72
Một số luật dẫn suy diễn
2) Luật băc cầu giả:
Nếu X?Y và WY?Z ? WX ? Z
Chứng minh:
Ta có: W ? W
X?Y ? W X?WY ( Thêm vào)
mà WY? Z ? WX ? Z(bắc cầu)
Ví dụ : Có hai quan hệ sau:
KEHOACH( G_VIEN, M_HOC, GIAM_THI, NG_THI) thể hiện việc phân công gác thi cho các giám thị với một số quy tắc quản lý sau:
QT1: G_VIEN ? M_HOC: mỗi giáo viên dạy một môn học
QT2: M_HOC, NG_THI ? GIAM_THI: mỗi môn học được một giám thị gác thi vào một ngày.
Do G_VIEN? M_HOC ? G_VIEN, NG_THI? M_HOC, NG_THI
Do đó: G_VIEN,NG_THI ? GIAM_THI
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
73
Một số luật dẫn suy diễn
3) Luật hội:
Cho X?Y và X?Z ? X? YZ
Chứng minh:
X?Y? X?XY ( thêm vào)
X?Z ? XY?ZY (thêm vào) ? X?YZ(bắc cầu)
Bài tập:
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
74
NỘI DUNG CHƯƠNG TRÌNH
NHẬP MÔN CƠ SỞ DỮ LIỆU
CƠ SỞ DỮ LIỆU QUAN HỆ
CHUẨN HOÁ CƠ SỞ DỮ LỊÊU
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
CƠ SỞ DỮ LIỆU TÀI NGUYÊN ĐẤT ĐAI
CƠ SỞ DỮ LIỆU KHÔNG GIAN
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
75
CHƯƠNG 3: CHUẨN HOÁ CSDL
MỘT SỐ KHÁI NIỆM
CÁC DẠNG CHUẨN CỦA LƯỢC ĐỒ QUAN HỆ
CHUẨN HOÁ LƯỢC ĐỒ CSDL THÔNG QUA PHÉP TÁCH
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
76
MỘT SỐ KHÁI NIỆM
1. Lược đồ cơ sở dữ liệu:
Lược đồ cơ sở dữ liệu là một tập các quan hệ con và các phụ thuộc hàm liên quan đến một ứng dụng nào đó.
Có nhiều cách để lưu trữ, tổ chức thông tin đối với một ứng dụng cụ thể( có thể xây dựng một hoặc nhiều quan hệ để mô tả cùng một nội dung). Do đó để quản lý, lưu trữ thông tin không bị dư thừa, dễ dàng truy xuất, thêm, bớt thì việc chuẩn hóa các lược đồ quan hệ là rất cần thiết.
Chuẩn hóa một quan hệ là quá trình biến đổi những dữ liệu cập nhật( thêm, xóa, sửa) gây nên những dị thường cho quan hệ thành các dạng phù hợp.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
77
MỘT SỐ KHÁI NIỆM
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
78
MỘT SỐ KHÁI NIỆM
2. Thuộc tính khóa (primary key) - Thuộc tính không khóa (nonprimary key)
Cho lược đồ quan hệ Q (Q+), K? Q+ là khóa chỉ định của Q nếu:
Thuộc tính A?K ? A là thuộc tính khóa
Thuộc tính A? K? A là thuộc tính không khóa
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
79
MỘT SỐ KHÁI NIỆM
3. Phụ thuộc hàm đầy đủ (Fully functional dependency)
Cho lược đồ quan hệ Q với tập thuộc tính Q+
X,Y là hai tập con khác nhau của Q+, Y được gọi là phụ thuộc hàm đầy đủ vào X nếu có phụ thuộc hàm không hiển nhiên X? Y và Y không phụ thuộc hàm vào bất kỳ tập con nào của X.
Ghi chú: Để chứng minh một tập thuộc tính Y là không phụ thuộc đầy đủ vào tập thuộc tính X ta cần chứng minh
? X ?Y hoặc X?Y nhưng ? X`?X : X`?Y
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
80
MỘT SỐ KHÁI NIỆM
4. Phụ thuộc bắc cầu của một tập thuộc tính vào một tập thuộc tính khác.
Cho lược đồ quan hệ Q với tập thuộc tính Q+
X và Y là hai tập con của Q+,X ? Y, ta nói Y phụ thuộc bắt cầu vào tập thuộc tính X nếu tồn tại một tập thuộc tính A ? Q+ sao cho X? A và A? Y nhưng A? X (A không xác định X)
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
81
CÁC DẠNG CHUẨN CỦA LƯỢC ĐỒ QUAN HỆ
Quan hệ được chuẩn hóa là quan hệ trong đó mỗi miền của một thuộc tính chỉ chứa những giá trị nguyên tố (atomic), tức là không phân nhỏ được nữa và do đó, mỗi giá trị trong quan hệ cũng là nguyên tố.
Quan hệ có chứa các miền giá trị là không nguyên tố gọi là quan hệ không chuẩn hóa. Một quan hệ được chuẩn hóa có thể thành một hoặc nhiều quan hệ chuẩn hóa khác và không làm mất mát thông tin.
Để đánh giá chất lượng của lược đồ quan hệ người ta đưa ra các tiêu chuẩn gọi là dạng chuẩn. Lược đồ cơ sở dữ liệu ở dạng chuẩn càng cao thì chất lượng càng tốt. Thông thường khi thiết kế cơ sở dữ liệu ta cố gắng đưa các quan hệ về dạng chuẩn 3 hoặc tốt hơn là dạng chuẩn BC.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
82
Dạng chuẩn 1 - 1NF
(First Normal Form)
Một lược đồ quan hệ Q được gọi là đạt dạng chuẩn nếu và chỉ nếu tòan bộ các miền ( thuộc tính) có mặt trong Q đều chỉ chứa các giá trị nguyên tố( thuộc tính đơn)
Định nghĩa trên cho thấy bất kỳ quan hệ chuẩn hóa nào cũng ở dạng chuẩn 1NF nếu quan hệ đó không có thuộc tính gộp. Do đó khi mô tả một bảng chỉ nên giữ giá trị đơn tránh dùng các miền thuộc tính giá trị kép như tên bao gồm họ và tên. Trong trường hợp này khi một quan hệ không thuộc 1NF người ta tách thuộc tính kép ra thành các thuộc tính đơn hoặc tách quan hệ ban đầu ra thành hai hoặc nhiều quan hệ khác.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
83
Dạng chuẫn 1 – ví dụ
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
84
Dạng chuẩn 2 - 2NF
(Second Normal Form)
Cho lược đồ quan hệ Q với tập thuộc tính Q+, Q được gọi là đạt dạng chuẩn 2 nếu:
Q đạt dạng chuẩn 1 và
Các thuộc tính không khóa phụ thuộc đầy đủ vào khóa.
Một bảng thuộc dạng chuẩn một luôn có thể được tách ra thành các bảng tương đương thuộc dạng chuẩn hai. Vì không có thông tin nào bị mất trong việc tách quan hệ, bất kỳ thông tin nào có thể suy ra được từ cấu trúc ban đầu cũng có thể nhận được từ các quan hệ con theo cấu trúc mới.
Dạng chuẩn hai cho phép loại trừ dư thừa về khóa thuộc tính.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
85
Dạng chuẩn 2 - 2NF
(Second Normal Form)
Ví dụ: Cho lược đồ quan hệ SINHVIEN(MA_SV, MON_HOC, TEN_SV, DIA_CHI, DIEM) , Với các phụ thuộc hàm sau:
f1: MA_SV ? TEN_SV, DIA_CHI
f2: MA_SV, MON_HOC? DIEM
Khóa là MA_SV, MON_HOC
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
86
Dạng chuẩn 3 - 3NF
(Third Normal Form)
Một lược đồ quan hệ được gọi là đạt dạng chuẩn 3 nếu:
Đạt được dạng chuẩn 2 và
Các thuộc tính không khóa không phụ thuộc bắc cầu vào khóa chính.
Ví dụ 1:
Cho lược đồ quan hệ HOADON(SO_HD, NGAY_LAP, K_HANG, M_HANG, SO_LG, DON_GIA,THANHTIEN)
HOADON CHƯA ĐẠT DANG CHUẨN 3
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
87
DẠNG CHUẨN BC
(BOYE CODD)
Cho lược đồ quan hệ Q với tập phụ thuộc hàm F, lược đồ quan hệ này được gọi là đạt dạng chuẩn BC nếu với mọi phụ thuộc hàm f: X?Y xác định trên lược đồ quan hệ (X?Y là không hiển nhiên) thì X là một khóa của lược đồ quan hệ Q.
Như vậy một lược đồ quan hệ đạt được dạng chuẩn BC thì chỉ có phụ thuộc hàm mà vế trái là khóa. Lược đồ quan hệ này hiển nhiên đạt được dạng chuẩn 3.
Để chứng minh vấn đề trên, giả sử rằng lược đồ quan hệ Q là ở dạng BCNF nhưng không thuộc 3NF. Như vậy sẽ tồn tại ít nhất một phụ thuộc hàm thành phần hoặc phụ thuộc hàm bắt cầu.
f1: X?Y
f2: Y?A
Trong đó X là khóa của Q, A? X, và A? Y,Y? X?F( không tồn tại phụ thuộc hàm này trong tập phụ thuộc hàm của Q) Do đó Y không phải là khóa của Q, mà Y ?A ? F (là một phụ thuộc hàm) cho nên vi phạm điều kiện của BCNF.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
88
PHỤ THUỘC ĐA TRỊ
Giả sử cho R với các thuộc tính A1, A2 ,. An là một lược đồ quan hệ với các tập thuộc tính X,Y ? R, ta nói rằng X ? Y (X xác định đa trị Y hay Y phụ thuộc đa trị vào X) nếu cho những giá trị X, có một tập giá trị Y liên quan và tập này độc lập với các thuộc tính
Z = R-X-Y.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
89
Dạng chuẩn 4 - 4NF
(Fourth Normal Form)
Dạng chuẩn 4 là dạng tổng quát của chuẩn BCNF để tách các quan hệ có phụ thuộc đa trị. Như vậy một quan hệ ở dạng chuẩn 4 khi và chỉ khi những phụ thuộc đa trị cơ sở là phụ thuộc trong đó xác định một thuộc tính tức là nếu có phụ thuộc đa trị thì nó có dạng X ? A. Một quan hệ ở dạng chuẩn 4 sẽ thuộc dạng BCNF và 3NF.
Ở ví dụ trên nếu tách quan hệ SINH_VIEN thành SV_M_HOC với các thuộc tính MA_SV và MON_HOC và quan hệ SV_T_THAO bao gồm các thuộc tính MA_SV và THE_THAO thì các quan hệ mới này sẽ đạt dạng chuẩn 4.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
90
Chuẩn hóa lược đồ quan hệ thông qua phép tách
Định lý:
Cho lược đồ quan hệ Q với tập thuộc tính Q+ phụ thuôc hàm không hiển nhiên f: X?Y xác định trên Q. Phép tách Q thành hai quan hệ con Q1 (X,Y) và Q2 (Q+Y) là phép tách bảo tòan thông tin nghĩa làQ(Q+) = Q1 Q2
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
91
Chuẩn hóa lược đồ quan hệ thông qua phép tách
Dựa vào định lý trên ta có thể chuấn hóa lược đồ quan hệ thông qua phép tách như sau:
Cho lược đồ quan hệ Q(Q+) với tập thuộc tính F xác định trên Q. Thuật tóan chuẩn hóa như sau:
Bước 1:
Xác định tất cả các phụ thuộc hàm F sao cho:
F:=F ?f?F : VT( f) ?VP( f) = Q+?, trong đó (VT: Vế trái, VP: Vế phải)
Bước 2:
+ Nếu F = ? ( không có PTH) thì kết quả là lược đồ quan hệ Q và kết thúc:
+ Nếu F ?? thì:
. Lấy một PTH f: X? Y trong F (nên lấy những PTH mang tính bắt cầu hoặc phụ thuộc bộ phận hay từng phần vào khoá chính).
. Tách quan hệ Q thành hai quan hệ Q1 và Q2 dựa vào PTH f
Q1 (X,Y) với tập Pth F1
F1= ?f/ VT( f) ?VP( F) ? XY?
Q2(Q+ Y) với tập Pth F2:
F2 = ?f/ VT( f) ?VP( F) ? Q+ Y?
Bước 3:
Nếu các quan hệ con vẫn còn các pth bắt cầu hoặc phụ thuộc bộ phận hay từng phần thì tiếp tục thực hiện từ bước 1 cho các quan hệ đó cho đến khi không thể tách được nữa.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
92
NỘI DUNG CHƯƠNG TRÌNH
NHẬP MÔN CƠ SỞ DỮ LIỆU
CƠ SỞ DỮ LIỆU QUAN HỆ
CHUẨN HOÁ CƠ SỞ DỮ LỊÊU
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
CƠ SỞ DỮ LIỆU TÀI NGUYÊN ĐẤT ĐAI
CƠ SỞ DỮ LIỆU KHÔNG GIAN
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
93
Chương 4
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
KHÁI NIỆM HỆ THỐNG
HỆ THÔNG TIN QUẢN LÝ
CÁC GIAI ĐOẠN PHÂN TÍCH VÀ THIẾT KẾ MỘT HỆ THỐNG THÔNG TIN QUẢN LY
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
94
KHÁI NIỆM HỆ THỐNG
Hệ thống là một tập hợp các phần tử tương tác được tổ chức theo một mô hình nhất định nhằm thực hiện một mục đích nào đó.
Phần tử trong hệ thống là tập hợp các phương tiện vật chất và kể cả nhân lực. Các phần tử này có thể tương tác với nhau theo một qui luật nhất định gọi là qui tắc hoạt động của hệ thống.
Hệ thống mở: là hệ thống mà các phần tử trong đó có tương tác với môi trường bên ngoài.
Ví dụ về hệ thống: các cơ quan tổ chức đều là những hệ thống sống và phát triển. Một hệ thống thông tin luôn là hệ thống mở. Do
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
1
TRƯỜNG ĐH NÔNG LÂM TP.HCM
KHOA QUẢN LÝ ĐẤT ĐAI & BẤT ĐỘNG SẢN
CƠ SỞ DỮ LIỆU
Bài giảng môn học
Giảng viên: ThS. Lê Ngọc Lãm
Bộ môn: Công Nghệ Địa Chính
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
2
GIỚI THIỆU MÔN HỌC
Thời lượng
Phạm vi môn học
Đối tượng nghiên cứu
Mục đích nghiên cứu
Yêu cầu môn học
Cấu trúc môn học
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
3
NỘI DUNG
1. NHẬP MÔN CSDL
2. CƠ SỞ DỮ LIỆU QUAN HỆ
3. CHUẪN HOÁ CSDL
4. THIẾT KẾ HỆ THỐNG
5. CSDL TÀI NGUYÊN ĐẤT ĐAI
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
4
CHƯƠNG 1
NHẬP MÔN CSDL
CÁC KHÁI NIỆM
MỘT SỐ VÍ DỤ
CẤU TRÚC MỘT HỆ CSDL
TÍNH ĐỘC LẬP DỮ LIỆU
MÔ HÌNH DỮ LIỆU
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
5
KHÁI NIỆM CSDL
Khái niệm về dữ liệu
Nhu cầu quản lý và truy xuất thông tin
Các hình thức tổ chức dữ liệu
Các tính chất của dữ liệu
Các dạng dữ liệu
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
6
Sinh viên
Quốc gia
Đơn vị hành chánh
Tỉnh Đồng Nai; cách Tp.HCM 30km
Tỉnh Bình Thuận; cách Tp.HCM 150km
Tỉnh Long An; Cách Tp.HCM 50km
Việt nam; dân số 80 triệu người
Lào; dân số 30 triệu người
Thái Lan; dân số 60 triệu người
Trung Quốc; 1,2 tỷ người
Nguyễn thị Mén; 20 tuổi; Quê quán: Tiền Giang
Lê Văn Lúa; 21 tuổi; quê quán: Long An
Trần thị Son; 19 tuổi; quê quán: Bình Định
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
7
CẤU TRÚC 1 HỆ CSLD
Mức vật lý
Mức khái niệm
Mức khung nhìn
NGƯỜI THIẾT KẾ
HỆ THỐNG
MÁY TÍNH
NGƯỜI SỬ DỤNG
……….
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
8
TÍNH ĐỘC LẬP DỮ LIỆU
Mức độc lập vật lý (Physical data independence) l kh? nang s?a d?i so d? v?t l khơng lm cho cc chuong trình ?ng d?ng ph?i vi?t l?i. Cc s?a d?i ? m?c v?t l l c?n thi?t d? c?i thi?n hi?u nang.
D?c l?p d? li?u lu?n l (Logical data independence) l kh? nang s?a d?i so d? lu?n l khơng lm cho cc chuong trình ?ng d?ng ph?i vi?t l?i. Cc s?a d?i ? m?c lu?n l l c?n thi?t khi c?u trc lu?n l c?a co s? d? li?u b? thay th?.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
9
MÔ HÌNH DỮ LIỆU
Mô hình mạng
Mô hình phân cấp
Mô hình thực thể kết hợp
Mô hình quan hệ
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
10
MÔ HÌNH MẠNG
(Network model)
Mục tin
Dữ liệu gôp
Bản ghi
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
11
MÔ HÌNH PHÂN CẤP
(Hierarchical model)
Cây (Tree)
Đoạn (Segment)
Trường (Field)
Cây các đoạn (Tree of segments)
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
12
MÔ HÌNH QUAN HỆ
(Relational model)
B?i c?nh ra d?i
Trước khi có RM, dữ liệu được quản lý bằng tập tin - hệ tập tin với các ngôn ngữ: COBOL, FORTRAN, PASCAL
Những hạn chế của hệ tập tin:
Có sự liên kết chặt chẽ giữa cấu trúc vật lý - luận lý và chương trình ứng dụng
Dư thừa dữ liệu quá lớn
Người SD ít có khả năng tiếp cận và khai thác dữ liệu
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
13
MÔ HÌNH QUAN HỆ
(Relationship model)
Quan hệ (Relationship)
Thuộc tính (Attribute)
Miền giá trị (Domain)
Bộ trong quan hệ (Record)
Khoá và thuộc tính khoá (Primary key)
Thuộc tính không khĩa(None primary key)
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
14
MÔ HÌNH THỰC THỂ KẾT HỢP
(Entities relationship model)
Thực thể (Entities)
Mối kết hợp (Join)
Quan hệ (Relationship)
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
15
HỆ QUẢN TRỊ CSLD
(Database Management System)
• Một cơ sở dữ liệu (CSDL/ DB: DataBase) là một tập hợp các tập tin có liên quan với nhau, được thiết kế nhằm làm giảm thiểu sự lặp lại dữ liệu.
• Một hệ quản trị cơ sở dữ liệu (HQTCSDL/ DBMS: DataBase Management System) là một hệ thống gồm một CSDL và các thao tác trên CSDL đó, được thiết kế trên một nền tảng phần cứng, phần mềm và với một kiến trúc nhất định.
• Một hệ cơ sở dữ liệu (HCSDL/ DBS: DataBase System) là một phần mềm cho phép xây dựng một HQTCSDL.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
16
Cấu trúc vật lý và luận lý
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
17
TÍNH CHẤT HỆ QUẢN TRỊ CSDL
Độc lập vật lý
Độc lập logic
Ngôn ngữ phi thủ tục
Quản trị dữ liệu
Quản lý dư thừa dữ liệu
Tương hợp dữ liệu (chuẩn hoá)
Chia sẻ dữ liệu (dùng chung)
An Toàn dữ liệu
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
18
LỊCH SỬ HỆ QUẢN TRỊ CSDL
Đầu thập niên 60 thế kỹ XX
Giữa thập niên 60
Thập niên 70
Thập niên 80
Thập nên 90 đến nay
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
19
CHỨC NĂNG HỆ QUẢN TRỊ CSDL
Mô tả dữ liệu
Tìm kiếm dữ liệu
Cập nhật dữ liệu
Chuyển hoá dữ liệu
Điều khiển tính toàn vẹn dữ liệu
Quản lý giao tác và an toàn dữ liệu
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
20
Chương 2
MÔ HÌNH DỮ LIỆU QUAN HỆ (RELATIONAL MODEL)
MỘT SỐ KHÁI NIỆM
CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ
PHỤ THUỘC HÀM
RÀNG BUỘC TOÀN VẸN
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
21
Ví dụ
Cách quản lý thông tin về sinh viên đăng ký môn học như sau:
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
22
Ví dụ (tt)
Những hạn chế trên sẽ được khắc phục nếu tổ chức dữ liệu theo mô hình sau:
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
23
MỘ SỐ KHÁI NIỆM
THUỘC TÍNH (ATTRIBUTE)
MIỀN GIÁ TRỊ CỦA THUỘC TÍNH (DOMAIN)
BỘ (TUBLE hay RECORD)
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
24
Thuộc tính: là tính chất để mô tả đối tượng hay nói cách khác 1 đối tượng được mô tả thông qua thuộc tính của nó.
Miền giá trị: Thuộc tính có thể là một chuỗi các ký tự hay là một con số hoặc ngày tháng năm. Ngoài ra có thể còn là giá trị tiền tệ hay một đơn vị đo lường nào đó. Tập hợp các giá trị này gọi là Miền giá trị của thuộc tính.
Bộ: Tập hợp các thuộc tính cùng mô tả một đối tượng gọi là Bộ. Như vậy có thể nói bộ là một đối tượng cụ thể.
MỘ SỐ KHÁI NIỆM
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
25
MỘ SỐ KHÁI NIỆM
QUAN HỆ (RELATIONSHIP)
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
26
Lược đồ quan hệ
Tập tất cả các thuộc tính cần quản lý của một đối tượng cùng với mối liên hệ giữa chúng được gọi là lược đồ quan hệ. Lược đồ quan hệ Q với tập thuộc tính {A1,A2,...,An} được viết là
Q(A1,A2,...,An). Tập các thuộc tính của Q được ký hiệu là Q+. Chẳng hạn lược đồ quan hệ sinh viên (Đặt tên là Sv) với các thuộc tính như trên là:
Sv(MASV, HOSV,TENSV,NU, NGAYSINH, MALOP, HOCBONG, TINH)
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
27
QUAN HỆ
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
28
Khóa - Khóa ngọai của Quan hệ
Siêu khóa
Khóa
Khóa ngọai
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
29
Khóa - Khóa ngọai của Quan hệ
Siêu khoá: là một tập các thuộc tính để phân biệt giữa các đối tượng với nhau trong một quan hệ.
Khoá: Trong trường hợp siêu khoá chỉ bao gồm 1 thuộc tính thì gọi là khoá. Các thuộc tính trong siêu khoá gọi là thuộc tính khoá. Thuộc tính khoá thường đóng vai trò liên kết giữa các quan hệ với nhau.
Khoá ngoại: Trong trường hợp 2 quan hệ liên kết với nhau thông qua 1 thuộc tính nếu thuộc tính này đóng vai trò là khoá chính trong một quan hệ đã xác định thì nó chính là khoá ngoại của quan hệ còn lại.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
30
Ví dụ 1
Đường giao thông của huyện Hóc Môn được phân thành 4 cấp: Đường quốc lộ, đường tỉnh lộ, đường liên xã và đường hẽm. Đường quốc lộ có lộ giới 60m; đường tỉnh lộ có lộ giới 40m; đường liên xã có lộ giới 15m và đường hẽm có lộ giới 8m. Mỗi cấp đường cũng có kết cấu bề mặt khác nhau; Quốc lộ và tỉnh lộ có kết cấu bê-tông nhựa; đường liên xã và hẽm thường là đường cấp phối hoặc đường đất.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
31
Ví dụ 2
Theo số liệu thống kê năm 2005 Huyện Hóc Môn có 02 tuyến đường quốc lộ với chiều dài trên 40km; 06 tuyến đường tỉnh lộ với chiều dài trên 80km; 15 tuyến đường liên xã và đường nội bộ với chiều dài 150km và 60 con hẽm với tổng chiều dài trên 30km
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
32
Ví dụ 3
Công ty A kinh doanh rất nhiều mặt hàng thuộc nhiều chủng loại khác nhau, mỗi mặt hàng đều có mã riêng tương ứng với một mức giá nhất định. Mỗi nhân viên công ty được giao cho phụ trách một mặt hàng nhất định, các nhân viên được quản lý thông qua mã nhân viên. Các thông tin mà công ty quản lý về nhân viên bao gồm: mã nhân viên, tên nhân viên, ngày sinh, địa chỉ, và mặt hàng mà nhân viên đó phụ trách. Mỗi mặt hàng đều có tên và mã mặt hàng cùng với xuất xứ nguồn gốc của mặt hàng đó mà nhân viên cần biết để nhập hàng khi có yêu cầu.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
33
CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ
Các phép toán đại số quan hệ là phép toán mà tất cả các hệ quản trị cơ sở dữ liệu đều cài đặt cụ thể bằng các lệnh theo ngôn ngữ riêng. Các phép toán này được thực hiện trực tiếp trên các bộ của các quan hệ lưu trữ trong máy tính. Việc tổ chức các quan hệ và các bộ của nó có thể được xem như biểu diễn tương ứng một - một qua các tệp(file) và các bản ghi(Records).
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
34
Phép chèn(Insert)
Mục đích của phép chèn là thêm một bộ vào một quan hệ nhất định. Kết quả của phép chèn có thể gây ra một số sai sót với những lý do sau đây:
- Bộ mới được thêm vào không phù hợp với lược đồ quan hệ cho trước.
- Một số giá trị của một số thuộc tính nằm ngoài miền giá trị của thuộc tính đó.
- Giá trị khóa của bộ mới có thể là giá trị đã có trong quan hệ đang lưu trữ.
Do đó tùy từng quan hệ cụ thể mà có cách khắc phục khác nhau.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
35
Phép chiếu (project)
Cho Q là một quan hệ với tập thuộc tính Q+, Q+=?A1,A2,...,An?, X? Q+: X là một tập con các thuộc tính của Q.
Phép chiếu Q lên tập thuộc tính X là phép trích cột từ Q gồm những thuộc tính có trong X, các bộ là một phần của các bộ trong Q, được ký hiệu Q[X]
Ví dụ: Người ta chỉ cần biết MA_LD (mã lọai đất) và thời hạn sử dụng của loại đất đó (TH_SD), thực hiện phép chiếu tập con gồm các thuộc tính MA_LD và TH_SD lên quan hệ LOAIDAT. Kết quả ta được một quan hệ với hai thuộc tính MA_LD và TH_SD, hai thuộc tính này đều nằm trong quan hệ LOAIDAT.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
36
Phép chiếu
(ví dụ)
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
37
Phép chọn:(select)
Cho Q là một quan hệ với tập thuộc tính Q+, Q+=?A1,A2,...,An?, gọi D(x) là một điều kiện xác định trên Q+. Phép chọn từ Q những bộ thỏa D(x) là một quan hệ Q` với các phần tử (bộ) thuộc Q và thỏa điều kiện D(x).
Q` = ?q /q ?Q /q thỏa D(x)?
Nói cách khác phép chọn thực hiện Q theo điều kiện D(x) là phép trích các bộ từ Q thỏa điều kiện D(x) được ký hiệu Q:D(x)
Ví dụ:Xác định những thửa có diện tích >10.000 m2 trong quan hệ DANGKY
Thực hiện phép chọn với điều kiện D_TICH>10.000 trên quan hệ DANGKY nhưng các phần tử trong quan hệ mới chỉ có những bộ có thuộc tính D_TICH> 10.000 (trong MAPINFO sử dụng lệnh SELECT).
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
38
Phép chọn (ví dụ)
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
39
Phép tích Đề-cac (cartesian product)
Cho hai quan hệ Q1(A1,A2,...,Am) và Q2( B1,B2,...,Bn), tích Đề-cac của hai quan hệ Q1 và Q2 là quan hệ Q3 có các thuộc tính là hợp các thuộc tính Q1 và Q2, các n bộ là nối của các n bộ trong Q1 và Q2.
Ký hiệu: Q3= Q1* Q2=?q3=(q1,q2)?Q3/q1?Q1 ?q2?Q2?, Q3 có m+n ngôi (có m+n thuộc tính)
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
40
Phép tích Đề-cac (ví dụ)
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
41
Phép hạn chế một quan hệ (Restriction)
Phép hạn chế một quan hệ là phép toán một ngôi cho kết quả là một quan hệ có các bộ thỏa mãn một điều kiện hạn chế. Điều kiện hạn chế có thể áp dụng trên một hoặc nhiều thuộc tính của quan hệ. Có hai chuẩn viết về điều kiện hạn chế của một quan hệ: Chuẩn và (AND) và chuẩn hoặc (OR).
Hạn chế của quan hệ Q bằng tiêu chuẩn T là quan hệ Q` có cùng lược đồ (số ngôi) trong đó các n bộ thỏa mãn tiêu chuẩn T.
Ví dụ: Trong quan hệ THUA xác định những thửa có diện tích >1000 và lọai đất là nông nghiệp. Quan hệ mới từ điều kiện trên sẽ là các quan hệ có n bộ có đầy đủ những thuộc tính của quan hệ THUA các bộ thỏa điều kiện DT> 1000 ?LD ="NN"
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
42
Phép liên kết:(join)
Cho hai quan hệ Q1(A1,A2,...,Am) và Q2( B1,B2,...,Bn) và hai thuộc tính Ai ?A1,A2,...,Am ?; Bj ?B1,B2,...,Bn? sao cho MGT (Ai)=MGT(Bj) và phép liên kết
?? <,<=,>,>=,=,<>?
Phép liên kết thực hiện trên hai quan hệ Q1 và Q2 cùng với các thuộc tính Ai và Bj là phép tích Đề-cac của hai quan hệ Q1 và Q2. tạo ra một quan hệ mới có các thuộc tính và các n bộ là ghép nối các n bộ và các thuộc tính của hai quan hệ Q1 và Q2., chỉ lấy ra những n bộ thỏa mãn điều kiện hạn chế Ai và Bj
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
43
Phép liên kết(ví dụ)
Ai = Dj
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
44
Câu lệnh SQL
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
45
Truy vấn chọn
Select [Distinct|Top n[%]] field1 [As alias1][,field2 [As alias2][,...]]
From table1 [Inner Join table2 On table1.field1 ? table2.field2] ...
Where dieuKien]
Order By field1[Asc|Desc][,field2[Asc|Desc]][,...]]];
Distinct: loại bỏ các bộ trùng trong quan hệ đích
Top n[%]: Chọn n hay n% mẫu tin đầu tiên.
table: Tên table hay query chứa dữ liệu.
field: Tên field hay một biểu thức.
Alias: Trường hợp field là một biểu thức thì
Inner Join: mỗi mẫu tin của table1 nối với bất kỳ mẫu tin nào của table2 có dữ liệu của field1 thỏa mãn điều kiện so sánh với dữ liệu của field2 tạo thành mẫu tin của query.
điều kiện: Biểu thức mà dữ liệu mẫu tin phải thỏa mãn
Chú ý:
Khi nêu rõ thuộc tính đó thuộc về quan hệ nào ta viết theo cú pháp tênQuanHệ.tênThuộcTính.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
46
Truy vấn chọn – ví dụ
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
47
Truy vấn nhóm
Select [Distinct|Top n[%]] field1 [As alias1][,field2 [As alias2][,...]]
From table1 [Inner Join table2 On table1.field1 ? table2.field2] ...
[Where dieuKienLocMauTinNguon]
[Group By fieldGroupBy[,fieldGroupBy[,...]]
[Having dieuKienLocMauTinTongHop]
[Order By field1[Asc|Desc][,field2[Asc|Desc]][,...]]];
điềuKiệnLọcMẫuTinNguồn: điều kiện mà các mẫu tin nguồn phải thỏa mãn (phép chọn)
fieldGroupBy: tên field mà các mẫu tin có dữ liệu giống nhau trên ấy được xếp vào cùng nhóm.
điềuKiệnLọcMẫuTinTổngHợp: điều kiện mà các mẫu tin tổng hợp phải thỏa mãn (phép chọn)
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
48
Truy vấn nhóm – ví dụ
Ví du: Đếm số lượng sinh viên nữ của mỗi khoa
SELECT Kh.MAKHOA,TENKHOA,COUNT(Kh.MAKHOA) AS SOLUONG
FROM (Sv Inner Join Lop On Sv.MALOP = LOP.MALOP)
INNER JOIN Kh On lop.MAKHOA=Kh.MAKHOA
WHERE NU
GROUP BY Kh.MAKHOA,TENKHOA;
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
49
Truy vấn lồng nhau
Là những câu lệnh truy vấn mà trong thành phần WHERE hay HAVING có chứa thêm một câu lệnh Select khác. Câu lệnh select khác này gọi là subquery. Ta lồng câu Select vào phần Where hay Having theo cú pháp sau:
o bieuthuc toanTuSoSanh [ANY | ALL | SOME] (cauLenhSQL)
ANY, SOME là bất kỳ, ALL là tất cả
Các mẫu tin của query chính thỏa mãn toán tử so sánh với bất kỳ/ tất cả mẫu tin nào của subquery
o bieuThuc [NOT] IN (cauLenhSQL)
Các mẫu tin của query chính có giá trị bằng với một giá trị trong subquery
o [NOT] EXISTS (cauLenhSQL).
Các mẫu tin của query chính thỏa mãn khi subquery có mẫu tin
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
50
Truy vấn lồng nhau – ví dụ
Ví du: Lập danh sách sinh viên có học bổng cao nhất
SELECT *
FROM Sv
WHERE HOCBONG>=ALL(SELECT HOCBONG FROM SV);
Ví du: Lập danh sách sinh viên có điểm thi môn CSDL cao nhất
SELECT SV.MASV,HOTEN,NU,NGAYSINH,DIEMTHI
FROM sv Inner Join kq On Sv.MASV = Kq.MASV
WHERE MAMH=`CSDL` AND DIEMTHI >= ALL
(SELECT DIEMTHI FROM KQ WHERE MAMH=`CSDL`);
Hiểu và vận dụng tốt lệnh truy vấn dữ liệu là một việc làm cực kỳ cần thiết để tạo ra các kết quả cho báo cáo, thống kê số liệu.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
51
Chương 2
MỘT SỐ KHÁI NIỆM
CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ
RÀNG BUỘC TOÀN VẸN
PHỤ THUỘC HÀM
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
52
Ràng buộc toàn vẹn
(Entegrity constraint)
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 một lược đồ quan hệ hoặc trong các lược đồ quan hệ của một cơ sở dữ liệu. 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 thỏa 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.
Ví dụ 1: Xét cơ sở dữ liệu về quản lý sinh viên, từ CSDL này ta có thể xác định được một số ràng buộc tòan vẹn sau:
R1: không thể có >1 sinh viên có cùng MASV
R2: Tuổi sinh viên phải >= 18
R3: Giới tính ( phái) phải là nam hoặc nữ.
Ví dụ 2: Xét CSDL về đăng ký đất đai ta có các ràng buộc tòan vẹn sau:
R1: Số thửa phải là duy nhất trong một tờ bản đồ.
R2: Diện tích số thửa phải >0.
R3: Thời hạn sử dụng phải >50 năm.
R4: Lọai đất phải là một trong các lọai đất theo qui định của Luật ĐĐ.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
53
Kiểm tra Ràng buộc toàn vẹn
Trong hồ sơ phân tích thiết kế hệ thống CSDL cần phải xác định đầy đủ các ràng buộc tòan vẹn và cần phải có thủ tục cụ thể để kiểm tra các ràng buộc tòan vẹn mỗi khi nó bị vi phạm.
Ràng buộc tòan vẹn có thể được kiểm tra theo hai cách:
+ Cách 1: Kiểm tra ngay khi nhập dữ liệu: cách này thường sử dụng đối với việc kiểm tra đơn giản, ít tốn thời gian. Ví dụ: kiểm tra miền giá trị, giới tính...
+ Cách 2: Kiểm tra định kỳ hoặc khi cần; cách này thường sử dụng với việc kiểm tra phức tạp tốn nhiều thời gian. Ví dụ kiểm tra về thời hạn sử dụng tổng diện tích trong ranh giới hành chính.
Ràng buộc tòan vẹn nói lên các quy tắc quản lý của hệ thống cần tin học hóa.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
54
Các yếu tố của RBTV
1. Di?u ki?n
Được mô tả một cách hình thức bằng ngôn ngữ tự nhiên hoặc đại số.
Ví dụ: Cho hai quan hệ:
LOAIDAT( MA_LD, TEN_FAO, TEN_VN, KY_HIEU)
R1: ? mald1 ? LOAIDAT ? mald2 ? LOAIDAT ? loaidat1 ? loaidat2: mald1.MA_LD ? mald2.MA_LD. (hai loại đất khác nhau thì có MA_LD khác nhau)
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
55
Các yếu tố của RBTV
2) Bối cảnh:
Bối cảnh của một 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 ràng buộc toàn vẹn. 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ệ.
.Ví dụ: Xét CSDL về đăng ký đất đai bao gồm các thực thể (quan hệ) sau:
LOAIDAT( MA_LD, TEN_FAO, TEN_VN, KY_HIEU)
DOITUONGSD(MA_DTSD, TEN_DTSD, NGAY_DK)
HIENTRANG( KY_HIEU, MD_SD)
DANGKY( SOTO_BD, SO_THUA, MA_LD, MA_DTSD, KY_HIEU, D_TICH, THOIHAN_SD).
Với các RBTV sau:
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
56
Các yếu tố của RBTV
R1: Điều kiện: những lọai đất khác nhau sẽ đánh MA_LD khác nhau
Bối cảnh: trong một quan hệ
R2: Điều kiện: Các đối tượng sử dụng khác nhau sẽ đánh MA_DTSD khác nhau
Bối cảnh: trong một quan hệ
R3: Điều kiện: Mục đích sử dụng đất khác nhau sẽ đánh KY_HIEU khác nhau
Bối cảnh: Trong một quan hệ
R4: Điều kiện: trong cùng một tờ bản đồ SO_THUA phải khác nhau
Bối cảnh: trong cùng một quan hệ
R5: Điều kiện: MA_LD trong DANGKY phải có trong LOAIDAT
Bối cảnh: Trong hai quan hệ DANGKY và LOAIDAT
R6: Điều kiện: MA_DTSD trong DANGKY phải có trong DOITUONGSD
Bối cảnh: Trong hai quan hệ DANGKY và DOITUONGSD
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
57
Tầm ảnh hưởng
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
58
1) Ràng buộc tòan vẹn có bối cảnh là một quan hệ (trên một quan hệ)
a.) Ràng buộc tòan vẹn về miền giá trị: Ràng buộc này ảnh hưởng đén những thuộc tính về miền giá trị.
b.) Ràng buộc tòan vẹn liên thuộc tính: Là ràng buộc tòan vẹn được xác định trên nhiều thuộc tính.
c.) Ràng buộc tòan vẹn liên bộ: Là lọai ràng buộc tòan vẹn xác định liên quan đến nhiều bộ trong một quan hệ, khi cần kiểm tra đến ràng buộc tòan vẹn lọai này ta phải xét đến nhiều bộ trong quan hệ, thường gặp nhất là khóa và phụ thuộc hàm (R2 trong Ví dụ 2, phần a)
d.) Ràng buộc tòan vẹn khóa nội: Định nghĩa khóa : Khóa của một quan hệ là tập tối thiểu của các thuộc tính mà mỗi trường hợp cụ thể của nó xác định duy nhất một bộ trong quan hệ.
Phân loại RBTV
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
59
Phân loại RBTV
2) Ràng buộc tòan vẹn có bối cảnh trên nhiều quan hệ:
a.) Phụ thuộc tồn tại: RBTV kiểu phụ thuộc tồn tại là sự tồn tại của một bộ trong quan này phụ thuộc vào sự tồn tại của 1 bộ trong quan hệ khác. Thường gặp nhất là do sự hiện diện của khóa ngọai hoặc lồng khóa.
b) RBTV liên bộ và liên quan hệ: Là RBTV liên quan đến một nhóm các bộ giữa các quan hệ - ví dụ hạng mức đất.
c) RBTV liên bộ, liên thuộc tính và liên quan hệ: Là RBTV mà giá trị của một thuộc tính liên quan đến các thuộc tính khác nhau của nhiều bộ trên các quan hệ - ví dụ về định giá đất.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
60
Chương 2
MỘT SỐ KHÁI NIỆM
CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ
RÀNG BUỘC TOÀN VẸN
PHỤ THUỘC HÀM
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
61
Phụ thuộc hàm
(Functional dependency)
Phụ thuộc hàm là sự biểu diễn ràng buộc toàn vẹn dưới hình thức toán học để bảo đảm thông tin không bị tổn thất khi phân rã hoặc kết nối giữa các quan hệ.
Cho Q là một quan hệ Q+ là tập thuộc tính của Q; X,Y? Q+, X???Y(? :tập rỗng). Ta nói: X xác định Y hay Y phụ thuộc hàm vào X, ký hiệu:X ?Y nếu:
(luôn xác định cùng trường hợp cụ thể Y khi cho cùng trường hợp cụ thể X)
?q1,q2?Q+:q1*X=q2*X?q1Y=q2Y
S? PTH cĩ th? cĩ c?a Q(A1, A2.An) l 22n
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
62
Phụ thuộc hàm – ví dụ
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
63
Phụ thuộc hàm – ví dụ
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
64
Ph? thu?c hàm(ví dụ)
MASV → TEN_SV: Mỗi mã sv có một tên
MAMH → TEN_MH: Mỗi mã môn học có một tên
MSGV → TEN_GV: Mỗi mã giáo viên có một mã số công chức
SHTHUA → TEN_CSD: Mỗi số thửa có một tên chủ sử dụng
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
65
Ph? thu?c hàm(ví dụ)
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
66
Phụ Thuộc Hàm – ví dụ
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
67
Phụ Thuộc Hàm
Chú ý : Phụ thuộc hàm X xác định Y liên quan đến tất cả các giá trị có thể có của X và Y trong bảng chứ không phải chỉ dựa trên vài giá trị hiện tại. Thực chất phụ thuộc hàm được xác định khi biết nghĩa của các thuộc tính trong X và Y.
Việc xác định các phụ thuộc hàm là dựa vào thế giới thực do mô tả trong lược đồ khái niệm. Xác định được các phụ thuộc hàm là một phần quan trọng trong quá trình hiểu ý nghĩa của cơ sở dữ liệu. Chính người quản trị cơ sở dữ liệu sẽ thực hiện công việc này. Ngòai ra còn có phụ thuộc hàm trên nhiều thực thể
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
68
Phụ Thuộc Hàm – ví dụ
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
69
Tính chất phụ thuộc hàm
Cho quan hệ Q với tập thuộc tính Q+, X, Y, Z thuộc Q+
* Tính chất 1: Tính phản xạ: Nếu Y? X?X?Y (Y là con hoặc = X)
Ví dụ: SOTO_BD, SO_THUA ? SO_THUA
* Tính chất 2: Tính thêm vào
Nếu X? Y thì X Z ? Y Z (X Z= X?Z)
* Tính chất 3: Tính bắc cầu:
Nếu X ?Y và Y ? Z thì X ? Z
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
70
Tính chất phụ thuộc hàm
Ba tính chất trên là nội dung hệ tiên đề Amstrong đưa ra năm 1974. Từ ba tính chất trên ta có thể suy diễn ra một số phụ thuộc hàm khác gọi là luật dẫn suy diễn.
Trong một cơ sở dữ liệu với tập phụ thuộc hàm F, giả sử f là một phụ thuộc hàm được suy ra từ F. Nếu các phụ thuộc hàm trong F được kiểm tra đúng thì F hiển nhiên là đúng.
Ví dụ: Xét cơ sở dữ liệu sau:
DANGKY(SOTO_BD, SO_THUA, CHU_SD, L_.DAT, D_TICH, DT_SD) với các phụ thuộc hàm sau:
f1: SOTO_BD, SO_THUA? CHU_SD, L_DAT, D_TICH
f2: CHU_SD ? DT_SD
f3: SOTO_BD, SO_THUA ? DT_SD
Qua đó ta thấy phụ thuộc hàm f3 được suy ra từ phụ thuộc hàm f1 và f2 thông qua tính chất bắc cầu
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
71
Một số luật dẫn suy diễn
1) Luật phân rã:
Nếu X?Y và Z ? Y thì X? Z
Chứng minh: Z ? Y ? Y?Z (ph?n x?), mà X?Y ? X ? Z (b?c cầu)
Ví dụ: Cho quan hệ:
DVDAT(SO_DV, D_TICH, L_DAT, DO_DOC, T_DAY, N_NUOC, HT_SDD)
khóa là SO_DV
SODV? D_TICH, L_DAT, T_DAY, N_NUOC, HT_SDD.
Nếu biết được số đơn vị đất đai thì sẽ biết tất cả các thông tin khác có liên quan đến đơn vị đó
SO_DV?L_DAT, D_TICH (Chỉ muốn biết lọai đất và diện tích của đơn vị đó)
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
72
Một số luật dẫn suy diễn
2) Luật băc cầu giả:
Nếu X?Y và WY?Z ? WX ? Z
Chứng minh:
Ta có: W ? W
X?Y ? W X?WY ( Thêm vào)
mà WY? Z ? WX ? Z(bắc cầu)
Ví dụ : Có hai quan hệ sau:
KEHOACH( G_VIEN, M_HOC, GIAM_THI, NG_THI) thể hiện việc phân công gác thi cho các giám thị với một số quy tắc quản lý sau:
QT1: G_VIEN ? M_HOC: mỗi giáo viên dạy một môn học
QT2: M_HOC, NG_THI ? GIAM_THI: mỗi môn học được một giám thị gác thi vào một ngày.
Do G_VIEN? M_HOC ? G_VIEN, NG_THI? M_HOC, NG_THI
Do đó: G_VIEN,NG_THI ? GIAM_THI
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
73
Một số luật dẫn suy diễn
3) Luật hội:
Cho X?Y và X?Z ? X? YZ
Chứng minh:
X?Y? X?XY ( thêm vào)
X?Z ? XY?ZY (thêm vào) ? X?YZ(bắc cầu)
Bài tập:
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
74
NỘI DUNG CHƯƠNG TRÌNH
NHẬP MÔN CƠ SỞ DỮ LIỆU
CƠ SỞ DỮ LIỆU QUAN HỆ
CHUẨN HOÁ CƠ SỞ DỮ LỊÊU
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
CƠ SỞ DỮ LIỆU TÀI NGUYÊN ĐẤT ĐAI
CƠ SỞ DỮ LIỆU KHÔNG GIAN
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
75
CHƯƠNG 3: CHUẨN HOÁ CSDL
MỘT SỐ KHÁI NIỆM
CÁC DẠNG CHUẨN CỦA LƯỢC ĐỒ QUAN HỆ
CHUẨN HOÁ LƯỢC ĐỒ CSDL THÔNG QUA PHÉP TÁCH
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
76
MỘT SỐ KHÁI NIỆM
1. Lược đồ cơ sở dữ liệu:
Lược đồ cơ sở dữ liệu là một tập các quan hệ con và các phụ thuộc hàm liên quan đến một ứng dụng nào đó.
Có nhiều cách để lưu trữ, tổ chức thông tin đối với một ứng dụng cụ thể( có thể xây dựng một hoặc nhiều quan hệ để mô tả cùng một nội dung). Do đó để quản lý, lưu trữ thông tin không bị dư thừa, dễ dàng truy xuất, thêm, bớt thì việc chuẩn hóa các lược đồ quan hệ là rất cần thiết.
Chuẩn hóa một quan hệ là quá trình biến đổi những dữ liệu cập nhật( thêm, xóa, sửa) gây nên những dị thường cho quan hệ thành các dạng phù hợp.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
77
MỘT SỐ KHÁI NIỆM
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
78
MỘT SỐ KHÁI NIỆM
2. Thuộc tính khóa (primary key) - Thuộc tính không khóa (nonprimary key)
Cho lược đồ quan hệ Q (Q+), K? Q+ là khóa chỉ định của Q nếu:
Thuộc tính A?K ? A là thuộc tính khóa
Thuộc tính A? K? A là thuộc tính không khóa
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
79
MỘT SỐ KHÁI NIỆM
3. Phụ thuộc hàm đầy đủ (Fully functional dependency)
Cho lược đồ quan hệ Q với tập thuộc tính Q+
X,Y là hai tập con khác nhau của Q+, Y được gọi là phụ thuộc hàm đầy đủ vào X nếu có phụ thuộc hàm không hiển nhiên X? Y và Y không phụ thuộc hàm vào bất kỳ tập con nào của X.
Ghi chú: Để chứng minh một tập thuộc tính Y là không phụ thuộc đầy đủ vào tập thuộc tính X ta cần chứng minh
? X ?Y hoặc X?Y nhưng ? X`?X : X`?Y
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
80
MỘT SỐ KHÁI NIỆM
4. Phụ thuộc bắc cầu của một tập thuộc tính vào một tập thuộc tính khác.
Cho lược đồ quan hệ Q với tập thuộc tính Q+
X và Y là hai tập con của Q+,X ? Y, ta nói Y phụ thuộc bắt cầu vào tập thuộc tính X nếu tồn tại một tập thuộc tính A ? Q+ sao cho X? A và A? Y nhưng A? X (A không xác định X)
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
81
CÁC DẠNG CHUẨN CỦA LƯỢC ĐỒ QUAN HỆ
Quan hệ được chuẩn hóa là quan hệ trong đó mỗi miền của một thuộc tính chỉ chứa những giá trị nguyên tố (atomic), tức là không phân nhỏ được nữa và do đó, mỗi giá trị trong quan hệ cũng là nguyên tố.
Quan hệ có chứa các miền giá trị là không nguyên tố gọi là quan hệ không chuẩn hóa. Một quan hệ được chuẩn hóa có thể thành một hoặc nhiều quan hệ chuẩn hóa khác và không làm mất mát thông tin.
Để đánh giá chất lượng của lược đồ quan hệ người ta đưa ra các tiêu chuẩn gọi là dạng chuẩn. Lược đồ cơ sở dữ liệu ở dạng chuẩn càng cao thì chất lượng càng tốt. Thông thường khi thiết kế cơ sở dữ liệu ta cố gắng đưa các quan hệ về dạng chuẩn 3 hoặc tốt hơn là dạng chuẩn BC.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
82
Dạng chuẩn 1 - 1NF
(First Normal Form)
Một lược đồ quan hệ Q được gọi là đạt dạng chuẩn nếu và chỉ nếu tòan bộ các miền ( thuộc tính) có mặt trong Q đều chỉ chứa các giá trị nguyên tố( thuộc tính đơn)
Định nghĩa trên cho thấy bất kỳ quan hệ chuẩn hóa nào cũng ở dạng chuẩn 1NF nếu quan hệ đó không có thuộc tính gộp. Do đó khi mô tả một bảng chỉ nên giữ giá trị đơn tránh dùng các miền thuộc tính giá trị kép như tên bao gồm họ và tên. Trong trường hợp này khi một quan hệ không thuộc 1NF người ta tách thuộc tính kép ra thành các thuộc tính đơn hoặc tách quan hệ ban đầu ra thành hai hoặc nhiều quan hệ khác.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
83
Dạng chuẫn 1 – ví dụ
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
84
Dạng chuẩn 2 - 2NF
(Second Normal Form)
Cho lược đồ quan hệ Q với tập thuộc tính Q+, Q được gọi là đạt dạng chuẩn 2 nếu:
Q đạt dạng chuẩn 1 và
Các thuộc tính không khóa phụ thuộc đầy đủ vào khóa.
Một bảng thuộc dạng chuẩn một luôn có thể được tách ra thành các bảng tương đương thuộc dạng chuẩn hai. Vì không có thông tin nào bị mất trong việc tách quan hệ, bất kỳ thông tin nào có thể suy ra được từ cấu trúc ban đầu cũng có thể nhận được từ các quan hệ con theo cấu trúc mới.
Dạng chuẩn hai cho phép loại trừ dư thừa về khóa thuộc tính.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
85
Dạng chuẩn 2 - 2NF
(Second Normal Form)
Ví dụ: Cho lược đồ quan hệ SINHVIEN(MA_SV, MON_HOC, TEN_SV, DIA_CHI, DIEM) , Với các phụ thuộc hàm sau:
f1: MA_SV ? TEN_SV, DIA_CHI
f2: MA_SV, MON_HOC? DIEM
Khóa là MA_SV, MON_HOC
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
86
Dạng chuẩn 3 - 3NF
(Third Normal Form)
Một lược đồ quan hệ được gọi là đạt dạng chuẩn 3 nếu:
Đạt được dạng chuẩn 2 và
Các thuộc tính không khóa không phụ thuộc bắc cầu vào khóa chính.
Ví dụ 1:
Cho lược đồ quan hệ HOADON(SO_HD, NGAY_LAP, K_HANG, M_HANG, SO_LG, DON_GIA,THANHTIEN)
HOADON CHƯA ĐẠT DANG CHUẨN 3
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
87
DẠNG CHUẨN BC
(BOYE CODD)
Cho lược đồ quan hệ Q với tập phụ thuộc hàm F, lược đồ quan hệ này được gọi là đạt dạng chuẩn BC nếu với mọi phụ thuộc hàm f: X?Y xác định trên lược đồ quan hệ (X?Y là không hiển nhiên) thì X là một khóa của lược đồ quan hệ Q.
Như vậy một lược đồ quan hệ đạt được dạng chuẩn BC thì chỉ có phụ thuộc hàm mà vế trái là khóa. Lược đồ quan hệ này hiển nhiên đạt được dạng chuẩn 3.
Để chứng minh vấn đề trên, giả sử rằng lược đồ quan hệ Q là ở dạng BCNF nhưng không thuộc 3NF. Như vậy sẽ tồn tại ít nhất một phụ thuộc hàm thành phần hoặc phụ thuộc hàm bắt cầu.
f1: X?Y
f2: Y?A
Trong đó X là khóa của Q, A? X, và A? Y,Y? X?F( không tồn tại phụ thuộc hàm này trong tập phụ thuộc hàm của Q) Do đó Y không phải là khóa của Q, mà Y ?A ? F (là một phụ thuộc hàm) cho nên vi phạm điều kiện của BCNF.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
88
PHỤ THUỘC ĐA TRỊ
Giả sử cho R với các thuộc tính A1, A2 ,. An là một lược đồ quan hệ với các tập thuộc tính X,Y ? R, ta nói rằng X ? Y (X xác định đa trị Y hay Y phụ thuộc đa trị vào X) nếu cho những giá trị X, có một tập giá trị Y liên quan và tập này độc lập với các thuộc tính
Z = R-X-Y.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
89
Dạng chuẩn 4 - 4NF
(Fourth Normal Form)
Dạng chuẩn 4 là dạng tổng quát của chuẩn BCNF để tách các quan hệ có phụ thuộc đa trị. Như vậy một quan hệ ở dạng chuẩn 4 khi và chỉ khi những phụ thuộc đa trị cơ sở là phụ thuộc trong đó xác định một thuộc tính tức là nếu có phụ thuộc đa trị thì nó có dạng X ? A. Một quan hệ ở dạng chuẩn 4 sẽ thuộc dạng BCNF và 3NF.
Ở ví dụ trên nếu tách quan hệ SINH_VIEN thành SV_M_HOC với các thuộc tính MA_SV và MON_HOC và quan hệ SV_T_THAO bao gồm các thuộc tính MA_SV và THE_THAO thì các quan hệ mới này sẽ đạt dạng chuẩn 4.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
90
Chuẩn hóa lược đồ quan hệ thông qua phép tách
Định lý:
Cho lược đồ quan hệ Q với tập thuộc tính Q+ phụ thuôc hàm không hiển nhiên f: X?Y xác định trên Q. Phép tách Q thành hai quan hệ con Q1 (X,Y) và Q2 (Q+Y) là phép tách bảo tòan thông tin nghĩa làQ(Q+) = Q1 Q2
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
91
Chuẩn hóa lược đồ quan hệ thông qua phép tách
Dựa vào định lý trên ta có thể chuấn hóa lược đồ quan hệ thông qua phép tách như sau:
Cho lược đồ quan hệ Q(Q+) với tập thuộc tính F xác định trên Q. Thuật tóan chuẩn hóa như sau:
Bước 1:
Xác định tất cả các phụ thuộc hàm F sao cho:
F:=F ?f?F : VT( f) ?VP( f) = Q+?, trong đó (VT: Vế trái, VP: Vế phải)
Bước 2:
+ Nếu F = ? ( không có PTH) thì kết quả là lược đồ quan hệ Q và kết thúc:
+ Nếu F ?? thì:
. Lấy một PTH f: X? Y trong F (nên lấy những PTH mang tính bắt cầu hoặc phụ thuộc bộ phận hay từng phần vào khoá chính).
. Tách quan hệ Q thành hai quan hệ Q1 và Q2 dựa vào PTH f
Q1 (X,Y) với tập Pth F1
F1= ?f/ VT( f) ?VP( F) ? XY?
Q2(Q+ Y) với tập Pth F2:
F2 = ?f/ VT( f) ?VP( F) ? Q+ Y?
Bước 3:
Nếu các quan hệ con vẫn còn các pth bắt cầu hoặc phụ thuộc bộ phận hay từng phần thì tiếp tục thực hiện từ bước 1 cho các quan hệ đó cho đến khi không thể tách được nữa.
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
92
NỘI DUNG CHƯƠNG TRÌNH
NHẬP MÔN CƠ SỞ DỮ LIỆU
CƠ SỞ DỮ LIỆU QUAN HỆ
CHUẨN HOÁ CƠ SỞ DỮ LỊÊU
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
CƠ SỞ DỮ LIỆU TÀI NGUYÊN ĐẤT ĐAI
CƠ SỞ DỮ LIỆU KHÔNG GIAN
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
93
Chương 4
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
KHÁI NIỆM HỆ THỐNG
HỆ THÔNG TIN QUẢN LÝ
CÁC GIAI ĐOẠN PHÂN TÍCH VÀ THIẾT KẾ MỘT HỆ THỐNG THÔNG TIN QUẢN LY
Saturday, December 25, 2010
ThS. Lê Ngọc Lãm Cơ Sở Dữ Liệu
94
KHÁI NIỆM HỆ THỐNG
Hệ thống là một tập hợp các phần tử tương tác được tổ chức theo một mô hình nhất định nhằm thực hiện một mục đích nào đó.
Phần tử trong hệ thống là tập hợp các phương tiện vật chất và kể cả nhân lực. Các phần tử này có thể tương tác với nhau theo một qui luật nhất định gọi là qui tắc hoạt động của hệ thống.
Hệ thống mở: là hệ thống mà các phần tử trong đó có tương tác với môi trường bên ngoài.
Ví dụ về hệ thống: các cơ quan tổ chức đều là những hệ thống sống và phát triển. Một hệ thống thông tin luôn là hệ thống mở. Do
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Vương Thị Sen
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)