Bài giảng Cơ sở dữ liệu - Chương 1: Tổng quan về Cơ sở dữ liệu - Phạm Nguyễn Cương

* Giới thiệu

Tiếp cận CSDL so với tập tin = Một số đặc tính của CSDL = Các vai trò trong CSDL

* Các tính năng của HQT CSDL * Khái niệm mô tả CSDL * Kiến trúc ba lược đồ

= Ngôn ngữ CSDL

pdf 12 trang xuanthi 30/12/2022 2080
Bạn đang xem tài liệu "Bài giảng Cơ sở dữ liệu - Chương 1: Tổng quan về Cơ sở dữ liệu - Phạm Nguyễn Cương", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfbai_giang_co_so_du_lieu_chuong_01_tong_quan_ve_co_so_du_lieu.pdf

Nội dung text: Bài giảng Cơ sở dữ liệu - Chương 1: Tổng quan về Cơ sở dữ liệu - Phạm Nguyễn Cương

  1. Giới!thiệu!(>)! Giới!thiệu!(>)! ! Cơ"sở"dữ"liệu"(Database)" Ví"dụ"về"CSDL - Định"nghĩa:"“tập"dữ"liệu"có"liên"quan"với"nhau"gắn"với"một" ngữ"nghĩa”"" - Ví"dụ:" # Danh"sách"sinh"viên"""tập"dữ"liệu"về"sinh"viên" # Danh"mục"lớp"học"""tập"dữ"liệu"về"lớp"học" # Danh"mục"các"đề"án,"Danh"mục"nhân"viên,"danh"mục"phòng" ban,"v.v " ! Đặc"trưng"CSDL" - Một"CSDL"biểu"diễn"một"phần"của"thế"giới"thực"(thế"giới"thu" nhỏ)" - CSDL"được"thiết"kế,"xây"dựng,"và"lưu"trữ"với"một"mục"đích"xác" định,"phục"vụ"cho"một"số"ứng"dụng"và"người"dùng" (1): -Fundamentals Tập" ngẫuof Database"nhiên Systems, Fourth"của edition,"các Ramez"dữ Elmasri"liệu and"không Shamkant B." thểNavathe"xem, 2003 "là"một"CSDL" Bộ"môn"HTTT"/"Khoa"CNTT"/"Trường"ĐH"KHTN " 5& Giới!thiệu!(>)! Giới!thiệu!(>)! ! Hệ"quản"trị"CSDL"(Database"Management"System)" ! Môi"trường"hệ"CSDL"đơn"giản" - “Tập"hợp"các"chương"trình"cho"phép"người"dùng"tạo"và"duy" trì"CSDL”" - Chức"năng"cơ"bản"của"hệ"quản"trị"CSDL:" Người dùng/lập trình viên # Định"nghĩa"–"khai"báo"bộ"khung"dữ"liệu"cùng"với"các"mô"tả" Chương trình ứng dụng/ Truy vấn chi"tiết"về"dữ"liệu" # Xây"dựng"–"lưu"trữ"dữ"liệu"lên"các"phương"tiện"lưu"trữ" Hệ QT CSDL Phần mềm xử lý truy vấn/ Chương # Xử"lý"–"truy"vấn,"cập"nhật"và"phát"sinh"báo"cáo" trình # Chia"sẽ"/"cho"phép"nhiều"người"dùng"và"chương"trình"truy" cập"đồng"thời"CSDL" Phần mềm truy cập dữ liệu # Bảo"vệ"/"đảm"bảo"dữ"liệu"được"lưu"trữ"an"toàn"từ"các"sự"cố," ngăn"cản"truy"cập"không"được"phép " CSDL (1): Fundamentals of Database Systems, Fourth edition, Ramez Elmasri and Shamkant B. Navathe, 2003 Bộ"môn"HTTT"/"Khoa"CNTT"/"Trường"ĐH"KHTN" 7& Bộ"môn"HTTT"/"Khoa"CNTT"/"Trường"ĐH"KHTN" 8&
  2. Tiếp!cận!CSDL!so!với!tập!8n Tiếp!cận!CSDL!so!với!tập!8n!(>)! ! Tiếp"cận"tập"tin"–"Ví"dụ: ! Tiếp"cận"tập"tin" - Hạn"chế" struct SINHVIEN # Khó"kiểm"soát"trùng"lắp"và"dư"thừa"dữ"liệu" { Chương trình char[10] masv; # Khó"đảm"bảo"tính"nhất"quán"giữa"các"dữ"liệu" char[100] hoten; }; # Khó"khăn"trong"việc"truy"xuất" # Việc"chia"sẻ"dữ"liệu"bị"hạn"chế" # Khó"khôi"phục" Tập tin dữ liệu ©"Bộ"môn"HTTT"/"Khoa"CNTT"/"Trường"ĐH"KHTN" 13& Bộ"môn"HTTT"/"Khoa"CNTT"/"Trường"ĐH"KHTN" 14& Tiếp!cận!CSDL!so!với!tập!8n!(>)! Nội!dung!chi!8ết! ! Tiếp"cận"Cơ"sở"dữ"liệu"(Database)" ! Giới"thiệu" ! Tiếp"cận"CSDL"so"với"tập"tin" ! Một"số"đặc"tính"của"CSDL" - Tính"tự"mô"tả" - Tính"cô"lập"giữa"chương"trình"và"dữ"liệu" - Tính"trừu"tượng"hóa"dữ"liệu" - Hỗ"trợ"nhiều"khung"nhìn"dữ"liệu" ! Các"vai"trò"trong"CSDL" ! Các"tính"năng"của"HQT"CSDL" ! Khái"niệm"mô"tả"CSDL" ! Kiến"trúc"ba"lược"đồ" ! Ngôn"ngữ"CSDL" Bộ"môn"HTTT"/"Khoa"CNTT"/"Trường"ĐH"KHTN" 15& Bộ"môn"HTTT"/"Khoa"CNTT"/"Trường"ĐH"KHTN" 16&
  3. Nội!dung!chi!8ết! Vai!trò!trong!CSDL!! ! Giới"thiệu" ! Quản"trị"viên"CSDL"(DBA"–"Database"Administrator)" ! Tiếp"cận"CSDL"so"với"tập"tin" - Có"trách"nhiệm"quản"lý"hệ"CSDL" ! Một"số"đặc"tính"của"CSDL" # Cấp"quyền"truy"cập"CSDL" ! Các"vai"trò"trong"CSDL" # Điều"phối"và"giám"sát"việc"sử"dụng"CSDL" - Quản"trị"viên"(Database"Administrator"/"DBA)" ! Thiết"kế"viên"CSDL" - Thiết"kế"viên"(Database"Designer)" - Chịu"trách"nhiệm"về" - Lập"trình"viên"CSDL"(database"programmer)" # Lựa"chọn"cấu"trúc"phù"hợp"để"lưu"trữ"dữ"liệu" - Người"dùng"cuối"(End"User)" # Quyết"định"những"dữ"liệu"nào"cần"được"lưu"trữ" ! Các"tính"năng"của"HQT"CSDL" - Liên"hệ"với"người"dùng"để"nắm"bắt"được"những"yêu"cầu"và" đưa"ra"một"thiết"kế"CSDL"thỏa"yêu"cầu"này" ! Khái"niệm"mô"tả"CSDL" ! Lập"trình"viên"CSDL" ! Kiến"trúc"ba"lược"đồ" - Lập"trình"các"chức"năng"nhằm"quản"lý"và"khai"thác"CSDL"" ! Ngôn"ngữ"CSDL" Bộ"môn"HTTT"/"Khoa"CNTT"/"Trường"ĐH"KHTN" 21& Bộ"môn"HTTT"/"Khoa"CNTT"/"Trường"ĐH"KHTN" 22& Vai!trò!trong!CSDL!!(>)! Nội!dung!chi!8ết! ! Người"dùng"cuối"" ! Giới"thiệu" - Người"ít"sử"dụng" ! Tiếp"cận"CSDL"so"với"tập"tin" # Ít"khi"truy"cập"CSDL,"nhưng"cần"những"thông"tin"khác"nhau" ! Một"số"đặc"tính"của"CSDL" trong"mỗi"lần"truy"cập"và"dùng"những"câu"truy"vấn"phức" ! Các"vai"trò"trong"CSDL" tạp" # Người"quản"lý"" ! Các"tính"năng"của"HQT"CSDL" - Người"sử"dụng"thường"xuyên" ! Khái"niệm"mô"tả"CSDL" # Thường"xuyên"truy"vấn"và"cập"nhật"CSDL"nhờ"vào"một"số" ! Kiến"trúc"ba"lược"đồ" các"chức"năng"đã"được"xây"dựng"sẵn" ! Ngôn"ngữ"CSDL" # Nhân"viên" - Người"sử"dụng"đặc"biệt" # Thông"thạo"về"HQT"CSDL,"tự"xây"dựng"những"truy"vấn" phức"tạp"cho"công"việc" # Kỹ"sư,"nhà"khoa"học,"người"phân"tích"kinh"doanh, " Bộ"môn"HTTT"/"Khoa"CNTT"/"Trường"ĐH"KHTN" 23& Bộ"môn"HTTT"/"Khoa"CNTT"/"Trường"ĐH"KHTN" 24&
  4. Khái!niệm!mô!tả!CSDL Mô!hình!dữ!liệu!! ! Liên"hệ"giữa"các"khái"niệm"biểu"diễn"CSDL ! Mô"hình"dữ"liệu"(Data"model)"bao"gồm" - Cung"cấp"tập"khái"niệm"dùng"mô"tả"CSDL" Mô hình (data model) # Ký"hiệu,"kiểu"dữ"liệu,"quan"hệ,"ràng"buộc " - Cung"cấp"các"phép"toán"xử"cơ"bản"lý"dữ"liệu:"" Được mô tả bởi # Truy"vấn"và"cập"nhật"CSDL" Lãnh vực cụ thể Lược đồ (database schema) Được mô tả bởi Thể hiện (database instance) ©"Bộ"môn"HTTT"/"Khoa"CNTT"/"Trường"ĐH"KHTN" 29& Bộ"môn"HTTT"/"Khoa"CNTT"/"Trường"ĐH"KHTN" 30& Mô!hình!dữ!liệu!(>)! Mô!hình!dữ!liệu!(>) ! Các"loại"mô"hình"dữ"liệu" ! Ví"dụ"1"–"Mô"hình"thực"thể"kết"hợp"(ER)" - Mô"hình"mức"cao"hoặc"mô"hình"dữ"liệu"quan"niệm" - Một"số"khái"niệm:" # Cung"cấp"tập"các"khái"niệm"mô"tả"CSDL"gần"gũi"với"người" Loại Thực thể Thuộc tính dùng" Kết hợp # Tự"nhiên"và"giàu"ngữ"nghĩa" ! Mô"hình"mạng" # VD:"mô"hình"thực"thể"kết"hợp"(ER),"mô"hình"đối"tượng " - Một"số"khái"niệm:" - Mô"hình"cài"đặt" Loại mẫu tin # Cung"cấp"tập"các"khái"niệm"mô"tả"CSDL"mà"người"dùng"có" (record type) Loại kết hợp 1:N thể"hiểu"được"nhưng"không"quá"xa"với"cách"dữ"liệu"được"tổ" chức"thật"sự"trên"máy"tính" # VD:"mô"hình"quan"hệ,"mô"hình"mạng,"mô"hình"phân"cấp" - Mô"hình"mức"thấp"(mô"hình"vật"lý)" # Cung"cấp"tập"các"khái"niệm"mô"tả"chi"tiết"về"cách"thức" CSDL"được"lưu"trữ"trong"máy"tính" Bộ"môn"HTTT"/"Khoa"CNTT"/"Trường"ĐH"KHTN" 31& ©"Bộ"môn"HTTT"/"Khoa"CNTT"/"Trường"ĐH"KHTN" 32&
  5. Thể!hiện! Nội!dung!chi!8ết! ! Thể"hiện"CSDL"(Database"Instance"hoặc"Database"Status)" ! Giới"thiệu" - Là"dữ"liệu"hiện"thời"được"lưu"trữ"trong"CSDL"ở"một"thời"điểm" ! Tiếp"cận"CSDL"so"với"tập"tin" nào"đó" ! Một"số"đặc"tính"của"CSDL" - Tình"trạng"của"CSDL" ! Người"sử"dụng"CSDL" ! Các"tính"năng"của"HQT"CSDL" ! Khái"niệm"mô"tả"CSDL" ! Kiến"trúc"ba"lược"đồ" ! Ngôn"ngữ"CSDL" Bộ"môn"HTTT"/"Khoa"CNTT"/"Trường"ĐH"KHTN" 37& Bộ"môn"HTTT"/"Khoa"CNTT"/"Trường"ĐH"KHTN" 38& Kiến!trúc!ba!lược!đồ!của!hệ!CSDL!! Kiến!trúc!ba!lược!đồ!của!hệ!CSDL!(>)! ! Mức"trong"(lược"đồ"trong)" - Mô"tả"cấu"trúc"lưu"trữ"vật"lý"CSDL" ! Mức"luận"lý"(lược"đồ"quan"niệm)" Mức ngoài Người dùng Người dùng - Mô"tả"cấu"trúc"của"toàn"thể"CSDL"cho"1"cộng"đồng"người"sử" Lược đồ ngoài 1 Lược đồ ngoài n dụng,"gồm"thực"thể,"kiểu"dữ"liệu,"mối"liên"hệ"và"ràng"buộc" Ánh xạ ngoài/ - Che"bớt"các"chi"tiết"của"cấu"trúc"lưu"trữ"vật"lý" Ánh xạ luận lý ! Mức"ngoài"(lược"đồ"ngoài)" Mức luận lý Lược đồ luận lý - Ánh xạ luận lý/ Còn"gọi"là"mức"khung"nhìn"(view)" Ánh xạ trong - Mô"tả"một"phần"của"CSDL"mà"1"nhóm"người"dùng"quan"tâm" Lược đồ trong đến"và"che"dấu"phần"còn"lại"của"CSDL"đối"với"nhóm"người" dùng"đó" Mức trong Bộ"môn"HTTT"/"Khoa"CNTT"/"Trường"ĐH"KHTN" 39& Bộ"môn"HTTT"/"Khoa"CNTT"/"Trường"ĐH"KHTN" 40&
  6. Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 45&