Xem mẫu

  1. Chương 9 Views & Lập trình trong SQL 1
  2. 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
  3. Views (virtual tables) trong SQL • Cú pháp tạo view: CREATE VIEW view_name [(column[ ,...n ])] AS select_statement [ WITH CHECK OPTION ] Ví dụ: CREATE VIEW WORKS_ON1 AS SELECT FNAME, LNAME, PNAME, HOURS FROM EMPLOYEE, PROJECT, WORKS_ON WHERE SSN=ESSN AND PNO=PNUMBER;
  4. 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;
  5. 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;
  6. 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
  7. 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
  8. 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
  9. 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
  10. Biến • Biến cục bộ (Local variable) – Cú pháp khai báo: DECLARE@ VariableName var_type – Ví dụ: DECLARE @EmpIDVar int
  11. 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 WHERE customerid = ‘adsff’
  12. Biến – Ví dụ 2: DECLARE @temp_city varchar(10) SET @temp_city = ‘london’ SELECT * FROM Customers WHERE city = @temp_city
  13. Biến – Ví dụ 3: DECLARE @temp_CustID Char(5), @temp_name varchar(50) SET @temp_CustID = ‘ALFKI’ SELECT @temp_name = CompanyName FROM Customers Where CustomerID = @temp_CustID PRINT ‘CustomerID is ‘ + @temp_CustID + ‘ and Name is ‘+ @temp_name
  14. 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 @@.
  15. Biến • Một số biến toàn cục thông dụng – @@SERVERNAME: trả về tên của server – @@ROWCOUNT: số dòng chịu tác dụng của câu lệnh cuối cùng. – @@ERROR: trả về chỉ số index của lỗi – @@IDENTITY: trả về định danh .
  16. Biến Ví dụ: Update Employees set LastName = ‘Brooke’ Where LastName =‘Brook’ If(@@rowcount =0) begin print ‘No rows were updated’ return end
  17. Cách thực 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)
  18. 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 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.
  19. Cách thực thi câu lệnh SQL Ví dụ: go use master if exists(select * from sysdatabases where name like 'sales') drop database sales go create database sales on ( name = sales_data, filename ='e:\sales_data.mdf', size = 1, maxsize = 5, filegrowth =1) log on ( name = sales_log, filename ='e:\sales_log.ldf', size = 1, maxsize = 2, filegrowth =1)
  20. Cách thực thi 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)
nguon tai.lieu . vn