You are on page 1of 57

TRƯỜNG ĐẠI HỌC NỘI VỤ HÀ NỘI

TRUNG TÂM TIN HỌC – NGOẠI NGỮ

HỆ QUẢN TRỊ
CƠ SỞ DỮ LIỆU
( 60 TIẾT – 3 TÍN CHỈ )

Gv: Nguyễn Thị Lan Phượng


Số đt : 0946.688.046
Mail: nlphuongk20@gmail.com
Mục tiêu chung

- Kiến thức: Sau khi học xong học phần sinh viên
đạt được:
+ Có kiến thức cơ bản về hệ quản trị cơ sở dữ liệu
(HQTCSDL), vai trò và chức năng của HQTCSDL, mối
quan hệ giữa HQTCSDL với cơ sở dữ liệu (CSDL).

+ Có kiến thức về quản lý, khai thác dữ liệu, phân tích,


thiết kế và quản trị hệ thống thông tin.
- Kỹ năng:
+ Có kỹ năng sử dụng phần mềm Microsoft SQL Server để
quản trị HQTCSDL như cài đặt CSDL trên máy chủ, quản lý tài
khoản người dùng, phân quyền, sao lưu và phục hồi hệ thống và
lập trình CSDL.

+ Sử dụng ngôn ngữ SQL để quản trị CSDL. Áp dụng các kiến
thức vào trong phân tích, quản trị và bài toán thực tế.
4

- Thái độ:
+ Có ý thức trách nhiệm và hiểu được tầm quan trọng
khi quản trị, khai thác dữ liệu.
+ Có tác phong làm việc khoa học, độc lập, sáng tạo,
thích nghi với làm việc nhóm trong hệ thống, sự thay đổi
trong xã hội, hội nhập quốc tế.

N-Đ-T
Chương 1

TỔNG QUAN VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

(Tổng số giờ: 04; Lý thuyết: 03; Thực hành: 01)

1.1. Giới thiệu chung

1.1.1. Lịch sử

1.1.2. Đặc điểm

1.1.3. Vai trò, chức năng

1.2.4. Thành phần

1.2. Một số HQTCSDL thông dụng


1.2.1. Microsoft Access

1.2.2. Oracle

1.2.3. MySQL

1.2.4. Microsoft SQL Server

1.2.5. Postgre SQL


Chương 2

HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SQL SERVER


(Tổng số giờ: 16; Lý thuyết: 08, Thực hành: 08)

2.1. Tổng quan về SQL Server

2.2. Thiết kế bảng (Table)

2.3. Tạo chỉ dẫn (Index)


2.4. Khung nhìn (View)
2.5. Các tác vụ quản trị hệ thống
Chương 3
7
NGÔN NGỮ SQL

(Tổng số giờ: 20 ; Lý thuyết: 10; Thực hành: 10)

3.1. Thành phần cơ bản trong ngôn ngữ SQL

3.2. Thủ tục lưu trữ (Stored Procedure – SP)

3.3. Trigger

3.4. Hàm cho người dùng định nghĩa (UDF)

3.5. Tự động hóa tác vụ Job

N-Đ-T
8

Chương 4

PHÁT TRIỂN ỨNG DỤNG CƠ SỞ DỮ LIỆU

(Tổng số giờ: 20 ; Lý thuyết: 09; Thực hành: 11)


4.1. Phân tích bài toán

4.2. Thiết kế CSDL cho bài toán

4.3. Kết nối với CSDL

N-Đ-T
Học liệu
Học liệu bắt buộc
1. Đỗ Ngọc Sơn, Phan Văn Viên, Nguyễn Phương Nga, Giáo trình hệ quản trị
cơ sở dữ liệu, NXB Khoa học kỹ thuật, 2015.
Học liệu tham khảo

2. Giáo trình Hệ quản trị cơ sở dữ liệu SQL , Trường đại học Công nghiệp Hà Nội.

3. Trần Đăng Công, Giáo trình quản trị và phát triển ứng dụng với SQL Server, NXB

Học viên quân sự, 2014.

4. Don Jones, Learn SQL Server Administration in a Month of Lunches, Manning, 2014
Yêu cầu với sinh viên:
 Tham gia đầy đủ, nghiêm túc các giờ học và
