ỦY BAN NHÂN DÂN THÀNH PHỐ HỒ CHÍ MINH TRƢỜNG CAO ĐẲNG KINH TẾ KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH GIÁO TRÌNH MÔN HỌC: CƠ SỞ DỮ LIỆU NGÀNH: TIN HỌC ỨNG DỤNG, CÔNG NGHỆ THÔNG TIN TRÌNH ĐỘ: TRUNG CẤP, CAO ĐẲNG Thành phố Hồ Chí Minh, năm 2020 ỦY BAN NHÂN DÂN THÀNH PHỐ HỒ CHÍ MINH TRƢỜNG CAO ĐẲNG KINH TẾ KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH GIÁO TRÌNH MÔN HỌC: CƠ SỞ DỮ LIỆU NGÀNH: TIN HỌC ỨNG DỤNG, CÔNG NGHỆ THÔNG TIN TRÌNH ĐỘ: TRUNG CẤP, CAO ĐẲNG THÔNG TIN CHỦ NHIỆM ĐỀ TÀI Họ tên: Vũ Thị Phƣơng Dung Học vị: Thạc sĩ Đơn vị: Khoa CNTT Email: vuthiphuongdung@hotec.vn TRƢỞNG KHOA TỔ TRƢỞNG CHỦ NHIỆM BỘ MÔN ĐỀ TÀI HIỆU TRƢỞNG DUYỆT Thành phố Hồ Chí Minh, năm 2020 TUYÊN BỐ BẢN QUYỀN Tài liệu này thuộc loại sách giáo trình nên các nguồn thông tin có thể đƣợc phép dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo. Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh doanh thiếu lành mạnh sẽ bị nghiêm cấm. LỜI GIỚI THIỆU Giáo trình cơ sở dữ liệu này đƣợc biên soạn căn cứ theo chƣơng trình đào tạo chuyên ngành Tin học ứng dụng ở bậc trung cấp và ngành Công nghệ thông tin ( Ứng dụng phần mềm) bậc cao đẳng. Giáo trình trình bày những vấn đề cốt lõi nhất của môn cơ sở dữ liệu, gồm bốn chƣơng.
Các bài học đƣợc trình bày ngắn gọn với ví dụ minh hoạ. Cuối mỗi chƣơng đều có bài tập để học sinh sinh viên luyện tập. Trong quá trình giảng dạy và biên soạn giáo trình này, tác giả đã nhận đƣợc sự động viên của các thầy cô Ban Giám Hiệu nhà trƣờng cũng nhƣ những ý kiến góp ý của các đồng nghiệp trong khoa Công nghệ thông tin. Tôi xin chân thành cảm ơn và hy vọng rằng giáo trình này sẽ giúp cho việc dạy và học môn cơ sở dữ liệu của nhà trƣờng ngày càng tốt hơn.HCM, ngày 25 tháng 9 năm 2020 Tham gia biên soạn Vũ Thị Phƣơng Dung MỤC LỤC CHƢƠNG 1: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU (CSDL).
Mô hình thực thể - kết hợp ERD .Mô hình dữ liệu quan hệ của E.Các bƣớc chuyển từ mô hình thực thể kết hợp sang mô hình quan hệ. 13 BÀI TẬP CHƢƠNG 1. 14 CHƢƠNG 2: RÀNG BUỘC TOÀN VẸN ( RBTV) MỘT CSDL. Các đặc trƣng của ràng buộc toàn vẹn.
Phân loại ràng buộc toàn vẹn. Bảng tầm ảnh hƣởng tổng hợp. 25 BÀI TẬP CHƢƠNG 2. 26 CHƢƠNG 3: NGÔN NGỮ ĐẠI SỐ QUAN HỆ .Các phép toán tập hợp và các phép toán quan hệ.
Các phép toán tập hợp trên các quan hệ. Các thao tác cơ sở trên các quan hệ. 39 BÀI TẬP CHƢƠNG 3. 40 CHƢƠNG 4: NGÔN NGỮ TRUY VẤN CSDL SQL.Ngôn ngữ định nghĩa dữ liệu.
Ngôn ngữ thao tác dữ liệu (Data Manipulation Language DML). Ngôn ngữ truy vấn dữ liệu có cấu trúc (Structured Query Language – SQL). 52 BÀI TẬP CHƢƠNG 4. 59 GIÁO TRÌNH MÔN HỌC Tên môn học: Cơ sở dữ liệu Mã môn học: MH 2101071, MH3101301 Vị trí, tính chất, ý nghĩa và vai trò của môn học/mô đun: - Vị trí: Là môn học đƣợc bố trí ở học kỳ 3- cơ sở, học kỳ 2 - phổ thông Là môn học cơ sở ở học kỳ 2 – cao đẳng - Tính chất: là môn học lý thuyết thuộc nhóm môn học bắt buộc - Ý nghĩa và vai trò của môn học: cung cấp cho ngƣời học kiến thức về các khái niệm cơ bản về cơ sở dữ liệu, phân biệt mô hình thực thể và mô hình quan hệ, ràng buộc toàn vẹn, đại số quan hệ, định nghĩa và sửa đổi định nghĩa bảng bằng các câu lệnh SQL, thực hiện việc ràng buộc khóa chính, khóa ngọai trong CSDL, cập nhật và sửa đổi dữ liệu bằng các câu lệnh SQL.
Sử dụng đƣợc các câu lệnh SQL để truy vấn rút trích, lọc, thống kê dữ liệu. Mục tiêu của môn học: - Về kiến thức: + Trình bày đƣợc khái niệm các thành phần cơ bản của một cơ sở dữ liệu + Phân biệt các hệ quản trị CSDL. Mô tả và vẽ đƣợc các thành phần trong mô hình ERD, mô hình dữ liệu quan hệ. + Liệt kê đƣợc các từ khóa sử dụng trong câu lệnh truy vấn (SQL) và ý nghĩa sử dụng của chúng.
+ Trình bày đƣợc cú pháp, chức năng các câu lệnh SQL cơ bản. - Về kỹ năng: + Vẽ đƣợc mô hình thực thể kết hợp từ một tình huống thực tế cơ bản đƣợc mô tả chi tiết. Xây dựng đƣợc mô hình dữ liệu quan hệ từ mô hình thực thể đã vẽ. + Thiết lập đƣợc cơ sở dữ bằng các câu lệnh SQL.
Viết đƣợc các câu lệnh SQL để thêm, sửa, xóa, và truy vấn khai thác dữ liệu - Về năng lực tự chủ và trách nhiệm: + Nhận thức đƣợc lợi ích của mô hình thực thể kết hợp trong hoạt động phân tích và thiết kể. Nhận thức đƣợc tính phổ biến, thực dụng của mô hình dữ liệu quan hệ trong các phần mềm có kết nối và sử đụng cơ sở dữ liệu. + Nhận thức đƣợc tầm quan trọng của việc phân công hợp lý, theo dõi, kiêm tra, đánh giá trong hoạt động nhóm. Chƣơng 1: Tổng quan về CSDL CHƢƠNG 1: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU (CSDL) Giới thiệu: Chƣơng này trình bày các khái niệm về Cơ sở dữ liệu, hệ quản trị CSDL, ngƣời dùng; giới thiệu các đặc tính, quá trình phát triển của Cơ sở dữ liệu; khái niệm mô hình, lƣợc đồ và thể hiện Cơ sở dữ liệu.
Trình bày quá trình thiết kế CSDL; khái niệm mô hình thực thể kết hợp, thực thể, thuộc tính, loại thực thể, khóa, mối kết hợp, cách thiết kế mô hình thực thể kết hợp. Giới thiệu khái niệm mô hình dữ liệu quan hệ, các đặc trƣng của quan hệ, cách chuyển mô hình thực thể kết hợp sang mô hình quan hệ. Mục tiêu: Phát biểu đƣợc các khái niệm và trình bày đƣợc các đặc trính về CSDL. Phân biệt các thành phần trong CSDL, các mô hình, trình bày đƣợc hệ thống ký hiệu trong mô hình thực thể kết hợp.
Chuyển đƣợc mô hình thực thể kết hợp sang mô hình quan hệ. Thiết kế đƣợc mô hình thực thể kết hợp từ tài liệu mô tả tình huống đơn giản. Nội dung chính: 1.1 Dữ liệu Là các thông tin của đối tƣợng (ngƣời, vật, một khái niệm, sự việc…) đƣợc lƣu trữ trên máy tính. Dữ liệu đƣợc mô tả dƣới nhiều dạng khác nhau (các ký tự, ký số, hình ảnh, ký hiệu, âm thanh…).
Mỗi cách mô tả gắn với một ngữ nghĩa nào đó. Dữ liệu về đối tƣợng có thể khác nhau, tùy thuộc vào ngữ cảnh. Ví dụ: dữ liệu về đối tƣợng sinh viên có thể khác nhau tùy vào mục đích quản lý: quản lý điểm: Tên, mã sinh viên, điểm môn 1, điểm môn 2, điểm môn 3. Trong khi đó quản lý nhân thân: Tên, địa chỉ, ngày sinh, quê quán, lớp.2 Cơ sở dữ liệu ( Database) Cơ sở dữ liệu (CSDL) là tập hợp dữ liệu đƣợc tổ chức có cấu trúc liên quan với nhau và đƣợc lƣu trữ trong máy tính.
CSDL đƣợc thiết kế, xây dựng cho phép ngƣời dùng lƣu trữ dữ liệu, truy xuất thông tin hoặc cập nhật dữ liệu. CSDL đƣợc tổ chức có cấu trúc: Các dữ liệu đƣợc lƣu trữ có cấu trúc thành các bản ghi (record), các trƣờng dữ liệu (field). Các dữ liệu lƣu trữ có mối quan hệ (relation) với nhau CSDL đƣợc cấu trúc để dễ dàng truy cập, quản lý và cập nhật. KHOA CÔNG NGHỆ THÔNG TIN Trang 1 Chƣơng 1: Tổng quan về CSDL 1.1 Ƣu điểm của cơ sở dữ liệu Giảm sự trùng lắp thông tin xuống mức thấp nhất và do đó bảo đảm đƣợc tính nhất quán và toàn vẹn dữ liệu.
Đảm bảo dữ liệu có thể truy xuất theo nhiều cách khác nhau. Khả năng chia sẻ thông tin cho nhiều ngƣời sử dụng.2 Những vấn đề mà CSDL cần phải giải quyết -Tính chủ quyền của dữ liệu Tính chủ quyền của dữ liệu đƣợc thể hiện ở phƣơng diện an toàn dữ liệu, khả năng biểu diễn các mối liên hệ ngữ nghĩa của dữ liệu và tính chính xác của dữ liệu. Điều này có nghĩa là ngƣời khai thác CSDL phải có nhiệm vụ cập nhật các thông tin mới nhất của CSDL. -Tính bảo mật và quyền khai thác thông tin của người sử dụng Do có nhiều ngƣời đƣợc phép khai thác dữ liệu một cách đồng thời, nên cần thiết phải có một cơ chế bảo mật và phân quyền hạn khai thác CSDL.
Các hệ điều hành nhiều ngƣời sử dụng hay hệ điều hành mạng cục bộ đều có cung cấp cơ chế này. -Tranh chấp dữ liệu Nhiều ngƣời đƣợc phép truy nhập cùng một lúc vào tài nguyên dữ liệu của CSDL với những mục đích khác nhau, do đó cần thiết phải có một cơ chế ƣu tiên khi truy nhập dữ liệu. Cơ chế ƣu tiên có thể đƣợc thực hiện bằng việc cấp quyền ƣu tiên cho từng ngƣời khai thác. -Đảm bảo an toàn dữ liệu khi có sự cố Việc quản lý dữ liệu tập trung có thể làm tăng khả năng mất mát hoặc sai lệch thông tin khi có sự cố nhƣ mất điện đột xuất, hay một phần đĩa lƣu trữ CSDL bị hƣ,… một số hệ điều hành mạng có cung cấp dịch vụ sao lƣu ảnh đĩa cứng, tự động kiểm tra và khắc phục lỗi khi có sự cố.
Tuy nhiên, bên cạnh dịch vụ của hệ điều hành, để đảm bảo CSDL luôn ổn định, một CSDL nhất thiết phải có một cơ chế khôi phục dữ liệu khi có các sự cố bất ngờ xảy ra.3 Hệ quản trị cơ sở dữ liệu (Database Management System - DBMS) Để giải quyết tốt những vấn đề mà cách tổ chức CSDL đặt ra nhƣ đã nói ở trên, cần thiết phải có những phần mềm chuyên dùng để khai thác chúng. Những phần mềm này đƣợc gọi là các hệ quản trị CSDL. Các hệ quản trị CSDL có nhiệm vụ hỗ trợ cho các nhà phân tích thiết kế CSDL cũng nhƣ những ngƣời khai thác CSDL. Hiện nay trên thị trƣờng phần mềm đã có những hệ quản trị CSDL hỗ trợ đƣợc nhiều tiện ích nhƣ: MS Access, MySQL, Oracle, PostgreSQL, SQL Server, DB2, Infomix.
KHOA CÔNG NGHỆ THÔNG TIN Trang 2 Chƣơng 1: Tổng quan về CSDL Ví dụ: SQL Server, Microsoft Access, Oracle là các hệ quản trị CSDL điển hình cho mô hình quan hệ. IMS của IBM là hệ quản trị CSDL cho mô hình phân cấp. IDMS là hệ quản trị CSDL cho mô hình mạng.