Bài giảng môn Cơ sở dữ liệu tài liệu, giáo án, bài giảng , luận văn, luận án, đồ án, bài tập lớn về tất cả các lĩnh vực...
Trang 2Tài liệu tham khảo
Microsoft Access 2000 lý thuyết & ứng dụng CSDL,
Nguyễn Đình Thúc, Nxb Giáo dục, 2002
5
Nhập môn CSDL (Sách dành cho ngành CĐ), Hồ Cẩm Hà (chủ biên), Nxb ĐHSP HN, 2005
1
Trang 3Mụ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ế
Trang 4Nộ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
Trang 5
CHƯƠNG I GIỚI THIỆU CHUNG VỀ CSDL
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
Trang 6CHƯƠNG I GIỚI THIỆU CHUNG VỀ 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ữ
Trang 7Mô hình mạng
Mô hình quan hệ
Các mô hình csdl logic
CHƯƠNG I GIỚI THIỆU CHUNG VỀ CSDL
Trang 8CHƯƠNG I GIỚI THIỆU CHUNG VỀ CSDL
CT5799 Kim Loan 18/10/1982 Ha Tay
CT5800 Minh Trang 28/3/1984 Ha Noi
CT6962 Thuy Phuong 28/7/1985 Hai Phong
Mô hình quan hệ - Relation model
Trang 9CHƯƠNG I GIỚI THIỆU CHUNG VỀ CSDL
Trang 10CHƯƠNG I GIỚI THIỆU CHUNG VỀ CSDL
Mô hình mạng – Network model
Du an 1
Du an 2
Du an 3
Du an n
Du an 1
Du an 2
Du an 2
Du an 3
Du an 3
Trang 11CHƯƠNG II MÔ HÌNH THỰC THỂ LIÊN KẾT
1 Khái niệm cơ bản
1 thực thể duy nhất
Trang 12CHƯƠNG II MÔ HÌNH THỰC THỂ LIÊN KẾT
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
Trang 13CHƯƠ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)
Trang 14CHƯƠNG II MÔ HÌNH THỰC THỂ LIÊN KẾT
4 Biểu đồ thực thể liên kết
Kiểu thực thể yếu Thuộc tính khóa
Kiểu liên kết Thuộc tính đa trị
Quy ước
Trang 15CHƯƠNG II MÔ HÌNH THỰC THỂ LIÊN KẾT
4 Biểu đồ thực thể liên kết
Quy ước
Thuộc tính phức hợp
Thuộc tính được suy dẫn
Dựa vào biểu đồ quan hệ sau, ta có thể phát biểu
Trang 16CHƯƠNG II MÔ HÌNH THỰC THỂ LIÊN KẾT
Lương
LÀM VIỆ
C CHO
Mã phòng
Địa chỉ
ĐIỀU HÀN H
THA
M GIA
Mã DA
Địa điểm
PT VÀO
n
Trang 17CHƯƠ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ỉ
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ý, …
Trang 18CHƯƠ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
Trang 19CHƯƠNG II MÔ HÌNH THỰC THỂ LIÊN KẾT
LỚP
BÁO GIẢNG
1
Trang 20CHƯƠ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
Trang 26CHƯƠNG III MÔ HÌNH DỮ LIỆU QUAN HỆ
Trang 272.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ệ
Trang 282.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ệ
Trang 292.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ệ
Trang 30CHƯƠNG III MÔ HÌNH DỮ LIỆU QUAN HỆ
tên, ngày sinh của những
sinh viên ở ‘TX Sơn Tây’
Trang 31Chươ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)
(Data Manipulation Language)
Trang 32Chương IV Ngôn ngữ vấn tin SQL
Cấu trúc chung
SELECT [DISTINCT | ALL] {* | [<biểu thức cột> AS
[<tên mới>] ] [ ]}
FROM < tên bảng> [bí danh] [ ]
[ WHERE <điều kiện>]
[ GROUP BY <danh sách tên cột>] [HAVING <điều kiện>] [ ORDER BY <danh sách tên cột>]
Trang 33Chươ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 <tên bảng> (<tên cột 1> <kiểu dữ liệu 1>(<kích thước 1>),
<tên cột 2> <kiểu dữ liệu 2>(<kích thước 2>),
<tên cột n> <kiểu dữ liệu n>(<kích thước n>)
);
2.2 Thêm bộ mới vào 1 bảng
INSERT INTO <tên bảng> [danh sách cột] VALUES (danh sách các giá trị)
Trang 34Chươ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 <tên bảng> ADD tên cột Kiểu
Trang 35Chương IV Ngôn ngữ vấn tin SQL
2.5 Xoá dữ liệu
DELETE FROM <tên bảng>
[WHERE <điều kiện>]
2.6 Câu lệnh Select (tìm kiếm dữ liệu)
SELECT <biểu thức cột>
FROM <tên bảng>
[WHERE <điều kiện>]
[GROUP BY <danh sách cột>] [HAVING<điều kiện>] [ORDER BY <danh sách cột>]
Trang 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)
Trang 37Chương IV Ngôn ngữ vấn tin SQL (tiếp)
Ví dụ:
Cho
CSDL
sau:
Trang 38Chươ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
Trang 39Chương IV Ngôn ngữ vấn tin SQL (tiếp)
Viết câu Sele ct cho kết qu
ả sau
Trang 40Chươ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
Trang 41CHƯƠNG V RÀNG BUỘC DỮ LIỆU
A1 Nếu Y X
thì X YA2 Nếu X Y thì
Z U:XZ YZA3 Nếu X Y và
kỳ mà t1[X]=t2[X]
thì t1[Y]=t2[Y]
Phụ thuộc hàm 1
Trang 42CHƯƠNG V RÀNG BUỘC DỮ LIỆU
K K
U
K
' , '
Trang 43Thuật toán tìm khóa
CHƯƠNG V RÀNG BUỘC DỮ LIỆU
Trang 44CHƯƠNG V RÀNG BUỘC DỮ LIỆ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
Trang 45CHƯƠ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á
Các dạng chuẩn
3
.
Trang 46CHƯƠ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á
Các dạng chuẩn
3
.
Trang 47trangsang10@yahoo.com