1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ngôn ngữ SQL.DOC

11 828 5
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Ngôn Ngữ SQL
Trường học Trường Đại Học
Chuyên ngành Công Nghệ Thông Tin
Thể loại Bài Tiểu Luận
Năm xuất bản 2023
Thành phố San Jose
Định dạng
Số trang 11
Dung lượng 112 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Ngôn ngữ SQL

Trang 1

1.1 Vài nét về lịch sử

SQL ra đời vào năm 1970 tại phòng thí nghiệm của IBM,san jose, California

Là một ngôn ngư phi thủ tục – declarative, non procedural language

Các câu lệnh mô tả yêu cầu cần làm gì - WHAT chứ không cần nêu từng bước tiến hành làm như thế nào – HOW

Thực chất không không chỉ có Query Language còn thực hiện nhiều chức năng khác như bổ xung thêm dữ liệu, sửa đổi cập nhật thông tin, huỷ thông tin, huỷ thông tin, lien kết lưu trữ thông tin

1.2 Sử dụng SQL

Ngôn ngữ SQL được dùng trong ứng dụng CSDL theo mô hình Client – Server Các chương trình khách gửi yêu cầu truy vấn thông tin dưới dạng các câu lệnh SQL Chương trình chủ dịch vụ - Server CSDL - sẽ thực hiện yêu cầu và gửi lại kết quả cho chương trình khách

Ba kiểu tương tác với ứng dụng

- Modun: Các thủ tục làm sẵn thông qua các tham số, gọi và trả kết quả về

- Nhúng trực tiếp: Các câu lệnh SQL trong chương trình

- Gọi trực tiếp: Tương tác

Nhúng là hình thức làm việc tĩnh – Static: câu lệnh được biên dịch ra, không thay đổi được khi chạy

Hiện nay Dynamic SQL: cho phép chuẩn bị câu lệnh SQL trong khi chạy các thành phần của câu lệnh SQL được ghép nối lại trong thời gian chạy cho phép mức linh hoạt rất linh hoạt rất cao trong khai thác CSDL Giống như chuyển từ Compiler sang Interpreter

bộ kí tự của SQL

- Các chữ cái thường a – z , chữ cái hoa A – Z

- Các chư số 0 – 9

- Các kí tự khác: “ % & ‘ () * / + - , ; < >= ? _ và khoảng trống tên:

- Không phân biệt chư hoa chữ thường

- Không quá 128 ký tự

- Không trùng với các từ khoá, từ dành riêng, tên có tách riêng

- Bất kỳ sâu ký tự nào(không nhất thiết phải thuộc bộ kí tự của SQL, có trùng với từ khoá) đặt trong cặp dấu ngoặc kép và không quá 128 kí tự, kể cả cặp dấu ngoặc kép

2 Câu vấn tin SQL

Một câu lệnh SQL thường gọi là một Query Như trên đã nêu, Query không chỉ đơn giản

là hỏ – truy vấn thông tin từ CSDL để phục vụ người dùng

một SQL query có thể

- Tạo lập hay huỷ một bảng

- Thêm, xoá, cập nhật một dòng, một trường

- Tìm kiếm trong nhiều bảng có liên quan

- Thay đổi chế độ an toàn

trước hết ta tập trung vào chức năng hay sử dụng nhất của một SQL query là truy vấn thông tin

Vi dụ:

Cán bộ(MãCB: Xâu kí tự,Họvàtên : Xâu kí tự, Giớitính :Boolean, Nămsinh: Số

nguyên, lương: Số thực:.)

Xemáy(MãXM: Xâu kí tự, Màuxe: Xâu kí tự, Màuxe : Xâu kí tự,Giátiên: số thực)

Trang 2

SửDụng(MãCB: Xâu kí tự, MãXM: Xâu kí tự, Ngàybắtđầu: Ngày tháng, Ngàykếtthúc:

Ngày Tháng)

2.1 Cú pháp chung – câu lệnh SELECT

- Câu lệnh SQL không phân biệt chữ in hoa, viết thường (Nhưng kiểu dữ liệu Char = sâu kí tự thì có phân biệt)

- Dấu cách có thể là các khoảng trắng, dấu table, dấu xuống dòng

- Kết thúc câu lệnh có thể là: dấu chấm phẩy hoặc khoảng trắng tuỳ hệ thống

Ví dụ:

SELECT Họvaten, Ngaysinh

FROM CanBo_1

