1. Trang chủ
  2. » Công Nghệ Thông Tin

Nhập môn cơ sở dữ liệu Phần 3: Ngôn ngữ truy vấn có cấu trúc

21 331 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 21
Dung lượng 423,89 KB

Nội dung

SQL và các phép toán quan hệ• Các phép toán trên đại số quan hệ – Rất là công thức– Hơi thiêng về mặt kỹ thuật, phải chỉ rõ ràng thứ tự của các thao tác.VD: Lấy họ tên của các sinh viên

Trang 1

Structured Query Language

SQL

Ngôn ngữ truy vấn có cấu trúc

Trang 2

Nhắc lại

• Các phép toán tác trên đại số quan hệ

– Select– Project– Rename– Union, Intersection, Set difference, Cartesian product– Join & Natural Join

– Division– Aggregate functions– Outer Joins & Outer Union

Trang 3

• Các phép toán về lý thuyết tập hợp

– R∪S– R∩S– R - S– RXS

Trang 4

SQL và các phép toán quan hệ

• Các phép toán trên đại số quan hệ

– Rất là công thức– Hơi thiêng về mặt kỹ thuật, phải chỉ rõ ràng thứ tự của các thao tác.VD: Lấy họ tên của các sinh viên ở Thủ Đức

• SQL

– Tập trung vào phần trả lời kết quả là gì– Thứ tự/Tối ưu hóa của câu truy vấn được giao phó cho

Hệ quản trị CSDL– Cho phép tạo ra các lược đồ quan hệ, cập nhật và truy vấn thông tin

• Tương ứng giữa các thuật ngữ

– Quan hệ (Relation) Bảng (table)

– Thuộc tính (Attribute) Cột (column)

Trang 5

Lưu ý trước khi bắt đầu

• SQL người Việt hay đọc là S-Q-L

• SQL là một tập các câu lệnh.

• SQL chuyên để truy vấn thông tin Nó có

dữ liệu trong CSDL quan hệ

• SQL phải chạy thông qua một server

(engine), chứ không thể độc lập như ngôn

ngữ lập trình

Trang 6

Một môi trường sử dụng SQL điển hình

Trang 7

Các ngôn ngữ giao tiếp với CSDL

• Ngôn ngữ mô tả dữ liệu (Data Definition

Language - DDL): tạo các đối tượng trong CSDL

quan hệ

– Alter Database/Table/View

– Create Database/Index/Rule/Schema/Table/View

– Drop Database/Index/Rule/Schema/Table/View

• Ngôn ngữ thao tác dữ liệu (Data Manipulation

Language - DML): lấy và cập nhật thông tin

trong CSDL.

– Select/Update/Insert/Delete/Truncate Table– Begin/Save/ Transaction / Close / Commit / Rollback– Begin Distributed Tracsaction…

Trang 8

• Ngôn ngữ điều khiển dữ liệu (Data Control

Language - DCL)

– Điều khiển quyền hạn

• Deny ; Grant ; Revoke

– Dự phòng và phục hồi

• Backup/Dump ; Load/Restore

– Các vấn đề khác

• Go ; Kill ; Use ; ShutDown ; Reconfigure ;…

Các ngôn ngữ giao tiếp với CSDL (tt)

− Lập trình và Điều khiển luồng

▪ Create/Alter/Drop Procedure/Trigger/Function

▪ Begin … End ; If … else ; Print ; RaisError

▪ Declare/Set @localvariable; Declare/Set … Cursor

▪ Break/Continue/Return/Goto/Fetch/Waitfor…

− Lập trình và Điều khiển luồng

▪ Create/Alter/Drop Procedure/Trigger/Function

▪ Begin … End ; If … else ; Print ; RaisError

▪ Declare/Set @localvariable; Declare/Set … Cursor

Trang 9

DDL,DML,DCL, và qui trình phát triển CSDL

Trang 10

Sơ lược lịch sử phát triển

• Trong những năm 1975-1976, IBM lần đầu tiên đưa ra

hệ quản trị CSDL kiểu quan hệ mang tên SYSTEM-R với

ngôn ngữ giao tiếp CSDL là SEQUEL (Structured

English QUEry Language), đó một ngôn ngữ con để

thao tác với CSDL

• Năm 1976 ngôn ngữ SEQUEL được cải tiến thành

SEQUEL2

• Những năm 1978-1979 SEQUEL2 được cải tiến và đổi

tên thành Structured Query Language - SQL và cuối

năm 1979 hệ quản trị CSDL được cải tiến thành

SYSTEM-R*.

Trang 11

Sơ lược lịch sử phát triển

• 1986 Viện Tiêu Chuẩn Quốc Gia Mỹ (American

National Standards Institute - ANSI) đã công nhận và

chuẩn hóa ngôn ngữ SQL, và sau đó Tổ chức Tiêu

chuẩn Thế giới (International Standards Organization

-ISO) cũng đã công nhận ngôn ngữ này

• SQL standards:

– SQL-86 (about 100 pages);

– SQL-89 (about 120 pages);

– SQL-92 (about 600 pages) – aka SQL2;

– SQL-99 (about 2200 pages) – aka SQL3;

– SQL4 (probable future standard)

Trang 12

Các ngôn ngữ SQL mở rộng

• SQL là ngôn ngữ được chuẩn hóa mở

– Oracle mở rộng SQL bằng PL/SQL (và Java)– Access mở rộng SQL bằng Visual Basic

– SQL Server mở rộng SQL bằng Transact-SQL (T-SQL)

• PL/SQL là phần mở rộng ngôn ngữ thủ tục độc

