Bài giảng Cơ sở dữ liệu quan hệ & SQL

-Viết được cú pháp lệnh: + Truy vấn (SELECT) + Thao tác (INSERT, UPDATE, DELETE) + Định nghĩa (CREATE, ALTER, DROP) + Điều khiển (GRANT, REVOKE) -Lập trình PL/SQL -Áp dụng giải quyết một số bài toán cụ thể. -Tổng hợp và đánh giá môn học

pdf27 trang | Chia sẻ: lylyngoc | Lượt xem: 1997 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Bài giảng Cơ sở dữ liệu quan hệ & SQL, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 1. Giới thiệu CSDL quan hệ 1- 1 Khoa: Khoa học máy tính Bộ môn: Hệ thống thông tin Email: hophi@viethanit.edu.vn HỒ VĂN PHI Chương 1. Giới thiệu CSDL quan hệ 1- 2 CSDL QUAN HỆ & SQL SỐ TÍN CHỈ: 3 MÃ SỐ: (31 tiết lý thuyết + 28 tiết thực hành) Chương 1. Giới thiệu CSDL quan hệ 1- 3 CSDL QUAN HỆ & SQL - Điểm kiểm tra giữa học phần: 30% - Điểm thi kết thúc học phần: 70% Chương 1. Giới thiệu CSDL quan hệ 1- 4 1. Nancy Greenberg, Priya Nathan (2001), Introduction to Oracle9i SQL, Publisher: Shery1 Domingue. 2. Nagavalli Pataballa, Priya Nathan (2001), Introduction to Oracle9i SQL: PL/SQL, Publisher: Sandya Krishna. 3. Trần Tiến Dũng (2004), Giáo trình lý thuyết & thực hành ORACLE, NXB Lao động-Xa˜ hội. 4. Phạm Hữu Khang (2003), Lập trình ứng dụng chuyên nghiệp SQL Server 2000, NXB Lao động- Xa˜ hôi. TÀI LIỆU THAM KHẢO Chương 1. Giới thiệu CSDL quan hệ 1- 5 CSDL QUAN HỆ & SQL Chương 1. Giới thiệu cơ sở dữ liệu quan hệ Chương 2. Câu lệnh SQL Chương 3. Hàm SQL Chương 4. Thao tác dữ liệu Chương 5. Truy vấn con Chương 6. Tạo và quản lý đối tượng Chương 7. Quản lý người dùng Chương 8. SQL nâng cao Chương 9. Ngôn ngữ pl/sql Chương 1. Giới thiệu CSDL quan hệ 1- 6 CSDL QUAN HỆ & SQL  MỤC TIÊU MÔN HỌC - Viết được cú pháp lệnh: + Truy vấn (SELECT) + Thao tác (INSERT, UPDATE, DELETE) + Định nghĩa (CREATE, ALTER, DROP) + Điều khiển (GRANT, REVOKE) - Lập trình PL/SQL - Áp dụng giải quyết một số bài toán cụ thể. - Tổng hợp và đánh giá môn học Chương 1. Giới thiệu CSDL quan hệ 1- 7 MỤC TIÊU  Cơ sở dữ liệu là gì?  Cơ sở dữ liệu quan hệ là gì: - Bảng - Trường - Bản ghi - Khóa  Lấy một số ví dụ cơ sở dữ liệu  So sánh với csdl tệp tin/ Bảng tính excel Giới thiệu cơ sở dữ liệu quan hệ Chương 1. Giới thiệu CSDL quan hệ 1- 8 1.1 Tổng quan về cơ sở dữ liệu  Hệ xử lý tập tin truyền thống:  Có sự dư thừa dữ liệu rất lớn  Nâng cấp ứng dụng khó khăn  Người sử dụng có ít khả năng thao tác trực tiếp dữ liệu  Hệ cơ sở dữ liệu:  Nhất quán dữ liệu  Không trùng lặp thông tin Giới thiệu cơ sở dữ liệu quan hệ Chương 1. Giới thiệu CSDL quan hệ 1- 9 1.2 Khái niệm cơ sở dữ liệu (Database)  Là một hệ thống các thông tin có cấu trúc  Lưu trữ trên các thiết bị lưu trữ thông tin.  Ví dụ:  Trang niên giám điện thoại  Danh sách sinh viên.  Hệ thống tài khoản ngân hàng. Giới thiệu cơ sở dữ liệu quan hệ Chương 1. Giới thiệu CSDL quan hệ 1- 10  Hệ quản trị cơ sở dữ liệu (Database management system)  Phần mềm cho phép người dùng giao tiếp với CSDL  Môi trường xử lý, tìm kiếm và lưu trữ thông tin của CSDL. Giới thiệu cơ sở dữ liệu quan hệ Chương 1. Giới thiệu CSDL quan hệ 1- 11 1.3 Hệ cơ sở dữ liệu (Database system)  Là một hệ thống gồm có bốn thành phần:  Cơ sở dữ liệu hợp nhất  Người sử dụng  Phần mềm hệ quản trị cơ sở dữ liệu  Phần cứng  Hệ CSDL tập trung  Hệ CSDL phân tán Giới thiệu cơ sở dữ liệu quan hệ Chương 1. Giới thiệu CSDL quan hệ 1- 12 1.4 Phân loại  Hệ quản trị CSDL được chia thành 5 loại:  Loại phân cấp: hệ IMS của IBM  Loại mạng: IDMS của Cullinet Software  Loại tập tin đảo: ADABAS của Software AG  Loại quan hệ: ORACLE của Oracle, DB2 của IBM, SQL Server hay Access của Microsoft  Loại đối tượng: Hướng mới hiện nay  Hiện tại hệ quản trị CSDL quan hệ (RDBMS) được sử dụng phổ biến. Giới thiệu cơ sở dữ liệu quan hệ Chương 1. Giới thiệu CSDL quan hệ 1- 13 1.4 Chức năng  lưu giữ, xử lý, truy xuất và cập nhật dữ liệu  từ điển dữ liệu  cơ chế giao tác  Hoặc hoàn thành tất cả các thao tác  Hoặc không thực hiện thao tác nào  đảm bảo tính nhất quán dữ liệu  đảm bảo tính toàn vẹn dữ liệu Giới thiệu cơ sở dữ liệu quan hệ Chương 1. Giới thiệu CSDL quan hệ 1- 14 1.5 Khái niệm cơ sở dữ liệu quan hệ  E.F Codd giới thiệu vào những năm 1970  Tập hợp các bảng 2 chiều để lưu trữ thông tin.  gồm các dòng (bản ghi) chứa các cột (trường)  mỗi cột tương ứng với một mục dữ liệu  các bảng có thể liên kết với nhau  Ví dụ: Bảng SINHVIEN liên kết với bảng LOP trong csdl quản lý sinh viên Giới thiệu cơ sở dữ liệu quan hệ Chương 1. Giới thiệu CSDL quan hệ 1- 15 1.5 Khái niệm cơ sở dữ liệu quan hệ  Mỗi trường dữ liệu sẽ có một tên gọi và tập hợp thuộc tính miêu tả trường dữ liệu đó  Ví dụ:  kiểu dữ liệu (data type),  trường khoá (primary key),  độ lớn (field size),  định dạng (Format). Giới thiệu cơ sở dữ liệu quan hệ Chương 1. Giới thiệu CSDL quan hệ 1- 16 1.5 Khái niệm cơ sở dữ liệu quan hệ  Mỗi bảng có một hoặc nhiều trường làm khóa chính và khóa ngoại  khóa chính chứa giá trị duy nhất  tạo ra mối liên kết giữa các bảng trong cơ sở dữ liệu Giới thiệu cơ sở dữ liệu quan hệ Chương 1. Giới thiệu CSDL quan hệ 1- 17 1.6 Mô hình thực thể quan hệ gồm một tập các đối tượng cơ sở được gọi là các thực thể và một tập các quan hệ giữa các đối tượng này  Thực thể: được thể hiện bởi một tập đặc trưng hay thuộc tính  Thuộc tính: Là các đặc tính của một thực thể  Quan hệ: Là sự liên kết giữa các thực thể Giới thiệu cơ sở dữ liệu quan hệ Chương 1. Giới thiệu CSDL quan hệ 1- 18 1.7 Quan hệ nhiều bảng là mối quan hệ giữa hai bảng với nhau  Quan hệ 1-1: mỗi bản ghi của bảng A sẽ liên kết với duy nhất tới một bản ghi của bảng B và ngược lại.  Quan hệ 1-n: mỗi bản ghi của bảng A sẽ liên kết với nhiều bản ghi của bảng B. Ngược lại, mỗi bản ghi của bảng B sẽ chỉ liên kết đến duy nhất 1 bản ghi của bảng A.  Quan hệ n-n: mỗi bản ghi của bảng A sẽ liên kết với nhiều bản ghi của bảng B và ngược lại. Giới thiệu cơ sở dữ liệu quan hệ Chương 1. Giới thiệu CSDL quan hệ 1- 19 1.8 Hệ quản trị cơ sở dữ liệu quan hệ quản lý csdl và cung cấp các dịch vụ xử lý csdlqh  Lưu trữ dữ liệu  Tạo ra và duy trì cấu trúc dữ liệu  Hỗ trợ tính bảo mật và riêng tư  Cung cấp cơ chế chỉ mục (index)  Một số hệ quản trị csdl quan hệ phổ biến: ORACLE của Oracle, DB2 của IBM hay Access, SQL Server của Microsoft. Giới thiệu cơ sở dữ liệu quan hệ Chương 1. Giới thiệu CSDL quan hệ 1- 20 1.9 Cơ sở dữ liệu ORACLE Giới thiệu cơ sở dữ liệu quan hệ Chương 1. Giới thiệu CSDL quan hệ 1- 21 1.9 Cơ sở dữ liệu ORACLE  hệ quản trị cơ sở dữ liệu đối tượng quan hệ  Lưu trữ dl có cấu trúc, không có cấu trúc và bán cấu trúc;  đầy đủ các chức năng của csdl quan hệ đối tượng  Một số chức năng của Oracle  Tích hợp các thành phần quản trị của cơ sở dữ liệu vào ngay trong cơ sở dữ liệu.  Tích hợp thành phần quản trị với bộ máy quản lý trung tâm.  Cung cấp hệ thống tổ chức thông minh làm cho các thành phần có thể quản lý ngay chính nó. Giới thiệu cơ sở dữ liệu quan hệ Chương 1. Giới thiệu CSDL quan hệ 1- 22 1.10 Giới thiệu SQL  Structure Query Language - ngôn ngữ vấn tin có cấu trúc  là một chuẩn ngôn ngữ sử dụng trong cơ sở dữ liệu quan hệ vào năm 1986  Hiện SQL được xem là ngôn ngữ chuẩn trong cơ sở dữ liệu  Một số chức năng của SQL  Định nghĩa dữ liệu  Truy xuất và thao tác dữ liệu  Điều khiển truy cập Đảm bảo toàn vẹn dữ liệu Giới thiệu cơ sở dữ liệu quan hệ Chương 1. Giới thiệu CSDL quan hệ 1- 23 1.10 Giới thiệu SQL Giới thiệu cơ sở dữ liệu quan hệ SQL:20032003 SQL3SQL:19991999 Thay đổi lớn.SQL2SQL-921992 Thay đổi nhỏ.SQL-891989 Được công bố đầu tiên bởi ANSI. Được phê chuẩn bởi ISO năm 1987. SQL-87SQL-861986 Chú giảiTên khácTênNăm Chương 1. Giới thiệu CSDL quan hệ 1- 24 1.11 Phân nhóm SQL Giới thiệu cơ sở dữ liệu quan hệ Là những lệnh dùng để thiết lập, thay đổi hay xoá bỏ cấu trúc dữ liệu như là bảng, khung nhìn, chỉ mục,... (CREATE, ALTER, DROP, RENAME, TRUNCATE) Nhóm lệnh định nghĩa dữ liệu DDL (Data Definition Language) Là những lệnh dùng để nhập thêm những hàng mới, thay đổi nội dung dữ liệu trên các hàng hay xoá các hàng trong bảng. (INSERT, UPDATE, DELETE, MERGE) Nhóm lệnh thao tác dữ liệu DML (Data Manipulation Language). Là lệnh thông dụng nhất, dùng để lấy, xem dữ liệu trong cơ sở dữ liệu. (SELECT) Lệnh lấy dữ liệu. Chức năngNhóm lệnh Chương 1. Giới thiệu CSDL quan hệ 1- 25 1.11 Phân nhóm SQL Giới thiệu cơ sở dữ liệu quan hệ Hai lệnh này dùng để gán hoặc hủy các quyền truy nhập vào cơ sở dữ liệu và các cấu trúc bên trong nó. (GRANT, REVOKE) Nhóm lệnh điều khiển dữ liệu DCL (Data Control Language). Quản lý việc thay đổi dữ liệu bằng các lệnh DML. Việc thay đổi dữ liệu có thể được nhóm lại thành các chuyển tác. (COMMIT, ROLLBACK, SAVEPOINT) Nhóm lệnh chuyển tác (Transaction) Chức năngNhóm lệnh Chương 1. Giới thiệu CSDL quan hệ 1- 26 1.12 Câu hỏi và bài tập  Trả lời câu hỏi phần 1.12 trong giáo trình  Chuẩn bị cơ sở dữ liệu ở phần phụ lục Giới thiệu cơ sở dữ liệu quan hệ Chương 1. Giới thiệu CSDL quan hệ 1- 27 Giới thiệu cơ sở dữ liệu quan hệ HỌC GÌ – NHỚ GÌ?