WHERE Luong = 400

2.2Các thành phần cơ bản

Các từ khoá + các biểu thức -> các điều khoản

các điều khoản tạo thành câu lệnh SQL

SELECT <danh sách tên cột> điều khoản Select

FROM <danh sách tên bảng> điều khoản From

WHERE <điều kiện tìm kiếm> điều khoản Where

+ Danh sách tên bảng

Các tên bảng cách nhau dấu phẩy Một tên bảng có thể kèm tên biến bảng (biến phạm vi) đại diện cho bảng đó Tên biến bảng đặc biệt có ích khi hai bảng có trung tên cột

+ Danh sách tên cột

Các tên cột cách nhau dấu phẩy

Thứ tự giống như đã liệt kê, có thể khác với thứ tự vố có trong bảng

Kí tự đại diện * = tất cả các cột theo thứ tự vốn có

+ Điều kiện tìm kiếm

Điều kiện tìm kiếm là một biểu thức logic một biểu thức điều kiện được dung với

từ khoá Where để tạo thành điều khoản Where, ấn định tiêu chuẩn tìm kiếm thông tin xuất ra Chỉ những dữ liệu thoả điều kiện đã nêu mới được đưa vào kết quả truy vấn

Biểu thức điều kiện trong điều khoản Where là liên kết bằng các phép toán logic

AND, OR, NOT có của các biểu thức so sánh dạng biểu thức op biểu thức

ở đây op là là một trong các phép toán <,<=,>,>=,=,<> còn biểu thức là biểu thức số học hay xâu kí tự với các toán hạng là các tên cột trong các bảng hoặc giá trị hằng

Có thể hình dung cách tính kết quả của câu lệnh Select như sau

1- Lấy tích đề các các bảng có trong điều khoản From

2- Xoá những dòng trong quan hệ tích không thoả điều kiện

3- Xoá những cột không có trong danh sách tên cột

4- Nếu có lựa chọn DISTINCT thì loại bỏ các dòng trùng nhau, chỉ giữ lại một

2.3 Từ khóa DISTINCT/ALL

DISTINCT = chỉ lấy những dòng khác nhau

Nghĩa là nếu có nhiều dòng giống nhau chỉ lấy một đại diện

ALL = tất cả các dòng, kể cả trùng nhau

Đây là mặc định, không cần gõ ALL

Trang 3

Cú pháp

Select DISTINCT <danh sách tên cột> …

Select ALL <danh sách tên cột>…………

Ví dụ:

SELECT DISTINCT Phongban

FROM CanBo_1

Vấn tin trên sẽ cho danh sách các phòng của cơ quan X

3.Biểu thức

Là một hợp các toán hạng và phép toán

Các phép toán bao gồm phép toán số học, phép toán xâu kí tự, phép so sánh

Biểu thức có kết quả là một số, xâu kí tự hay giá trị logic

Ví dụ:

Biểu thức số : (luong*1.05)

Biểu thức logic: (họvàtên Nguyễn văn A’,Lương <=500)

Biểu thức xâu: Họ và tên + điện thoại

Các biểu thức được sử dụng trong câu lệnh SQL:

- Trong điều khoản Select để kết xuất thông tin trực tiếp: Trong danh sách tên cột có thể dùng không chỉ các tên cột mà cả một biểu thức mà cả các toán hạng là các tên cột

- Làm điều kiện tìm kiếm trong điều khoản WHERE, HAVING…

Biểu thức số học

Toán tử số học: Cộng, nhân , trừ , chia, modulo(a%b hoặc mod(a,b))

Các biểu thức số học, biểu thức xâu có thể sử dụng trong điều khoản Select để kết xuất thông tin trực tiếp

Ví dụ: Giả sử mọi người đều được phụ cấp thêm 5% lương Có thể hiện thị mức thực lĩnh như sau:

Select hovaten, luong *1.05

From canbo_1

ALIAS – Tên hiệu

Trong các ví dụ trên tên cột sẽ được hiện thị là lương*1.05 hoặc giá bán buôn + 0,15 SELECT hovaten, luong*1.05 sothuclinh

FROM canbo_1

SELECT tenhang, giabanbuon+0,15 giabanle

FROM banggia

Các tên mới thực lĩnh, giá bán le gọi là ALIAS-ten hiệu, tên thay thế

Biểu thức xâu

Phép nối xâu

Toán tử || hoặc +

Dung để nối các xâu lại tạo thành xâu lớn hơn

