bài giảng hệ quản trị cơ sở dữ liệu- chương 9: views và lập trình trong SQL - ths. nguyễn minh vi

97 873 1
bài giảng hệ quản trị cơ sở dữ liệu- chương 9: views và lập trình trong SQL - ths. nguyễn minh vi

Đ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

Chương 9 Views & Lập trình trong SQL 1 Views (virtual tables) trong SQL • View: là một bảng đơn được tạo ra từ các bảng cơ sở hoặc từ các view được tạo trước – View không tồn tại vật lý vì vậy view còn gọi là bảng ảo. – Đơn giản hoá việc truy cập dữ liệu – Chọn dữ liệu cần thiết ứng với mổi user, đảm bảo an toàn dữ liệu – Dùng để Import và export – View là một đối tượng của CSDL Views (virtual tables) trong SQL • Cú pháp tạo view: Ví dụ: CREATE VIEW view_name [(column[ , n ])] AS select_statement [ WITH CHECK OPTION ] CREATE VIEW WORKS_ON1 AS SELECT FNAME, LNAME, PNAME, HOURS FROM EMPLOYEE, PROJECT, WORKS_ON WHERE SSN=ESSN AND PNO=PNUMBER; Views (virtual tables) trong SQL Ví dụ: CREATE VIEW DEPTJNFO (DEPT_NAME,NO_OF_EMPS,TOTAL_SAL) AS SELECT DNAME, COUNT (*), SUM (SALARY) FROM DEPARTMENT, EMPLOYEE WHERE DNUMBER=DNO GROUP BY DNAME; Views (virtual tables) trong SQL Ví dụ: CREATE TABLE WORKS_ON_NEW AS SELECT FNAME, LNAME, PNAME, HOURS FROM EMPLOYEE, PROJECT, WORKS_ON WHERE SSN=ESSN AND PNO=PNUMBER GROUP BY PNAME; Views (virtual tables) trong SQL • Câu lệnh select trong view không được chứa: – Mệnh đề ORDER BY – Mệnh đề COMPUTE VÀ COMPUTE BY – Các bảng tạm không được tham chiếu trong view không dùng select Into trong view – Các trigger và chỉ mục không được tạo ra trên view 6 Views (virtual tables) trong SQL • DELETE VIEW: DROP VIEW view_name • RENAME Views: sp_rename old_viewname, new_viewname • CHECK VIEW: sp_helptext viewname • MODIFY VIEW : ALTER VIEW view_name (column_list) AS select_statement Lập trình trong SQL • Lập trình CSDL: Giao tiếp với chương trình ứng dụng – Chương trình bao gồm: Biến (variable), câu lệnh SQL và cấu trúc điều khiển. • Các khái niệm cơ bản: – Định danh (Identifiers) – Batch (tập các câu lệnh T-SQL liên tiếp kết thúc bằng lệnh GO) – Script Lập trình trong SQL • Kiểu dữ liệu: Có 2 loại – Kiểu dữ liệu của hệ thống (System - supplied data type) – Kiểu dữ liệu do người dùng định nghĩa (User- defined data type) • Reference to object: Server.database.owner.object Biến • Biến cục bộ (Local variable) – Cú pháp khai báo: – Ví dụ: DECLARE @EmpIDVar int DECLARE@ VariableName var_type [...]... câu lệnh SQL • Transact -SQL Scripts: – Script là một tập các câu lệnh T -SQL được lưu trữ trong một file với một hoặc nhiều batchs • Transactions: là một đơn vị công vi c với 4 đặc điểm sau: – Atomic (nguyên tố) – Consistent (nhất quán) – Isolated (cô lập) – Durable (bền) Cách thực thi câu lệnh SQL • Cấu trúc của Transaction: BEGIN TRANSACTION [] [WITH MARK ]… …... lệnh SQL gửi đến server và được thực thi tại cùng một thời điểm – Nếu một câu lệnh trong batch bị lỗi thì SQL server sẽ không thực thi tất cả những câu lệnh trong batches – Mỗi batch không thể chứa tất cả những câu lệnh sau: CREATE PROCEDURE, CREATE TRIGGER, CREATE VIEW, CREATE RULE, CREATE DEFAULT Cách thực thi câu lệnh SQL Ví dụ: go use master if exists(select * from sysdatabases where name like 'sales')... thi câu lệnh SQL • Cú pháp: EXEC [USE] ({@string_variable| [ N ] 'tsql_string'} [+ n ] ) Example: DECLARE @vname varchar(20), @table varchar(20), @vdbase varchar(20) SET @vname="'White'" SET @table='authors' SET @vdbase='pub' EXECUTE ('USE'+@vdbase + 'SELECT * FROM '+ @ vtable + 'WHERE au_lastname=‘+@vname) Cách thực thi câu lệnh SQL • Batches: là một tập các câu lệnh SQL gửi đến server và được thực... ]… … [SAVE TRANSACTION ]… … ROLLBACK TRANSACTION [ | ] COMMIT TRANSACTION Cách thực thi câu lệnh SQL Ví dụ: BEGIN TRAN UPDATE authors SET city=‘San Jose’ Where au_lname=‘smith’ INSERT titles VALUES(‘BU1122’,’Teach Yourself SQL ,’business’, ‘9988’, $35.00, $1000,10,4501,’a great book’)... titleauthor COMMIT TRAN Cách thực thi câu lệnh SQL • Ví dụ: BEGIN TRAN DELETE Sales where titles_id =‘BU1032’ if @@ERROR >0 ROLLBACK TRAN (huỷ hoàn toàn giao tác) else COMMIT TRAN Cấu trúc điều khiển • IF … ELSE IF boolean_expression {sql_ statement | statement_block} [ELSE boolean_expression {sql_ statement | statement_block}] Cấu trúc điều khiển • BEGIN …END BEGIN {sql_ statement | statement_ block} END Cấu... Where CustomerID = @temp_CustID PRINT ‘CustomerID is ‘ + @temp_CustID + ‘ and Name is ‘+ @temp_name Biến • Biến toàn cục (Global Variables): là một hàm hệ thống – Giá trị trả về của hàm được hiển thị bởi câu lệnh SELECT @@Variablename – Không gán giá trị cho biến toàn cục – Biến toàn cục không có kiểu – Tên biến được bắt đầu với @@ Biến • Một số biến toàn cục thông dụng – @@SERVERNAME: trả về tên của...Biến – Gán giá trị cho biến: Khi một biến được khai báo thì giá trị của nó là Null SET @VariableName = expression or SELECT{@VariableName=expression} [,…n] – Ví dụ 1: DECLARE @temp_name varchar(20) SELECT @temp_name = companyname FROM customers... SELECT au_lname, au_fname, au_id FROM authors WHERE contract=0 END ELSE BEGIN PRINT 'All authors have contracts on file.' END Cấu trúc điều khiển • WHILE WHILE boolean_expression {sql_ statement | statement_block} [BREAK] {sql_ statement | statement_block} [CONTINUE] Cấu trúc điều khiển Ví dụ 1: DECLARE @counter INT SET @counter=0 WHILE (@counter . Chương 9 Views & Lập trình trong SQL 1 Views (virtual tables) trong SQL • View: là một bảng đơn được tạo ra từ các bảng cơ sở hoặc từ các view được tạo trước – View không. trong view – Các trigger và chỉ mục không được tạo ra trên view 6 Views (virtual tables) trong SQL • DELETE VIEW: DROP VIEW view_name • RENAME Views: sp_rename old_viewname, new_viewname. vật lý vì vậy view còn gọi là bảng ảo. – Đơn giản hoá vi c truy cập dữ liệu – Chọn dữ liệu cần thiết ứng với mổi user, đảm bảo an toàn dữ liệu – Dùng để Import và export – View là một đối

Ngày đăng: 02/07/2014, 17:44

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan