Tải bản đầy đủ - 0 (trang)
3 Một số hệ quản trị cơ sở dữ liệu quan hệ phổ biến:

3 Một số hệ quản trị cơ sở dữ liệu quan hệ phổ biến:

Tải bản đầy đủ - 0trang

a. Microsoft SQL Server

- SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (Relational

Database Management System (RDBMS) ) sử dụng câu lệnh SQL để

trao đổi dữ liệu giữa máy Client và máy cài SQL Server.

- SQL Server được tối ưu để có thể chạy trên mơi trường cơ sở dữ liệu rất

lớn lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngàn user.

SQL Server có thể kết hợp “ăn ý” với các server khác như Microsoft

Internet Information Server (IIS), E-Commerce Server, Proxy Server….

- Đặc điểm:

● SQL là ngôn ngữ tựa tiếng Anh.

● SQL là ngơn ngữ phi thủ tục, nó khơng u cầu ta cách thức truy

nhập CSDL như thế nào. Tất cả các thông báo của SQL đều rất dễ sử

dụng và ít khả năng mắc lỗi.

● SQL cung cấp tập lệnh phong phú cho các công việc hỏi đáp DL:

Chèn, cập nhật, xoá các hàng trong một quan hệ. Tạo, sửa đổi, thêm

và xoá các đối tượng trong của CSDL. Điều khiển việc truy nhập tới

cơ sở dữ liệu và các đối tượng của CSDL để đảm bảo tính bảo mật

của cơ sở DL. Đảm bảo tính nhất quán và sự ràng buộc của CSDL.

- Ưu điểm:

● SQL có thể được sử dụng đối với lượng dữ liệu lớn từ database một

cách nhanh chóng và hiệu quả.

● Câu lệnh đơn giản, ngắn gọn, dễ nhớ và dễ dàng sử dụng.

● Được tối ưu hóa với những cơng nghệ mới nên tốc độ rất cao.

● Tất cả các yêu cầu phức tạp của cơng việc đều có thể thực hiện

được.

● SQL database sử dụng tiêu chuẩn lâu đời, ANSI và ISO áp dụng.

● Việc sử dụng SQL chuẩn giúp việc quản lý database dễ dàng.

- Nhược điểm:

● Khơng có các đối tượng như Form (để tạo giao diện ứng dụng),

Report (để tạo các báo cáo), module (lập trình ứng dụng CSDL).

● Ta cần sử dụng các cơng cụ bên ngồi để lập trình cho các ứng dụng

CSDL SQL: Visual Basic.Net, C#.net, ADO.Net, ..., Crystal Report.

b. MySQL

- MySQL là một trong những cơ sở dữ liệu có khả năng mở rộng phổ

biến nhất hiện nay. Nó giàu các tính năng, là một sản phẩm mã nguồn

mở mạnh mẽ trên các website và các ứng dụng online. Việc bắt đầu với



9



-



-



-



MySQL là cực kì dễ dàng và các nhà phát triển dễ dàng tiếp cận với

một lượng lớn các thông tin về cơ sở dữ liệu trên internet.

MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ

liệu quan hệ sử dụng Ngơn ngữ truy vấn có cấu trúc (SQL). Tuy nhiên

Mysql khơng bao qt tồn bộ những câu truy vấn cao cấp như SQL

Server. Vì vậy Mysql chỉ đáp ứng việc truy xuất đơn giản trong quá

trình vận hành của website, thích hợp cho các ứng dụng có truy cập

CSDL trên internet và có thể giải quyết hầu hết các bài toán trong PHP,

Perl.

một số đặc điểm của MySQL:

● MySQL là một phần mềm quản trị CSDL dạng server-based (gần

tương đương với SQL Server của Microsoft).

● MySQL quản lý dữ liệu thông qua các CSDL, mỗi CSDL có thể có

nhiều bảng quan hệ chứa dữ liệu.

● MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người

dùng có thể được quản lý một hoặc nhiều CSDL khác nhau, mỗi

người dùng có một tên truy cập và mật khẩu tương ứng để truy

