You are on page 1of 36

TỔNG QUAN

CƠ SỞ DỮ LIỆU & SQL

Hà Nội, 5/2021
NỘI DUNG

• TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU (DATABASE)

• TỔNG QUAN VỀ SQL

• CÀI ĐẶT CÔNG CỤ ORACLE SQL DEVELOPER


TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU
Data is oil of the 21st century
TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU
Tại sao cần sử dụng cơ sở dữ liệu?
Dữ liệu là tập hợp bao gồm các loại thông tin, những thông tin này vô cùng quan trọng
đối với mọi quy trình hoạt động của 1 tổ chức
Tin học hóa (Excel)

Sơ khai
TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU
Tại sao cần sử dụng cơ sở dữ liệu?
• Nhược điểm
- Dữ liệu bị tách biệt, khó chia sẻ
- Dữ liệu bị trùng lặp, tốn không gian lưu trữ
- Thông tin giữa các file có thể không đồng nhất (số cột khác nhau, kiểu dữ liệu,…)
- Không tìm kiếm được thông tin nhanh chóng
- Khi file lưu trữ lớn sẽ chậm, không thể mở được, khó kiểm soát
=> Không thể đáp ứng được nhu cầu lưu trữ của doanh nghiệp
TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU
Cách tiếp cận cơ sở dữ liệu
TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU

Đặc điểm của dữ liệu trên CSDL


- Dữ liệu được quản lý tập trung
- Giảm thiểu tối đa việc dữ liệu bị trùng lặp, đảm bảo được tính nhất quán
- Dữ liệu được truy xuất nhanh chóng, dễ dàng trả lại kết quả
- Lưu trữ dữ liệu lớn, có thể lên đến hàng tỷ bản ghi (Excel ~1 triệu dòng)
- Đảm bảo khả năng truy xuất đồng thời của nhiều người dùng trên dữ liệu
- Dữ liệu được đảm bảo an toàn
TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU
Khái niệm:
• Cơ sở dữ liệu (tiếng anh là Database) là tập hợp các dữ liệu được tổ
chức, lưu trữ theo một cấu trúc chặt chẽ nhằm phục vụ cho nhiều mục
đích khác nhau một cách có chọn lọc
• CSDL cho phép người sử dụng tìm kiếm, thêm, sửa, xóa thông tin nhanh
chóng, dễ dàng.
• Ví dụ: Cơ sở dữ liệu nhân viên, cơ sở dữ liệu khách hàng, cơ sở dữ liệu
hàng hóa…..
TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU
Ví dụ thực tế

Confidential – Oracle Restricted 11


Bảng thông tin Khách Hàng
Tên KH SĐT Địa chỉ
Chị Loan 0979089863 Thôn 3, xã Thượng Đông, Tam Nông, Phú Thọ

Lưu trữ thông tin


Nơi lưu trữ thông
Tra cứu thông tin tin, dữ liệu

Cơ sở dữ liệu

12
TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU
Cơ sở dữ liệu quan hệ là gì?

• Cơ sở dữ liệu có nhiều cách tổ chức, trong đó cách hiệu quả nhất là tổ chức theo mô
hình quan hệ do tiến sĩ E.F.Code người Đức đề xuất năm 1969
• “Cơ sở dữ liệu quan hệ tổ chức dữ liệu theo các bảng và có quan hệ với nhau để giảm
thiểu sự dư thừa dữ liệu đồng thời vẫn đảm bảo sự hiệu quả trong lưu trữ và truy xuất
dữ liệu ”
• Ngày nay, cơ sở dữ liệu quan hệ được dùng trong hầu hết các hệ thống phần mềm từ
kế toán, ngân hàng, doanh nghiệp, …
TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU
Ví dụ thực tế
TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU
Các thành phần cơ bản của một cơ sở dữ liệu quan hệ
1. Bảng dữ liệu (Table)
• Bảng dữ liệu là thành phần chính trong cơ sở dữ liệu quan hệ. Bảng chứa dữ liệu

