1 CHƯƠNG 1: TỔNG QUAN MICROSOFT SQL SERVER 1.1 Giới thiệu Microsoft SQL Server [1][3] 1.1.1 Hệ quản trị CSDL quan hệ kiểu Client/ Server Microsoft SQL Server là một hệ quản trị CSDL q
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC LẠC HỒNG
GIÁO TRÌNH
HỆ QUẢN TRỊ SQL SERVER
Trang 21
MỤC LỤC
CHƯƠNG 1: TỔNG QUAN MICROSOFT SQL SERVER 1
1.1 Giới thiệu Microsoft SQL Server 1
1.1.1 Hệ quản trị CSDL quan hệ kiểu Client/ Server 1
1.1.2 Các dịch vụ trong SQL Server 1
1.1.3 Ngôn ngữ lập trình Transact – SQL (T-SQL) 2
1.2 Các công cụ của SQL Server 3
1.2.1 Books Online 3
1.2.2 SQL Server Configuration Manager 3
1.2.3 SQL Server Profiler 4
1.2.4 Import và Export Data 5
1.3 Microsoft SQL Server Management Studio 5
1.3.1 Mở SQL Server Management Studio 6
1.3.2 Các thành phần trong cửa sổ Management Studio 7
1.3.3 Trang truy vấn của Query Editor 8
1.4 Khai báo kết nối Microsoft SQL Server từ máy trạm 9
1.5 Một số thao tác đơn giản 10
1.5.1 Backup lại một Database 10
1.5.2 Phục hồi Database (Restore) 12
1.5.3 Gở bỏ Database (Detach) 16
1.5.4 Đính kèm Database (Attach) 17
1.5.5 Take Offline/ Bring Online 19
1.6 Bài tập cuối chương 19
CHƯƠNG 2: DATABASE 20
2.1 Các thành phần của một cơ sở dữ liệu (Database – CSDL) 20
2.2 Loại file lưu trữ Database 20
2.2.1 File dữ liệu 20
2.2.2 Database hệ thống 21
Trang 32.3 Tạo – Xóa Database 21
2.3.1 Tạo Database 21
2.3.2 Xóa Database 25
2.4 Tách CSDL khỏi SQL Server 26
2.4.1 Dùng giao diện Explorer 26
2.4.2 Dùng câu lệnh 27
2.5 Gắn CSDL vào SQL Server 27
2.5.1 Sử dụng Object Explorer 27
2.5.2 Sử dụng câu lệnh 29
2.6 Thay đổi thông tin CSDL 29
2.6.1 Sử dụng Object Explorer 29
2.6.2 Sử dụng câu lệnh 30
2.6.3 Xem thông tin CSDL 31
2.7 Bài tập cuối chương 33
CHƯƠNG 3: TABLE 34
3.1 Các kiểu dữ liệu 34
3.1.1 Exact Numerics (Số chính xác) 34
3.1.2 Approximate Numerics (Số gần đúng) 34
3.1.3 Date and Time - Ngày giờ 34
3.1.4 Character strings - Chuỗi ký tự ASCII 35
3.1.5 Unicode character strings – Chuỗi ký tự Unicode 35
3.1.6 Binary Strings - Chuỗi số nhị phân 35
3.1.7 Một số kiểu khác 35
3.2 Các phép toán 35
3.3 Tạo table trong một CSDL 36
3.3.1 Bằng lệnh Create Table 36
3.3.2 Sử dụng Object Explorer 42
3.4 Thay đổi cấu trúc và ràng buộc 43
3.4.1 Bằng lệnh Alter Table 44
3.4.2 Sử dụng Object Explorer 47
Trang 43.4.3 Xem thông tin table 47
3.4.4 Xóa Table 48
3.4.5 Đổi tên Table 48
3.4.6 Mô hình quan hệ dữ liệu 48
3.4.7 Tạo mới mô hình quan hệ 49
3.5 Bài tập cuối chương 50
CHƯƠNG 4: TRUY VẤN DỮ LIỆU 52
4.1 Một số hàm T-SQL 52
4.1.1 Hàm toán học 52
4.1.2 Hàm xử lý chuỗi ký tự 52
4.1.3 Hàm xử lý ngày tháng và thời gian 52
4.1.4 Hàm chuyển đổi kiểu giá trị 53
4.1.5 Hàm hệ thống 55
4.1.6 Hàm CASE 56
4.2 Phát biểu truy vấn dữ liệu 57
4.2.1 Mệnh đề FROM 57
4.2.2 Mệnh đề WHERE 60
4.2.3 Mệnh đề SELECT 61
4.2.4 Mệnh đề ORDER BY 63
4.2.5 Mệnh đề GROUP BY 63
4.2.6 Mệnh đề HAVING 63
4.2.7 Mệnh đề COMPUTE 64
4.2.8 Mệnh đề COMPUTE BY 64
4.2.9 Các câu truy vấn lồng nhau 65
4.3 Phép toán tập hợp 67
4.4 Bài tập cuối chương 68
CHƯƠNG 5: CẬP NHẬT DỮ LIỆU 70
5.1 Thêm mẫu tin mới 70
5.1.1 Thêm một mẫu tin mới 70
5.1.2 Thêm mẫu tin lấy từ các bảng khác 70
Trang 55.1.3 Thêm dữ liệu từ file vào cột Varbinary(Max) 71
5.2 Sửa nội dung mẫu tin 72
5.2.1 Thay đổi nội dung cột dữ liệu 72
5.2.2 Thay đổi nội dung cột kiểu varbinary(Max) 72
5.2.3 Thay đổi một phần dữ liệu với hàm Write 72
5.3 Xóa mẫu tin 73
5.3.1 Dùng phát biểu Delete 73
5.3.2 Dùng phát biểu Truncate 74
5.4 Truy xuất thông tin cập nhật 74
5.4.1 Table Inserted và Deleted 74
5.4.2 Mệnh đề Output 76
5.5 Bài tập cuối chương 78
CHƯƠNG 6: VIEW 79
6.1 Khái niệm 79
6.2 Tạo View 79
6.2.1 Bằng lệnh Create View 79
6.2.2 Bằng công cụ Manage 80
6.3 Xem thông tin View 82
6.4 Thay đổi định nghĩa View 83
6.5 Xóa View 83
6.6 Bài tập cuối chương 83
CHƯƠNG 7: STORED PROCEDURE 85
7.1 Khái niệm 85
7.2 Tạo Stored Procedure 86
7.2.1 Bằng lệnh Create Procedure 86
7.2.2 Các phát biểu điều khiển 87
7.2.3 Sửa, xóa thủ tục 92
7.2.4 Xem thông tin thủ tục 93
7.3 Bài tập cuối chương 93
Trang 6CHƯƠNG 8: TRANSACTION 95
8.1 Transaction (giao tác) 95
8.1.1 Các phát biểu đóng gói một Transaction 95
8.1.2 Phân đoạn nhóm lệnh trong Transaction 95
8.1.3 Kiểm soát lỗi thực hiện 96
8.2 Bài tập cuối chương 96
CHƯƠNG 9: TRIGGER 100
9.1 Khái niệm 100
9.2 Tạo Trigger cho Table 100
9.3 Nhận biết cột được cập nhật 104
9.4 Chỉ định thứ tự thực hiện các Trigger 105
9.5 Thực hiện hay không thực hiện Trigger 106
9.6 Hiệu chỉnh Trigger 106
9.7 Xóa Trigger 106
9.8 Bài tập cuối chương 106
CHƯƠNG 10: CURSOR 108
10.1 Khái niệm 108
10.2 Các loại Cursor 111
10.3 Xử lý đồng thời 113
10.4 Bài tập cuối chương 115
TÀI LIỆU THAM KHẢO 116
Trang 71
CHƯƠNG 1: TỔNG QUAN MICROSOFT SQL SERVER
1.1 Giới thiệu Microsoft SQL Server [1][3]
1.1.1 Hệ quản trị CSDL quan hệ kiểu Client/ Server
Microsoft SQL Server là một hệ quản trị CSDL quan hệ (Relation Database Management System - RDBMS) hoạt động trên hệ thống mạng theo mô hình Client/ Server cho phép nhiều người dùng từ các máy trạm truy cập dữ liệu lưu trên máy chủ
Sử dụng Transact-SQL để trao đổi dữ liệu giữa Client computer và SQL Server computer Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS
SQL Server được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn (Very Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngàn user
Dịch vụ phân tích - Analysis Services: xử lý phân tích trực tuyến (online
analytical processing - OLAP); khai mỏ dữ liệu (Data Mining) cho các ứng dụng đánh giá tình hình thương mại
Hình 1.1: Mô hình Server – Client
Trang 82
Dịch vụ báo cáo - Reporting Services: tạo và quản lý báo cáo với nhiều dạng
thức khác nhau: dạng bảng (tabular), đồ họa (graphical)… Các báo cáo này cũng có thể được xuất trên Web
Môi giới dịch vụ - Service Broker: Cung cấp nhiều cơ sở hạ tầng (infrastructure)
cần thiết để xây dựng một ứng dụng CSDL, làm giảm đáng kể thời gian phát triển ứng dụng
Tái tạo dữ liệu – Replication: sao chép, phân phối dữ liệu tới các CSDL ở vị trí
khác, từ xa hay di động thông qua hệ thống mạng, sau đó đồng bộ giữa các CSDL để
duy trì tính đồng nhất dữ liệu (consistency)
Full-Text Search: Phục vụ cho việc tìm kiếm từ, nhóm từ trong các dữ liệu dạng văn bản lưu trên table
Dịch vụ thông báo - Notification Services: Phục vụ cho việc phát triển và triển
khai các ứng dụng tạo và gởi các thông báo tới người dùng trên nhiều loại thiết bị khác
Không dùng để tạo ra các chương trình ứng dụng độc lập
Các phát biểu, thủ tục và hàm viết bằng T-SQL chỉ được thực hiện trong môi trường SQL Server với mục đích truy vấn và hiệu chỉnh dữ liệu trong CSDL quan hệ
Cho phép gọi thực hiện từ các ngôn ngữ lập trình khác, T-SQL có các phát biều được phân loại như sau:
• Data Control Language (DCL): Chứa các lệnh điều khiển, phân quyền truy xuất
dữ liệu
Trang 9Sách hướng dẫn trực tuyến các vấn đề liên quan đến Microsoft SQL Server
Hình 1.3: Giao diện Book Online
1.2.2 SQL Server Configuration Manager
SQL Server Services: Khởi động (Start), tạm dừng (pause) và dừng (stop) các dịch vụ của Microsoft SQL Server
Trang 104
SQL Server Network Configuration: Quản lý các nghi thức kết nối mạng (Network Protocol) của máy chủ phục vụ cho việc trao đổi thông tin giữa máy chủ và máy trạm
SQL Native Client Configuration: Quản lý các nghi thức kết nối mạng mặc định
của máy trạm khi thực hiện nối kết vào Microsoft SQL Server tại các máy chủ
Hình 1.4: SQL Server Configuration Manager
1.2.3 SQL Server Profiler
Quản lý các biến cố đã xảy ra khi thực hiện các xử lý trên máy chủ, giúp cho việc phân tích tìm lỗi thực hiện của các câu lệnh truy vấn
Hình 2.5: SQL Server profiler
Trang 115
1.2.4 Import và Export Data
Dùng nhập, xuất dữ liệu giữa Microsoft SQL Server với các loại CSDL khác như: Access, Foxpro, Excel, file văn bản ASCII…
Hình 1.6: Giao diện Import, Export Data
1.3 Microsoft SQL Server Management Studio
Một công cụ đồ họa dùng cho nhà quản trị và phát triển CSDL SQL Server thực hiện các dịch vụ có trong SQL Server
Tích hợp các chức năng quản trị CSDL và trình soạn thảo truy vấn (Query Editor) với ngôn ngữ lập trình Transact-SQL
Trang 126
1.3.1 Mở SQL Server Management Studio
Hình 1.7: Giao diện kết nối Server
Server Type: Chọn dịch vụ
Server Name: Chọn máy chủ đã cài SQL Server hoặc tên thể hiện SQL Server có dạng <computer_name>\<instance_name>
Chỉ định truy xuất SQL Server bằng tài khoản nào:
Windows Authentication: sử dụng tài khoản đăng nhập Windows, việc kiểm tra người dùng của SQL Server sẽ phụ thuộc vào việc kiểm tra người dùng của Windows Khi người dùng có quyền đăng nhập vào Windows, người dùng đó sẽ có quyền đăng nhập vào SQL Server Kiểu kiểm tra người dùng này thường được sử dụng khi ứng dụng khai thác dữ liệu và SQL Server được cài trên cùng một máy tính
SQL Server Authentication: dùng tài khoản đã tạo trong SQL Server, nhập tên đăng nhập và mật khẩu đã được người quản trị cung cấp, việc kiểm tra người dùng của SQL Server sẽ không phụ thuộc vào việc kiểm tra người dùng của Windows Khi người dùng có quyền đăng nhập vào Windows, người dùng đó chưa chắc sẽ có quyền đăng nhập vào SQL Server Để đăng nhập vào SQL Server, người dùng phải có một
bộ username và password do SQL Server quản lý Kiểu kiểm tra người dùng này thường được sử dụng khi ứng dụng khai thác dữ liệu và SQL Server không được cài trên cùng một máy tính
Nếu trong quá trình cài đặt SQL Server không cho phép SQL Server kích hoạt ngay khi khởi động máy, bấm nút Connect sẽ gây ra lỗi Để khắc phục vào Start->Run đánh services.msc->Enter Tìm service SQL Server, double click vào trong combobox Startup type chọn Automatic -> Apply - >Start -> OK
Trang 137
1.3.2 Các thành phần trong cửa sổ Management Studio
Hình 1.8: Giao diện SQL Server Management Studio
Double-click vào tên server để kết nối tới server đó
– Object Explorer: liệt kê tất cả các đối tượng trong Server đã kết nối bao gồm các CSDL (databases), Security, Server Objects, Replication, Management, … – Cửa sổ hồ sơ: chứa các trang hiển thị thông tin của đối tượng được chọn trong cửa sổ Object Explorer, các trang tạo và hiệu chỉnh các đối tượng trong CSDL; các trang truy vấn của trình soạn thảo truy vấn Query Editor
– Template Explorer: Chứa các đoạn trình mẫu của T_SQL
Trang 148
1.3.3 Trang truy vấn của Query Editor
Thực hiện một hay nhiều phát biểu truy vấn trực tiếp trên các CSDL và nhận kết quả ngay sau khi thực hiện
Soạn thảo các thủ tục, hàm và lưu trữ các phát biểu vào tập tin kịch bản (Script file)
dạng văn bản ASCII
Hình 1.9: Query Editor
Mở trang Query kết nối với CSDL trên server hiện hành:
Bước 1: Bấm chọn tên CSDL cần truy vấn mặc định trong khung Object Explorer
Bước 2: Chọn menu FileNewQuery With Current Connection hoặc bấm chọn mục New Query trên thanh công cụ
Mở trang Query kết nối với CSDL trên server khác
Bước 1 Chọn menu FileNewDatabase Engine Query hoặc bấm chọn biểu tượng Database Engine Query trên thanh công cụ
Bước 2 Khi thực hiện sẽ xuất hiện hộp thoại Connect to Database Engine, chọn Server name, chỉ định quyền đăng nhập và click nút Connect
Một số thao tác cơ bản trên trang Query:
– Thay đổi CSDL truy cập mặc định:
Trang 159
Chọn tên CSDL trong combo “Available Databases” trên thanh công cụ SQL Editor
Hoặc sử dụng lệnh: Use <database name>
– HighLight từ khóa bằng chuột và ấn Shift-F1 để mở phần trợ giúp liên quan – Click nút Execute hoặc ấn phím F5 để thực hiện các lệnh trong trang Query hoặc
chỉ thực hiện các lệnh đã tô chọn
1.4 Khai báo kết nối Microsoft SQL Server từ máy trạm
Khởi động tiện ích SQL Server Configuration Manager tại máy trạm
Mở nhánh SQL Native Client Configuration, bấm phải chuột vào mục Aliases và chọn New Alias…
Hình 1.10: SQL Server Configuration Manager
– Trong hộp thoại Alias–New, lần lượt nhập:
Bí danh máy trạm (Alias);
Cổng kết nối (Port No);
Nghi thức kết nối mạng (Protocol);
Địa chỉ IP của máy chủ
Bấm nút OK để đồng ý kết nối
Sau khi kết nối, ta có thể sử dụng các cộng cụ của Microsoft SQL Server để truy cập CSDL trên máy chủ
Trang 1610
Hình 1.11: Thiết lập kết nối
1.5 Một số thao tác đơn giản
1.5.1 Backup lại một Database
Khi cần lưu trữ (Backup) Database chúng ta sử dụng chức năng Backup để lưu lại dữ liệu ở dạng File vật lý Các bước thực hiện như sau:
Bước 1: Chọn DataBase cần lưu trữ trong cửa sổ Object Explorer, nhấp phải chuột vào Database này chọn Tasks/Back Up…
Hình 1.12: Backup database
Trang 1711
Bước 2: Cửa sổ Back Up… xuất hiện như hình sau:
Hình 1.13: Chọn nơi lưu file backup
Trong Tab General, tại mục Destination thông thường SQL Server chọn sẵn thư mục lưu File Backup tại ổ C:\ của máy tính, chúng ta có thể lưu tại một đường dẫn nào
và đặt tên cho File Backup
Hình 1.14: Đặt tên file backup
Bước 3: Chọn Tab Options, trên Tab này nhấp chọn mục Overwrite all existing
backup set để ghi đè lên dữ liệu cũ nếu đã tồn tại
Tab
Genneral
Trang 1812
Hình 1.15: Tùy chọn lưu đè nếu file backup đã tồn tại
Cuối cùng nhấp Ok để máy tính thực hiện Backup, chờ trong giây lát chương trình sẽ thông báo hoàn tất thao tác như hình dưới đây:
Hình 1.16: Thông báo backup thành công
1.5.2 Phục hồi Database (Restore)
Phục hồi Database Backup, chỉ thực hiện được khi chúng ta có File Backup về Database đó, cách thực hiện như sau:
Bước 1: Nhấp phải chuột vào mục Database trong Object Explorer chọn
Restore DataBase…
Tab
Options
Trang 2014
Hình 1.18: Tùy chọn Restore database
Bước 3: Chọn Tab Options, trong mục Restore the Database file as ở cột
Restore As hãy chọn đường dẫn cần lưu File Database khi Restore, đây là đường dẫn
đầy đủ bao gồm cả tên File và phần mở rộng (*.MDF, *.LDF)
Chọn đường dẫn đến File Backup
Phục hồi database với tên
check chọn
Trang 2115
Hình 1.19: Tùy chọn Restore database (tt)
Cuối cùng nhấn Ok để thực hiện Restore
Hình 1.20: Restore database thành công
Trang 22Bước 2: Hộp thoại Detach Database xuất hiện nhấp Ok để thực hiện Detach
Hình 1.22: Tùy chọn Detach database
Trang 2317
1.5.4 Đính kèm Database (Attach)
Attach Database vào hệ quản trị SQL Server chỉ thực hiện với những Database
đã được Detach trước đó (khi có file mdf, ldf) các bước thực hiện như sau:
Bước 1: Nhấp phải chuột vào mục Database trong cửa sổ Object Explorer chọn Attach…
Hình 1.23: Attach database
Bước 2: Hộp thoại Attach Database xuất hiện, nhấn chọn Add… để chọn đường dẫn tới Database cần Attach (File mdf) như hình dưới đây (Lưu ý File MDF và LDF phải đặt cùng thư mục với nhau)
Hình 1.24: Chọn Add để chọn file database Attach
Trang 2418
Hình 1.25: Chọn file database Attach
Cuối cùng nhấn Ok để thực hiện Attach
Hình 1.26: Chọn OK hoàn tất Attach database
File Database đã được Detach trước đó
Trang 2519
1.5.5 Take Offline/ Bring Online
Ngoài Detach để gỡ bỏ Database khỏi sự quản lý của hệ quản trị cơ sở dữ liệu SQL Server hiện thời; Attach để khôi phục lại cơ sở dữ liệu; ta cũng có thể Take Offline/ Bring Online với ý nghĩa tương tự
Right Click lên database muốn Take Offline/ Bring Online, chọn Tasks, sau đó chọn chức năng muốn thực hiện (Take Offline, Bring Online)
Hình 1.27: Take Offline/ Bring Online database
1.6 Bài tập cuối chương
a) Bạn hiểu như thế nào về hệ quản trị CSDL quan hệ kiểu Client/ Server
b) Bạn thử nêu một số dịch vụ tich hợp trong Sql Server
c) Nêu cách thức bật, tạm dừng, tắt các dịnh vụ của SQL Server
e) Giải thích các thành phần trên giao diện khi đăng nhập SQL Server
f) Nêu ý nghĩa và các bước Backup một cơ sở dữ liệu
g) Nêu ý nghĩa và các bước Restore một cơ sở dữ liệu
h) Nêu ý nghĩa và các bước Detach một cơ sở dữ liệu
i) Nêu ý nghĩa và các bước Attach một cơ sở dữ liệu
Trang 2620
CHƯƠNG 2: DATABASE
2.1 Các thành phần của một cơ sở dữ liệu (Database - CSDL) [3]
– Tables: lưu trữ dữ liệu cần quản lý, table còn có các thành phần liên quan như:
Constraint – Ràng buộc: chỉ định ràng buột dữ liệu trong bảng hoặc giữa các bảng
Triggers – Bẫy Lỗi: Trigger thường chứa các mã lệnh kiểm tra dữ liệu, có tính năng tự động thực hiện khi có hành động nào đó xảy ra đối với dữ liệu trong table như Insert, Update, Delete
Indexs – Chỉ mục: Hổ trợ cho việc sắp xếp và tìm kiếm nhanh thông tin trên table
– Database Diagram – Sơ đồ CSDL: Thể hiện mối quan hệ dữ liệu giữa các table – Views – Khung nhìn hay table ảo: dùng hiển thị dữ liệu được rút trích từ các Table
– Stored Procedure – Thủ tục: Chứa các lệnh T-SQL dùng thực hiện một số tác vụ nào đó Các Stored Proc hệ thống có tiền tố “sp_” rất có ích cho việc quản trị
– Functions: Hàm do người dùng định nghĩa
– Type: Kiểu dữ liệu do người dùng tự định nghĩa
– Rules: Chứa các qui tắc ràng buộc dữ liệu được lưu trữ trên Table
– Defaults: Chứa các khai báo giá trị mặc định được sử dụng trong CSDL
– Full Text Catalogs: Tập phân loại dữ liệu Text
– Users: Chứa danh sách User sử dụng CSDL
– Roles: Các qui định vai trò và chức năng của User trong CSDL
2.2 Loại file lưu trữ Database
2.2.1 File dữ liệu
– File chính (Primary data file)
Chứa thông tin hệ thống và một số đối tượng chính của database
Mỗi CSDL chỉ có một file dữ liệu chính có phần mở rộng thông thường là
*.MDF
– Các file dữ liệu phụ (Secondary data files): Do người dùng tạo thêm (nếu cần)
Các file dữ liệu phụ tiếp theo có phần mở rộng là NDF để phân biệt
Trang 2721
nhóm file chính (PRIMARY) chứa file dữ liệu chính và một số file dữ liệu phụ.– File nhật ký (Log files)
– MSDB: dùng hỗ trợ dịch vụ lập lịch cảnh báo và thực hiện công việc Nếu xóa CSDL này, bạn phải cài đặt lại nó khi cần dùng hoặc khi hệ thống yêu cầu
– Model: chứa các template (như kích thước CSDL, các chọn lựa trên CSDL) dùng làm mẫu để tạo CSDL mới
động trên SQL CSDL tempdb tự khởi tạo lại mỗi khi SQL Server được khởi động lại
2.3 Tạo – Xóa Database [1] [2]
Microsoft SQL Server Management Studio cung cấp một giao diện thân thiện giúp cho người dùng thực hiện các thao tác một cách dễ dàng Một số các thao tác cơ bản bao gồm: tạo CSDL mới, xóa CSDL, tạo bảng, xóa bảng…Cũng cần lưu ý rằng các thao tác thực hiện thông qua giao diện thì đều có thể được thực hiện được bằng các câu lệnh SQL
2.3.1 Tạo Database
Dùng giao diện (Explorer)
– Nhấp phải chuột vào Database
– Chọn New Database
– Nhập tên Databse
– Chọn OK
Trang 2822
Hình 2.1: Tạo database sử dụng giao diện
Hình 2.2: Đặt tên Database
Trang 29Cú pháp:
CREATE DATABASE database_name
[ ON [PRIMARY] ( <Thông tin file>) , … n ]
[ , FILEGROUP filegroup_name ( <Thông tin file>) , … n ]
[ LOG ON ( <Thông tin file>) , … n ]]
Trang 30– FILEGROUP: Khai báo thêm nhóm file mới chứa các file dữ liệu phụ
– NAME: Tên logic của File, tên này được sử dụng trong các phát biểu của T-SQL Yêu cầu phân biệt
– FILENAME: Tên và địa chỉ file lưu trên đĩa
– SIZE: Kích thước ban đầu của file, mặc định 2 MB
– MAXSIZE: kích thước tối đa của file, nếu không chỉ định thì kích thước file sẽ tăng cho đến khi đĩa đầy (UNLIMITED)
– FILEGROWTH: Khai báo số gia khi tăng kích thước File, mặc định là 10%
LOG ON ( NAME = ‘Sale_log’,
FILENAME = ‘C:\data\BH.ldf’, SIZE = 5MB,
MAXSIZE = 20MB, FILEGROWTH = 2MB )
Ghi chú:
Để liệt kê thông tin CSDL BANHANG dùng lệnh:
SELECT * FROM SYS.DATABASES WHERE NAME = ‘BANHANG’
CREATE DATABASE BANHANG
ON PRIMARY ( NAME = ‘Sales_dat1’,
FILENAME = ‘C:\SALE1.MDF’, SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ) ,
( NAME = ‘Sales_dat2’,
Trang 3125
FILENAME = ’C:\SALE2.NDF’, SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 )
LOG ON ( NAME = ‘Sales_log1’, FILENAME = ‘C:\SALE1.LDF’,
SIZE = 5, MAXSIZE = 20, FILEGROWTH = 5 ) , ( NAME = ‘Sales_log2’, FILENAME = ‘C:\SALE2.LDF’,
Ví dụ: Tạo cơ sở dữ liệu có nhiều file
CREATE DATABASE BanHang
ON PRIMARY ( NAME = ‘Sales_dat1’,
FILENAME = ‘C:\SALE1.MDF’, SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ),
FILEGROUP MYGROUP ( NAME = ‘Sales_dat2’,
FILENAME =’C:\SALE2.NDF’, SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ) LOG ON ( NAME = ‘Sales_log1’, FILENAME = ‘C:\SALE1.LDF’,
SIZE = 5, MAXSIZE = 20, FILEGROWTH = 5 ), ( NAME = ‘Sales_log2’, FILENAME = ‘C:\SALE2.LDF’,
Trang 32Drop Database QLHocVien
Drop Database SieuThi, BanHang Đoạn lệnh kiểm tra sự tồn tại của CSDL trước khi xóa
If Exists(Select * From Sys.Databases where Name = ‘BanHang’)
Drop Database BanHang
2.4 Tách CSDL khỏi SQL Server
Mục đích: Di chuyển CSDL sang máy chủ khác
2.4.1 Dùng giao diện Explorer
Click phải vào tên CSDL, chọn Tasks Detach
Trang 3327
Hình 2.5: Tách CSDL dùng giao diện
2.4.2 Dùng câu lệnh
Cú pháp: sp_detach_db ‘TênCSDL’
Ví dụ: Dùng câu lệnh xóa database
Exec sp_detach_db ‘BanHang’
Trang 3428
Hình 2.6: Gắn database sử dụng giao diện
Bước 2: Click nút Add để mở hộp thoại chọn file chính của CSDL
Hình 2.7: Chọn database
Trang 35CREATE DATABASE DatabaseName
ON ( <Thông tin File dữ liệu chính>)
FOR ATTACH
Ví dụ: Gắn database dùng câu lệnh
CREATE DATABASE SieuThi
ON PRIMARY (FILENAME = ‘C:\Data\BanHang.MDF’)
FOR ATTACH
2.6 Thay đổi thông tin CSDL
Mục đích: Đổi tên CSDL, thêm hay xóa file và nhóm file hoặc thay đổi các thông tin của file
2.6.1 Sử dụng Object Explorer
Click phải chuột vào tên CSDL, chọn Properties
Hình 2.8: Dùng giao diện thay đổi thông tin database
Trang 3630
2.6.2 Sử dụng câu lệnh
Cú pháp thay đổi thông tin cơ sở dữ liệu:
ALTER DATABASE database_name
MODIFY NAME = new_database_name
| MODIFY FILE (Name = logical_name , <Thông tin file>)
| ADD FILE <Thông tin File Data> [, n]
| ADD LOG FILE <Thông tin file Log > [, n]
| REMOVE FILE logical_name
Đổi tên CSDL
ALTER DATABASE databasename
MODIFY NAME = new_dbname
Ví dụ: Đổi tên CSDL BANHANG thành QLHOADON
ALTER DATABASE BANHANG MODIFY NAME = QLHOADON
Chú ý: Có thể sử dụng thủ tục:
EXEC SP_RENAMEDB ‘OldName’, ‘NewName’
Sửa thông tin file
ALTER DATABASE database_name
MODIFY FILE (Name = LogicalName , <Thông tin file>)
Thông tin file:
Mỗi câu lệnh chỉ được phép thay đổi một trong các thành phần này
Ví dụ: Tăng kích thước file Sale_dat.MDF có tên logic là sale_dat
ALTER DATABASE BanHang
MODIFY FILE (NAME = ‘Sale_dat’, SIZE = 20MB)
ALTER DATABASE BanHang
MODIFY FILE (NAME=‘Sale_dat’, FILENAME=‘E:\Data\Sale1.mdf’)
Trang 3731
Ví dụ: Đổi tên logic của file dữ liệu hoặc file log
ALTER DATABASE BanHang
MODIFY FILE (NAME = ‘Sale_dat’, NEWNAME = ‘BH_dat’)
Thêm file chứa dữ liệu
ALTER DATABASE databasename
ADD FILE <Thông tin File Dữ Liệu> [, n]
[ TO FILEGROUP filegroup_name ]
Ví dụ: Thêm file phụ chứa dữ liệu
ALTER DATABASE BanHang
ADD FILE ( NAME = datBH2, FILENAME = ‘C:\data\BH2.ndf’,
SIZE = 5MB, MAXSIZE = UNLIMITED, FILEGROWTH = 5MB )
Thêm file log cho database
Cú pháp:
ALTER DATABASE databasename
ADD LOG FILE <Thông tin file Log > [, n]
Ví dụ: Thêm 2 file Log kích thước 5MB cho Database
ALTER DATABASE BanHang
ADD LOG FILE
( NAME = ‘BHlog2’, FILENAME = ‘C:\Data\BH2.ldf’,
SIZE = 5MB, MAXSIZE = 100MB, FILEGROWTH = 5MB),
( NAME = ‘Testlog3’, FILENAME = ‘C:\Data\BH3.ldf’,
FILEGROWTH = 5MB)
Xoá file
ALTER DATABASE databasename
REMOVE FILE <Tên logic>
Ví dụ: Xóa file có Name = Sale_dat2 của CSDL BANHANG
ALTER DATABASE BanHang REMOVE FILE Sale_dat2
2.6.3 Xem thông tin CSDL
Sử dụng Object Explorer
Trang 3832
Click phải vào tên CSDL và chọn Properties…
Hình 3: Dùng giao diện xem thông tin database
Sử dụng table hệ thống
Thông tin của các Database được lưu trữ trong các table hệ thống bao gồm: Name, size, owner, ID, creation date, và các thông tin trạng thái
Bảng Sys.Databases: Select * From Sys.Databases
Bảng SysDatabases trong CSDL Master: Select * From
Master.dbo.SysDatabases
Sử dụng các thủ tục hệ thống:
Trang 39Ví dụ: EXEC SP_HELPDB ‘SieuThi’
Ví dụ: Use SieuThi; EXEC SP_SPACEUSED
2.7 Bài tập cuối chương
a) Các thành phần cơ bản của một database là gì? Sơ lược chức năng của từng thành phần này
b) Nêu các Database hệ thống và ý nghĩa của chúng
c) Cách tạo Database bằng câu lệnh, bằng giao diện đồ họa
d) Database gồm những file lưu trữ nào, ý nghĩa từng loại file và cách tạo bằng câu lệnh
e) Cách thức hiệu chỉnh, xóa database trong SQL Server
Trang 4034
CHƯƠNG 3: TABLE
3.1 Các kiểu dữ liệu [2]
3.1.1 Exact Numerics (Số chính xác)
– Tinyint: (1 byte) giá trị từ 0 đến 255
– Bit: có giá trị 0, 1 hoặc NULL
– Số byte lưu trữ phụ thuộc vào giá trị của n
Với n [1, 24]: 4 byte, với độ chính xác là 7 chữ số thập phân
Với n [25, 53]: 8 byte, với độ chính xác là 15 chữ số thập phân
Real
4 byte, miền giá trị tuyệt đối 1.18E -38 đến 3.40E +38
3.1.3 Date and Time - Ngày giờ
DateTime: Miền giá trị : từ 1-1- 1753 đến 31-12- 9999
SmallDateTime: Miền giá trị: 1-1- 1900 đến 6-6- 2079
Chú ý:
Hằng ngày giờ bao trong dấu nháy đơn
Ví dụ: ‘1998-01-20 23:59:59.997’