SlideShare a Scribd company logo
Overview of DBMS
Môn học: Hệ quản trị cơ sơ dữ liệu [Buổi 1]
GV: Nguyễn Mai Huy
Faculty of Information Technology
Nguyễn Mai Huy
nmhuy@ntt.edu.vn
01
Thảo luận + BT (10%)
Kiểm tra giữa kỳ (30%)
Thi tự luận (60%)
03
Tín chỉ: 3
Lý thuyết: 30 tiết
Thực hành: 30 tiết
Bài tập: TH + Ở nhà
02
Slide Bài giảng
Tài liệu tham khảo
(Cuối slide)
04
Nguyễn Mai Huy – Master of Information technology
Overview of the subject
Tổng quan về DBMS
DML Commands
(Insert into, Update, Delete, …)
DDL Commands
(Create, Alter, Drop, …)
Select command
(Wild card, Filter, Order, …)
Nguyễn Mai Huy – Master of Information technology
Overview of the subject
Select command
(Join, Group, Having, …)
Triggers
(After or For, Instead of)
Views
Functions
(Built-in, User-define)
Nguyễn Mai Huy – Master of Information technology
Overview of the subject
Stored Procedure
(Control-of-flow statements)
Ôn tập, giới hạn KT
Stored Procedure
(Cursors, Handling Exceptions)
Thi kiểm tra cuối học kỳ
Faculty of Information Technology
SQL
Structured English Query Language
Nguyễn Mai Huy – Master of Information technology
 SQL: "Ngôn ngữ truy vấn dữ liệu có tính cấu trúc" - là loại ngôn ngữ lập trình cho máy tính, phục
vụ cho các mục đích: Tạo, Sửa, và Lấy dữ liệu từ một hệ quản trị cơ sở dữ liệu quan hệ (DBMS -
Database Management System).
 Tháng 6 năm 1970, tạp chí Communications of the ACM công bố mô hình A Relational Model of
Data for Large Share Data Banks ("Mô hình quan hệ cho dữ liệu dùng trong ngân hàng dữ liệu chia
sẻ có khối lượng lớn") của tiến sĩ Edgar F. Codd, mô hình này sau đó đã được chấp nhận rộng rãi
và được xem là mô hình tiêu chuẩn dùng cho hệ thống quản lý cơ sở dữ liệu quan hệ.
 Giữa những năm 1970, một nhóm chuyên gia thuộc trung tâm nghiên cứu của IBM tại San Jose phát
triển hệ thống cơ sở dữ liệu "Hệ thống R" dựa trên mô hình của Codd, lấy tên là Structured
English Query Language, viết tắt là "SEQUEL" ("Ngôn ngữ truy vấn có cấu trúc dựa trên tiếng
Anh"), ngôn ngữ này được thiết kế để quản lý và truy xuất dữ liệu lưu trữ trong “Hệ thống R”. Sau
này, tên viết tắt SEQUEL được rút gọn thành SQL để tránh việc tranh chấp nhãn hiệu (từ SEQUEL
đã được một công ty máy bay của UK là Hawker-Siddeley đăng ký trước đó).
 Mặc dù SQL bị ảnh hưởng bởi công trình của tiến sĩ Edgar F. Codd nhưng nó lại được thiết kế bởi
Donald D. Chamberlin và Raymond F. Boyce tại IBM.
History
Nguyễn Mai Huy – Master of Information technology
SQL được thừa nhận là tiêu chuẩn của ANSI (American National
Standards Institute) vào năm 1986 và ISO (International Organization for
Standardization) năm 1987. ANSI đã công bố cách phát âm chính thức của
SQL là "ess kyoo ell", nhưng rất nhiều các chuyên gia cơ sở dữ liệu nói
tiếng Anh vẫn gọi nó là "SEQUEL".
History
Năm Tên Tên khác Chú giải
1986 SQL-86 SQL-87
Được công bố đầu tiên bởi ANSI. Được phê
chuẩn bởi ISO năm 1987.
1989 SQL-89 Thay đổi nhỏ.
1992 SQL-92 SQL2 Thay đổi lớn.
1999 SQL:1999 SQL3
2003 SQL:2003
Nguyễn Mai Huy – Master of Information technology
Data Definition Language – DDL (is used to define data structures stored in
the database. DDL statements allow to create, modify or destroy individual database objects.
Object types allowed depend on the DBMS used, and usually include databases, users, tables
and some smaller housekeeping objects like roles and indexes.)
 Data Manipulation Language – DML ( is used to query and change data
stored in the database. DML statements allow to select, insert, update and delete data in the
tables. Sometimes pure select statements are not classified as part of DML, since they don’t
change the state of the data. All SQL DML statements are declarative.)
(CRUD: Create – Retrieve – Update – Delete)
 Create – insert
 Retrieve – Read: select
 Update – Modify: update
 Delete – Destroy: delete
Types of sub-language in SQL
Nguyễn Mai Huy – Master of Information technology
 Data Control Language – DCL ( is used to control access to data stored in the
database. DCL statements operate with privileges and allow to grant and revoke privileges on
applying certain DDL and DML commands to certain database objects.)
 Transaction Control Language – TCL (is used to control processing of
transactions in the database. Usual TCL statements are commit to apply the changes
introduced by the transaction, rollback to undo them and savepoint to divide the transaction
into several smaller parts.)
Types of sub-language in SQL
DDL DML
TCL DCL
SQL
Nguyễn Mai Huy – Master of Information technology
Database Management System – DBMS : là “một dạng phần
mềm” cung cấp các chức năng cho phép các phần mềm (software),
cũng như người dùng (end-user) có thể thực hiện các hành động
tương tác với cơ sở dữ liệu đã được xây dựng bên trong nó: Tạo mới,
Lưu trữ, Chỉnh sửa, Xóa bỏ, Truy vấn và Phân tích dữ liệu …
Thông thường, hệ quản trị cơ sở dữ liệu sẽ tự động giúp người dùng
kiểm soát thông tin và duy trì các CSDL. Các thành phần chính của
một DBMS thường bao gồm:
 Bộ xử lý truy vấn (Query processor)
 Bộ quản lí dữ liệu (Data management)
DBMS – Hệ quản trị CSDL
Nguyễn Mai Huy – Master of Information technology
 Cung cấp môi trường tạo, định nghĩa cơ sở dữ liệu
(Ngôn ngữ định nghĩa dữ liệu)
 Cung cấp các tính năng cập nhật và khai thác dữ liệu
(Ngôn ngữ thao tác dữ liệu)
 Cho phép kiểm soát, điều khiển truy cập vào CSDL
(Ngôn ngữ kiểm soát dữ liệu)
Nhiệm vụ chính của DBMS
Nguyễn Mai Huy – Master of Information technology
Sơ đồ hệ thống DBMS
Nguyễn Mai Huy – Master of Information technology
 dBASE
 FoxPro
 Microsoft Access
 MySQL
 Microsoft SQL Server
 SQLite
 IBM DB2
 Oracle
 PostgreSQL
 . . .
Một số DBMS phổ biến
Faculty of Information Technology
Transact – SQL
Nguyễn Mai Huy – Master of Information technology
Transact-SQL (T-SQL) là một mở rộng độc quyền của Microsoft và Sybase
cho SQL dùng để tương tác với cơ sở dữ liệu quan hệ. T-SQL mở rộng dựa
trên SQL để cho phép lập trình thủ tục, khai báo và sử dụng các biến cục
bộ, các hàm hỗ trợ khác nhau cho xử lý chuỗi, xử lý ngày, toán học, …
đồng thời thay đổi các lệnh DELETE và UPDATE.
Transact-SQL là ngôn ngữ lập trình quan trọng trong việc khai thác và sử
dụng Microsoft SQL Server. Tất cả các ứng dụng giao tiếp với SQL Server
đều thực hiện gửi các câu lệnh Transact-SQL dưới dạng TEXT đến máy
chủ cơ sở dữ liệu, và nhận về kết quả thực thi trên CSDL mà không hề phụ
thuộc vào giao diện người dùng của ứng dụng.
T-SQL
Nguyễn Mai Huy – Master of Information technology
Có 3 điểm khác biệt chính giữa SQL và T-SQL
 SQL là 1 ngôn ngữ lập trình, còn T-SQL là một mở rộng
của SQL.
 T-SQL cho phép “lập trình hướng thủ tục” với các biến cục
bộ, còn SQL thì không.
 T-SQL là độc quyền, còn SQL là một “định dạng mở”.
SQL vs T-SQL
Nguyễn Mai Huy – Master of Information technology
Microsoft SQL Server là một hệ thống quản lý cơ sở dữ liệu quan hệ được phát
triển bởi Microsoft. SQL Server hoạt động như một máy chủ cơ sở dữ liệu, đây
là một sản phẩm phần mềm có chức năng chính là lưu trữ và truy xuất dữ liệu
theo yêu cầu của các ứng dụng phần mềm khác, có thể chạy trên cùng một máy
tính hay trên một máy tính khác đồng thời cho phép kết nối thông qua mạng máy
tính (bao gồm cả Internet).
Microsoft cung cấp nhiều phiên bản Microsoft SQL Server, nhắm vào các đối
tượng khác nhau, cho các khối lượng công việc khác nhau. Từ các ứng dụng đơn
lẻ, khối lượng công việc nhỏ, cho đến các ứng dụng lớn với nhiều người dùng
đồng thời truy cập thông qua Internet.
What is SQL Server?
Nguyễn Mai Huy – Master of Information technology
 MS SQL Server for OS/2 : 1989, by Sybase, Ashton-Tate, and Microsoft.
 SQL Server 4.2 for NT : 1993.
 SQL Server 6.0 : 1995 (Microsoft kết thúc quá trình hợp tác với Sybase, lúc này Sybase
tiếp tục phát triển một biến thể khác Sybase Adaptive Server Enterprise, độc lập với Microsoft).
 SQL Server 7.0 : 1998.
 SQL Server 2005, (hoàn tất việc chuyển đổi mã cũ do Sybase phát triển sang Microsoft).
 SQL Server 2017, (bổ sung các hỗ trợ cho nền tảng Linux)
Phên bản & các mốc quan trọng
Nguyễn Mai Huy – Master of Information technology
Database Engine – Thành phần chính, có nhiệm vụ lưu trữ, xử lý các giao
dịch với tốc độ nhan và giữ nhiệm vụ bảo mật đối với cơ sở dữ liệu.
SQL Server – Đây là dịch vụ dùng để: Khởi động, Dừng, Tạm ngưng hay tiếp
tục thi hành đối với các “thực thể” SQL Server.
SQL Server Agent – Dịch vụ này sẽ thực thi các nhiệm vụ ( role) theo lịch
trình, hoặc tự động thực thi các nhiệm vụ dựa trên các sự kiện cũng như các yêu
cầu từ bên ngoài.
SQL Server Browser – Dịch vụ này thường được dùng để kết nối các yêu
cầu được gửi đến từ bên ngoài với SQL Server instance mong muốn.
SQL Server Full-Text Search – Được sử dụng để cho phép người dùng
chạy các truy vấn ở dạng Full-Text đối với dữ liệu character trong các bảng SQL.
The key components
Nguyễn Mai Huy – Master of Information technology
SQL Server VSS Writer – Cho phép sao lưu và phục hồi các tập tin dữ liệu
khi SQL Server không hoạt động.
SQL Server Analysis Services (SSAS) – Dịch vụ này được sử dụng để
cung cấp các phân tích, khai thác dữ liệu và khả năng học máy. Máy chủ SQL cũng
được tích hợp với Python và R để phân tích dữ liệu nâng cao.
SQL Server Reporting Services (SSRS) – Dịch vụ này được sử dụng
để cung cấp các tính năng và khả năng ra quyết định bao gồm cả việc tích hợp với
Hadoop.
SQL Server Integration Services (SSIS) – Dịch vụ này được sử dụng
để thực hiện các lệnh ETL (Extract, Transform, and Load process) cho các loại dữ
liệu khác nhau tập hợp từ nhiều nguồn.
The key components
Nguyễn Mai Huy – Master of Information technology
SQL Server Architecture
Nguyễn Mai Huy – Master of Information technology
SQL Server Architecture
 Relational Engine − Contains the query parser, optimizer, and the executor;
and the execution happens in the relational engine.
 Command Parser − Checks the syntax of the query and converts the query to
machine language.
 Optimizer − Prepares the execution plan as output by taking statistics, query and
Algebrator tree as input.
 Query Executor − This is the place where queries get executed step by step
 Storage Engine − This is responsible for storage and retrieval of data on the storage
system, manipulation of data, managing and locking transactions.
Faculty of Information Technology
SQL Server
Management Studio
Nguyễn Mai Huy – Master of Information technology
SSMS from the start menu
Nguyễn Mai Huy – Master of Information technology
When you open the SQL server management studio from
the start menu, a window will open similar to the window shown
in the picture below.
Accessing Database Engine
Nguyễn Mai Huy – Master of Information technology
Here, mention the Server Name, Authentication Mode and click
on Connect. After you click on Connect, you will see the
following screen at the next slide.
Authentication Mode:
• Windows authentication
• SQL Server authentication
Authentication Mode
Nguyễn Mai Huy – Master of Information technology
Windows authentication
Nguyễn Mai Huy – Master of Information technology
Windows authentication
Nguyễn Mai Huy – Master of Information technology
SQL Server authentication
 Choose server name
 Select Authentication as SQL Server authentication
 Login with: sa account
 Password : you have entered in the installation before
Nguyễn Mai Huy – Master of Information technology
SQL Server authentication
Nguyễn Mai Huy – Master of Information technology
Ngôn ngữ truy vấn dữ liệu có cấu trúc : SQL
SQL & Transact SQL
Các nhóm lệnh đặc trưng của T-SQL
Microsoft SQL Server Management Studio (SSMS)
Các hình thức truy cập vào SQL Server
Hệ quản trị cơ sở dữ liệu :: DBMS
Mô hình truy xuất dữ liệu trên hệ thống DBMS
Nhớ gì ?!!!
Nguyễn Mai Huy – Master of Information technology
 Itzik Ben-Gan, “Microsoft® SQL Server ® 2012 T-SQL Fundamentals”,
O’Reilly Media Inc, 2012
 Itzik Ben-Gan, Dejan Sarka, Ed Katibah, Greg Low, Roger Wolter, and Isaac
Kunen, “Inside Microsoft SQL Server 2008: T-SQL Programming”,
Microsoft Press, 2010
 w3schools, “Introduction to SQL”,
https://www.w3schools.com/sql/sql_intro.asp, 10:54PM, 18/06/2020
 Microsoft SQL Server Tutorial, “Tutorials for SQL Server”,
https://docs.microsoft.com/en-us/sql/sql-server/tutorials-for-sql-server-2016,
10:54 PM, 18/06/2020
Tài liệu tham khảo

More Related Content

What's hot

Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
MasterCode.vn
 
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
MasterCode.vn
 
01 chuong 1 - gioi thieu ado.net va ket noi den csdl
01   chuong 1 - gioi thieu ado.net va ket noi den csdl01   chuong 1 - gioi thieu ado.net va ket noi den csdl
01 chuong 1 - gioi thieu ado.net va ket noi den csdl
truong le hung
 
2 co ban ve sql
2 co ban ve sql2 co ban ve sql
2 co ban ve sql
hoangdinhhanh88
 
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPTBài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
MasterCode.vn
 
Bài 11 tạo bảng và sử dụng các kiểu dữ liệu
Bài 11 tạo bảng và sử dụng các kiểu dữ liệuBài 11 tạo bảng và sử dụng các kiểu dữ liệu
Bài 11 tạo bảng và sử dụng các kiểu dữ liệuzzsunzz
 
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 5
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 5Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 5
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 5
pisu412
 
Dữ liệu không gian trên SQL Server - (Spatial Data in SQL Server)
Dữ liệu không gian trên SQL Server - (Spatial Data in SQL Server)Dữ liệu không gian trên SQL Server - (Spatial Data in SQL Server)
Dữ liệu không gian trên SQL Server - (Spatial Data in SQL Server)
Truong Ho
 
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPTBài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
MasterCode.vn
 
Com201 slide 1
Com201   slide 1Com201   slide 1
Com201 slide 1
tuanduongcntt
 
Mô hình 3 lớp trong C#
Mô hình 3 lớp trong C#Mô hình 3 lớp trong C#
Mô hình 3 lớp trong C#
Trung Thành Nguyễn
 
3. phan quyen trong sql server 01012010
3. phan quyen trong sql server 010120103. phan quyen trong sql server 01012010
3. phan quyen trong sql server 01012010Truong van Duoc
 
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
MasterCode.vn
 
Cơ Sở Dữ Liệu - Chương 1
Cơ Sở Dữ Liệu - Chương 1Cơ Sở Dữ Liệu - Chương 1
Cơ Sở Dữ Liệu - Chương 1
Nguyễn Trọng
 
Tailieu.vncty.com giao-trinh-sql-2000
Tailieu.vncty.com   giao-trinh-sql-2000Tailieu.vncty.com   giao-trinh-sql-2000
Tailieu.vncty.com giao-trinh-sql-2000
Trần Đức Anh
 
01 tong-quan-ado
01 tong-quan-ado01 tong-quan-ado
01 tong-quan-ado
duongtam1506
 
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 2
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 2Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 2
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 2
pisu412
 
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
MasterCode.vn
 

What's hot (20)

Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
 
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
 
01 chuong 1 - gioi thieu ado.net va ket noi den csdl
01   chuong 1 - gioi thieu ado.net va ket noi den csdl01   chuong 1 - gioi thieu ado.net va ket noi den csdl
01 chuong 1 - gioi thieu ado.net va ket noi den csdl
 
ôn tập dbms
ôn tập dbmsôn tập dbms
ôn tập dbms
 
2 co ban ve sql
2 co ban ve sql2 co ban ve sql
2 co ban ve sql
 
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPTBài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
 
Bài 11 tạo bảng và sử dụng các kiểu dữ liệu
Bài 11 tạo bảng và sử dụng các kiểu dữ liệuBài 11 tạo bảng và sử dụng các kiểu dữ liệu
Bài 11 tạo bảng và sử dụng các kiểu dữ liệu
 
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 5
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 5Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 5
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 5
 
Bao cao detai
Bao cao detaiBao cao detai
Bao cao detai
 
Dữ liệu không gian trên SQL Server - (Spatial Data in SQL Server)
Dữ liệu không gian trên SQL Server - (Spatial Data in SQL Server)Dữ liệu không gian trên SQL Server - (Spatial Data in SQL Server)
Dữ liệu không gian trên SQL Server - (Spatial Data in SQL Server)
 
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPTBài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
 
Com201 slide 1
Com201   slide 1Com201   slide 1
Com201 slide 1
 
Mô hình 3 lớp trong C#
Mô hình 3 lớp trong C#Mô hình 3 lớp trong C#
Mô hình 3 lớp trong C#
 
3. phan quyen trong sql server 01012010
3. phan quyen trong sql server 010120103. phan quyen trong sql server 01012010
3. phan quyen trong sql server 01012010
 
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
 
Cơ Sở Dữ Liệu - Chương 1
Cơ Sở Dữ Liệu - Chương 1Cơ Sở Dữ Liệu - Chương 1
Cơ Sở Dữ Liệu - Chương 1
 
Tailieu.vncty.com giao-trinh-sql-2000
Tailieu.vncty.com   giao-trinh-sql-2000Tailieu.vncty.com   giao-trinh-sql-2000
Tailieu.vncty.com giao-trinh-sql-2000
 
01 tong-quan-ado
01 tong-quan-ado01 tong-quan-ado
01 tong-quan-ado
 
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 2
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 2Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 2
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 2
 
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
 

Similar to 00 overview of_sql_server

Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 1
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 1Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 1
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 1
pisu412
 
b1-gioithieu-190213084421.pdf
b1-gioithieu-190213084421.pdfb1-gioithieu-190213084421.pdf
b1-gioithieu-190213084421.pdf
QuyVo27
 
bai giang mon sql- buoi 1.ppt
bai giang mon sql- buoi 1.pptbai giang mon sql- buoi 1.ppt
bai giang mon sql- buoi 1.ppt
HungHuyNguyen3
 
NoSql Database
NoSql DatabaseNoSql Database
NoSql Database
Nguyen Thieu
 
Gt he quan_tri_csdl_ms_sql_server
Gt he quan_tri_csdl_ms_sql_serverGt he quan_tri_csdl_ms_sql_server
Gt he quan_tri_csdl_ms_sql_server
anhanh81
 
Bai 1 lam quen voi sql 2008
Bai 1 lam quen voi sql 2008Bai 1 lam quen voi sql 2008
Bai 1 lam quen voi sql 2008
Phương Nhung
 
Sql server chuong 2 nkhanh
Sql server chuong 2 nkhanhSql server chuong 2 nkhanh
Sql server chuong 2 nkhanh
Nguyễn Duy Hưng
 
Sql server chuong 2 nkhanh
Sql server chuong 2 nkhanhSql server chuong 2 nkhanh
Sql server chuong 2 nkhanh
John Carter
 
01-Gioithieu.pdf
01-Gioithieu.pdf01-Gioithieu.pdf
01-Gioithieu.pdf
DngKen1
 
Báo cáo kĩ thuật phần mềm và ứng dụng
Báo cáo kĩ thuật phần mềm và ứng dụngBáo cáo kĩ thuật phần mềm và ứng dụng
Báo cáo kĩ thuật phần mềm và ứng dụngVượng Đặng
 
Bài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.com
Bài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.comBài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.com
Bài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.com
mai_non
 
ERD - Database Design
ERD - Database DesignERD - Database Design
ERD - Database Design
yht4ever
 
Chuong 1_Gioo thieu DB.pdf
Chuong 1_Gioo thieu DB.pdfChuong 1_Gioo thieu DB.pdf
Chuong 1_Gioo thieu DB.pdf
Criz20
 
SAP BASIS Overview (Vietnamese)
SAP BASIS Overview (Vietnamese)SAP BASIS Overview (Vietnamese)
SAP BASIS Overview (Vietnamese)
Triet Hoang
 
My sql.storage engine
My sql.storage engineMy sql.storage engine
My sql.storage engineLê Nhân
 

Similar to 00 overview of_sql_server (20)

Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 1
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 1Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 1
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 1
 
b1-gioithieu-190213084421.pdf
b1-gioithieu-190213084421.pdfb1-gioithieu-190213084421.pdf
b1-gioithieu-190213084421.pdf
 
bai giang mon sql- buoi 1.ppt
bai giang mon sql- buoi 1.pptbai giang mon sql- buoi 1.ppt
bai giang mon sql- buoi 1.ppt
 
NoSql Database
NoSql DatabaseNoSql Database
NoSql Database
 
Gt he quan_tri_csdl_ms_sql_server
Gt he quan_tri_csdl_ms_sql_serverGt he quan_tri_csdl_ms_sql_server
Gt he quan_tri_csdl_ms_sql_server
 
Bai 1 lam quen voi sql 2008
Bai 1 lam quen voi sql 2008Bai 1 lam quen voi sql 2008
Bai 1 lam quen voi sql 2008
 
Sql server chuong 2 nkhanh
Sql server chuong 2 nkhanhSql server chuong 2 nkhanh
Sql server chuong 2 nkhanh
 
Sql server chuong 2 nkhanh
Sql server chuong 2 nkhanhSql server chuong 2 nkhanh
Sql server chuong 2 nkhanh
 
01-Gioithieu.pdf
01-Gioithieu.pdf01-Gioithieu.pdf
01-Gioithieu.pdf
 
3250
32503250
3250
 
Báo cáo kĩ thuật phần mềm và ứng dụng
Báo cáo kĩ thuật phần mềm và ứng dụngBáo cáo kĩ thuật phần mềm và ứng dụng
Báo cáo kĩ thuật phần mềm và ứng dụng
 
Bài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.com
Bài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.comBài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.com
Bài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.com
 
ERD - Database Design
ERD - Database DesignERD - Database Design
ERD - Database Design
 
Tu hoc SQL 2000
Tu hoc SQL 2000Tu hoc SQL 2000
Tu hoc SQL 2000
 
Qt he co so du lieu
Qt he co so du lieuQt he co so du lieu
Qt he co so du lieu
 
Chuong 1_Gioo thieu DB.pdf
Chuong 1_Gioo thieu DB.pdfChuong 1_Gioo thieu DB.pdf
Chuong 1_Gioo thieu DB.pdf
 
SAP BASIS Overview (Vietnamese)
SAP BASIS Overview (Vietnamese)SAP BASIS Overview (Vietnamese)
SAP BASIS Overview (Vietnamese)
 
My sql.storage engine
My sql.storage engineMy sql.storage engine
My sql.storage engine
 
Mo hinh-3-lop
Mo hinh-3-lopMo hinh-3-lop
Mo hinh-3-lop
 
51645016 csdl
51645016 csdl51645016 csdl
51645016 csdl
 

More from thai

Bài giảng sql server 2008
Bài giảng sql server 2008Bài giảng sql server 2008
Bài giảng sql server 2008
thai
 
Bài 1. phân tích đặc tả dự án quản lý sinh viên howkteam.com
Bài 1. phân tích đặc tả dự án quản lý sinh viên howkteam.comBài 1. phân tích đặc tả dự án quản lý sinh viên howkteam.com
Bài 1. phân tích đặc tả dự án quản lý sinh viên howkteam.com
thai
 
04 ham-ket-hop-gom-nhom
04 ham-ket-hop-gom-nhom04 ham-ket-hop-gom-nhom
04 ham-ket-hop-gom-nhom
thai
 
3 mucluc thuchanh-cosodulieu
3 mucluc thuchanh-cosodulieu3 mucluc thuchanh-cosodulieu
3 mucluc thuchanh-cosodulieu
thai
 
02 sql dml_commands
02 sql dml_commands02 sql dml_commands
02 sql dml_commands
thai
 
Oer basics h2-2021
Oer basics h2-2021Oer basics h2-2021
Oer basics h2-2021
thai
 
Oer basics h2-2021
Oer basics h2-2021Oer basics h2-2021
Oer basics h2-2021
thai
 
Graph Databases
Graph DatabasesGraph Databases
Graph Databases
thai
 
Chuong 4 lien_he_giua_uml_va_orm
Chuong 4 lien_he_giua_uml_va_ormChuong 4 lien_he_giua_uml_va_orm
Chuong 4 lien_he_giua_uml_va_orm
thai
 
Cryptography and applications
Cryptography and applicationsCryptography and applications
Cryptography and applications
thai
 

More from thai (10)

Bài giảng sql server 2008
Bài giảng sql server 2008Bài giảng sql server 2008
Bài giảng sql server 2008
 
Bài 1. phân tích đặc tả dự án quản lý sinh viên howkteam.com
Bài 1. phân tích đặc tả dự án quản lý sinh viên howkteam.comBài 1. phân tích đặc tả dự án quản lý sinh viên howkteam.com
Bài 1. phân tích đặc tả dự án quản lý sinh viên howkteam.com
 
04 ham-ket-hop-gom-nhom
04 ham-ket-hop-gom-nhom04 ham-ket-hop-gom-nhom
04 ham-ket-hop-gom-nhom
 
3 mucluc thuchanh-cosodulieu
3 mucluc thuchanh-cosodulieu3 mucluc thuchanh-cosodulieu
3 mucluc thuchanh-cosodulieu
 
02 sql dml_commands
02 sql dml_commands02 sql dml_commands
02 sql dml_commands
 
Oer basics h2-2021
Oer basics h2-2021Oer basics h2-2021
Oer basics h2-2021
 
Oer basics h2-2021
Oer basics h2-2021Oer basics h2-2021
Oer basics h2-2021
 
Graph Databases
Graph DatabasesGraph Databases
Graph Databases
 
Chuong 4 lien_he_giua_uml_va_orm
Chuong 4 lien_he_giua_uml_va_ormChuong 4 lien_he_giua_uml_va_orm
Chuong 4 lien_he_giua_uml_va_orm
 
Cryptography and applications
Cryptography and applicationsCryptography and applications
Cryptography and applications
 

00 overview of_sql_server

  • 1. Overview of DBMS Môn học: Hệ quản trị cơ sơ dữ liệu [Buổi 1] GV: Nguyễn Mai Huy
  • 2. Faculty of Information Technology Nguyễn Mai Huy nmhuy@ntt.edu.vn 01 Thảo luận + BT (10%) Kiểm tra giữa kỳ (30%) Thi tự luận (60%) 03 Tín chỉ: 3 Lý thuyết: 30 tiết Thực hành: 30 tiết Bài tập: TH + Ở nhà 02 Slide Bài giảng Tài liệu tham khảo (Cuối slide) 04
  • 3. Nguyễn Mai Huy – Master of Information technology Overview of the subject Tổng quan về DBMS DML Commands (Insert into, Update, Delete, …) DDL Commands (Create, Alter, Drop, …) Select command (Wild card, Filter, Order, …)
  • 4. Nguyễn Mai Huy – Master of Information technology Overview of the subject Select command (Join, Group, Having, …) Triggers (After or For, Instead of) Views Functions (Built-in, User-define)
  • 5. Nguyễn Mai Huy – Master of Information technology Overview of the subject Stored Procedure (Control-of-flow statements) Ôn tập, giới hạn KT Stored Procedure (Cursors, Handling Exceptions) Thi kiểm tra cuối học kỳ
  • 6. Faculty of Information Technology SQL Structured English Query Language
  • 7. Nguyễn Mai Huy – Master of Information technology  SQL: "Ngôn ngữ truy vấn dữ liệu có tính cấu trúc" - là loại ngôn ngữ lập trình cho máy tính, phục vụ cho các mục đích: Tạo, Sửa, và Lấy dữ liệu từ một hệ quản trị cơ sở dữ liệu quan hệ (DBMS - Database Management System).  Tháng 6 năm 1970, tạp chí Communications of the ACM công bố mô hình A Relational Model of Data for Large Share Data Banks ("Mô hình quan hệ cho dữ liệu dùng trong ngân hàng dữ liệu chia sẻ có khối lượng lớn") của tiến sĩ Edgar F. Codd, mô hình này sau đó đã được chấp nhận rộng rãi và được xem là mô hình tiêu chuẩn dùng cho hệ thống quản lý cơ sở dữ liệu quan hệ.  Giữa những năm 1970, một nhóm chuyên gia thuộc trung tâm nghiên cứu của IBM tại San Jose phát triển hệ thống cơ sở dữ liệu "Hệ thống R" dựa trên mô hình của Codd, lấy tên là Structured English Query Language, viết tắt là "SEQUEL" ("Ngôn ngữ truy vấn có cấu trúc dựa trên tiếng Anh"), ngôn ngữ này được thiết kế để quản lý và truy xuất dữ liệu lưu trữ trong “Hệ thống R”. Sau này, tên viết tắt SEQUEL được rút gọn thành SQL để tránh việc tranh chấp nhãn hiệu (từ SEQUEL đã được một công ty máy bay của UK là Hawker-Siddeley đăng ký trước đó).  Mặc dù SQL bị ảnh hưởng bởi công trình của tiến sĩ Edgar F. Codd nhưng nó lại được thiết kế bởi Donald D. Chamberlin và Raymond F. Boyce tại IBM. History
  • 8. Nguyễn Mai Huy – Master of Information technology SQL được thừa nhận là tiêu chuẩn của ANSI (American National Standards Institute) vào năm 1986 và ISO (International Organization for Standardization) năm 1987. ANSI đã công bố cách phát âm chính thức của SQL là "ess kyoo ell", nhưng rất nhiều các chuyên gia cơ sở dữ liệu nói tiếng Anh vẫn gọi nó là "SEQUEL". History Năm Tên Tên khác Chú giải 1986 SQL-86 SQL-87 Được công bố đầu tiên bởi ANSI. Được phê chuẩn bởi ISO năm 1987. 1989 SQL-89 Thay đổi nhỏ. 1992 SQL-92 SQL2 Thay đổi lớn. 1999 SQL:1999 SQL3 2003 SQL:2003
  • 9. Nguyễn Mai Huy – Master of Information technology Data Definition Language – DDL (is used to define data structures stored in the database. DDL statements allow to create, modify or destroy individual database objects. Object types allowed depend on the DBMS used, and usually include databases, users, tables and some smaller housekeeping objects like roles and indexes.)  Data Manipulation Language – DML ( is used to query and change data stored in the database. DML statements allow to select, insert, update and delete data in the tables. Sometimes pure select statements are not classified as part of DML, since they don’t change the state of the data. All SQL DML statements are declarative.) (CRUD: Create – Retrieve – Update – Delete)  Create – insert  Retrieve – Read: select  Update – Modify: update  Delete – Destroy: delete Types of sub-language in SQL
  • 10. Nguyễn Mai Huy – Master of Information technology  Data Control Language – DCL ( is used to control access to data stored in the database. DCL statements operate with privileges and allow to grant and revoke privileges on applying certain DDL and DML commands to certain database objects.)  Transaction Control Language – TCL (is used to control processing of transactions in the database. Usual TCL statements are commit to apply the changes introduced by the transaction, rollback to undo them and savepoint to divide the transaction into several smaller parts.) Types of sub-language in SQL DDL DML TCL DCL SQL
  • 11. Nguyễn Mai Huy – Master of Information technology Database Management System – DBMS : là “một dạng phần mềm” cung cấp các chức năng cho phép các phần mềm (software), cũng như người dùng (end-user) có thể thực hiện các hành động tương tác với cơ sở dữ liệu đã được xây dựng bên trong nó: Tạo mới, Lưu trữ, Chỉnh sửa, Xóa bỏ, Truy vấn và Phân tích dữ liệu … Thông thường, hệ quản trị cơ sở dữ liệu sẽ tự động giúp người dùng kiểm soát thông tin và duy trì các CSDL. Các thành phần chính của một DBMS thường bao gồm:  Bộ xử lý truy vấn (Query processor)  Bộ quản lí dữ liệu (Data management) DBMS – Hệ quản trị CSDL
  • 12. Nguyễn Mai Huy – Master of Information technology  Cung cấp môi trường tạo, định nghĩa cơ sở dữ liệu (Ngôn ngữ định nghĩa dữ liệu)  Cung cấp các tính năng cập nhật và khai thác dữ liệu (Ngôn ngữ thao tác dữ liệu)  Cho phép kiểm soát, điều khiển truy cập vào CSDL (Ngôn ngữ kiểm soát dữ liệu) Nhiệm vụ chính của DBMS
  • 13. Nguyễn Mai Huy – Master of Information technology Sơ đồ hệ thống DBMS
  • 14. Nguyễn Mai Huy – Master of Information technology  dBASE  FoxPro  Microsoft Access  MySQL  Microsoft SQL Server  SQLite  IBM DB2  Oracle  PostgreSQL  . . . Một số DBMS phổ biến
  • 15. Faculty of Information Technology Transact – SQL
  • 16. Nguyễn Mai Huy – Master of Information technology Transact-SQL (T-SQL) là một mở rộng độc quyền của Microsoft và Sybase cho SQL dùng để tương tác với cơ sở dữ liệu quan hệ. T-SQL mở rộng dựa trên SQL để cho phép lập trình thủ tục, khai báo và sử dụng các biến cục bộ, các hàm hỗ trợ khác nhau cho xử lý chuỗi, xử lý ngày, toán học, … đồng thời thay đổi các lệnh DELETE và UPDATE. Transact-SQL là ngôn ngữ lập trình quan trọng trong việc khai thác và sử dụng Microsoft SQL Server. Tất cả các ứng dụng giao tiếp với SQL Server đều thực hiện gửi các câu lệnh Transact-SQL dưới dạng TEXT đến máy chủ cơ sở dữ liệu, và nhận về kết quả thực thi trên CSDL mà không hề phụ thuộc vào giao diện người dùng của ứng dụng. T-SQL
  • 17. Nguyễn Mai Huy – Master of Information technology Có 3 điểm khác biệt chính giữa SQL và T-SQL  SQL là 1 ngôn ngữ lập trình, còn T-SQL là một mở rộng của SQL.  T-SQL cho phép “lập trình hướng thủ tục” với các biến cục bộ, còn SQL thì không.  T-SQL là độc quyền, còn SQL là một “định dạng mở”. SQL vs T-SQL
  • 18. Nguyễn Mai Huy – Master of Information technology Microsoft SQL Server là một hệ thống quản lý cơ sở dữ liệu quan hệ được phát triển bởi Microsoft. SQL Server hoạt động như một máy chủ cơ sở dữ liệu, đây là một sản phẩm phần mềm có chức năng chính là lưu trữ và truy xuất dữ liệu theo yêu cầu của các ứng dụng phần mềm khác, có thể chạy trên cùng một máy tính hay trên một máy tính khác đồng thời cho phép kết nối thông qua mạng máy tính (bao gồm cả Internet). Microsoft cung cấp nhiều phiên bản Microsoft SQL Server, nhắm vào các đối tượng khác nhau, cho các khối lượng công việc khác nhau. Từ các ứng dụng đơn lẻ, khối lượng công việc nhỏ, cho đến các ứng dụng lớn với nhiều người dùng đồng thời truy cập thông qua Internet. What is SQL Server?
  • 19. Nguyễn Mai Huy – Master of Information technology  MS SQL Server for OS/2 : 1989, by Sybase, Ashton-Tate, and Microsoft.  SQL Server 4.2 for NT : 1993.  SQL Server 6.0 : 1995 (Microsoft kết thúc quá trình hợp tác với Sybase, lúc này Sybase tiếp tục phát triển một biến thể khác Sybase Adaptive Server Enterprise, độc lập với Microsoft).  SQL Server 7.0 : 1998.  SQL Server 2005, (hoàn tất việc chuyển đổi mã cũ do Sybase phát triển sang Microsoft).  SQL Server 2017, (bổ sung các hỗ trợ cho nền tảng Linux) Phên bản & các mốc quan trọng
  • 20. Nguyễn Mai Huy – Master of Information technology Database Engine – Thành phần chính, có nhiệm vụ lưu trữ, xử lý các giao dịch với tốc độ nhan và giữ nhiệm vụ bảo mật đối với cơ sở dữ liệu. SQL Server – Đây là dịch vụ dùng để: Khởi động, Dừng, Tạm ngưng hay tiếp tục thi hành đối với các “thực thể” SQL Server. SQL Server Agent – Dịch vụ này sẽ thực thi các nhiệm vụ ( role) theo lịch trình, hoặc tự động thực thi các nhiệm vụ dựa trên các sự kiện cũng như các yêu cầu từ bên ngoài. SQL Server Browser – Dịch vụ này thường được dùng để kết nối các yêu cầu được gửi đến từ bên ngoài với SQL Server instance mong muốn. SQL Server Full-Text Search – Được sử dụng để cho phép người dùng chạy các truy vấn ở dạng Full-Text đối với dữ liệu character trong các bảng SQL. The key components
  • 21. Nguyễn Mai Huy – Master of Information technology SQL Server VSS Writer – Cho phép sao lưu và phục hồi các tập tin dữ liệu khi SQL Server không hoạt động. SQL Server Analysis Services (SSAS) – Dịch vụ này được sử dụng để cung cấp các phân tích, khai thác dữ liệu và khả năng học máy. Máy chủ SQL cũng được tích hợp với Python và R để phân tích dữ liệu nâng cao. SQL Server Reporting Services (SSRS) – Dịch vụ này được sử dụng để cung cấp các tính năng và khả năng ra quyết định bao gồm cả việc tích hợp với Hadoop. SQL Server Integration Services (SSIS) – Dịch vụ này được sử dụng để thực hiện các lệnh ETL (Extract, Transform, and Load process) cho các loại dữ liệu khác nhau tập hợp từ nhiều nguồn. The key components
  • 22. Nguyễn Mai Huy – Master of Information technology SQL Server Architecture
  • 23. Nguyễn Mai Huy – Master of Information technology SQL Server Architecture  Relational Engine − Contains the query parser, optimizer, and the executor; and the execution happens in the relational engine.  Command Parser − Checks the syntax of the query and converts the query to machine language.  Optimizer − Prepares the execution plan as output by taking statistics, query and Algebrator tree as input.  Query Executor − This is the place where queries get executed step by step  Storage Engine − This is responsible for storage and retrieval of data on the storage system, manipulation of data, managing and locking transactions.
  • 24. Faculty of Information Technology SQL Server Management Studio
  • 25. Nguyễn Mai Huy – Master of Information technology SSMS from the start menu
  • 26. Nguyễn Mai Huy – Master of Information technology When you open the SQL server management studio from the start menu, a window will open similar to the window shown in the picture below. Accessing Database Engine
  • 27. Nguyễn Mai Huy – Master of Information technology Here, mention the Server Name, Authentication Mode and click on Connect. After you click on Connect, you will see the following screen at the next slide. Authentication Mode: • Windows authentication • SQL Server authentication Authentication Mode
  • 28. Nguyễn Mai Huy – Master of Information technology Windows authentication
  • 29. Nguyễn Mai Huy – Master of Information technology Windows authentication
  • 30. Nguyễn Mai Huy – Master of Information technology SQL Server authentication  Choose server name  Select Authentication as SQL Server authentication  Login with: sa account  Password : you have entered in the installation before
  • 31. Nguyễn Mai Huy – Master of Information technology SQL Server authentication
  • 32. Nguyễn Mai Huy – Master of Information technology Ngôn ngữ truy vấn dữ liệu có cấu trúc : SQL SQL & Transact SQL Các nhóm lệnh đặc trưng của T-SQL Microsoft SQL Server Management Studio (SSMS) Các hình thức truy cập vào SQL Server Hệ quản trị cơ sở dữ liệu :: DBMS Mô hình truy xuất dữ liệu trên hệ thống DBMS Nhớ gì ?!!!
  • 33. Nguyễn Mai Huy – Master of Information technology  Itzik Ben-Gan, “Microsoft® SQL Server ® 2012 T-SQL Fundamentals”, O’Reilly Media Inc, 2012  Itzik Ben-Gan, Dejan Sarka, Ed Katibah, Greg Low, Roger Wolter, and Isaac Kunen, “Inside Microsoft SQL Server 2008: T-SQL Programming”, Microsoft Press, 2010  w3schools, “Introduction to SQL”, https://www.w3schools.com/sql/sql_intro.asp, 10:54PM, 18/06/2020  Microsoft SQL Server Tutorial, “Tutorials for SQL Server”, https://docs.microsoft.com/en-us/sql/sql-server/tutorials-for-sql-server-2016, 10:54 PM, 18/06/2020 Tài liệu tham khảo