Bài 1: Giới thiệu môn học
1
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
Giới thiệu
Cơ sở dữ liệu (EE4509, EE6133)
Lý thuyết + Bài tập, Bài tập lớn + Thi cuối kỳ
Giảng viên:
TS. Đào Trung Kiên, Viện MICA, ĐH BKHN
Email:
Web:
Sách tham khảo:
M.V. Mannino: Database Design, Application Development and Design,
McGraw-Hill, 2007
A. Siberschatz, H. Korth, S. Sudarshan: Database System Concepts,
McGraw-Hill, 2001
Công cụ sử dụng:
CSDL: SQL Server, MySQL
Lập trình: MS Visual C++, C#, PHP
2
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
Nội dung môn học
Tổng quan
Các mô hình dữ liệu
Mô hình thực thể - liên kết (ER)
Mô hình quan hệ
Ngôn ngữ SQL
Dùng CSDL trong các ứng dụng
Một số vấn đề liên quan khác
3
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
Bài tập lớn
Thực hiện theo nhóm: 3 sinh viên / nhóm
Thuyết trình bằng slide 15 phút / nhóm vào các buổi
cuối. Nội dung trình bày:
Thiết kế và cài đặt CSDL
Thiết kế và cài đặt ứng dụng
Phân công công việc trong nhóm
Đánh giá điểm dựa vào công việc của từng thành
viên
Nộp báo cáo bằng giấy và email
4
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
Tổng quan
5
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
Đặt vấn đề
Với các bài toán đơn giản, việc quản lý dữ liệu có thể
không phải là vấn đề lớn
Nhưng với các bài toán phức tạp, có thể có các vấn đề
sau trong quản lý dữ liệu:
Lượng dữ liệu rất lớn (hàng triệu, tỷ,… bản ghi)
Truy xuất đồng thời (nhiều người dùng/chương trình truy xuất
cùng lúc)
Tốc độ truy xuất (đòi hỏi quản lý một cách thông minh với lượng
dữ liệu lớn)
Giao tiếp đơn giản và theo chuẩn
…
CSDL (Database) và các hệ quản trị CSDL (Database
Management Systems - DBMS)
6
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
Lịch sử
Bắt đầu hình thành từ đầu những năm 1960
Ngày nay đã trở thành một công nghệ nền tảng
Tham gia của nhiều hãng công nghệ lớn: Microsoft, Oracle, Sun,
IBM,…
Hiện diện mọi nơi: các phần mềm quản lý, Wikipedia, Google,
Facebook,…
Sơ lược:
Thế hệ đầu tiên (1960): sử dụng mô hình phân tầng (hierarchical
model) và mô hình mạng (network model): IDMS (IBM)
Mô hình quan hệ (relational model, 1970): nhấn mạnh khả năng
tìm kiếm dữ liệu, được sử dụng rất phổ biến hiện nay
Mô hình thực thể-liên kết (entity-relationship model, 1976): giúp
thiết kế CSDL
Các mô hình khác: đối tượng (object model: ObjectDB), bán cấu
trúc (semi-structural model: XML),…
7
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
Khái niệm CSDL
CSDL: là tập hợp các thông tin được tổ chức theo
một cấu trúc nhất định.
Ví dụ:
Sổ danh bạ: là một CSDL chứa danh sách tên, số điện
thoại, địa chỉ các cá nhân
8
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
STT
Tên Điện thoại Địa chỉ
1
Bill Gates
0900000000
Mỹ
2
Bill Clinton
09111111111
Mỹ
3
Mao Trạch
Đông
0922222222
Trung Quốc
4
Trương
Tấn Sang
0933333333
Việt
Nam
5
Nguyễn
Tấn Dũng
0944444444
Việt
Nam
…
…
…
…
Sơ đồ CSDL
Là phần mô tả cấu trúc của một CSDL. Nó cho biết ý
nghĩa chung của các thông tin đuộc lưu trữ trong
CSDL.
Ví dụ:
Sổ danh bạ gồm các trường: tên, số điện thoại, địa chỉ
Các mức trừu tượng:
Mức vật lý / mức nội tại (internal level)
Mức logic / mức quan niệm (conceptual level)
Mức khung nhìn (view) / mức bên ngoài (external level)
9
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
Các mức trừu tượng
10
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
Hệ CSDL
Các thành phần cấu thành một hệ CSDL:
CSDL hợp nhất
Người sử dụng
Phần mềm quản trị CSDL (DBMS)
Phần cứng lưu trữ
Các khả năng của hệ CSDL:
Quản lý dữ liệu tồn tại lâu dài
Truy xuất khối lượng dữ liệu lớn một cách hiệu quả
Kết nối: để người dùng có thể thao tác
11
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
Hệ quản trị CSDL (DBMS)
Là phần mềm quản lý các CSDL và điều khiển mọi
thao tác với các dữ liệu trong các CSDL đó
Một số DBMS thông dụng: SQL Server, Oracle,
MySQL, PostgreSQL, SQLite,…
Các đặc điểm quan trọng của một DBMS:
Mô hình CSDL (quan hệ, đối tượng,…)
Đảm bảo độc lập dữ liệu
Ngôn ngữ truy vấn (query language)
Quản lý giao dịch
Quản lý truy nhập
Bảo trì, khôi phục dữ liệu
12
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
Mô hình hoạt động của DBMS
13
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
Dữ liệu
Bộ quản lý
lưu trữ
Bộ xử lý câu
truy vấn
Bộ quản lý
giao dịch
Các thay đổi
truy vấn
Các thay đổi
dữ liệu
Các thay đổi
sơ đồ
Ngôn ngữ CSDL
Các loại ngôn ngữ:
Định nghĩa dữ liệu (Data Definition Language – DDL):
Mô tả cấu trúc và tạo các CSDL
Phân quyền người dùng
Thao tác dữ liệu (Data Manupulation Language –
DML):
Thêm/bớt thông tin
Thay đổi thông tin
Truy vấn dữ liệu (Query Language)
Tìm kiếm thông tin thoả mãn các yêu cầu nhất định
14
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
Người dùng
Hai loại người dùng:
Người điều hành (DB operators): định nghĩa sơ đồ, phân
quyền, sao lưu, bảo trì,…
Người sử dụng (DB users): thao tác với các dữ liệu
Người quản trị (DB administrators): là người thuộc
cả hai nhóm nêu trên
15
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
Một số DBMS phổ biến
Tên
Mô
hình
Ngôn
ngữ
Bản
quyền
R
a đời
Oracle
Relational, object
SQL
Oracle
1977
SQL Server
Relational
SQL
Microsoft
1989
Access
Relational
SQL
Microsoft
1992
DB2
Relational
SQL
IBM
1983
MySQL
Relational
SQL
Mã
mở (Oracle)
1995
PostgreSQL
Relational, object
SQL
Mã
mở (PostgreSQL)
1995
SQLite
Relational
SQL
Mã
mở
2000
XML
Semi
-structural
XQuery,
XPath
Mã
mở
2003
Objectivity/DB
Object
ODL, OQL
Objectivity
1990
16
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
Cài đặt công cụ
17
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
Các công cụ sử dụng cho môn học
MS Visual C++, C# Express 2008:
MS SQL Server Express 2008:
Chú ý chọn Windows Authentication
MS SQL Server Management Studio Express:
Apache + PHP + MySQL:
18
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội