CƠ SSỞ DỮ LIỆU - sinhvienit.net · Chương 3: Ngôn ngữSQL Ch ... Lập trình ứng...

14
CƠ SDLIU SDLIU GV: ThS. Lê ThNgc Tho 1 www.tdt.edu.vn www.tdt.edu.vn Cơ SDLiu Cơ SDLiu Đề cương môn hc Chương 1: Gii thiu Chương 2: Mô hình dliu quan hChương 4: Ràng buc toàn vn Chương 3: Ngôn ngSQL Chương 5: Phthuc hàm Chương 4: Ràng buc toàn vn Chương 6: Chun hóa CSDL www.tdt.edu.vn www.tdt.edu.vn Cơ SDLiu Cơ SDLiu 2 Chương 7: Ti ưu hóa câu truy vn

Transcript of CƠ SSỞ DỮ LIỆU - sinhvienit.net · Chương 3: Ngôn ngữSQL Ch ... Lập trình ứng...

Page 1: CƠ SSỞ DỮ LIỆU - sinhvienit.net · Chương 3: Ngôn ngữSQL Ch ... Lập trình ứng dụng chuyên nghiệp SQL server 2000SQL server 2000 –PhạmHữu Khang [[] g6]

CCƠƠ SỞ DỮ LIỆUSỞ DỮ LIỆUỆỆGV: ThS. Lê Thị Ngọc Thảo

11www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu

Đề cương môn học

Chương 1: Giới thiệu

Chương 2: Mô hình dữ liệu quan hệ

Chương 4: Ràng buộc toàn vẹn

Chương 3: Ngôn ngữ SQL

Chương 5: Phụ thuộc hàm

Chương 4: Ràng buộc toàn vẹn

Chương 6: Chuẩn hóa CSDL

www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu22

Chương 7: Tối ưu hóa câu truy vấn

Page 2: CƠ SSỞ DỮ LIỆU - sinhvienit.net · Chương 3: Ngôn ngữSQL Ch ... Lập trình ứng dụng chuyên nghiệp SQL server 2000SQL server 2000 –PhạmHữu Khang [[] g6]

Phương thức tiến hành

Lý thuyết: 30 tiếtBài tậ 15 tiếtBài tập: 15 tiếtThực hành: 30Tự học: 150 tiếtMôn học được phân bổ : 15 tuần

www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu33

Tài liệu tham khảo

Tóm tắt bài giảng (slide)Các giáo trình:

[2] Giáo trình cơ sở dữ liệu – ĐH Tôn Đức Thắng

ở ễ ế[3] Giáo trình nhập môn cơ sở dữ liệu – Nguyễn An Tế

[4] CSDL – Lý thuyết & Thực hành – Nguyễn Bá Tường

[5] Lập trình ứng dụng chuyên nghiệp SQL server 2000[5] Lập trình ứng dụng chuyên nghiệp SQL server 2000 – Phạm Hữu Khang

[6] Modern Database Management – Jeffrey A.Hoffer –[ ] g y2002

Internet

www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu44

Page 3: CƠ SSỞ DỮ LIỆU - sinhvienit.net · Chương 3: Ngôn ngữSQL Ch ... Lập trình ứng dụng chuyên nghiệp SQL server 2000SQL server 2000 –PhạmHữu Khang [[] g6]

Phương thức đánh giá

Điểm kiểm tra 10%T bì h ộ Điể thả l ậ hóTrung bình cộng Điểm thảo luận nhóm

Điểm cộng của mỗi lần làm bài tập

ểĐiểm thi giữa học kỳ 20%Kiểm tra trên máy - Đề mở

Thời lượng: 30 - 45 phút

Kết quả thi cuối học kỳ 70%Kiểm tra trên giấy - Đề mở

Thời lượng: 90 - 120 phút

www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu55

Chương 1: Giới thiệu