xuất đến CSDL.

● Khi ta truy vấn tới CSDL MySQL, ta phải cung cấp tên truy cập và

mật khẩu của tài khoản có quyền sử dụng CSDL đó. Nếu khơng,

chúng ta sẽ khơng làm được gì cả giống như quyền chứng thực

người dùng trong SQL Server vậy.

Ưu điểm:

● Mysql là phần mềm mã nguồn mở phổ biến nhất và dễ dàng đối

với người mới sử dụng, có thể chạy trên nhiều flatform trong việc

sử dụng.

● Sự linh hoạt về flatform là 1 đặc tính nổi bật của MySQL với các

phiên bản đang được hỗ trợ của Linux, Unix, Windows, MySQL

cho phép tùy biến hoàn toàn theo ý muốn, thêm vào các yêu cầu

thích hợp cho database server.

● MySQL có thể đáp ứng khả năng xử lý những yêu cầu khắt khe

nhất của từng hệ thống, MySQL còn đưa ra các “cơng cụ” cần thiết

cho các hệ thống doanh nghiệp khó tính bằng tiện ích tải tốc độ

cao, bộ nhớ cache và các cơ chế xử lý nâng cao khác.

● Bảo mật: Có rất nhiều tính năng bảo mật, một số ở cấp cao đều

được xây dựng trong MySQL.

● Do MySQL có engine xử lý tốc độ cao và khả năng chèn dữ liệu

nhanh, hỗ trợ tốt cho các chức năng chuyên dùng cho web,…nên

10



MySQL là lựa chọn tốt nhất cho các ứng dụng web và các ứng

dụng web doanh nghiệp.

- Nhược điểm:

● Độ tin cậy: Cách các chức năng cụ thể được xử lý với MySQL (ví dụ

tài liệu tham khảo, các giao dịch, kiểm tốn,...) làm cho nó kém tin

cậy hơn so với một số hệ quản trị cơ sở dữ liệu quan hệ khác.

c. SQLite

-



-



SQLite là một bộ thư viện dùng trong lập trình để hiện thực

một SQL Database Engine có khả năng tự tổ chức quản lý dữ

liệu, không cần server, không cần cấu hình mà vẫn hỗ trợ đầy

đủ các tính năng quản lý giao tác. SQLite hiện đang là SQL

Database Engine mã nguồn mở theo mơ hình dữ liệu quan

hệ đang được sử dụng nhiều nhất trên thế giới do tính cơ động

cao, dễ sử dụng, gọn nhẹ, hiệu quả và tin cậy.

Một số đặc điểm chính của SQLite:



















-



Đảm bảo đầy đủ 4 đặc tính ACID của các giao tác: SQLite được

đảm bảo đầy đủ 4 tính chất cơ bản của giao tác là tính nguyên tổ

(Atomic), tính nhất quán (Consistent), tính cơ lập (Isolated), và tính

bền vững (Durable) thậm chí sau khi hệ thống bị crash hoặc gặp

các sự cố về nguồn điện.

Khơng cần cấu hình: với SQLite chúng ta sẽ khơng cần phải cài đặt

hay quản trị nó.

SQLite có gần như tồn bộ các đặc tính phổ biến của SQL theo

chuẩn SQL92. Tuy nhiên còn một số tính năng như RIGHT

OUTER JOIN, FULL OUTER JOIN, FOR EACH STATEMENT

TRIGGER,… chưa được hỗ trợ.

Toàn bộ Database được lưu trữ trong 1 tập tin trên đĩa duy nhất.

Bộ thư viện quản lý rất nhỏ, gọn: dưới 500 KB cho bản đầy đủ tính

năng, và có thể ít hơn nếu loại bớt một số đặc tính.

Đơn giản và dễ sử dụng bộ API tương ứng

Mã nguồn mở được viết bằng ANSI-C, được comment rất tốt và có

thể tái sử dụng với bất cứ mục đích gì.



Ứng dụng của SQLite:





SQLite có thể sử dụng như định dạng tập tin thích hợp cho các ứng

