SlideShare una empresa de Scribd logo
1 de 26
http://techmaster.vn
CƠ SỞ DỮ LIỆU
PostgreSQL
http://techmaster.vn
PostgreSQL là gì?
Hệ thống cơ sở dữ liệu
quan hệ/phi quan hệ (NoSQL) viết
tắt là Postgres
http://techmaster.vn
Một số khái niệm cơ bản
• Database – Cơ sở dữ liệu
• Table – Bảng dữ liệu
• SQL (Structured Query Language): Ngôn ngữ
truy vấn và thao tác dữ liệu
– Thêm, sửa, xóa dữ liệu
– Truy vấn dữ liệu
http://techmaster.vn
Chuẩn hóa dữ liệu
1. First Normal Form (1NF)
2. Second Normal Form (2NF)
3. Third Normal Form (3NF)
Chuẩn hóa dữ liệu giúp giảm thiểu dữ liệu dư thừa
và giúp dễ dàng thao tác với dữ liệu.
http://techmaster.vn
Chuẩn hóa dữ liệu
Ví dụ một bảng dữ liệu chưa chuẩn hóa về
thông tin của các sinh viên và môn học
Cột Subject có chứa các nhóm thông tin trên cùng 1 dòng (Biology, Maths)
=> Gây khó khăn khi truy vấn, cập nhật CSDL
http://techmaster.vn
First Normal Form (1NF)
Chuẩn hóa lại theo chuẩn 1NF
Sử dụng cả 2 cột Student và Subject để làm khóa chính, tách dữ liệu ra nhiều dòng
=> Dễ cập nhật, truy vấn CSDL nhưng làm tăng dữ liệu dư thừa
http://techmaster.vn
Second Normal Form (2NF)
Theo chuẩn 2NF: Tách bảng Student ra làm 2 bảng
Chứa thông tin về
tuổi của student
Chứa thông tin về
môn học của student
http://techmaster.vn
Third Normal Form (3NF)
Ví dụ một bảng dữ liệu theo chuẩn 2NF, có chứa
thông tin về sinh viên và địa chỉ của sinh viên
Bảng có khóa chính là Student_id. Tuy nhiên các thuộc tính Street,
City, State lại phụ thuộc vào Zip
http://techmaster.vn
Third Normal Form (3NF)
Theo chuẩn 3NF, các thuộc tính trong bảng đều phải
phụ thuộc vào khóa chính => Tách làm 2 bảng
Bảng Student có khóa chính là Student_id
Bảng Address có khóa chính là Zip, liên kết với bảng Student qua trường Zip
http://techmaster.vn
Cài đặt Postgres
• Tải Postgres tại:
http://www.postgresql.org/download/
• Với MacOSX có thể sử dụng Postgres App:
http://postgresapp.com/
http://techmaster.vn
Postgres App
Open psql command và sử dụng
lệnh create user để tạo thêm user
và gán quyền truy cập cho user đó
Tạo tài khoản techmaster với mật khẩu là 123456 và có quyền tạo cơ sở dữ liệu (createdb)
http://techmaster.vn
Giới thiệu pgAdmin
Download pgAdmin tại:
http://www.pgadmin.org/download/
http://techmaster.vn
Giao diện pgAdmin
http://techmaster.vn
Kiểu dữ liệu trong Postgres
• http://www.postgresql.org/docs/9.4/static/datatype.html
• Một số kiểu dữ liệu cơ bản thường dùng:
– Kiểu số: integer, smallint, bigint, serial, smallserial, bigserial, double
precision
– Kiểu ký tự: character, character varying, text
– Kiểu datetime: date, timestamp with time zone, timestamp without time
zone
– Kiểu boolean: boolean
– Kiểu json: json, jsonb
http://techmaster.vn
Tạo database
CREATE DATABASE name
http://techmaster.vn
Xóa database
DROP DATABASE [ IF EXISTS ] name
http://techmaster.vn
Tạo bảng
CREATE TABLE [ IF NOT EXISTS ] table_name (
column_name data_type [ column_constraint ]
| table_constraint
)
http://techmaster.vn
Xóa bảng
DROP TABLE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
http://techmaster.vn
Constraint trong Postgres
• NOT NULL
• UNIQUE
• PRIMARY KEY
• FOREIGN KEY
• CHECK
• DEFAULT
http://techmaster.vn
Insert dữ liệu
INSERT INTO table_name [ ( column_name [, ...] ) ]
VALUES ( [, ...] )
http://techmaster.vn
Update dữ liệu
UPDATE [ ONLY ] table_name [ * ] [ [ AS ] alias ]
SET { column_name = { expression } |
( column_name [, ...] ) = ( { expression } [, ...] ) } [, ...]
[ FROM from_list ]
[ WHERE condition ]
http://techmaster.vn
Xóa dữ liệu
DELETE FROM [ ONLY ] table_name [ * ] [ [ AS ] alias ]
[ USING using_list ]
[ WHERE condition ]
http://techmaster.vn
Truy vấn dữ liệu
SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ] * | expression [ [ AS ] output_name ] [, ...]
[ FROM from_item [, ...] ]
[ WHERE condition ]
[ GROUP BY expression [, ...] ]
[ HAVING condition [, ...] ]
[ ORDER BY expression [ ASC | DESC | USING operator ] [ NULLS { FIRST | LAST } ] [, ...] ]
[ LIMIT { count | ALL } ]
[ OFFSET start [ ROW | ROWS ] ]
http://techmaster.vn
Truy vấn dữ liệu sử dụng JOIN query
• INNER JOIN (Viết tắt là JOIN)
• FULL OUTER JOIN (Viết tắt là OUTER JOIN)
• LEFT OUTER JOIN (Viết tắt là LEFT JOIN)
• RIGHT OUTER JOIN (Viết tắt là RIGHT JOIN)
• CROSS JOIN
http://techmaster.vn
Aggregate Functions
• Danh sách Aggregate functions trong Postgres:
http://www.postgresql.org/docs/9.4/static/functions-aggregate.html
• Một số Aggregate functions hay dùng:
– Count(expression)
– Sum(expression)
– Avg(expresssion)
– Min(expression), Max(expression)
http://techmaster.vn
Backup và restore database
• Sử dụng pgAdmin để backup và restore database

