Tải bản đầy đủ (.doc) (74 trang)

Bài giảng hệ quản trị cơ sở dữ liệu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.49 MB, 74 trang )

ĐẠI HỌC TÂY NGUYÊN
KHOA KHTN – CN
BỘ MÔN TIN HỌC
BÀI GIẢNG
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
NGƯỜI VIẾT
ThS. Trương Hải
DakLak, tháng 03 năm 2012
MỤC LỤC
MỤC LỤC 2
PHẦN 1. HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 3
I. MỘT SỐ KHÁI NIỆM 3
II. CÁC MÔ HÌNH DỮ LIỆU: 3
III. CÁCH NHÌN VÀ TÍNH ĐỘC LẬP DỮ LIỆU 4
IV. THÀNH PHẦN HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 5
V. PHÂN LOẠI HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 5
VI. NGÔN NGỮ CƠ SỞ DỮ LIỆU 5
PHẦN 2. HỆ QUẢN TRỊ CSDL SQL SERVER 2005 7
I. TỔNG QUAN 7
II. CÀI ĐẶT SQL SERVER 2005 7
III. QUẢN LÝ CÁC DỊCH VỤ SQL SERVER 13
IV. TẠO CƠ SỞ DỮ LIỆU 17
V. TẠO BẢNG 19
VI. TẠO VIEW 33
1. Giới thiệu T-SQL: 33
Lệnh SQL: 42
VII. QUẢN LÝ STORED PROCEDURE 43
Tạo mới Stored Procedure 43
Hiệu chỉnh Stored Procedure 44
VIII. QUẢN LÝ TRIGGER 46
Tạo mới trigger 46


IX. SỬ DỤNG FUNCTION 49
X. SAO LƯU VÀ KHÔI PHỤC DỮ LIỆU 55
1. Sao lưu dữ liệu 55
2. Phục hồi dữ liệu 56
XI. QUẢN LÝ BẢO MẬT NGƯỜI DÙNG 58
1. Tạo (thay đổi) tài khoản đăng nhập trong SQL 58
2. Thêm người dùng vào CSDL 59
3. Thay đổi quyền thực thi CSDL 60
4. Thay đổi quyền người dùng 60
PHẦN 3: BÀI THỰC HÀNH SQL SERVER 2005 63
7. Tạo SP,FC DiemMax(MaLop,HK,NH) Hiển thị danh sách các học phần của lớp trong
HK, NH với điểm cao nhất và danh sách tất cả các sinh viên có điểm cao nhất của mỗi
học phần 71
3 7. Tạo SP,FC DiemMax(MaLop,HK,NH) Hiển thị danh sách các học phần của lớp trong
HK, NH với điểm cao nhất và danh sách tất cả các sinh viên có điểm cao nhất của mỗi học
phần.
PHẦN 1. HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
I. MỘT SỐ KHÁI NIỆM
1. Dữ liệu (data): là khả năng lượng hóa sự vật và hiện tượng để lưu trữ.
2. Thông tin (information): là sự hiểu biết khi xử lý dữ liệu.
3. Hệ thống file (file system): hay hệ thống quản lý file, là hệ thống đảm bảo quản lý các tập
tin (chức năng của hệ điều hành) gồm các công việc: tạo, xóa, lưu trữ, quản lý tập tin. Các
nhược điểm của hệ thống file:
• Phụ thưộc vào dữ liệu và vào chương trình.
• Dữ liệu trùng lặp nhiều nơi.
• Hạn chế việc dùng chung và chia sẻ dữ liệu.
• Tốn thời gian để phát triển hệ thống. (khó kế thừa khi có nhu cầu phát triển hệ thống)
• Tính an toàn dữ liệu không cao và tốn kém.
4. Cơ sở dữ liệu (CSDL/DB: DataBase): là tập hợp có tổ chức các dữ liệu liên quan với nhau
về mặt logic.