dụng: trước đây các tập tin cấu hình có thể được lưu dưới dạng

file .ini, rồi sau đó là .xml,… tuy nhiên chúng ta sẽ cần phải viết

hoặc phụ thuộc vào việc sử dụng các parser phù hợp. Sử dụng

11



SQLite không những giúp chúng ta khắc phục được yếu điểm này

mà chương trình của chúng ta lại còn có thể chạy trên nhiều nền

tảng khác nhau.

● SQLite có thể sử dụng làm CSDL cho các thiết bị điện tử: SQLite

nhỏ, sử dụng bộ nhớ, không gian lưu trữ và băng thông đĩa hiệu

quả, tin cậy mà không cần phải quản trị bởi các quản trị viên

chuyên nghiệp. Nếu bạn đang viết ứng dụng trên các thiết bị chạy

iOS như iPhone, iPad,… hay các thiết bị chạy Android hoặc

Windows Mobile,… thì SQLite chính là CSDL phù hợp cho các

thiết bị di động này.

- Một số hạn chế của SQLite:

● Tính đồng thời: SQLite sử dụng cơ chế khóa coarse-gained locking

có thể hỗ trợ nhiều người đọc dữ liệu, nhưng chỉ có 1 người có thể

ghi dữ liệu một lúc mà thơi.

● SQLite khơng có tính năng quản lý người dùng.

● Nối kết mạng: mặc dù SQLite có thể được chia sẻ thông qua các

network file systems, tuy nhiên độ trễ giữa các hệ thống tập tin này

sẽ ảnh hưởng nghiêm trọng tới hiệu suất thực hiện của SQLite

● Phù hợp với các ứng dụng có qui mơ dữ liệu nhỏ: trong thời đại

bùng nổ thông tin như hiện nay, SQLite không phải là lựa chọn lý

tưởng để đáp ứng các nhu cầu xử lý trên 1 khối lượng dữ liệu lớn,

phát sinh liên tục.

d. PostgreSQL

- PostgreSQL là hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở tiên tiến

mà mục đích chính là tuân thủ theo chuẩn và khả năng mở rơng.

PostgreSQL hay còn gọi là Postgree áp dụng chuẩn SQL ANSI/IOS

cùng với các phiên bản.

- So với các hệ quản trị cơ sử dữ liệu quan hệ khác, PostgreSQL khá

khác. Nó hỗ trợ hướng đối tượng mạnh mẽ và chức năng cơ sở dữ liệu

quan hệ. Ví dụ như hỗ trợ hoàn toàn cho các giao dịch đáng tin cậy

như là Atomicity, Consistency, Isolation, Durability (ACID).

- Do có nền tảng cơng nghệ mạnh mẽ, Postgres có hồn tồn có khả

năng xử lý nhiều tiến trình rất hiệu quả. Sự hỗ trợ đồng thời đạt được

mà không cần đọc các khóa nhờ vào sự thực hiện của Multiversion

Concurrency Control (MVCC), mà nó cũng đảm bảo việc tuân thủ theo

ACID.

- Ưu điểm của PostgreSQL:



12



Là một chuẩn SQL phù hợp với hệ quản trị cơ sở dữ liệu quan

hệ: PostgreSQL là hệ quản trị cơ sở dữ liệu quan hệ mã nguồn

mở, miễn phí và mạnh mẽ.

● Cộng đồng mạnh: PostgreSQL được hỗ trợ bởi một cộng đồng

nhiệt tình và đầy kinh nghiệm.

● Hỗ trợ mạnh mẽ từ các bên thứ 3: Bất kể các tính năng tiên tiến

thì PostgreSQL đều được hỗ trợ bởi các công cụ tuyệt vời của

bên thứ 3 trong việc quản lý cơ sơ dữ liệu.

● Sự mở rộng: Nó có thể mở rộng lập trình PostgreSQL với các

thủ tục lưu trữ, giống như một RDBMS tiên tiến.

● Đối tượng hóa: PostgreSQL khơng chỉ là một hệ quản trị cơ sở

