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

luận văn THIẾT KẾ WEBSITE ĐẶT TOUR DU LỊCH

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 (225.59 KB, 26 trang )

LỜI MỞ ĐẦU
Trong môi trường kinh tế đang phát triển mạnh, cạnh tranh gay gắt, cùng với sự
phát triển vượt bậc của khoa học kỹ thuật thì cơng nghệ thơng tin và thương mại
điện tử là một trong những lĩnh vực nổi cộm, có nhiều đóng góp thiết thực nhất cho
nền kinh tế. Công nghệ thông tin và thương mại điện tử có mặt trong hầu hết các
lĩnh vực của cuộc sống và trở thành một công cụ hỗ trợ rất đắc lực trong công tác
quản lý, kinh doanh. Ngày nay, “ Thương mại điện tử “ đem lại rất nhiều lợi ích
khơng những cho các doanh nghiệp mà người tiêu dùng cũng có những lợi ích như
tích kiệm thời gian và chi phí trơng việc mua sắm và tiêu dùng. Việc bán hàng qua
mạng khơng cịn là hình thức xa lạ đối với người tiêu dùng nữa, bán hàng qua mạng
là hình thức làm việc rất phổ biến, hình thức này bất kỳ một doanh nghiệp kinh
doanh sản phẩm đều lựa chọn. Vì vậy, việc đi sâu vào thương mại điện tử là rất điều
cần thiết và phù hợp với sinh viên tin học ngành công nghệ thông tin như chúng em.
Chính vì lý do đó em đã chọn cho mình đề tài luận văn:
THIẾT KẾ WEBSITE ĐẶT TOUR DU LỊCH
Hoạt động của một cơng ty du lịch có quy mô khá lớn sẽ càng được tăng cường
và mở rộng nếu xây dựng được một website có khả năng giới thiệu được công ty và
cho phép quản lý các tour du lịch một cách nhanh chóng và chính xác nhất. Bắt
nguồn với ý tưởng này, cùng với những gợi ý của cô Cao Thu Hương, em đã thực
hiện chuyên đề trên
Nội dung của báo cáo được trình bày như sau ::
Lời mở đầu
1.1 Giới thiệu cơ sơ thực tập
1.1.1 Giới thiệu chung về cơ sở thực tập
1.1.2 Cơ cấu tổ chức
1.1.3 Hoạt động công ty
1.2 Giới thiệu về đề tài
1.2.1 Đặt vấn

1



1.2.2 Hiện trạng chung
1.2.3 Ứng dụng thương mại điện tử cho website
1.2.4 Đặc tả yêu cầu chương trình
1.2.5 Yêu cầu đối với sản phẩm
1.3 Giới thiệu về công cụ thực hiện
1.3.1 Giới thiệu SQL Server
1.3.2 Giới thiệu về ASP.NET
1.3.3 Giới thiệu về ADO.NET
Do thời gian và trình độ có hạn, mặc dù đã nỗ lực hết sức mình, nhưng chắc
rằng chun đề khơng tránh khỏi thiếu sót. Để chun đề này mang tính áp dụng
vào thực tiễn, em rất mong nhận được sự đóng góp q báu của Thầy Cơ giáo và
các bạn để chun đề có thể hồn thiện hơn.
Hà Nội ngày 21 tháng 6 năm 2011
Sinh viên thực hiện

Nguyễn Hà Trung

2


MỤC LỤC
LỜI MỞ ĐẦU.......................................................................................................................1
1.1 Giới thiệu chung về cơ sở thực tập...............................................................................4
1.1.1 Công ty cổ phần truyên thông Laser-AD.............................................................4
1.1.2 Cơ cấu tổ chức......................................................................................................4
1.1.3

Lĩnh vực hoạt động :..........................................................................................4


1.2 KHẢO SÁT BÀI TOÁN..............................................................................................5
1.2.1 Đặt vấn đề.............................................................................................................5
1.2.2 Hiện trạng chung................................................................................................6
1.2.3 Ứng dụng thương mại điện tử cho website..........................................................7
1.2.4 Đặc tả yêu cầu chương trình................................................................................9
1.2.5 u cầu đối với sản phẩm................................................................................10
1.3 GIỚI THIỆU CƠNG CỤ THỰC HIỆN........................................................................10
1.3 GIỚI THIỆU CÔNG CỤ THỰC HIỆN........................................................................10
1.3.1 Giới thiệu SQL Server.............................................................................................10
1.3.2 GIỚI THIỆU VỀ ASP.NET....................................................................................21
1.3.3 Giới thiệu về ADO.NET..........................................................................................26