5. Hệ thống cơ sở dữ liệu (DataBase System): là tập hợp các CSDL trong hệ thống.
6. Hệ quản trị cơ sở dữ liệu (HQTCSDL/DBMS: DataBase Management System): là hệ thống
phần mềm ứng dụng dùng để tạo mới, bảo trì, và đảm bảo truy cập có điều khiển đến các
CSDL của người dùng. Bao gồm các chức năng sau:
• Quản lý người sử dụng: thêm, bớt, quản lý quyền truy cập CSDL.
• Quản lý CSDL: tạo, xóa, thay đổi CSDL.
• Đảm bảo tính an toàn CSDL: Lưu trữ, phục hồi CSDL khi có sự cố.
• Đảm bảo tính ràng buột toàn vẹn CSDL.
7. Quản trị cơ sở dữ liệu (SA: System Administrator/DataBase Management): là người có
quyền phát triển cơ sở dữ liệu trong hệ thống.
8. Dữ liệu meta (Metadata): là dữ liệu mô tả các thuộc tính hay các đặc tính của các dữ liệu
khác.
9. Kho dữ liệu (datawarehouse): là cơ sở dữ liệu trợ giúp quyết định tích hợp, bao gồm thông
tin trích từ các cơ sở dữ liệu khác.
II. CÁC MÔ HÌNH DỮ LIỆU:
Là khả năng mô tả và thể hiện CSDL bằng mô hình logic. Gồm có các mô hình dữ liệu
sau:
• Mô hình phân cấp: Thể hiện CSDL dưới dạng cây, trong đó các nút biểu diễn các
tập thực thể, giữa nút con và nút cha được liên hệ theo mối quan hệ xác định. Mô hình
này phát triển vào những năm 1960-1970.
• Mô hình mạng: Mô hình mô tả CSDL dưới dạng đồ thị có hướng, phát triển những
năm 1970-1980.
• Mô hình quan hệ: Mô hình này đựa trên cơ sở khái niệm lý thuyết tập hợp các quan
hệ. CSDL quan hệ được xây dựng theo lý thuyết do E. F. Codd giới thiệu năm 1970,
và từ những năm 1980 đã trở thành mô hình được sử dụng rộng rãi để phát triển hệ
quản trị CSDL. Theo mô hình quan hệ, dữ liệu được thể hiện trong bảng hai chiều,
gồm các cột và dòng. Các bảng gọi là các quan hệ, các cột gọi là các thuộc tính, các
dòng gọi là các bộ, hay là bản ghi, các thuộc tính cho biết ý nghĩa của bản ghi.
• Mô hình dữ liệu hướng đối tượng: thể hiện CSDL gồm tập các “lớp”. Mỗi lớp có
nhiều đối tượng (Mỗi đối tượng cụ thể gọi là thể hiện), mỗi lớp có các thuộc tính và

phương thức xử lý để có thể thay đổi các thuộc tính của lớp đó. Hướng tiếp cận CSDL
hướng đối tượng sẽ mô tả chân thực hơn về thế giới thực, phổ biến vào đầu những
năm 1990, nhưng đến nay vẫn chưa có nhiều CSDL thuộc loại này.
BÀI GIẢNG HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 4
III. CÁCH NHÌN VÀ TÍNH ĐỘC LẬP DỮ LIỆU
Tính hiệu quả của hệ thống đòi hỏi phải thiết kế các cấu trúc dữ liệu phức tạp để biểu
diễn dữ liệu trong CSDL. Các nhà phát triển che dấu sự tphức tạp này thông qua các mức trừu
tượng nhằm đơn giản sự trao đổi giữa người dùng và hệ thống:
• Mức vật lý (Physical level): Mức thấp nhất của sự trừu tượng, mô tả dữ liệu hiện tại
được lưu trữ như thế nào. Cấu trúc phức tạp được mô tả chi tiết.
• Mức logic (Logical level): Mức kế tiếp cao hơn về sự trừu tượng, mô tả loại dữ liệu
và mối quan hệ giữa các loại dữ liệu.
• Mức view (View level): Mức cao nhất của sự trừu tượng, mô tả một phần của dữ liệu
tổng thể. Một CSDL có thể có nhiều mức view cho nhiều người sử dụng khác nhau.
Người ta sử dụng CSDL để tạo nên môi trường cho phép nhiều người sử dụng cùng truy
cập vào các dữ liệu dùng chung. Dữ liệu không gắn chặt vào một ứng dụng nào, cũng
không bị một ứng dụng nào điều khiển. Điều này đạt được là do người ta đã chia việc
quản lý dữ liệu theo nhiều tầng độc lập, cụ thể là trách nhiệm tạo và bảo trì dữ liệu lưu trữ
do phần mềm đặt biệt quản lý, đó là hệ quản trị cơ sở dữ liệu.
Mức View
Cơ chế lưu trữ
để dễ truy cập
Bộ nhớ ngoài
Hệ CSDL
CSDL1
(Tên, vị trí, người dùng )
Table 1 (Vị trí, kích thước, )
Field 1 (Type1, size1 )
Field 2 (Type2, size2 )
Field 3 (Type3, size3 )


