bài giảng truy vấn cơ sở dữ liệu Session 02

36 354 0
bài giảng truy vấn cơ sở dữ liệu Session 02

Đ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 Lập trình T-SQL Ôn tập Thiết kế CSDL: n Định nghĩa thiết kế CSDL n Sự cần thiết thiết kế CSDL n Cơ thiết kế CSDL n Sơ đồ quan hệ thực thể, chuẩn hóa từ điển liệu Database Design and Implementation with SQL Server / Session /2 of 36 Mục đích học n n n n n Nắm vững khái niệm lô (batch) xử lý theo lô Viết câu lệnh SQL điều khiển đăng nhập thể logic ứng dụng Định nghĩa gán giá trị cho biến Viết lệnh SQL dùng hàm SQL Sử dụng hàm SQL truy vấn Database Design and Implementation with SQL Server / Session /3 of 36 Giới thiệu xử lý theo lô (SQL Batch Processing) Các lệnh SQL riêng rẽ Được nhóm lại thành lô (batch) Lô (Batch) Được biên dịch thành kế hoạch thực thi Database Design and Implementation with SQL Server / Session /4 of 36 Định nghĩa Quá trình tập lệnh xử lý lúc gọi Database Design and Implementation with SQL Server / Session /5 of 36 Ví dụ lô (batch) Use Pubs Select * from authors Update authors set phone= '890 451-7366‘ where au_lname= 'White' Go Lệnh báo hiệu kết thúc lô Database Design and Implementation with SQL Server / Session /6 of 36 Chú thích lô xử lý n n n n n Các chuỗi ký tự mã lệnh chương trình (còn gọi thích) không xử lý trình biên dịch Dùng để giải thích cho mã lệnh hay vô hiệu hóa tạm thời thành phần câu lệnh T-SQL xử lý Giúp việc bảo trì mã lệnh dễ dàng Chú thích thường sử dụng để ghi lại tên chương trình, tên tác giả ngày tháng thực thay đổi mã lệnh Chú thích dùng để mô tả phép tính toán phức tạp hay giải thích phương pháp lập trình Database Design and Implementation with SQL Server / Session /7 of 36 Các hình thức thích SQL Server hỗ trợ hai hình thức thích: 1) (hai ghạch ngang) Ví dụ: USE Northwind GO Đây thích 2) /* */ (cặp dấu ghạch chéo dấu sao) Ví dụ: SELECT * FROM Employees /*Đây thích*/ Database Design and Implementation with SQL Server / Session /8 of 36 Chú thích nhiều dòng n n n Chú thích nhiều dòng /* */ vượt lô Một thích hoàn chỉnh phải nằm lô xử lý Ví dụ, công cụ Query Analyzer, lệnh GO báo hiệu kết thúc lô Khi gặp lệnh GO dòng lệnh gửi tất mã lệnh sau từ khóa GO cuối lên máy chủ SQL lô xử lý Nếu lệnh GO xuất dòng /* */ Query Analyzer gửi đoạn thích có ký tự đánh dấu sai lô gây lỗi cú pháp Database Design and Implementation with SQL Server / Session /9 of 36 Các lệnh điều khiển Database Design and Implementation with SQL Server / Session /10 of 36 Gán giá trị cho biến Từ khóa SET hay SELECT dùng để gán giá trị cho biến Cú pháp: SET @local_variable name = value OR SELECT @local_variable name = value Ví dụ, để gán giá trị cho biến khai báo bên ta dùng SET @CUST=’FRANK’ SELECT CUSTOMERID,COMPANYNAME FROM CUSTOMERS WHERE CUSTOMERID = @CUST Database Design and Implementation with SQL Server / Session /22 of 36 Các loại biến SQL Server hỗ trợ hai loại biến sau TSQL: Database Design and Implementation with SQL Server / Session /23 of 36 Các biến toàn cục Biến toàn cục SQL Server bắt đầu ký tự @ Ta truy xuất giá trị biến truy vấn SELECT đơn giản Database Design and Implementation with SQL Server / Session /24 of 36 Danh sách biến toàn cục Các biến @@CONNECTIONS @@CPU_BUSY @@CURSOR_ROWS @@DATEFIRST @@ERROR @@FETCH_STATUS Ý nghĩa Số kết nối đên máy chủ từ lần khởi động cuối Số milliseconds (một phần ngìn giây) hệ thống xử lý từ SQL Server khởi động Số ghi cursor mở gần Giá trị tham số lệnh SET DATEFIRSTquyết định ngày tuần Mã lỗi lỗi xảy gần trạng thái lần truy xuất cuối thành công -1 có lỗi Database Design and Implementation with SQL Server / Session /25 of 36 Danh sách biến toàn cục(tiếp…) Các biến @@IDENTITY @@LANGUAGE @@MAX_CONNECTIONS @@ROWCOUNT @@SERVERNAME @@SERVICENAME @@TIMETICKS @@TRANSCOUNT @@VERSION Ý nghĩa Giá trị identity gần sinh Tên ngôn ngữ sử dụng Số kết nối tối đa Số ghi bị tác động câu lệnh SQL gần Tên máy chủ Tên dịch vụ SQL máy chủ Số milliseconds tick máy chủ Số giao dịch hoạt động kết nối Thông tin phiên SQL Server Database Design and Implementation with SQL Server / Session /26 of 36 Định nghĩa gán giá trị cho biến cục Database Design and Implementation with SQL Server / Session /27 of 36 Hàm Database Design and Implementation with SQL Server / Session /28 of 36 Các hàm chuyển đổi Hàm chuyển đổi dùng để chuyển giá trị từ kiểu liệu sang kiểu liệu khác Ngoài dùng để định dạng ngày tháng SQL Server cung cấp cho ta hàm chuyển đổi CONVERT() Cú pháp: CONVERT(datatype[(length)], expression [,style]) Ví dụ: SELECT ‘EMP ID:’ + CONVERT (CHAR(4), EMPLOYEEID FROM EMPLOYEES Database Design and Implementation with SQL Server / Session /29 of 36 Date Parts DatePart Hour Minute Second Millisecond Day of year Day Từ viết tắt hh Mi Ss Ms Dy Dd Giá trị 0-23 0-59 0-59 0-999 1-366 1-31 Database Design and Implementation with SQL Server / Session /30 of 36 Date Parts (tiếp…) Datepart Từ viết tắt Giá trị Week Weekday Month Quarter Year wk dw mm qq yy 1-53 1-7 1-12 1-4 1753-9999 Database Design and Implementation with SQL Server / Session /31 of 36 Các hàm ngày tháng số học Các hàm ngày tháng Các hàm số học GETDATE() DATEADD(datepart,number,date) DATEDIFF(datepart,date1,date2) DATENAME(datepart,date) DATEPART(datepart,date) ABS(num_expr) CEILING(num_expr) FLOOR(num_expr) POWER(num_expr,y) ROUND(num_expr,length) Sign(num_expr) Sqrt(float_expr) Database Design and Implementation with SQL Server / Session /32 of 36 Các hàm hệ thống Hàm DB_ID([‘database_name’]) DB_NAME([database_id]) HOST_ID() HOST_NAME() ISNULL(expr,value) OBJECT_ID(‘obj_name’) OBJECT_NAME(object_id) SUSER_SID([‘login_name’]) SUSER_ID([‘login_name’]) SUSER_SNAME([server_user_id]) SUSER_NAME([server_user_id]) USER_ID([‘user_name’]) USER_NAME([user_id]) Database Design and Implementation with SQL Server / Session /33 of 36 Các hàm tập hợp Hàm Sum(col_name) Avg(col_name) Giá trị trả Trả giá trị tổng Trả giá trị trung bình COUNT(*) Hàm đếm ghi bảng thỏa mãn điều kiện Trả giá trị lớn tập giá trị Trả giá trị nhở tập hợp Max(col_name) Min(col_name) Database Design and Implementation with SQL Server / Session /34 of 36 Tóm tắt học n n n n n n n Lô xử lý la tập hợp câu lệnh SQL coi đơn vị coi đơn vị thực thi máy chủ Một thủ tục lưu trữ tập hợp câu lệnh T-SQL biên dịch thành kế hoạch thực thi Các thích đoạn chuỗi văn mã lệnh (hay gọi nhận xét) trình biên dịch bỏ qua Microsoft SQL Server hỗ trợ hai loại thích là: (chú thích dòng) /* */ (chú thích đoạn) Các lệnh điều khiển giúp ta thực thi xử lý điều kiện vòng lặp Biến đối tượng chứa liệu Chúng ta truyền liệu cho câu lệnh SQL dùng biến Database Design and Implementation with SQL Server / Session /35 of 36 Summary Contd… n n n SQL Server hỗ trợ hai loại biến T-SQL: biến toàn cục biến cục Các hàm dùng ta tính hoán hay thao tác liệu Hàm T-SQL chia thành loại: n n n Các hàm thao tác với tập ghi dùng thay cho tên bảng SQL Các hàm tập hợp tính toán cho kết giá trị đơn (ví dụ tính tổng hay trung bình) Các hàm vô hướng thao tác giá trị trả giá trị Các hàm dùng biểu thức Database Design and Implementation with SQL Server / Session /36 of 36 [...]... điều kiện và vòng lặp Biến là một đối tượng chứa dữ liệu Chúng ta có thể truy n dữ liệu cho các câu lệnh SQL dùng biến Database Design and Implementation with SQL Server / Session 2 /35 of 36 Summary Contd… n n n SQL Server hỗ trợ hai loại biến trong T-SQL: đó là biến toàn cục và biến cục bộ Các hàm có thể được dùng khi ta tính hoán hay thao tác dữ liệu Hàm trong T-SQL được chia thành 3 loại: n n n... Database Design and Implementation with SQL Server / Session 2 /26 of 36 Định nghĩa và gán giá trị cho biến cục bộ Database Design and Implementation with SQL Server / Session 2 /27 of 36 Hàm Database Design and Implementation with SQL Server / Session 2 /28 of 36 Các hàm chuyển đổi Hàm chuyển đổi được dùng để chuyển 1 giá trị từ một kiểu dữ liệu sang kiểu dữ liệu khác Ngoài ra nó còn được dùng để định dạng... hỗ trợ hai loại biến sau trong TSQL: Database Design and Implementation with SQL Server / Session 2 /23 of 36 Các biến toàn cục Biến toàn cục trong SQL Server bắt đầu bằng 2 ký tự @ Ta có thể truy xuất giá trị của các biến này bằng truy vấn SELECT đơn giản Database Design and Implementation with SQL Server / Session 2 /24 of 36 Danh sách các biến toàn cục Các biến @@CONNECTIONS @@CPU_BUSY @@CURSOR_ROWS... Server / Session 2 /33 of 36 Các hàm tập hợp Hàm Sum(col_name) Avg(col_name) Giá trị trả về Trả về giá trị tổng Trả về giá trị trung bình COUNT(*) Hàm đếm các bản ghi trong bảng thỏa mãn điều kiện Trả về giá trị lớn nhất trong một tập giá trị Trả về giá trị nhở nhất trong một tập hợp Max(col_name) Min(col_name) Database Design and Implementation with SQL Server / Session 2 /34 of 36 Tóm tắt bài học... Server / Session 2 /21 of 36 Gán giá trị cho biến Từ khóa SET hay SELECT được dùng để gán giá trị cho biến Cú pháp: SET @local_variable name = value OR SELECT @local_variable name = value Ví dụ, để gán giá trị cho biến được khai báo bên trên ta dùng SET @CUST=’FRANK’ SELECT CUSTOMERID,COMPANYNAME FROM CUSTOMERS WHERE CUSTOMERID = @CUST Database Design and Implementation with SQL Server / Session 2...Các lệnh điều khiển(tiếp ) Database Design and Implementation with SQL Server / Session 2 /11 of 36 BEGIN END BEGIN END : Một tập lệnh SQL được thực thi sẽ được đặt trong BEGIN END Cú pháp: BEGIN { lệnh | đoạn lệnh } END Database Design and Implementation with SQL Server / Session 2 /12 of 36 IF ELSE IF ELSE: Chúng ta có thể thực thi các tập lệnh SQL khác nhau dựa vào các điều... cursor mở gần nhất Giá trị hiện tại của tham số trong lệnh SET DATEFIRSTquyết định ngày đầu tiên của tuần Mã lỗi của lỗi xảy ra gần nhất 0 nếu trạng thái lần truy xuất cuối thành công -1 nếu có lỗi Database Design and Implementation with SQL Server / Session 2 /25 of 36 Danh sách các biến toàn cục(tiếp…) Các biến @@IDENTITY @@LANGUAGE @@MAX_CONNECTIONS @@ROWCOUNT @@SERVERNAME @@SERVICENAME @@TIMETICKS... pháp: IF biểu thức đúng sai { lệnh sql | tập lệnh } IF statement [ ELSE { lệnh sql| tập lệnh } ] TRUE FALSE Database Design and Implementation with SQL Server / Session 2 /13 of 36 Ví dụ về IF Database Design and Implementation with SQL Server / Session 2 /14 of 36 Cấu trúc WHILE WHILE: Chúng ta có thể thực thi một lệnh SQL hay một tập lệnh dựa vào điều kiện nào đó Các câu lệnh được thực thi nhiều lần... CONVERT (CHAR(4), EMPLOYEEID FROM EMPLOYEES Database Design and Implementation with SQL Server / Session 2 /29 of 36 Date Parts DatePart Hour Minute Second Millisecond Day of year Day Từ viết tắt hh Mi Ss Ms Dy Dd Giá trị 0-23 0-59 0-59 0-999 1-366 1-31 Database Design and Implementation with SQL Server / Session 2 /30 of 36 Date Parts (tiếp…) Datepart Từ viết tắt Giá trị Week Weekday Month Quarter Year... SQL Server / Session 2 /31 of 36 Các hàm ngày tháng và số học Các hàm ngày tháng Các hàm số học GETDATE() DATEADD(datepart,number,date) DATEDIFF(datepart,date1,date2) DATENAME(datepart,date) DATEPART(datepart,date) ABS(num_expr) CEILING(num_expr) FLOOR(num_expr) POWER(num_expr,y) ROUND(num_expr,length) Sign(num_expr) Sqrt(float_expr) Database Design and Implementation with SQL Server / Session 2 /32 ... / Session /9 of 36 Các lệnh điều khiển Database Design and Implementation with SQL Server / Session /10 of 36 Các lệnh điều khiển(tiếp ) Database Design and Implementation with SQL Server / Session. .. Server / Session /26 of 36 Định nghĩa gán giá trị cho biến cục Database Design and Implementation with SQL Server / Session /27 of 36 Hàm Database Design and Implementation with SQL Server / Session. .. FALSE Database Design and Implementation with SQL Server / Session /13 of 36 Ví dụ IF Database Design and Implementation with SQL Server / Session /14 of 36 Cấu trúc WHILE WHILE: Chúng ta thực thi

Ngày đăng: 11/01/2016, 16:58

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

  • Đang cập nhật ...

Tài liệu liên quan