3


1.1 Giới thiệu chung về cơ sở thực tập
1.1.1 Công ty cổ phần truyên thông Laser-AD
Tên tiếng anh:Laser-Ad media joint stock company
Tên viết tắt: LASER - AD MEDIA., JSC
Văn phòng : Số 591 phố Kim Mã, phường Ngọc Khánh - Ba Đình - Ha Noi City
– Vietnam
Điện thoại: 04-37669611
. CƠNG TY CỔ PHẦN TRUYỀN THƠNG LASER – AD Là cơng ty làm việc
trong lĩnh vực truyền thông và quà tặng,Với đội ngũ lãnh đaọ nhiều kinh nghiệm và
tài năng,đội ngũ nhân viên trẻ đầy nhiết huyết trong công việc
1.1.2 Cơ cấu tổ chức
Mặc dù chưa phải là doanh nghiệp lớn song cơng ty đã có được đội ngũ cán bộ
cơng nhân viên kết hợp với đội ngũ cộng tác viên, có trình độ hiểu biết về các dịch
vụ, sản phẩm chính của cơng ty, có trách nhiệm gắn bó với sự phát triển của công
ty.Cơ cấu công ty bao gồm các bộ phận:



Ban giám đốc



Phịng hành chính



Phịng Nhân sự



Phịng IT



Phịng Kế tốn



Phịng Trun thơng



Phịng thiết kế




Phịng Ý tưởng



Phịng kỹ xảo.



Phịng chăm sóc khách hàng

1.1.3 Lĩnh vực hoạt động :
Hoat động trong lĩnh vực :


truyền thông



in ân

4




quảng cáo



tổ chức sự kiện




Quay phim chụp ảnh

1.2 KHẢO SÁT BÀI TỐN
1.2.1 Đặt vấn đề
Cùng với sự phát triển khơng ngừng về kỹ thuật máy tính và mạng điện tử, cơng
nghệ thơng tin cũng được những cơng nghệ có đẳng cấp cao và lần lượt chinh phục
hết đỉnh cao này đến đỉnh cao khác. Mạng Internet là một trong những sản phẩm có
giá trị hết sức lớn lao và ngày càng trở nên một công cụ không thể thiếu, là nền tảng
chính cho sự truyền tải, trao đổi thơng tin trên tồn cầu.
Giờ đây, mọi việc liên quan đến thơng tin trở nên thật dễ dàng cho người sử
dụng: chỉ cần có một máy tính kết nối internet và một dịng dữ liệu truy tìm thì gần
như lập tức… cả thế giới về vấn đề mà bạn đang quan tâm sẽ hiện ra, có đầy đủ
thơng tin, hình ảnh và thậm chí đơi lúc có cả những âm thanh nếu bạn cần…
Bằng internet, chúng ta đã thực hiện được nhiều cơng việc với tốc độ nhanh hơn
và chi phí thấp hơn nhiều so với cách thức truyền thống. Chính điều này, đã thúc
đẩy sự khai sinh và phát triển của thương mại điện tử và chính phủ điện tử trên khắp
thế giới, làm biến đổi đáng kể bộ mặt văn hóa, nâng cao chất lượng cuộc sống con
người.
Trong hoạt động sản xuất, kinh doanh, giờ đây, thương mại điện tử đã khẳng
định được vai trò xúc tiến và thúc đẩy sự phát triển của doanh nghiệp. Đối với một
công ty du lịch, việc quảng bá và giới thiệu đến khách hàng các chương trình du
lịch do cơng ty tổ chức trong từng thời điểm một cách hiệu quả và kịp thời là yếu tố
mang tính quyết định cho sự tồn tại và phát triển của cơng ty. Vì vậy, sẽ thật thiếu
sót nếu cơng ty của bạn chưa xây dựng được một website để giới thiệu rộng rãi các
tour mà bạn tổ chức. Và một vấn đề được đặt ra song song cùng với nó, là làm sao
để có thể quản lý và điều hành website một cách dễ dàng và hiệu quả, có như vậy,
thì mới tránh được sự nhàm chán cho những khách hàng thường xuyên của website,

và thu được những kết quả như mong muốn. Đây là vấn đề hết sức cấp thiết và luôn

5


