Bài giảng Học phần Hệ quản trị cơ sở dữ liệu

 Tổng quan vềSQL Server.  Các đối tượng trong cơsởdữliệu.  Lập trình với cơsởdữliệu.  Store Procedure (thủtục).  Trigger & Function.

pdf97 trang | Chia sẻ: lylyngoc | Lượt xem: 1596 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài giảng Học phần Hệ quản trị cơ sở dữ liệu, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1HỆ QUẢN TRỊ CSDL ThS. Nguyễn Thị Thúy Loan Nguyễn Thị Thúy Loan 2/12/2011Trang 2 Cách đánh giá  Thực hành: 30%  Bài tập: 20%  Lý thuyết: 50% Tài liệu tham khảo [1]. Bài giảng của Giảng viên khoa Công nghệ Thông tin. [2]. Giáo trình SQL Server 200, Nguyễn Thiên Bằng chủ biên, NXB Lao động – xã hội. [3]. Lập trình SQL căn bản, Đoàn Thiện Ngân chủ biên, NXB Lao động – xã hội. [4]. Lập trình ứng dụng chuyên nghiệp SQL – Server 2000, Phạm Hữu Khang chủ biên, NXB Lao động – xã hội [5]. and-Computer-Science/index.htm/ Nguyễn Thị Thúy Loan 2/12/2011Trang 4 Nội dung  Tổng quan về SQL Server.  Các đối tượng trong cơ sở dữ liệu.  Lập trình với cơ sở dữ liệu.  Store Procedure (thủ tục).  Trigger & Function.  Backup anh restore 2TỔNG QUAN VỀ SQL SERVER Chương I ThS. Nguyễn Thị Thúy Loan Nguyễn Thị Thúy Loan 2/12/2011Trang 6 NỘI DUNG  SQL Server là gì?  Lịch sử phát triển.  Mô hình Client/ Server  Các thành phần của SQL Server. SQL Server là gì? Nguyễn Thị Thúy Loan 2/12/2011Trang 8 SQL Server là gì? Phần mềm quản trị dữ liệu đáng tin cậy, có tính mở cao.  Dễ dàng xây dựng một CSDL quan hệ lớn.  Giải quyết tình trạng va chạm giữa các user khi cùng truy xuất một dữ liệu tại cùng một thời điểm.  Bảo đảm các RBTV trên CSDL.  Bảo vệ an toàn dữ liệu.  Truy vấn dữ liệu nhanh. 3Nguyễn Thị Thúy Loan 2/12/2011Trang 9 SQL Server là gì?  Hệ quản trị CSDL theo mô hình Client/ Server có thể dễ dàng phát triển trên mô hình phân tán.  Được truy cập qua hai con đường chính. o Query Analyzer. o Enterprise Manager. Nguyễn Thị Thúy Loan 2/12/2011Trang 10 Các dịch vụ của SQL Server  MSSQL Server: Xử lý các câu lệnh giao tác gởi từ client và server.  SQL Server Agent: o Jobs: Các công việc có thể được lên kế hoạch để thực thi tại một thời điểm chỉ định trước hay thực thi theo các khoảng thời gian chu trình. o Alerts: đưa ra các sự kiện xảy ra như: lỗi hay khi một CSDL đạt tới một giới hạn vì bộ nhớ trống sẵn không còn đủ nữa. Nguyễn Thị Thúy Loan 2/12/2011Trang 11 Các dịch vụ của SQL Server  Microsoft Distributed Transaction Coordinator: Điều phối các giao tác phân tán, quản lý các giao tác, có trách nhiệm điều phối các giao tác của CSDL trên nhiều server. Nguyễn Thị Thúy Loan 2/12/2011Trang 12 NỘI DUNG  SQL Server là gì?  Lịch sử phát triển.  Mô hình Client/ Server  Các thành phần của SQL Server. 4Nguyễn Thị Thúy Loan 2/12/2011Trang 13 Lịch sử phát triển  1970 IBM đưa ra ngôn ngữ truy vấn SEQUEL (Structured English Query Language)  1975 IBM và Microsoft hợp tác xây dựng HĐH OS/2 dựa theo hệ điều hành MS DOS của Microsoft. Ngày 16/12/1987 HĐH OS/2 phiên bản 1.0 đã được chính thức phát hành. Nguyễn Thị Thúy Loan 2/12/2011Trang 14 Lịch sử phát triển  Nhưng sau đó IBM đưa ra phiên bản mới của OS/2 gọi là OS/2 mở rộng, HĐH này sẽ mạnh hơn OS/2 phiên bản 1.0 bởi vì nó sẽ tích hợp thêm một phần CSDL SQL của IBM (ngày nay chính là HQTCSDL DB2)  Microsoft hợp tác Sybase làm ra sản phẩm thuộc loại HQTCSDL Ashton-Tate vào năm 1988 phát triển trên môi trường OS/2. Nguyễn Thị Thúy Loan 2/12/2011Trang 15 Lịch sử phát triển  Sau đó Sybase đã phát triển sản phẩm trên môi trường UNIX và đổi tên riêng là DataServer mà ngày nay có tên khác là Sybase Adaptive Server  Microsoft quyết định không phát triển HĐH OS/2 mà thay vào đó cho ra đời một HĐH mạng máy tính có tên là NT Server và thế là SQL Server chỉ hoạt động độc lập trên môi trường Windows NT Server mà thôi. Nguyễn Thị Thúy Loan 2/12/2011Trang 16 NỘI DUNG  SQL Server là gì?  Lịch sử phát triển.  Mô hình Client/ Server  Các thành phần của SQL Server. 5Nguyễn Thị Thúy Loan 2/12/2011Trang 17 Mô hình Client/Server  Vì sao phát triển trên mô hình Client/Server o Giảm chi phí o Tốc độ nhanh o Tương thích cao  Mô hình Client/Sever: là kiến trúc gồm 2 thành phần máy Client và máy Server, 2 thành phần này liên lạc với nhau thông qua hệ thống mạng Nguyễn Thị Thúy Loan 2/12/2011Trang 18 Mô hình Client/Server Sử dụng giao tiếp lập trình ứng dụng để truy xuất dữ liệu (API- Application Programming Interfece) Thư viện mạng client sử dụng 1 phương thức liên lạc bên trong mạng để giao tiếp với thư viện mạng của server Thư viện mạng của server nhận gói dữ liệu và trao chúng cho các dịch vụ mở dữ liệu Nguyễn Thị Thúy Loan 2/12/2011Trang 19 Mô hình Client/Server Nhánh máy trạm (client)  Đọc và hiển thị dữ liệu hiện có bên trong CSDL, tính toán dữ liệu đang hiển thị trên màn hình ứng dụng, in dữ liệu ra các kết xuất  Các ngôn ngữ sử dụng bên máy khách thường là: C++, C#, VB, Delphi…  Các ứng dụng khi xây dựng bên nhánh máy trạm nên tránh việc đọc tòan bộ dữ liệu của bảng mà chỉ lấy đúng các thông tin cần thiết khi xử lý. Nguyễn Thị Thúy Loan 2/12/2011Trang 20 Mô hình Client/Server Nhánh máy chủ (server)  Các xử lý đảm bảo việc truy cập của các người dùng trên mạng là bảo mật.  Các xử lý liên quan đến việc thực hiện hoặc cập nhật dữ liệu đồng thời cùng lúc giữa những người dùng hiện hành trên mạng.  Các xử lý sao lưu dữ liệu (backup data) tự động để đảm bảo các dữ liệu không bị mất trong trường hợp có các sự cố xấu nhất tình cờ xảy ra. 6Nguyễn Thị Thúy Loan 2/12/2011Trang 21 NỘI DUNG  SQL Server là gì?  Lịch sử phát triển.  Mô hình Client/ Server.  Các thành phần của SQL Server. Nguyễn Thị Thúy Loan 2/12/2011Trang 22  Client network Utility: công cụ dùng để thiết lập, tham khảo các cấu hình mạng: giao thức truyền cho client, các đường dẫn tham khảo đến thư viện. Các thành phần SQL Server Nguyễn Thị Thúy Loan 2/12/2011Trang 23  Enterprise Manager (EM): là màn hình dùng để quản trị SQL Server. EM cung cấp cho người quản trị chức năng để quản lý SQL bằng giao diện đồ hoạ o Quản trị các database o Tạo database và các thành phần bên trong database o Đăng ký làm việc với SQL Server khác. Các thành phần SQL Server Nguyễn Thị Thúy Loan 2/12/2011Trang 24  Import and Export Data: công cụ hỗ trợ cho phép dễ dàng thực hiện việc chuyển dữ liệu từ ngoài vào SQL Server và SQL Server ra  Query Analyzer: là công cụ cung cấp bởi SQL Server, là trình soạn thảo và thực thi câu lệnh SQL hay Stored Procedure. Các thành phần SQL Server 7Nguyễn Thị Thúy Loan 2/12/2011Trang 25 Các thành phần SQL Server  Server Network Utility: công cụ dùng để thiết lập các cấu hình cho server và hiển thị các thông tin đường dẫn tham chiếu thư viện làm việc  Server Manager: dùng để khởi động, tạm dừng, hoặc kết thúc các phục vụ của SQL Server. CÁC ĐỐI TƯỢNG TRONG CƠ SỞ DỮ LIỆU Chương II ThS. Nguyễn Thị Thúy Loan Nguyễn Thị Thúy Loan 2/12/2011Trang 27 NỘI DUNG  Cơ sở dữ liệu của SQL Server  Bảng (Table)  Bảng ảo (View)  Mô hình quan hệ dữ liệu  Kiểu dữ liệu do người dùng định nghĩa  Quy tắc kiểm tra miền giá trị dữ liệu (rule)  Giá trị mặc định. Nguyễn Thị Thúy Loan 2/12/2011Trang 28 Cơ sở dữ liệu của SQL Server 8Nguyễn Thị Thúy Loan 2/12/2011Trang 29 Cơ sở dữ liệu của SQL Server Nguyễn Thị Thúy Loan 2/12/2011Trang 30 Cơ sở dữ liệu của SQL Server Khi cài SQL Server xong, hệ thống sẽ tự động tạo một vài CSDL mặc định:  Master  Model  Tempdb  Pubs  Northwind  Msdb Xem các CSDL trong Query Analyzer:SP_helpdb Nguyễn Thị Thúy Loan 2/12/2011Trang 31 Các tập tin vật lý lưu trữ DL  Hai tập tin vật lý để lưu trữ dữ liệu: o Lưu trữ dữ liệu (data file) o Lưu trữ các giao tác mà người dùng đã thực hiện (transaction log file)  Các tập tin CSDL trong SQL Server được chia thành 3 loại tập tin. Nguyễn Thị Thúy Loan 2/12/2011Trang 32 Các tập tin vật lý lưu trữ DL 9Nguyễn Thị Thúy Loan 2/12/2011Trang 33 Các tập tin vật lý lưu trữ DL  Tập tin dữ liệu chính (Primary Data File). Phần mở rộng của tập tin này là *.mdf  Tập tin thứ yếu (Secondary Data Files) (không bắt buộc phải có khi tạo mới CSDL). Phần mở rộng của tập tin này là *.ndf  Tập tin lưu trữ (Log Files). Phần mở rộng là *.ldf Nguyễn Thị Thúy Loan 2/12/2011Trang 34 Tạo mới cơ sở dữ liệu Các thuộc tính CSDL trong SQL Server  Tên CSDL (Database name): dài tối đa 128 ký tự, duy nhất trong SQL Server  Vị trí tập tin (File location): Thông thường tập tin này sẽ được lưu tại C:\Program Files\Microsoft SQL Server\MSSQL\ Data  Tên tập tin (File name): là tên luận lý của mỗi loại tập tin dữ liệu tương ứng mà hệ thống SQL Server dùng để quản lý bên trong. Nguyễn Thị Thúy Loan 2/12/2011Trang 35 Tạo mới cơ sở dữ liệu  Kích thước ban đầu (Initial size): là kích thước khởi tạo của tập tin dữ liệu khi CSDL mới được tạo lập.  Tăng kích thước tập tin dữ liệu (File growth)  Kích thước tối đa tập tin dữ liệu (Maximun file size) Nguyễn Thị Thúy Loan 2/12/2011Trang 36 Tạo mới cơ sở dữ liệu  Ví dụ: tạo CSDL có tên QLBH với kích thước ban đầu là 50 MB, tự động tăng kích thước lên 10% khi dữ liệu đầy, kích thước tăng trưởng tập tin tối đa không quá 200MB. Và tập tin lưu vết với kích thước ban đầu lúc khởi tạo là 10MB, tự động tăng kích thước tập tin lên 5 MB khi dữ liệu bị đầy, kích thước tăng trưởng tập tin không giới hạn. 10 Nguyễn Thị Thúy Loan 2/12/2011Trang 37 Tạo mới cơ sở dữ liệu  Cách 1: tạo trong Query Analyzer CREATE DATABASE QLBH ON PRIMARY (NAME = QLBH, FILENAME= ‘C:\Program Files\Microsoft SQL Server\MSSQL.3\MSSQL\Data\ QLBH.mdf’, SIZE=50MB, MAXSIZE = 200MB, FILEGROWTH = 10%) LOG ON(NAME = QLBH_Log, FILENAME= ‘C:\Program Files\Microsoft SQL Server\MSSQL.3\MSSQL\Data\ QLBH_Log.ldf', SIZE=10MB, MAXSIZE = UNLIMITED, FILEGROWTH = 5MB) Nguyễn Thị Thúy Loan 2/12/2011Trang 38 Tạo mới cơ sở dữ liệu  Cách 2: tạo trong Enterprise Manager Nguyễn Thị Thúy Loan 2/12/2011Trang 39 Tạo mới cơ sở dữ liệu Tên CSDL Click Nguyễn Thị Thúy Loan 2/12/2011Trang 40 NỘI DUNG  Cơ sở dữ liệu của SQL Server  Bảng (Table)  Bảng ảo (View)  Mô hình quan hệ dữ liệu  Kiểu dữ liệu do người dùng định nghĩa  Quy tắc kiểm tra miền giá trị dữ liệu (rule)  Giá trị mặc định. 11 Nguyễn Thị Thúy Loan 2/12/2011Trang 41 Bảng (Tables) Dùng để lưu trữ các thông tin dữ liệu của những đối tượng, thực thể trong thế giới thực vào máy tính.  Tên bảng (table name): dài tối đa 128 ký tự  Tên cột (column name)  Kiểu dữ liệu (Data type): quy định kiểu dữ liệu mà cột sẽ lưu trữ bên trong bảng. Nguyễn Thị Thúy Loan 2/12/2011Trang 42 Bảng (Kiểu dữ liệu) Kiểu dữ liệu Kích thước Miền giá trị dữ liệu lưu trữ Số nguyên Int 4 bytes Từ -2,147,483,648 đến +2,147,483,648 Smallint 2 bytes Từ -32,768 đến + 32,767 Tinyint 1 byte Từ 0 đến 255 Bit 1 byte 0,1 hoặc Null Các kiểu dữ liệu dạng số thập phân Decimal, Numeric 17 byte Từ -10^38 đến +10^38 Các kiểu dữ liệu dạng số thực Float 8 bytes Từ -1.79E + 308 đến +1.79E + 308 Real 4 bytes Từ -1.79E + 308 đến +1.79E + 308 Bảng (Kiểu dữ liệu) Kiểu dữ liệu Kích thước Miền giá trị dữ liệu lưu trữ Các kiểu dữ liệu dạng chuỗi Char N bytes Từ 1 đến 8,000 ký tự, độ dài cố định Varchar N bytes Từ 1 đến 8,000 ký tự, độ dài biến đổi Text N bytes Từ 1 đến 2,147,483,647 ký tự Nchar 2* n bytes Unicode, từ 1 đến 4,000 ký tự, mỗi ký tự 2 bytes Nvarchar 2* n bytes Từ -10^38 đến +10^38 Ntext 2* n bytes từ 1 đến 1,073,741,823 ký tự, mỗi ký tự 1 byte Các kiểu dữ liệu dạng ngày giờ datetime 8 bytes Từ 01/01/1753 đến 31/12/9999 smalldatetime 4 bytes Từ 01/01/1900 đến 06/06/2079 Các kiểu dữ liệu dạng chuỗi nhị phân Image N byte Từ 1 đến 2,147,483,647 bytes Binary N byte Từ 1 đến 8,000 Nguyễn Thị Thúy Loan 2/12/2011Trang 44 Tạo cấu trúc bảng dữ liệu  Tạo cấu trúc bảng đơn giản CREATE TABLE ( : [NOT NULL], : [NOT NULL], …………… : [NOT NULL]) 12 Nguyễn Thị Thúy Loan 2/12/2011Trang 45 Tạo cấu trúc bảng dữ liệu Ví dụ: CREATE TABLE LOP( Malop char(6) NOT NULL, TenLop varchar(20) NOT NULL, SiSo smallInt NOT NULL) Nguyễn Thị Thúy Loan 2/12/2011Trang 46 Tạo cấu trúc bảng dữ liệu  Tạo cấu trúc bảng có giá trị mặc định CREATE TABLE ( : Default gia_trị|hàm, : [NOT NULL], …………… : [NOT NULL]) Nguyễn Thị Thúy Loan 2/12/2011Trang 47 Tạo cấu trúc bảng dữ liệu Ví dụ: CREATE TABLE LOP( Malop char(6) NOT NULL, TenLop varchar(20) NOT NULL, SiSo smallInt Default 0) Nguyễn Thị Thúy Loan 2/12/2011Trang 48 Tạo cấu trúc bảng dữ liệu  Tạo cấu trúc bảng có cột định danh CREATE TABLE ( : Identity [(số_bắt_đầu,chỉ_số_tăng)], : [NOT NULL], …………… : [NOT NULL]) 13 Nguyễn Thị Thúy Loan 2/12/2011Trang 49 Tạo cấu trúc bảng dữ liệu Ví dụ: CREATE TABLE LOP( Malop int Identity(1000,5), TenLop varchar(20) NOT NULL, SiSo smallInt NOT NULL) Nguyễn Thị Thúy Loan 2/12/2011Trang 50 Tạo cấu trúc bảng dữ liệu Enterprise Manager  Right-click Tables/ chọn New Table… Nguyễn Thị Thúy Loan 2/12/2011Trang 51 Tạo cấu trúc bảng dữ liệu  Tạo các cột. Tên column Kiểu DL Nguyễn Thị Thúy Loan 2/12/2011Trang 52 Tạo cấu trúc bảng dữ liệu  Đặt tên bảng 14 Nguyễn Thị Thúy Loan 2/12/2011Trang 53 Thay đổi cấu trúc bảng Query Analyzer  Thêm một cột mới vào bảng ALTER TABLE Tên_bảng ADD Tên_cột kiểu_dữ_liệu Ví dụ: ALTER TABLE LOP ADD Nien_khoa int Nguyễn Thị Thúy Loan 2/12/2011Trang 54 Thay đổi cấu trúc bảng Query Analyzer  Hủy bỏ cột hiện có bên trong bảng ALTER TABLE Tên_bảng DROP COLUMN Tên_cột Ví dụ: ALTER TABLE LOP DROP COLUMN Nien_khoa Nguyễn Thị Thúy Loan 2/12/2011Trang 55 Thay đổi cấu trúc bảng Query Analyzer  Sửa đổi kiểu dữ liệu của cột ALTER TABLE Tên_bảng alter column Tên_cột Ví dụ: ALTER TABLE LOP ALTER COLUMN Nien_khoa char(9) Nguyễn Thị Thúy Loan 2/12/2011Trang 56 Thay đổi cấu trúc bảng  Đổi tên cột, tên bảng dữ liệu EXEC sp_rename ‘Tên_bảng[.tên_cột]’, ‘Tên_mới’ [, ‘COLUMN’] Ví dụ 1: đổi tên cột Nien_khoa thành khoa_hoc trong bảng LOP EXEC sp_rename ‘LOP.nien_khoa’, ‘khoa_hoc’, ‘COLUMN’ Ví dụ 2: thay đổi tên LOP thành LOPHOC EXEC sp_rename ‘LOP’, ‘LOPHOC’ 15 Nguyễn Thị Thúy Loan 2/12/2011Trang 57 Tính toàn vẹn trong cơ sở DL  Ràng buộc toàn vẹn (RBTV) dữ liệu thực sự là việc đặc ra các quy tắc trong một cơ sở dữ liệu nhằm kiểm tra các giá trị của dữ liệu trước khi lưu trữ phải đảm bảo tính chính xác và hợp lý bên trong một cơ sở dữ liệu. Nguyễn Thị Thúy Loan 2/12/2011Trang 58 Tính toàn vẹn trong cơ sở DL Các Phương Pháp Ðảm Bảo Data Integrity  Data Type  Not Null Definitions  Default Definitions  Identity Properties  Constraints  Rules  Triggers  Indexes Nguyễn Thị Thúy Loan 2/12/2011Trang 59 Cách tạo các ràng buộc  Primary Key Constraint CREATE TABLE LOP (MaLop INT PRIMARY KEY, TenLop VARCHAR(30)) Hay CREATE TABLE LOP (MaLop INT, TenLop VARCHAR(30), CONSTRAINT MaLop_pk PRIMARY KEY (MaLop)) Nguyễn Thị Thúy Loan 2/12/2011Trang 60 Cách tạo các ràng buộc  Primary Key Constraint ALTER TABLE ADD CONSTRAINT PRIMARY KEY(thuộc tính khóa chính) Ví dụ: ALTER TABLE HOCVIEN ADD CONSTRAINT MaHV_pk PRIMARY KEY(MaHV) Chú ý: khi thêm khóa chính thì cột MaHV trong bảng HOCVIEN buộc phải khác NULL 16 Nguyễn Thị Thúy Loan 2/12/2011Trang 61 Add Primary Key Enterprise Manager  Right-click column of interest  Set Primary Key Nguyễn Thị Thúy Loan 2/12/2011Trang 62 Cách tạo các ràng buộc Unique Constraint  Cách tạo ra Unique Constraint cũng tương tự như Primary Key Constraint chỉ việc thay chữ Primary Key thành Unique.  Chỉ có một Primary Key Constraint trong một table trong khi ta có thể có nhiều Unique Constraint trên một table. Nguyễn Thị Thúy Loan 2/12/2011Trang 63 Cách tạo các ràng buộc  Foreign Key Constraint CREATE TABLE LOP (MaLop INT PRIMARY KEY, MaKh INT REFERENCES Khoa (MaKH)) Hay CREATE TABLE LOP (MaLop INT PRIMARY KEY, MaKh INT, CONSTRAINT MaKh_fk FOREIGN KEY (MaKh) REFERENCES Khoa(MaKh)) Nguyễn Thị Thúy Loan 2/12/2011Trang 64 Cách tạo các ràng buộc  Foreign Key Constraint ALTER TABLE ADD CONSTRAINT FOREIGN KEY(các cột khóa ngoại) REFERENCES <tên bảng> (các cột khóa chính) Ví dụ: ALTER TABLE LOP ADD CONSTRAINT Makh_fk FOREIGN KEY(MaKh) REFERENCES Khoa (MaKh) 17 Nguyễn Thị Thúy Loan 2/12/2011Trang 65 Cách tạo các ràng buộc  Check Constraint (ràng buộc miền giá trị) CREATE TABLE LOP (MaLop INT PRIMARY KEY, TenLop VARCHAR(30), Siso INT CHECK (Siso BETWEEN 1 AND 100)) Nguyễn Thị Thúy Loan 2/12/2011Trang 66 Cách tạo các ràng buộc  Check Constraint (ràng buộc miền giá trị) CREATE TABLE LOP (MaLop INT PRIMARY KEY, TenLop VARCHAR(30), Siso INT, CONSTRAINT Siso_Ck CHECK (Siso BETWEEN 1 AND 100)) Nguyễn Thị Thúy Loan 2/12/2011Trang 67 Cách tạo các ràng buộc  Check Constraint (ràng buộc miền giá trị) Alter table add constraint check Ví dụ: Alter table Lop add constraint Siso_Ck check (Siso between 1 and 100) Nguyễn Thị Thúy Loan 2/12/2011Trang 68 Cách tạo các ràng buộc  Check Constraint (ràng buộc miền giá trị) Alter table KhachHang Add constraint DT_Ck check (DT like ‘[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]’) Alter table SanPham Add constraint GiaBan_Ck check (GiaBan >0) 18 Nguyễn Thị Thúy Loan 2/12/2011Trang 69 NỘI DUNG  Cơ sở dữ liệu của SQL Server  Bảng (Table)  Bảng ảo (View)  Mô hình quan hệ dữ liệu  Kiểu dữ liệu do người dùng định nghĩa  Quy tắc kiểm tra miền giá trị dữ liệu (rule)  Giá trị mặc định. Nguyễn Thị Thúy Loan 2/12/2011Trang 70 Khung nhìn (View)  Đối tượng bên trong nó chỉ lưu trữ duy nhất một câu lệnh SELECT  Bảng ảo không hoàn toàn lưu trữ dữ liệu một cách riêng rẽ. Nguyễn Thị Thúy Loan 2/12/2011Trang 71 Khung nhìn (View)  Cú pháp: CREATE VIEW [(tên_các_cột)] [WITH ENCRYPTION] //mã hóa câu lệnh AS Câu lệnh SELECT [WITH CHECK OPTION]// ngăn cản các thao tác cập nhật dữ liệu (thêm, sửa) tác động trực tiếp vào bảng ảo không thỏa điều kiện trong mệnh đềWHERE. Nguyễn Thị Thúy Loan 2/12/2011Trang 72 Khung nhìn (View)  Một số từ khoá chuẩn không được dùng trong VIEW: ORDER BY COMPUTE (thống kê dữ liệu cuối cùng) COMPUTE BY (thống kê dữ liệu theo từng nhóm) SELECT INTO 19 Nguyễn Thị Thúy Loan 2/12/2011Trang 73 Khung nhìn (View)  Ví dụ: CREATE VIEW KQ_DAU AS select kq.masv,tensv,mamh,diem from sv,kq where diem>7 and kq.masv=sv.masv  Xem kết quả của View Select * from Nguyễn Thị Thúy Loan 2/12/2011Trang 74 Khung nhìn (View) Tạo bằng Enterprise Manager  Bước 1: Nguyễn Thị Thúy Loan 2/12/2011Trang 75 Khung nhìn (View) Tạo bằng Enterprise Manager  Bước 2: Chọn các bảng Khung nhìn (View)  Bước 3: lần lượt chọn các cột như trong màn hình thiết kế 20 Nguyễn Thị Thúy Loan 2/12/2011Trang 77 NỘI DUNG  Cơ sở dữ liệu của SQL Server  Bảng (Table)  Bảng ảo (View)  Mô hình quan hệ dữ liệu  Kiểu dữ liệu do người dùng định nghĩa  Quy tắc kiểm tra miền giá trị dữ liệu (rule)  Giá trị mặc định. Nguyễn Thị Thúy Loan 2/12/2011Trang 78 Mô hình dữ liệu quan hệ  Tạo các ràng buộc khóa ngoại một cách trực quan hơn.  Tạo mô hình quan hệ o Bước 1: Nguyễn Thị Thúy Loan 2/12/2011Trang 79 Mô hình dữ liệu quan hệ o Bước 2: Nguyễn Thị Thúy Loan 2/12/2011Trang 80 Mô hình dữ liệu quan hệ o Bước 3: 21 Nguyễn Thị Thúy Loan 2/12/2011Trang 81 NỘI DUNG  Cơ sở dữ liệu của SQL Server  Bảng (Table)  Bảng ảo (View)  Mô hình quan hệ dữ liệu  Kiểu dữ liệu do người dùng định nghĩa  Quy tắc kiểm tra miền giá trị dữ liệu (rule)  Giá trị mặc định. Nguyễn Thị Thúy Loan 2/12/2011Trang 82 KDL do người dùng định nghĩa  Mục đích đảm bảo cho cấu trúc dữ liệu bên trong CSDL được nhất quán và dễ sửa đổi.  Cú pháp: EXEC sp_addtype Tên_kiểu_dl_mới, ‘kiểu_dữ_liệu_cơ_sở’ [,NULL| NOT NULL] Nguyễn Thị Thúy Loan 2/12/2011Trang 83 KDL do người dùng định nghĩa  Ví dụ: exec sp_addtype dn_sl, ‘float’, ‘not null’ exec sp_addtype slg, ‘int’  Khi tạo lập cấu trúc bảng KQ chúng ta có thể sử dụng: CREATE TABLE KQ (MaSV nchar(10), MaMH nchar(10), Diem dn_sl) Nguyễn Thị Thúy Loan 2/12/2011T