Ví dụ:

SELECT HoDem || Ten Hovaten

FROM canbo

LIKE

Trang 4

Khi không biết thật chính xác một phần của xâu hoặc chỉ quan tâm đến mnột phần nào

đó của xâu có thể dùng LIKE với các ký tự đại diện %, _

Ký tự đại diện % thay cho một xâu con bất kỳ

Ký tự đại diện _ thay cho một ký tự bất kỳ

Toán tử logic

AND, OR, NOT

Các phép toán logic có thể dùng để xây dựng các biểu thức điều kiện phức tạp hơn trong điều khoản Where

Ví dụ:

SELECT *

FROM employee

WHERE phongban= “ kinh doanh”

OR phongban= “hanhchinh” Or phongban=” taivu”

Toán tử tập hợp

BEWEEN để xác định một đoạn con trong vùng giá trị có thể của một cột

IN để xác định một danh sách các giá trị có thể

Vi dụ:

SELECT column_name_1, column_name_n

FROM table_name_1, ,table_name_n

WHERE column_name IN(value_1, .,value_n)

Các hàm thao tác dữ liệu

Các câu lệnh SQL thông thường kết xuất dữ liệu lần lượt theo từng dòng của bảng

Các hàm xử lý nhóm Aggegate function – Xử lý dữ liệu toàn bộ các dòng của bảng hoặc một nhóm dòng thoả mãn điều kiện nào đó và cho ra chỉ một kết quả Đôi khi cũng gọi là hàm nhóm – GROUP FUNCTION

Dưới đay sẽ giới thiệu các hàm đó.,

COUNT: Đếm số dòng thảo mãn điều khoản WHERE

Ví dụ: Đếm số nhân viên của phòng kinh doanh

SELECT COUNT(*)

FROM canbo_1

WHERE phongban=”kinhdoanh”

ở đâu không có điều khoản WHERE thì sẽ đếm toàn bộ nhân viên

SUM: Tính tổng một cột

Cột phải là kiểu số

Bị lỗi nếu không phải kiểu số

Ví dụ:

SELECT SUM(luong)

FROM canbo_1

AVG: Tính trung bình cộng của cột

Cột phải là kiểu số

Bị lỗi nếu không phải kiểu số

Ví du:

SELECT AVG(luong)

Trang 5

FROM canbo_1

MAX: Cho giá trị cực đại trong cột

Có thể áp dụng cho một kiểu số và cả cột kiểu xâu tự

Vi dụ:

SELECT MAX(luong)

FROM canbo_1

MIN: Cho giá trị cực tiểu trong cột

Có thể áp dụng cho cột kiểu số và cả cột kiểu xâu ký tự

Ví du:

SELECT MIN(hovaten)

FROM canbo_1

Hàm VARIANCE:

Cho bình phương của độ lệch tiêu chuẩn

Chí áp dụng cho cột kiểu số

Ví dụ:

SELECT VARIANCE(luong)

FROM canbo_1

STDDEV: Độ lệch tiêu chuẩn – Standard Deviation

Chỉ áp dụng cho các cột kiểu số

Các hàm thời gian

SYSDATE: Thời gian hệ thống

Dùng để so sánh: tìm các công việc chưa bắt đầu, đã kết thúc

ADD_MONTHS:

Dịch lùi lại cộng thêm một số tháng từ một ngày cho trước

Ví dụ:

Giả sử có bảng dự án về quản lý dự án gồm các trường ngay bắt đầu ngày kết thúc Nếu có sự cố làm dự án chậm mất hai tháng để hiện thị các công việc còn chưa kết thúc được cần dùng hàm ADD_MONTH

SELECT congviec,ngaybatdau,ngayketthuc, ADD_MONTH

(ngayketthúc,2)

FROM duan

MONTH_BEWEEN: đếm số tháng giữa hai mốc ngày

Ví dụ:

SELECT congviec ngaybatdau, ngayketthúc,

MONTH_BEWEEN(ngaybatdau,ngayketthúc) thờigian

FROM duan

Các hàm số học

ABS giá trị tuyệt đối

CELL : Số trần- số nguyên nhỏ nhất hay bằng đối số

Trang 6

FLOOR: Số sàn - số nguyên bé nhất hay bằng đối số.

Và một số các hàm sử lý khác và các hàm xâu ký tự khác

XỬ LÝ TẬP KẾT QUẢ