là mỗi trăn trở của hầu hết các công ty du lịch nói riêng và cả các doanh nghiệp
khác nói chung, nhất là các doanh nghiệp Việt Nam – với họ, thương mại điện tử
còn rất mới.
Với chuyên đề này, tơi xin được trình bày một cách thức quản lý website giúp
cho những người quản trị dễ dàng trong việc phân quyền quản lý, thay đổi, cập nhật
thông tin trang web, cũng như quản lý hiệu quả khách hàng và các đơn đặt hàng trên
mạng
1.2.2

Hiện trạng chung

Hiện nay, khác với các nước đã có nền cơng nghệ thơng tin phổ biến và phát
triển, tại Việt Nam, đại đa số vẫn là các website tĩnh, có cấu trúc và tổ chức thơng
tin cố định, khơng thay đổi hoặc rất ít thay đổi, chủ yếu mang tính chất giới thiệu
cơng ty và sản phẩm dịch vụ của nó. Bên cạnh đó, cũng đã có khá nhiều các trang
web động (tên thương mại là Dynamic Website) với nhiều hình thức tổ chức khác
nhau về giao diện, bố cục cũng như về cách thức quản lý, tiêu biểu như website
kinh doanh địa ốc của Cơng ty Hồng Qn, website đặt phịng khách sạn trực
tuyến của Công ty Thương mại điện tử Việt, website của Ngân hàng Cổ phần
thương mại ABC, về du lịch cũng có các trang web của Cơng ty du lịch SaiGon
Tourist, Công ty du lịch Sinh Café,Chudu24,ivivu…
Tuy nhiên, một thực tế cần nhìn nhận rằng: đa số các website đều do công ty sở
hữu thuê các nhà thiết kế (thường là các công ty thiết kế website) đảm nhận việc
thiết kế ban đầu, điều này là hợp lý, bởi vì chỉ với một chi phí ban đầu cho dù có hơi
cao - đối với các trang web động – thì một website được thiết lập mang tính chuyên

nghiệp và hoạt động ổn định là điều hết sức cần thiết, nhưng để website đó hoạt
động thực sự hiệu quả thì khơng thể thiếu bàn tay của chính những người chủ, của
chính cơng ty sở hữu nó quản lý và điều hành. Thực tế, ở Việt Nam hiện nay, vai trò
của người quản trị website dường như chưa được đánh giá đúng, đa phần người
quản trị trang web của các công ty chỉ đảm đương cơng việc này sau khi hồn tất
các cơng việc khác, vấn đề làm mới thơng tin website cịn bị xem nhẹ, khiến cho

6


những khách hàng thường xuyên của website cảm thấy nhàm chán và từ từ rời bỏ
thói quen vào thăm trang web!
Sự hoạt động hiệu quả của một số trang web nói trên là những minh chứng cho
vai trị của người quản trị website doanh nghiệp. Các công ty sở hữu các website
này đều có một bộ phận riêng đảm đương việc quản lý thông tin website, nhằm đáp
ứng kịp thời và hiệu quả các yêu cầu của các vị “thượng đế” thơng qua mạng
internet, có như vậy thì mới khai thác hết giá trị của website, và nguồn khách hàng
tiềm năng trên mạng.
Vì thế, theo tơi, các cơng ty đã, đang và có ý định xây dựng website riêng cho
mình thì dù ít, dù nhiều cũng đã quan tâm đến vai trị của cơng nghệ thơng tin và
các khách hàng tiềm năng trên mạng, nên có kế hoạch và người quản trị để website
của cơng ty mình ln mới mẻ, thu hút khách hàng đến với website, đến với công ty
1.2.3 Ứng dụng thương mại điện tử cho website
Nói đến internet, ngày nay, người ta thường nhắc đến chính phủ điện tử, thương
mại điện tử. Đây cũng chính là hai trong số những ứng dụng lớn nhất của công nghệ
thông tin, của xa lộ thông tin Internet vào lĩnh vực tổ chức và thương mại tồn cầu.
 Chính phủ điện tử: là một cách thức tổ chức và truyền thông dữ liệu của chính
phủ, sử dụng các cơng nghệ mới để cung cấp cho các công dân khả năng truy cập
hiệu quả vào nguồn tài ngun thơng tin có độ tin cậy cao của chính phủ.
 Thương mại điện tử: được đề cập đến như là một hình thức mua bán, giao tiếp

hồn tồn khác so với hình thức giao tiếp thương mại truyền thống. Ở đó, người
mua và người bán đôi khi không hề biết mặt nhau, mọi thoả thuận, trao đổi đều diễn
ra trên mạng internet và thông qua một hệ thống thanh toán đặc biệt, chẳng hạn như
thẻ tín dụng ngân hàng.
Thương mại điện tử tạo ra được nhiều mối quan hệ hơn giữa các cá nhân, các
cơng ty và giữa các thành phần trong tồn xã hội. Xây dựng website du lịch là
chúng ta cũng đã tham gia vào thương mại điện tử, với mục tiêu đẩy mạnh mối quan
hệ thương mại: công ty – khách hàng và khách hàng – công ty.

