Bài giảng môn Cơ sở dữ liệu - Chương 1: Tổng quan về Cơ sở dữ liệu cung cấp cho người đọc các kiến thức: Giới thiệu, hệ thống tệp tin, định nghĩa một CSDL, các đối tượng sử dụng CSDL, hệ quản trị CSDL,... Mời các bạn cùng tham khảo.
05/09/2016 Đại Học Công Nghệ Thông Tin Khoa Hệ thống Thông tin Môn học: Cơ Sở Dữ Liệu Thời lượng: 45LT+30TH Giảng viên: ThS Thái Bảo Trân Email: trantb@uit.edu.vn MỤC TIÊU Môn học nhằm cung cấp cho sinh viên kiến thức tảng CSDL, đặc biệt CSDL quan hệ: mơ hình liệu quan hệ (Relational Data Model), ngôn ngữ truy vấn, Sinh viên tích lũy hiểu biết để sử dụng khai thác CSDL quan hệ cách thành thạo Sinh viên trang bị kỹ khai báo, truy vấn CSDL quan hệ với hệ quản trị CSDL cụ thể (MS SQL Server) nhằm phục vụ cho nhiều môn học nâng cao CSDL học kỳ CuuDuongThanCong.com Khoa HTTT- Đại học CNTT https://fb.com/tailieudientucntt 05/09/2016 Nội dung Tổng quan CSDL (3t) Mơ hình liệu quan hệ (Codd) (6t) Ngôn ngữ đại số quan hệ (6t) Ngơn ngữ SQL (12t) Ràng buộc tồn vẹn (6t) Phụ thuộc hàm dạng chuẩn (9t) Ôn tập (3t) Khoa HTTT- Đại học CNTT Tài Liệu Tham Khảo Slides môn Cơ sở liệu, Khoa hệ thống thông tin, Đại học Công nghệ Thông tin, ĐHQG, HCM Hector Garcia-Molina, Jeffrey D Ullman, and Jennifer Widom, Database Systems - The Complete Book, Prentice Hall, ISBN: 013-031995-32002 Raghu Ramakrishnan and Johannes Gehrke, Database Management Systems, Third Edition, McGraw Hill, 2003 ISBN: 0-07-246563-8 C J Date, An Introduction to Database Systems, Eighth Edition, Addison Wesley, 2003 ISBN 0- 321-19784-4 CuuDuongThanCong.com https://fb.com/tailieudientucntt 05/09/2016 Hình thức kiểm tra đánh giá Giữa kỳ (Tự luận) : 20% Thực hành : 30% Cí kỳ (Tự luận) : 50% Điểm cộng : ++2 (Thực hành) Chương 1: Tổng quan Cơ Sở Dữ Liệu Thời lượng: tiết CuuDuongThanCong.com Khoa HTTT- Đại học CNTT https://fb.com/tailieudientucntt 05/09/2016 NỘI DUNG Giới thiệu Hệ thống tập tin (File System) Định nghĩa CSDL Các đối tượng sử dụng CSDL Hệ quản trị CSDL Các mức CSDL Các mơ hình liệu 7 Khoa HTTT- Đại học CNTT Giới thiệu Tại cần phải có sở liệu? Một ứng dụng quản lý cần ? Giao diện: cửa sổ, nút điều khiển,… Xử lý: tính tốn, xếp, tìm kiếm,… Lưu trữ: Tập tin (file), CSDL,… • • • CuuDuongThanCong.com Khoa HTTT- Đại học CNTT https://fb.com/tailieudientucntt 05/09/2016 Khoa HTTT- Đại học CNTT 10 Khoa HTTT- Đại học CNTT CuuDuongThanCong.com https://fb.com/tailieudientucntt 05/09/2016 Hệ thống tập tin (1) Là tập hợp tập tin riêng lẻ phục vụ cho mục đích đơn vị sử dụng Ưu điểm: – – Triển khai ứng dụng nhanh Khả đáp ứng nhanh chóng, kịp thời (vì phục vụ cho mục đích hạn hẹp) 11 Khoa HTTT- Đại học CNTT Hệ thống tập tin (2) Nhược điểm: – – – – – – 12 CuuDuongThanCong.com Dữ liệu bị trùng lắp dư thừa Thiếu tính quán liệu Chia sẻ liệu bị hạn chế Khó khăn việc truy suất đồng thời Khó khơi phục Vấn đề bảo mật phân quyền Khoa HTTT- Đại học CNTT https://fb.com/tailieudientucntt 05/09/2016 13 Khoa HTTT- Đại học CNTT Cơ sở liệu (1) Định nghĩa: – – 14 CuuDuongThanCong.com Cơ sở liệu hệ thống thơng tin có cấu trúc, lưu trữ thiết bị lưu trữ thông tin thứ cấp như: băng từ, đĩa từ,… Có thể thỏa mãn yêu cầu khai thác thông tin đồng thời nhiều người sử dụng hay nhiều chương trình ứng dụng với mục đích khác Khoa HTTT- Đại học CNTT https://fb.com/tailieudientucntt 05/09/2016 15 Khoa HTTT- Đại học CNTT Cơ sở liệu (2) Ưu điểm: – – – 16 CuuDuongThanCong.com Giảm trùng lắp thông tin xuống mức thấp đảm bảo tính quán toàn vẹn liệu Đảm bảo liệu truy xuất theo nhiều cách khác Khả chia sẻ thông tin cho nhiều người, nhiều ứng dụng khác Khoa HTTT- Đại học CNTT https://fb.com/tailieudientucntt 05/09/2016 Cơ sở liệu (3) Những vấn đề cần giải quyết: – – – – Tính chủ quyền liệu Tính bảo mật quyền khai thác thơng tin người sử dụng Tranh chấp liệu Đảm bảo liệu có cố 17 Khoa HTTT- Đại học CNTT Các đối tượng sử dụng Người dùng cuối: sử dụng công cụ hỗ trợ để khai thác CSDL Người thiết kế CSDL: xây dựng ứng dụng để phục vụ cho mục đích quản lý Người quản trị CSDL: tổ chức CSDL, bảo mật, cấp quyền, lưu, phục hồi liệu, giải tranh chấp liệu, … 18 CuuDuongThanCong.com Khoa HTTT- Đại học CNTT https://fb.com/tailieudientucntt 05/09/2016 19 Khoa HTTT- Đại học CNTT Hệ quản trị sở liệu (1) Hệ quản trị sở liệu: DataBase Management System - DBMS Là hệ thống phần mềm hỗ trợ tích cực cho nhà phân tích, thiết kế khai thác CSDL Cung cấp cho người dùng ứng dụng môi trường thuận tiện sử dụng hiệu tài nguyên liệu Các DBMS thông dụng: Visual FoxPro, Microsoft Access, SQL Server, DB2, Oracle, … 20 CuuDuongThanCong.com Khoa HTTT- Đại học CNTT https://fb.com/tailieudientucntt 10 05/09/2016 Các thành phần (2) Thực thể (Entity) Định nghĩa: Thực thể thể đối tượng loại thực thể Ví dụ: Loại thực thể SINHVIEN có thực thể: – – (‘SV001’, ‘Nguyễn A’, ‘1/2/1987’,’Nam’) (‘SV002’, ‘Trần B’, ‘13/2/1987’, ‘Nam’) 41 Các thành phần (3) Thuộc tính (Entity Attribute) Định nghĩa: Thuộc tính tính chất đặc trưng loại thực thể cần lưu trữ Ví dụ: Loại thực thể SINHVIEN có thuộc tính: Mã sinh viên, họ tên, giới tính, ngày sinh, nơi sinh MaSV Ký hiệu: SINHVIEN Hoten Gioitinh Ngaysinh Noisinh 42 CuuDuongThanCong.com https://fb.com/tailieudientucntt 21 05/09/2016 Các thành phần (4) Các loại thuộc tính (1) Đơn trị (Simple): thực thể có giá trị ứng với thuộc tính Ví dụ: MaSV, Hoten Đa trị (Multi-valued): thuộc tính có nhiều giá trị thực thể Ví dụ: BANGCAP ký hiệu {BANGCAP} Đa hợp (Composite): thuộc tính tạo thành từ nhiều thành phần Ví dụ: DIACHI(SONHA,DUONG,PHUONG,QUAN) hay thuộc tính HOTEN(HO,TENLOT,TEN) 43 Các thành phần (5) Các loại thuộc tính (2) Chú ý: Các thuộc tính đa hợp đa trị lồng tùy ý – Ví dụ: thuộc tính BANGCAP SINHVIEN thuộc tính đa hợp ký hiệu {BANGCAP(TRUONGCAP,NAM,KETQUA, CHUYENNGANH)} 44 CuuDuongThanCong.com https://fb.com/tailieudientucntt 22 05/09/2016 Các thành phần (6) Khoá loại thực thể (Entity type key)(1) Khóa loại thực thể thuộc tính nhận diện thực thể Căn vào giá trị khóa xác định thực thể Ví dụ: – Mỗi sinh viên có mã số => Khoá loại thực thể SINHVIEN Mã sinh viên 45 Các thành phần (7) Khoá loại thực thể (Entity type key)(2) Chú ý: Mỗi tập thực thể phải có khóa Một khóa có hay nhiều thuộc tính Có thể có nhiều khóa tập thực thể, ta chọn khóa làm khóa cho tập thực thể 46 CuuDuongThanCong.com https://fb.com/tailieudientucntt 23 05/09/2016 Các thành phần (8) Loại thực thể yếu (1) Định nghĩa: – – Là loại thực thể thuộc tính khóa Phải tham gia loại mối kết hợp xác định có loại thực thể chủ Ký hiệu: Ví dụ: loại thực thể LANTHI có thuộc tính Lần tham gia loại mối kết hợp Thi với loại thực thể SINHVIEN MONHOC loại thực thể yếu Thực thể 47 Các thành phần (9) Loại thực thể yếu (2) MONHOC (1,n) (1,n) SINHVIEN Thi (1,n) LANTHI 48 CuuDuongThanCong.com https://fb.com/tailieudientucntt 24 05/09/2016 Các thành phần (10) Mối kết hợp (Relationship) (1) Định nghĩa: Mối kết hợp kết hợp hai hay nhiều loại thực thể Ví dụ: hai loại thực thể SINHVIEN LOP có mối kết hợp “Thuoc” Ký hiệu: hình oval hình thoi SINHVIEN LOP Thuoc 49 Các thành phần (11) Mối kết hợp (2) Giữa hai loại thực thể tồn nhiều loại mối kết hợp Ví dụ Thuộc SINHVIEN LOP Là trưởng lớp 50 CuuDuongThanCong.com https://fb.com/tailieudientucntt 25 05/09/2016 Các thành phần (12) Số mối kết hợp (relationship degree)(1) Số mối kết hợp số loại thực thể tham gia vào loại mối kết hợp Ví dụ 1: Loại mối kết hợp Thuộc kết hợp loại thực thể HOCVIEN LOP nên có số ngơi Ví dụ 2: Loại mối kết hợp Giảng dạy kết hợp loại thực thể GIAOVIEN, MONHOC, LOP nên có số ngơi 51 Các thành phần (13) Số mối kết hợp (relationship degree)(2) HOCVIEN LOP MONHOC LOP Giang Thuoc day GIAOVIEN 52 CuuDuongThanCong.com https://fb.com/tailieudientucntt 26 05/09/2016 Các thành phần (14) Thuộc tính mối kết hợp (1) Thuộc tính mối kết hợp bao gồm thuộc tính khóa loại thực thể tham gia vào loại mối kết hợp Ngồi có thêm thuộc tính bổ sung khác Ví dụ: Loại mối kết hợp Giảng dạy ba loại thực thể GIAOVIEN, MONHOC LOP có thuộc tính MaGV,Mamh,Malop, ngồi có thuộc tính riêng Hocky, Nam 53 Các thành phần (15) Thuộc tính mối kết hợp (2) LOP MONHOC Giang day Hocky Nam GIAOVIEN 54 CuuDuongThanCong.com https://fb.com/tailieudientucntt 27 05/09/2016 Các thành phần (16) Bản số (relationship cardinality)(1) Loại mối kết hợp thể liên kết thực thể, liên kết gọi nhánh Định nghĩa: Bản số nhánh số lượng tối thiểu số lượng tối đa thực thể thuộc nhánh tham gia vào loại mối kết hợp Ký hiệu: (bản số tối thiểu, bảng số tối đa) Ví dụ: Loại thực thể NhanVien DeAn có loại mối kết hợp ThamGia 55 Các thành phần (17) Bản số (2) (1,1) SINHVIEN Thuộc (1,n) LOP 56 CuuDuongThanCong.com https://fb.com/tailieudientucntt 28 05/09/2016 Các thành phần (16) Bản số (3) (1,1) Thuộc SINHVIEN (1,n) LOP (1,n) (0,1) Là trưởng lớp 57 Các thành phần (19) Ràng buộc mối kết hợp (1) Nhằm giới hạn khả kết hợp thực thể tham gia Xuất phát từ ràng buộc giới thực Có hai loại ràng buộc mối kết hợp Ràng buộc dựa số Ràng buộc dựa tham gia 58 CuuDuongThanCong.com https://fb.com/tailieudientucntt 29 05/09/2016 Các thành phần (20) Ràng buộc mối kết hợp (2) Sự tham gia PEOPLE mối kết hợp bắt buộc, tham gia CITY tùy ý Diễn tả khái niệm người sinh sống thành phố nhất, thành phố có nhiều người sinh sống 59 Các thành phần (21) Ràng buộc mối kết hợp (3) Mỗi môn học dạy từ đến lần tuần, ngày tuần có số buổi học đó, phòng học có tối đa buổi học tuần Diễn tả khái niệm môn học cho dạy ngày phòng học 60 CuuDuongThanCong.com https://fb.com/tailieudientucntt 30 05/09/2016 61 Các thành phần (22) Mối kết hợp đệ quy Định nghĩa: loại mối kết hợp tạo thành từ loại thực thể (hay loại thực thể có loại mối kết hợp với nó) Ví dụ: Mỗi nhân viên có người quản lý trực tiếp người quản lý nhân viên (0,1) NHANVIEN QuanLy (1,n) 62 CuuDuongThanCong.com https://fb.com/tailieudientucntt 31 05/09/2016 Lược đồ ER (1) (Entity-Relationship Diagram viết tắt ERD) ERD đồ thị biểu diễn tập thực thể, thuộc tính mối quan hệ Đỉnh tên tập thực thể, tên thuộc tính tên quan hệ Cạnh đường nối giữa: Thực thể - Thuộc tính Mối quan hệ - Thuộc tính Thực thể - Mối quan hệ 63 Mơ hình ER (2) Các bước tạo ERD B1: Xác định thực thể, thuộc tính B2: Xác định mối kết hợp, thuộc tính B3: Xác định số B4: Vẽ mô hình số cơng cụ như: MS Visio Power Designer 64 CuuDuongThanCong.com https://fb.com/tailieudientucntt 32 05/09/2016 65 66 CuuDuongThanCong.com https://fb.com/tailieudientucntt 33 05/09/2016 Bài tập 1.2: Xây dựng mơ hình ER Xây dựng mơ hình ER cho CSDL quản lý giáo vụ gồm có chức sau: – – – – Lưu trữ thông tin: Học viên , giáo viên, môn học Xếp lớp cho học viên, chọn lớp trưởng cho lớp Phân công giảng dạy: giáo viên dạy lớp với mơn học gì, học kỳ, năm học Lưu trữ kết thi: học viên thi môn học nào, lần thi thứ mấy, điểm thi 67 Bài tập 1.3: Xây dựng mơ hình ER Vẽ sơ đồ ERD cho hệ thống thơng tin sau Trường Đại học CNTT có nhu cầu xây dựng hệ thống thông tin quản lý nhân nhằm mục đích đáp ứng ngày tốt nhu cầu sống CBCNV, đặt biệt việc quan tâm, động viên kịp thời CB-CNV trường cháu đạt thành tích học tập hay khen thưởng đợt 1/6 hè Các yêu cầu hệ thống gồm: 68 CuuDuongThanCong.com https://fb.com/tailieudientucntt 34 05/09/2016 Bài tập 1.3: (tt) Xây dựng mơ hình ER Quản lý thông tin nhân thân cán công nhân viên (tên, tuổi, địa chỉ, điện thoại, vợ/chồng, …) Quản lý thông tin cán công nhân viên (tên, ngày tháng năm sinh, giới tính, …) Quản lý thơng tin thành tích học tập cháu (năm học, thành tích giải thưởng đặc biệt khác, …) 69 CuuDuongThanCong.com https://fb.com/tailieudientucntt 35 ... (17 ) Bản số (2) (1, 1) SINHVIEN Thuộc (1, n) LOP 56 CuuDuongThanCong.com https://fb.com/tailieudientucntt 28 05/09/2 016 Các thành phần (16 ) Bản số (3) (1, 1) Thuộc SINHVIEN (1, n) LOP (1, n) (0 ,1) ... quy 33 7 .1 Mơ hình liệu mạng (4) PHONG LYLICH gồm 1: n có 1: 1 NHANVIEN 1: n CONGVIEC làm quản lý trực tiếp n :1 34 CuuDuongThanCong.com https://fb.com/tailieudientucntt 17 05/09/2 016 7 .1 Mơ hình... học CNTT https://fb.com/tailieudientucntt 05/09/2 016 13 Khoa HTTT- Đại học CNTT Cơ sở liệu (1) Định nghĩa: – – 14 CuuDuongThanCong.com Cơ sở liệu hệ thống thơng tin có cấu trúc, lưu trữ thiết