LOGO
1
o
Một số hệ quản trị mã nguồn mở
o
Tìm hiểu quản trị CSDL PostgreSQL
Giáo viên: Nguyễn Trần Minh Thư
Nhóm 07
1041010 – Trần Ngọc Anh
1041102 – Nguyễn Hồng Phấn
1041108 – Nguyễn Hồng Phương
1041392 – Chương Tiên Phát
Hệ quản trị mã nguồn mở
My SQL
Oracle
SqLite
PostgreSQL
2
Hệ quản trị mã nguồn mở
MySQL
MySql là HQTCSDL mã nguồn mở phổ biến nhất thế giới.
Sử dụng ngôn ngữ truy vấn có cấu trúc (SQL).
MySQL là cơ sở dữ liệu tốc độ cao, ổn định, bảo mật và dễ sử dụng.
Phát triển bởi công ty MySQL AB.
Phiên bản mới nhất: 5.0.17 vào ngày 21 tháng 12 năm 2005.
Hệ điều hành: Đa hệ điều hành
Thể loại: RDBMS (relational database management system)
Website: www.mysql.com
3
Hệ quản trị mã nguồn mở
Oracle
Oracle là một HQTCSDL quan hệ đối tượng phổ biến trên thế giới (ORDBMS).
Oracle cung cấp một HQTCSDL mềm dẻo gồm CSDL Oracle , môi trường cho việc thiết kế các cơ sở dữ liệu,
các công cụ phát triển.
HQTCSDL có tính an toàn , bảo mật cao, tính nhất quán và toàn vẹn dữ liệu.
4
Hệ quản trị mã nguồn mở
Oracle
Được cung cấp bởi công ty ORACLE.
Phiên bản mới nhất: Oracle Database 11g phát hành vào tháng 9 năm 2011.
Viết bằng ngôn ngữ: C, C++.
Loại: ORDBMS.
Hệ điều hành: Đa hệ điều hành.
Website: www.oracle.com
5
Hệ quản trị mã nguồn mở
SqLite
SqLite là phần mềm quản lý cơ sở dữ liệu (DBMS).
Đặc điểm của SQLite là gọn, nhẹ, đơn giản.
Sử dụng dưới dạng thư viện nhúng, không chạy theo kiểu server độc lập.
Hỗ trợ các ngôn ngữ phổ biến: C, C++, C#, Basic, Perl, Ruby, Python, PHP, Java
Hỗ trợ mã UTF8, command line, transaction, view, C extensions.
6
Hệ quản trị mã nguồn mở
SQLite
Có các công cụ quản lý bằng đồ hoạ.
Download & sử dụng miễn phí.
Phát triển bởi D.Richard Hipp.
Phiên bản: Hiện tại SQLite có 2 nhánh khác nhau là version 2.x và version 3.x. Lệnh sqlite là của version 2.x,
sqlite3 là lệnh của version 3.x.
Loại: RDBMS
Hệ điều hành: Nền tảng Cross.
Website:
7
PostgreSQL
Giới thiệu tổng quan
Ngôn ngữ SQL
Các kiểu dữ liệu
Kiểu dữ liệu tự định nghĩa
Hàm và các toán tử
Tính năng khác
Công cụ hỗ trợ PostgreSQL
Khách hàng nổi bật
8
Giới thiệu PostgreSQL
PostgreSQL là gì?
PostgreSQL là một HQTCSDL quan hệ và đối tượng dựa trên Postgres (ORDBMS: object-relational
database management system).
Được phát triển bởi khoa điện toán của đại học California tại Berkeley.
PostgreSQL là một chương trình mã nguồn mở xây dựng trên mã nguồn ban đầu của đại học Berkeley.
PostgreSQL theo chuẩn SQL99.
Được phát triển từ hơn 15 năm, tương thích chuẩn SQL, khả năng làm việc trên cơ sở dữ liệu lớn, đang
dần tiến gần đến doanh nghiệp.
9
Giới Thiệu PostgreSQL
Giao diện lập trình ứng dụng.
Công cụ hỗ trợ lập trình.
Công cụ quản trị.
Được viết bằng ngôn ngữ C.
Hệ điều hành: đa hệ điều hành.
Thể loại: ORDBMS (object-relational database management system).
Website: />10
Đặc điểm PostgreSQL
Câu truy vấn phức hợp (complex query).
Khóa ngoại (foreign key).
Thủ tục sự kiện(trigger).
Các khung nhìn(view).
Tính toàn vẹn của các giao tác (trigger).
Kiểm tra truy cập đồng thời đa phiên bản (multiversion concurrency control).
PostgreSQL có thể dùng trong nhiều trường hợp, như tạo ra kiểu dữ liệu, hàm, toán tử, hàm tập hợp,
ngôn ngữ theo thủ tục.
11
Lịch sử của PostgreSQL
Từ INGRES đến POSTGRES (1977-1994): Năm 1971 được giáo sư
Michael Stonebraker nghiên cứu.
INGRES: Ra đời vào năm 1977 là mô hình quan hệ.
POSTGRES: Phát triển năm 1986, là mô hình đối tượng, ngôn ngữ
truy vấn QUEL.
Từ POSTGRES đến PostgreSQL (1994-1996)
o
Hỗ trợ ngôn ngữ SQL từ năm 1994.
o
Phiên bản Postgres95 ra đời vào năm 1995.
o
Phiên bản PostgreSQL 6.0 ra đời vào năm 1996.
o
Phiên bản mới nhất: 9.1.3 ngày 27/02/2012.
12
Lịch sử của PostgreSQL
13
PostgreSQL và các HQT CSDL khác
Thông tin chung
14
PostgreSQL và các HQT CSDL khác
Hệ điều hành được hỗ trợ
15
PostgreSQL và các HQT CSDL khác
Tính năng cơ bản
16
PostgreSQL và các HQT CSDL khác
Các đối tượng khác
17
PostgreSQL
Giới thiệu tổng quan
Ngôn ngữ SQL
Các kiểu dữ liệu
Kiểu dữ liệu tự định nghĩa
Hàm và các toán tử
Tính năng khác
Công cụ hỗ trợ PostgreSQL
Khách hàng nổi bật
18
Ngôn ngữ SQL
Ngôn ngữ SQL
Khái niệm
Tạo Table-Xóa Table
Insert –Copy
Truy vấn trên Table
Kết giữa các Table
Hàm tổng hợp
Cập nhật - Xóa
19
Ngôn ngữ SQL
Khái niệm
PostgreSQL là hệ thống QTCSDL quan hệ
Mỗi Table tập trung các dòng.
o
Mỗi dòng của 1 bảng có cùng các cột được đặt tên
o
Mỗi cột có 1 kiểu dữ liệu cụ thể
Tạo Table
CREATE TABLE <tên bảng>(<tên thuộc tính><kiểu dữ liệu>,<tên thuộc tính><kiểu dữ liệu>,…);
Xóa Table
DROP TABLE <tên bảng>;
20
Ngôn ngữ SQL
Insert
Xác định thứ tự của giá trị insert
INSERT INTO <tên bảng> VALUES (<giá trị thuộc tính>,<giá trị thuộc tính>,…);
Không xác định thứ tự của giá trị insert
INSERT INTO <tên bảng>(<tên thuộc tính>,<tên thuộc tính>,…) VALUES (<giá trị thuộc tính>,<giá trị thuộc
tính>,…);
21
Ngôn ngữ SQL
Copy
Có thể sử dụng để tải một lượng lớn dữ liệu từ tập tin văn bản có dữ liệu theo cấu trúc của bảng
COPY <tên bảng> FROM <đường dẫn file>;
COPY sinhvien(hoten,ngaysinh,noisinh,diemlt,diemth,lop) FROM ‘D:\test.txt’ DELIMITER(‘,’);
Nội dung test.txt
Ly Minh, 1989-10-10,Ben tre,7,8,10HCA
Ly Hung, 1989-11-11,Ben tre,7,9,10HCB
22
Ngôn ngữ SQL
Truy vấn trên Table
Truy vấn toàn bộ bảng
SELECT * FROM <tên bảng>;
Truy vấn thuộc tính cụ thể của bảng
SELECT <tên thuộc tính>,… FROM <tên bảng>;
Tính toán trên thuộc tính hiển thị
SELECT MSSV, (diemlt+diemth)/2 AS diem
FROM SinhVien;
23
Ngôn ngữ SQL
Lọc dữ liệu: AND, OR, NOT
SELECT * FROM SinhVien
WHERE lop = ’10HCA’
AND diem>8.0;
Lấy dữ liệu không trùng lắp: DISTINCT
SELECT DISTINCT noisinh
FROM SinhVien;
Sắp xếp kết quả truy vấn: ORDER BY
SELECT DISTINCT noisinh
FROM SinhVien
ORDER BY noisinh;
24
Ngôn ngữ SQL
Kết giữa các Table
Truy vấn bằng phép kết bảng
o
Có những record không trùng khớp giữa 2 bảng => Một số TH sẽ mất mát dữ liệu
o
SELECT mssv, hoten, ngaysinh, noisinh, diem, lop
FROM SinhVien sv, Lop l
WHERE sv.lop=l.tenlop;
Truy vấn bằng JOIN
o
Inner join
SELECT * FROM SinhVien sv
INNER JOIN Lop l ON (sv.lop=l.tenlop);
25