Tải bản đầy đủ (.pdf) (75 trang)

Quản lý đăng ký môn học của sinh viên

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 (549.04 KB, 75 trang )

Phần I: Giới thiệu đề tài.

Luận văn tốt nghiệp

MỤC LỤC

Lời cảm ơn

Trang

GIỚI THIỆU ĐỀ TÀI ............................................................................6
Phần I : CƠ SỞ LÝ THUYẾT .............................................................10
Chương 1: Giới thiệu mô hình Client/ Server và hệ quản trị cơ
sở dữ liệu Microsoft SQL Server......................................................10
I. Mô hình Client/Server ............................................................10
1. Khái niệm về phần cứng....................................................10
2. Khái niệm về xử lý .............................................................10
II. Cơ sở dữ liệu phân tán.........................................................12
1. Hệ thống phân tán ............................................................12
2. Giới thiệu MS DTC.............................................................13

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu
3. Các giao dịch phân tán(Distributed Transactions) ............14

4. Một số lệnh được sử dụng trong giao dịch .......................15
III. Giới thiệu Microsoft SQL Server.........................................18
A. Giới thiệu .............................................................................18
B. SQL Server và mô hình Client/Server.................................19
C. Các kiểu đối tượng..............................................................19
1. Bảng (table) .....................................................................20
2. Khung nhìn (View) ...........................................................20


3. Chỉ mục (index)................................................................20
4. Kiểu dữ liệu (Data type) ...................................................21
5. Trị ngầm định ( Default value) .........................................22
6. Qui tắc (Rule) ...................................................................22
7. Thủ tục trữ sẵn (Stored Procedures) ...............................22
Trang 1


Phần I: Giới thiệu đề tài.

Luận văn tốt nghiệp

8. Bộ trích khởi (Trigger)......................................................23
9. Ràng buộc (Contraint) .....................................................23
D. Kiến trúc kho lưu trữ dữ liệu ...............................................23
1. Trang (Page)....................................................................23
2. Liên trang (Extend page) .................................................24
3. Đơn vị phân bổ ................................................................24
4. Các sổ theo dõi giao dịch ................................................24
E. Cách tạo các cơ sở dữ liệu .................................................24
1. Tạo cơ sở dữ liệu bằng SQL Enterprice Manager ..........24
2. Tạo cơ sở dữ liệu bằng Transact_SQL ...........................25
3. Ấn định các tuỳ chọn cho cơ sở dữ liệu ..........................26
F. Cách tạo các đối tượng cơ sở dữ liệu .................................28
1. Tạo bảng..........................................................................28

Trung tâm Học2.liệu
ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu
Tạo khung nhìn ................................................................29
3. Tạo chỉ mục ....................................................................30

G. Quản trị tài khoản người dùng ............................................30
1. Đăng nhập và các tài khoản người dùng ........................31
2. Tạo nhóm người dùng .....................................................34
H. Quản trị dữ liệu ...................................................................36
1. Lưu dự phòng cơ sở dữ liệu............................................36
2. Phục hồi cơ sở dữ liệu.....................................................37
Cấp phát và thu hồi các quyền cho người dung..................38
Chương 2 : Trình điều khiển ODBC và những cải tiến tốc độ
trong mô
hình Client/Server.................................................40
I. Trình điều khiển ODBC ..........................................................40

Trang 2


Phần I: Giới thiệu đề tài.

Luận văn tốt nghiệp

A. Kiến trúc ODBC .................................................................40
1. Lớp ứng dụng ................................................................40
2.Bộ quản lý điều khiển......................................................40
3. Trinh điều khiển ODBC ..................................................41
4. Nguồn dữ liệu.................................................................41
B. Cách hoạt động của các trình điều khiển ODBC ..............41
1. Trình điều khiển đơn tầng..............................................41
2. Trình điều khiển đa tầng ................................................42
II. Những vấn đề trong môi trường đa người dùng.................43
1. Khoá chặt .......................................................................43
2. Nghẽn.............................................................................43

3. Khoá chết .......................................................................44

Trung

III. Những cải tiến nhằm giảm thiểu việc truyền dữ liệu trên
mạng....................................................................................................44
tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên
1. Chọn những hàng cần thiết ...........................................44
2. Chọn những cột cần thiết...............................................44
3. Chỉ cập nhật những cột đã thay đổi ...............................45
4. Sử dụng thủ tục có sẵn ..................................................45
IV. Hỗ trợ của Visual Foxpro cho mô hình client/server .........45
1. Mục đích của nguyên mẫu .............................................45
2. Xây dựng một nguyên mẫu cục bộ cho ứng dụng.........46
3. Sự tiện dụng tiện ích Upsizing Wizard để đưa các bảng
dữ liệu lên server .................................................................................47
4. Một số lệnh_hàm cơ bản của Visual Foxpro hỗ trợ cho
việc lập
trình Client/server ...............................47
Phần II :XÂY DỰNG ỨNG DỤNG .......................................................49
Chương 3 : Thu thập thông tin và tổ chức dữ liệu....................49

Trang 3

cứu


Phần I: Giới thiệu đề tài.

Luận văn tốt nghiệp


I. Quá trình tìm kiếm thông tin ...................................................49
1. Thông tin về sinh viên ....................................................49
2. Thông tin về khoa...........................................................49
3. Thông tin về ngành học trong khoa ...............................49
4. Thông tin về đối tượng...................................................49
5. Thông tin về môn học ....................................................49
6. Thông tin về học kỳ niên khoá .......................................49
7. Thông tin về lớp học ......................................................50
8. Thông tin về nhóm học lịch học .....................................50
9. Thông tin về phòng học .................................................50
10. Việc đăng ký môn học..................................................50
11. Việc mở môn học .........................................................50
12. Thông tin về phiếu thu .................................................50

Trung tâmII.Học
liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu
Xây dựng các thực thể ...........................................................53
III. Các phụ thuộc hàm................................................................55
IV. Các liên kết.............................................................................56
V. Mô hình quan niêm cho dữ liệu (MCD).................................58
VI. Mô hình luận lý cho dữ liệu (MLD).......................................61
VII. Mô hình vật lý cho dữ liệu (MPD) và các ràng buộc toàn
vẹn .......................................................................................................61
VIII. Lưu đồ dòng dữ liệu............................................................65
IX. Mô hình quan niệm cho xử lý ...............................................66
X. Thiết kế các mẫu from............................................................67
Chương 4 : Giới thiệu chương trình.............................................71
I. Giới thiệu chung.....................................................................71
1. Mục đích của chương trình ............................................71


Trang 4


Phần I: Giới thiệu đề tài.

Luận văn tốt nghiệp

2. Yêu cầu của chương trình .............................................71
3. Ngôn ngữ cài đặt............................................................71
II. Giới thiệu hệ thông menu.....................................................72
Phần III : KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ...............................74
I. Kết luận ...................................................................................74
II. Hướng phát triển ...................................................................74

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

Trang 5


Phần I: Giới thiệu đề tài.

Luận văn tốt nghiệp