dữ liệu quan hệ, mà nó còn đối tượng hóa dữ liệu.

- Nhược điểm của PostgreSQL:

● Hiệu suất: Đối với các tốn tử đơn giản thì PostgreSQL thực

hiện kém hiệu quả hơn so với các hệ quản trị cơ sở dữ liệu quan

hệ khác như MySQL. Nhưng đối với tốn tử phức tạp thì

PostgreSQL thực hiện tốt hơn rất nhiều.

● Sự phổ biến: Do chưa có sự phổ biến nên ảnh hưởng đến người

dùng nhận được sự hỗ trợ kịp thời.

● Hosting: Do các yếu tố được đề cập bên trên nên nó khó được hỗ

trợ bởi các host.

e. Bảng so sánh

- Dưới đây là bảng so sánh các đặc điểm chính của các hệ quản trị cơ sở

dữ liệu đã được mơ tả phía trên:





SQL Server



MySQL



SQLite



PostgreSQL



ACID



yes



yes



yes



yes



transactions



yes



yes



yes



yes



Referential integrity



yes



yes



yes



yes



Fine-grained locking



yes



yes



no



yes



max DB size



524,272

TB unlimited

(32 767 files *

16 TB max file

size)



128

TB

(231 pages

* 64 KB

max page

size)



unlimited



max table size



524,272 TB



Limited



32 TB



MyISAM



13



storage limits: by

256

TB; size

Innodb storage

limits: 64 TB



file



max CHAR size



2 GB



64 KB (text)



2 GB



1 GB



max NUMBER size



126 bits



64 bits



64 bits



unlimited



max DATE value



9999



9999



No DATE 5,874,897

type



Materialized view



yes



no



no



R-/R+ tree



Spatial Indexes Spatial Indexes yes



yes



Hash



yes



Heap

only



yes



Expression



yes



no



yes



yes



Partial



yes



no



yes



yes



Reverse



yes



no



no



yes



Bitmap



no



no



no



yes



GiST



no



no



no



yes



Full-text seach



yes



yes



yes



yes



Data Domain



yes



no



no



yes



Cursor



yes



yes



no



yes



Trigger



yes



yes



yes



yes



Function



yes



yes



no



yes



Procedure



yes



yes



no



yes



External routine



yes



yes



yes



yes



4.



tables no



yes



Ví dụ về SQL

- Đối với CSDL quan hệ, điểm mạnh lớn nhất đó là hỗ trợ transaction

(NoSQL khơng hỗ trợ điều này). Đối với các hệ thống như: Ngân hàng,

buôn bán, quản lý kho,... Các hệ thống này cần bảo mật cao, cũng như



14



-



-



-



thông tin cần chặt chẽ, nhất quán thì CSDL quan hệ là một sự lựa chọn

phù hợp.

Hãy xem xét một hệ thống theo dõi hàng hóa của một nhà kho. Ta cần

phải ghi lại những điều sau:

● Các sản phẩm được đưa đến kho và được đặt ở địa điểm hay khoang

nào.

● Sự dịch chuyển của các hàng hóa trong kho. VD: sắp xếp kho để các

sản phẩm cùng loại được đặt cùng một vị trí

● Các đơn đặt hàng và việc di chuyển các hàng hóa khỏi nhà kho cho

việc giao hàng

Giả sử có một giao dịch vận chuyển sản phẩm P từ khoang A sang

khoang B với số lượng là 5. Sẽ có 2 hành động được thực hiện:

● Khoang A trừ số lượng sản phẩm P là 5

● Khoang B thêm số lượng sản phẩm P là 5

Như vậy, sau khi kết thúc giao dịch, hai hành động cập nhật ở khoang A

và khoang B đều thành công nếu giao dịch thành cơng, hoặc sẽ khơng có

hành động nào thực hiện nếu có lỗi xảy ra để đảm bảo tính nhất qn và

phù hợp với giao dịch.



15



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

3 Một số hệ quản trị cơ sở dữ liệu quan hệ phổ biến:

Tải bản đầy đủ ngay(0 tr)

×