Tại sao cần có 1 CSDLTại sao cần có 1 CSDLĐịnh nghĩa CSDLCác đối tượng sử dụng CSDLợ g ụ gHệ Quản trị CSDL – DBMSCác mức biểu diễn 1 CSDLSơ đồ tổng quát 1 Hệ QTCSDLTính độc lập giữa dữ liệu & chương trìnhCác mô hình dữ liệu

www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu66

Page 4: CƠ SSỞ DỮ LIỆU - sinhvienit.net · Chương 3: Ngôn ngữSQL Ch ... Lập trình ứng dụng chuyên nghiệp SQL server 2000SQL server 2000 –PhạmHữu Khang [[] g6]

Dữ liệu và Thông tin

Dữ liệu là một mô tả hình thức về nhữngsự kiện khái niệm hình thức (tuổi chuỗisự kiện, khái niệm, hình thức (tuổi, chuỗingày tháng, tên người , …)

Thông tin là kết quả của quá trình xử lý dữThông tin là kết quả của quá trình xử lý dữliệu để rút ra “con số có nghĩa “

Dữ liệu là nền tảng để tạo ra thôngDữ liệu là nền tảng để tạo ra thôngtin, và từ đó là cơ sở để có được tri thức

www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu77

Tại sao cần có 1 CSDL

Hướng tiếp cận hệ tập tin:Cá h t ề thốCách truyền thống

Được xử lý bằng các ngôn ngữ như: COBOL FORTRAN PASCALCOBOL, FORTRAN, PASCAL

Mỗi ứng dụng sẽ có một tập hợp các tập tin riêng chứa dữ liệu riêngriêng chứa dữ liệu riêng

Ví dụ:

www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu88

Page 5: CƠ SSỞ DỮ LIỆU - sinhvienit.net · Chương 3: Ngôn ngữSQL Ch ... Lập trình ứng dụng chuyên nghiệp SQL server 2000SQL server 2000 –PhạmHữu Khang [[] g6]

Tại sao cần có 1 CSDL

www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu99

Tại sao cần có 1 CSDL

Hạn chế của cách tiếp cận cũ:Có liê kết hặt hẽ iữ ấ t ú l ậCó sự liên kết chặt chẽ giữa cấu trúc luậnlý và cấu trúc vật lý của các tập tin vàchương trình ứng dụngchương trình ứng dụng

Trùng lắp dữ liệu

Dữ liệu thiếu nhất quánDữ liệu thiếu nhất quán

www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu1010

Page 6: CƠ SSỞ DỮ LIỆU - sinhvienit.net · Chương 3: Ngôn ngữSQL Ch ... Lập trình ứng dụng chuyên nghiệp SQL server 2000SQL server 2000 –PhạmHữu Khang [[] g6]

CSDL là gì?

Là một bộ sưu tập rất lớn về các loại dữ liệu tá hiệtác nghiệp

Bao gồm nhiều loại dữ liệu (âm thanh, tiếng ói hữ iết ă bả đồ h hì h ả h tĩ hnói, chữ viết, văn bản, đồ hoạ, hình ảnh tĩnh

hay hình ảnh động.... )

Dữ liệu được mã hoá dưới dạng các chuỗiDữ liệu được mã hoá dưới dạng các chuỗi bit và được lưu trữ dưới dạng File dữ liệu.

Cấu trúc lưu trữ dữ liệu tuân theo các quyCấu trúc lưu trữ dữ liệu tuân theo các quy tắc dựa trên lý thuyết toán học.

Cơ sở dữ liệu phản ánh trung thực thế giớiCơ sở dữ liệu phản ánh trung thực thế giới dữ liệu hiện thực khách quan.

www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu1111

Database

Database (DB): là cấu trúc hợp nhất, có thể chia sẽ lưu trữ trong máy tính có thể chia sẽ, lưu trữ trong máy tính _ chứa một tập hợp dữ liệu bao gồm

• End_user data , là những data mà người dùng_ , g g gquan tâm

• Metadata , là data về data

Metadata chứa mô tả về các đặc tínhcủa dữ liệu và các mối liên kết của nócủa dữ liệu , và các mối liên kết của nótrong Database

Là dữ liệu bổ sung về dữ liệuệ g ệ

www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu1212

Page 7: CƠ SSỞ DỮ LIỆU - sinhvienit.net · Chương 3: Ngôn ngữSQL Ch ... Lập trình ứng dụng chuyên nghiệp SQL server 2000SQL server 2000 –PhạmHữu Khang [[] g6]

Các đối tượng sử dụng

Những người sử dụng CSDL không chuyên chuyên Các chuyên viên tin học biết khaithác CSDL thác CSDL Những người quản trị CSDL

www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu1313

Hệ quản trị CSDL

DataBase Management System -DBMSDBMS

Là phần mềm điều khiển các chiến lược truy nhập CSDLtruy nhập CSDL.

Khi người sử dụng đưa ra yêu cầu truy nhập bằng một ngôn ngữ dữ liệu nào đónhập bằng một ngôn ngữ dữ liệu nào đó, HQTCSDL tiếp nhận và thực hiện các thao tác trên CSDL lưu trữ.

www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu1414

Page 8: CƠ SSỞ DỮ LIỆU - sinhvienit.net · Chương 3: Ngôn ngữSQL Ch ... Lập trình ứng dụng chuyên nghiệp SQL server 2000SQL server 2000 –PhạmHữu Khang [[] g6]

Hệ quản trị CSDL bao gồm

Ngôn ngữ giao tiếp giữa User và CSDLểTừ điển dữ liệu (Data Dictionary)

Có biện pháp bảo mật tốtCơ chế giải quyết tranh chấp dữ liệu.Có cơ chế sao lưu (Backup) và phục hồi (Restore) dữ liệu khi có sự cố xảy ra. Cung cấp một giao diện (Interface) tốtBảo đảm tính độc lập giữa dữ liệu và chương trình

www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu1515

Ngôn ngữ giao tiếp giữaUser và CSDL

Ngôn ngữ mô tả dữ liệu (Data Definition Language DDL) Definition Language - DDL) Ngôn ngữ thao tác dữ liệu (Data Manipulation Language - DML) Manipulation Language - DML) Ngôn ngữ truy vấn dữ liệu, hay ngôn ngữ hỏi đáp có cấu trúc (Structured ngữ hỏi đáp có cấu trúc (Structured Query Language - SQL) Ngôn ngữ quản lý dữ liệu (Data Ngôn ngữ quản lý dữ liệu (Data Control Language - DCL)

www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu1616

Page 9: CƠ SSỞ DỮ LIỆU - sinhvienit.net · Chương 3: Ngôn ngữSQL Ch ... Lập trình ứng dụng chuyên nghiệp SQL server 2000SQL server 2000 –PhạmHữu Khang [[] g6]

Các mức biểu diễn CSDL

Mức trong (vật lý): Mứ l t ữ CSDL dữ liệ ì l t ữ hMức lưu trữ CSDL: dữ liệu gì, lưu trữ như thế nào? ở đâu? Cần các chỉ mục gì? Việc truy xuất như thế nào?truy xuất như thế nào?

Mức quan niệm (logic): CSDL cần lưu những loại dữ liệu nào?CSDL cần lưu những loại dữ liệu nào?

Mối quan hệ giữa chúng?

Mứ ài Mức ngoài. Mức của người sử dụng và các chương trình ứng dụngtrình ứng dụng.

www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu1717

Các mức biểu diễn CSDL

www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu1818

Page 10: CƠ SSỞ DỮ LIỆU - sinhvienit.net · Chương 3: Ngôn ngữSQL Ch ... Lập trình ứng dụng chuyên nghiệp SQL server 2000SQL server 2000 –PhạmHữu Khang [[] g6]

Các mô hình dữ liệu

Mô hình dữ liệu mạngMô hì h dữ liệ hâ ấMô hình dữ liệu phân cấpMô hình dữ liệu quan hệ

ểMô hình dữ liệu thực thể - kết hợpMô hình dữ liệu hướng đối tượng.

www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu1919

Các mô hình dữ liệu

Mô hình dữ liệu mạngBiể diễ bằ 1 đồ thị ó h ớBiểu diễn bằng 1 đồ thị có hướng

Gồm các mẫu tin (Record), loại mẫu tin (R d T ) à l i liê hệ (S t T )(Record Type) và loại liên hệ (Set Type)

Đặc điểm:Đ iả dễ ử dĐơn giản, dễ sử dụng

Không thích hợp trong việc biểu diễn cácCSDL ó ô lớCSDL có quy mô lớn

www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu2020

Page 11: CƠ SSỞ DỮ LIỆU - sinhvienit.net · Chương 3: Ngôn ngữSQL Ch ... Lập trình ứng dụng chuyên nghiệp SQL server 2000SQL server 2000 –PhạmHữu Khang [[] g6]

VD–Mô hình dữ liệu mạng

www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu2121

Các mô hình dữ liệu

Mô hình dữ liệu phân cấpMô hì h là 1 â t đó ỗi út ủ âMô hình là 1 cây, trong đó mỗi nút của cây biểu diễn 1 thực thể, giữa nút con và nút cha được liên hệ với nhau theo 1 mối quancha được liên hệ với nhau theo 1 mối quan hệ xác định

Gồm các loại mẫu tin (giống mô hìnhGồm các loại mẫu tin (giống mô hìnhmạng) và loại mối liên hệ (kiểu phân cấp)

www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu2222

Page 12: CƠ SSỞ DỮ LIỆU - sinhvienit.net · Chương 3: Ngôn ngữSQL Ch ... Lập trình ứng dụng chuyên nghiệp SQL server 2000SQL server 2000 –PhạmHữu Khang [[] g6]

VD–Mô hình dữ liệu phân cấp

www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu2323

Mô hình dữ liệu quan hệ

Do E.F.Codd đề xuất năm 1970Có ơ ở lý th ết ữ hắ khái Có cơ sở lý thuyết vững chắc: khái niệm lý thuyết tập hợp trên các quan hệquan hệ.Các khái niệm: thuộc tính (Attribute) quan hệ (Relation) lược (Attribute), quan hệ (Relation), lược đồ quan hệ (Relation Schema), bộ (Tuple), khóa (Key).( p ), ( y)

www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu2424

Page 13: CƠ SSỞ DỮ LIỆU - sinhvienit.net · Chương 3: Ngôn ngữSQL Ch ... Lập trình ứng dụng chuyên nghiệp SQL server 2000SQL server 2000 –PhạmHữu Khang [[] g6]

Mô hình dữ liệu thực thể-kết hợp

Do P.P.Chen đề xuất năm 1976Cá khái iệ Các khái niệm:

Thực thể (Entity)

ểLoại thực thể (Entity Type)

Thuộc tính (Entity Attribute)

Khóa (Entity Key)

Mối kết hợp (Entity Relationship)

Số ngôi của mối kết hợp (Degree)

Thuộc tính của mối kết hợp (Attribute)

Bản số (RelationShip Cardinal)www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu2525

Ví dụ

www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu2626

Page 14: CƠ SSỞ DỮ LIỆU - sinhvienit.net · Chương 3: Ngôn ngữSQL Ch ... Lập trình ứng dụng chuyên nghiệp SQL server 2000SQL server 2000 –PhạmHữu Khang [[] g6]

Mô hình dữ liệu hướng đối tượng

Ra đời cuối những năm 1980Dự t ê á h tiế ậ hướ đối Dựa trên cách tiếp cận hướng đối tượngSử d á khái iệ lớ (Cl ) Sử dụng các khái niệm: lớp (Class), sự kế thừa (inheritance), …Không được sử dụng rộng rãi Không được sử dụng rộng rãi

www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu2727