GIỚI THIỆU ĐỀ TÀI
I. Giới thiệu:
Hiện nay, chúng ta đang sống trong kỷ nguyên của Công Nghệ Thông
Tin (CNTT). Không ai có thể nghi ngờ gì về vai trò của CNTT trong đời sống,
trong hoạt động kinh doanh, thương mại …từ doanh nghiệp, xí nghiệp, công ty,
đến quốc gia, quốc tế. Đặc biệt từ khi mạng máy tính ra đời, việc nắm bắt thông

tin lại trở nên nhanh chóng, dễ dàng, chính xác và kịp thời hơn…
Càng ngày yêu cầu của người dùng càng cao, khối lượng dữ liệu cần xử
lý ngày càng nhiều. Hệ thống Client_Server và sự hỗ trợ về CSDL phân tán đã
giúp cho việc lưu trữ các dữ liệu lớn trên một hay nhiều nơi khác nhau tuỳ theo
nhu cầu và chức năng của chương trình nhưng vẫn đảm bảo được tính nhất
quán, chính xác và an toàn. Rất tiện dụng trong việc truy xuất dữ liệu vì ở bất
kỳ trạm làm việc nào cũng cảm thấy dữ liệu đang ở tại máy tính của mình.
Cùng với sự phát triển của CNTT, từng bước các ban ngành, tổ chức, cơ
quan…đã ứng dụng vào công tác quản lý với mong mỏi đạt được sự nhanh
chóng, chính xác, an toàn…Cũng như đối với trường học: Giáo dục hay Đào
tạo cũng rất cần việc quản lý học sinh, sinh viên trong học tập. Có nhiều công
cụ với nhiều tính năng mới cho phép triển khai các ứng dụng trong việc quản lý
tốt hơn như SQL Server, Oracle, Access….
Thực trạng
môn học
tại @
phòng
Giáo
vụ trường
Đại học
Thơ
Trung tâm Học
liệu đăng
ĐHkýCần
Thơ
Tài
liệu
học tập
vàCần
nghiên

cứu
hiện nay là quá tải. Vì thế đề tài “Quản lý đăng ký môn học của sinh viên” sử
dụng hệ quản trị cơ sở dữ liệu SQL Server trên môi trường đa người dùng là hy
vọng có thể giúp cho sinh viên tự đăng ký môn học tại mỗi khoa làm giảm sự
trì trệ trong việc đăng ký ở phòng Giáo vụ.
II. Mô tả hệ thống:
Một sinh viên sau khi hoàn thành thủ tục nhập học phải cho biết họ và
tên, ngày sinh, giới tính, quê quán gồm tên huyện và tên tỉnh... Nếu sinh viên
thuộc đối tượng (con liệt sĩ, con thương binh, con gia đình có công với nước,
vùng sâu, vùng xa…) thì có một tỷ lệ tương ứng giảm học phí. Mỗi sinh viên
có một mã số gọi là mã số sinh viên, mã số này là duy nhất, không thay đổi
trong suốt quá trình sinh viên học tại trường. Căn cứ ngành học sinh viên thi
đậu vào mà sinh viên đó sẽ thuộc sự quản lý của một khoa nào đó: nghĩa là mỗi
sinh viên thuộc một ngành, một khoa có thể gồm nhiều ngành học khác nhau.
Vào đầu học kỳ mới sinh viên đến phòng Giáo vụ đăng ký các môn học.
Việc đăng ký môn học được thể hiện qua một phiếu đăng ký. Trên phiếu đăng
ký có thông tin về sinh viên (mã sinh viên, họ tên), ngày đăng ký, học kỳ và
niên khoá đăng ký. Một phiếu đăng ký có thể có nhiều môn học (mã môn, tên
môn và số đơn vị học trình tương ứng với môn đó). Các môn học mà sinh viên
đăng ký phải được dạy trong học kỳ mà phòng Giáo vụ đã có kế hoạch trong
thời khoá biểu và được thông báo cho sinh viên biết trước khi đăng ký.
Trang 6


Phần I: Giới thiệu đề tài.

Luận văn tốt nghiệp

Mỗi môn học ngoài việc định danh bằng tên còn kèm theo số tín chỉ học
trình và được gán cho một mã số môn học. Môn học được chia làm hai loại:

môn lý thuyết và môn thực hành. Nếu đăng ký môn lý thuyết sinh viên phải trả
27000 đồng/tín chỉ, còn với môn thực hành là 37000 đồng/tín chỉ. Mỗi ngành
học bao gồm một hệ thống nhiều môn mà sinh viên thuộc ngành đó phải theo
học nằm trong nội dung chương trình giảng dạy của ngành đó; có thể có nhiều
môn thuộc chương trình giảng dạy của nhiều ngành học khác nhau. Mỗi học
kỳ, căn cứ vào việc đăng ký các môn học và đối tượng của sinh viên mà người
ta xác định được số tiền học phí mà mỗi sinh viên sẽ phải đóng.
Sau khi đăng ký môn học xong, sinh viên phải đến phòng Tài vụ của
trường để đóng học phí. Mỗi lần khi một sinh viên đến nộp học phí, một phiếu
thu được lập, trên đó ghi nhận mã số sinh viên, ngày lập, số tiền mà sinh viên
đóng và được đánh số thứ tự để tiện việc theo dõi. Mỗi phiếu thu chỉ thu tiền
học phí của một sinh viên tại một học kỳ. Mỗi học kỳ, sau khi cho sinh viên
đăng ký môn học, để khuyến khích sinh viên đóng học phí sớm nhà trường
cũng qui định một ngày mà sinh viên đóng trước ngày đó sẽ được giảm một tỷ
lệ là 5%. Sinh viên có thể đóng học phí nhiều lần trong cùng học kỳ nhưng phải
trước ngày hết hạn đóng học phí.
Khi hết hạn đóng học phí phòng Tài vụ sẽ thống kê xác định danh sách
những sinh viên còn nợ học phí trong học kỳ đó để gửi cho bộ phận quản lý của
phòng Giáo vụ loại bỏ những sinh viên đó ra khỏi danh sánh dự thi.

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu
III. Yêu cầu đối với hệ thống:

Để quản lý việc đăng ký môn học cho sinh viên, thực hiện xây dựng hệ
thống thông tin quản lý trên mạng cục bộ đáp ứng được các nhu cầu về quá
trình quản lý, thống kê, truy vấn và in ấn…Với các mục tiêu cần đạt được:
v Dựa vào dữ liệu về hồ sơ sinh viên, môn học, dự kiến kế hoạch giảng
dạy ở mỗi học kỳ.
v Thiết kế quá trình đăng ký môn học trên nhiều máy cùng một lúc, để
sinh viên có thể đăng ký ở nhiều nơi.

v In các báo biểu phục vụ trong việc đăng ký môn học và xếp lịch học cụ
thể cho từng sinh viên.
v Thống kê các báo biểu cần thiết cho việc quản lý học tập của sinh viên.
v Thống kê kết quả thu học phí theo từng khoa, ngành và in danh sách
sinh viên nợ học phí.

IV. Hướng giải quyết:
Với mục tiêu đề ra, phương pháp giải quyết được thực hiện như sau :
Trang 7


Phần I: Giới thiệu đề tài.

Luận văn tốt nghiệp

