CƠ SỞ DỮ LIỆU DATABASE: Là một hệ thống thông tin HTTT có cấu trúc kết hợp với các phép toán phù hợp với cấu trúc đó, nhằm mục đích tổ chức, lưu trữ, khai thác và kiểm tra qui tắc quản l
Trang 1ThS Nguyễn Văn Danh,
Bộ môn Hệ thống Thông tin,Khoa CNTT, trường Đại học Công nghệ TP.HCM
Trang 2NỘI DUNG MÔN HỌC(1)
Bài 1 Tổng quan về cơ sở dữ liệu Bài 2: Mô hình dữ liệu quan hệ Bài 3: Ngôn ngữ xử lý vấn tin Bài 4: Ràng buộc toàn vẹn
Bài 5: Thiết kế cơ sở dữ liệu Bài 6: Các dạng chuẩn cơ bản Bài 7: Chỉ mục (index)
Trang 3NỘI DUNG MÔN HỌC(2)
Bài 8: Khung nhìn (view) Bài 9: Thủ tục nội tại (Stored Procedure - SP) Bài 10: Hàm (function)
Bài 11: Bẫy lỗi (trigger) Bài 12: Một số kiến thực nâng cao
Trang 5• Giáo trình lưu hành nội bộ (sách)
• Slide của trường ĐH khác (tham khảo)
Trang 71.1 CƠ SỞ DỮ LIỆU – HỆ QUẢN TRỊ CSDL (1)
1. CƠ SỞ DỮ LIỆU (DATABASE):
Là một hệ thống thông tin (HTTT) có cấu trúc kết hợp với các phép toán phù hợp với cấu trúc đó, nhằm mục đích tổ chức, lưu trữ, khai thác và kiểm tra qui tắc quản
lý một cách " Tốt nhất ”, đảm bảo tính nhất quán và không trùng lắp cho nhiều người sử dụng một cách đồng thời với nhiều mục đích khác nhau.
Lưu ý:
Các tính chất: Hệ thống, có cấu trúc, nhiều người sử dụng, khai thác đồng thời, nhiều mục đích khác nhau Nội dung của môn CSDL sẽ làm rõ tính "Tốt nhất“.
Trang 81.1 CƠ SỞ DỮ LIỆU – HỆ QUẢN TRỊ CSDL (2)
Tính "Tốt nhất" cần làm rõ bởi các nội dung sau:
Tổ chức và lưu trữ "Tốt nhất”: HTTT dữ liệu dạng bảng -> gần gủi với người sử dụng (MH Quan Hệ - Chương II).
Khai thác "Tốt nhất": Tường minh và chặt chẻ bởi các phép toán Đại số Quan hệ (Ngôn ngữ Đại số Quan hệ, chương III) Trong sáng dễ diễn đạt và
gần gũi với ngôn ngữ tự nhiên được xử lý khai thác bởi bởi ngôn ngữ SQL (Ngôn ngữ truy vấn DL, chương IV), đã được tối ưu hóa (Chương VII - TỐI
ƯU HÓA CÂU HỎI)
Trang 91.1 CƠ SỞ DỮ LIỆU – HỆ QUẢN TRỊ CSDL (3)
(Bối cảnh, nội dung, tầm ảnh hưởng) (Chương V –
hóa dữ liệu (Chuẩn hóa dữ liệu, Chương VI).
Trang 101.1 CƠ SỞ DỮ LIỆU – HỆ QUẢN TRỊ CSDL (4)
Để đảm bảo HTTT cho nhiều người sử dụng với nhiều mục đích khác nhau khi chọn hệ quản trị CSDL cần quan tâm đến các vấn đề:
Trang 111.1 CƠ SỞ DỮ LIỆU – HỆ QUẢN TRỊ CSDL (5)
2 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU (DataBase Management System
-DBMS): Là hệ thống các chương trình quản trị CSDL, đồng thời
là công cụ giao tiếp giữa người sử dụng hoặc các ứng dụng
với CSDL.
Hệ quản trị CSDL cần có:
Từ điển dữ liệu (Data Dictionary)
Cơ chế giải quyết tranh chấp
Cơ chế bảo mật dữ liệu.
Cơ chế tự động sao lưu (Backup) và phục hồi (Restore) dữ liệu
khi có sự cố.
Ngôn ngữ giao tiếp người sử dụng (NSD) với CSDL.
Đảm bảo tính độc lập giữa dữ liệu và chương trình.
Có thể, cần có giao diện tốt với người dùng không chuyên.
Trang 13Thao tác trên tập tin Cơ sở dữ liệu
Mỗi database trong SQL Server chứa duy nhất một data file chính (Primary), có thể có thêm một hay nhiều data phụ (Secondary) và ít nhất một transaction log file (file nhật ký) – mặc
dù chỉ cần 1 tập tin log là đủ.
Phần dữ liệu: tập tin bắt buộc (*.mdf) và tập tin phụ (*.ndf).
Phần nhật ký (*.ldf).
Tập tin dữ liệu mdf và ndf
Tập tin log
.ldf
C ơ sở dữ liệu
Trang 141.3Thao tác trên tập tin Cơ sở dữ liệu
Primary data file (.mdf):
Secondary data file (.ndf):
Transaction log file (.ldf):
Trang 16 Dùng SQL Server Manangement Studio.
Dùng lệnh T–SQL ( Chỉ thực hành phần này thôi)
được yêu cầu:
Trang 17( name= tên logic của file dữ liệu,
Filename= ‘đường dẫn đến nơi lưu trữ trên đĩa’,
Size=<dung lượng file>[KB|MB|GB|TB], Maxsize=<dung lượng tối đa
[KB|MB|GB|TB]|UNLIMITED>, Filegrowth=<tỉ lệ tăng trưởng>
) [, ( …), …, (…)]
Trang 18( name= tên logic của file transaction log,
Filename= ‘đường dẫn đến nơi lưu trữ trên đĩa’, Size=<dung lượng>,
Maxsize=<dung lượng tối đa>, Filegrowth=<tỉ lệ tăng trưởng>
);
GO
Trang 20Maxsize=100MB, Filegrowth= 10MB )
Tạo CSDL
Trang 21Maxsize= 15MB , Filegrowth= 1MB );
GO
Trang 22Thường khi tạo CSDL, để cho đơn giãn, người ta
bỏ qua các thông số của 2 file( chấp nhận các giá trị mặc định) Vì thế chúng ta chỉ cần thực hiện
theo lệnh đơn giản như sau:
CREATE DATABASE DB_QLSV
Trang 23sở dữ liệu trên thì chúng ta sử dụng lệnh USE
USE DB_QLSV