Giáo trình cơ sở dữ liệu phần 2 SQL server đh công nghiệp tp HCM

147 603 1
Giáo trình cơ sở dữ liệu   phần 2  SQL server   đh công nghiệp tp HCM

Đ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

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP/HCM TRUNG TÂM CÔNG NGHỆ THÔNG TIN -o0o- PHẦN SQL SERVER Giáo trình SQL Server2000 Trang MỤC LỤC BÀI 1: GIỚI THIỆU MICROSOFT SQL SERVER 2000 1.1 Tổng quan SQL Server 2000 1.2 Các thành phần SQL Server 2000 1.3 Kiến trúc CSDL quan hệ (relational Database Architecture) 1.4 Giới thiệu Transact-Sql 11 BÀI 2: CÀI ĐẶT SQL SERVER 2000 12 2.1 Lập kế hoạch cài đặt SQL SERVER 2000 .12 2.2 Quyết định chọn lựa cấu hình cài đặt SQL SERVER 2000 12 2.2.1 Xác định tài khoản người dùng (User account) thích hợp cho SQL Server Sevice SQL Server Agent Service 12 2.2.2 Chọn chế độ xác thực (Authentication Mode) 13 2.2.3 Xác định Collation .13 2.2.4 Chọn Network Libraries .13 2.2.5 Xác định client Licensing Mode 13 2.3 Các bước cài đặt SQL Server 2000 .13 2.4 Tạo tập tin cài đặt không tham dự (unattended) cài đặt từ xa (Remote) SQL Server 2000 20 2.5 Kết việc cài đặt SQL SERVER 2000 21 BÀI 3: CÁC CÔNG CỤ CỦA SQL SERVER 22 3.1 SQL ENTERPRISE MANAGER 22 3.2 SQL SERVER SERVICES MANAGER 22 3.2.1 Các dịch vụ SQL Server 23 3.2.2 Khởi động, tạm ngưng, dừng dịch vụ SQL Server 24 3.3 OSQL 24 3.4 SQL QUERY ANALYZER .25 3.4.1 Giới thiệu 25 3.4.2 Khởi động Query Analyzer 26 3.4.3 Thành phần Query Analyzer 26 3.4.4 Một vài phím nóng dùng Query Analyzer 28 BÀI 4: LÀM VIỆC VỚI CỞ SỞ DỮ LIỆU SQL SERVER 29 4.1 Thiết kế sở liệu 29 4.2 Cơ sở liệu SQL SERVER 2000 31 4.3 Tạo, hiệu chỉnh cở sở liệu SQL SERVER 34 4.3.1 Giới thiệu 34 4.3.2 Tạo sở liệu 34 4.3.3 Thao tác sở liệu SQL Server 37 BÀI 5: KIỂU DỮ LIỆU – LÀM VIỆC VỚI BẢNG 41 5.1 Kiểu liệu (data type) 41 5.1.1 System-Supplied Datatype 41 5.1.2 User-defined datatype .42 5.2 Làm việc với bảng SQL Server 43 5.2.1 Tạo bảng 43 5.2.2 Hiệu chỉnh bảng 45 5.2.3 Xóa bảng khỏi sở liệu .46 5.3 Bảng tạm (Temporary Tables) 46 BÀI 6: TOÀN VẸN DỮ LIỆU 48 6.1 Giới thiệu toàn vẹn liệu (data Integrity) 48 Trung Tâm CNTT - Trường ĐHCN Tp.HCM Giáo trình SQL Server2000 Trang 6.2 Tìm hiểu toàn vẹn liệu .48 6.2.1 Định nghĩa NULL/NOT NULL 48 6.2.2 Giá trị mặc định (Default Values) 49 6.2.3 Thuộc tính Identity: 52 6.2.4 Check 53 6.2.5 Primary key Constraint .54 6.2.6 Unique Constraints .57 6.2.7 Foreign Key Constraint 58 BÀI 7: TRUY XUẤT CƠ SỞ DỮ LIỆU CỦA SQL SERVER 61 7.1 Câu lệnh SELECT 61 7.2 Sử dụng JOINS để truy xuất liệu .66 7.3 Dùng Sub-Queries 68 7.4 Hiệu chỉnh liệu sở liệu SQL SERVER 69 7.4.1 Chèn (INSERT) liệu vào CSDL 69 7.4.2 Cập nhật (UPDATE) liệu vào CSDL 71 7.4.3 Xóa liệu sở liệu 71 BÀI 8: KHUNG NHÌN - VIEW 73 8.1 Giới thiệu View 73 8.2 Tạo, hiệu chỉnh, xóa View 73 8.3 Tạo Partition view 74 8.4 Truy xuất liệu thông qua View 75 8.4.1 Xem liệu thông qua view 75 8.4.2 Hiệu chỉnh liệu thông qua View 75 BÀI 9: CHUYỂN ĐỔI DỮ LIỆU 77 9.1 Khái niệm chuyển đổi biến đổi liệu 77 9.1.1 Import/Export liệu 77 9.1.2 Biến đổi liệu (Data Transformations) .77 9.1.3 Các công cụ chuyễn đổi liệu (Data transfer tools) 77 9.2 Dịch vụ chuyển đổi liệu DTS (Data Transformation Services - DTS) .78 9.2.1 DTS Package 78 9.2.2 DTS Connections 78 9.2.3 DTS Tasks .78 9.2.4 DTS Package Workflow .80 9.2.5 DTS Package Storage 80 9.3 Thực việc biến đổi chuyển đổi liệu công cụ đồ họa DTS 80 9.3.1 DTS Import/Export Wizard 80 9.3.2 DTS Designer .81 9.4 Dùng BULK COPY (BCP) BULK INSERT .88 BÀI 10: CƠ BẢN VỀ LẬP TRÌNH BẰNG TRANSACT- SQL 91 10.1 Khái niệm 91 10.1.1 Định danh -IDENTIFIERS 91 10.1.2 Tham chiếu đến đối tượng SQL Server 91 10.1.3 Kiểu liệu (DATA TYPE) 92 10.1.4 Batch 92 10.1.5 Kịch - SCRIPT 92 10.2 Biến (VARIABLES) .92 10.3 Cấu trúc điều khiển 97 10.3.1 Khối BEGIN … END 97 10.3.2 Phát biểu PRINT 97 10.3.3 Cấu trúc điều khiển IF … ELSE 97 Trung Tâm CNTT - Trường ĐHCN Tp.HCM Giáo trình SQL Server2000 Trang 10.3.4 Biểu thức CASE .99 10.3.5 Cấu trúc vòng lập WHILE … 100 10.3.6 Lệnh RETURN 101 10.3.7 Lệnh WAITFOR 101 10.3.8 Lệnh RAISERROR 101 BÀI 11: PROCEDURES, FUNCTIONS 104 11.1 STORED PROCEDURES 104 11.1.1 Giới thiệu Stored proccedures 104 11.1.2 Tạo, thực thi, hiệu chỉnh, xóa stored procedures 104 11.1.3 Tham số biến Stored procedures 106 11.2 FUNCTIONS 110 11.2.1 Scalar Functions 111 11.2.2 Table-valued Functons 111 BÀI 12: TRANSACTIONS – LOCK 114 12.1 TRANSACTIONS 114 12.2 LOCK .116 BÀI 13: SỬ DỤNG CURSORS ĐỂ TRUY XUẤT DỮ LIỆU 118 13.1 Khái niệm .118 13.2 Làm việc với T-SQL server cursors .119 13.3 Ví dụ 121 BÀI 14: BẨY LỖI - TRIGGER 123 14.1 Giới thiệu trigger 123 14.2 Tạo quản lý trigger 124 14.2.1 Tạo trigger 124 14.2.2 Quản lý trigger .125 14.3 Vài ví dụ trigger .125 BÀI 15: BẢO MẬT TRONG SQL SERVER 128 15.1 Khái niệm bảo mật 128 15.1.1 Mô hình truy cập bảo mật SQL Server 128 15.1.2 Các chế độ bảo mật 128 15.1.3 Tìm hiểu Server-Wide Permission .130 15.1.4 Tìm hiểu quyền (Permission) định cở sở liệu 131 15.1.5 Fixed Database Roles 132 15.2 Tạo tài khoản đăng nhập (Login) 133 15.2.1 Dùng Create Login Wizard 133 15.2.2 Dùng Enterprise Manager để tạo Login 137 15.2.3 Tạo Login T-SQL 141 Trung Tâm CNTT - Trường ĐHCN Tp.HCM Giáo trình SQL Server2000 Trang BÀI 1: GIỚI THIỆU MICROSOFT SQL SERVER 2000 1.1 Tổng quan SQL Server 2000 Microsoft SQL Server 2000 hệ quản trị sở liệu quan hệ (Relational database management system - RDBMS), cung cấp dịch vụ quản lý lưu trữ liệu cho tổ chức thương mại lớn, với việc truy xuất liệu hỗ trợ người dùng thông qua internet Nó hỗ trợ khả truy xuất cách dễ dàng tổ chức nhỏ người dùng riêng biệt SQL Server 2000 chấp nhận thực thi yêu cầu khách hàng (Client) việc hiệu chỉnh xoá liệu, lệnh tạo đối tượng sở liệu (database) bảng (Table) SQL Server cho phép người dùng truy xuất xếp liệu theo cách quan hệ, việc lưu trữ liệu cách hiệu theo dạng dòng cột Các lệnh người dùng gửi câu lệnh truy vấn giao tác (Transact-SQL) Transact-SQL (T-SQL) ngôn ngữ dùng SQL Server 2000 để truy vấn sở liệu hiệu chỉnh nội dung Một client từ chương trình ứng dụng người dùng gửi câu lệnh T-SQL (các truy vấn hiệu chỉnh) thông qua mạng đến SQL Server để xử lý Các chương trình ứng dụng mà gửi câu lệnh viết ngôn ngữ Visual Basic, Visual C++, Java Chương giúp bạn làm quen với Microsoft SQL Server thảo luận thành phần thiết kết Microsoft SQL Server phát triển cách nhảy vọt nhiều năm Phiên nhất, SQL Server 2000 hỗ trợ bật tính bảo mật, lưu trữ tính sẳn dùng liệu SQL Server 2000 tích hợp chặt chẽ với hệ điều hành Windows 2000, việc nâng cao bảo mật công cụ dựa giao diện đồ họa cung cấp SQL Server 2000 cho tác vụ quản trị trở nên dễ dàng Các câu lệnh T-SQL dùng để hiệu chỉnh truy xuất liệu chia thành ba nhóm khác nhau: - Ngôn ngữ định nghĩa liệu (Data Definition Language - DDL) dùng để định nghĩa đối tương sở liệu kiểu liệu, bảng truy vấn - Ngôn ngữ thao tác liệu (Data Manipulation Language -DML) dùng để chọn, chèn, cập nhật xóa liệu đối tượng CSDL - Ngôn ngữ điều khiển liệu (Data Control Language - DCL) dùng để gán hủy bỏ quyền từ người dùng CSDL SQL Server 2000 chạy hệ thống mạng Windows NT Windows 2000 Server cách dùng nhiều xử lý cài đặt hệ thống CSDL cá nhân (personal desktop) máy trạm Windows NT 4, Windows 2000 Professional, Windows 98, Windows Me Bạn dùng CD để cài đặt phiên Server SQL Server 2000 Personal SQL Server 2000 Ngoài bạn cài đặt nhiều thể (instance) SQL Server 2000 máy tính, thể có người chủ (owner) tập người dùng (user) Trung Tâm CNTT - Trường ĐHCN Tp.HCM Giáo trình SQL Server2000 Trang Cơ sở liệu (CSDL) - Databases Một CSDL database tương tự tập tin liệu, nơi để lưu trữ liệu Giống tập tin liệu, CSDL không trình bày thông tin cách trực tiếp đến người dùng; muốn xem liệu, người dùng phải chạy ứng dụng truy xuất liệu từ CSDL liệu trình bày dạng dễ hiểu thuận tiện Khi liệu lưu tập tin liệu phải có ứng dụng (được lập trình) để làm việc với cấu trúc đặc biệt tập tin liệu Ngược lại, CSDL chứa dựng catalog mà ứng dụng dùng để xác định liệu tổ chức Các ứng dụng CSDL loại dùng catalog để trình bày đến người dùng liệu từ CSDL khác cách linh động mà không bị phụ thuộc vào dạng mẫu đặc biệt Các hệ thống CSDL mạnh tức tập tin liệu tổ chức theo mức độ cao Một CSDL thiết kế tốt, trùng lắp thông tin người dùng ứng dụng cập nhật thời điểm Các mãnh thông tin liên quan kết nhóm với cấu trúc đơn mẫu tin mối quan hệ định nghĩa cấu trúc mẫu tin CSDL quan hệ (Relational Database) Mặc dù có nhiều cách khác để tổ chức liệu CSDL, CSDL quan hệ CSDL hiệu Các hệ thống CSDL quan hệ ứng dụng thuộc lý thuyết tập hợp toán học vấn đề tổ chức liệu cách hiệu Trong CSDL quan hệ, liệu thu thập vào bảng (table) Một bảng trình bày lớp đối tượng quan trọng tổ chức Mỗi bảng xây dựng thành cột dòng (được gọi thuộc tính lý thuyết quan hệ) Mỗi cột trình bày vài thuộc tính đối tượng thể bảng Ví dụ, bảng NHANVIEN có cột điển hình thuộc tính Họ, Tên, mã nhân viên, phòng ban, bậc lương, công việc … Mỗi dòng trình bày thể đối tượng thể bảng Ví dụ, dòng bảng NHANVIEN trình bày thông tin nhân viên có mã nhân viên 12345 Khi tổ chức liệu vào bảng, bạn có nhiều cách khác để định nghĩa bảng Lý thuyết CSDL quan hệ định nghĩa phương thực gọi dạng chuẩn (normalization) mà đảm bảo tập bảng mà bạn định nghĩa tổ chức liệu cách hiệu SQL Để làm việc với liệu CSDL, bạn phải dùng tập lệnh câu lệnh (một ngôn ngữ) hỗ trợ DBMS Bạn dùng vài ngôn ngữ khác với CSDL quan hệ; thông thường SQL Ngôn từ SQL hỗ trợ SQL Server gọi Transact-SQL, Transact-SQL ngôn ngữ dùng hệ quản trị CSDL SQL Server XML Extensible Markup Language (XML) ngôn ngữ lập trình siêu văn bản, dùng để mô tả nội dung của tập liệu cách liệu kết xuất thiết bị hiển thị trang Web SQL Server 2000 bắt đầu hỗ trợ cho XML Các đặc tính bao gồm: Khả truy xuất đến SQL Server thông qua URL Trung Tâm CNTT - Trường ĐHCN Tp.HCM Giáo trình SQL Server2000 Trang Hỗ trợ cho lượt đồ liệu XML (XLM-Data schemas) khả để chỉnh định truy vấn XPath lược đồ Khả truy xuất ghi liệu XML: Truy xuất liệu XML cách dùng câu lệnh SELECT mệnh đề FOR Ghi liệu XML OpenXML rowset provider Microsoft SQL Server 2000 OLEDB provider (SQLOLEDB) cho phép tài liệu XML gán văn lệnh trả tập kết luồng Các ấn SQL Server 2000 Microsoft® SQL Server™ 2000 sẳn có ấn sau: SQL Server 2000 Enterprise Edition Dùng sản phẩm database server Hỗ trợ tất đặc tính có sẳn SQL Server 2000, phân chia mức hiệu để hỗ trợ trang Web lớn tiến trình giao tác trực tuyến doanh nghiệp (online transaction processing OLTP) hệ thống kho liệu SQL Server 2000 Standard Edition Dùng database server cho nhóm phận nhỏ SQL Server 2000 Personal Edition Dành cho người dùng lưu động - người có thời gian không kết nối với network chạy ứng dụng mà đòi hỏi lưu trữ liệu SQL Server Cũng sử dụng chạy ứng dụng stand-alone mà yêu cầu việc lưu trữ liệu SQL Server máy tính client SQL Server 2000 Developer Edition Danh cho nhà lập trình phát triển ứng dụng mà dùng SQL Server 2000 nơi lưu trữ liệu Mặc dù Developer Edition hỗ trợ tất đặc tính Enterprise Edition cho phép người phát triển viết kiểm tra ứng dụng sử dụng đặc tính, Developer Edition cấp quyền sử dụng hệ thống phát triển kiểm tra ứng dụng, sản phẩm server SQL Server 2000 Windows CE Edition Microsoft® SQL Server 2000™ Windows® CE Edition (SQL Server CE) dùng lưu trữ liệu thiết bị Windows CE Có khả đồng hóa liệu với ẩn SQL Server 2000 để đồng hóa liệu Windows CE với CSDL SQL Server 2000 Enterprise Evaluation Edition Ấn với đầy đủ đặc tính, tãi từ trang Web Với mục tiêu cho sử dụng ước lượng đặc tính SQL Server; phiên ngưng chạy sau 120 ngày tãi Ngoài ấn SQL Server 2000, SQL Server 2000 Desktop Engine thành phần mà cho phép người phát triển ứng dụng phân tán SQL Server 2000 relational database engine với ứng dụng họ Trong chức database engine SQL Server 2000 Desktop Engine tương tự database engine ấn SQL Server, kích cở Desktop Engine databases không vượt GB Trung Tâm CNTT - Trường ĐHCN Tp.HCM Giáo trình SQL Server2000 Trang 1.2 Các thành phần SQL Server 2000 Các thành phần Server SQL Server service Thực thi SQL Server database engine Có SQL Server service cho thể (instance) SQL Server chạy máy tính SQL Server Agent service Thực thi tác nhân mà chạy tác vụ quản trị SQL Server theo thời lịch Chỉ có SQL Server Agent service cho instance SQL Server chạy máy tính SQL Server Agent cho phép định nghĩa lập lịch tác vụ mà chạy dựa thời lịch tuần hoàn Microsoft Search service (chỉ Windows NT Windows 2000) Thực thi máy tìm kiếm full-text (full-text search engine) Chỉ có dịch vụ bất chấp số instance SQL Server máy tính MSDTC service (Chỉ Windows NT Windows 2000) Quản trị giao tác phân tán Chỉ có service, bất chấp số instance SQL Server máy tính MSSQLServerOlAPService service (chỉ Windows NT Windows 2000) Thực thi SQL Server 2000 Analysis Services Chỉ có service, bất chấp số instance SQL Server máy tính Các công cụ đồ họa (Graphical Tools) SQL Server Enterprise Manager: công cụ quản trị CSDL server chính, cung cấp giao diện Microsoft Management Console (MMC) SQL Profiler: tạo hội người quản trị công cụ tinh vi để theo dõi phân tích giao thông mạng đến từ server chạy SQL Server 2000 SQL Query Analyzer: dùng để tạo quản trị đối tượng CSDL kiểm tra câu lệnh Transact-SQL, batch, script cách tương tác SQL Server Service Manager: dùng để start, stop, pause dịch vụ SQL Server Client Network Utility: dùng để quản trị client Net-Libraries định nghĩa bí danh server bao gồm tham số kết nối server chọn cần Server Network Utility: dùng để quản trị server Net-Libraries SQL Server Books online: tài liệu trực tuyến hỗ trợ với Microsoft® SQL Server™ 2000 Bạn tìm thông tin SQL Server Books Online cách: Điều hướng thông qua bảng nội dung Gõ từ khóa index Gõ từ cụm từ thực việc tìm kiếm 1.3 Kiến trúc CSDL quan hệ (relational Database Architecture) Trong SQL Server 2000, liệu lưu CSDL Về vật lý, CSDL bao gồm hai nhiều hai tập tin nhiều đĩa, thể vật lý thấy nhà quản trị suốt người dùng Sự chọn lựa vật lý CSDL trách nhiệm người quản trị CSDL Về mặc logic, CSDL xây Trung Tâm CNTT - Trường ĐHCN Tp.HCM Giáo trình SQL Server2000 Trang dựng thành thành phần (component) hiển thị người dùng, chẳng hạn bảng (Table), khung nhìn (view) thủ tục (stored procudure) Sự chọn lựa logic CSDL (chẳng hạn thiết kế bảng mục) trách nhiệm người thiết kế CSDL Các CSDL chứa liệu người dùng gọi CSDL người dùng (user database) Ngoài ra, hoạt động SQL Server tùy thuộc vào bốn CSDL hệ thống (system Database): master, model, Tempdb, msdb Các CSDL tồn thể SQL Server CSDL hệ thống CSDL người dùng CSDL Master: đuợc dùng để điều khiển thao tác thông tin mức hệ thống SQL Server Lưu trữ thông tin hệ thống 16 bảng hệ thống, gọi system catalog System catalog lưu trữ thông tin tài khoản người dùng, bao gồm mục bảo mật, ID, mật khẩu, CSDL lưu server, biến môi trường, thông điệp lỗi hệ thống, thủ tục hệ thống CSDL Model: dùng CSDL mẫu cho tất CSDL tạo hệ thống CSDL Model tùy biến để tạo cấu trúc CSDL mặc định cho CSDL Ví dụ, bảng cần phải tồn CSDL sau bảng nên tạo CSDL model Các CSDL vừa tạo có kích cở kích cở CSDL model CSDL Tempdb: dùng vùng lưu chứa tạm thời đới với bảng thủ tục tạm SQL Server 2000 hỗ trợ hai loại bảng tạm: bảng tạm toàn cục (global temporary table) bảng tạm cụ (local temporary table) Tên bảng tạm toàn cục bắt đầu ##, truy xuất tất client, tên bảng tạm cụ bắt đầu #, truy xuất client mà tạo chúng Làm việc Tempdb nhanh hoạt động không ghi nhận lại Tuy nhiên, client kết thúc kết nối đến Server toàn bảng thủ tục TempDB bị xóa CSDL Msdb: SQL Server Agent dùng CSDL msdb cho tác vụ khác nhau, lập biểu, cảnh báo ghi nhận thao tác Dữ liệu lưu bảng hệ thống CSDL msdb Các bảng hệ thống dùng SQL Server Agent sysalerts, syscategories, sysdownloadlist, sysjobhistory, sysjobs, sysjobschedules, sysjobservers, sysjobsteps, sysnotifications, sysoperators, systargetservergroupmembers, systargetservergroups, systargetservers systaskids Ngoài ra, CSDL msdb có bảng dùng cho thao tác dự phòng phục hồi liệu: backupfile, backupmediafamily, backupmediaset, backupset, restorefile, restorefilegroup, restorehistory SQL Server tự động tăng giảm kích cở CSDL dòng thêm vào xóa CSDL Pubs, Northwind: hai CSDL ví dụ dùng tài liệu SQL Server Các CSDL khác CSDL người dùng tạo Trung Tâm CNTT - Trường ĐHCN Tp.HCM Giáo trình SQL Server2000 Trang Hình 1: Các CSDL hệ thống CSDL người dùng Khái niệm sở liệu quan hệ: Databases, Tables, Columns, Views, Datatypes, Database Schemas Dữ liệu RDBMS SQL Server 2000 xếp số đối tượng, dễ thấy bảng (table) Dữ liệu lưu Table theo dòng cột Dữ liệu liên quan đến mục thực tế nhân viên, sản phẩm, việc gửi hàng, người tham gia … Được lưu table riêng biệt Ví dụ, hệ thống quản lý nhân viên công ty có bảng gọi nhân viên, bảng dùng để lưu chi tiết tất nhân viên công ty Chi tiết nhân viên bao gồm Họ nhân viên, tên nhân viên, địa chỉ, thành phố, số chứng minh nhân dân… Thỉnh thoảng cần ẩn thông tin riêng tư từ người dùng cách dùng truy vấn Các truy vấn câu lệnh SQL lưu CSDL tham chiếu đến câu lệnh SQL theo cách table SQL Server sử dụng kiểu liệu, cột có kiểu khác Tất kiểu khác đối tượng, giống bảng, truy vấn kiểu liệu lưu CSDL Trong môi trường SQL Server, lược đồ CSDL (database schema) tập hợp đối tượng CSDL có liên quan đến việc sử dụng tên thuộc người dùng đơn lẻ Quản lý liệu lưu trữ với trợ giúp số đối tượng cung cấp cung cấp SQL Server 2000 Bảng liệt kê đối tượng database SQL Server 2000 Bảng 1: Đối tượng Mô tả Bảng - Table Một table tập hợp liệu lưu trữ nhiều dòng nhiều cột Mặc định – Default Một default cài đặt hệ thống, nghĩa không định người dùng Cột - Column Cột đối tượng dùng lưu trữ phân tử riêng biệt bên dòng liệu Dòng – Row Dòng mục đơn liệu bên bảng, bao gồm tập cột Kiểu liệu Datatype Kiểu liệu đối tượng dùng để xác định loại liệu lưu cột Các loại liệu khác tinyInt, smallInt, int, real, float, smalldatetime, datetime, smallmoney, money, char sql_variant Chỉ mục – Index Chỉ mục đối tượng CSDL, dùng để tăng tốc truy vấn cách dò tìm liệu theo giá trị khóa thay cho việc quét toàn bảng Trung Tâm CNTT - Trường ĐHCN Tp.HCM Giáo trình SQL Server2000 Quyền Trang 132 Mô tả Statement permissions Quyền thực thi câu lệnh quản trị (như CREATE PROCEDURE) cấp, huỹ bỏ, từ chói users, groups, roles Object permissions Quyền truy xuất đến đối tượng CSDL (như bảng hay view) cấp, huỹ bỏ, từ chối users, groups, roles Application role Quyền thực thi hành động CSDL cấp cho application, chí cấp cho user Một application kết nối đến CSDL kích hoạt application role Các User truy xuất đến CSDL thông qua kết nối để dành lấy quyền kết hớp với application role suốt trình kết nối Các quyền phát hành đến user cụ thể không liên quan user truy xuất CSDL thông qua application role 15.1.5 Fixed Database Roles Mỗi CSDL có role CSDL định nghĩa trước với quyền kết hợp với databasewide để thực tác vụ khác Bạn xóa database role thay đổi quyền chúng Để gán người dùng quyền CSDL, bạn thêm tài khoản người dùng vào database role Nếu fixed database role không gán tổng hợp quyền mà bạn cần bạn tạo role với quyền người dùng (thông thường nhiều quyền hạn chế) Trung Tâm CNTT - Trường ĐHCN Tp.HCM Giáo trình SQL Server2000 Trang 133 fixed database role có SQL Server 2000 Database Role Thành viên CSDL … db_owner Thực tác vụ CSDL SQL Server 2000 Các thành viên role có quyền chủ CSDL thành viên dbo role db_accessadmin Thêm hay xóa user group Windows 2000 Win NT4.0 user CSDL (dùng thủ tục hệ thống sp_grantdbaccess) db_securityadmin Quản lý tất permission, role, role membership, chuyển ower (ownership) CSDL (sử dụng lệnh GRANT, REVOKE, DENY) db_ddladmin Thêm, hiệu chỉnh, xóa đối tượng CSDL (sử dụng lệnh CREATE, ALTER, DROP) db_backupoperator Chạy lệnh DBCC, phát hành checkpoint, dự phòng CSDL (sử dụng câu lệnh T-SQL: DBCC, CHECKPOINT, BACKUP) db_datareader Đọc liệu từ bảng view người dùng CSDL (bạn có quyền SELECT tất table view) Db_datawriter Hiệu chỉnh xóa liệu từ bảng hay view người dùng CSDL (bạn phải có quyền INSERT, UPDATE, DELETE tất table view) Không đọc liệu từ bảng CSDL (bạn quyền SELECT đối tượng) Có thể permission on any Db_denydatareader objects) Có thể sử dụng với role db_ddladmin phép tạo đối tượng làm chủ dbo role, nhung không đọc nhạy cảm chứa đối tượng Không hiệu chỉnh hay xóa liệu từ bảng người dùng Db_denydatawriter CSDL (bạn quyền INSERT, UPDATE, DELETE đối tượng) 15.2 Tạo tài khoản đăng nhập (Login) 15.2.1 Dùng Create Login Wizard Trung Tâm CNTT - Trường ĐHCN Tp.HCM Giáo trình SQL Server2000 Trang 134 Hình 40: Chọn chế độ đăng nhập cho login tạo Nếu bạn chọn Windows authentication bạn phải liên kết login ID với user hay group Windows 2000 có sẳn Khai báo hình sau Hình 41: Xác định tài khoản Windows 2000 xác định cho phép từ chối login truy xuất đến Server Trung Tâm CNTT - Trường ĐHCN Tp.HCM Giáo trình SQL Server2000 Trang 135 Nếu bạn chọn SQL Server authentication, bạn tạo tài khoản bảo mật SQL Server 2000 hình kế Hình 42: Khai báo LogiID Password Phải định rõ tên login Password Để ngăn chặn (deny) login, đơn giản bạn cần xóa bỏ login từ nơi chứa login Enterprise Manager (hoặc từ bảng sysxlogins CSDL master) Sau bạn xác định kiểu đăng nhập liên kết hay tạo tài khoản bảo mật, bạn định server role (nếu cần) cho login hộp thoại kế Nếu user không serverwide administrator, không cần chọn server role Trung Tâm CNTT - Trường ĐHCN Tp.HCM Giáo trình SQL Server2000 Trang 136 Hình 43: Chỉ định server role cho login tạo Kế tiếp bạn định CSDL (nếu cần) user truy xuất hộp thoại Nhớ hầu hết server role không cung cấp CSDL truy xuất Hình 44: Chỉ định hay nhiều CSDL để login truy xuất Cuối cùng, bạn SQL Server cho xem trước lựa chọn mà bạn thực trước login tạo thực Click vào nút Finish để tạo login Trung Tâm CNTT - Trường ĐHCN Tp.HCM Giáo trình SQL Server2000 Trang 137 Hình 45: Chọn nút Finish để hoàn tất 15.2.2 Dùng Enterprise Manager để tạo Login Để tạo login Enterprise Manager, nhấp nút phải chuột Security/Login instance, chọn New Login Thông thường, trang Server Role, Database Access hợp thoại Propertie login Trung Tâm CNTT - Trường ĐHCN Tp.HCM Giáo trình SQL Server2000 Trang 138 Hình 46: Chỉ định Name, chế độ chứng thực, chọn CSDL mặc định Hình 47: Chọn tài khoản người dùng Windows Trung Tâm CNTT - Trường ĐHCN Tp.HCM Giáo trình SQL Server2000 Trang 139 Bạn chọn CSDL mặc định ngôn ngữ trang General CSDL mặc định CSDL hành mà User đăng nhập vào Mặc định không chọn CSDL Master bạn nên chọn CSDL khác làm mặc định Ngôn ngữ mặt định ngôn ngữ mặc định instance hành Lưu ý: Bạn từ chối truy xuất User hay group Windows Điều áp đặt đến việc truy xuất khác user hay group (kể thành viên nhóm khác mà có login khác) Hình 48: Gán login thuộc server role cần Lưu ý System Administrators server role chọn, bạn xem nhóm built-in Administrator group, login sa the SQL Server thành viên sysadmin server role Chọn nút properties để xem số propererties Server role Trung Tâm CNTT - Trường ĐHCN Tp.HCM Giáo trình SQL Server2000 Trang 140 Hình 49:Thành viên server role Hình 50: Các quyền hạn cụ thể Server role Trung Tâm CNTT - Trường ĐHCN Tp.HCM Giáo trình SQL Server2000 Trang 141 Hình 51: Chỉ định CSDL truy xuất tới quyền cụ thể cho login Khi bạn chọn CSDL login thành viên public role CSDL Bạn xóa (remove) login khỏi public role 15.2.3 Tạo Login T-SQL Bạn tạo Login T-SQL Windows Logins Các thủ tục hệ thống dùng để cấp, hũy, từ chối, hiệu chỉnh login cho user hay group Windows Chỉ có thành viên sysadmin securityadmin server roles thực thi thủ tục hệ thống Thủ tục hệ thống Mô tả Sp_grantlogin 'login' Tạo login cho user hay group Windows 2000 Sp_revokelogin 'login' Hũy login từ SQL Server user hay group Windows 2000 (hoặc Windows NT 4.0) Điều không rõ ràng cấp quyền truy xuất đến SQL Server 2000 Sp_denylogin 'login' Ngăn chặn user hay thành viên Windows 2000 (hoặc Windows NT 4.0) kết nối đến SQL Server 2000 Ngăn chặn user hay group thôgn qua login khác kết với user hay group Windows Sp_defaultdb 'login', 'database' Thay đổi CSDL mặc định cho login Trung Tâm CNTT - Trường ĐHCN Tp.HCM Giáo trình SQL Server2000 Trang 142 Thủ tục hệ thống Mô tả Sp_defaultlanguage 'login', Thay đổi ngôn ngữ mặc định login 'language' Ví dụ: Sp_grantlogin 'CDCN4\Bill' SQL Server Logins Các thủ tục hệ thống sau cho phép cấp, hũy, từ chối, hiệu chỉnh login kết với tài khoản người dùng SQL Server Chỉ có thành viên sysadmin securityadmin server roles thực thi thủ tục hệ thống Thủ tục hệ thống Mô Tả Tạo login SQL Server Password NULL Sp_addlogin 'login', ['password', không định CSDL mặc định master không 'database', 'language', 'sid', định Ngôn ngữ mặc định ngôn ngữ server hành encryption_option'] không định Mặc định, password csdl master Sp_droplogin 'login' Xóa SQL Server login Sp_password 'old_password', 'new_password', 'login' Thêm thay đổi password cho SQL Server login Sp_defaultdb 'login', 'database' Thay đổi CSDL mặc định Sp_defaultlanguage 'login', 'language' Thay đổi ngôn ngữ mặc định Ví dụ: Sp_addlogin 'Joe', 'Joe123', 'Northwind' Tạo SQL Server login có tên Joe, với password Joe123 CSDL mặc định Northwind Server Roles Các thủ tục hệ thống sau dùng để thêm hay xóa login vào server role Chỉ có thành viên sysadmin server role thêm login vào server role Các thành viên server role thêm login vào server role Thủ tục hệ thống Mô tả Sp_ addsrvrolemember 'login', 'role' Thêm login tàhnh viên server role Sp_dropsrvrolemember 'login', 'role' Xoá login không thành viên server role Ví dụ: Sp_addsrvrolemember 'Joe', 'securityadmin' Thêm login có tên Joe vào server role Security Administrator Database Access Các thủ tục sau dùng để thêm hay xóa login (Windows SQL Server) hữu quyền truy xuất CSDL hành Không giống SQL Server Enterprise Manager, bạn cấp nhóm Windows 2000 (hoặc Windows NT 4.0) group truy xuất đến CSDL mà không cần tạo login trước cách tường minh Trung Tâm CNTT - Trường ĐHCN Tp.HCM Giáo trình SQL Server2000 Trang 143 bảng sysxlogins Chỉ có thành viên sysadmin server role, db_accessadmin db_owner fixed database role thực thi thủ tục hệ thống Thủ tục hệ thống Mô tả Sp_grantdbaccess 'login', 'name_in_db' Thêm login user CSDL hành Mặc dù tên user name CSDL khác với tên login, điều không khuyến cáo Sp_revokedbaccess 'name' Bỏ login user CSDL hành Ví dụ: USE Northwind EXEC Sp_grantdbaccess 'Joe' Cho phép login tên Joe truy xuất đến CSDL hành, dùng user name Joe CSDL Northwind Database Roles Các thủ tục hệ thống sau dùng để thay đổi database owner, thêm xóa tài khoản bảo mật vào database role có sẳn, tạo xóa user-defined database role Use Northwind EXEC Sp_addrolemember 'db_securityadmin', ' CDCN4\KeToan' Thêm tài khoản CDCN4\KeToanvào db_securityadmin database role trogn CSDL Northwind Thủ tục hệ thống Mô tả Thay đổi owner CSDL người dùng Chỉ có thành Sp_changedbowner viên sysadmin server role owner database hành 'login', remap_alias_flag thau đổi owner CSDL Thêm tài khoản vào database role CSDL hành Bạn thêm user-defined database role vào fixed user-defined database role Chỉ có thành viên sysadmin Sp_addrolemember 'role', 'security_account' server role db_owner and db_security fixed database roles thêm thành viên vào database role Thành viên database role thành viên vào cho database role Xóa tài khoản từ CSDL vào CSDL hành Chỉ có thành viên sysadmin server role db_owner Sp_droprolemember db_security fixed dababase roles xóa thành viên 'role', 'security_account' khỏi database role Các thành viên database role xóa thành viên khỏi database role Sp_addrole 'role', 'owner' Thêm user-defined database role CSDL hành Mặc dù bạn định owner role, sử dụng mặc định dbo không khuyến cáo Các thành viên sysadmin server role db_securityadmin db_owner fixed database roles tạo user-defined database roles Sp_droprole 'role' Xóa user-defined database role CSDL hành Các tàhnh Trung Tâm CNTT - Trường ĐHCN Tp.HCM Giáo trình SQL Server2000 Thủ tục hệ thống Trang 144 Mô tả viên sysadmin server role, db_securityadmin db_owner fixed database roles xóa user-defined database roles Để xem thông tin login, dùng thủ tục hệ thống sau: Thủ tục hệ thống Mô tả Sp_helplogins [ 'login' ] Trả thông tin tất login login định, kể CSDL mà login có truy xuất đến database roles mà login thành viên Sp_helpsrvrolemember [ 'role' ] Trả thông tin tất server roles thành viên chúng tất thành viên server role định Sp_helpuser [ 'security_account' ] Trả thông tin tất user user định CSDL hành, kể tất hội thành viên database role Sp_helprolemember [ 'role' Trả thông tin tất database role tất ] thành viên database role định CSDL hành Sp_helpntgroup [ 'name' ] Trả thông tin nhóm nhóm định Windows 2000 (hoặc Windows NT 4.0) CSDL hành Gán quyền Database Các view stored procedure tạo table Khi user cố gắng lấy thông tin thông qua view procedure, SQL Server 2000 phải kiểm tra user có phép lấy liệu hay không Nếu view procedure làm chủ user bảng sở lại user khác SQL Server 2000 phải kiểm tra quyền object dây chuyền Khi chuỗi ownership kéo dài điều ảnh hưởng đến việc thực Nhưng có lẽ quan trọng bị gắt gối cho nhà quản trị vạch gỡ lỗi từ việc đưa bảo mật Các quyền lệnh Câu lệnh TransactSQL Quyền để thực thi câu lệnh Transact-SQL CREATE DATABASE Thừa kế thành viên sysadmin dbcreator server roles Mặc dù sysadmin securityadmin server roles cấp quyền cách trực tiếp cho tài khoản để thực câu lệnh này, Tóm lại tài khoản bảo mật sử dụng dbcreator server role system administrator đại diện quyền Quyền tồn CSDL master BACKUP DATABASE BACKUP LOG Kế thừa thành viên sysadmin server role db_owner db_backupoperator fixed database roles Mặc dù bạn cấp quyền để chạy câu lệnh cách trực tiếp đến tài khoản bảo mật, cách tổng quát bạn sử dụng db_backupoperator fixed database role Trung Tâm CNTT - Trường ĐHCN Tp.HCM Giáo trình SQL Server2000 Câu lệnh TransactSQL Trang 145 Quyền để thực thi câu lệnh Transact-SQL CREATE TABLE Kế thừa thành viên sysadmin server role db_owner db_ddladmin fixed database roles Quyền cho phép tạo đối CREATE VIEW tượng cấp trực tiếp đến nhà lập trình suốt thời gian triển khai Theo mặc định object làm chủ người tạo CREATE đối tượng (mặc dù đối tượng tạo thành viên sysadmin PROCEDURE server role chủ dbo role) Các thành viên db_owner db_ddladmin fixed database roles định dbo role CREATE owner đối tượng đựơc tạo Ngoài ra, thành viên DEFAULT sysadmin server role db_owner db_ddladmin fixed database role định user chủ object mà CREATE RULE chúng tạo Tuy nhiên, user mà không thành viên role định user khác dbo role làm CREATE chủ object chúng tạo FUNCTION CREATE TRIGGER Kế thừa chủ table mà sysadmin server role, db_owner and db_ddladmin fixed database roles Những thành viên cấp quyền để chạy câu lệnh cho tài khoản bảo mật khác Ví dụ: CREATE TABLE Northwind.dbo.CustomerTable (CustID nchar (5), CustomerName nvarchar (40)) Cho phép tạo bảng, cấp ownership cho dbo role Chỉ có thành viên sysadmin server role db_owner db_ddladmin fixed database roles thực cách thành công câu lệnh Thay đổi Ownership Object Một thành viên db_owner, db_ddladmin, db_securityadmin fixed database role, a member of the sysadmin server role thay đổi ownership object cách chạy thủ tục sp_changeobjectowner sp_changeobjectowner 'CDCN4\KeToan.Customer', 'dbo' Đổi ownership table Customer từ CDCN4\KeToanBill cho dbo role Lưu ý Thay đổi owner object xó tất quyền có đối tượng Nếu bạn cần giữ lại quyền nên tạo Scrip trước đổi owner Dùng Enterprise Manager đề Grant, Deny, or Revoke quyền lệnh Nhắp nút phải chuột CSDL cần thực cấp/xoá/từ chối/xem quyền Trung Tâm CNTT - Trường ĐHCN Tp.HCM Giáo trình SQL Server2000 Trang 146 Hình 52: Trang Permission hộp thoại thuộc tính CSDL Dùng Transact-SQL để Grant, Deny, or Revoke quyền Dùng câu lệnh GRANT CREATE TABLE TO … GRANT CREATE TABLE TO Joe, SalesManagers, [CDCN4\SQLServerAdmins] Cấp quyền lệnh CREATE TABLE cho Joe (một SQL Server login), SalesManagers (a user-defined database role), CDCN4\SQLServerAdmins (một Windows group) Xem quyền Transact-SQL : Dùng sp_helprotect EXEC sp_helprotect NULL, NULL, NULL, 's' Xem tất quyền câu lệnh CSDL hành Trung Tâm CNTT - Trường ĐHCN Tp.HCM [...]... Enterprise Manager của SQL Server 3 .2 SQL SERVER SERVICES MANAGER SQL Server Manager là một công cụ cho phép khởi động, tạm dừng hoặc dừng các dịch vụ (service) trong SQL Server SQL Server hoạt động được thông qua các dịch mà nó tự cung cấp Trung Tâm CNTT - Trường ĐHCN Tp. HCM Giáo trình SQL Server2 000 Trang 23 3 .2. 1 Các dịch vụ của SQL Server Một dịch vụ (service) là một chương trình hoặc tiến trình thực thi... SQL Server 20 00 Trung Tâm CNTT - Trường ĐHCN Tp. HCM Giáo trình SQL Server2 000 Trang 14 Bạn đưa điã CD chứa chương trình cài đặt SQL Server hoặc chạy tập tin Setup từ một vị trí nào đó trên mạng Hình 3: Màn hình đầu tiên khi đưa đĩa SQL Server Persional Edition vào Chọn SQL Server 20 00 Components Hình 4: Chọn thành phần cần cài đặt Chọn Install Database Server Trung Tâm CNTT - Trường ĐHCN Tp. HCM Giáo trình. .. Trường ĐHCN Tp. HCM Giáo trình SQL Server2 000 Trang 31 4 .2 Cơ sở dữ liệu của SQL SERVER 20 00 Một CSDL của SQL Server là tập hợp các bảng (Table) dùng để chứa các dữ liệu và những đối tượng khác, chẳng hạn Views, indexes, store procedures, và triggers… Chúng được ấn định để hỗ trợ các hoạt động được thực hiện với dữ liệu Dữ liệu được chứa trong một CSDL thường liên quan đến một chủ đề hay tiến trình đặc... F1 Giúp đỡ một câu lệnh T -SQL được chọn SHIFT+F1 Trung Tâm CNTT - Trường ĐHCN Tp. HCM Giáo trình SQL Server2 000 Trang 29 BÀI 4: LÀM VIỆC VỚI CỞ SỞ DỮ LIỆU SQL SERVER 4.1 Thiết kế một cơ sở dữ liệu Thiết kế CSDL là một bước vô cùng quan trọng trong tiến trình phát triển ứng dụng Trong quá trình thiết kế, bạn phải quyết định những table nào cần để lưu trữ các dữ liệu của bạn Quá trình thiết kế một CSDL... Bases = cơ sở thông tin quản trị) cho SQL Server SQLOLE các mẫu về các dùng OLE automation của Visual Basic để quản lý SQL Server SYSBOLS Gỡ rối các ký hiệu do các lập trình viên sử dụng Trung Tâm CNTT - Trường ĐHCN Tp. HCM Giáo trình SQL Server2 000 Trang 22 BÀI 3: CÁC CÔNG CỤ CỦA SQL SERVER 3.1 SQL ENTERPRISE MANAGER Enterprise Manager còn gọi tắt là EM, là một công cụ chính dành cho nhà quản trị server. .. cách thủ công 3.3 OSQL OSQL là một dấu nhắc tiện ích dùng để truy vấn một instance của SQL Server 20 00 một cách tương tác bằng T -SQL, thủ tục hệ thống, tập tin lệnh Nó cũng được dùng để xem xét các công việc hoặc bó lệnh, kể cả các lệnh của hệ điều hành đối với SQL Server 20 00 Bạn có thể dùng osql bằng cách kết nối vào server và Trung Tâm CNTT - Trường ĐHCN Tp. HCM Giáo trình SQL Server2 000 Trang 25 thực... Trung Tâm CNTT - Trường ĐHCN Tp. HCM Giáo trình SQL Server2 000 Trang 12 BÀI 2: CÀI ĐẶT SQL SERVER 20 00 2. 1 Lập kế hoạch cài đặt SQL SERVER 20 00 Các yêu cầu về phần cứng Phần cứng Yêu cầu tối thiểu Intel hoặc tương thích Máy tính Pentium 166 MHz hoặc cao hơn Enterprise Edition: 64 MB; 128 MB hoặc hơn Standard Edition: 64 MB Bộ nhớ (RAM) Personal Edition: 64 MB đối với Windows 20 00; 32 MB đối với các hệ điều... ĐHCN Tp. HCM Giáo trình SQL Server2 000 Trang 17 Hình 9: Thông báo Lincense Chọn next Hình 10: Xác định công cụ cài đặt Client Tools Only Server and Client Tools Connectivity Only : Chỉ cài đặt các tools của client : Cài đặt các tools của Server và Client : Cài đặt các thành phần truy xuất dữ liệu và các thư viện network Chọn Server and ClientTools Trung Tâm CNTT - Trường ĐHCN Tp. HCM Giáo trình SQL Server2 000... vừa của SQL Server Chọn Mixed Mode Trung Tâm CNTT - Trường ĐHCN Tp. HCM Giáo trình SQL Server2 000 Trang 20 Hình 15: Thông báo là SQL Server sẽ bắt đầu được cài đặt Chọn Next, tiến trình cài đặt bắt đầu Hình 16: Kết thúc cài đặt 2. 4 Tạo tập tin cài đặt không tham dự (unattended) và cài đặt từ xa (Remote) SQL Server 20 00 Có 3 cách để tạo ra tập tin khởi đầu cài đặt dành cho việc cài SQL Server 20 00 không... Chương trình Setup SQL Server 20 00 cung cấp lựa chọn Advanced Option để ghi nhận lại tập tin không tham dự ISS Nếu lựa chọn này được chọn thì quá trình cài đặt sẽ được ghi nhận lại thành tập tin ISS trong thư mục \Winnt, và SQL Server không được cài đặt thực sự trong tiến trình này Trung Tâm CNTT - Trường ĐHCN Tp. HCM Giáo trình SQL Server2 000 Trang 21 Cách 2: tập tin ISS được cung cấp trong đĩa SQL Server ... Server2 000 Trang 42 Int bytes -2 ^31 -> 2^ 3 1-1 Số nguyên Smallint bytes -2 ^15 -> 2^ 1 5-1 Số nguyên Tinyint bytes 25 5 Số nguyên Monetary Money bytes -2 ^63 -> 2^ 6 3-1 Dữ liệu tiền tệ Smalmoney bytes -2 14748.3648... 20 2. 5 Kết việc cài đặt SQL SERVER 20 00 21 BÀI 3: CÁC CÔNG CỤ CỦA SQL SERVER 22 3.1 SQL ENTERPRISE MANAGER 22 3 .2 SQL SERVER SERVICES MANAGER 22 3 .2. 1 Các... Transact -Sql 11 BÀI 2: CÀI ĐẶT SQL SERVER 20 00 12 2.1 Lập kế hoạch cài đặt SQL SERVER 20 00 . 12 2 .2 Quyết định chọn lựa cấu hình cài đặt SQL SERVER 20 00 12 2 .2. 1 Xác

Ngày đăng: 03/12/2015, 00:16

Từ khóa liên quan

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

Tài liệu liên quan