♦ Cơ sở dữ liệu được tổ chức trên Microsoft SQL Server, từ đó
các trạm làm việc có thể dùng chung cơ sở dữ liệu này mà vẫn bảo đảm được
tính nhất quán, chính xác và an toàn.
♦ Do hệ thống sử dụng trên mạng cục bộ nên ứng dụng được viết
bằng Microsoft Visual Foxpro 7.0 thông qua ODBC (Open Database
Connectivity) để truy xuất cơ sở dữ liệu.
Nội dung của đề tài bao gồm :
Phần I: GIỚI THIỆU ĐỀ TÀI
• Giới thiệu.
• Mô tả hệ thống.
• Yêu cầu đối với hệ thống.
• Hướng giải quyết.
Phần II: CƠ SỞ LÝ THUYẾT
Chương 1 : Giới thiệu mô hình Client_Server và hệ quản trị cơ sở dữ liệu
Microsoft SQL Server.


Trung

Chương này nhằm giới thiệu mô hình Client_Server, cách thức hoạt
động, các đặc điểm để nó tồn tại một cách vững mạnh trên hệ thống cơ sở dữ
liệu quan hệ và giới thiệu sơ lược về hệ quản trị cơ sở dữ liệu Microsoft SQL
Server, cách tạo các đối tượng cơ sở dữ liệu, cấp quyền cho người dùng và
tâm
Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên
các thành phần chính yếu để xây dựng một cơ sở dữ liệu cho chương trình.
Chương 2 : Trình điều khiển ODBC và những cải tiến tốc độ trong mô hình
Client_Server.
Chương này nhằm giới thiệu trình điều khiển ODBC, cách thức hoạt
động của nó, những vấn đề cần quan tâm trong môi trường đa người dùng,
những cải tiến nhằm giảm thiểu việc truyền dữ liệu trên mạng và những hỗ trợ
của Visual Foxpro cho mô hình Client_Server.
Phần III: ỨNG DỤNG TRONG CÔNG TÁC QUẢN LÝ
Chương 3: Thu thập thông tin và tổ chức dữ liệu.
Chương này giới thiệu sơ lược về quá trình thu thập các thông tin cần
thiết để xây dựng, tổ chức các mô hình MCD, MLD, MCT cho hệ thống quản
lý đăng ký môn học của sinh viên trường Đại học Cần Thơ.
Chương 4: Giới thiệu chương trình.
Chương này giới thiệu chung về mục đích, yêu cầu, ngôn ngữ cài đặt
cho chương trình. Giới thiệu hệ thống menu được xây dựng trên máy khách.
Phần IV: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Trang 8

cứu



Phần I: Giới thiệu đề tài.

Luận văn tốt nghiệp

Khái quát lại các vấn đề đã thực hiện được cũng như những vấn đề chưa
thực hiện được hoàn chỉnh và đưa ra hướng giải quyết, phát triển thêm cho sau
này.
Em xin chân thành cảm ơn Khoa Công Nghệ Thông Tin đã tạo điều kiện
cho em làm đề tài luận văn này. Đặc biệt em xin cảm ơn Thầy Đinh Khắc
Quyền và Thầy Nguyễn Thái Nghe đã hướng dẫn tận tình giúp em hoàn thành
luận văn này. Dù đã có rất nhiều cố gắng, tuy nhiên do thời gian tương đối hạn
hẹp và kiến thức còn giới hạn, kinh nghiệm thực tế ít nên chắc rằng chương
trình không tránh khỏi những thiếu sót, rất mong nhận được sự chỉ dạy, góp ý
của các thầy cô và các bạn đọc để chương trình được hoàn thiện hơn.
Cần Thơ, ngày 10/02/2003
Nguyễn Thuý Hạnh

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

Trang 9


Phần I: Giới thiệu đề tài.

Luận văn tốt nghiệp

Chương 1 : MÔ HÌNH CLIENT-SERVER và HỆ QUẢN TRỊ CƠ SỞ

DỮ LIỆU MICROSOFT SQL SERVER

I . MÔ HÌNH CLIENT_SERVER :
1. Khái niệm về phần cứng:
Client/Server là kiến trúc gồm hai thành phần máy Client và máy
Server; hai thành phần này liên lạc với nhau thông qua hệ thống mạng.
2. Khái niệm về xử lý:
Khi xây dựng và khai thác ứng dụng trên môi trường mạng, một trong
những điều cần quan tâm trước tiên là việc đánh giá các tính năng của hệ thống
mạng. Việc xây dựng và khai thác ứng dụng trên mạng sẽ dễ dàng hơn nếu có
một hệ thống mạng ổn định, thực thi nhanh và đáng tin cậy. Tuy nhiên, đối với
bất kỳ hệ thống mạng nào, khi xây dựng các ứng dụng trên nó ta cũng phải cần
tính toán sao cho việc truyền dữ liệu là tốt nhất ( giảm lượng lưu thông dữ liệu
trên đường truyền mà vẫn đáp ứng yêu cầu về dữ liệu ) và an toàn nhất. Mô
hình tính toán client/server nhằm giải quyết vấn đề này.

Trung

Trong mô hình tính toán Client/Server, các việc xử lý dữ liệu, xử lý
logic và giao diện người dùng được phân chia ra và được thực hiện tại nhiều
điểm khác nhau trong mạng. Máy Client gởi tới máy chủ các yêu cầu truy vấn
dữ liệuHọc
hoặc liệu
cập nhật
liệu ( Thơ
Thêm, @
xoá,Tài
sửa các
mẫu
tin ).tập
Máyvà
server

khi
tâm
ĐHdữCần
liệu
học
nghiên
nhận được yêu cầu truy vấn, sau khi kiểm tra quyền truy cập của người sử
dụng, sẽ tiến hành chọn lọc, tính toán, tổng hợp thông tin trong cơ sở dữ liệu
để gửi trả về kết quả truy vấn theo yêu cầu của máy client. Khi nhận được yêu
cầu truy cập dữ liệu ( thêm, xoá, sửa ) máy chủ ngoài việc kiểm tra quyền truy
cập của người yêu cầu còn phải bảo đảm việc cập nhật không phá vỡ tính toàn
vẹn của dữ liệu. Database Server còn có nhiệm vụ liên lạc với các cơ sở dữ liệu
khác để lấy được các thông tin cần một cách thông suốt cho dù dữ liệu thực sự
nằm phân tán trên nhiều máy chủ khác nhau hay cơ sở dữ liệu phân tán trên
nhiều server.
Việc phân chia nhiệm vụ giữa Client và Server là nhân tố quyết định sự
thành bại của việc ứng dụng mô hình tính toán Client/Server.
Do đó mà Client_Server được xem như là một cơ chế liên lạc theo đó
những yêu cầu cung cấp dữ liệu hoặc việc ra lệnh thường được phát đi từ phía
những ứng dụng của khách hàng. Những yêu cầu này sẽ được diễn dịch bởi
ứng dụng Server, Server tiến hành thực hiện yêu cầu và gởi trả kết quả thực
hiện (nếu thành công) hoặc thông báo lỗi về cho khách hàng.
Trong hệ thống quản trị cơ sở dữ liệu mạng, khái niệm Client_Server
được hiểu như sau: một ứng dụng khách hàng (Client) sẽ yêu cầu cung cấp dữ
liệu trích từ một hệ thống quản trị cơ sở dữ liệu quan hệ (RDBMS: Relational
Database Management Sysrem). Hệ thống RDBMS (Server) sẽ xử lý yêu cầu
và gởi trả kết quả thực hiện cho khách hàng.