Table 2 (Vị trí, kích thước, )
Field 1 (Type1, size1 )
Field 2 (Type2, size2 )
Field 3 (Type3, size3 )

CSDL2
(Tên, vị trí, người dùng )
Table 1 (Vị trí, kích thước, )
Field 1 (Type1, size1 )
Field 2 (Type2, size2 )
Field 3 (Type3, size3 )

Table 2 (Vị trí, kích thước, )
Field 1 (Type1, size1 )
Field 2 (Type2, size2 )
Field 3 (Type3, size3 )

Mức vật lý
CSDL1
Table1 (Field1, field2)
Table2 (Field1, field2)

CSDL2
Table1 (Field1, field2)
Table2 (Field1, field2)

Mức logic
View1
CSDL1(Table1.Field1, Table2.field1)

View2
CSDL1(Table1.Field1, Table1.field2)
5 7. Tạo SP,FC DiemMax(MaLop,HK,NH) Hiển thị danh sách các học phần của lớp trong
HK, NH với điểm cao nhất và danh sách tất cả các sinh viên có điểm cao nhất của mỗi học
phần.
Tính độc lập dữ liệu: Việc tách mô tả dữ liệu ra khỏi chương trình ứng dụng sử dụng
dữ liệu đó được gọi là tính độc lập dữ liệu. Có 2 loại độc lập dữ liệu sau:
• Độc lập dữ liệu vật lý: Là khả năng sửa đổi sơ đồ dữ liệu vật lý (nơi lưu trữ,
phương thức truy xuất, ) mà không làm cho chương trình ứng dụng phải viết lại.
tính độc lập dữ liệu vật lý phụ thuộc vào chất lượng của HQTCSDL.
• Độc lập dữ liệu logic: là khả năng sửa đổi sơ đồ dữ liệu luận lý (thêm bớt thuộc
tính, thay đổi kiểu dữ liệu ) không làm cho chương trình ứng dụng phải viết lại.
Tính độc lập ở mức logic phụ thuộc vào thiết kế CSDL.
IV. THÀNH PHẦN HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
Dựa theo chức năng và có thể xem HQTCSDL được cấu tạo từ ba thành phần: Giao
diện dữ liệu, giao diện người sử dụng và giao diện lập trình.
1. Giao diện dữ liệu: là tập các chương trình cấp thấp có nhiệm vụ tổ chức CSDL. Hiệu
suất của HQTCSDL hoàn toàn phụ thuộc vào giao diện dữ liệu.
2. Giao diện người sử dụng: Cung cấp giao diện đơn giản, hiệu quả cho người sử dụng
giao tiếp với CSDL.
3. Giao diện người lập trình: Là sự tích hợp NNLT trong HQTCSDL
V. PHÂN LOẠI HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
1. HQTCSDL cá nhân: phát triển trên nền máy tính cá nhân như Foxpro, Access
2. HQTCSDL tập trung: phát triển trên nền tảng mạng máy tính như DB2, Inter Base,
SQL Server, Oracle
3. HQTCSDL phân tán: phát triển trên nền tảng mạng máy tính, CSDL được lưu trữ phân
mãnh nhiều nơi nhưng dưới sự điều khiển của HQTCSDL phân tán thì đối với ứng dụng vẫn
thấy được sự tập trung CSDL.
VI. NGÔN NGỮ CƠ SỞ DỮ LIỆU
Một HQTCSDL cung cấp hai kiểu ngôn ngữ khác nhau để tương tác với CSDL:

• Một là ngôn ngữ định nghĩa dữ liệu (Data Definition Language: DDL) cho phép
xác lập lược đồ dữ liệu (Tạo các Table ).
Hệ quản trị CSDL
CSDL dùng chung
Ứng dụng 1
Người dùng
Người dùng
Ứng dụng 2
Người dùng Người dùng
Ứng dụng 3
Người dùng
BÀI GIẢNG HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 6
• Hai là ngôn ngữ thao tác dữ liệu (Data Manipulation Language: DML) là ngôn
ngữ cho phép người sử dụng truy xuất hoặc thao tác CSDL.
7 7. Tạo SP,FC DiemMax(MaLop,HK,NH) Hiển thị danh sách các học phần của lớp trong
HK, NH với điểm cao nhất và danh sách tất cả các sinh viên có điểm cao nhất của mỗi học
phần.
PHẦN 2. HỆ QUẢN TRỊ CSDL SQL SERVER 2005
I. TỔNG QUAN
Microsoft SQL Server 2005 là một HQTCSDL quan hệ, tổ chức dữ liệu bằng cách lưu
chúng vào bảng, giữa các bảng có mối liên hệ với nhau. Là HQTCSDL có khả năng lưu trữ số
lượng lớn dữ liệu và hỗ trợ việc cho phép nhiều người sử dụng truy cập đồng thời. Hệ thống
SQL Server 2005 là hệ thống khách/chủ (client/server), có thể chạy tốt trên hệ thống mạng
LAN (Windows) hay trên máy PC.
1. Các thành phần chính của Server: Phần Server gồm các dịch vụ sau:
• SQL Server: là cơ cấu CSDL chính, mặc nhiên thì dịch vụ này được chọn.
• SQL Server Agent: Điều khiển các tác vụ tự động.
2. Các thành phần chính của Client:
• Enterprise Manager: Công cụ quản trị CSDL server chính.
• SQL Query Analyzer: Công cụ quản lý T-SQL.

II. CÀI ĐẶT SQL SERVER 2005
1.Chạy tập tin \Setup.exe
• Đánh dấu mục I accept the licensing terms and conditions rồi chọn Next để được hình
sau
2. Chọn Install
BÀI GIẢNG HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 8
3. chọn Next
9 7. Tạo SP,FC DiemMax(MaLop,HK,NH) Hiển thị danh sách các học phần của lớp trong
HK, NH với điểm cao nhất và danh sách tất cả các sinh viên có điểm cao nhất của mỗi học
phần.
BÀI GIẢNG HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 10
Chọn Advanced
• Tiếp tục chọn Next
11 7. Tạo SP,FC DiemMax(MaLop,HK,NH) Hiển thị danh sách các học phần của lớp
trong HK, NH với điểm cao nhất và danh sách tất cả các sinh viên có điểm cao nhất của
mỗi học phần.
• Tiếp tục chọn Next sau khi đã nhập và ghi nhớ mật khẩu cho SA
(Windows Authentication Mode: Sử dụng quyền truy cập của Windows;
Mixed Mode: Dùng quyền truy cập của Windows hoặc của SQL Server)
BÀI GIẢNG HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 12
Chọn Next
Chọn Install
13 7. Tạo SP,FC DiemMax(MaLop,HK,NH) Hiển thị danh sách các học phần của lớp
trong HK, NH với điểm cao nhất và danh sách tất cả các sinh viên có điểm cao nhất của
mỗi học phần.
Chọn Finish để hoàn tất việc cài đặt.
III. QUẢN LÝ CÁC DỊCH VỤ SQL SERVER
Trước khi có thể đăng nhập và xây dựng CSDL, chúng ta cần phải khởi động dịch vụ
SQL Server. Một số dịch vụ cần thiết đó là:
1. Khởi động SQL Server: (dịch vụ này nằm trên máy Server, các máy client không có)