quyền của tập đoàn Oracle Kết hợp khả năng

tính toán của SQL với khả năng xữ lý dữ liệu của

ngôn ngữ lập trình thủ tục

• Transact-SQL: Microsoft bổ sung, mở rộng SQL

thêm một số từ khóa điều khiển luồng

(flow-control) để đáp ứng cho nhu cầu viết

Stored-Procedure và Trigger

Trang 13

Thỏa thuận một số qui ước

về cú pháp

• Các từ khóa (KeyWords), các hàm (Functions), tên

bảng (quan hệ - Table Names) của các câu lệnh được

viết bằng chữ in hoa (UPPERCASE).

• Các tên thuộc tính (Column Names) của các bảng

được viết đậm Những tên thuộc tính có dấu tiếng Việt

hay có khoảng trắng được viết trong dấu ngoặc vuông

( [ ] ) theo ký pháp của SQL-Server

• Các biến cú pháp (Syntax Variables), các thành phần

ngôn ngữ mà người sử dụng phải điền cụ thể vào khi

viết lệnh, sẽ được viết bằng chữ thường (lowercase),

trong cặp dấu ( < > ) và nghiêng

Trang 14

• Thành phần bắt buộc phải chọn trong danh sách được

viết trong cặp dấu móc đậm nét ({ }).

• Giá trị mặc định (Default Value) được viết với dấu gạch

chân (Underline).

• Lệnh SQL có thể được viết trên nhiều dòng và kết thúc

lệnh bởi dấu chấm phảy Tuy nhiên từ khóa, tên hàm,

tên thuộc tính, tên bảng, tên đối tượng (Objects) thì

không được phép viết tách xuống hàng *

về cú pháp

Trang 15

Viết các câu lệnh SQL

• Kết thúc câu lệnh

– Dùng dấu chấm phẩy (;) để kết thúc một câu lệnh SQL.Nếu chỉ có một câu lệnh thì không cần dùng dấu chấm phẩy

– SQL Server không bắt buộc phải dùng dấu (;) phân cách giữa các câu lệnh

• Chú thích

– Chú thích một khối (trên nhiều dòng liên tiếp) thì đóng nội dung chú thích bằng /* và */

– Chú thích phần ở cuối dòng thì dùng 2 dấu gạch ngang liên tục –

Trang 16

SQL Database Definition

• Data Definition Language (DDL)

– Các lệnh CREATE chính:

• CREATE DATABASE – định nghĩa một CSDL

• CREATE SCHEMA – định nghĩa một phần của CSDL được sở hữu bởi một người nào đó

• CREATE TABLE – định nghĩa bảng và các cột của nó

• CREATE VIEW – định nghĩa một bảng luận lý từ một hay nhiều view

– Các lệnh CREATE khác: CHARACTER SET,

COLLATION, TRANSLATION, ASSERTION, DOMAIN

Trang 17

Các kiểu dữ liệu dùng trong T-SQL

– VARCHAR(n) – chuỗi ký tự có độ dài thay đổi được

nhưng tối đa là n ký tự (n từ 1 đến 8000)

– NVARCHAR(n) – chuỗi ký tự Unicode có độ dài thay

đổi được nhưng tối đa là n ký tự (n từ 1 đến 4000)

– TEXT – chuỗi ký tự có độ dài thay đổi được Kích

thước có thể lên đến 2.147.438.647 byte

– NTEXT – chuỗi ký tự Unicode có độ dài thay đổi

Trang 18

• Kiểu số

– DEC(p,s) hoặc NUMERIC(p,s) – số thập phân có p ký số và

s ký số phía sau dấu phân cách thập phân (p từ 1 tới 38) Dec(p) Ù Dec(p,0) Dec Ù Dec (18,0)

– TINYINT – số nguyên 1 byte không dấu (từ 0 đến 255)

– SMALLINT – số nguyên 2 byte (từ -32768 đến 32.767)

– INT hoặc INTEGER – số nguyên 4 byte

– BIGINT – số nguyên 8 byte (kiễu dữ liệu mới)

– FLOAT(p) – số chấm động p là số lượng bite trong phần

định trị (p từ 1 tới 53) Nếu không chỉ định p thì Ù p=53

p từ 1 đến 24 -> 4 byte p từ 25 đến 53 -> 8 byte

– REAL Ù FLOAT(24)

– DOUBLE PRECISION Ù FLOAT

Trang 19

Các kiểu dữ liệu dùng trong T-SQL

• Kiểu ngày/thời gian

– SMALLDATETIME - ngày và giờ có độ dài 4 byte

Trang 20

• Các kiểu dữ liệu về Bit, Binary và Image

– BIT – 1 bit Chỉ nhận giá trị 0 hoặc 1

– BINARY(n) – một dãy nhị phân cố định chiều dài (n từ 1 tớ

• Các kiểu dữ liệu mới trong SQL Server 2000

– BigInt – số nguyên 8 byte

– SQL_Variant – Có thể được dùng để lưu tất cả các kiểu dữ

liệu khác

– Table – ứng dụng có thể lưu kết quả tạm thời ra một bảng

Trang 21

Tạo Cơ sở Dữ liệu

CREATE DATABASE <Tên CSDL>

[ ON PRIMARY

( NAME = <Tên tham chiếu file>

FILENAME = <Đường dẫn + *.mdf>

SIZE = <+Number> KB|MB|GB|TBMAXSIZE = Unlimited | <+Number> KB|MB|GB|TB FILEGROWTH = <+Number> KB|MB|GB|TB ),

Ngày đăng: 17/09/2018, 14:06

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w