Más contenido relacionado

La actualidad más candente

Bài giảng asp.net
Bài giảng asp.netBài giảng asp.net
Bài giảng asp.net
Dung Duong
 
Bai tap lap trinh mang(1)
Bai tap lap trinh mang(1)Bai tap lap trinh mang(1)
Bai tap lap trinh mang(1)
Linh Nguyen
 
Chuong 4 - CSDL phân tán
Chuong 4 - CSDL phân tánChuong 4 - CSDL phân tán
Chuong 4 - CSDL phân tán
duysu
 
Co so du lieu t sql
Co so du lieu t sqlCo so du lieu t sql
Co so du lieu t sql
ANHMATTROI
 

La actualidad más candente (20)

Tổng quan về cơ sở dữ liệu
Tổng quan về cơ sở dữ liệuTổng quan về cơ sở dữ liệu
Tổng quan về cơ sở dữ liệu
 
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
 
Node.js căn bản
Node.js căn bảnNode.js căn bản
Node.js căn bản
 
csdl-trigger
csdl-triggercsdl-trigger
csdl-trigger
 
Bài 3 : Các ràng buộc toàn vẹn dữ liệu - SQL server
Bài 3 : Các ràng buộc toàn vẹn dữ liệu - SQL serverBài 3 : Các ràng buộc toàn vẹn dữ liệu - SQL server
Bài 3 : Các ràng buộc toàn vẹn dữ liệu - SQL server
 
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 ...
 
T-SQL Overview
T-SQL OverviewT-SQL Overview
T-SQL Overview
 
Bài tập HTML/CSS
Bài tập HTML/CSSBài tập HTML/CSS
Bài tập HTML/CSS
 
Bài giảng asp.net
Bài giảng asp.netBài giảng asp.net
Bài giảng asp.net
 
Postgresql
PostgresqlPostgresql
Postgresql
 