Các phép toán tập hợp

Nêu hai câu lệnh SELECT trả về hai bảng kết quả cùng kiểu , nghĩa là có danh sách các cột giống nhau thì có thể dùng các phép toán tập hợp đối với hai tập kết quả đó

UNION: Hợp hai kết quả SELECT có loại bó trùng nhau

UNION ALL: Hợp hai kết quả SELECT , không loại bỏ trùng nhau

INTERSECT: Giao hai kết quả SELECT

EXCEPT: Hiệu hai kết quả

Điều khoản ORDER BY dùng để kết xuất thông tin theo thứ tự của một cột được chọn làm khoá xắp xếp

Có thể xắp theo nhiều, trước hết xắp theo cột thứ nhất trong danh sách khoá, sau đó trong từng nhóm cùng cột thứ nhất lại xắp theo cột thứ hai

Ví dụ:

SELECT *

FROM canbo_1

ORDER BY phongban,namsinh DESC

ASC: tăng dần ,là lựa chọn mặc định

DESC: giảm dần

Có thể thay tên cột bằng số thứ tự cột trong bảng

Điều khoản GROUP BY

Khác với ORDER BY là in ra mọi dòng sau đó không loại bỏ các giá trị trùng hợp, xử lý

cả nhóm dòng cùng giá trị như một đơn vị

SELECT phongban, COUNT(*) songuoi

FROM canbo_1

GROUP BY phongban

Điều khoản HAVING

WHERE không làm việc với điều khoản GROUP BY khi dùng các hàm xử lý như nhóm AVG, SUM., phải dùng HAVING

SELECT phongban, SUM(luong)

FROM canbo_1

GROUP BY phongban

HAVING SUM(luong)>

Có thể phối hợp nhiều điều khoản để thực hiện các truy vấn tin tuỳ ý thóat thoả mãn nhu cầu của người dùng

Ví dụ:

Có bảng chiséc (người nhận, số tiền) Câu lệnh sau sẽ xuất ra từng người nhận séc với

tổng số tiền và số lần nhận nhưng loại bỏ những người mà có tổng số tiền rất nhỏ(<=50) SELECT NgườiNhận,

Trang 7

SUM (SốTiền) Tổng,

COUT (NgườiNhận) SốLần

FROM ChiSéc

GROUP BY NgườiNhận

HAVING SUM (SốTiền) > 50

Truy vấn nhiều bảng

+ nối tự nhiên hai bảng – Join

SELECT *

FROM Bang_1, Bang_2

Đây là phép nối không có điều kiện gi điều khoản WHERE không có mặt kết quả sẽ xuất ra tích Đề các của hai bảng Bang_1 X Bang_2

nếu bảng 1 có m dòng, bảng 2 có n dòng thì kết quả sẽ gồm m*n dòng

+ Nối có điều kiện

Việc chuẩn hoá loại bỏ dư thừa dữ liệu làm cho bảng nhỏ hơn và cơ sở dữ liệu gồm nhiều bảng hơn Các câu vấn tin, trái lại cần tổng hợp dữ liệu từ nhiều bảng Điều khoản Where thể hiện mối liên kết giữa các bảng Rất thông thường, điều kiện liên kết các bảng là bằng nhau ở các cột chung Ta có phép nối tự nhiên

nhập dữ liệu trực tiếp từ câu lệnh.

Câu lệnh INSERT … VALUES

INSERT INTO tên bảng

(cột _ 1, cột_2,….)

Trong đó, danh sách cột cho biết các gía trị tương ứng được chèn vào cột nào, cột nào bị

bỏ qua…

Thành phần INTO có thể bỏ qua

Ví dụ:

INSERT INTO KhachHang

(HoVaTen, DienThoai)

VALUES (“ Pham Thanh Dung” , “520 – 555 – 1212”)

Nhập dữ liệu của bảng khác

Câu lệnh INSERT ….SELECT

INSERT INTO BảngNhận

(Cột_ 1, Cột_ 2,….)

SELECT c1, c2, …

FROM DanhSáchBảng

WHERE BiểuThưcĐiềuKiện

Một số hệ quản trị CSDL cho phép tạo bảng tạm bảng tạm sẽ tự động bị xoá khi kết nối kết thúc Ta đã biết rằng các câu lệnh truy vấn thông tin thường phải nối nhiều bảng Quá trình này mất thì giờ nếu có nhiều câu truy vấn khác nhau cần nối nhiều bảng thì viếc tạo bảng thì việc tạo bảng tạm thời một lần sẽ làm tốc độ xử lí