Trang 10


cứu


Phần I: Giới thiệu đề tài.

Luận văn tốt nghiệp

Yêu cầu
Client 1
Trả lời
Yêu cầu
Client 2
Trả lời
Server
Yêu cầu
Client n

Trả lời

Mô hình truy xuất giữa Client/Server
Kiến trúc Client_Server là một phương pháp lý tưởng để tập trung quản
lý các tập tin cơ sở dữ liệu khi kích thước các tập tin này là khá lớn và được
sử dụng bởi nhiều người ở nhiều nơi khác nhau. Người sử dụng không trực
tiếp thao tác trên các tập tin cơ sở dữ liệu đặt trên Server mà chỉ thông qua
các câu truy vấn SQL để yêu cầu Sever thực hiện và trả về kết quả thực hiện
cho mình.
ứng ĐH
dụng Cần
Client_Server
cho Tài

phép liệu
chuyển
việctập
xử lývà
dữ nghiên
liệu từ
Trung tâm Như
Họcvậyliệu
Thơ @
học
cứu
trạm làm việc tới Server giảm đi việc dữ liệu phải chuyển đi chuyển về giữa
Client_Server tránh được tình trạng quá tải trên mạng và sự đòi hỏi về nguồn
lực của mạng, đảm bảo yêu cầu máy chủ có thể phục vụ tốt cho nhiều máy
khách, thời gian thực thi cũng nhanh hơn so với khi trạm làm việc
(workstation) thực hiện truy tìm dữ liệu. Chỉ cần Server là một máy đủ mạnh,
máy khách cũng trở nên thông minh và năng động hơn.
Mô hình Client_Server tồn tại và phát triển mạnh hơn trong giai đoạn
hiện nay trên cơ sở dữ liệu quan hệ là nhờ vào những ưu điểm sau:
♦ Đảm bảo tính toàn vẹn dữ liệu: bảo đảm việc ngăn chặn các lỗi và
những bấc hợp lệ trong việc lưu trữ dữ liệu. Trong hệ thống cơ sở dữ liệu
quan hệ, tính toàn vẹn dữ liệu có thể được cài đặt ở cấp Server. Khi dữ liệu
thay đổi ở hệ thống cơ sở dữ liệu quan hệ, nó sẽ tự động hiển thị giống như
vậy ở tất cả các cấp ứng dụng.
♦ Ngôn ngữ hỏi (SQL: Structured Query Language ): SQL cung cấp một
phương pháp chung cho việc truy vấn một cách nhanh chóng và chính xác
trong cơ sở dữ liệu quan hệ. SQL Server 2000 dùng Transact_SQL làm ngôn
ngữ SQL cơ sở.
♦ Tính linh động: cấu trúc của cơ sở dữ liệu có thể thay đổi mà không
cần phải biên dịch hoặc cập nhật lại cơ sở dữ liệu. Một bảng (table ) mới


Trang 11


Phần I: Giới thiệu đề tài.

Luận văn tốt nghiệp

được tạo trên Server hoặc một bảng đã tồn tại có thay đổi thì cũng không ảnh
hưởng đến hoạt động của hệ thống.
♦ Lưu trữ dữ liệu hiệu quả, bảo đảm tính nhất quán.
♦ Mức độ an toàn cao.
II. CƠ SỞ DỮ LIỆU PHÂN TÁN:
1. Hệ thống phân tán:
Trong một hệ thống CSDL phân tán, CSDL được lưu trữ trên một vài
máy tính. Các máy tính trong một hệ thống phân tán liên lạc với một máy khác
qua nhiều dạng phương tiện liên lạc khác nhau: mạng tốc độ cao, đường điện
thoại…Chúng không chia sẻ bộ nhớ cũng như đĩa. Các máy tính trong một hệ
thống phân tán có thể rất đa dạng về kích cỡ cũng như chức năng từ các
workstation đến các mainrame. Các máy tính trong hệ thống phân tán được
tham chiếu bởi một số các tên khác nhau --site, note-- phụ thuộc vào ngữ cảnh
mà máy được đề cập.
Site C

Site A
Mạng

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu
Liên lạc thông
qua mạng


Site B

Hệ thống phân tán là CSDL phân tán được tách biệt về mặt địa lý, được
quản lý tách biệt và có một sự hợp nhất chậm. Và có sự phân biệt giữa các giao
dịch cục bộ (local) và toàn thể (global). Giao dịch cục bộ là một giao dịch truy
xuất dữ liệu trong một site tại đó giao dịch đã được khởi xướng. Giao dịch toàn
thể là một giao dịch mà nó truy xuất dữ liệu trong một site từ một site khác tại
đó nó được khởi xướng hoặc truy xuất dữ liệu trong một vài site khác nhau.

2. Giới thiệu MS DTC :
Microsoft Distributed Transaction Coordinator (MS DTC) là một nhà quản
lý giao dịch cho phép các client ứng dụng trên một vài nguồn dữ liệu khác nhau

Trang 12


Phần I: Giới thiệu đề tài.

Luận văn tốt nghiệp

trong một giao dịch. MS DTC liên kết đến các giao dịch phân tán đến tất cả các
server trong giao dịch.
SQL server có thể tham gia vào một giao dịch bằng cách:
ü Gọi thủ tục lưu trữ trên các server từ xa đang chạy SQL server.
ü Giao dịch cục bộ được cải tiến một cách tự động hoặc tường
minh đến một giao dịch phân tán và thêm vào những server từ xa
trong giao dịch.

ü Cập nhật dữ liệu trên nhiều dữ liệu nguồn OLE DB.

Nếu dữ liệu nguồn OLE DB này chứa giao diện của giao dịch phân tán OLE
DB thì SQL server cũng có thể thêm chúng vào giao dịch phân tán.
Dịch vụ MS DTC liên kết đến giao dịch phân tán để chắc chắn rằng hoặc tất cả
mọi sự cập nhật trên tất cả server được lâu dài hoặc tất cả được xoá bỏ trong
trường hợp lỗi.

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

Trang 13


Phần I: Giới thiệu đề tài.

Luận văn tốt nghiệp

Các ứng dụng SQL server cũng có thể gọi MS DTC một cách trực tiếp để bắt
đầu một giao dịch phân tán một cách tường minh. Một hoặc nhiều server đang
chạy SQL server có thể được cung cấp thông tin để thêm vào giao dịch phân
tán và liên kết đến giao dịch bằng MS DTC.

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

3. Các giao dịch phân tán (Distributed Transactions).
Các giao dịch phân tán liên kết hai hay nhiều server được xem như là
những nhà quản lý tài nguyên. Việc quản lý các giao dịch phải được liên kết
với những nhà quản lý tài nguyên bởi một bộ phận server được gọi là nhà quản
lý giao dịch. Microsoft SQL server có thể thao tác như là một nhà quản lý tài
nguyên trong các giao dịch phân tán. Các giao dịch phân tán được liên kết bởi
nhiều nhà quản lý giao dịch như MS DTC, hay những nhà quản lý giao dịch
khác có chứa X/Open XA cho tiến trình giao dịch phân tán.