7


Nói đến thương mại điện tử người ta thường nghĩ ngay đến việc chọn mua một
sản phẩm trên mạng (chẳng hạn, đặt một tour du lịch được công ty ABC tổ chức),
sau các phiên giao dịch khác để thực hiện giao nhận hàng (chẳng hạn, điện thoại,
email…xác thực thông tin đặt chỗ), và cuối cùng kết thúc bằng việc thanh tốn qua
thẻ tín dụng. Tuy nhiên, trong thực tế, thương mại điện tử đôi khi chỉ đơn giản là
các phiên giao dịch thông thường, khách hàng chỉ vào viếng thăm website để nắm
bắt thơng tin, hoặc tìm kiếm những thơng tin nào đó thơng qua các Search Engines
trên mạng Internet. Các phiên giao dịch này chỉ giúp chúng ta giới thiệu về công ty
hay những sản phẩm công ty hiện đang cung cấp. Mục tiêu cần khai thác của các
giao dịch như vậy là website phải có đủ sức hút để lôi kéo khách hàng viếng thăm
trang web của chúng ta những lần sau, lơi kéo họ tìm đến cơng ty chúng ta để biến
họ thành khách hàng chính thức của cơng ty.
Muốn vậy, đầu tiên website phải có giao diện rõ ràng, bắt mắt, cấu trúc hợp lý
để gây được ấn tượng tốt ban đầu cho người vào xem; và một điều tối quan trọng là
dung lượng trang website phải nhỏ vừa phải để khách hàng không mất kiên nhẫn
trước khi trang web của chúng ta hiện ra trước mắt họ. Kế đến là, nội dung website
phải tiện dụng, phù hợp, đáp ứng được nhu cầu thường gặp của khách hàng. Và cuối
cùng là một tên miền ngắn gọn, dễ nhớ để khách hàng khó có thể quên trong những

lần thăm viếng sau.
Một website du lịch hiệu quả cũng khơng nằm ngồi những u cầu đó. Thơng
tin chính của nó chính là những tour du lịch mà cơng ty sẽ tổ chức trong thời gian
sắp đến: giá cả, hình ảnh, lịch trình và những nơi mà nó đi qua…và tất nhiên các
thông tin này phải được tổ chức hợp lý, cho phép khách hàng tìm kiếm một cách dễ
dàng. Ngồi ra, trên website du lịch tơi xây dựng trong đồ án này, cịn cung cấp các
thơng tin về các địa danh du lịch, các hình ảnh minh họa và hai ngôn ngữ tiếng Việt
và tiếng Anh để phục vụ cho cả đối tượng khách hàng trong nước lẫn nước ngoài.

8


1.2.4 Đặc tả u cầu chương trình
Cơng ty du lịch thiết kế tour và lên lịch trình cho từng tour cụ thể. Sau đó, nhân
viên nhập liệu cập nhật thơng tin các tour này lên website với đầy đủ thông tin về
giá cả, loại tour, lịch trình, các địa phương đi đến và hình ảnh minh họa (nếu có).
Khách thăm website có thể xem, tìm kiếm thơng tin về các tour du lịch hiện
hành hoặc tìm kiếm tour theo các yêu cầu cụ thể về giá cả, địa phương muốn đến,
ngày khởi hành của tour. Sau đó, khách hàng có thể tiến hành đặt chỗ cho tour đang
xem nếu muốn. Thông tin các tour du lịch được hiển thị bằng ngôn ngữ Tiếng Anh
phục vụ chủ yếu cho du khách nước ngoài muốn tham quan du lịch tại các địa điểm
du lịch hấp dẫn của Việt Nam.
Khách hàng có thể đặt tour trực tuyến. Website sẽ cập nhật thông tin đặt chỗ này
trực tiếp lên cơ sở dữ liệu, và cho phép người quản trị được phân quyền thao tác các
cơng việc sau:
 Tìm kiếm các đơn đặt chỗ đã được xác nhận hay chưa xác nhận.
 Xác nhận đơn đặt chỗ hợp lệ, chỉnh sửa thông tin khách hàng và thông tin đặt
chỗ trên từng đơn cụ thể.
 Thống kê tình hình đặt chỗ của từng tour, xem danh sách khách hàng tham
