Hệ quản trị CSDL ttu Ngôn ngữ định nghĩa dữ liệu DDL – Data Definition Language: n Cho phép khai báo cấu trúc CSDL, mối liên hệ của dữ liệu n Được dùng để định nghĩa các lược đồ mức qu
Trang 1MÔN HỌC
CƠ SỞ DỮ LIỆU
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA HỆ THỐNG THÔNG TIN
Thời lượng : 45LT+30 TH
Giảng viên : ThS Nguyễn Đình Loan Phương Email : phuongndl@uit.edu.vn
Trang 2Nội dung môn học
uChương 1: Tổng quan về CSDL
uChương 2: Mô hình dữ liệu quan hệ (của Codd) uChương 3: Ngôn ngữ đại số quan hệ
uChương 4: Ngôn ngữ SQL
uChương 5: Ràng buộc toàn vẹn.
uChương 6: Phụ thuộc hàm và các dạng chuẩn
Trang 3Chương 1 TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA HỆ THỐNG THÔNG TIN
Trang 51 Giới thiệu
Trang 61 Giới thiệu
uDữ liệu (Data)
n Một mô tả hình thức về những sự kiện, khái niệm
n Tên, địa chỉ, số điện thoại của khách hàng
n Báo cáo doanh thu
n Đăng ký học phần
n …
Trang 8Lý Tập
Tập tin
Tập tin
Chương trình ứng dụng 1
Quản lý dữ liệu
Chương trình ứng dụng 2
Quản lý dữ liệu
Trang 92 Quá trình phát triển (tt)
Quản lý tài khoản tiết kiệm
Quản lý tài khoản cá nhân
Quản lý tài khoản vay
Tập tin
Tập tin
Tập tin
Trang 102 Quá trình phát triển (tt)
uHệ thống tập tin
n Ưu điểm:
n Triển khai ứng dụng nhanh
n Khả năng đáp ứng nhanh chóng, kịp thời (vì chỉ phục vụ cho mục đích hạn hẹp)
n Khuyết điểm:
n Dữ liệu trùng lắp và dư thừa ® lãng phí
n Thiếu tính nhất quán giữa các dữ liệu
n Khó khăn trong việc truy xuất
Trang 112 Quá trình phát triển (tt)
uTiếp cận CSDL
Hệ Quản Trị CSDL
CSDL
Trang 133 Định nghĩa Cơ sở dữ liệu
uCơ sở dữ liệu (Database) là một hệ thống các
thông tin có cấu trúc, được lưu trữ trên các thiết bị
lưu trữ nhằm thỏa mãn yêu cầu khai thác thông tin
đồng thời của nhiều người sử dụng hay nhiều
chương trình ứng dụng với những mục đích khác
nhau
uTập ngẫu nhiên dữ liệu không được xem là một cơ sở
dữ liệu
Trang 143 Định nghĩa Cơ sở dữ liệu (tt)
uƯu điểm:
n Giảm trùng lắp thông tin xuống mức thấp nhất,
đảm bảo tính nhất quán và toàn vẹn dữ liệu
n Đảm bảo dữ liệu được truy xuất theo nhiều cáchkhác nhau
n Khả năng chia sẽ thông tin cho nhiều người, nhiềuứng dụng khác nhau
Trang 153 Định nghĩa Cơ sở dữ liệu (tt)
uNhững vấn đề cần giải quyết:
Trang 174 Các đối tượng sử dụng CSDL
u Người dùng cuối (end user)
n Giáo dục, khoa học, y tế, kinh doanh,…
n Cần công cụ để họ khai thác CSDL khi cần.
u Chuyên viên tin học: Xây dựng các ứng dụng phục vụ cho quản lý
u Quản trị viên (Database Administrator): Tổ chức CSDL;
Xử lý an toàn, bảo mật, cấp quyền; Sao lưu, phục hồi dữ liệu; Giải quyết các tranh chấp dữ liệu
Trang 193 Định nghĩa Cơ sở dữ liệu (tt)
uHệ quản trị CSDL (Database Management
n Xây dựng – lưu trữ dữ liệu lên bộ nhớ phụ
n Xử lý – truy vấn, cập nhật và phát sinh báo cáo
Trang 205 Hệ quản trị Cơ sở dữ liệu
u Hệ quản trị cơ sở dữ liệu (DBMS – DataBase
Management System) là hệ thống các phần mềm hỗ trợ tích cực cho các nhà phân tích, thiết kế và khai thác CSDL.
u Các DBMS thông dụng:
Visual FoxPro,
Microsoft Access,
SQL Server,
Trang 215 Hệ quản trị CSDL (tt)
uMột DBMS phải có:
n Ngôn ngữ giao tiếp giữa người sử dụng và CSDL
n Từ điển dữ liệu (Data Dictionary)
n Có biện pháp bảo mật khi có yêu cầu
n Cơ chế giải quyết tranh chấp dữ liệu
n Có cơ chế sao lưu (backup), phục hồi (restore)
n Đảm bảo tính độc lập giữa dữ liệu và chương trình
Trang 225 Hệ quản trị CSDL (tt)
u Ngôn ngữ định nghĩa dữ liệu (DDL – Data Definition
Language):
n Cho phép khai báo cấu trúc CSDL, mối liên hệ của dữ liệu
n Được dùng để định nghĩa các lược đồ mức quan niệm và lược đồ trong.
u Ngôn ngữ thao tác dữ liệu (DML – Data Manipulation
Language)
n Cho phép truy xuất, thêm, xóa, sửa dữ liệu
u Ngôn ngữ truy vấn có cấu trúc (SQL – Structured Query
Language)
n Cho phép người khai thác sử dụng để truy vấn thông tin
Trang 246 Các mức biểu diễn một CSDL
uKiến trúc 3 lược đồ
Người dùng
Lược đồ ngoài 1 … Lược đồ ngoài n
Lược đồ quan niệm
Trang 256 Các mức biểu diễn một CSDL (tt)
uMức ngoài
n Còn gọi là mức khung nhìn (view)
n Mô tả một phần của CSDL mà 1 nhóm người dùng
quan tâm đến và che dấu phần còn lại của CSDL đối với nhóm người dùng đó
uMức quan niệm (Conception hay Logical)
n Mức nhìn tổng thể về CSDL, dành cho người quản trị CSDL
n Mô tả cấu trúc của toàn thể CSDL gồm thực thể, kiểu
dữ liệu, mối liên hệ và ràng buộc
Trang 277 Các mô hình dữ liệu
uMô hình dữ liệu (Data model) là sự trừu tượng
hóa của môi trường thực, biểu diễn dữ liệu ở mức quan niệm.
uMột số mô hình
n Mô hình dữ liệu phân cấp
n Mô hình dữ liệu mạng
n Mô hình dữ liệu thực thể mối kết hợp
n Mô hình dữ liệu quan hệ
n Mô hình dữ liệu hướng đối tượng
Trang 28Ví dụ mô hình phân cấp
Trang 29Mô hình dữ liệu mạng
uMô hình dữ liệu mạng (Network Data
Model) còn gọi tắt là mô hình mạng hoặc
mô hình lưới là mô hình được biểu diễn bởi một đồ thị có hướng.
n Mẫu tin (record)
n Loại mẫu tin
n Loại liên hệ (set type)
n Bản số
Trang 30Mô hình dữ liệu mạng (tt)
(‘NV001’,’Nguyen Lam’,’Nam’,’10/10/1970’,’Dong Nai’)
chất Ví dụ: NHANVIEN
n Ký hiệu:
Trang 31Khoa HTTT-Đại học CNTT 31
2 Mô hình dữ liệu mạng (3)
uBản số: chỉ ra số lượng các mẫu tin tham
gia trong mối liên hệ
n (1:1) (one-to-one): mỗi mẫu tin của loại mẫu tin
chủ kết hợp với đúng 1 mẫu tin của loại mẫu tin
thành viên
n (1:n) (one-to-many): mỗi mẫu tin của loại mẫu tin
chủ kết hợp với 1 hay nhiều mẫu tin thành viên
n (n:1) (many-to-one): nhiều mẫu tin của loại mẫu tin
chủ kết hợp với đúng 1 mẫu tin của loại mẫu tin
thành viên
n (Recursive): một loại mẫu tin chủ cũng có thể đồng thời là loại mẫu tin thành viên với chính nó Loại liên hệ này là Đệ quy
Trang 321:n
Trang 33MaHP SLuong MaMH
MHoc
MaMH TenMH Khoa TinChi
DKien
MaMH MaMHTruoc
Trang 34Ví dụ mô hình hướng đối tượng
SVien
Ten Lop Nganh
LapTKB() InBangDiem()
Diem
DiemTH DiemLT DiemPrj SuaDiem()
HPhan
Ten SLuong 0 *
Trang 35MÔ HÌNH THỰC THỂ
MỐI KẾT HỢP
Trang 36Mô hình thực thể mối kết hợp (ER)
uMô hình thực thể mối kết hợp
(Entity-Relationship Model viết tắc ER) được
CHEN giới thiệu năm 1976.
uĐược dùng để thiết kế CSDL ở mức quan
niệm
Trang 37n Một thực thể là một đối tượng của thế giới thực
n Tập hợp các thực thể giống nhau tạo thành 1 loại thực thể
uVí dụ : HOCVIEN, LOP, MONHOC, …
uKý hiệu: HOCVIEN LOP
Trang 38Thực thể (Entity)
uĐịnh nghĩa: thực thể là một thể hiện hoặc
một đối tượng của một loại thực thể.
Trang 39Thuộc tính
u Định nghĩa: thuộc tính là những tính chất
đặc trưng của loại thực thể cần lưu trữ.
u Ví dụ: Loại thực thể HOCVIEN có các thuộc tính:
Mahv Ngaysinh Noisinh
Trang 40Các loại thuộc tính
uĐơn trị (Simple): mỗi thực thể chỉ có một giá trị
ứng với các thuộc tính
n Ví dụ: Mahv,Hoten
uĐa trị (Multi-valued): thuộc tính có thể có nhiều
giá trị đối với một thực thể
n Ví dụ: BANGCAP ký hiệu {BANGCAP}
uĐa hợp (Composite): thuộc tính có thể được tạo
Trang 41Các loại thuộc tính (tt)
uTóm lại, các thuộc tính đa hợp và đa trị có thể lồng nhau tùy ý
n Ví dụ: thuộc tính BANGCAP của HOCVIEN là một thuộc tính
đa hợp được ký hiệu bằng
{BANGCAP(TRUONGCAP, NAM, KETQUA, CHUYENNGANH)}
Trang 42Khóa của loại thực thể
uKhóa của loại thực thể là thuộc tính nhận diện
thực thể.
uCăn cứ vào giá trị của khóa có thể xác định duy nhất một thực thể.
uVí dụ:
n Mỗi học viên có một mã số duy nhất => Khoá của
loại thực thể HOCVIEN là Mã học viên
uChú ý
n Mỗi loại thực thể phải có 1 khóa
Trang 43HOCVIEN GioitinhHoten
Mahv
Ngaysinh Noisinh
Trang 44Loại mối kết hợp (relationship type)
uĐịnh nghĩa: là sự kết hợp giữa hai hay
nhiều loại thực thể
uVí dụ: giữa hai loại thực thể HOCVIEN và
LOP có loại mối kết hợp THUOC
n Một học viên thuộc một lớp nào đó
uKý hiệu: bằng một hình oval hoặc hình thoi
Trang 45Loại mối kết hợp
uGiữa hai loại thực thể có thể tồn tại nhiều
hơn một loại mối kết hợp.
uVí dụ
Thuộc
Là trưởng lớp
Trang 46Số ngôi của loại mối kết hợp
u Số ngôi của loại mối kết hợp là số loại thực thể tham
gia vào loại mối kết hợp đó.
u Ví dụ 1: Loại mối kết hợp Thuộc kết hợp 2 loại thực
thể HOCVIEN và LOP nên có số ngôi là 2.
u Ví dụ 2: Loại mối kết hợp Thi kết hợp 3 loại thực thể
LANTHI,HOCVIEN, MONHOC nên có số ngôi là 3.
Trang 47Thuộc tính của loại mối kết hợp
u Thuộc tính của loại mối kết hợp bao gồm các
thuộc tính khoá của các loại thực thể tham gia vào loại mối kết hợp đó Ngoài ra còn có thể có thêm những thuộc tính bổ sung khác.
u Thuộc tính trên mối quan hệ mô tả tính chất cho
mối quan hệ đó
u Thuộc tính này không thể gắn liền với những
thực thể tham gia vào mối quan hệ
Trang 48Thuộc tính của loại mối kết hợp
uVí dụ:
n Loại mối kết hợp Giảng dạy giữa ba loại thực thể GIAOVIEN, MONHOC và LOP có các thuộc tính là Magv, Mamh, Malop
n Ngoài ra còn có thuộc tính riêng là Hocky, Nam
Giang day
Hocky
Trang 49Bản số (relationship cardinality)
u Loại mối kết hợp thể hiện liên kết giữa các thực
thể, mỗi liên kết được gọi là một nhánh.
u Định nghĩa: bản số của nhánh là số lượng tối
thiểu và số lượng tối đa các mối kết hợp mà một thực thể thuộc nhánh đó tham gia.
u Ký hiệu: (bản số tối thiểu, bản số tối đa)
Trang 50Bản số (tt)
uVí dụ: Loại thực thể HOCVIEN và LOP có
loại mối kết hợp Thuộc và Là trưởng lớp.
Thuộc
Trang 51Tên thuộc tính Thuộc tính
Tên quan hệ Quan hệ
Trang 52Mối kết hợp đệ quy
uĐịnh nghĩa: là loại mối kết hợp được tạo thành từ cùng một loại thực thể (hay một loại thực thể có loại mối kết hợp với chính nó)
uVí dụ: Mỗi nhân viên có một người quản lý trực tiếp và người quản lý đó cũng là một nhân viên
(0,1)
Trang 53Loại thực thể yếu
uĐịnh nghĩa:
n Là loại thực thể không có thuộc tính khóa
n Khóa có được từ những thuộc tính của tập thực thể khác
n Phải tham gia trong một loại mối kết hợp xác định trong đó có một loại thực thể chủ
uKý hiệu :
Thực thể
Trang 54Loại thực thể yếu (tt)
uVí dụ: loại thực thể LANTHI có thuộc tính Lần và tham gia trong loại mối kết hợp Thi với loại thực thể HOCVIEN và MONHOC là loại thực thể yếu.
Thi
MONHOC
(1,n)
Trang 55MaMH Khoa TenMH
(0,n)
Hocky Gvien Nam
MaHP
Trang 56Bài tập 1
vụ gồm có các chức năng sau:
n Lưu trữ thông tin: Học viên , giáo viên, môn học
n Xếp lớp cho học viên, chọn lớp trưởng cho lớp
n Phân công giảng dạy: giáo viên dạy lớp nào với môn học gì, ở học kỳ, năm học nào
n Lưu trữ kết quả thi: học viên thi môn học nào, lần thi thứ mấy, điểm thi bao nhiêu
Trang 57Bài tập 2
uCSDL đề án công ty theo dõi các thông tin liên
quan đến nhân viên, phòng ban và đề án
n Cty có nhiều phòng ban, mỗi phòng ban có tên duy
nhất, mã phòng duy nhất, một trưởng phòng và ngày nhận chức Mỗi phòng ban có thể ở nhiều địa điểm
khác nhau.
n Đề án có tên duy nhất, mã duy nhất, do 1 một phòng ban chủ trì và được triển khai ở 1 địa điểm.
n Nhân viên có mã số, tên, địa chỉ, ngày sinh, phái và
lương Mỗi nhân viên làm việc ở 1 phòng ban, tham gia vào các đề án với số giờ làm việc khác nhau Mỗi nhân viên đều có một người quản lý trực tiếp.
n Một nhân viên có thể có nhiều thân nhân Mỗi thân
nhân có tên, phái, ngày sinh và mối quan hệ với nhân viên đó.
Trang 58Ví dụ mô hình ER
Lam_viec
La_truong_phong
NHANVIEN TENNV
PHAI
LUONG HONV
(1:n)
(1:1)