thảo luận trên lớp theo quy định;
 Tích cực tham gia các hoạt động học tập trên
lớp, phát biểu ý kiến xây dựng bài, thảo luận
nhóm, làm bài tập;
 Đọc tài liệu theo hướng dẫn;
 Thực hiện đầy đủ các yêu cầu của giảng viên.
 Sinh viên nghỉ quá 20% tổng số giờ không
được dự thi kết thúc học phần;
 Sinh viên tham gia kiểm tra đánh giá đầy đủ.
Các hoạt động kiểm tra – đánh giá

- Kiểm tra thường xuyên: Trong suốt quá trình


học- Trọng số chiếm10%
- Kiểm tra đánh giá định kỳ: Buổi 12 – Trọng số
chiếm 30%
- Thi kết thúc học phần: Sau khi kết thúc học

phần- Trọng số chiếm 60%


- Hình thức thi : thực hành – vấn đáp
Yêu cầu của mỗi hoạt động kiểm tra - đánh giá

 Kiểm tra thường xuyên: Sinh viên phải tham dự


tối thiểu 80% tổng số giờ của học phần. Điểm
kiểm tra đánh giá thường xuyên phải >=3 mới
được dự thi kết thúc học phần.
 Kiểm tra đánh giá định kỳ: Kiểm tra kiến thức
thông qua hình thức vấn đáp thực hành, điểm
kiểm tra đánh giá định kỳ phải >=5 mới được
dự thi kết thúc học phần.
 Thi kết thúc học phần: Theo hình thức thực
hành – vấn đáp trên máy tính.
Chương 1
14
TỔNG QUAN VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
1,1, Giới thiệu chung

1.1.1. Lịch sử

1.1.2. Đặc điểm

1.1.3. Vai trò, chức năng

1.2.4. Thành phần

1.2. Một số HQTCSDL thông dụng

1.2.1. Microsoft Access

1.2.2. Oracle

1.2.3. MySQL

1.2.4. Microsoft SQL Server

1.2.5. Postgre SQL


RDBMS – Relational Database Management System
15

N-Đ-T
Mục tiêu bài học
16

 Giải thích khái niệm về dữ liệu và CSDL.


 Mô tả cách thức quản trị dữ liệu.

 Định nghĩa hệ quản trị CSDL và danh sách

các tính năng.


 Phân biệt các mô hình CSDL.

 Định nghĩa và giải thích hệ quản trị CSDL -

RDBMS.
 Mô tả các thực thể, bảng và liệt kê các thuộc

tính của bảng.


 Một số RDBMS thông dụng
N-Đ-T
1.1.Giới thiệu chung
17

1.1.1. Lịch sử:

- Dữ liệu ( Data)

- Cơ sở dữ liệu (Database)

- Hệ quản trị cơ sở dữ liệu : RDBMS – Relational Database


Management System

- Hệ cơ sở dữ liệu (HCSDL/ DBS: DataBase System)

N-Đ-T
Quản lí thư viện
18

 Sinh viên : mã sv, họ tên , năm sinh,lớp, khóa


 Thư viện : mã sách, tên sách, nxb, năm xb, mã
tác giả
 Quản lí : mã thủ thư, họ tên, năm sinh.
 Nhà quản lí : …..

N-Đ-T
Dữ liệu (Data) và CSDL (Database)
19  Dữ liệu (data) có nghĩa là thông tin và nó là thành
phần quan trọng trong bất kỳ lĩnh vực, công việc nào.
 Một CSDL (database) là một tập hợp các dữ liệu
(data).
Lưu trữ
Thông tin
Users Database
Cho phép truy xuất
Thông tin

 CSDL là một tập hợp dữ liệu được tổ chức sao cho


nội dung của nó có thể dễ dàng truy cập, quản lý và
cập nhật.
N-Đ-T
Cơ sở dữ liệu (Database)
20

 CSDL là một kho dữ liệu được tổ chức theo một


nguyên tắc nào đó. Đó là một tập hợp các tập tin có
liên quan với nhau, được thiết kế nhằm làm giảm
thiểu sự dư thừa dữ liệu, đảm bảo tính tin cậy khi truy
xuất dữ liệu. Các tập tin này chứa các thông tin biểu
diễn các đối tượng trong một ứng dụng thế giới thực.
 CSDL Quản lí sinh viên : khoa, giảng viên, sinh viên,