Một giao dịch trong một SQL server riêng lẻ liên kết đến hai hay nhiều
cơ sở dữ liệu thật ra chỉ là một giao dịch phân tán. Tuy nhiên SQL quản lý giao
dịch phân tán cho phép người sử dụng thao tác như là một giao dịch cục bộ.
Trong một ứng dụng, một giao dịch phân tán được quản lý bởi một giao
dịch cục bộ. Khi kết thúc một giao dịch, chương trình ứng dụng yêu cầu hoặc là
giao dịch được bàn giao (committed) hoặc bị cuộn lại (rollback), một giao dịch
phải được quản lý bởi những nhà quản lý giao dịch để làm tối thiểu hoá sự rủi
ro của việc thất bại trên mạng, điều này có thể dẫn đến một số nhà quản lý tài
nguyên cho các giao dịch được bàn giao thành công trong khi những nhà quản
lý tài nguyên khác thì cuộn lại các giao dịch. Việc quản lý các tiến trình của

Trang 14


Phần I: Giới thiệu đề tài.

Luận văn tốt nghiệp

giao dịch thành công gồm hai giai đoạn: giai đoạn chuẩn bị và giai đoạn bàn
giao.
ü Giai đoạn chuẩn bị:
Khi nhà quản lý giao dịch nhận một yêu cầu commit, nó sẽ gởi một lệnh
chuẩn bị đến tất cả các nhà quản lý tài nguyên được lên kết trong giao dịch. Khi
đó, mỗi nhà quản lý tài nguyên sẽ thực thi mọi yêu cầu để cho các giao dịch tồn
tại bền lâu và tất cả các buffer sẽ lưu trữ một sổ ghi lộ trình (log) để ghi lại
những hình ảnh thay đổi của giao dịch, sau đó sẽ được ghi lên đĩa. Sau khi mọi
nhà quản lý tài nguyên hoàn thành giai đoạn chuẩn bị nó sẽ gởi trả về kết quả
thành công hay thất bại của giai đoạn chuẩn bị đến nhà quản lý giao dịch.
ü Giai đoạn bàn giao (commit):
Nếu nhà quản lý giao dịch nhận được kết quả trả về là thành công từ tất

cả các nhà quản lý tài nguyên, nó sẽ gởi lệnh commit đến mọi nhà quản lý tài
nguyên. Những nhà quản lý tài nguyên có thể hoàn thành thành công giao dịch.
Nếu tất cả các nhà quản lý tài nguyên thông báo một giao dịch thành công hoàn
toàn thì nhà quản lý giao dịch sẽ gởi thông báo thành công đến ứng dụng. Nếu
có bất cứ nhà quản lý tài nguyên nào trả về kết quả thất bại của giai đoạn chuẩn
bị thì nhà quản lý tài nguyên sẽ gởi một lệnh cuộn lại (rollback) đến mỗi nhà
quản lý tài nguyên và trả về thông báo thất bại của ứng dụng.

Trung

Ứng dụng SQL server có thể quản lý giao dịch phân tán hoặc bằng lệnh
Transact_SQL
hoặcĐH
bằngCần
cơ sở Thơ
dữ liệu@
API.Tài liệu học tập và nghiên
tâm
Học liệu
4. Một số lệnh được sử dụng trong giao dịch.
Để bắt đầu của một giao dịch phân tán được quản lý bởi MS DTC theo cú
pháp sau:
¯BEGIN
DISTRIBUTED
[transaction_name | @tran_name_variable]

TRAN[SACTION]

Trong đó:
Transaction_name: tên giao dịch do người dùng định nghĩa để theo dõi giao

dịch, gồm 32 ký tự và theo qui tắc đặt tên.
@Tran_name_variable: tên biến do người dùng định nghĩa có kiểu dữ liệu
gồm: char, nchar, varchar, nvarchar.
Khi SQL thực thi câu lệnh BEGIN DISTRIBUTED TRANSACTION là
lệnh khởi đầu một giao dịch và được điều khiển cho đến khi hoàn tất giao dịch.
Khi có một lệnh COMMIT TRANSACTION hay ROLLBACK
TRANSACTION theo sau được phát ra thì việc điều khiển server yêu cầu MS
DTC phải tổ chức lại việc phân tán các giao dịch đến những server có liên
quan. Các SQL server từ xa được thêm vào trong một giao dịch phân tán bằng
hai phương pháp:

Trang 15

cứu


Phần I: Giới thiệu đề tài.

Luận văn tốt nghiệp

ü Một nối kết sẵn có để thêm vào một giao dịch phân tán thực hiện
một lời gọi thủ tục từ xa tham chiếu đến một server từ xa.
ü Một nối kết sẵn có để thêm vào một giao dịch phân tán thực thi
một câu lệnh truy vấn phân tán tham chiếu đến một server từ xa.
Ví dụ : nếu lệnh BEGIN DISTRIBUTED TRANSACTION được phát ra trên
Server A, nối kết gọi một thủ tục lưu trữ trên Server B và một thủ tục lưu trữ
khác trên Server C, và một thủ tục lưu trữ trên Server C thực thi một truy vấn
phân tán đối với Server D, khi đó tất cả bốn server được liên quan với nhau
trong một giao dịch phân tán. Server A là khởi đầu, điều khiển giao dịch server
trong giao dịch.

Những nối kết liên quan trong giao dịch phân tán Transact_SQL không
nhận một đối tượng giao dịch, chúng có thể đến nối kết khác để thêm vào trong
giao dịch phân tán. Phương pháp duy nhất để một server từ xa thêm vào một
giao dịch là ở sau cùng của một lời gọi thủ tục từ xa hay một câu truy vấn phân
tán.
Ví dụ sau là cập nhật trường class_name của bảng Author trên dữ liệu cục bộ
và từ xa. Dữ liệu cục bộ và từ xa có thể thực thi hoặc lệnh commit hoặc
rollback.
USE pubs
GO liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu
Trung tâm Học
BEGIN
DISTRIBUTED
TRANSACTION
UPDATE
authors
SET au_lname = 'McDonald' WHERE au_id = '409-567008'
EXECUTE remote.pubs.dbo.changeauth_lname '40956-7008','McDonald'
COMMIT TRAN
GO
¯ COMMIT TRANSACTION
Cú pháp:
COMMIT
[
@tran_name_variable] ]

TRAN[SACTION]

