CSDL 1 1
CSDL 1 1
Cơ sở dữ liệu 2
Nội dung
• Lý thuyết:
1. Các khái niệm cơ bản về CSDL
2. Mô hình thực thể liên kết
3. Mô hình quan hệ, các ràng buộc quan hệ, đại số quan
hệ
4. Phụ thuộc hàm và chuẩn hóa CSDL quan hệ, các
thuật toán thiết kế lược đồ CSDL quan hệ
• Thực hành:
1. Thực hành sử dụng Mysql
2. Tuần 2 - 15
Cơ sở dữ liệu 3
Chuẩn đầu ra học phần
Kiến Thức
• Vận dụng được các kiến thức về mô hình thực thể - liên kết
• Vận dụng được các kiến thức về mô hình quan hệ và đại số
quan hệ
• Vận dụng được các kiến thức về phụ thuộc hàm và các dạng
chuẩn
• Vận dụng được các thuật toán thiết kế CSDL quan hệ
Kỹ năng
• Cài đặt được một hệ quản trị CSDL, chẳng hạn MySQL,
PostgreSQL, MS SQL
• Sử dụng thành thạo ngôn ngữ truy vấn SQL để thực hiện các
yêu cầu truy xuất dữ liệu
4
Tài liệu tham khảo
• Ramez Elmasri & Shamkant
B. Navathe, Fundamentals of
Database Systems, 7th
Edition, Pearson 2016.
– Sinh viên vắng quá 20% số buổi học sẽ không có điểm tổng kết
– Điểm bài tập bằng 0 nếu thiếu/gian lận 3 bài tập bất kỳ
Cơ sở dữ liệu 6
Database Career Opportunities
8
https://db-engines.com/en/ranking
Các HQT CSDL dùng bởi
Google, Facebook, Twitter… [stackshare.io]
9
Chương 1. Tổng quan về Hệ
CSDL
▪ Một số khái niệm
▪ Quá trình phát triển
▪ Một số đặc tính của CSDL
▪ Người sử dụng CSDL
▪ Kiến trúc của HQT CSDL
▪ Các tính năng của HQT CSDL
▪ Một số khái niệm: Mô hình, Lược đồ, Thể hiện
▪ Ngôn ngữ CSDL
Cơ sở dữ liệu 10
1.1 MỘT SỐ KHÁI NIỆM
Cơ sở dữ liệu 11
Thông tin và dữ liệu
Dữ liệu Thông tin
Cơ sở dữ liệu 12
Cơ sở dữ liệu
❖ Cơ sở dữ liệu (Database): Một tập hợp những dữ
liệu có liên quan với nhau được lưu trữ trong máy
tính đáp ứng nhu cầu khai thác của nhóm người sử
dụng với các mục đích xác định nào đó.
❖ Các tính chất:
o Một CSDL biểu diễn một phần của thế giới thực (thế giới nhỏ -
miniworld), được cập nhật phản ánh sự thay đổi của thế giới nó biểu
diễn.
o Một cơ sở dữ liệu là một tập hợp dữ liệu liên kết với nhau một cách
logic và mang một nghĩa nào đó.
o Một cơ sở dữ liệu được thiết kế và được phổ biến cho một mục
đích riêng, có nhóm người sử dụng.
Cơ sở dữ liệu 13
Ví dụ Một ứng dụng sử dụng CSDL
truyền thống
• Giả sử cần xây dựng một hệ thống quản lý
các thông tin sau:
– Sinh viên
– Môn học
– Giáo viên
– Mỗi sinh viên đang học một số môn học, mỗi
giảng viên đang dạy một số lớp môn học
Cơ sở dữ liệu 14
Không sử dụng HQT CSDL ?
Lưu trữ dữ liệu ở các tập tin:
Cơ sở dữ liệu 15
Không sử dụng HQT CSDL
• Thêm sinh viên “Nguyễn Văn Minh” vào lớp
môn học “INT2207-1”:
Viết chương trình C++ thực hiện các nhiệm vụ:
Đọc ‘sinhvien.txt’
Đọc ‘Monhoc.txt’
Tìm và cập nhật bản ghi “Nguyễn Văn
Minh”
Tìm và cập nhật bản ghi “INT2207-1”
Viết “sinhvien.txt”
Viết “Monhoc.txt”
Cơ sở dữ liệu 16
Không sử dụng HQT CSDL
CRASH !
• Hệ thống bị treo: Đọc ‘sinhvien.txt’
Đọc ‘Monhoc.txt’
Tìm và cập nhật bản ghi “Nguyễn Văn Minh”
Tìm và cập nhật bản ghi “INT2207-1”
Viết “sinhvien.txt”
Viết “Monhoc.txt”
– Vấn đề gì xảy ra ?
• Bộ dữ liệu lớn (giả sử 50GB)
– Vấn đề gì xảy ra ?
• Nhiều người dùng truy cập đồng thời
Cơ sở dữ liệu 17
Giải quyết vấn đề với HQT CSDL
Kết nối
(ODBC, JDBC)
Cơ sở dữ liệu 19
Cấu trúc Hệ CSDL, Hệ quản trị
CSDL
Hệ CSDL
Cơ sở dữ liệu 20
Ví dụ CSDL Quản lý Đào tạo
o Các đối tượng: Sinh viên, Môn học, Học phần, Ngành..
o Mối quan hệ:
• Mỗi sinh viên có thể học một số học phần trong mỗi kỳ
• Mỗi môn học được dạy trong một hoặc nhiều học phần xác định
• Mỗi môn học có thể có các môn điều kiện
• Mỗi học phần do một giáo viên giảng
• Mỗi môn học do một khoa quản lý
• Mỗi sinh viên thuộc một ngành nào đó
• Mỗi ngành do một khoa quản lý.
Cơ sở dữ liệu 21
Ví dụ CSDL Quản lý Đào tạo
SINHVIEN
MaSv Hoten Lop MaNganh
MONHOC MONDK
MaMH TenMH SoTC MaKhoa MaMH MaMonDK
HOCPHAN NGANH
MaHP MaMH Hocky Giaovien MaNg TenNg
KHOA
MaKhoa TenKhoa MaNganh
DIEM
MaSv MaHP Diem
Cơ sở dữ liệu 22
Ví dụ CSDL Quản lý Đào tạo
▪ Định nghĩa CSDL: Xác định cấu trúc các bảng, Các kiểu
dữ liệu của các trường,..
▪ Xây dựng CSDL: Dữ liệu được ghi trong các tệp như thế
nào, các quan hệ giữa các bản ghi,
▪ Thao tác CSDL: Cập nhật và khai thác dữ liệu.
Cơ sở dữ liệu 23
Meta data
Cơ sở dữ liệu 25
Tập tin (trước 1960)
Cơ sở dữ liệu 26
Tập tin (trước 1960)
▪ Hạn chế
▪ Dữ liệu bị trùng lặp và dư thừa
▪ Thiếu tính nhất quán giữa các dữ liệu
▪ 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
Cơ sở dữ liệu 27
Cơ sở dữ liệu (Database)
Hệ
Chương trình ứng dụng 2
Quản
Quản lý dữ liệu Trị CSDL
CSDL
Cơ sở dữ liệu 28
Contrasting Database and File Systems
• Analytical database:
Stores historical data
and business metrics
used exclusively for
tactical or strategic
decision making
– Data warehouse:
Stores data in a format
optimized for decision
support