cập nhật dữ liệu – câu lệnh UPDATE

UPDATE TableName

SET col-1 = val_1, col_2 = val_2…

WHERE Condition

Ví dụ:

UPDATE CanBo

SET phongBan = ‘kinh doanh’, luong = 6000

Trang 8

WHERE HoVaTen = ‘Pham Quang B’

Xoá dữ liệu – câu lệnh DELETE

Có thể xoá nhiều một dòng, nhiều dòng, mọi dòng

Không thể xoá chỉ một vài cột

DELETE FROM TênBảng

WHERE Biểuthứcđiềukiện

+ Tạo lập và quản lí CSDL

Những khái niệm chung

Việc tạo lập CSDL phụ thuộc nhiều vào từng hệ quản trị CSDL cụ thể cần tham khảo kĩ tài liệu hướng dẫn dưới đây là một số khái niệm chính cần biết về hệ quản trị CSDL SQL Sever

Devies

Devices là tệp vật lí trên đĩa để lưu dữ liệu và tập nhật kí Nó phải được tạo lập trước khi tạo CSDL

Một database device là để chứa dữ liệu, dump device để lưu nhật kí giao tác

Có thể tạo device bằng công cụ quản trị với giao diện đồ hoạ Cũng có thể dùng dòng lệnh

Ví dụ:

DISK INIT

NAME = ‘logical_name’,

PHYSNAME = ‘physical_name’

VDEVNO = virtual_device_number,

SIZE = number_of_2k blocks

+ tạo lập bảng:

câu lệnh – CREAT TABLE

create table tênbảng

Têncột_1 Kiểudữliệu [ not NULL],

Têncột_2 Kiểudữliệu [ not NULL],

……

[ constraint….]

ở đây constraint là các ràng buộc toàn vẹn dữ liệu

Các tên trường, tên bảng phải theo đúng quy định

Ví dụ:

- Dài không quá 30 kí tự

- Không phân biệt chữ hoa chữ, thường

- Không trùng với từ khoá

- Kiểu dữ liệu, tuỳ quy định của từng hệ thống

Giá trị NULL

Null nghĩa là không chứa giá trị nào, khác với khoảng trắng, số không

Lựa chọn NOTNULL bắt buộc phải cung cấp giá trị cho cột đó mỗi khi thêm một bản ghi mới

Thêm cột, sửa đổi cột

Câu lệnh ALTER TABLE

Thêm cột

ALTER TABLE tênbảng

Trang 9

ADD têncột_1 KiểuDữLiệu,

Têncột_2 KiểuDữLiệu,

Sửa đổi bảng

ALTER TABLE TênBảng

MODIFY Têncột_1 KiểuDữLiệu,

Têncột_2 KiểuDữLiệu,…

[ constraint ]

Huỷ bảng và huỷ CSDL

+ Ràng buộc toàn vẹn dữ liệu

Các loại ràng buộc toàn vẹn dữ liệu

Một cơ sở dữ liệu chỉ hữu ích nếu dữ liệu lưu trong đó là phù hợp và đúng đắn

Ràng buộc toàn vẹn dữ liệu ngăn không cho phép nhập và lưu trữ các thông tin không phù hợp vào cơ sở dữ liệu một thể hiện cụ thể của cơ sở dữ liệu sẽ gọi là hợp lệ nếu thoả mãn tất cả các ràng buộc toàn vẹn dữ liệu đã thiết lập

Các ràng buộc toàn vẹn được thiết lập khi thiết lập các cơ sở dữ liệu và kiểm tra khi một ứng dụng cập nhật CSDL, không cho phép tạo ra một thể hiện không hợp lệ +Ràng buộc miền xác định

Mỗi trường thuộc tính chỉ có thể nhận gía trị trong một miền xác định Đây là những ràng buộc tự nhiên, ví dụ Ngày sinh phải là một giá trị ngày tháng

Ràng buộc này phải được thiết lập khi tạo bảng, bằng cách chỉ rõ miền xác định sau mỗi tên trường

Ví dụ:

CREATE TABLE Canbo(

MãCB : CHAR(20) HọVàTên : CHAR(32) GiớiTính : BOOLEAN

Nămsinh : INTEGER

Lương : REAL)

+ Ràng buộc liên quan đến nhiều bảng