gia các tour đó.

Thay đổi, thêm mới hoặc xóa bỏ thơng tin, hình ảnh về các điểm du lịch ở các
địa phương khác nhau mà công ty muốn giới thiệu cho khách hàng.
 Theo dõi tình hình liên hệ thông qua website của khách hàng, để đáp ứng kịp
thời nhu cầu của họ.
Về tổ chức lưu trữ, thực hiện các u cầu:
 Thêm, xóa, sửa thơng tin, hình ảnh về các tour du lịch do cơng ty tổ chức,
phục vụ cho công tác quản lý, thống kê tình hình hoạt động của cơng ty.
 Thêm, xóa, sửa thơng tin, hình ảnh về các điểm du lịch ở từng địa phương
khác nhau

9


1.2.5 Yêu cầu đối với sản phẩm
 Website phải có dung lượng không quá lớn, tốc độ xử lý nhanh.
 Giao diện dễ nhìn, thân thiện với người sử dụng
 Cơng việc tính tốn phải thực hiện chính xác, khơng chấp nhận sai sót.
 Sử dụng mã hóa các thơng tin nhạy cảm của khách hàng.
 Đảm bảo an toàn dữ liệu khi chạy website trực tuyến.
1.3 GIỚI THIỆU CÔNG CỤ THỰC HIỆN
1.3 GIỚI THIỆU CÔNG CỤ THỰC HIỆN
1.3.1 Giới thiệu SQL Server
1.3.1.1 SQL Server 2000 là một hệ thống quản lý cơ sở dữ liệu (Relational
Database Management System (RDBMS) ) 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 2000 đượ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. SQL Server 2000 có thể kết hợp "ăn ý" với các server

khác như Microsoft Internet Information Server (IIS), E-Commerce Server, Proxy
Server....
SQL Server có 7 editions:
Enterprise : Chứa đầy đủ các đặc trưng của SQL Server và có thể chạy tốt



trên hệ thống lên đến 32 CPUs và 64 GB RAM. Thêm vào đó nó có các dịch vụ
giúp cho việc phân tích dữ liệu rất hiệu quả (Analysis Services)


Standard : Rất thích hợp cho các cơng ty vừa và nhỏ vì giá thành rẻ hơn

nhiều so với Enterprise Edition, nhưng lại bị giới hạn một số chức năng cao cấp
(advanced features) khác, edition này có thể chạy tốt trên hệ thống lên đến 4 CPU
và 2 GB RAM.


Personal: được tối ưu hóa để chạy trên PC nên có thể cài đặt trên hầu hết các

phiên bản windows kể cả Windows 98.

10




Developer : Có đầy đủ các tính năng của Enterprise Edition nhưng được chế

tạo đặc biệt như giới hạn số lượng người kết nối vào Server cùng một lúc.... Ðây là

edition mà các bạn muốn học SQL Server cần có. Chúng ta sẽ dùng edition này
trong suốt khóa học. Edition này có thể cài trên Windows 2000 Professional hay
Win NT Workstation.


Desktop Engine (MSDE): Ðây chỉ là một engine chạy trên desktop và

khơng có user interface (giao diện). Thích hợp cho việc triển khai ứng dụng ở máy
client. Kích thước database bị giới hạn khoảng 2 GB.


Win CE : Dùng cho các ứng dụng chạy trên Windows CE



Trial: Có các tính năng của Enterprise Edition, download free, nhưng giới

hạn thời gian sử dụng.
1.3.1.2 Cài Ðặt SQL Server 2000 (Installation)
Các bạn cần có Developer Edition và ít nhất là 64 MB RAM, 500 MB
hard disk để có thể install SQL Server. Bạn có thể install trên Windows Server hay
Windows XP Professional, Windows 2000 Professional hay NT Workstation nhưng
không thể install trên Win 98 family.
Vì một trong những đặc điểm của các sản phẩm Microsoft là dễ install nên
chúng tơi khơng trình bày chi tiết về cách install hay các bước install mà chỉ trình
bày các điểm cần lưu ý khi install mà thơi. Nếu các bạn gặp trở ngại trong việc
install thì có thể đưa lên forum để hỏi thêm. Khi install bạn cần lưu ý các điểm sau:
Ở màn hình thứ hai bạn chọn Install Database Server. Sau khi install
xong SQL Server bạn có thể install thêm Analysis Service nếu bạn thích.
Ở màn hình Installation Definition bạn chọn Server and Client Tools.