khóa học,…
 CSDL Quản lí nhân sự : họ tên, năm sinh, giới tính,
quê quán…

N-Đ-T
Quản trị dữ liệu
21

 Quản trị dữ liệu chỉ việc quản lý lượng lớn thông


tin bao gồm cả việc lưu trữ thông tin và cơ chế
thao tác trên các thông tin đó.
 Hai phương pháp quản trị dữ liệu khác nhau:
 Hệ thống quản lý dựa trên tập tin (File-based systems)
 Hệ thống CSDL (Database systems)

N-Đ-T
Hệ thống quản lý tập tin
22

Features of file-based systems:

 Lưu trữ dữ liệu trong các tập tin


riêng biệt.

 Một nhóm các tập tin được lưu trữ trên


máy tính và được truy cập bằng các thao
tác máy tính.

N-Đ-T
Hệ thống quản lý tập tin
23
 Ví dụ:

Data entry and reports


Sudent
File handling routines Database

 CSDL ManagementStudent sẽ chứa những bảng sau:


 Student (StudNo, StudName, Age, Address, …)
 Class (ClassNo, ClassName, FacultName)
 ….

N-Đ-T
Hệ thống quản lý tập tin
24

 Các nhược điểm của hệ thống:


 Dư thừa và không nhất quán dữ liệu
 Truy vấn đột xuất
 Cô lập dữ liệu
 Truy cập đồng thời bất thường
 Vấn đề bảo mật
 Vấn đề toàn vẹn

N-Đ-T
Hệ thống CSDL
25
 CSDL sử dụng để lưu trữ dữ liệu có hệ thống và có tổ
chức. Giúp người dùng quản lý dữ liệu nhanh chóng và
dễ dàng
 Ưu điểm của hệ thống CSDL này là:
 Giảm dư thừa dữ liệu
 Tránh vấn đề không nhất quán dữ liệu
 Dữ liệu được lưu trữ có thể được chia sẻ
 Các chuẩn có thể được thiết lập và duy trì
 Tính toàn vẹn dữ liệu được duy trì
 Bảo mật dữ liệu có thể được thực thi

N-Đ-T
Các mô hình CSDL
26

 Các CSDL có thể khác nhau dựa vào mô hình


và chức năng của dữ liêu.
 Một mô hình dữ liệu mô tả kho chứa dữ liệu
(container) và xử lý việc lưu trữ và truy xuất dữ
liệu từ kho đó

N-Đ-T
Các mô hình CSDL
27

 Hierarchical model (Mô hình phân cấp)

 Network model (Mô hình mạng)

 Relational model (Mô hình quan hê)

N-Đ-T
 Hierarchical Model (Mô hình phân cấp)

28
 Các bản ghi liên kết với nhau thông qua các cấp bậc giống như
cấu trúc cây.
 Trong mô hình này, các quan hệ được gọi là quan hệ cha
(parents) – con (children). Một bản ghi cha có thể có 1 hoặc một
vài bản ghi con nhưng một bản ghi con chỉ có 1 và chỉ 1 bản ghi
cha.

N-Đ-T
 Network Data Model (Mô hình mạng)
29  Tương tự như mô hình phân cấp.
 Mô hình phân cấp thực ra là tập con của mô hình mạng.
 Mô hình mạng sử dụng lý thuyết tập để tạo ra một cây
phân cấp mà trong đó mỗi nút con có thể có nhiều hơn
một nút cha.
 Dữ liệu được lưu trữ trong các tập thay vì định dạng
theo cây phân cấp. Điều này giải quyết được vấn đề dư
thừa dữ liệu.

N-Đ-T
 Relational Data Model (Mô hình quan hệ)
30
 Tất cả các dữ liệu được chứa trong các bảng, các bảng
chứa các dòng và các cột.
 Dữ liệu trên hai bảng được quan hệ với nhau thông qua
các cột.
 Những phép toán được cung cấp để thực hiện trên các
dòng của bảng dữ liệu.
 Trong mô hình này mô tả CSDL là một tập hợp các
