Bài giảng môn Cơ sở dữ liệu
Chia sẻ bởi Minh Nguyet |
Ngày 19/03/2024 |
11
Chia sẻ tài liệu: Bài giảng môn Cơ sở dữ liệu thuộc Công nghệ thông tin
Nội dung tài liệu:
CƠ SỞ DỮ LIỆU
Ths. Đỗ Thị Minh Nguyệt
Trường CĐCĐ HT
Bộ môn tin
Email:[email protected]
2
Tài liệu tham khảo
3
Mục đích yêu cầu
Hiểu được nguyên lý cơ bản khi xây dựng 1 csdl
Biết cách triển khai và thiết kế một csdl
Vận dụng được vào những bài toán trong thực tế
4
Nội dung trình bày
Chương I. Giới thiệu chung về CSDL
Chương II. Mô hình thực thể liên kết
Chương III. Mô hình DLQH & CSDL quan hệ
Chương IV. Ngôn ngữ vấn tin SQL
Chương V. Ràng buộc dữ liệu
5
CHƯƠNG I. GIỚI THIỆU CHUNG VỀ CSDL
Kiến trúc của hệ quản trị CSDL
Các khái niệm cơ bản
Cơ sở dữ liệu
Hệ quản trị cơ sở dữ liệu là hệ thống phần mềm cho phép người dùng giao tiếp với cơ sở dữ liệu
Tập hợp các dữ liệu có liên quan tới nhau chứa thông tin về 1 tổ chức nào đó
Vật lý
Quan niệm
Khung nhìn
6
CHƯƠNG I. GIỚI THIỆU CHUNG VỀ CSDL
Sự cần thiết
của các
hệ CSDL
Thống nhất các tiêu chuẩn, các biện pháp
bảo vệ, an toàn dữ liệu
Có thể triển khai đồng thời nhiều ứng dụng
trên cùng 1 CSDL
Đảm bảo được tính toàn vẹn của dữ liệu
Giảm bớt dư thừa dữ liệu trong lưu trữ
7
Mô hình mạng
Mô hình quan hệ
CHƯƠNG I. GIỚI THIỆU CHUNG VỀ CSDL
Bao gồm 1 hệ thống các ký hiệu để mô tả dữ liệu dưới dạng dòng và cột
Dữ liệu được biểu diễn bởi 1 tập các bản ghi, các mối quan hệ được biểu diễn bởi các mối liên kết có thể được xem như những con trỏ
8
CHƯƠNG I. GIỚI THIỆU CHUNG VỀ CSDL
Mô hình quan hệ - Relation model
9
CHƯƠNG I. GIỚI THIỆU CHUNG VỀ CSDL
Một hệ thống các ký hiệu mô
tả dữ liệu dưới dạng dòng và cột
Một tập hợp các phép toán
thao tác trên dữ liệu
Các ràng buộc toàn vẹn
(mối liên kết giữa các đối tượng)
Mô hình
quan hệ
10
CHƯƠNG I. GIỚI THIỆU CHUNG VỀ CSDL
Mô hình mạng – Network model
11
CHƯƠNG II. MÔ HÌNH THỰC THỂ LIÊN KẾT
1. Khái niệm cơ bản
Thực thể
Khóa
Một thực thể là 1 ‘vật’ hoặc 1 ‘đối tượng’ trong thế giới thực, phân biệt được với đối tượng khác
Khoá thể hiện sự ràng buộc về tính duy nhất trên các thuộc tính. Có thể dùng thuộc tính khoá để xác định 1 thực thể duy nhất
Thuộc tính
Thuộc tính đơn
Thuộc tính đa trị
Thuộc tính đơn trị
Thuộc tính phức hợp
Thuộc tính được suy diễn
12
CHƯƠNG II. MÔ HÌNH THỰC THỂ LIÊN KẾT
2. Kiểu liên kết
Một liên kết là 1 sự kết hợp của 1 số thực thể.
NHÂN VIÊN
PHÒNG
e1
e2
e3
…
r1
r2
r3
…
d1
d2
d3
…
Hình 2.1. Một thể hiện của kiểu liên kết ‘LÀM VIỆC CHO’
Làm việc cho
13
CHƯƠNG II. MÔ HÌNH THỰC THỂ LIÊN KẾT
3. Mối quan hệ
Mối quan hệ của 1 kiểu liên kết cho biết số các liên kết mà 1 thực thể có thể tham gia vào
Mối quan hệ 1- 1: (one to one)
Mối quan hệ 1- n : (one to many)
Mối quan hệ n- n: (many to many)
14
CHƯƠNG II. MÔ HÌNH THỰC THỂ LIÊN KẾT
4. Biểu đồ thực thể liên kết
Quy ước
15
CHƯƠNG II. MÔ HÌNH THỰC THỂ LIÊN KẾT
4. Biểu đồ thực thể liên kết
Quy ước
Dựa vào biểu đồ quan hệ sau, ta có thể phát biểu và phân tích bài toán:
16
CHƯƠNG II. MÔ HÌNH THỰC THỂ LIÊN KẾT
Tên
Tên
17
CHƯƠNG II. MÔ HÌNH THỰC THỂ LIÊN KẾT
VD khác, lập biểu đồ ER cho bài toán quản lý lịch dạy học sau:
Mỗi giáo viên có 1 mã số giáo viên duy nhất, mỗi mã giáo viên xác định các thông tin: họ tên giáo viên, số điện thoại liên lạc. Mỗi giáo viên có thể dạy nhiều môn cho nhiều khoa nhưng chỉ thuộc sự quản lý hành chính của 1 khoa nào đó.
Mỗi môn học có 1 mã môn học duy nhất, mã môn học cho biết tên môn học. Ứng với mỗi lớp thì mỗi môn học chỉ được phân cho 1 giáo viên.
Mỗi phòng học có 1 số phòng học (Số phòng), mỗi phòng có 1 chức năng, chẳng hạn như phòng lý thuyết, phòng thực hành tin, phòng lab, phòng thí nghiệm vật lý, …
18
CHƯƠNG II. MÔ HÌNH THỰC THỂ LIÊN KẾT
Mỗi khoa có 1 mã khoa duy nhất, mã khoa cho biết tên khoa, số điện thoại của khoa
Mỗi lớp có 1 mã lớp duy nhất, mỗi lớp có 1 tên lớp, sĩ số lớp. Mỗi lớp có thể học nhiều môn của nhiều khoa nhưng chỉ thuộc sự quản lý hành chính của 1 khoa nào đó.
Hàng tuần mỗi giáo viên phải lập lịch báo giảng cho biết giáo viên đó sẽ dạy những lớp nào, ngày nào, môn gì, phòng nào, từ tiết nào đến tiết nào, tên bài dạy, ghi chú về tiết dạy này, .đây là giờ dạy lý thuyết hay thực hành. Nếu “lý thuyết = 1” thì đó là giờ lý thuyết còn nếu “Lý thuyết = 0 ” thì đó là giờ thực hành.
19
CHƯƠNG II. MÔ HÌNH THỰC THỂ LIÊN KẾT
20
CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ
VÀ CSDL QUAN HỆ
Miền
Các thuật ngữ
Quan hệ
Lược đồ quan hệ
- Khóa
- Siêu khóa
- Khóa ngoại
1. Khái niệm
21
2.1 Phép hợp (Union)
CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ
VÀ CSDL QUAN HỆ
2. Các phép toán đại số trên các quan hệ
22
2.2 Phép giao (Intersect)
CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ
VÀ CSDL QUAN HỆ
2. Các phép toán đại số trên các quan hệ
23
2.3 Phép trừ (Except)
CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ
VÀ CSDL QUAN HỆ
2. Các phép toán đại số trên các quan hệ
24
2.4 Phép tích decac (Descartes)
CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ
VÀ CSDL QUAN HỆ
2. Các phép toán đại số trên các quan hệ
25
2.5 Phép chia (Division)
CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ
VÀ CSDL QUAN HỆ
2. Các phép toán đại số trên các quan hệ
CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ
VÀ CSDL QUAN HỆ
26
Ví dụ
27
2.6 Phép chọn (Selection)
Tìm kiếm những dữ liệu thoả mãn yêu cầu của người sử dụng trên các quan hệ
Phép chọn trên quan hệ R theo điều kiện E là một quan hệ S có :
CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ
VÀ CSDL QUAN HỆ
2. Các phép toán đại số trên các quan hệ
28
2.7 Phép chiếu (Projection )
Xây dựng 1 quan hệ mới từ 1 quan hệ đã cho bằng cách loại bỏ đi 1 số thuộc tính của quan hệ đó
Phép chiếu quan hệ R trên tập X là 1 quan hệ S có:
CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ
VÀ CSDL QUAN HỆ
2. Các phép toán đại số trên các quan hệ
29
2.8 Phép kết nối (Join)
Kết nối các quan hệ lại với nhau thông qua các thuộc tính chung, từ đó cho phép lấy được dữ liệu nằm ở nhiều quan hệ có liên quan tới nhau
Phép kết nối của R1 và R2 là 1 quan hệ r (trên U), có:
CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ
VÀ CSDL QUAN HỆ
2. Các phép toán đại số trên các quan hệ
30
CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ
VÀ CSDL QUAN HỆ
31
Chương IV. Ngôn ngữ vấn tin SQL
1. Khái niệm
Ngôn ngữ SQL là kiểu ngôn ngữ cơ sở dữ liệu quan hệ (Relation Data Language)
Ngôn ngữ định nghĩa dữ liệu: DDL (Data Define Language )
SQL gồm
2 thành phần
Ngôn ngữ thao tác dữ liệu: DML (Data Manipulation Language) .
32
Chương IV. Ngôn ngữ vấn tin SQL
Cấu trúc chung
SELECT [DISTINCT | ALL] {* | [ AS [] ] [...]}
FROM < tên bảng> [bí danh] [...]
[WHERE <điều kiện>]
[GROUP BY] [HAVING <điều kiện>]
[ORDER BY]
33
Chương IV. Ngôn ngữ vấn tin SQL
2. Các thao tác với bảng
2.1. Tạo bảng
CREATE TABLE ( (),
(),
...........
()
);
2.2. Thêm bộ mới vào 1 bảng
INSERT INTO [danh sách cột] VALUES (danh sách các giá trị)
34
Chương IV. Ngôn ngữ vấn tin SQL
2.3. Thêm 1 cột mới vào một bảng
ALTER TABLE ADD tên cột Kiểu
2.4. Sửa dữ liệu
UPDATE SET = [ = , ........]
[WHERE <điều kiện>]
35
Chương IV. Ngôn ngữ vấn tin SQL
2.5. Xoá dữ liệu
DELETE FROM
[WHERE <điều kiện>]
2.6. Câu lệnh Select (tìm kiếm dữ liệu)
SELECT
FROM
[WHERE <điều kiện>]
[GROUP BY] [HAVING<điều kiện>]
[ORDER BY]
36
Trong câu Select:
Có thể sử dụng các biểu thức số học
Các hàm gộp: Max, Min, Count, Sum, AVG
Trong câu where
Có thể sử dụng các phép toán so sánh, các phép toán logic
Có thể có các loại điều kiện cơ sở:
So sánh giá trị của 1 biểu thức (bt) với 1 bt khác
Kiểm tra giá trị của bt có nằm trong tập đã xác định không
Kiểm tra xem giá trị của bt có nằm trong 1 khoảng xác định không
Đối sánh 1 xâu với một mẫu
Chương IV. Ngôn ngữ vấn tin SQL (tiếp)
37
Chương IV. Ngôn ngữ vấn tin SQL (tiếp)
Ví dụ: Cho CSDL sau:
38
Chương IV. Ngôn ngữ vấn tin SQL (tiếp)
1, Hiển thị danh sách sinh viên gồm các thông tin sau: Masv, hodem, ten, noisinh, sắp xếp tăng dần theo Masv
2, Lập danh sách điểm của các sinh viên cho môn học có mã môn là TDC, bao gồm: Masv, ho_ten, diem
3, Có bao nhiêu sinh viên có điểm thi môn TDC >=5
4, Cho biết thông tin về những sinh viên ở “Hà Nội”, “Hải Phòng”, hoặc “Thái Bình”
5, Lập danh sách sinh viên có tham gia ít nhất là 3 môn học
39
Chương IV. Ngôn ngữ vấn tin SQL (tiếp)
40
Chương IV. Ngôn ngữ vấn tin SQL
2.7. Phép đối sánh LIKE
Trong phép đối sánh xâu, phân biệt chữ hoa chữ thường
Ký tự phần trăm (%) sánh hợp với mọi xâu
Ký tự gạch dưới ( _ ) sánh hợp với mọi ký tự
Dùng toán tử NOT LIKE để tìm các xâu không sánh hợp
2.8. Truy vấn lồng nhau
41
CHƯƠNG V. RÀNG BUỘC DỮ LIỆU
Định nghĩa
Bao đóng của PTH
HTĐ Armstrong
A1. Nếu Y X
thì X Y
A2. Nếu X Y thì Z U:XZ YZ
A3. Nếu X Y và Y Z thì X Z
F F+
F+ F
Y gọi là phụ thuộc hàm vào X (KH: X Y) nếu r/R(U), với t1,t2 bất kỳ mà t1[X]=t2[X] thì t1[Y]=t2[Y]
42
CHƯƠNG V. RÀNG BUỘC DỮ LIỆU
Siêu khóa:
Khóa:
Khoá của lược đồ quan hệ
2
43
Thuật toán tìm khóa
1
- Xác định các Xi
- Tính các Xi+
Nếu Xi+ = U thì Xi là siêu khóa
K= {K1, K2, ..., Kn}
- Xét các các Ki Kj. Nếu Ki+= U thì Ki là khóa
Thuật toán 1!
CHƯƠNG V. RÀNG BUỘC DỮ LIỆU
44
CHƯƠNG V. RÀNG BUỘC DỮ LIỆU
- Tính IR = U-
- Tính IR+. Nếu IR+= U => R có khoá duy nhất K = IR
- Nếu IR+ U => R có 2 khóa trở lên
- Tính N =
với Xi IR
- Tính (N.IR)+
- Tính U1= U-(N.IR)+ =(K1, K2, …, Kk )
- Lấy lần lượt từng thuộc tính Ki bổ sung vào tập IR để trở thành khóa
Thuật toán 2
45
CHƯƠNG V. RÀNG BUỘC DỮ LIỆU
- R Є 1NF
- Mỗi thuộc tính không khoá phụ thuộc đầy đủ vào khoá chính của R
Trong quan hệ không chứa các quan hệ con lặp hoặc các thuộc tính đa trị
- R Є 2NF
- Không tồn tại những thuộc tính không khoá phụ thuộc bắc cầu vào thuộc tính khoá
1 NF
2 NF
3NF
46
CHƯƠNG V. RÀNG BUỘC DỮ LIỆU
- R Є BCNF
- R không chứa các PTH đa trị
R Є 3NF
Không tồn tại thuộc tính khoá phụ thuộc vào thuộc tính không khoá
BCNF
4 NF
[email protected]
www.themegallery.com
Thank You !
Ths. Đỗ Thị Minh Nguyệt
Trường CĐCĐ HT
Bộ môn tin
Email:[email protected]
2
Tài liệu tham khảo
3
Mục đích yêu cầu
Hiểu được nguyên lý cơ bản khi xây dựng 1 csdl
Biết cách triển khai và thiết kế một csdl
Vận dụng được vào những bài toán trong thực tế
4
Nội dung trình bày
Chương I. Giới thiệu chung về CSDL
Chương II. Mô hình thực thể liên kết
Chương III. Mô hình DLQH & CSDL quan hệ
Chương IV. Ngôn ngữ vấn tin SQL
Chương V. Ràng buộc dữ liệu
5
CHƯƠNG I. GIỚI THIỆU CHUNG VỀ CSDL
Kiến trúc của hệ quản trị CSDL
Các khái niệm cơ bản
Cơ sở dữ liệu
Hệ quản trị cơ sở dữ liệu là hệ thống phần mềm cho phép người dùng giao tiếp với cơ sở dữ liệu
Tập hợp các dữ liệu có liên quan tới nhau chứa thông tin về 1 tổ chức nào đó
Vật lý
Quan niệm
Khung nhìn
6
CHƯƠNG I. GIỚI THIỆU CHUNG VỀ CSDL
Sự cần thiết
của các
hệ CSDL
Thống nhất các tiêu chuẩn, các biện pháp
bảo vệ, an toàn dữ liệu
Có thể triển khai đồng thời nhiều ứng dụng
trên cùng 1 CSDL
Đảm bảo được tính toàn vẹn của dữ liệu
Giảm bớt dư thừa dữ liệu trong lưu trữ
7
Mô hình mạng
Mô hình quan hệ
CHƯƠNG I. GIỚI THIỆU CHUNG VỀ CSDL
Bao gồm 1 hệ thống các ký hiệu để mô tả dữ liệu dưới dạng dòng và cột
Dữ liệu được biểu diễn bởi 1 tập các bản ghi, các mối quan hệ được biểu diễn bởi các mối liên kết có thể được xem như những con trỏ
8
CHƯƠNG I. GIỚI THIỆU CHUNG VỀ CSDL
Mô hình quan hệ - Relation model
9
CHƯƠNG I. GIỚI THIỆU CHUNG VỀ CSDL
Một hệ thống các ký hiệu mô
tả dữ liệu dưới dạng dòng và cột
Một tập hợp các phép toán
thao tác trên dữ liệu
Các ràng buộc toàn vẹn
(mối liên kết giữa các đối tượng)
Mô hình
quan hệ
10
CHƯƠNG I. GIỚI THIỆU CHUNG VỀ CSDL
Mô hình mạng – Network model
11
CHƯƠNG II. MÔ HÌNH THỰC THỂ LIÊN KẾT
1. Khái niệm cơ bản
Thực thể
Khóa
Một thực thể là 1 ‘vật’ hoặc 1 ‘đối tượng’ trong thế giới thực, phân biệt được với đối tượng khác
Khoá thể hiện sự ràng buộc về tính duy nhất trên các thuộc tính. Có thể dùng thuộc tính khoá để xác định 1 thực thể duy nhất
Thuộc tính
Thuộc tính đơn
Thuộc tính đa trị
Thuộc tính đơn trị
Thuộc tính phức hợp
Thuộc tính được suy diễn
12
CHƯƠNG II. MÔ HÌNH THỰC THỂ LIÊN KẾT
2. Kiểu liên kết
Một liên kết là 1 sự kết hợp của 1 số thực thể.
NHÂN VIÊN
PHÒNG
e1
e2
e3
…
r1
r2
r3
…
d1
d2
d3
…
Hình 2.1. Một thể hiện của kiểu liên kết ‘LÀM VIỆC CHO’
Làm việc cho
13
CHƯƠNG II. MÔ HÌNH THỰC THỂ LIÊN KẾT
3. Mối quan hệ
Mối quan hệ của 1 kiểu liên kết cho biết số các liên kết mà 1 thực thể có thể tham gia vào
Mối quan hệ 1- 1: (one to one)
Mối quan hệ 1- n : (one to many)
Mối quan hệ n- n: (many to many)
14
CHƯƠNG II. MÔ HÌNH THỰC THỂ LIÊN KẾT
4. Biểu đồ thực thể liên kết
Quy ước
15
CHƯƠNG II. MÔ HÌNH THỰC THỂ LIÊN KẾT
4. Biểu đồ thực thể liên kết
Quy ước
Dựa vào biểu đồ quan hệ sau, ta có thể phát biểu và phân tích bài toán:
16
CHƯƠNG II. MÔ HÌNH THỰC THỂ LIÊN KẾT
Tên
Tên
17
CHƯƠNG II. MÔ HÌNH THỰC THỂ LIÊN KẾT
VD khác, lập biểu đồ ER cho bài toán quản lý lịch dạy học sau:
Mỗi giáo viên có 1 mã số giáo viên duy nhất, mỗi mã giáo viên xác định các thông tin: họ tên giáo viên, số điện thoại liên lạc. Mỗi giáo viên có thể dạy nhiều môn cho nhiều khoa nhưng chỉ thuộc sự quản lý hành chính của 1 khoa nào đó.
Mỗi môn học có 1 mã môn học duy nhất, mã môn học cho biết tên môn học. Ứng với mỗi lớp thì mỗi môn học chỉ được phân cho 1 giáo viên.
Mỗi phòng học có 1 số phòng học (Số phòng), mỗi phòng có 1 chức năng, chẳng hạn như phòng lý thuyết, phòng thực hành tin, phòng lab, phòng thí nghiệm vật lý, …
18
CHƯƠNG II. MÔ HÌNH THỰC THỂ LIÊN KẾT
Mỗi khoa có 1 mã khoa duy nhất, mã khoa cho biết tên khoa, số điện thoại của khoa
Mỗi lớp có 1 mã lớp duy nhất, mỗi lớp có 1 tên lớp, sĩ số lớp. Mỗi lớp có thể học nhiều môn của nhiều khoa nhưng chỉ thuộc sự quản lý hành chính của 1 khoa nào đó.
Hàng tuần mỗi giáo viên phải lập lịch báo giảng cho biết giáo viên đó sẽ dạy những lớp nào, ngày nào, môn gì, phòng nào, từ tiết nào đến tiết nào, tên bài dạy, ghi chú về tiết dạy này, .đây là giờ dạy lý thuyết hay thực hành. Nếu “lý thuyết = 1” thì đó là giờ lý thuyết còn nếu “Lý thuyết = 0 ” thì đó là giờ thực hành.
19
CHƯƠNG II. MÔ HÌNH THỰC THỂ LIÊN KẾT
20
CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ
VÀ CSDL QUAN HỆ
Miền
Các thuật ngữ
Quan hệ
Lược đồ quan hệ
- Khóa
- Siêu khóa
- Khóa ngoại
1. Khái niệm
21
2.1 Phép hợp (Union)
CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ
VÀ CSDL QUAN HỆ
2. Các phép toán đại số trên các quan hệ
22
2.2 Phép giao (Intersect)
CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ
VÀ CSDL QUAN HỆ
2. Các phép toán đại số trên các quan hệ
23
2.3 Phép trừ (Except)
CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ
VÀ CSDL QUAN HỆ
2. Các phép toán đại số trên các quan hệ
24
2.4 Phép tích decac (Descartes)
CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ
VÀ CSDL QUAN HỆ
2. Các phép toán đại số trên các quan hệ
25
2.5 Phép chia (Division)
CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ
VÀ CSDL QUAN HỆ
2. Các phép toán đại số trên các quan hệ
CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ
VÀ CSDL QUAN HỆ
26
Ví dụ
27
2.6 Phép chọn (Selection)
Tìm kiếm những dữ liệu thoả mãn yêu cầu của người sử dụng trên các quan hệ
Phép chọn trên quan hệ R theo điều kiện E là một quan hệ S có :
CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ
VÀ CSDL QUAN HỆ
2. Các phép toán đại số trên các quan hệ
28
2.7 Phép chiếu (Projection )
Xây dựng 1 quan hệ mới từ 1 quan hệ đã cho bằng cách loại bỏ đi 1 số thuộc tính của quan hệ đó
Phép chiếu quan hệ R trên tập X là 1 quan hệ S có:
CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ
VÀ CSDL QUAN HỆ
2. Các phép toán đại số trên các quan hệ
29
2.8 Phép kết nối (Join)
Kết nối các quan hệ lại với nhau thông qua các thuộc tính chung, từ đó cho phép lấy được dữ liệu nằm ở nhiều quan hệ có liên quan tới nhau
Phép kết nối của R1 và R2 là 1 quan hệ r (trên U), có:
CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ
VÀ CSDL QUAN HỆ
2. Các phép toán đại số trên các quan hệ
30
CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ
VÀ CSDL QUAN HỆ
31
Chương IV. Ngôn ngữ vấn tin SQL
1. Khái niệm
Ngôn ngữ SQL là kiểu ngôn ngữ cơ sở dữ liệu quan hệ (Relation Data Language)
Ngôn ngữ định nghĩa dữ liệu: DDL (Data Define Language )
SQL gồm
2 thành phần
Ngôn ngữ thao tác dữ liệu: DML (Data Manipulation Language) .
32
Chương IV. Ngôn ngữ vấn tin SQL
Cấu trúc chung
SELECT [DISTINCT | ALL] {* | [
FROM < tên bảng> [bí danh] [...]
[WHERE <điều kiện>]
[GROUP BY
[ORDER BY
33
Chương IV. Ngôn ngữ vấn tin SQL
2. Các thao tác với bảng
2.1. Tạo bảng
CREATE TABLE
...........
);
2.2. Thêm bộ mới vào 1 bảng
INSERT INTO
34
Chương IV. Ngôn ngữ vấn tin SQL
2.3. Thêm 1 cột mới vào một bảng
ALTER TABLE
2.4. Sửa dữ liệu
UPDATE
[WHERE <điều kiện>]
35
Chương IV. Ngôn ngữ vấn tin SQL
2.5. Xoá dữ liệu
DELETE FROM
[WHERE <điều kiện>]
2.6. Câu lệnh Select (tìm kiếm dữ liệu)
SELECT
FROM
[WHERE <điều kiện>]
[GROUP BY
[ORDER BY
36
Trong câu Select:
Có thể sử dụng các biểu thức số học
Các hàm gộp: Max, Min, Count, Sum, AVG
Trong câu where
Có thể sử dụng các phép toán so sánh, các phép toán logic
Có thể có các loại điều kiện cơ sở:
So sánh giá trị của 1 biểu thức (bt) với 1 bt khác
Kiểm tra giá trị của bt có nằm trong tập đã xác định không
Kiểm tra xem giá trị của bt có nằm trong 1 khoảng xác định không
Đối sánh 1 xâu với một mẫu
Chương IV. Ngôn ngữ vấn tin SQL (tiếp)
37
Chương IV. Ngôn ngữ vấn tin SQL (tiếp)
Ví dụ: Cho CSDL sau:
38
Chương IV. Ngôn ngữ vấn tin SQL (tiếp)
1, Hiển thị danh sách sinh viên gồm các thông tin sau: Masv, hodem, ten, noisinh, sắp xếp tăng dần theo Masv
2, Lập danh sách điểm của các sinh viên cho môn học có mã môn là TDC, bao gồm: Masv, ho_ten, diem
3, Có bao nhiêu sinh viên có điểm thi môn TDC >=5
4, Cho biết thông tin về những sinh viên ở “Hà Nội”, “Hải Phòng”, hoặc “Thái Bình”
5, Lập danh sách sinh viên có tham gia ít nhất là 3 môn học
39
Chương IV. Ngôn ngữ vấn tin SQL (tiếp)
40
Chương IV. Ngôn ngữ vấn tin SQL
2.7. Phép đối sánh LIKE
Trong phép đối sánh xâu, phân biệt chữ hoa chữ thường
Ký tự phần trăm (%) sánh hợp với mọi xâu
Ký tự gạch dưới ( _ ) sánh hợp với mọi ký tự
Dùng toán tử NOT LIKE để tìm các xâu không sánh hợp
2.8. Truy vấn lồng nhau
41
CHƯƠNG V. RÀNG BUỘC DỮ LIỆU
Định nghĩa
Bao đóng của PTH
HTĐ Armstrong
A1. Nếu Y X
thì X Y
A2. Nếu X Y thì Z U:XZ YZ
A3. Nếu X Y và Y Z thì X Z
F F+
F+ F
Y gọi là phụ thuộc hàm vào X (KH: X Y) nếu r/R(U), với t1,t2 bất kỳ mà t1[X]=t2[X] thì t1[Y]=t2[Y]
42
CHƯƠNG V. RÀNG BUỘC DỮ LIỆU
Siêu khóa:
Khóa:
Khoá của lược đồ quan hệ
2
43
Thuật toán tìm khóa
1
- Xác định các Xi
- Tính các Xi+
Nếu Xi+ = U thì Xi là siêu khóa
K= {K1, K2, ..., Kn}
- Xét các các Ki Kj. Nếu Ki+= U thì Ki là khóa
Thuật toán 1!
CHƯƠNG V. RÀNG BUỘC DỮ LIỆU
44
CHƯƠNG V. RÀNG BUỘC DỮ LIỆU
- Tính IR = U-
- Tính IR+. Nếu IR+= U => R có khoá duy nhất K = IR
- Nếu IR+ U => R có 2 khóa trở lên
- Tính N =
với Xi IR
- Tính (N.IR)+
- Tính U1= U-(N.IR)+ =(K1, K2, …, Kk )
- Lấy lần lượt từng thuộc tính Ki bổ sung vào tập IR để trở thành khóa
Thuật toán 2
45
CHƯƠNG V. RÀNG BUỘC DỮ LIỆU
- R Є 1NF
- Mỗi thuộc tính không khoá phụ thuộc đầy đủ vào khoá chính của R
Trong quan hệ không chứa các quan hệ con lặp hoặc các thuộc tính đa trị
- R Є 2NF
- Không tồn tại những thuộc tính không khoá phụ thuộc bắc cầu vào thuộc tính khoá
1 NF
2 NF
3NF
46
CHƯƠNG V. RÀNG BUỘC DỮ LIỆU
- R Є BCNF
- R không chứa các PTH đa trị
R Є 3NF
Không tồn tại thuộc tính khoá phụ thuộc vào thuộc tính không khoá
BCNF
4 NF
[email protected]
www.themegallery.com
Thank You !
* 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ẻ: Minh Nguyet
Dung lượng: |
Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)