Sau đó bạn nên chọn kiểu Custom và chọn tất cả các bộ phận của SQL
Server. Ngoài ra nên chọn các giá trị mặc định (default)
Ở màn hình Authentication Mode nhớ chọn Mixed Mode . Lưu ý vì SQL
Server có thể dùng chung chế độ bảo mật (security) với Win NT và cũng có thể
dùng chế độ bảo mật riêng của nó.  Trong Production Server người ta thường dùng
Windows Authetication vì độ an tồn cao hơn và dễ dàng cho người quản lý mạng

11


và cả cho người sử dụng. Nghĩa là một khi bạn được chấp nhận (authenticated) kết
nối vào domain thì bạn có quyền truy cập dữ liệu (access data) trong SQL Server.
Tuy nhiên ta nên chọn Mixed Mode để dễ dàng cho việc học tập.
Sau khi install bạn sẽ thấy một icon nằm ở góc phải bên dưới màn hình,
đây chính là Service Manager. Bạn có thể Start, Stop các SQL Server services dễ
dàng bằng cách double-click vào icon này.
1.3.1.3 Một chút kiến thức về các Version của SQL Server
SQL Server của Microsoft được thị trường chấp nhận rộng rãi kể từ version
6.5. Sau đó Microsoft đã cải tiến và hầu như viết lại một engine mới cho SQL
Server 7.0. Cho nên có thể nói từ version 6.5 lên version 7.0 là một  bước nhảy vọt.
Có một số đặc tính của SQL Server 7.0 khơng tương thích với version 6.5. Trong
khi đó từ Version 7.0 lên version 8.0 (SQL Server 2000) thì những cải tiến chủ yếu
là mở rộng các tính năng về web và làm cho SQL Server 2000 đáng tin cậy hơn.
Một điểm đặc biệt đáng lưu ý ở version 2000 là Multiple-Instance. Nói
cho dễ hiểu là bạn có thể install version 2000 chung với các version trước mà khơng
cần phải uninstall chúng. Nghĩa là bạn có thể chạy song song version 6.5 hoặc 7.0
với version 2000 trên cùng một máy (điều này không thể xảy ra với các version
trước đây). Khi đó version cũ trên máy bạn là Default Instance còn version 2000
mới vừa install sẽ là Named Instance.


12


1.3.1.4 Các thành phần quan trọng trong SQL Server 2000
SQL Server 2000 được cấu tạo bởi nhiều thành phần như Relational
Database Engine, Analysis Service và English Query.... Các thành phần này khi
phối hợp với nhau tạo thành một giải pháp hồn chỉnh giúp cho việc lưu trữ và phân
tích dữ liệu một cách dễ dàng.

Như đã trình bày ở các bài trước một trong những đặc điểm của SQL Server
2000 là Multiple-Instance nên khi nói đến một (SQL) Server nào đó là ta nói đến
một Instance của SQL Server 2000, thơng thường đó là Default Instance. Một
Instance của SQL Server 2000 có 4 system databases và một hay nhiều user
database. Các system databases bao gồm:


Master : Chứa tất cả những thông tin cấp hệ thống (system-level

information) bao gồm thông tin về các database khác trong hệ thống như vị trí của
các data files, các login account và các thiết đặt cấu hình hệ thống của SQL Server
(system configuration settings).


Tempdb : Chứa tất cả những table hay stored procedure được tạm thời tạo ra

trong quá trình làm việc bởi user hay do bản thân SQL Server engine. Các table hay

13



stored procedure này sẽ biến mất khi khởi động lại SQL Server hay khi ta
disconnect.


Model : Database này đóng vai trò như một bảng kẻm (template) cho các

database khác. Nghĩa là khi một user database được tạo ra thì SQL Server sẽ copy
toàn bộ các system objects (tables, stored procedures...) từ Model database sang
database mới vừa tạo.


Msdb : Database này được SQL Server Agent sử dụng để hoạch định các

báo động và các công việc cần làm (schedule alerts and jobs).
1.3.1.5. Cấu Trúc Vật Lý Của Một SQL Server Database
Mỗi một database trong SQL Server đều chứa ít nhất một data file chính (primary),
có thể có thêm một hay nhiều data file phụ (Secondary) và một transaction log file.


Primary data file (thường có phần mở rộng .mdf) : đây là file chính chứa

data và những system tables.


Secondary data file (thường có phần mở rộng .ndf) : đây là file phụ thường

chỉ sử dụng khi database được phân chia để chứa trên nhiều dĩa.


Transaction log file (thường có phần mở rộng .ldf) : đây là file ghi lại tất cả