Nếu ràng buộc phức tạp, điều kiện kiểm tra liên quan đến nhiều hơn một vấn bảng, thì nên tạo một điều khoản xác nhận – ASSERTION

CREATE ASSERTION tên điều khoản xác nhận CHECK biểu thức điều kiện

Giải pháp này sẽ hợp lý hơn viết trực tiếp điều kiện kiểm tra vào cấu lệnh vào bảng bởi vì

- Chọn kèm điều kiện kiểm tra vào bảng nào trong số các bảng có dính líu

- Hơn nữa quan trọng hơn, nếu bảng chứa điều kiện kiểm tra là rỗng thì điều kiện được coi là luôn đúng

Ràng buộc khoá

Trong mỗi quan hệ phải chỉ rõ một trường là khoá Ràng buộc chính đảm bảo rằng không thể có cùng giá trị trên khoá chính

Ràng buộc này được thiết lập khi tạo bảng, dùng từ khoá PRYMARY KEY cho khoá chính, UNIQUE cho các khoá dự bị kèm tên trường tương ứng

Ví dụ:

CREATE TABLE Canbo(

Trang 10

CONSTRAINT Khoachinh PRYMARY KEY (MaCB) CREATE TABLE Bandoc(

PRYMARY KEY (Mabandoc)

Ràng buộc với khoá ngoài

Khi hai quan hệ có mối liên hệ với nhau thì dữ liệu trong một quan hệ biến đổi sẽ kéo theo việc cập nhật dữ liệu trong quan hệ kia để đảm bảo tính tương thích một ràng buộc toàn vẹn dữ liệu liên quan đến hai quan hệ cần được thiết lập trong trường này Thông thường đây là ràng buộc với khoá ngoài

Ràng buộc khoá ngoài được thiết lập khi tạo bảng chứa khoá ngoài bằng từ khoá FOREIGN KEY kèm tên trường khoá ngoài và REFERENCES kèm tên bảng chứa khoá chính

Ví dụ:

CREATE TABLE mượn Trả(

… FOREIGN KEY (Mãbanđọc) REFERENCES Bạnđọc FOREIGN KEY (Mãsách) REFERENCES Khosách)

Đảm bảo toàn vẹn dữ liệu

Ràng buộc khoá chính được đảm bảo đơn giản bằng cách từ chối không cho phép thêm vào hay cập nhật một bộ có các giá trị trên trường khoá chính trùng với một bộ đã có trong quan hệ

Ràng buộc tham chiếu đối với khoá ngoài phải xử lý phức tạp hơn hệ quản trị không đơn giản từ chối các thao tác vi phạm ràng buộc tham chiếu

Khi thêm một bộ mà giá trị của trường khoá ngoài không có mặt trong quan hệ gốc : hệ quản trị từ chối

Khi xoá bỏ một bộ trong quan hệ được tham chiếu(quan hệ gốc), hệ quản trị có thể lựa chọn một trong 3 cách xử lý sau:

1, Xoá bỏ tất cả các bộ thuộc quan hệ tham chiếu mà giá trị của trường khoá ngoài trùng với giá trị khoá gốc đã bị xoá

2, Không cho phép xoá bỏ bộ này nếu còn các bộ trong quan hệ tham chiếu đang tham chiếu đến nó

3, Sửa đổi giá trị của trường khoá ngoài của các bộ tham chiếu đến bộ bị xoá thành một giá trị mặc định nào đó quy định trước

- Khi cập nhật lại trường khoá chính của một bộ trong quan hệ được tham chiếu: cũng có

3 lựa chọn tương tự như trên

An toàn dữ liệu – View và quyền thâm nhập

View

Khác với các bảng còn gọi là bảng cơ sở, được lưu trong tệp CSDL, View cũng là một bảng nhưng các dòng của nó được tính nhờ cấu lệnh SELECT trong định nghĩa View CREATE VIEW Canbotre

AS SELECT HovaTen, Gioitinh, namsinh

FROM Canbo WHERE Namsinh  1980 Một khi được tạo ra, có thể sử dụng View hoàn toàn giống như một bảng thông thường View được sử dụng để đảm bảo tính độc lập logic của dữ liệu Có thể thay đổi các bảng

cơ sở nhưng vẫn giữ nguyên View, nghĩa là các ứng dụng không cần phải sửa đổi lại

Ngày đăng: 21/08/2012, 16:18

TỪ KHÓA LIÊN QUAN

w