quan hệ. Một dòng được gọi là Tupe, một cột được gọi
là thuộc tính và bảng được gọi là quan hệ. Danh sách
các giá trị có thể có của một trường được gọi là miền.

N-Đ-T
Bài tập
31

 Xd CSDL QUẢN LÍ NHÂN SỰ và nêu mối ràng


buộc giữa các dữ liệu theo mô hình CSDL sv đã
lựa chọn
 Nhân viên làm nào đâu ( bộ phận ) nào ? Nhân
viên - Phòng ban – đơn vị nào ?
 Thực hiện cv gì ( nhiệm vụ ) – đơn vị
 Chức vụ gì ko ?
 Một hoặc nhiều nv ? Nh chức vụ khác nhau ?

N-Đ-T
32

 Nhân viên : mã nv, mã cv, bậc lương, họ tên


 Chức vụ : mã nv, phòng ban, chức vụ
 Công việc : mã cv, tên cv
 Lương : mã nv, mã cv , bậc lương
 bậc lương , hệ số lương, lương, thưởng , phụ
cấp, mã nv
 ___ tối ưu chưa ? ( chuẩn hóa ) Vì sao ?
1. Nhân viên
2. dự án
3. Phòng ban
N-Đ-T
33

N-Đ-T
Hệ quản trị cơ sở dữ liệu : RDBMS
34

 Hệ quản trị cơ sở dữ liệu (DBMS – Database


Management System) là một hệ thống gồm một
CSDL và các thao tác trên CSDL. Đó là hệ thống
chương trình, công cụ cho phép quản lý và tương tác
với cơ sở dữ liệu. Trên đó người dùng có thể định
nghĩa, thao tác, và xử lí dữ liệu trong một cơ sở dữ
liệu để xuất ra những thông tin có nghĩa

N-Đ-T
RDBMS
35

N-Đ-T
Đặc điểm
36
• Thực hiện lưu trữ các dữ liệu
• Tạo và duy trì cơ sở dữ liệu
• Cho phép cùng lúc nhiều người dùng truy xuất
• Hỗ trợ bảo mật và riêng tư
• Cho phép người dùng được xem và thực hiện xử lý dữ liệu
• Cho phép người dùng được cập nhật và lưu trữ các dữ liệu
sau khi đã cập nhập
• Cung cấp tính nhất quán giữa các bản ghi khác nhau
• Giúp việc truy cập các dữ liệu được chọn nhanh hơn bằng
cách cung cấp một cơ chế chỉ mục index hiệu quả
• Bảo vệ dữ liệu, tránh được tình trạng mất dữ liệu khi thực
hiện sao lưu – backup hoặc phục hồi – recovery
N-Đ-T
1.1.2. Vai trò, chức năng
37
• Cung cấp môi trường tạo lập cơ sở dữ liệu: Hệ
quản trị CSDL đóng vai trò cung cấp cho người dùng
một ngôn ngữ định nghĩa dữ liệu để mô tả, khai báo
kiểu dữ liệu, các cấu trúc dữ liệu.
• Cung cấp cách cập nhật và khai thác dữ liệu: Hệ
quản trị CSDL cung cấp cho người dùng ngôn ngữ
thao tác dữ liệu để diễn tả các yêu cầu, các thao tác
cập nhật và khai thác cơ sở dữ liệu. Thao tác dữ liệu
bao gồm: Cập nhật (nhập, sửa, xóa dữ liệu), Khai
thác (tìm kiếm, kết xuất dữ liệu).

N-Đ-T
- Cung cấp các công cụ kiểm soát, điều khiển các truy
38
cập vào cơ sở dữ liệu nhằm đảm bảo thực hiện một số
yêu cầu cơ bản của hệ cơ sở dữ liệu.
-Bao gồm:

(1) Đảm bảo an ninh, phát hiện và ngăn chặn các truy
cập bất hợp pháp.
(2) Duy trì tính nhất quán của dữ liệu.
(3) Tổ chức và điều khiển các truy cập.
(4) Khôi phục cơ sở dữ liệu khi có sự cố về phần cứng
hay phần mềm.
(5) Quản lí các mô tả dữ liệu.

N-Đ-T
39

N-Đ-T
40
 Tầng giao diện (Interface layer): Quản lý giao diện với các ứng