những thay đổi diễn ra trong một database và chứa đầy đủ thơng tin để có thể roll
back hay roll forward khi cần.
Data trong SQL Server được chứa thành từng Page 8KB và 8 page liên tục tạo
thành một Extent như hình vẽ dưới đây:

14


Trước khi SQL Server muốn lưu data vào một table nó cần phải dành riêng
một khoảng trống trong data file cho table đó. Những khoảng trống đó chính là các
extents. Có 2 loại Extents: Mixed Extents (loại hỗn hợp) dùng để chứa data của
nhiều tables trong cùng một Extent và Uniform Extent (loại thuần nhất) dùng để
chứa data của một table. Ðầu tiên SQL Server dành các Page trong Mixed Extent để
chứa data cho một table sau đó khi data tăng trưởng thì SQL dành hẳn một Uniform
Extent cho table đó.
1.3.1.6. Nguyên Tắc Hoạt Ðộng Của Transaction Log Trong SQL Server
Transaction log file trong SQL Server dùng để ghi lại các thay đổi xảy ra trong
database. Quá trình này diễn ra như sau: đầu tiên khi có một sự thay đổi data như
Insert, Update, Delete được yêu cầu từ các ứng dụng, SQL Server sẽ tải (load) data
page tương ứng lên memory (vùng bộ nhớ này gọi là data cache), sau đó data trong
data cache được thay đổi(những trang bị thay đổi còn gọi là dirty-page). Tiếp theo
mọi sự thay đổi đều được ghi vào transaction log file cho nên người ta gọi là writeahead log. Cuối cùng thì một quá trình gọi là Check Point Process sẽ kiểm tra và

15


viết tất cả những transaction đã được commited (hoàn tất) vào dĩa cứng (flushing
the page).


Ngoài Check Point Process những dirty-page còn được đưa vào dĩa bởi một
Lazy writer. Ðây là một anh chàng làm việc âm thầm chỉ thức giấc và quét qua
phần data cache theo một chu kỳ nhất định sau đó lại ngủ yên chờ lần quét tới.
Xin giải thích thêm một chút về khái niệm transaction trong database. Một
transaction hay một giao dịch là một loạt các hoạt động xảy ra được xem như một
công việc đơn (unit of work) nghĩa là hoặc thành cơng tồn bộ hoặc khơng làm gì cả
(all or nothing). Sau đây là một ví dụ cổ điển về transaction:
Chúng ta muốn chuyển một số tiền $500 từ account A sang
account B như vậy công việc này cần làm các bước sau:
1. Trừ $500 từ account A
2. Cộng $500 vào account B
Tuy nhiên việc chuyển tiền trên phải được thực hiện dưới dạng một
transaction nghĩa là giao dịch chỉ được xem là hoàn tất (commited) khi cả hai bước
trên đều thực hiện thành cơng. Nếu vì một lý do nào đó ta chỉ có thể thực hiện được

16


bước 1 (chẳng hạn như vừa xong bước 1 thì điện cúp hay máy bị treo) thì xem như
giao dịch khơng hồn tất và cần phải được phục hồi lại trạng thái ban đầu (roll
back).
Thế thì Check Point Process hoạt động như thế nào để có thể đảm bảo một
transaction được thực thi mà khơng làm "dơ" database.

Trong hình vẽ trên, một transaction được biểu diễn bằng một mũi tên. Trục
nằm ngang là trục thời gian. Giả sử một Check Point được đánh dấu vào thời điểm
giữa transaction 2 và 3 như hình vẽ và sau đó sự cố xãy ra trước khi gặp một Check
point kế tiếp. Như vậy khi SQL Server được restart nó sẽ dựa trên những gì ghi
trong transaction log file để phục hồi data (xem hình vẽ).
Ðiều đó có nghĩa là SQL Server sẽ khơng cần làm gì cả đối với transaction 1

vì tại thời điểm Check point data đã được lưu vào dĩa rồi. Trong khi đó transaction 2
và 4 sẽ được roll forward vì tuy đã được commited nhưng do sự cố xảy ra trước thời
điểm check point kế tiếp nên data chưa kịp lưu vào dĩa. Tức là dựa trên những
thông tin được ghi trên log file SQL Server hồn tồn có đầy đủ cơ sở để viết vào
dĩa cứng. Còn transaction 3 và 5 thì chưa được commited (do bị down bất ngờ) cho

17