• Trong đó:
• Cột/Trường (Field): các trường thể hiện thuộc tính của bảng dữ liệu ví dụ tên, địa chỉ…
• Dòng(row): là một dòng dữ liệu gồm các dữ liệu có liên quan với nhau hay còn gọi là bảng ghi (record).
• Ô (cell): Giao giữa dòng và cột và là nơi chứa dữ liệu.
• Khóa chính(Primary Key): là một trường hoặc nhiều trường gộp lại được sử dụng để định nghĩa bảng
ghi. Khóa chính có 02 thuộc tính là không được trùng và không được rỗng
Ví dụ: giá trị 1 của trường CustomerID đó sẽ suy ra được tất cả dữ liệu của dòng đầu tiên. Hay nói cách
khác các giá trị của dòng đầu tiên là giá trị các thuộc tính của bảng ghi có customerID = 1

Một bảng có thể có khóa chính hoặc không, tuy nhiên để dễ quản lý người ta thường định nghĩa khóa
chính cho các bảng.
TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU
Các thành phần cơ bản của một cơ sở dữ liệu quan hệ
2. Mối quan hệ

• Trong đó:
• Khóa ngoại (Foreign Key): là trường ở bảng này (bảng Invoice) nhưng có trường tương ứng
làm khóa chính ở bảng kia (bảng Customer) để tạo ra mối quan hệ giữa hai bảng.
• Mối quan hệ (Relationship): tạo ra mối liên kết giữa hai bảng nhằm xác định mối liên quan
giữa các trường dữ liệu của hai bảng

Ví dụ: nếu bạn muốn biết khách hàng có mã khách hàng số 1 mua những đơn hàng nào thì bạn
phải dựa vào mối quan hệ trên. Trong cơ sở dữ liệu quan hệ mối quan hệ thể hiện ở 03 dạng sau
TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU
Hệ quản trị Cơ sở dữ liệu quan hệ (RDBMS) là gì?

RDBMS (Relational Database Management System) - Là hệ thống phần mềm cung cấp các
công cụ cho phép người dùng thực hiện các thao tác sau:
• Xây dựng CSDL.
• Thao tác trên dữ liệu của CSDL.
• Kiểm soát việc truy xuất dữ liệu.
TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU
Phầm mềm quản lý dữ liệu là gì?
TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU
Các hệ quản trị cơ sở dữ liệu phổ biến
HỆ QUẢN TRỊ CSDL Giới thiệu Tính năng đặc điểm
MySQL • Một hệ quản trị cơ sở dữ liệu SQL • Hoạt động trên Windows, Linux
mã nguồn mở • Lựa chọn hàng đầu của các công ty thiết kế
• được phát triển bởi một công ty Thụy website
Điển - MySQL AB. • Doanh nghiệp vừa và nhỏ

MS SQL SERVER • Một hệ quản trị cơ sở dữ liệu quan • Hoạt động trên hệ điều hành Windows và
hệ được phát triển bởi Microsoft Inc Linux
• Ngôn ngữ truy vấn chính của nó là: • Hiệu năng cáo
T-SQL • Doanh nghiệp vừa và lớn

ORACLE • Một hệ quản trị cơ sở dữ liệu quan • Được bảo mật


hệ thương mại (trả phí) • Hoạt động trên Windows, Linux, UNIX
• được sử dụng rộng rãi nhất hiện nay • Tối ưu cho việc lưu trữ và truy vấn dữ liệu lớn
được phát triển bới Oracle • Doanh nghiệp lớn và rất lớn
Corporation
TỔNG QUAN SQL
Khái niệm SQL

• SQL là viết tắt của Structured Query Language, là 1 ngôn ngữ lập trình đơn giản, dễ học
và dễ hiểu.
• SQL là ngôn ngữ chuẩn cho hệ cơ sở dữ liệu quan hệ (RDBMS). Tất cả các hệ thống quản
trị cơ sở dữ liệu quan hệ (RDBMS) như MySQL, MS Access, Oracle, Postgres và SQL
Server đều sử dụng SQL làm ngôn ngữ cơ sở dữ liệu chuẩn.
• Ngoài ra mỗi RDBMS lại sử dụng các phiên bản SQL riêng

Confidential – Oracle Restricted 24


TỔNG QUAN SQL
Khái niệm SQL

Confidential – Oracle Restricted 25


TỔNG QUAN SQL
Phân loại các câu lệnh SQL

Confidential – Oracle Restricted 26


TỔNG QUAN SQL
Phân loại các câu lệnh SQL

SQL DDL (Data Definition Language)