Start/Programs/ Administrative Tools/Services
BÀI GIẢNG HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 14
2. Bật dịch vụ Server:
Nếu dịch vụ SQL Server chưa khởi đông thì bạn phải khởi động nó bằng cách kích phải chuột
và chọn lệnh Start.
Pause: Tạm ngưng dịch vụ đang chọn.
Stop: Dừng dịch vụ đang chọn.
3. SQL Server Management Studio: Đây là dịch vụ Client dùng để kết nối và quản lý
điều khiển SQL Server. SQL Server Management Studio là công cụ hoàn hảo để quản lý
SQL Server, với các tác vụ sau:
• Cấu hình Server cục bộ và từ xa
• Thiết lập bảo mật đăng nhập, thêm người dùng, người quản trị hệ thống
• Quản lý các tác vụ tự động
• Quản trị CSDL
Thực hiện lệnh Start/Programs/Microsoft SQL Server2005/ SQL Server Management
Studio
15 7. Tạo SP,FC DiemMax(MaLop,HK,NH) Hiển thị danh sách các học phần của lớp
trong HK, NH với điểm cao nhất và danh sách tất cả các sinh viên có điểm cao nhất của
mỗi học phần.

Ta được:
Nhập các thông số để kết nối với Server:
• Server Name: tên server cần kết nối
• Authentication: Cơ chể kết nối, của Winserver hay của SQL Server
• Login: Tên đăng nhập
• Password: mật khẩu đăng nhập
• Chọn Connect để kết nối.
Thành công ta có được như hình sau:
BÀI GIẢNG HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 16
17 7. Tạo SP,FC DiemMax(MaLop,HK,NH) Hiển thị danh sách các học phần của lớp

trong HK, NH với điểm cao nhất và danh sách tất cả các sinh viên có điểm cao nhất của
mỗi học phần.
IV. TẠO CƠ SỞ DỮ LIỆU
Giao diện SQL Server 2005 khi thực hiện trình quản lý SQL Server Management Studio
Databases: Tập hợp các CSDL, trong đó System Databases là tập các CSDL hệ thống
và danh sách các CSDL hiện có của Server.
Security: Bảo mật của Server, có Logins là tập hợp tất cả những người sử dụng của
server
Kích phải chuột lên mục Databases rồi chọn New Database
BÀI GIẢNG HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 18
Nhập tên CSDL mới vào hộp Name (12345)
Chọn OK để kết thúc.
Ta có được CSDL mới chỉ có tên như sau:
CSDL mới tạo có đầy đủ các thành phần quan trọng như sau:
Diagrams: Là lược đồ mô hình dữ liệu của CSDL. Là cái nhìn trực quan giữa các Table và
mối quan hệ giữa chúng.
Tables: Tập hợp tất cả các Table (Bảng; quan hệ) của CSDL
Views: Tập hợp tất cả các View (khung nhìn) của CSDL
Programmability: Tập hợp các chương trình gồm có 2 loại quan trọng:
19 7. Tạo SP,FC DiemMax(MaLop,HK,NH) Hiển thị danh sách các học phần của lớp
trong HK, NH với điểm cao nhất và danh sách tất cả các sinh viên có điểm cao nhất của
mỗi học phần.
Stored Procedures: Tập hợp các thủ tục (đoạn chương trình con) của CSDL.
Functions: Tập hợp các hàm gồm có:
• Table-valued Funtions: Hàm trả về một Table có 2 loại Inline Table-
valued Function (hàm chọn Table) và Multi-statement Table-valued
Functions(Hàm tạo Table).
• Scalar-valued Functions: Hàm trả về 1 giá trị do người dùng định
nghĩa
• System Functions: Tập các hàm của hệ thống.