nên SQL Server sẽ roll back hai transaction này dựa trên những gì được ghi trên log
file.
1.3.1.7. Cấu Trúc Logic Của Một SQL Server Database
Hầu như mọi thứ trong SQL Server được tổ chức thành những objects ví dụ
như tables, views, stored procedures, indexes, constraints.... Những system objects
trong SQL Server thường có bắt đầu bằng chữ sys hay sp. Các objects trên sẽ được
nghiên cứu lần lượt trong các bài sau do đó trong phần này chúng ta chỉ bàn sơ qua
một số system object thông dụng trong  SQL Server database mà thôi.
Một số Sytem objects thường dùng:
System Stored Procedure

Ứng dụng
Cung cấp thông tin về một database object (table,

Sp_help ['object']

view...) hay một data type.

Sp_helpdb ['database']

Cung cấp thông tin về một database cụ thể nào đó.


Sp_monitor

Cho biết độ bận rộn của SQL Server

Sp_spaceused

['object', Cung cấp thông tin về các khoảng trống đã được sử

'updateusage' ]

dụng cho một object nào đó

Sp_who ['login']

Cho biết thơng tin về một SQL Server user

Ví dụ:
sp_helpdb 'Northwind' sẽ cho kết quả có dạng như bảng dưới đây 
name             db_size     owner     dbid     created         status .....
----------------------------------------------------------------------------------------------------Northwind     3.94 MB     sa           6         Aug 6 2000     Status=ONLINE,
Updateability=READ_WRITE, .....
stored procedure  sp_spaceused như ví dụ sau
USE Northwind
Go
sp_spaceused 'Customers'
sẽ cho biết thông tin về table Customer:

18



name             rows     reserved       data       index_size     unused
---------Customers    

91        

104

KB        

24

KB     

80

KB            

0

KB

 1.3.7.8. Cách tạo một User Database
Chúng ta có thể tạo một database dễ dàng dùng SQL Server Enterprise bằng
cách right-click lên trên "database" và chọn "New Database" như hình vẽ sau:

Sau đó chúng ta chỉ việc đánh tên của database và click OK.
Ngồi ra đơi khi chúng ta cũng dùng SQL script để tạo một database. Khi đó ta phải
chỉ rõ vị trí của primary data file và transaction log file.
Ví dụ:

USE master
GO
CREATE DATABASE Products
ON
( NAME = prods_dat,

19


FILENAME = 'c:\program files\microsoft SQL server\mssql\data\prods.mdf',
SIZE = 4,
MAXSIZE = 10,
FILEGROWTH = 1
)
GO
Trong ví dụ trên ta tạo một database tên là Products với logical file name là
prods_dat và physical file name là prods.mdf, kích thước ban đầu là 4 MB và data
file sẽ tự động tăng lên mỗi lần 1 MB cho tới tối đa là 10 MB. Nếu ta khơng chỉ
định một transaction log file thì SQL sẽ tự động tạo ra 1 log file với kích thước ban
đầu là 1 MB.
Lưu Ý:
Khi tạo ra một database chúng ta cũng phải lưu ý một số điểm sau: Ðối với các
hệ thống nhỏ mà ở đó vấn đề tốc độ của server khơng thuộc loại nhạy cảm thì chúng
ta thường chọn các giá trị mặc định (default) cho Initial size, Automatically
growth file. Nhưng trên một số production server của các hệ thống lớn kích thước
của database phải được người DBA ước lượng trước tùy theo tầm cỡ của business,
và thông thường người ta không chọn Autogrowth(tự động tăng trưởng) và
Autoshrink(tự động nén). Câu hỏi được đặt ra ở đây là vì sao ta khơng để SQL
Server chọn một giá trị khởi đầu cho datafile và sau đó khi cần thì nó sẽ tự động nới
rộng ra mà lại phải ước lượng trước? Nguyên nhân là nếu chọn Autogrowth (hay

Autoshrink) thì chúng ta có thể sẽ gặp 2 vấn đề sau:


Performance hit: Ảnh hưởng đáng kể đến khả năng làm việc của SQL

Server. Do nó phải thường xuyên kiểm tra xem có đủ khoảng trống cần thiết hay
khơng và nếu khơng đủ nó sẽ phải mở rộng bằng cách dành thêm khoảng trống từ
dĩa cứng và chính q trình này sẽ làm chậm đi hoạt động của SQL Server.


Disk fragmentation : Việc mở rộng trên cũng sẽ làm cho data không được

liên tục mà chứa ở nhiều nơi khác nhau trong dĩa cứng điều này cũng gây ảnh
hưởng lên tốc độ làm việc của SQL Server.

20



×