DDL là ngôn ngữ định nghĩa dữ liệu. Các lệnh DDL bao gồm:
• Lệnh CREATE: Tạo một bảng, một View của bảng, hoặc đối tượng khác trong
Database.
• Lệnh ALTER: Sửa đổi một đối tượng Database đang tồn tại, ví dụ như một bảng.
• Lệnh DROP: Xóa toàn bộ một bảng, một View của bảng hoặc đối tượng khác trong
một Database.

Confidential – Oracle Restricted 27


TỔNG QUAN SQL
Phân loại các câu lệnh SQL

SQL DML (Data Manipulation Language) là gì?


DML là ngôn ngữ thao tác dữ liệu. Các lệnh DML bao gồm:
• Lệnh SELECT: Lấy các bản ghi cụ thể từ một hoặc nhiều bảng.
• Lệnh INSERT: Tạo một bản ghi.
• Lệnh UPDATE: Sửa đổi các bản ghi.
• Lệnh DELETE: Xóa các bản ghi.

Confidential – Oracle Restricted 28


TỔNG QUAN SQL
Phân loại các câu lệnh SQL

SQL DCL (Data Control Language) là gì?


DCL là ngôn ngữ điều khiển dữ liệu, kiểm soát quyền truy cập vào dữ liệu. Các lệnh DCL
bao gồm:
• Lệnh GRANT: Trao một quyền tới người dùng.
• Lệnh REVOKE: Thu hồi quyền đã trao cho người dùng.

Confidential – Oracle Restricted 29


TỔNG QUAN SQL
Phân loại các câu lệnh SQL

SQL TCL (Transaction Control Language) là gì?


TCL là ngôn ngữ được sử dụng để quản lý các transaction trong cơ sở dữ liệu. Các lệnh
TCL bao gồm:
• Lệnh COMMIT: Lưu các thay đổi.
• Lệnh ROLLBACK : Quay trở lại trạng thái trước khi có thay đổi.
• Lệnh SAVEPOINT: Tạo các điểm (point) bên trong các nhóm Transaction để
ROLLBACK, tức là để quay trở lại điểm trạng thái đó
• Lệnh SET TRANSACTION: Đặt một tên cho một Transaction

Confidential – Oracle Restricted 30


TỔNG QUAN SQL
Kiểu dữ liệu SQL
• Kiểu dữ liệu trong SQL định nghĩa một kiểu giá trị mà một cột có thể chứa.

• Trong một bảng, mỗi cột cần có một tên và một kiểu dữ liệu. Kiểu dữ liệu thì khá đa
dạng với các Database khác nhau
• Sử dụng các Kiểu dữ liệu này trong khi tạo các bảng dựa trên từng yêu cầu cụ thể.
• Có các nhóm chính như: character, numeric, date/time…

Confidential – Oracle Restricted 31


TỔNG QUAN SQL
Kiểu dữ liệu SQL
Kiểu ký tự Mô tả Kích cỡ
Kiểu dữ liệu ký tự
Char Kiểu chuỗi ký tự có độ dài cố định Tối đa 2000 bytes hoặc
2000 ký tự
Varchar2 Kiểu chuỗi ký tự có độ dài bất kỳ Tối đa 4000 bytes hoặc
4000 ký tự
Kiểu dữ liệu số
Number [(p [, s])] Kiểu số với độ dài tối đa p chữ số bao gồm cả phần tối đa 38 chữ số thập phân
thập phân
Float(p) Kiểu số có dấu chấm phẩy động, độ dài tối tối đa 38 chữ số thập phân
đa p chữ số nhị phân
Dữ liệu ngày tháng giờ
DATE Kiểu dữ liệu ngày giờ Ví dụ: 24/04/2021
TIMESTAMP Kiểu dữ liệu ngày giờ có hỗ trợ thêm milisecond Ví dụ: 24/04/2021
09:26:50.12
Tham khảo thêm: https://docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm#CNCPT1832
Confidential – Oracle Restricted 32
TỔNG QUAN SQL
Kiểu dữ liệu SQL
• Ví dụ:
CREATE TABLE persons (
person_id NUMBER GENERATED BY DEFAULT AS IDENTITY,
first_name VARCHAR2(50) NOT NULL,
last_name VARCHAR2(50) NOT NULL,
PRIMARY KEY(person_id)
);
TỔNG QUAN SQL
Toán tử