Security: Bảo mật của CSDL có: Users: Tập hợp tất cảc những người sử dụng của CSDL;
Roles: Tập các nhóm người dùng của CSDL có chung một tập hợp các quyền truy cập giống
nhau trong Database Roles
V. TẠO BẢNG
Bảng hay Table là đối tượng quan trọng trong CSDL,là nơi lưu trữ dữ liệu theo lý
thuyết CSDL quan hệ. Theo mô hình quan hệ, dữ liệu được thể hiện trong bảng hai chiều,
gồm các cột và dòng. Các bảng gọi là các quan hệ, các cột gọi là các thuộc tính, các dòng gọi
là các bộ, hay là bản ghi, các thuộc tính cho biết ý nghĩa của bản ghi.
Xét ví dụ CSDL quản lý điểm như mô hình sau:
Mô hình CSDL trên gồm có 9 Table: Khoa, NganhHoc, Lop, LLSV, HocPhan,
ChuongTrinhDaoTao, KeHoachHT, BangDiem và DiemRL (Để có được mô hình này ta cần
kiến thức trong các học phần: CSDL và Phân tích thiết kế hệ thống thông tin), nhiệm vụ của
chúng ta là phải xây dụng được các Table cụ thể của mô hình trên.
1. Xác định Table cần tạo: Phân tích ta thấy: Table đơn giản nhất có tên Khoa với 3
trường dữ liệu là MaKhoa , TenKhoa và KyTu. Tiếp tục phân tích sâu hơn ta cần phải biết
MaKhoa có miền xác định như thế nào? (Lưu trữ cái gì?) Từ đó suy ra có loại dữ liệu gì? độ
dài bao nhiêu? có cho phép null hay không? có duy nhất hay không? có ràng buộc (Qui tắc)
nào không?.
Tóm lại: Trước khi thiết kế một Table ta cần xác định một số kiến thức sau:
• Mục đích Table lưu trữ cái gì?
• Tên Table là gì?
• Có các trường (field, cột) nào?
BÀI GIẢNG HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 20
• Trường này dùng lưu trữ cái gì? Thuộc loại dữ liệu nào?độ dài bao nhiêu? Cho
phép null hay không? Có duy nhất hay không? Có ràng buộc nào không?
21 7. Tạo SP,FC DiemMax(MaLop,HK,NH) Hiển thị danh sách các học phần của lớp
trong HK, NH với điểm cao nhất và danh sách tất cả các sinh viên có điểm cao nhất của
mỗi học phần.
Trong SQL Server 2005 có các kiểu dữ liệu thường được sử dụng (Tùy mục đích) như sau:
Kiểu dữ liệu Mô tả Kích thước

bigint Integer (whole number) data from -2^63 (-9223372036854775808) through
2^63-1 (9223372036854775807).
int Integer (whole number) data from -2^31 (-2,147,483,648) through 2^31 - 1
(2,147,483,647).
smallint Integer data from 2^15 (-32,768) through 2^15 - 1 (32,767).
tinyint Integer data from 0 through 255.
bit Integer data with either a 1 or 0 value.
decimal Fixed precision and scale numeric data from -10^38 +1 through 10^38 –1.
numeric Functionally equivalent to decimal.
money Monetary data values from -2^63 (-922,337,203,685,477.5808) through 2^63 -
1 (+922,337,203,685,477.5807), with accuracy to a ten-thousandth of a
monetary unit.
smallmoney Monetary data values from -214,748.3648 through +214,748.3647, with
accuracy to a ten-thousandth of a monetary unit.
float Floating precision number data from -1.79E + 308 through 1.79E + 308.
real Floating precision number data from -3.40E + 38 through 3.40E + 38.
datetime Date and time data from January 1, 1753, through December 31, 9999, with an
accuracy of three-hundredths of a second, or 3.33 milliseconds.
smalldatetime Date and time data from January 1, 1900, through June 6, 2079, with an
accuracy of one minute.
char Fixed-length non-Unicode character data with a maximum length of 8,000
characters.
varchar Variable-length non-Unicode data with a maximum of 8,000 characters.
text Variable-length non-Unicode data with a maximum length of 2^31 - 1
(2,147,483,647) characters.
nchar Fixed-length Unicode data with a maximum length of 4,000 characters.
nvarchar Variable-length Unicode data with a maximum length of 4,000 characters.
sysname is a system-supplied user-defined data type that is functionally
equivalent to nvarchar(128) and is used to reference database object names.
ntext Variable-length Unicode data with a maximum length of 2^30 - 1