Đề tài: Triển khai giải pháp giả lập thiết bị mạng với Unetlab-EVE
Đề tài: Triển khai giải pháp giả lập thiết bị mạng với Unetlab-EVEĐề tài: Triển khai giải pháp giả lập thiết bị mạng với Unetlab-EVE
Đề tài: Triển khai giải pháp giả lập thiết bị mạng với Unetlab-EVE
 
Bai tap lap trinh mang(1)
Bai tap lap trinh mang(1)Bai tap lap trinh mang(1)
Bai tap lap trinh mang(1)
 
Chuong 4 - CSDL phân tán
Chuong 4 - CSDL phân tánChuong 4 - CSDL phân tán
Chuong 4 - CSDL phân tán
 
Co so du lieu t sql
Co so du lieu t sqlCo so du lieu t sql
Co so du lieu t sql
 
Slide 1 - Thiết kế Web cơ bản
 Slide 1 - Thiết kế Web cơ bản Slide 1 - Thiết kế Web cơ bản
Slide 1 - Thiết kế Web cơ bản
 
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đĐề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
 
Giới thiệu cách sử dụng Bootstrap CSS Framework
Giới thiệu cách sử dụng Bootstrap CSS FrameworkGiới thiệu cách sử dụng Bootstrap CSS Framework
Giới thiệu cách sử dụng Bootstrap CSS Framework
 
Normalization in SQL | Edureka
Normalization in SQL | EdurekaNormalization in SQL | Edureka
Normalization in SQL | Edureka
 
Đề tài: Xây dựng hệ thống thông tin quản lý quầy thuốc tại bệnh viện
Đề tài: Xây dựng hệ thống thông tin quản lý quầy thuốc tại bệnh việnĐề tài: Xây dựng hệ thống thông tin quản lý quầy thuốc tại bệnh viện
Đề tài: Xây dựng hệ thống thông tin quản lý quầy thuốc tại bệnh viện
 
Luận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAY
Luận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAYLuận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAY
Luận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAY
 

Similar a Cơ sở dữ liệu postgres

b34-dml-sql-190213084703.pdf
b34-dml-sql-190213084703.pdfb34-dml-sql-190213084703.pdf
b34-dml-sql-190213084703.pdf
QuyVo27
 
52695817 p0201-m03t-truy-van-du-lieu-query-truy-van-chon-select-query
52695817 p0201-m03t-truy-van-du-lieu-query-truy-van-chon-select-query52695817 p0201-m03t-truy-van-du-lieu-query-truy-van-chon-select-query
52695817 p0201-m03t-truy-van-du-lieu-query-truy-van-chon-select-query
nguyen minh
 
C4 data structures
C4 data structuresC4 data structures
C4 data structures
Hồ Lợi
 
Bai tapnhom dangmo
Bai tapnhom dangmoBai tapnhom dangmo
Bai tapnhom dangmo
huynhthingoc
 

Similar a Cơ sở dữ liệu postgres (20)

Tip oracle
Tip oracleTip oracle
Tip oracle
 
csdl - buoi7-8-9
csdl - buoi7-8-9csdl - buoi7-8-9
csdl - buoi7-8-9
 
Bai1.pdf
Bai1.pdfBai1.pdf
Bai1.pdf
 
csdl bai-thuchanh_02
csdl bai-thuchanh_02csdl bai-thuchanh_02
csdl bai-thuchanh_02
 
Com201 slide 3
Com201   slide 3Com201   slide 3
Com201 slide 3
 
Access: Chuong III Thiet ke truy van Query.ppt
Access: Chuong III Thiet ke truy van Query.pptAccess: Chuong III Thiet ke truy van Query.ppt
Access: Chuong III Thiet ke truy van Query.ppt
 
Thuc hanh access
Thuc hanh accessThuc hanh access
Thuc hanh access
 
Slide duyetgiang
Slide duyetgiangSlide duyetgiang
Slide duyetgiang
 
Dotnet
DotnetDotnet
Dotnet
 
NhomX.docx
NhomX.docxNhomX.docx
NhomX.docx
 
b34-dml-sql-190213084703.pdf
b34-dml-sql-190213084703.pdfb34-dml-sql-190213084703.pdf
b34-dml-sql-190213084703.pdf
 