• Toán tử là một từ dành riêng hoặc một ký tự được sử dụng chủ yếu trong mệnh đề
WHERE của câu lệnh SQL để thực hiện các thao tác, chẳng hạn như so sánh và các phép
toán số học.
• Các toán tử này được sử dụng để chỉ định các điều kiện trong câu lệnh SQL và dùng làm
ngữ pháp cho nhiều điều kiện trong một câu lệnh.
 Toán tử số học
 Toán tử so sánh
 Toán tử logic
 Các toán tử sử dụng để phủ định các điều kiện

Confidential – Oracle Restricted 34


TỔNG QUAN SQL
Toán tử số học
Bảng dưới liệt kê các toán tử số học trong SQL

Toán tử Mô tả Ví dụ
+ (cộng) Thêm các giá trị ở hai bên của 40 + 50 sẽ cho 90
toán tử.
- (trừ) Lấy toán hạng bên phải trừ toán 70 - 30 sẽ cho 40
hạng bên trái.
* (nhân) Nhân giá trị ở hai bên của toán tử. 2 * 4 sẽ cho 8
/ (chia) Chia lấy phần nguyên. 8 / 2 sẽ cho 4
% (Modulus) Chia lấy phần dư. 4 % 2 sẽ cho 0

Confidential – Oracle Restricted 35


TỔNG QUAN SQL
Toán tử so sánh
Toán tử Mô tả Ví dụ
= Kiểm tra nếu các giá trị của hai toán hạng bằng nhau hay (5 = 4) là false.
không, nếu có thì điều kiện trở thành true.
<> Kiểm tra nếu các giá trị của hai toán hạng bằng hoặc không, (5 <> 6) là true.
nếu các giá trị không bằng nhau thì điều kiện trở thành true.
> Kiểm tra nếu giá trị của toán hạng trái lớn hơn giá trị của toán (7 > 2) là là true.
hạng phải, nếu có thì điều kiện trở thành true.
< Kiểm tra nếu giá trị của toán hạng trái nhỏ hơn giá trị của toán (3 < 5) là true.
hạng phải, nếu có thì điều kiện trở thành true.
>= Kiểm tra nếu giá trị của toán hạng trái lớn hơn hoặc bằng giá (10 >= 9) là là true.
trị của toán hạng phải, nếu có thì điều kiện trở thành true.
<= Kiểm tra nếu giá trị của toán hạng trái nhỏ hơn hoặc bằng giá (20 <= 30) là true.
trị của toán hạng phải, nếu có thì điều kiện trở thành true.

Confidential – Oracle Restricted 36


TỔNG QUAN SQL
Toán tử logical
Toán tử & mô tả
AND Toán tử AND cho phép tồn tại nhiều điều kiện trong mệnh đề WHERE của câu lệnh SQL.
OR Toán tử OR được sử dụng để kết hợp nhiều điều kiện trong mệnh đề WHERE của câu lệnh
SQL.
BETWEEN Toán tử BETWEEN được sử dụng để tìm kiếm các giá trị trong một tập các giá trị, với giá trị
nhỏ nhất và giá trị lớn nhất.
IN Toán tử IN được sử dụng để so sánh một giá trị với một danh sách các giá trị văn bản đã được
chỉ định.
LIKE Toán tử LIKE được sử dụng để so sánh một giá trị với các giá trị tương tự sử dụng toán tử ký
tự đại diện.

Ngoài ra còn các toán tử khác như: EXISTS, NOT, IS NULL……..

Confidential – Oracle Restricted 37


CÀI ĐẶT CÔNG CỤ ORACLE SQL DEVELOPER

Confidential – Oracle Restricted 42


CÀI ĐẶT CÔNG CỤ ORACLE SQL DEVELOPER
Hướng dẫn cài đặt

Để download Oracle SQL Developer, bạn truy cập địa chỉ sau:
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

Confidential – Oracle Restricted 43


CÀI ĐẶT CÔNG CỤ ORACLE SQL DEVELOPER
Hướng dẫn cài đặt
CÀI ĐẶT CÔNG CỤ ORACLE SQL DEVELOPER
Hướng dẫn kết nối
CÀI ĐẶT CÔNG CỤ ORACLE SQL DEVELOPER
Giao diện khi kết nối thành công:

You might also like