(1,073,741,823) characters.
binary Fixed-length binary data with a maximum length of 8,000 bytes.
varbinary Variable-length binary data with a maximum length of 8,000 bytes.
image Variable-length binary data with a maximum length of 2^31 - 1
(2,147,483,647) bytes.
cursor A reference to a cursor.
sql_variant A data type that stores values of various SQL Server-supported data types,
except text, ntext, timestamp, and sql_variant.
table A special data type used to store a result set for later processing .
timestamp A database-wide unique number that gets updated every time a row gets
updated.
uniqueidentifier A globally unique identifier (GUID).
BÀI GIẢNG HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 22
2. Tạo mới Table:
- Kích phải chuột tại mục Tables
- Chọn lệnh New Table
- Lần lượt thiết kế các cột của Table
- Column Name: Tên cột hay tên trường
- Data Type: Kiểu dữ liệu và độ dài
- Allow Nulls: Nếu đánh dấu thì trường này cho phép Null (Không có dữ liệu)
- Default Value: Giá trị mặc nhiên của trường khi Insert một mẫu tin mới.
- Computed Column Sspeccification: Trường tính toán từ các trường khác
- Description: Mô tả ý nghĩa của trường
- Identity Specification: Trường tự động tăng,
Identity Increment: Khởi đầu; Identity Seed: bước tăng
23 7. Tạo SP,FC DiemMax(MaLop,HK,NH) Hiển thị danh sách các học phần của lớp
trong HK, NH với điểm cao nhất và danh sách tất cả các sinh viên có điểm cao nhất của
mỗi học phần.
Sau khi thiết kế xong,
đóng cửa sổ thiết kế

sẽ gặp cảnh báo
-Yes: Lưu Table
- No: Không lưu
-Nhập tên Table mới cần lưu và OK
Lệnh SQL tương ứng:
CREATE TABLE [dbo].[Khoa](
[MaKhoa] [smallint] NOT NULL,
[TenKhoa] [nvarchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[KyTu] [varchar](2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
CONSTRAINT [PK_Khoa] PRIMARY KEY CLUSTERED
(
[MaKhoa] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
3. Thay đổi thiết kế Table đã có: Nếu thấy cần thiết phải thay đổi thiết kế của Table đã
có, ta kích phải chuột tại Table cần thay đổi, gặp một menu đối tượng như sau:
- New Table : Tạo mới Table khác
- Modify: Thiết kế lại Table đang chọn
- Open Table: Mở table đang chọn
- Delete: Xóa Table
- Rename: Đổi tên Table
- Properties: Thay đổi thuộc tính.
- Script Table as >Create To: Xem
lệnh tạo Table.
BÀI GIẢNG HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 24
4. Nhập dữ liệu: Khi cần thiết phải nhập liệu vào Table, ta chọn lệnh Open Table ở trên
Nhập bảng số liệu Khoa như trên.
Tiếp tục thiết kế các Table còn lại như sau:
Table Lop
Lệnh SQL tương ứng:

CREATE TABLE [dbo].[Lop](
[MaLop] [nvarchar](6) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[TenLop] [nvarchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[MaNganh] [nvarchar](3) COLLATE SQL_Latin1_General_CP1_CI_AS NOT
NULL,
[ChuongTrinh] [tinyint] NOT NULL,
[MaKhoa] [smallint] NOT NULL,
CONSTRAINT [PK_Lop] PRIMARY KEY CLUSTERED
(
[MaLop] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
25 7. Tạo SP,FC DiemMax(MaLop,HK,NH) Hiển thị danh sách các học phần của lớp
trong HK, NH với điểm cao nhất và danh sách tất cả các sinh viên có điểm cao nhất của
mỗi học phần.
Table LLSV
CREATE TABLE [dbo].[LLSV](
[MaHSSV] [bigint] IDENTITY(1,1) NOT NULL,
[MaLop] [nvarchar](6) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[MaSV] [nvarchar](8) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[HoLot] [nvarchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Ten] [nvarchar](20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[NgaySinh] [nvarchar](10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Nu] [bit] NOT NULL,
[DoiTuong] [nvarchar](2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[KhuVuc] [nvarchar](6) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[NoiSinh] [nvarchar](30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[TrangThai] [tinyint] NOT NULL,
[XepLoaiHT] [tinyint] NOT NULL,
CONSTRAINT [PK_LLSV] PRIMARY KEY CLUSTERED

(
[MaSV] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

×