dụng. Các chương trình ứng dụng CSDL được thực hiện trên
các khung nhìn (view) của CSDL.
 Khung nhìn quan hệ là một quan hệ ảo, được dẫn xuất từ các
quan hệ cơ sở (base relation) bằng cách áp dụng các phép toán
đại số quan hệ.
 Quản lý khung nhìn bao gồm việc phiên dịch câu vấn tin người
dùng trên dữ liệu ngoài thành dữ liệu khái niệm. Nếu câu vấn
tin của người dùng được diễn tả bằng các phép toán quan hệ,
câu vấn tin được áp dụng cho dữ liệu khái niệm vẫn giữ nguyên
dạng này.

N-Đ-T
41 - Tầng điều khiển (Control Layer): chịu trách nhiệm điều
khiển câu vấn tin bằng cách đưa thêm các vị từ toàn vẹn
ngữ nghĩa và các vị từ cấp quyền.
- Tầng xử lý vấn tin (Query processing layer): chịu trách
nhiệm ánh xạ câu vấn tin thành chuỗi thao tác đã được tối
ưu ở mức thấp hơn.

N-Đ-T
42
 Tầng thực thi (Execution layer): Có trách nhiệm hướng
dẫn việc thực hiện các hoạch định truy xuất, bao gồm
việc quản lý giao dịch (uỷ thác, tái khởi động) và động
bộ hoá các phép đại số quan hệ.
 Nó thông dịch các phép toán đại số quan hệ bằng cách
gọi tầng truy xuất dữ liệu qua các yêu cầu truy xuất và
cập nhật.

N-Đ-T
43
 Tầng truy xuất dữ liệu (data access layer): Quản lý các cấu trúc
dữ liệu dùng để cài đặt các quan hệ (tập tin, chỉ mục). Nó quản
lý các vùng đệm bằng cách lưu tạm các dữ liệu thường được
truy xuất đến nhiều nhất. Sử dụng tầng này làm giảm thiểu việc
truy xuất đến đĩa.

 Tầng duy trì nhất quán (Consistency layer): chịu trách nhiệm
điều khiển các hoạt động đồng thời và việc ghi vào nhật ký các
yêu cầu cật nhật. Tầng này cũng cho phép khôi phục lại giao
dịch, hệ thống và thiết bị sau khi bị sự cố.

N-Đ-T
1.2.3. Thành phần
44

N-Đ-T
45

- Dữ liệu, siêu dữ liệu: Ðáy kiết trúc là thiết bị nhớ ngoài


lưu trữ dữ liệu và siêu dữ liệu. Trong phần này không chỉ
chứa dữ liệu được trữ trong CSDL mà chứa cả các siêu dữ
liệu, tức là thông tin cấu trúc của CSDL.
- Ví dụ: Trong hệ quản trị cơ sở dữ liệu quan hệ, các siêu dữ
liệu bao gồm các tên của các quan hệ, tên các thuộc tính
của các quan hệ, và các kiểu dữ liệu đối với các thuộc tính
này.

N-Đ-T
46

Trình bày các kiểu quan hệ CSDL ?


Một – một
Một – nhiều
Nhiều – nhiều
Self reference

N-Đ-T
47
 Bộ quản lý lưu trữ: Nhiệm vụ của bộ quản lý lưu trữ
là lấy ra các thông tin được yêu cầu từ những thiết bị
lưu trữ dữ liệu và thay đổi những thông tin này khi
được yêu cầu bởi các mức trên nó của hệ thống.

 Bộ xử lý câu hỏi: Bộ xử lý câu hỏi điều khiển không


chỉ các câu hỏi mà cả các yêu cầu thay đổi dữ liệu
hay siêu dữ liệu. Nhiệm vụ của nó là tìm ra cách tốt
nhất một thao tác được yêu cầu và phát ra lệnh đối
với bộ quản lý lưu trữ và thực thi thao tác đó.

N-Đ-T
48
 Bộ quản trị giao dịch: Bộ quản trị giao dịch có trách
