Chuyên đề thực tập
Mục lục
Lời nói đầu............................................................................................................................3
I GIỚI THIỆU VỀ CÔNG TY VÀ XÁC ĐỊNH ĐỀ TÀI THỰC TẬP.............................4
1.Giới thiệu chung về cơng ty.............................................................................................4
.................................................................................................................................................4
Các lĩnh vực hoạt động chính.........................................................................................................4
1.1 Các sản phẩm dịch vụ......................................................................................................4
1.2 Cơ cấu tổ chức.................................................................................................................6
1.3 Đối tác............................................................................................................................11
2. Xác định đề tài...............................................................................................................12
2.1 Lý do chọn đề tài...........................................................................................................12
2.2 Mục tiêu của đề tài........................................................................................................13
2.3 Dự kiến...........................................................................................................................14
II CƠ SỞ PHƯƠNG PHÁP LUẬN CỦA VIỆC THIẾT KẾ WEBSITE....................14
2 Tổng quan về internet......................................................................................................14
1.1. Cách thức truyền thông trên Internet..........................................................................15
1.2. Các dịch vụ Internet......................................................................................................16
3 Giới thiệu về SQL Server 2000.........................................................................................16
2.1 Giới Thiệu Về Transact SQL (T-SQL).......................................................................17
2.1.1 Cú Pháp Của T-SQL:.................................................................................................21
2.1.2 Các thành phần Control-Of Flow.............................................................................23
2.1.3 Thực Thi Các Câu Lệnh SQL...................................................................................24
2.1.4 Cấu Trúc Vật Lý Của Một SQL Server Database...................................................24
2.1.5 Cấu Trúc Logic Của Một SQL Server Database.....................................................26
4 Asp.Net..............................................................................................................................32
3.1 Khác biệt giữa ASP.NET và ASP.................................................................................32
3.2 Kiểu mẫu RESQUEST/RESPONSE............................................................................34
3.3 Kiểu mẫu EVENT-DRIVEN........................................................................................34
5 Sơ lược về .NetFramework CLR .....................................................................................35
(Common Language Runtime)...........................................................................................35
III XÂY DỰNG WEBSITE “SINH VIÊN NỘI TRÚ ĐẠI HỌC KINH TẾ QUỐC
DÂN”...................................................................................................................................40
1
Chức năng chính............................................................................................................40
1.1 Cung cấp thông tin ......................................................................................................................41
Nguyễn Thị Ngọc Minh – Lớp Tin học Kinh Tế 46A
1
Chuyên đề thực tập
1.2 Quản lí danh sách sinh viên .........................................................................................................41
1.3 Đăng kí ra vào kí túc xá, chuyển phịng ở cho sinh viên..............................................................41
1.4 Quản lí khách ra vào kí túc xá......................................................................................................42
1.5 Tạo diễn đàn cho sinh viên ..........................................................................................................42
1.6 Quản lí người dùng (phân quyền người sử dụng)........................................................................42
2 Sơ đồ website:..................................................................................................................43
2.1 Sinh viên và các đối tượng khác truy cập đến website:...............................................................43
2.2 Ban quản lí kí túc xá.....................................................................................................................44
2.3Cập nhật thơng tin.........................................................................................................................44
2.4Quản lí sinh viên............................................................................................................................44
3 Các chức năng chính:......................................................................................................46
3.1Đăng kí (Register).........................................................................................................................48
3.2Đăng nhập......................................................................................................................................50
3.3Thêm/ Sửa/ Xóa thơng tin.............................................................................................................52
3.4 Tìm kiếm thơng tin.......................................................................................................................53
3.5Quản lí quyền................................................................................................................................54
3.6Quản lí người dùng........................................................................................................................55
6
Một số giao diện chính của website...............................................................................60
Nguyễn Thị Ngọc Minh – Lớp Tin học Kinh Tế 46A
2
Chun đề thực tập
Lời nói đầu
Cơng nghệ thơng tin ngày càng phát triển và con đẻ của nó là các web
site cũng không ngừng lớn mạnh cả về số lượng cũng như chất lượng. Từ
trang web quen thuộc www.google.com người dùng có thể tìm thấy rất nhiều
các web site về mọi lĩnh vực: văn hố, thời sự, khoa học cơng nghệ, làm
đẹp, nấu ăn, thể thao, ca nhạc, phim ảnh…Độc giả sẽ click chuột vào đâu?
Tất nhiên là vào những địa chỉ chứa những thơng tin người dùng tìm kiếm,
hay những web site ấn tượng.
Ngày nay, việc tự tạo ra trang web cho riêng mình khơng cịn là điều
khó khăn. Chẳng hạn như, khi truy cập vào trang web 360.yahoo.com ,
người dùng có thể dễ dàng tạo ra web site cá nhân, tự thiết kế giao diện, nội
dung trong Blog của mình theo phong cách riêng.
Tuy nhiên, những web site như vậy, phần lớn chỉ mang tính giải trí, để
tạo ra một trang web có sức sống bền lâu thì bản thân nó phải mang lại lợi
ích cho nhiều người. Giao diện bắt mắt là yếu tố quan trọng để người xem
click chuột đến web site của bạn. Nhưng yếu tố quyết định giữ chân độc giả
lại là nội dung mà web site cung cấp. Đi theo lối mòn là sự lựa chọn có
nhiều thách thức, tuy nhiên, được tham gia một khóa học khá lí thú về qui
trình thiết kế web site tại cơng ty TNHH Trí Tuệ Nhân Tạo, em đã chọn nơi
thực tập tại công ty và định hướng đề tài thực tập là thiết kế web site theo
một lối đi mới.
Do thời gian và kinh nghiệm cịn hạn chế nên báo cáo khơng tránh khỏi
những thiếu xót. Rất mong được sự phê bình, góp ý của cô giáo Ts.Trần Thị
Thu Hà.
Nguyễn Thị Ngọc Minh – Lớp Tin học Kinh Tế 46A
3
Chuyên đề thực tập
I GIỚI THIỆU VỀ CÔNG TY VÀ XÁC ĐỊNH ĐỀ
TÀI THỰC TẬP
1. Giới thiệu chung về công ty
Tên công ty : AI.Co.ltd (Artificial intelligence Limited Company)
Giám đốc
: Hoàng Ngọc Trung
Địa chỉ
: Nhà CT2B, Lê Đức Thọ, Mĩ Đình, Hà Nội
Loại hình doanh nghiệp: Cơng ty TNHH
Số điện thoại: 04.7870.216
Fax
:04 787 0216
Website
:
Email
:
Các lĩnh vực hoạt động chính
• Sản xuất và gia cơng phần mềm
• Đào tạo và hỗ trợ đào tạo
• Cung cấp các hệ thống phần mềm phục vụ đào tạo
• Nghiên cứu, phát triển và tư vấn giải pháp cơng nghệ
• In ấn, xuất bản tài liệu cơng nghệ thơng tin
• Thiết kế, thi cơng và bảo trì các hệ thống mạng WAN, LAN
• Sản xuất và sửa chữa các thiết bị điện, điện tử
.
1.1 Các sản phẩm dịch vụ
• Phần mềm quản lí đào tạo và hỗ trợ đào tạo
o Phần mềm quản lí đào tạo – TMS
o Trường học trực tuyến (Elearning) – School online
Nguyễn Thị Ngọc Minh – Lớp Tin học Kinh Tế 46A
4
Chuyên đề thực tập
o Thư viện điện tử - LMS
o Phần mềm thi trực tuyến – Testing & Certification
• Phần mềm y tế
o Từ điển y học – MD
o Hệ chun gia y học - ME
• Phần mềm quản lí doanh nghiệp
o Hệ thống quản lý nhân sự - HRDS
o Hệ thống quản lý hoạt động doanh nghiệp.
o Hệ thống chăm sóc khách hàng.
o Hệ thống quản lý khách sạn – HMS
• Ứng dụng thương mại điện tử
o Web site cho doanh nghiệp
o Giải pháp quản lý doanh nghiệp trên môi trường Web
Nguyễn Thị Ngọc Minh – Lớp Tin học Kinh Tế 46A
5
Chuyên đề thực tập
1.2
Cơ cấu tổ chức
Giám đốc
P.
Nghiên
cứu và
đào tạo
P.
Phần
mềm
Bộ
phận
.Phân
tích
thiết kế
P.Lập
trình
Bộ
phận
Kiểm
thử
Nguyễn Thị Ngọc Minh – Lớp Tin học Kinh Tế 46A
Bộ
phận
Kiểm
soát
chất
lượng
Bộ
phận
Triển
khai và
tư vấn
khách
hàng
Bộ
phận
Thiết kế
đồ hoạ
6
Chun đề thực tập
1
•
Phịng phần mềm:
Mục tiêu: thay thế các thao tác nghiệp vụ thủ công, tiếp cận các phương
pháp quản lý hiện đại nhằm nâng cao hiệu quả hoạt động sản xuất và kinh
doanh
• Bộ phận phân tích thiết kế
Nguyễn Thị Ngọc Minh – Lớp Tin học Kinh Tế 46A
7
Chuyên đề thực tập
Đưa ra các giải pháp phần mềm toàn diện,đề xuất các phương án tốt nhất
để hỗ trợ khách hàng trong việc xác định yêu cầu và mục tiêu của dự án.
• Phịng lập trình
Biến bản vẽ thiết kế thành phần mềm hay các web site
• Bộ phận kiểm thử
Kiểm thử tất cả các phần mềm, phát hiện lỗi trong quá trình chạy thử nhằm
chuyển giao cho khách hàng những sản phẩm phần mềm có chất lượng cao
• Bộ phận kiểm soát chất lượng
Nguyễn Thị Ngọc Minh – Lớp Tin học Kinh Tế 46A
8
Chuyên đề thực tập
Bộ phận có nhiệm vụ kiểm tra và giám sát chất lượng sản phẩm trước khi
chuyển giao để đảm bảo chất lượng hoàn hảo nhất, thoả mãn yêu cầu của
khách hang
• Bộ phận triển khai và tư vấn khách hàng
Đội ngũ triển khai, bảo trì và hỗ trợ Khách hàng đưa sản phẩm phần mềm
đến với Khách hàng, đáp ứng các nhu cầu thay đổi của Khách hang
• Bộ phận thiết kế đồ hoạ
Nguyễn Thị Ngọc Minh – Lớp Tin học Kinh Tế 46A
9
Chun đề thực tập
• Phịng đào tạo và nghiên cứu
Xây dựng các chương trình, nội dung đào tạo, tài liệu nghiên cứu để
thực hiện việc đào tạo cho sinh viên, hỗ trợ cho sinh viên tự học, cung
cấp cho các tổ chức đào tạo các doanh nghiệp CNTT.
Xây dựng hệ thống chia sẻ tin tức, tài nguyên cho cộng đồng CNTT
Nguyễn Thị Ngọc Minh – Lớp Tin học Kinh Tế 46A
10
Chun đề thực tập
Mơ hình hoạt động
1.3
Đối tác
• Đối tác trong nước
o Tập đoàn FPT
o Vietsoft
o CMC
o VITEC
o H.I.B
o Toyota
o Trường ĐH Cơng nghệ
o Báo Nhân Dân
o Vietnamnet
• Đối tác nước ngồi
o Hãng truyền thơng Brainsonic
Nguyễn Thị Ngọc Minh – Lớp Tin học Kinh Tế 46A
11
Chuyên đề thực tập
o Hogeschool Drenthe
2. Xác định đề tài
2.1 Lý do chọn đề tài
Sau một thời gian thực tập tại công ty, được tham gia trực tiếp vào dự
án ETC (xây dựng web site du lịch), và tiến hành phân tích thiết kế web
site “Vì người nghèo”, em đã tìm hiểu qui trình thiết kế web site và các
cơng cụ hỗ trợ khác. Đặc biệt ngôn ngữ thiết kế mơ hình UML và các kĩ
thuật đồ họa đã định hướng cho em một lối đi mới cho đề tài thiết kế web
site vốn được coi là lối mịn.
Mục đích lớn nhất của công nghệ thông tin là các ứng dụng trong thực
tế, đáp ứng những nhu cầu nhất định của người sử dụng.
Là sinh viên năm cuối trường ĐH Kinh tế Quốc Dân, em mong muốn
đề tài thực tập của mình có thể ứng dụng trong thực tế, hữu ích, thiết thực
mà đối tượng sử dụng gần gũi nhất là các sinh viên trong trường.
Bản thân đã từng sinh hoạt trong kí túc xá của trường, em nhận thấy việc
quản lý một số lượng lớn các sinh viên từ nhiều tỉnh thành, học tại các
khoa, khóa khác nhau gặp khơng ít những khó khăn. Kí túc xá đã xây thêm
tòa nhà và sắp tới sẽ quản lý cả các sinh viên nước ngoài. Ban quản lý phải
quản lý các phịng ở, sắp xếp các sinh viên cùng khoa, khóa trong một
phòng, mỗi phòng gồm 10 người. Trong một một học kì có thể có rất nhiều
lượt sinh viên chuyển ra và chuyển vào các phịng, ban quản lí phải sắp xếp
lại chỗ ở cho từng đối tượng này. Tình hình an ninh, vé gửi xe, đóng tiền
điện nước, khách ở trọ qua đêm, gửi thông báo đên ban quản lý ký túc xá.
Đồng thời Website giúp cho hoạt động của sinh viên tình nguyện, hội đồng
hương trở nên dễ dàng, thuận tiện…
Mặt khác, các bậc phụ huynh luôn muốn có được các thơng tin chính
xác về con em mình: điều kiện sinh hoạt, các bạn cùng phòng…
Nguyễn Thị Ngọc Minh – Lớp Tin học Kinh Tế 46A
12
Chuyên đề thực tập
Nhà trường đã tài trợ cho kí túc xá một số lượng lớn các máy tính có kết
nối Internet. Vì vậy:
Web site quản lý sinh viên kí túc xá là một giải pháp tốt cho các vấn đề
nêu trên. Trang web không chỉ hướng tới ban quản lý, sinh viên, phụ huynh
mà mọi người đều có thể truy cập, tìm kiếm thơng tin và hiểu thêm về các
hoạt động, cũng như danh tiếng, uy tín của trường, cuộc sống của các sinh
viên kí túc xá…
2.2 Mục tiêu của đề tài
Một web site thành cơng địi hỏi phải có sự thiết kế cẩn thận, giao diện
đẹp mắt và nội dung thơng tin chất lượng, được bố trí khoa học.
Thiết kế web site được coi là một lối mòn cho sự lựa chọn đề tài thực
tập của các sinh viên cơng nghệ thơng tin. Kết quả là, đã có khá nhiều web
site do các sinh viên tạo ra phong phú về nội dung, đa dạng về hình thức.
“Con đường quen thuộc nhất cũng có thể có những lối đi mà bạn chưa
từng đặt chân đến” - với quan niệm như vậy, trong học kì cuối của mình,
em đã thực tập tại công ty AI (Artificial Intelligence) và mong muốn những
gì đã học tại nhà trường và những kinh nghiệm thực tế từ kì thực tập sẽ
giúp em tìm được mơt “lối đi” mới trong đề tài của mình.
Mục tiêu của đề tài là có thể áp dụng vào thực tế. Trang web sẽ cung
cấp các thông tin cần thiết cho người sử dụng, thuận tiện cho việc quản lý
mà vẫn đảm bảo quyền riêng tư cá nhân. Ban quản lý sẽ có được thơng tin
về các sinh viên, phịng ở và các thông tin liên quan một cách hệ thống.
Sinh viên và các đối tượng khác có thể tìm được các thơng tin hữu ích từ
web site.
Nguyễn Thị Ngọc Minh – Lớp Tin học Kinh Tế 46A
13
Chuyên đề thực tập
2.3 Dự kiến
Web site sẽ được thiết kế bằng VB.Net, thiết kế cơ sở dữ liệu bằng
SQL, phân tích thiết kế bằng ngơn ngữ mơ hình UML, thiết kế giao diện
bằng công cụ Dotnetnuke, photoshop…
Trong khuôn khổ thời gian và kinh phí nhất định, web site chỉ dừng
lại ở ứng dụng Desktop.
Trong thời gian tới, web site có thể được đăng kí tên miền, phát triển
web site chạy trên mạng máy tính và tất cả người dùng đều có thể truy cập
vào web site mọi nơi, mọi lúc.
Đề tài được lựa chọn là Xây dựng web site quản lý sinh viên kí túc
xá trường ĐH Kinh Tế Quốc Dân. Và phục vụ cho đề tài đó, trong thời
gian thực tập của mình, em đã tìm hiểu về nơi thực tập (cơng ty TNHH Trí
Tuệ Nhân Tạo), tìm hiểu các qui trình thiết kế web site, các kĩ thuật và
công cụ hỗ trợ đặc biệt là ngôn ngữ thiết kế mơ hình UML. Em hi vọng
cơng cụ này sẽ phát huy được sức mạnh của nó trong quá trình thiết kế web
site.
II CƠ SỞ PHƯƠNG PHÁP LUẬN CỦA VIỆC THIẾT
KẾ WEBSITE
2 Tổng quan về internet
Internet là mạng máy tính kết nối các máy tính với nhau, nó có nguồn
gốc từ dự án Arpanet của Bộ Quốc Phòng Mỹ năm 1969 nhằm xây dựng
một mạng nối các trung tâm nghiên cứu khoa học và quân sự với nhau.
Năm 1970, ra đời thêm hai mạng Store and forwarrd và Alohanet. Năm
1972, Tomlinson phát mình ra chương trình thư tín điện tử E-mail và ứng
rụng này nhanh chóng được áp dụng rộng rãi. Arpanet nhanh chóng phát
triển và được tách thành hai mạng riêng vào năm 1983 là Milnet và
Arpanet.
Nguyễn Thị Ngọc Minh – Lớp Tin học Kinh Tế 46A
14
Chuyên đề thực tập
Tuy nhiên, thời gian sau đó, kế hoạch sử dụng mạng Arpanet không
thu được kết quả như mong muốn do một số lí do về kĩ thuật và chính trị.
Hội đồng khoa học Mĩ đã quyết định xây dựng một mạng riêng
NFSFNET liên kết các trung tâm tính tốn lớn và các trường Đại học năm
1986. Mạng này đã phát triển rất nhanh và thuật ngữ Internet ra đời từ đây.
Lợi ích của hệ thống trên mạng ngày càng được nhiều người biết đến,
tận dụng và khai thác, người ta có thể dễ dàng trao đổi thơng tin giữa các
vùng với khoảng cách ngày càng xa. Những năm 1990, người ta bắt đầu
mở rộng hệ thống mạng sang lĩnh vực thương mại.
Ngày nay, Internet đã trở thành một phần tất yếu của cuộc sống hiện
đại, nó trở nên phổ biến giống như điện thoại hay ti vi. Internet là một
phương tiện thơng tin hồn hảo, giúp việc thông tin liên lạc trở nên thuận
tiện hơn bao giờ hết.
1.1.Cách thức truyền thông trên Internet
Mạng cục bộ (LAN) ra đời trong những năm 60 là công nghệ dựa trên
các phần cứng riêng biệt, nối các máy tính với nhau trong phạm vi hẹp
Tiếp đó là mạng lớn hơn - mạng diện rộng WAN, nối nhiều máy tính
với nhau trong phạm vi rộng thông qua hệ thống dây truyền dẫn.
Hai mạng này bị hạn chế chỉ trong từng mạng riêng rẽ, hơn nữa hầu
hết các LAN, WAN khơng tương thích với nhau. Internet được thiết kế để
liên kết các mạng với nhau và cho phép thông tin được lưu thông một cách
tự do giữa những người sử dụng. Để làm được điều đó, cần có các bộ định
tuyến nối các LAN và WAN. Các máy tính được nối với nhau như vậy phải
có chung một giao thức (một tập hợp các luật dùng chung quy định về cách
thức truyền tin). Các chuẩn giao thức được sử dụng hiện nay là giao thức
TCP/IP, SNA, X.25. Giao thức TCP/IP cho phép dữ liệu dưới dạng các gói
nhỏ. Giao thức này đảm bảo việc thơng suốt thơng tin giữa các máy tính.
Một mạng máy tính gồm một máy trung tâm và nhiều máy trạm.
Internet được coi là mạng của các mạng.
Nguyễn Thị Ngọc Minh – Lớp Tin học Kinh Tế 46A
15
Chuyên đề thực tập
1.2.Các dịch vụ Internet
•
Thư điện tử : trao đổi thông tin giữa các cá nhân, tổ chức với nhau
• Word wide web
Web là một dịch vụ của Internet chứa thơng tin bao gồm văn bản, hình ảnh,
âm thanh thậm chí cả video.
• Dịch vụ truyền file FTP
Dùng để trao đổi các tệp tin từ máy chủ đến các máy cá nhân và ngược lại.
•
Gropher : Dịch vụ này hoạt động như thư viện menu.
•
Telnet: Dịch vụ này cho phép truy cập đến Server được xác định rõ
ràng
3 Giới thiệu về SQL Server 2000
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 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.
Nguyễn Thị Ngọc Minh – Lớp Tin học Kinh Tế 46A
16
Chuyên đề thực tập
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.
•
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... 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.
2.1
Giới Thiệu Về Transact SQL (T-SQL)
Transact-SQL là ngôn ngữ SQL mở rộng dựa trên SQL chuẩn của ISO
(International Organization for Standardization) và ANSI (American
National Standards Institute) được sử dụng trong SQL Server khác với PSQL (Procedural-SQL) dùng trong Oracle.
T-SQL được chia làm 3 nhóm:
Data Definition Language (DDL):
Nguyễn Thị Ngọc Minh – Lớp Tin học Kinh Tế 46A
17
Chuyên đề thực tập
Ðây là những lệnh dùng để quản lý các thuộc tính của một database như
định nghĩa các hàng hoặc cột của một table, hay vị trí data file của một
database...thường có dạng
•
Create object_Name
•
Alter object_Name
•
Drop object_Name
Trong đó object_Name có thể là một table, view, stored procedure,
indexes...
Ví dụ:
Lệnh Create sau sẽ tạo ra một table tên Importers với 3 cột
CompanyID,CompanyName,Contact
USE Northwind
CREATE TABLE Importers(
CompanyID int NOT NULL,
CompanyName varchar(40) NOT NULL,
Contact varchar(40) NOT NULL
)
Lệnh Alter cho phép ta thay đổi định nghĩa của một table như thêm(hay
bớt) một cột hay một Constraint...
USE Northwind
ALTER TABLE Importers
ADD ContactTitle varchar(20) NULL
Nguyễn Thị Ngọc Minh – Lớp Tin học Kinh Tế 46A
18
Chun đề thực tập
Lệnh Drop hồn tồn xóa table khỏi database nghĩa là cả định nghĩa của
table và data bên trong table đều biến mất
USE Northwind
DROP TABLE Importers
Data Control Language (DCL):
Ðây là những lệnh quản lý các quyền truy cập lên từng object (table, view,
stored procedure...). Thường có dạng sau:
•
Grant
•
Revoke
•
Deny
Ví dụ:
Lệnh sau sẽ cho phép user trong Public Role được quyền Select đối với
table Customer trong database Northwind (Role là một khái niệm giống
như Windows Group )
USE Northwind
GRANT SELECT
ON Customers
TO PUBLIC
Lệnh sau sẽ từ chối quyền Select đối với table Customer trong database
Northwind của các user trong Public Role
USE Northwind
DENY SELECT
ON Customers
TO PUBLIC
Nguyễn Thị Ngọc Minh – Lớp Tin học Kinh Tế 46A
19
Chuyên đề thực tập
Lệnh sau sẽ xóa bỏ tác dụng của các quyền được cho phép hay từ chối
trước đó
USE Northwind
REVOKE SELECT
ON Customers
TO PUBLIC
Data Manipulation Language (DML):
Ðây là những lệnh phổ biến dùng để xử lý data như Select, Update, Insert,
Delete
Ví dụ:
Select
USE Northwind
SELECT CustomerID, CompanyName, ContactName
FROM Customers
WHERE (CustomerID = 'alfki' OR CustomerID = 'anatr')
ORDER BY ContactName
Insert
USE Northwind
INSERT INTO Territories
VALUES (98101, 'Seattle', 2)
Update
USE Northwind
UPDATE Territories
SET TerritoryDescription = 'Downtown Seattle'
Nguyễn Thị Ngọc Minh – Lớp Tin học Kinh Tế 46A
20
Chuyên đề thực tập
WHERE TerritoryID = 98101
Delete
USE Northwind
DELETE FROM Territories
WHERE TerritoryID = 98101
Ðể chạy các câu lệnh thí dụ ở trên cần sử dụng i Query Analyser
2.1.1 Cú Pháp Của T-SQL:
Các thành phần tạo nên cú pháp của T-SQL
Identifiers
Nguyễn Thị Ngọc Minh – Lớp Tin học Kinh Tế 46A
21
Chuyên đề thực tập
Ðây chính là tên của các database object. Nó dùng để xác định một object. (
table, view, stored procedure, index.....). Trong ví dụ sau TableX, KeyCol,
Description là những identifiers
CREATE TABLE TableX
(KeyCol INT PRIMARY KEY, Description NVARCHAR(80))
Có hai loại Identifiers một loại thông thường (Regular Identifier) và một
loại gọi là Delimited Identifier, loại này cần có dấu "" hay dấu [] để ngăn
cách. Loại Delimited được dùng đối với các chữ trùng với từ khóa của SQL
Server (reserved keyword) hay các chữ có khoảng trống.
Ví dụ:
SELECT * FROM [My Table]
WHERE [Order] = 10
Variables (Biến)
Biến trong T-SQL cũng có chức năng tương tự như trong các ngơn ngữ lập
trình khác nghĩa là cần khai báo trước loại dữ liệu trước khi sử dụng. Biến
được bắt đầu bằng dấu @ (Ðối với các global variable thì có hai dấu @@)
Ví dụ:
USE Northwind
DECLARE @EmpIDVar INT
SET @EmpIDVar = 3
SELECT * FROM Employees
WHERE EmployeeID = @EmpIDVar + 1
Functions (Hàm)
Nguyễn Thị Ngọc Minh – Lớp Tin học Kinh Tế 46A
22
Chuyên đề thực tập
Có 2 loại hàm một loại là built-in và một loại user-defined
Các hàm Built-In được chia làm 3 nhóm:
•
Rowset Functions : Loại này thường trả về một object và
được đối xử như một table. Ví dụ như hàm OPENQUERY sẽ
trả về một recordset và có thể đứng vị trí của một table trong
câu lệnh Select.
•
Aggregate Functions : Loại này làm việc trên một số giá trị
và trả về một giá trị đơn hay là các giá trị tổng.
•
Scalar Functions : Loại này làm việc trên một giá trị đơn và
trả về một giá trị đơn. Trong loại này lại chia làm nhiều loại
nhỏ như các hàm về tốn học, về thời gian, xử lý kiểu dữ liệu
String....Ví dụ như hàm MONTH('2002-09-30') sẽ trả về tháng
9.
Các hàm User-Defined (được tạo ra bởi câu lệnh CREATE
FUNCTION và phần body thường được gói trong cặp lệnh BEGIN...END)
cũng được chia làm các nhóm như sau:
•
Scalar Functions : Loại này cũng trả về một giá trị đơn bằng
câu lệnh RETURNS.
•
Table Functions : Loại này trả về một table
Expressions
Các Expressions có dạng Identifier + Operators (như +,-,*,/,=...) + Value
2.1.2 Các thành phần Control-Of Flow
Như BEGIN...END, BREAK, CONTINUE, GOTO, IF...ELSE,
RETURN, WHILE....
Nguyễn Thị Ngọc Minh – Lớp Tin học Kinh Tế 46A
23
Chuyên đề thực tập
Comments (Chú Thích)
T-SQL dùng dấu -- để đánh dấu phần chú thích cho câu lệnh đơn và dùng /
*...*/ để chú thích cho một nhóm
2.1.3 Thực Thi Các Câu Lệnh SQL
Thực thi một câu lệnh đơn:
Một câu lệnh SQL được phân ra thành các thành phần cú pháp như
trên bởi một parser, sau đó SQL Optimizer (một bộ phận quan trọng của
SQL Server) sẽ phân tích và tìm cách thực thi (Execute Plan) tối ưu nhất ví
dụ như cách nào nhanh và tốn ít tài nguyên của máy nhất... và sau đó SQL
Server Engine sẽ thực thi và trả về kết quả.
Thực Thi một nhóm lệnh (Batches)
Khi thực thi một nhóm lệnh SQL Server sẽ phân tích và tìm biện pháp
tối ưu cho các câu lệnh như một câu lệnh đơn và chứa execution plan đã
được biên dịch (compiled) trong bộ nhớ sau đó nếu nhóm lệnh trên được
gọi lại lần nữa thì SQL Server khơng cần biên dịch mà có thể thực thi ngay
điều này giúp cho một batch chạy nhanh hơn.
2.1.4 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.
Nguyễn Thị Ngọc Minh – Lớp Tin học Kinh Tế 46A
24
Chun đề thực tập
•
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:
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)
Nguyễn Thị Ngọc Minh – Lớp Tin học Kinh Tế 46A
25