- Giới thiệu SQL
- SQL là gì
- Các khái niệm RDBMS
- Database là gì
- Cú pháp SQL cơ bản
- Kiểu dữ liệu
- Toán tử
- Biểu thức (Expression)
- Lệnh Create Database
- Lệnh Drop Database
- Lệnh Select Database
- Lệnh Rename Database
- Lệnh Create Table
- Lệnh Drop Table
- Lệnh Delete Table
- Lệnh Rename Table
- Lệnh Truncate Table
- Lệnh ALter Table
- Sao chép bảng
- Bảng tạm (Temp Table)
- Truy vấn Update
- Truy vấn Insert
- Truy vấn Select
- Mệnh đề Order By
- Mệnh đề Group By
- Từ khóa Distinct
- Sắp xếp kết quả
- Mệnh đề Where
- Mệnh đề AND & OR
- Mệnh đề WITH
- Mệnh đề Like
- Mệnh đề Top
- Mệnh đề Union
- Giá trị NULL
- Cú pháp Alias
- Chỉ mục (Index)
- Sử dụng View
- Mệnh đề Having
- SQL Transaction
- Toán tử Wildcard
- Truy vấn con
- Sử dụng Sequence
- Xử lý bản sao
- SQL Injection
- Ràng buộc (Constraint)
- Ràng buộc NOT NULL
- Ràng buộc DEFAULT
- Ràng buộc UNIQUE
- Ràng buộc PRIMARY KEY
- Ràng buộc FOREIGN KEY
- Ràng buộc CHECK
- Ràng buộc INDEX
- Sử dụng Join
- Inner Join
- Left Join
- Right Join
- Full Join
- Self Join
- Cartesian Join
- Hàm hữu ích
- Hàm xử lý Date
- Hàm xử lý chuỗi
- Hàm xử lý số
- First Normal Form (1NF)
- Second Normal Form (2NF)
- Third Normal Form (3NF)
- Tuning DB
- Tài liệu SQL tham khảo
RDBMS Database trong SQL
Database là gì?
Một Database (Cơ sở dữ liệu) là một tập hợp dữ liệu đã được tổ chức sắp xếp. Mục đích chính của Database là để tổ chức một lượng lớn thông tin bằng việc lưu trữ, thu thập, và quản lý.
Ngày này, só nhiều Dynamic Website trên thế giới đang được xử lý thông qua Database. Ví dụ, một mô hình để kiểm tra các phòng khả dụng trong một khách sạn. Có nhiều loại Database có sẵn như MySQL, Sybase, Oracle, Mongo DB, SQL Server, …
Trước khi đi vào giới thiệu ngắn gọn về một số RDBMS phổ biến nhất, chúng ta phân biệt các điểm khác nhau giữa DBMS và RDBMS.
Phân biệt DBMS và RDBMS
Mặc dù cả DBMS là RDBMS đều được sử dụng để lưu trữ thông tin trong cơ sở dữ liệu vật lý, nhưng giữa chúng có nhiều điểm khác nhau rõ rệt.
STT | DBMS | RDBMS |
---|---|---|
1 | Các ứng dụng DBMS lưu trữ dữ liệu dưới dạng file | Các ứng dụng RDBMS lưu trữ dữ liệu ở dạng các bảng |
2 | Trong DBMS, nói chung thì dữ liệu được lưu trữ hoặc trong một cấu trúc thứ bậc hoặc một cấu trúc điều hướng | Trong RDBMS, các bảng có một id được gọi là Primary Key và các giá trị dữ liệu được lưu trữ trong dạng các bảng |
3 | Normalization (tiêu chuẩn hóa) là không có trong DBMS. | Normalization là có trong RDBMS. |
4 | DBMS không áp dụng bất cứ sự bảo vệ nào với việc thao tác dữ liệu | RDBMS định nghĩa ràng buộc về toàn vẹn dữ liệu (integrity constraint) với 4 thuộc tính ACID (Atomocity, Consistency, Isolation và Durability) |
5 | DBMS sử dụng hệ thống file để lưu trữ dữ liệu, vì thế sẽ không có mối quan hệ nào giữa các bảng | Trong RDBMS, các giá trị dữ liệu được lưu trữ trong các bảng, vì thế sẽ có một mối quan hệ giữa các giá trị dữ liệu này cũng như giữa các bảng |
6 | DBMS phải cung cấp một số phương thức đồng nhất để truy cập thông tin đã lưu trữ | Hệ thống RDBMS hỗ trợ một cấu trúc bảng dữ liệu và một mối quan hệ giữa chúng để truy cập thông tin đã lưu trữ |
7 | DBMS không hỗ trợ distributed database | RDBMS hỗ trợ distributed database |
8 | DBMS thích hợp cho các hoạt động nhỏ mà xử lý lượng dữ liệu nhỏ. Nó hỗ trợ đơn người dùng | RDBMS được thiết kế để xử lý lượng dữ liệu lớn. Nó hỗ trợ đa người dùng |
9 | Các ví dụ của DBMS là file system, xml, … | Các ví dụ của RDBMS là mysql, postgre, sql server, oracle ... |
Sau khi theo dõi các điểm khác nhau giữa DBMS và RDBMS, bạn có thể thấy rằng RDBMS là phần mở rộng của DBMS. Trên thị trường hiện nay, có nhiều sản phẩm phần mềm tương thích cả với DBMS và RDBMS. Nghĩa là, ngày nay một ứng dụng RDBMS là một ứng dụng DBMS và ngược lại.
Giới thiệu về MySQL
MySQL là một SQL Database mã nguồn mở, được phát triển bởi Swedish. MySQL hỗ trợ nhiều nền tảng khác nhau, gồm Microsoft Windows, Linux, UNIX và Mac OS X.
MySQL có các phiên bản miễn phí hay phải trả tiền, phụ thuộc vào sự sử dụng của nó (mang tính thương mại hay không thương mại) và các đặc điểm. MySQL đi cùng với một SQL Database Server rất nhanh, đa luồng, đa người dùng và đầy sức mạnh.
Dưới đây là một số đặc điểm của MySQL:
Hiệu suất cao
Tính khả dụng cao
Khả năng mở rộng và linh hoạt
Hỗ trợ mạnh mẽ cho transaction
Kho lưu web và dữ liệu mạnh
Bảo vệ dữ liệu cao
Phát triển ứng dụng toàn diện
Quản lý dễ dàng
Hỗ trợ 24/7 và mã nguồn mở
Tổng chi phí sở hữu thấp nhất
Giới thiệu MS SQL Server
MS 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 Inc. Các ngôn ngữ truy vấn đầu tiên của nó là:
T-SQL.
ANSI SQL.
Dưới đây là một số đặc điểm của MS SQL Server:
Hiệu suất cao
Tính khả dụng cao
Giám sát Database
Database snapshot
Tích hợp CRL
Service Broker
DDL trigger
Hàm xếp loại
Mức độ cô lập dựa trên phiên bản hàng
Tích hợp XML
TRY...CATCH
Database Mail
Giới thiệu MS Access
Đây là một trong những sản phẩm phổ biến nhất của Microsoft. Microsoft Access là một phần mềm quản lý cơ sở dữ liệu entry-level. MS Access Database không chỉ rẻ mà còn là một Database mạnh mẽ cho các dự án qui mô nhỏ.
MS Access sử dụng Jet Database engine, mà lợi dụng một phương ngôn ngôn ngữ SQL cụ thể (đôi khi được xem như là Jet SQL).
MS Access đi cùng với MS Office package. MS Access có giao diện dễ dàng để sử dụng.
Dưới đây là một số đặc điểm của MS Access
Người dùng có thể tạo bảng, truy vấn, form, và report và kết nối chúng với nhau với các macro.
Nhập và xuất dữ liệu cho nhiều định dạng khác nhau, bao gồm Excel, Outlook, ASCII, dBase, Paradox, FoxPro, SQL Server, Oracle, ODBC, …
Cũng có định dạng Jet Database (MDB hoặc ACCDB trong Access 2007), mà có thể chứa ưng dụng và dữ liệu trong một file. Điều này làm nó tiện lợi để phân phối toàn bộ ứng dụng tới người dùng khác, người mà có thể chạy nó trong các môi trường bị ngắt kết nối (hoặc rời rạc).
Microsoft Access cung cấp các truy vấn được tham số hóa. Những truy vấn này và Access Table có thể được tham chiếu từ các chương trình khác như VB6 và .NET thông qua DAO hoặc ADO.
Desktop Edition của Microsoft SQL Server có thể được sử dụng với Access như là một thay thế cho Jet Database engine.
Microsoft Access là một File Server-Based Database. Không giống các RDMBS khác, Microsoft Access không triển khai các Database trigger, Stored Procedure hoặc Transaction Log.
Các bài học SQL phổ biến khác tại AZCode:
- Truy vấn Update
- Truy vấn Insert
- Truy vấn Select
- Mệnh đề Order By
- Mệnh đề Group By
- Từ khóa Distinct
- Mệnh đề Where
- Mệnh đề AND & OR