nhiệm đảm bảo tính toàn vẹn của hệ thống. Nó phải đảm
bảo rằng một số thao tác thực hiện đồng thời không cản
trở mỗi thao tác khác và hệ thống không mất dữ liệu
thậm chí cả khi lỗi hệ thống xảy ra.
- Tương tác với bộ xử lý câu hỏi: tránh sự đụng độ
giữa các thao tác, làm trễ một số truy vấn nhất định,
không đụng độ.
- Tương tác với bộ quản lý lưu trữ: lưu trữ và ghi
lại sự thay đổi

N-Đ-T
Những thuật ngữ liên quan tới RDBMS

 Những thuật ngữ thường dùng trong RDBMS:


 Dữ liệu (Data) được biểu diễn như một tập các
quan hệ.
 Mỗi một relation được biểu diễn bằng một table.
 Columns là các thuộc tính.
 Rows (“tuples”) biểu diễn các thực thể.
 Mỗi bảng có các tập thuộc tính gọi là “key”: định
danh duy nhất mỗi thực thể.
Thuật ngữ Ý nghĩa
Relation Một bảng (table)
Tuple Một hàng hoặc một bản ghi trong bảng
Attribute Một trường hoặc một cột trong bảng
Cardinality of a relation Số hàng trong bảng
Degree of a relation The number of attributes in a relation
Domain of an attribute The set of all values that can be taken by the attribute
Primary Key of a An attribute or a combination of attributes that uniquely
relation defines each tuple in a relation
Foreign Key An attribute or a combination of attributes in one relation
R1, which indicates the relationship of R1 with another
relation R2
The foreign key attributes in R1 must contain values
matching with those of the values in R2
1.2. Một số HQTCSDL thông dụng
51

N-Đ-T
1.2.1. Microsoft Access
52
 Microsoft Access là một DBMS thương mại hoạt động trên
Microsoft Windows, rất quen thuộc đối với nhiều người. Phiên
bản ổn định, mới nhất và đồng thời cũng được đánh giá cao nhất
hiện nay là 16.0.4229.1024.
 Chức năng :
• Tập tin tải lên trên máy chủ được tạo ra bằng cách ứng dụng
truy cập MS
• Là hệ thống cơ sở dữ liệu giá rẻ sử dụng trên Internet

• Chủ yếu cho các trang web thương mại điện tử

 Là một DBMS thương mại

N-Đ-T
1.2.2. Oracle
53  Oracle là hệ quản trị cơ sở dữ liệu quan hệ đối tượng
được sử dụng rộng rãi nhất. Phiên bản mới nhất của
công cụ này là 12c - điện toán đám mây.
 Phiên bản Windows, UNIX và Linux.
 Chức năng:
• Bảo mật.
• Chiếm không gian ít hơn
• Hỗ trợ cơ sở dữ liệu lớn và giảm thời gian CPU để
xử lý dữ liệu.
 Là DBMS thương mại

N-Đ-T
1.2.3. MySQL
54

 Phiên bản mới nhất 8. Ngôn ngữ được sử dụng là C


và C ++.
 Hoạt động trên Linux, Windows.
 Tốc độ xử lý dữ liệu cao, việc sử dụng trình kích
hoạt tăng năng suất, với tính năng quay lại và cam
kết giúp khôi phục dữ liệu nếu cần.
 Là DBMS thương mại

N-Đ-T
1.2.4. Microsoft SQL server
55

 Được phát triển trong năm 1989. Phiên bản cập nhật
mới nhất được đưa ra vào năm 2019. Ngôn ngữ được
sử dụng là Assembly C, Linux, C ++
 Hoạt động trên hệ điều hành Linux và windows.
 Tương thích với Oracle cung cấp quản lý hiệu quả
khối lượng công việc và cho phép nhiều người dùng
sử dụng cùng một cơ sở dữ liệu.
 Là DBMS thương mại

N-Đ-T
1.2.5PostgreSQL
56

- Phiên bản hiện tại là 9.6.2.


- Sử dụng trên các hệ điều hành Linux và
windows.
- Vài tính năng trong số này là:
• Nó sử dụng cơ sở dữ liệu quan hệ đối tượng.
• Dữ liệu vẫn an toàn.
• Truy xuất dữ liệu nhanh hơn.
• Chia sẻ dữ liệu thông qua trang tổng quan
nhanh hơn.
- Là một công cụ nguồn mở.
N-Đ-T
Bye bye
57

N-Đ-T

You might also like