[transaction_name


|

Trong đó:
Transaction_name: tên giao dịch được gán bởi lệnh BEGIN
TRANSACTION sau đó.
Tran_name_variable: tên biến do người dùng định nghĩa, nó phải có
kiểu dữ liệu là char, nchar, varchar, ncharvar.

Trang 16


Phần I: Giới thiệu đề tài.

Luận văn tốt nghiệp

Công việc của lập trình viên là phát ra lệnh COMMIT TRANSACTION
tại thời điểm ngay khi các giao dịch tham chiếu đến tất cả các dữ liệu là hợp lý.
Nếu giao dịch được bàn giao là một giao dịch phân tán, COMMIT
TRANSACTION gởi lệnh ứng tác đến MS DTC để thực hiện hai giai đoạn của
giao thức để hoàn thành giao dịch và bàn giao đến tất cả các server có liên quan
trong giao dịch. Nếu một giao dịch cục bộ liên kết hai hay nhiều cơ sở dữ liệu
trên cùng server, SQL server thực hiện hai giai đoạn hoàn thành giao dịch để
bàn giao đến tất cả cơ sở dữ liệu liên quan trong giao dịch.
Việc bàn giao các giao dịch bên trong không có tài nguyên giải phóng
hoặc sự thay đổi lâu dài. Việc thay đổi dữ liệu lâu dài và tài nguyên được giải
phóng chỉ khi các giao dịch phía ngoài được bàn giao. Mỗi lệnh COMMIT
TRANSACTION phát ra khi @@trancount >1, một cách đơn giản là giảm
@@trancount xuống 1. Khi @@trancount giảm đến 0, thì các giao dịch bên
trong được bàn giao hoàn toàn. Lệnh COMMIT TRANSACTION được phát ra
sẽ tham chiếu đến tên của giao dịch bên ngoài khi còn tồn tại những giao dịch

bên trong giảm @@trancount xuống 1.
Ví dụ:
BEGIN TRANSACTION
USE pubs

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu
GO
UPDATE titles
SET advance = advance * 1.25
WHERE ytd_sales > 8000
GO
COMMIT
GO
¯ ROLLBACK TRANSACTION
Cú pháp:
ROLLBACK
[TRAN[SACTION]
[transaction_name
@tran_name_variable | savepoint_name | @savepoint_variable] ]

|

Trong đó:
Transact_name: là tên gán cho giao dịch được gán bởi lệnh BEGIN
TRANSACTION sau đó.
@tran_name_variable: tên biến do người dùng định nghĩa, nó có kiểu dữ liệu
char, nchar, varchar, nvarchar.

Trang 17



Phần I: Giới thiệu đề tài.

Luận văn tốt nghiệp

Savepoint_name: là tên được chỉ định trong câu lệnh SAVE TRANSACTION.
sử dụng savepoint_name khi điều kiện Rollback là nên ảnh hưởng chỉ một phần
của giao dịch.
@savepoint_name: là tên biến do người dùng định nghĩa nó có kiểu dữ liệu là
char, nchar, varchar, ncharvar.
Rollback Transaction: xoá tất cả những thay đổi trên dữ liệu từ khi bắt
đầu giao dịch hoặc từ một điểm dừng (savepoint). Nó cũng giải phóng tài
nguyên mà giao dịch chiếm giữ.
Câu lệnh Rollback Transaction chỉ rõ một tên điểm dừng thì sẽ không có
bất cứ khoá nào giải phóng.
Rollback Transaction: không thể tham chiếu đến một điểm dừng trong
các giao dịch phân tán được bắt đầu hoặc giao dịch thực hiện một cách tường
minh bằng câu lệnh Begin Distributed Transaction hoặc nhảy từ một giao dịch
cục bộ.
Một giao dịch không thể thực hiện lệnh Rollback sau khi một câu lệnh
Commit Transaction được thực thi.
Trong một giao dịch, hai điểm dừng cùng tên được cho phép, nhưng
trong một lệnh Rollback Transaction sử dụng hai điểm dừng cùng tên thì chỉ
thực hiện đối với tên điểm dừng gần nhất.
Nếu một lệnh Rollback Transaction được phát ra trong một lệnh ứng tác
thì: Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu
Trung tâm
ü Tất cả những thay đổi trên dữ liệu trong giao dịch hiện hành được
cuộn lại.
ü Lệnh ứng tác tiếp tục thực thi bất cứ câu lệnh nào sau lệnh

Rollback. Nếu những câu lệnh này làm thay đổi dữ liệu thì những
sửa đổi này không được cuộn lại.
ü Một nhóm lệnh sau câu lệnh được kích động bởi lệnh ứng tác thì
không được thực thi.

III . CƠ SỞ DỮ LIỆU MICROSOFT SQL SERVER :
A . GIỚI THIỆU :
Hệ quản trị cơ sở dữ liệu SQL Server đầu tiên được Sysbase thiết kế trên
nền OS/2 sau đó được Microsoft phát triển để chạy trên nền Windows NT
vào những năm đầu thập niên 90. SQL Server đã được nâng cấp qua nhiều
phiên bản và phiên bản mới nhất hiện nay là SQL Server 2000 . Ngoài những
ưu điểm trong việc quản trị và sử dụng được dễ dàng hơn nhờ giao diện đồ
hoạ thân thiện với người dùng, SQL Server còn có các đặc điểm quan trọng
sau:

Trang 18


Phần I: Giới thiệu đề tài.

Luận văn tốt nghiệp

• Đa xử lý: có thể thực hiện cùng lúc nhiều tác vụ.
• Không phụ thuộc vào mạng: hệ điều hành Windows NT hỗ trợ nhiều
kiểu giao thức mạng khác nhau cho phép người dùng có thể lựa chọn giao
thức phù hợp với công việc.
• Tính tương thích: SQL Server có thể chạy trên nhiều nền phần cứng
khác nhau mà Windows NT đã hỗ trợ.
• Độ tin cậy và tính an toàn cao: ngoài cấp độ bảo mật của Windows
NT, SQL Sever còn có thêm ba cấp độ bảo mật: cấp đăng nhập SQL Server,

cấp cơ sở dữ liệu và cấp đối tượng cơ sở dữ liệu.
B . SQL SERVER VÀ MÔ HÌNH CLIENT/SERVER :
Client /Server có thể được xác định như một ứng dụng được chia thành
hai phần: một phần chạy trên Server (máy chủ), và phần khác chạy trên các
Workstations (máy trạm). Phía server của ứng dụng cung cấp độ bảo mật, tính
năng chịu lỗi, hiệu suất, chạy đồng thời, và sao lưu dự phòng tin cậy. Phía
Client cung cấp giao diện với người sử dụng và có thể chứa các báo cáo, các
truy vấn và các forms. SQL server là phần Server của chương trình, có nhiều
Client khác nhau có thể kết nối vào SQL server, trong đó có cả các tiện ích của
SQL Server, chẳng hạn như SQL Server query analyzer .
lợi điểm
gồm :@ Tài liệu học tập và nghiên cứu
Trung tâmCác
Học
liệu của
ĐHServer
CầnbaoThơ
ü Đáng tin cậy.
ü Chạy đồng thời.
ü Khoá tinh xảo.
ü Chịu lỗi.
ü Phần cứng có hiệu suất cao.
ü Điều khiển tập trung.
Các lợi điểm của Client bao gồm :
ü Dễ sử dụng.
ü Hỗ trợ trên nhiều nền phần cứng .
ü Hỗ trợ trên nhiều ứng dụng phần mềm.
ü Quen thuộc với người dùng.
C . CÁC KIỂU ĐỐI TƯỢNG :
Các cơ sở dữ liệu trên SQL Server bao gồm cả dữ liệu lẫn đối tượng cơ

sở dữ liệu. Đối tượng cơ sở dữ liệu (Database objects) được dùng để chứa dữ
liệu (là một đối tượng ví dụ như là một bảng) hoặc để tương tác với dữ liệu

Trang 19


Phần I: Giới thiệu đề tài.

Luận văn tốt nghiệp

(là một đối tượng ví dụ như là một thủ tục có sẵn). Về cốt lõi mọi thứ do SQL
Server quản lý đều là đối tượng bao gồm các cơ sở dữ liệu SQL và các thứ
mà từng cơ sở dữ liệu chứa đựng. Một cơ sở dữ liệu có thể chứa các loại đối
tượng khác nhau như bảng, khung nhìn, chỉ mục, kiểu dữ liệu, trị ngầm định,
các quy tắc, thủ tục có sẵn, bộ trích khởi và các ràng buộc … .
1. Bảng ( table ) :
Bảng là đối tượng quan trọng nhất trong một cơ sở dữ liệu vì đây là
nơi lưu trữ dữ liệu. Bảng được hình thành từ các hàng và các cột. Ta có thể
truy xuất, chỉnh sửa hay xoá bỏ dữ liệu của bảng bằng cách sử dụng ngôn ngữ
truy vấn SQL.
Ví dụ : bảng khoa

Makhoa

Tenkhoa

D1

Công Nghệ Thông Tin


D2

Kinh tế

2. Khung nhìn ( view ) :

Trung tâm Học
liệu
Cần
Thơ
liệudữhọc
tậptrữvàtrong
nghiên
cứu
Khung
nhìnĐH
để đưa
ra sự
thay@
thế Tài
khi xem
liệu lưu
các
bảng. Khung nhìn được tạo ra để hiển thị một tập con các dữ liệu từ một bảng
hoặc có sự kết nối của hai hay nhiều bảng. Bản thân kiểu xem không thực sự
chứa dữ liệu mà chỉ trỏ tới dữ liệu đã được lựa chọn và thể hiện bằng hình
ảnh.
Ví dụ :
CREAT VIEW tenkhoa AS
SELECT tenkhoa

FROM khoa
Ta được kết quả :

Tenkhoa
Công Nghệ Thông Tin
Kinh tế
3. Chæ muïc ( index ) :

Trang 20


Phần I: Giới thiệu đề tài.

Luận văn tốt nghiệp

Chỉ mục là đối tượng cơ sở dữ liệu dùng để tăng tốc độ truy cập dữ
liệu. Chỉ mục chứa biến trỏ được sắp xếp theo thứ tự trỏ đến dữ liệu lưu trữ
trong các bảng, cho phép nhanh chóng đònh vò dữ liệu. SQL Server có các
loại chỉ mục:

a. Chỉ mục kết cụm (Clustered index ) :
Chỉ mục kết cụm buộc các hàng trong bảng lưu trữ theo thứ tự, dùng
một cột của bảng để sắp xếp các hàng. Một bảng chỉ có duy nhất một chỉ
mục kết cụm.

b. Chỉ mục phi cụm (Nonclustered index ) :
Chỉ mục phi cụm không dàn xếp dữ liệu mà chỉ trỏ đến dữ liệu trong
bảng. Chỉ mục phi cụm yêu cầu nhiều phạm vi lưu trữ hơn chỉ mục kết cụm
nhưng dùng ít phạm vi hơn khi tạo. Truy xuất dữ liệu dùng chỉ mục kết cụm
thường nhanh hơn so với chỉ mục phi cụm.


c. Các chỉ mục duy nhất (Unique index) và không duy nhất (Nonunique index) :

Trung

Tính duy nhất xác đònh dữ liệu có được phép trùng lặp hay không
trong chỉ mục. Chẳng hạn, có một chỉ mục dựa vào mã số sinh viên, hai
sinh viên không thể có cùng một mã số nếu chỉ mục là duy nhất, mặc đònh
tâm
Học
ĐH SQL
CầnServer
Thơlà@
liệu
tập làvàchonghiên
đối vớ
i chỉ liệu
mục trong
khôTài
ng duy
nhấthọc
, có nghóa
phép
trùng lặp dữ liệu.
Nếu dữ liệu thích hợp, việc tạo một chỉ mục duy nhất có thể nâng
cao hiệu suất sử dụng chỉ mục, sẽ không cần tìm tiếp đến cuối sau khi đã
tìm thấy.
Chỉ mục Clustered là ứng cử viên tốt cho chỉ mục duy nhất vì SQL
Server luôn buộc các chỉ mục Clustered là duy nhất. Nếu ta tạo một chỉ
mục Clustered không duy nhất, SQL Server sẽ ngầm tạo thêm một giá trò

khóa để thành chỉ mục duy nhất.

d. Chỉ mục một cột và chỉ mục nhiều cột :
Nhiều chỉ mục chỉ có một cột, ta cũng có thể tạo ra chỉ mục nhiều
cột (chỉ mục hỗn hợp). Chỉ mục nhiều cột tương đối hữu ích vì SQL Server
có thể dùng một chỉ mục trên một bảng trong một truy vấn đơn giản. Các
chỉ mục nhiều cột có thể là loại Clustered hay Non-clustered.

4. Kiểu dữ liệu ( Datatype ) :
Kiểu dữ liệu đònh nghóa hoặc mô tả kiểu của dữ liệu có thể đưa vào
một cột và cách nó được lưu trữ trong cơ sở dữ liệu. Kiểu dữ liệu phải được
chỉ đònh cho mọi cột trong bảng. SQL Server có thể gộp nhiều kiểu dữ liệu

Trang 21

cứu


Phần I: Giới thiệu đề tài.

Luận văn tốt nghiệp

chuẩn, ngoài ra ta còn có thể tạo ra các kiểu dữ liệu tuỳ biến theo nhu cầu
của người sử dụng (kiểu dữ liệu do người dùng đònh nghóa).
Các kiểu dữ liệu chuẩn

Kiểu dữ liệu

Tên Transact-SQL


Approximate Numbers

Float(n), real

Binary

Binary(n), varbinary(n)

Character

Char(n), varchar(n)

Date & Time

Datetime, smalldatetime

Dollars & Cents

Money, smallmoney

Exact Numbers

Dacimal, numeric

Integers

Int, smallint, tinyint

Special


Bit, timestamp, user-defined

Text & Images

Text, image

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu
5. Trị ngầm định ( Default value ) :

Trị ngầm định là giá trị được tự động nhập vào các cột khi khơng có
giá trị nào được nhập vào đó trong q trình nhập và chỉnh sửa dữ liệu.
6. Quy tắc ( Rule ) :
Quy tắc là những đối tượng cơ sở dữ liệu được dùng để điều khiển dữ
liệu nhập vào bảng tránh tình trạng nhập sai dữ liệu, bảo đảm dữ liệu nhập
vào phải nằm trong miền giá trị chấp nhận được, nếu khơng sẽ nhận được
thơng báo dữ liệu bị sai và cần phải sửa lại dữ liệu đó.
7. Các thủ tục trữ sẵn ( Store procedure ) :
Là đối tượng cơ sở dữ liệu mạnh và linh hoạt , cho phép tự động hố
nhiều cơng việc. Chúng bao gồm những điều lệnh Transact-SQL biên dịch
sẵn để thực thi các cơng việc định trước.
Ví dụ :
CREAT PROCEDURE sp_khoa AS
SELECT tenkhoa
FROM khoa
Thực thi thủ tục , ta được kết quả :

Trang 22


Phần I: Giới thiệu đề tài.


Luận văn tốt nghiệp

Tenkhoa
Công Nghệ Thông Tin
Kinh tế

8. Bộ trích khởi ( Trigger ) :
Bộ trích khởi là một kiểu thủ tục dự trữ sẵn đặc biệt được tự động thi
hành mỗi khi xảy ra các sự kiện cụ thể cho một bảng (như sự kiện: insert,
delete, update … ).
Mỗi khi thực hiện việc chèn, cập nhật hay xoá dữ liệu trong bảng, bộ
trích khởi trong bảng đó có thể tự động phát động, thi hành một loạt các điều
lệnh Transac-SQl có trong trình trích khởi, thực hiện hầu như mọi công việc
mà SQL Server có thể thực hiện.
Các trình trích khởi thường được các phát triển viên Transac-SQL tạo
ra để bảo đảm sự toàn vẹn dữ liệu bằng cách ngăn không cho những thay đổi
không nhất quán được thực hiện.

Trung tâm9. Học
liệu(ĐH
Cần)Thơ
@ Tài liệu học tập và nghiên cứu
Ràng buộc
Constraint
:
Các hạn chế dùng để củng cố tính nguyên vẹn dữ liệu. Trong nhiều
cách chúng cũng giống như kiểu dữ liệu, trị ngầm định, quy tắc hay bộ trích
khởi, đều dùng để bảo đảm tính nguyên vẹn cho dữ liệu.


D . KIẾN TRÚC KHO LƯU TRỮ DỮ LIỆU :
1. Trang ( Page ) :
Mọi thông tin trong SQL Server được lưu trữ trong một trang .
Trang là cấu trúc dữ liệu nhỏ nhất được dùng trong một cơ sở dữ liệu.
Mỗi trang có thể lưu giữ được 2 KB ( 2,048 byte) thông tin. Một trang gồm
phần đầu trang (header) với 32 bytes dùng để định danh duy nhất dữ liệu lưu
trữ trên trang, 2016 bytes còn lại dùng chứa dữ liệu. Phần đầu được SQL
Server dùng để định danh duy nhất dữ liệu lưu trữ trên trang đó. SQL Server
có năm kiểu trang khác nhau:
§ Trang phân bổ [allocation pages]: dùng để điều khiển việc phân
bổ các trang cho các bảng và các chỉ mục trong một cơ sở dữ liệu.
§ Trang sổ theo dõi và dữ liệu [ data and log pages]: dùng để lưu
trữ dữ liệu cơ sở dữ liệu và dữ liệu sổ theo dõi giao dịch.

Trang 23


Phần I: Giới thiệu đề tài.

Luận văn tốt nghiệp

§ Trang chỉ mục [index pages]: dùng để lưu trữ thông tin lập chỉ
mục.
§ Trang phân phối [distributio pages]: dùng để lưu trữ thông tin
về
các chỉ mục trong một cơ sở dữ liệu.
§ Trang văn bản/hình ảnh [text/image pages]: dùng để lưu trữ các
khối văn bản hay các đối tượng nhị phân lớn (BLOB).
2. Liên trang ( Extent page ) :
Liên trang là cấu trúc dữ liệu được hình thành bởi 8 trang liền kề nhau.

SQL Server tự động phân bố một liên trang mỗi khi tạo một cơ sở dữ liệu mới
như một bảng chẳng hạn. Một liên trang chỉ có thể gộp một đối tượng cơ sở
dữ liệu.
3. Đơn vị phân bố ( Allocation unit ) :
Một cấu trúc dữ liệu được hình thành bởi 32 liên trang (256 trang)
tương ứng với 512 KB. Do đó mỗi khi một cơ sở dữ liệu mới được tạo, không
gian được phân bố từng 512 KB một.
4. Các sổ theo dõi giao dịch ( Transaction log ) :
Khi một cơ sở dữ liệu được tạo ra bằng SQL Server, một sổ theo dõi

Trung tâm
liệu
ĐH
@theo
Tài
họclà tập
vàtrữnghiên
cứu
giao Học
dịch cũng
được
tạoCần
ra cùngThơ
lúc. Sổ
dõiliệu
giao dịch
khu lưu
dành
riêng trên một thiết bị dùng để tự động ghi lại tất cả mọi thay đổi đã thực hiện
cho các đối tượng cơ sở dữ liệu, trước khi các thay đổi đó được thực hiện trên

cơ sở dữ liệu. Đây là tính năng dùng lỗi quan trọng của SQL Server giúp
ngăn ngừa một cơ sở dữ liệu không bị phân huỷ.
Khi một cơ sở dữ liệu được tạo, ta phải chỉ định vị trí của thiết bị được
dùng để lưu trữ sổ theo dõi giao dịch.

E . CÁCH TẠO CÁC CƠ SỞ DỮ LIỆU :
Tạo một cơ sở dữ liệu , thực ra là ta phân bổ không gian trên một thiết bị
để lưu trữ dữ liệu và các đối tượng cơ sở dữ liệu đồng thời cũng đang tạo ra
các bảng hệ thống tồn tại trong một cơ sở dữ liệu SQL Server.
Có được một cơ sở dữ liệu, ta có thể bổ sung các bảng, kiểu xem, chỉ mục
và các đối tượng cần thiết khác hình thành nên cơ sở dữ liệu hoàn chỉnh.
Tương tự, ta cũng có hai cách được sử dụng để tạo một cơ sở dữ liệu mới:
1. Tạo một cơ sở dữ liệu bằng SQL Enterprises Manager :
Thực hiện theo các bước :
• Từ cửa sổ Server Manager của SQL Server Manager, mở thư liệu
SQL Server .
Trang 24


Phần I: Giới thiệu đề tài.

Luận văn tốt nghiệp

• Mở thư liệu Database, lựa New Database từ lệnh đơn (hoặc nhắp
phải chuột, chọn New).
• Nhập tên cho cơ sở dữ liệu trong hộp thoại ‘Name’ của Tab
‘General’ , ví dụ là ‘QLDKMH ‘. Khung Database file bắt đầu thay đổi, một
file database có tên QLDKMH_Data với kích thước ban đầu là 1 MB trong
thư mục mặc định Mssql/data. Nếu nhìn vào File Properties ở cuối hộp thọai,
nhận thấy tùy chọn Automatically Grow file được chọn với thuộc tính File

grow đã được thiết đặt mặc định , kích thước file tối đa được đặt mặc định là
Unrestricted filegrowth. Ta có thể thay đổi hoặc giữ nguyên các thuộc tính
mặc định của cơ sở dữ liệu.
• Nhắp chọn Tab Transaction Log, ta thấy có một tên mặc định là
‘QLDKMH_Log’ với kích thước 1 MB.


Nhắp Ok để hoàn thành việc tạo cơ sở dữ liệu mới.

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

2. Tạo cơ sở dữ liệu bằng Transact-SQL :
Cú pháp của điều lệnh Transact-SQL dùng tạo cơ sở dữ liệu mới :
CREAT DATABASE database_name
[ON {[PRIMARY]
( NAME = logical_name,
FILENAME=’physical_name’
[.SIZE = size ]
Trang 25


×