1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng môn học Cơ sở dữ liệu - ThS. Lê Ngọc Lãm

168 28 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Bài Giảng Môn Học Cơ Sở Dữ Liệu
Tác giả ThS. Lê Ngọc Lãm
Trường học Trường Đại Học Nông Lâm TP.HCM
Chuyên ngành Công Nghệ Địa Chính
Thể loại Bài giảng
Năm xuất bản 2021
Thành phố TP.HCM
Định dạng
Số trang 168
Dung lượng 3,03 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nội dung chính của bài giảng môn học Cơ sở dữ liệu được trình bày trong 5 chương, đó là: Nhập môn cơ sở dữ liệu, cơ sở dữ liệu quan hệ, chuẩn hoá cơ sở dữ liệu, thiết kế hệ thống, Cơ sở dữ liệu tài nguyên đất đai. Mời các bạn cùng tham khảo để nắm bắt các nội dung chi tiết.

Trang 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

Trang 2

GIỚI THIỆU MÔN HỌC

Trang 4

CHƯƠNG 1 NHẬP MÔN CSDL

Trang 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

Trang 6

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

Trang 7

CSDL VẬT LÝ

NGƯỜI THIẾT KẾ NGƯỜI SỬ DỤNG

……….

Trang 8

TÍNH ĐỘC LẬP DỮ LIỆU

Mức độc lập vật lý ( (Physical data independence) là

khả năng sửa đổi sơ đồ vật lý khơng làm cho các chương trình ứng dụng phải viết lại Các sửa đổi ở

mức vật lý là cần thiết để cải thiện hiệu năng

Độc lập dữ liệu luận lý (Logical data independence)

là khả năng sửa đổi sơ đồ luận lý khơng làm cho các chương trình ứng dụng phải viết lại Các sửa đổi ở mức luận lý là cần thiết khi cấu trúc luận lý của cơ sở

dữ liệu bị thay thế

Trang 10

MƠ HÌNH MẠNG (Network model)

Dữ liệu gợp

Trang 11

MÔ HÌNH PHÂN CẤP (Hierarchical model)

Trang 12

MÔ HÌNH QUAN HỆ (Relational model)

- 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

Trang 13

MÔ HÌNH QUAN HỆ (Relationship model)

Thuộc tính (Attribute)

Miền giá trị (Domain)

Khoá và thuộc tính khoá (Primary key)

Trang 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)

Trang 16

Cấu trúc vật lý và luận lý

Trang 17

5 Quản lý dư thừa dữõ liệu

6 Tương hợp dữ liệu (chuẩn hoá)

Trang 19

CHỨC NĂNG HỆ QUẢN TRỊ CSDL

Mô tả dữ liệu

Cập nhật dữ liệu

Điều khiển tính toàn vẹn dữ liệu

Trang 21

Ví dụ

Cách quản lý thông tin về sinh viên đăng ký môn học như sau:

Trang 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:

Trang 23

MỘ SỐ KHÁI NIỆM

(DOMAIN)

(M2)

001 LUC Trần văn Thành 1.050

Trang 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

Trang 25

MỘ SỐ KHÁI NIỆM

Trang 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)

Trang 27

QUAN HỆ

Trang 28

Khóa - Khóa ngọai của Quan hệ

Siêâu khóa

Khóa

Khóa ngọai

Trang 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ì

Trang 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.

Trang 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

Trang 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

Trang 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 –

Trang 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.

Trang 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

Trang 36

Phép chiếu

(ví dụ)

Trang 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).

Trang 38

Phép chọn (ví dụ)

Trang 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.

Trang 40

Phép tích Đề-cac (ví dụ)

Trang 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

Trang 43

Phép liên kết(ví dụ)

Ai = Dj

Trang 44

Câu lệnh SQL

Trang 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ì <Alias> 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

 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

Trang 46

Truy vấn chọn – ví dụ

Trang 47

Truy vấn nhóm

ấy được xếp vào cùng nhóm.

Trang 48

Truy vấn nhóm – ví dụ

 Ví du: Đếm số lượng sinh viên nữ của mỗi khoa

Kh.MAKHOA,TENKHOA,COUNT(Kh.MAKHO A) AS SOLUONG

FROM (Sv Inner Join Lop On Sv.MALOP =

Trang 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

Trang 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.

Trang 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.

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ữ.

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 ĐĐ.

Trang 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:

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

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.

Trang 54

Các yếu tố của RBTV

1 Điề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,

Trang 55

Các yếu tố của RBTV

2) Bối cảnh:

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ệ.

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).

Trang 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

Trang 57

Tầm ảnh hưởng

Trang 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ị.

trên nhiều thuộc tính.

đế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

Trang 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à

Trang 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)

Trang 62

Phụ thuộc hàm – ví dụ

Trang 63

Phụ thuộc hàm – ví dụ

Trang 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: → TEN_CSD: Mỗi số thửa có một tên

chủ s ử dụng

Trang 65

Phụ thuộc hàm(ví dụ)

Trang 66

Phụ Thuộc Hàm – ví dụ

Trang 67

Phụ Thuộc Hàm

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

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 ý

Trang 68

Phụ Thuộc Hàm – ví dụ

Trang 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 XXY (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= XZ)

Trang 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ụ

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

Ngày đăng: 08/05/2021, 19:12

🧩 Sản phẩm bạn có thể quan tâm