Sql understanding
Sql understandingSql understanding
Sql understanding
 
52695817 p0201-m03t-truy-van-du-lieu-query-truy-van-chon-select-query
52695817 p0201-m03t-truy-van-du-lieu-query-truy-van-chon-select-query52695817 p0201-m03t-truy-van-du-lieu-query-truy-van-chon-select-query
52695817 p0201-m03t-truy-van-du-lieu-query-truy-van-chon-select-query
 
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 3
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 3Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 3
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 3
 
slide_Chuong 3_ (1).ppt
slide_Chuong 3_ (1).pptslide_Chuong 3_ (1).ppt
slide_Chuong 3_ (1).ppt
 
Đề thi 02
Đề thi 02Đề thi 02
Đề thi 02
 
C4 data structures
C4 data structuresC4 data structures
C4 data structures
 
C4 data structures
C4 data structuresC4 data structures
C4 data structures
 
Bai tapnhom dangmo
Bai tapnhom dangmoBai tapnhom dangmo
Bai tapnhom dangmo
 
Bai tapnhom dangmo
Bai tapnhom dangmoBai tapnhom dangmo
Bai tapnhom dangmo
 

Más de TechMaster Vietnam

Más de TechMaster Vietnam (20)

Neural Network from Scratch
Neural Network from ScratchNeural Network from Scratch
Neural Network from Scratch
 
Go micro framework to build microservices
Go micro framework to build microservicesGo micro framework to build microservices
Go micro framework to build microservices
 
Flutter vs React Native 2018
Flutter vs React Native 2018Flutter vs React Native 2018
Flutter vs React Native 2018
 
C đến C++ phần 1
C đến C++ phần 1C đến C++ phần 1
C đến C++ phần 1
 
Control structure in C
Control structure in CControl structure in C
Control structure in C
 
Basic C programming
Basic C programmingBasic C programming
Basic C programming
 
Authentication and Authorization
Authentication and AuthorizationAuthentication and Authorization
Authentication and Authorization
 
Postgresql security
Postgresql securityPostgresql security
Postgresql security
 
Knex Postgresql Migration
Knex Postgresql MigrationKnex Postgresql Migration
Knex Postgresql Migration
 
Postgresql các vấn đề thực tế
Postgresql các vấn đề thực tếPostgresql các vấn đề thực tế
Postgresql các vấn đề thực tế
 
Arrowjs.io
Arrowjs.ioArrowjs.io
Arrowjs.io
 
Minimum Viable Products
Minimum Viable ProductsMinimum Viable Products
Minimum Viable Products
 
Chia sẻ kinh nghiệm giảng dạy CNTT
Chia sẻ kinh nghiệm giảng dạy CNTTChia sẻ kinh nghiệm giảng dạy CNTT
Chia sẻ kinh nghiệm giảng dạy CNTT
 
Tìm nền tảng lập trình cho 5 năm tới
Tìm nền tảng lập trình cho 5 năm tớiTìm nền tảng lập trình cho 5 năm tới
Tìm nền tảng lập trình cho 5 năm tới
 
iOS Master - Detail & TabBar
iOS Master - Detail & TabBariOS Master - Detail & TabBar
iOS Master - Detail & TabBar
 
Phalcon căn bản
Phalcon căn bảnPhalcon căn bản
Phalcon căn bản
 
Phalcon introduction
Phalcon introductionPhalcon introduction
Phalcon introduction
 
Slide that wins
Slide that winsSlide that wins
Slide that wins
 
Manage your project differently
Manage your project differentlyManage your project differently
Manage your project differently
 
Hướng dẫn sử dụng CocoaPods trong dự án iOS hoặc MacOSX
Hướng dẫn sử dụng CocoaPods trong dự án iOS hoặc MacOSXHướng dẫn sử dụng CocoaPods trong dự án iOS hoặc MacOSX
Hướng dẫn sử dụng CocoaPods trong dự án iOS hoặc MacOSX
 

Cơ sở dữ liệu postgres

Notas del editor

  1. Database là một cơ s