Chẳng hạn ứng dụng cơ sở của bạn có chức năng như một công cụ thương mại điện tử một cửa hàng trực tuyến trưng bày catalogue sản phẩm trên website hay theodõi kho hàng, khi một mặt hàng
Trang 1Lêi c¶m ¬n
Trong thời gian vừa qua tập thể lớp nói chung cũng như bản thân em nóiriêng đã nhận được sự hướng dẫn một cách cụ thể và chân thành nhất từ các thầy côgiáo trong khoa,để chúng em có thể hoàn thành một cách hiệu quả công viêc họctập cũng như kinh nghiệm thực tế.Lời nói đầu cho em được kính chúc thầy cô giáomột sức khỏe dồi dào,thành đạt trong mọi công việc.Qua đây em cũng xin được gửitới thầy giáo Vũ Chí Cường - người hướng dẫn em làm đồ án tốt nghiệp trong thờigian qua lời cảm ơn sâu sắc nhất
Tuy nhiên, do thời gian hạn hẹp, mặc dù đã nỗ lực hết sức mình, nhưng chắcrằng đồ án khó tránh khỏi thiếu sót Em rất mong nhận được sự thông cảm và chỉbảo tận tình của quý Thầy cô và các bạn
Vinh-05/2010 Sinh viên thực hiện
Nguyễn Thế Thông
MỤC LỤC
Trang 2Lời cảm ơn 1
LờI NóI ĐầU 5
Chơng I TổNG QUAN Về Đề TàI 6
1.1 Lí do chọn đề tài 6
1.2 Phạm vi đề tài 6
1.3 Yêu cầu của ngời sử dụng Website báo thông tin điện tử 6
1.4 Yêu cầu bên phía quản trị Website 7
1.5 Mô tả bài toán 7
1.5.1 Mô tả 7
1.5.2 Yêu cầu hệ thống 8
1.5.2.1 Đối với Quản trị Website 8
1.5.2.2 Đối với ngời sử dụng 8
1.6 Mục tiêu đề ra 8
Chơng II GIớI THIệU NGÔN NGữ Lập TRìNH ASP.NET 8
2.1 Giới thiệu ngôn ngữ lập trình ASP.NET 8
2.1.1 Sự khác nhau giữa Website tĩnh và Website động 8
2.1.1.1.Website tĩnh: 8
2.1.1.1.1 Ưu điểm 9
2.1.1.1.2 Nhợc điểm 9
2.1.1.2.Website động : 9
2.1.1.2.1 Ưu điểm 11
2.1.1.2.2 Nhợc điểm 11
2.1.2 Ngôn ngữ lập trình ASP.NET 11
2.1.3- Ưu điểm của asp.net 13
2.1.4 Giới thiệu ngôn ngữ C#.net 14
2.2 Giới thiệu Hệ quản trị cơ sở dữ liệu SQL Server 2005 15
2.2.1Giới thiệu 15
2.2.2 Các thành phần quan trọng của SQL Server 2005 16
Trang 32.2.3 Các tính năng mới của SQL Server 2005 17
2.2.3.1.Nâng cao bảo mật 17
2.2.3.2 Tăng cờng hỗ trợ ngời phát triển 18
2.2.3.3 Tăng cờng khả năng quản lý 19
Chơng III PHÂN TíCH Hệ THốNG 22
3.1 Phân tích hệ thống về chức năng 22
3.1.1 Biểu đồ phân cấp chức năng 22
3.1.2 Biểu đồ luồng dữ liệu mức khung cảnh 22
3.1.3 Biểu đồ luồng dữ liệu mức đỉnh 24
3.1.3.1 Phân rã chức năng quản lý nội dung 24
3.1.3.2 Phân rã chức năng quản lý liên hệ 24
3.1.4 Biểu đồ luồng dữ liệu mức dới đỉnh 25
3.1.4.1 Phân rã chức năng quản lý nội dung 25
3.1.4.2 Phân rã chức năng quản lý liên hệ 26
3.2 Phân tích hệ thống về dữ liệu 28
3.3 Thiết kế bảng dữ liệu 30
3.3.1 Bảng lĩnh vực 30
3.3.2 Bảng danh mục 31
3.3.3 Bảng bài viết 32
3.3.4 Bảng quảng cáo 32
3.3.5 Bảng liên hệ 33
CHƯƠNG IV THIếT Kế 34
4.1.Giao diện trang chủ 34
4.2 Giao diện trang liên hệ 35
4.3 Giao diện trang quản trị 36
4.3.1 Trang ADMIN 36
4.3.2 Trang quản trị hệ thống 37
Chơng v cài đặt và thử nghiệm 38
5.1.Chuẩn bị : 39
5.2.Thực hiện : 39
Trang 45.3 Hoàn tất : 39
CHƯƠNG VI TổNG KếT 39
6.1 Những việc đã làm đợc 39
6.2 Những việc cha làm đợc : 40
6.3 Hớng phát triển 40
6.3.1 Đối với các dịch vụ dành cho ngời dùng 40
6.3.2 Đối với quản trị viên 41
Tài liệu tham khảo 42
Trang 5LờI NóI ĐầU
Ngày nay, ứng dụng cụng nghệ thụng tin và việc tin học húa được xem làmột trong những yếu tố mang tớnh quyết định trong hoạt động của cỏc chớnh phủ, tổchức, cũng như của cỏc cụng ty; nú đúng vai trũ hết sức quan trọng, cú thể tạo ranhững bước đột phỏ mạnh mẽ
Công nghệ thông tin là một trong những ngành mũi nhọn của đất nớc Hàng
năm nguồn nhân lực Công nghệ thông tin đào tạo ra luôn đáp ứng đợc số lợng lớncác yêu cầu của xã hội về nhiều mặt nh : Kinh tế, văn hóa , xã hội…Do đó, việc ứngdụng rộng rãi của ngành công nghệ thông tin trong xã hội là điều tất yếu
Từ khi Internet ra đời , kéo theo đó là sự bùng nổ thông tin trên Internet, mộtloạt các dịch vụ trên Internet đã khiến cuộc sống của con ngời trở nên thú vị hơn,khoảng cách địa lý không còn là vấn đề gây khó khăn Những lợi ích mà Internetmạng lại là rất lớn Trong đó Website là một trong những dịch vụ phổ biến nhất trênInternet hiện nay
Bắt nguồn từ ý tởng này, cùng với gợi ý của thầy Vũ Chí Cờng em đã thựchiện đồ án “Xây dựng website bỏo thông tin điện tử” nhằm phục nhu cầu tìmkiếm thông tin, cung cấp thông tin chính xác,nhanh chóng trên nhiều lĩnh vực củaxã hội
vinh, 05/2010 Sinh viờn:Nguyễn Thế Thụng
Trang 6Chơng I TổNG QUAN Về Đề TàI 1.1 Lí do chọn đề tài
Trong thời đại CNTT hiện nay, tin tức xã hội đóng một vai trò vô cùng quantrọng Bằng việc cung cấp kịp thời, nhanh chóng và chính xác các tin tức xảy rahàng ngày về nhiều lĩnh vực nh : Xã hội, văn hóa, chính trị, pháp luật, thể thao.vv…các bỏo thông tin điện tử đã thật sự trở thành nhu cầu thiết yếu của xã hội Khôngchỉ phục vụ nhu cầu tìm kiếm thông tin mà bỏo thông tin điện tử còn đem lại rấtnhiều kiến thức bổ ích cho con ngời bằng việc chia sẻ kiến thức khổng lồ lênInternet
Hỗ trợ ngời dùng tìm kiếm nội dung bài viết
Ghi nhận những ý kiến phản hồi, phê bình, góp ý của ngời dùng
Xây dựng đợc hệ thống quản lý quảng cáo, đặt logo cho các công ty trênwebsite
Vì thời gian có hạn nên trong quá trình trình thực hiện đề tài này em chưa đi sõuđược để hoàn thiện một website với đầy đủ mọi tớnh năng của một website bỏothụng tin điện tử như đối với người dựng chưa cú chức năng đăng kớ tài khoản vàbỡnh luận trờn website,đối với quản trị viờn chưa cú chức năng phõn quyền chongười quản trị viờn;
1.3 Yêu cầu của ngời sử dụng Website báo thông tin điện tử
Trang 7Trong thời đại CNTT hiện nay, tin tức xã hội đóng một vai trò vô cùng quan
trọng Bằng việc cung cấp kịp thời, nhanh chóng và chính xác các tin tức xảy rahàng ngày về nhiều lĩnh vực nh : Xã hội, văn hóa, chính trị, pháp luật, thể thao v…
v các bỏo thông tin điện tử đã thật sự trở thành nhu cầu thiết yếu của xã hội Khôngchỉ phục vụ nhu cầu tìm kiếm thông tin mà bỏo thông tin điện tử còn đem lại rấtnhiều kiến thức bổ ích cho con ngời bằng việc chia sẻ kiến thức khổng lồ lênInternet
Đối với ngời sử dụng, để tìm kiếm đợc thông tin có ích cho bản thân mình thì
đòi hỏi Website phải đáp ứng đợc về mặt thẩm mỹ, giao diện dễ sử dụng, tin tức đalên phải chính xác, kịp thời và đầy đủ cả về nội dung lẫn hình ảnh Mặt khác, tính t-
ơng tác hai mặt của bỏo thông tin điện tử phải đợc nâng cao nhằm thu thập đợcnhiều ý kiến và nguyện vọng của ngời sử dụng về những nội dung, chủ đề màWebsite đa ra
1.4 Yêu cầu bên phía quản trị Website
Bỏo thông tin điện tử đòi hỏi độ chính xác cao trong mỗi bản tin đa lên, vìvậy yêu cầu đối với quản trị website là phải cung cấp công cụ đủ mạnh để quản lýcác bài viết, các chuyên mục và hình ảnh hiển thị trên website Đồng thời , songsong với việc đảm bảo về nội dung, quản trị website còn cần phải đảm bảo sự antoàn cho hệ thống bằng việc bảo mật thông tin
1.5 Mô tả bài toán
1.5.1 Mô tả
Các chức năng của một bỏo thông tin điện tử :
1 Quản lý các chuyên mục về các lĩnh vực và nội dung có trong mỗi chuyênmục đó
2 Cập nhật các tin tức lên Website
3 Khi ngời dùng xem các bài viết cần phải có mục tìm kiếm để ngời dùng dễdàng tìm thấy nội dung cần tìm
4 Hệ thống cho phép đăng các quảng cáo lên những vị trí đã đợc định trớc
Đồng thời có thể thêm, sửa hay xóa các quảng cáo theo yêu cầu
Trang 85 Quản lý các thông tin phản hồi, thông tin liên hệ của ngời dùng
4 Quản lý các thông tin phản hồi, liên hệ của khách hàng
1.5.2.2 Đối với ngời sử dụng
1 Xem các bài viết mới nhất đợc đăng trên Website
2 Tìm kiếm thông tin về một bài viết bất kỳ
3 Gửi phản hồi, liên hệ
1.6 Mục tiêu đề ra
Về mặt lý thuyết:
1 Nắm đợc cơ sở lý thuyết chung về xây dựng báo thông tin điện tử
2 Hiểu rõ quy trình thiết kế một bỏo thông tin điện tử
Về mặt ứng dụng:
1 Xây dựng Website bỏo thông tin điện tử để cập nhật tin tức hàng ngày về cáclĩnh vực : văn hóa, xã hội, thể thao, pháp luật.vv…
2 Hoàn thiện Website và đa vào sử dụng
Chơng II GIớI THIệU NGÔN NGữ Lập TRìNH ASP.NET
2.1 Giới thiệu ngôn ngữ lập trình ASP.NET
2.1.1 Sự khác nhau giữa Website tĩnh và Website động
2.1.1.1 Website tĩnh:
Là Website chỉ bao gồm cỏc trang web tĩnh và khụng cú cơ sở dữ liệu đi kốm. Trang web tĩnh thường được xõy dựng bằng cỏc ngụn ngữ HTML, DHTML,…
Trang 9Trang web tĩnh thường được dựng để thiết kế cỏc trang web cú nội dung ớt cần thayđổi và cập nhật
Website tĩnh thớch hợp với cỏ nhõn, tổ chức, doanh nghiệp vừa và nhỏ mới làmquen với mụi trường Internet
2.1.1.1.1 Ưu điểm
Thiết kế đồ hoạ đẹp: Trang Web tĩnh thường được trỡnh bày ấn tượng và cuốn hỳthơn trang web động về phần mỹ thuật đồ hoạ vỡ chỳng ta cú thể hoàn toàn tự dotrỡnh bày cỏc ý tưởng về đồ hoạ và mỹ thuật trờn toàn diện tớch từng trang webtĩnh
Tốc độ truy cập nhanh: Tốc độ truy cập của người dựng vào cỏc trang web tĩnhnhanh hơn cỏc trang web động vỡ khụng mất thời gian trong việc truy vấn cơ sở dữliệu như cỏc trang web động
Thõn thiện hơn với cỏc mỏy tỡm kiếm (search engine) : Bởi vỡ địa chỉ URL củacỏc html, htm,… trong trang web tĩnh khụng chứa dấu chấm hỏi (?) như trongweb động
Chi phớ đầu tư thấp: Chi phớ xõy dựng website tĩnh thấp hơn nhiều so với websiteđộng vỡ khụng phải xõy dựng cỏc cơ sở dữ liệu, lập trỡnh phần mềm cho website vàchi phớ cho việc thuờ chỗ cho cơ sở dữ liệu, chi phớ yờu cầu hệ điều hành tươngthớch (nếu cú)
2.1.1.1.2 Nhợc điểm
Thay đổi thụng tin khú khăn (mất nhiều thời gian và đũi hỏi cú một số kỹ năng sửdụng html, phần mềm ftp) Do khụng cú mó lệnh lập trỡnh vỡ vậy việc cập nhật,thay đổi nội dung thụng tin của website mang nặng tớnh thủ cụng nờn cần nhiềuthời gian
Số lượng cỏc trang thụng tin theo lý thuyết là khụng giới hạn nhưng với số trangcàng lớn càng tốn nhiều thời gian chẳng hạn cần thờm một trang thụng tin thỡ phảisửa tất cả những trang cũn lại
2.1.1.2.Website động :
Trang 10Web động là thuật ngữ được dùng để chỉ những website có cơ sở dữ liệu và được
hỗ trợ bởi các phần mềm phát triển web.
Với web động, thông tin hiển thị được gọi ra từ một cơ sở dữ liệu khi người dùngtruy vấn tới một trang web Trang web được gửi tới trình duyệt gồm những câuchữ, hình ảnh, âm thanh hay những dữ liệu số hoặc ở dạng bảng hoặc ở nhiều hìnhthức khác nữa
Chẳng hạn ứng dụng cơ sở của bạn có chức năng như một công cụ thương mại điện
tử (một cửa hàng trực tuyến) trưng bày catalogue sản phẩm trên website hay theodõi kho hàng, khi một mặt hàng được giao, ngay lập tức những trang có liên quanđến sản phẩm đó phản ánh sự thay đổi này Những website cơ sở dữ liệu còn có thểthực hiện những chức năng truyền và xử lý thông tin giữa doanh nghiệp – doanhnghiệp
Web động thường được phát triển bằng các ngôn ngữ lập trình tiên tiến như PHP,ASP, ASP.NET, Java, CGI, Perl, và sử dụng các cơ sở dữ liệu quan hệ mạnh nhưAccess, My SQL, MS SQL, Oracle, DB2,
Thông tin trên web động luôn luôn mới vì nó dễ dàng được bạn thường xuyên cậpnhật thông qua việc Bạn sử dụng các công cụ cập nhật của các phần mềm quản trịweb Thông tin luôn được cập nhật trong một cơ sở dữ liệu và người dùng Internet
có thể xem những chỉnh sửa đó ngay lập tức Vì vậy website được hỗ trợ bởi cơ sở
dữ liệu là phương tiện trao đổi thông tin nhanh nhất với người dùng Internet Điều
dễ nhận thấy là những website thường xuyên được cập nhật sẽ thu hút nhiều kháchhàng tới thăm hơn những web site ít có sự thay đổi về thông tin
Web động có tính tương tác với người sử dụng cao Với web động, Bạn hoàn toàn
có thể dễ dàng quản trị nội dung và điều hành website của mình thông qua cácphần mềm hỗ trợ mà không nhất thiết Bạn cần phải có kiến thức nhất định về ngônngữ html, lập trình web
Bạn cũng có thể nhìn nhận vấn đề theo khía cạnh khác: chẳng hạn bạn đã có sẵnnhững cơ sở dữ liệu như cơ sở dữ liệu sản phẩm, nhân sự, khách hàng hay bất kỳ
Trang 11cơ sở dữ liệu nào đú mà bạn muốn đưa thờm giao diện web vào để người dựng nội
bộ hay người dựng Internet đều cú thể sử dụng chương trỡnh chỉ với trỡnh duyệtweb của mỡnh
Tất cả cỏc website Thương mại điện tử, cỏc mạng thương mại, cỏc mạng thụng tinlớn, cỏc website của cỏc tổ chức, doanh nghiệp hoạt động chuyờn nghiệp trờn Netđều sử dụng cụng nghệ web động Cú thể núi web động là website của giới chuyờnnghiệp hoạt động trờn mụi trường Internet
2.1.2 Ngôn ngữ lập trình ASP.NET
ASP.NET là một công nghệ của nền tảng công nghệ NET sử dụng NetFramework Là sự tổng hợp tất cả các kỹ thuật cần thiết cho việc xây dựng một ứngdụng nền Desktop, Website, Web Services…v.v…
ASP.NET là một kỹ thuật Server-Side Hầu hết những ngời lập trình web mớibắt đầu đều làm việc trên các Client-Side nh : HTML, JavaScript, CSS v v Khi mộttrình duyệt Web yêu cầu, một trang Web đợc tạo ra bởi các kỹ thuật Client-Side.Lúc này Webserver đơn giản là lấy các Files đợc yêu cầu và gửi chúng xuốngClient Phía Client chịu hoàn toàn trách nhiệm trong việc đọc và biên dịch các file,
đồng thời xuất ra màn hình Với kỹ thuật Server-Side nh ASP.NET thì hoàn toàn
Trang 12khác Thay vì việc biên dịch ở Client, các đoạn mã sẽ đợc Webserver biên dịch vàphát sinh ra các mã HTML, JavaScript, CSS và gửi về cho trình duyệt hiển thị Do
đó, tốc độ của một Website sử dụng công nghệ ASP.NET nhanh gấp 4 lần côngnghệ ASP cũ
ASP.NET hỗ trợ XML, Webservices, giao tiếp với CSDL một cách đơn giản,nhanh chóng và đảm bảo toàn vẹn dữ liệu
Từ khoảng cuối thập niờn 90, ASP (Active Server Page) đó được nhiều lập trỡnhviờn lựa chọn để xõy dựng và phỏt triển ứng dụng web động trờn mỏy chủ sử dụng
hệ điều hành Windows ASP đó thể hiện được những ưu điểm của mỡnh với mụhỡnh lập trỡnh thủ tục đơn giản, sử dụng hiệu quả cỏc đối tượng COM: ADO(ActiveX Data Object) - xử lý dữ liệu, FSO (File System Object) - làm việc Chớnhnhững ưu điểm đú, ASP đó được yờu thớch trong một thời gian dài
Tuy nhiờn, ASP vẫn cũn tồn đọng một số khú khăn như Code ASP và HTML lẫnlộn, điều này làm cho quỏ trỡnh viết code khú khăn, thể hiện và trỡnh bày codekhụng trong sỏng, hạn chế khả năng sử dụng lại code Bờn cạnh đú, khi triển khaicài đặt, do khụng được biờn dịch trước nờn dễ bị mất source code Thờm vào đú,ASP khụng cú hỗ trợ cache, khụng được biờn dịch trước nờn phần nào hạn chế vềmặt tốc độ thực hiện Quỏ trỡnh xử lý Postback khú khăn, …
Đầu năm 2002, Microsoft giới thiệu một kỹ thuật lập trỡnh Web khỏ mới mẻ với tờngọi ban đầu là ASP+, tờn chớnh thức sau này là ASP.Net Với ASP.Net, khụngnhững khụng cần đũi hỏi bạn phải biết cỏc tag HTML, thiết kế web, mà nú cũn hỗtrợ mạnh lập trỡnh hướng đối tượng trong quỏ trỡnh xõy dựng và phỏt triển ứngdụng Web ASP.Net là kỹ thuật lập trỡnh và phỏt triển ứng dụng web ở phớa Server(Server-side) dựa trờn nền tảng của Microsoft Net Framework
Hầu hết, những người mới đến với lập trỡnh web đều bắt đầu tỡm hiểu những kỹthuật ở phớa Client (Client-side) như: HTML, Java Script, CSS (Cascading StyleSheets) Khi Web browser yờu cầu một trang web (trang web sử dụng kỹ thuậtclient-side), Web server tỡm trang web mà Client yờu cầu, sau đú gởi về cho Client.Client nhận kết quả trả về từ Server và hiển thị lờn màn hỡnh
Trang 13ASP.Net sử dụng kỹ thuật lập trình ở phía server thì hoàn toàn khác, mã lệnh ở phíaserver (ví dụ: mã lệnh trong trang ASP) sẽ được biên dịch và thi hành tại WebServer Sau khi được Server đọc, biên dịch và thi hành, kết quả tự động đượcchuyển sang HTML/JavaScript/CSS và trả về cho Client
Tất cả các xử lý lệnh ASP.Net đều được thực hiện tại Server và do đó, gọi là kỹthuật lập
2.1.3- ¦u ®iÓm cña asp.net
ASP.Net cho phép bạn lựa chọn một trong các ngôn ngữ lập trình mà bạn yêu
thích: Visual Basic.Net, J#, C#,…
Trang ASP.Net được biên dịch trước Thay vì phải đọc và thông dịch mỗi khi trangweb được yêu cầu, ASP.Net biên dịch những trang web động thành những tập tinDLL mà Server có thể thi hành nhanh chóng và hiệu quả Yếu tố này là một bướcnhảy vọt đáng kể so với kỹ thuật thông dịch của ASP
ASP.Net hỗ trợ mạnh mẽ bộ thư viện phong phú và đa dạng của Net Framework,làm việc với XML, Web Service, truy cập cơ sở dữ liệu qua ADO.Net, …
ASPX và ASP có thể cùng hoạt động trong 1 ứng dụng
ASP.Net sử dụng phong cách lập trình mới: Code behide Tách code riêng, giaodiện riêng ID đọc, dễ quản lý và bảo trì
Kiến trúc lập trình giống ứng dụng trên Windows
Hỗ trợ quản lý trạng thái của các control
Tự động phát sinh mã HTML cho các Server control tương ứng với từng loạiBrowser
Hỗ trợ nhiều cơ chế cache
Triển khai cài đặt
Không cần lock, không cần đăng ký DLL
Cho phép nhiều hình thức cấu hình ứng dụng
Hỗ trợ quản lý ứng dụng ở mức toàn cục
Trang 14 Global.aspx có nhiều sự kiện hơn
Quản lý session trên nhiều Server, không cần Cookies
2.1.4 Giíi thiÖu ng«n ng÷ C#.net
Microsoft Visual C#.NET là ngôn ngữ lập trình mạnh nhưng đơn giản, chủ yếu
dùng cho việc tạo ra các ứng dụng chạy trên nền Microsoft NET C# đóng vai tròquan trọng trong kiến trúc NET Framework của Microsoft Nó được so sánh ngangbằng với vai trò của C trong việc phát triển UNIX Nó thừa hưởng nhiều đặc tínhhay của ngôn ngữ C++ và Microsoft Visual Basic, loại bỏ đi những mâu thuẫn đặctính lỗi thời C# có những đặc tính mới giúp tăng nhanh tốc độ phát triển ứng dụng,đặc biệt khi kết hợp với Microsoft Visual Studio NET
Ngôn ngữ C# được biết đến như là một ngôn ngữ lập trình hiện đại, đơn giản
và mạnh mẽ mang những đặc điểm:
- C# là ngôn ngữ đơn giản: không phức tạp và rối rắm như ngôn ngữ javahay C++, C# loại bỏ những macro, template, đa kế thừa, lớp cơ sở ảo những yếu tốhay gây ra sự nhầm lẫn cho người phát triển ứng dụng C# khá giống C++ hay java
về diện mạo, cú pháp, biểu thức toán tử song đã được cải tiến để vừa mang lại sựthân thiện với những người đã quen với C++ và cũng đơn giản hơn để học
- C# là một ngôn ngữ hiện đại: C# mang những đặc tính của một ngôn ngữhiện đại như: xử lý ngoại lệ, thu gom bộ nhớ tự động, kiểu dữ liệu mở rộng, bảomật mã nguồn
- C# là ngôn ngữ hướng đối tượng (object oriented language): C# hỗ trợnhững đặc điểm của một ngôn ngữ hướng đối tượng là sự đóng gói (encapsulation),
sự kế thừa (inheritance), tính đa hình (polymorphism)
- C# là ngôn ngữ mạnh mẽ và mềm dẻo: với ngôn ngữ C# chúng ta chỉ bịgiới hạn bởi chính bản thân hay trí tưởng tượng của chúng ta, ngôn ngữ này khôngđặt những ràng buộc lên những việc có thể làm C# được sử dụng cho nhiều dự án
Trang 15khác nhau như tạo ra ứng dụng xử lý văn bản, xử lý đồ họa hay thậm chí là trìnhbiên dịch cho những ngôn ngữ khác.
- C# là ngôn ngữ ít từ khóa: chỉ với khoảng 80 từ khóa nhưng C# vẫn có thểđáp ứng tất cả các yêu cầu về thao tác bất kỳ nhiệm vụ nào
- C# là ngôn ngữ hướng module: Mã nguồn C# được viết trong những phầngọi là lớp, những lớp này chứa các phương thức thành viên của nó và có thể sửdụng lại trong các ứng dụng hay chương trình khác bằng cách truyền những mẩuthông tin đến những lớp hay phương thức chúng ta có thể tạo ra một mã nguồn cótính sử dụng lại một cách hiệu quả
- C# sẽ là một ngôn ngữ phổ biến: có thể nói rằng C# là một trong nhữngngôn ngữ mới nhất Cùng với các đặc tính của nó và mong muốn của Microsoft C#
đã đang và sẽ là một ngôn ngữ được sử dụng rộng rãi
Từ những lý do trên tôi quyết định chọn C# là ngôn ngữ để phát triển đề tàicủa mình
2.2 Giíi thiÖu HÖ qu¶n trÞ c¬ së d÷ liÖu SQL Server 2005
2.2.1Giíi thiÖu
Hệ quản trị cơ sở dữ liệu là phần mềm cho phép định nghĩa, khởi tạo, bảo trì cơ
sở dữ liệu và cung cấp các truy xuất điều khiển đến dữ liệu.
Hệ quản trị cơ sở dữ liệu quan hệ là hệ quản trị dữ liệu dựa trên mô hình dữ
liệu quan hệ.
Microsoft SQL Server 2005 là công cụ thiết kế và xây dựng cơ sở dữ liệu có
tính thực thi cao, được trải nghiệm qua nhiều phiên bản nhằm đem lại sự tối ưu Những người phát triển ứng dụng, những người quản lý cơ sở dữ liệu, những nhà
phân tích và thiết kế hệ thống và tất cả những ai quan tâm đến việc thiết kế, pháttriển, bảo lưu và quản lý các trình ứng dụng đều có thể sử dụng công cụ này.
Sử dụng SQL Sever giúp chúng ta có thể thao tác với cơ sở dữ liệu, chèn,xoá, cập nhật thêm những bản ghi vào CSDL
Trang 16Ngày nay, các tổ chức luôn phải đối mặt với những khó khăn về dữ liệu: sựphát triển của dữ liệu và các hệ thống trong hoạt động kinh doanh; việc cần thiết đểcung cấp cho các nhân viên, các khách hàng và các đối tác có thể truy cập dữ liệumột cách thích hợp; mong muốn trang bị cho các nhân viên có được thông tin đầy
đủ hơn để đưa ra các quyết định tốt; nhiệm vụ kiểm soát chi phí mà không có ứngdụng có giá trị, bảo mật tốt và đáng tin cậy
SQL Server 2005 là giải pháp phân tích và quản trị dữ liệu thế hệ kế tiếp củaMicrosoft Nó sẽ cho phép nâng cao độ bảo mật, khả năng sắp xếp, giá trị cho dữliệu hoạt động kinh doanh và các ứng dụng phân tích, làm cho chúng dễ dàng hơn
trong việc tạo dựng, triển khai và quản lý.
Được xây dựng dựa trên những điểm mạnh của SQL Server 2000, SQLServer 2005 sẽ cung cấp một quản trị dữ liệu hợp nhất và giải pháp phân tích đểgiúp các tổ chức dù lớn hay nhỏ cũng đều có thể:
Xây dựng và triển khai các ứng dụng kinh doanh một cách bảo đảm, dễ sắpxếp và có độ tin cậy cao hơn
Phát huy tối đa hiệu quả CNTT bằng cách giảm sự phức tạp trong việc tạo,triển khai và quản lý các ứng dụng cơ sở dữ liệu
Trao quyền cho những người phát triển ứng dụng thông qua môi trường pháttriển phong phú, linh hoạt và hiện đại, làm cho việc tạo các ứng dụng cơ sở dữ liệu
an toàn hơn
Chia sẻ dữ liệu qua nhiều hệ thống máy tính, ứng dụng và các thiết bị để tạo
sự kết nối dễ dàng giữa bên trong và bên ngoài hệ thống
Trình bày rõ ràng và kết hợp các giải pháp tin tức kinh doanh, để điều chỉnhcác quyết định kinh doanh kịp thời và tăng hiệu quả trong toàn bộ tổ chức củabạn.Kiểm soát giá thành mà không cần cung cấp sự thực thi, khả năng sẵn có haykhả năng sắp xếp
2.2.2 C¸c thµnh phÇn quan träng cña SQL Server 2005
Trang 17- Relational Database Engine: - Cái lõi của SQL Server
Ðây là engine có khả năng chứa data với các quy mô khác nhau dưới dạng
table và hỗ trợ tất cả các kiểu kết nối dữ liệu thông dụng của Microsoft ActiveXData Objects - ADO, Open Database Connectivity - ODBC,…
- Replication - Cơ chế tạo bản sao (Replicate)
Cơ chế Replication của SQL Server sẽ bảo đảm cho dữ liệu ở 2 database
được đồng bộ (synchronized)
- Data Transformation Service (DTS) - chuyển dịch dữ liệu hiệu quả
Giúp di chuyển dữ liệu giữa các server hiệu quả và định dạng trước khi lưuvào database khác, khi đó ta sẽ thấy DTS giúp giải quyết công việc một cách dễ
dàng
- Analysis Service - dịch vụ phân tích dữ liệu của Microsoft
- SQL Server Tools - một công cụ của người quản trị cơ sở dữ liệu.
Bảo mật nhóm thư mục hệ thống:
- Nhóm mục hệ thống bao gồm các View bên dưới cấu trúc dữ liệu hệ thống.Người sử dụng không thấy được bất cứ bảng bên dưới nào, vì thế những ngườidùng không có kỹ năng hoặc có ý phá hoại không thể thay đổi hoặc làm hư hỏng
Trang 18các bảng này được Điều này ngăn bạn hoặc bất kỳ ai khác làm hỏng cấu trúcchính mà SQL Server phụ thuộc vào.
Bắt buộc chính sách mật khẩu:
- Khi bạn cài Window Server 2003, bạn có thể áp dụng chính sách mật khẩucủa Window (bạn đang áp dụng) cho SQL Server 2005 Bạn có thể thi hànhchính sách về mức độ và ngày hết hạn của mật khẩu trên SQL Server 2005giống hệt như cho tài khoản đăng nhập vào Windows mà trong 2000 không
hỗ trợ tính năng này Bạn có thể tắt hoặc mở việc bắt buộc chính sách mậtkhẩu cho từng đăng nhập riêng
Tách biệt giản đồ và người dùng:
- SQL Server 2000 không có khái niệm giản đồ (Schema): Người dùng sở hữucác đối tượng CSDL Nếu một người dùng User1 tạo một đối tượng là myTable thìtên của đối tượng sẽ là User1.myTable Nếu User1 bị xóa khi một nhân viên rờikhỏi công ty chẳng hạn, bạn cần thay đổi tên của đối tượng Việc này gây ra vấn đềvới những ứng dụng phụ thuộc vào tên của đối tượng để truy xuất dữ liệu
Trong SQL Server 2005, người dùng có thể tạo giản đồ có tên khác với ngườidùng để chứa các đối tượng CSDL Ví dụ User1 có thể tạo giản đồ có tên là HR vàtạo một đối tượng Employee Bạn tham chiếu đến đối tượng đó như làHR.Employee Vì thế nếu User1 rời khỏi công ty, bạn không cần thay đổi tên giản
đồ, nghĩa là mã ứng dụng vẫn được giữ nguyên bởi vì đối tượng vẫn được gọi làHR.Employee
Tự động tạo chứng nhận cho SSL:
- Trong SQL Server 2000, khi bạn dùng Secure Sockets Layer (SSL) để đăngnhập vào thể hiện SQL Server, bạn phải tạo chứng nhận để làm cơ sở sử dụngSSL SQL Server 2005 tự tạo chứng nhận cho bạn, điều đó cho phép bạn sử dụngSSL, mà không cần phải quan tâm việc tạo chứng nhận
2.2.3.2 T¨ng cêng hç trî ngêi ph¸t triÓn
Hỗ trợ cho Common Language Runtime (CLR):
Trang 19CLR Được dùng bơi mã NET, được nhúng vào trong cỗ máy CSDL SQLServer 2005 bạn có thể viết các thủ tục lưu sẵn, trigger, hàm, tính toán tập hợp vàcác kiểu dữ liệu do người dùng định nghĩa bằng cách sử dụng các ngôn ngữ nhưVB.NET hoặc C#
Thử tục lưu sẵn được viết bằng ngôn ngữ NET là một thay thế tốt cho thủ tụclưu sẵn mở rộng trong SQL Server 2000 bởi vì bạn có thể chỉ ra mức độ bảo mậtcho mã NET Có 3 mức độ bảo mật cho mã NET:
An Toàn: Mức độ này không cho phép truy cập ngoài phạm vi SQL Server Mãcủa bạn không được phép truy cập hệ thống tập tin, registry, các biến môi trườnghoặc mạng Đây là mức bảo mật cao nhất
Truy xuất mở rộng: Mức độ này cho phép mã của bạn truy xuất có giới hạn rangoài phạm vi SQL Server Cụ thể là bạn có thể truy xuất registry, hệ thống tập tin,cácbiến môi trường hoặc mạng
+ Không an toàn: Ở mức độ này bạn có thể truy xuất bất kỳ chức năng mongmuốn nào ngoài phạm vi SQL Server 2005 Bạn chỉ nên dùng mức độ bảo mật nàynếu chắc chắn mã được viết tốt, và bạn tin cậy người viết mã đó
Các kiểu dữ liệu mới:
Varchar(max): Kiểu này cho phép bạn dùng chuỗi kí tự lớn hơn 8000 byte(8000 kí tự) Tối đa là 2 GB
Nvarchar(max): Kiểu này cho phép bạn dùng chuỗi kí tự Unicode lớn hơn
8000 byte (4000 kí tự) Tối đa là 2 GB
Varbinary(max): kiểu này cho phép bạn dùng dữ liệu nhị phân lớn hơn 8000byte
2.2.3.3 T¨ng cêng kh¶ n¨ng qu¶n lý
Trang 20 Những công cụ quản lý mới:
Trong SQL Server 2000, công cụ quản lý chủ yếu là Enterprise Manager vàQuery Analyzer SQL Server 2005, Với công cụ quản lý mới là SQL ServerManagement Studio đã thay thế hoàn toàn 2 công cụ trên của SQL 2000 Công cụnày cho phép bạn quản lý nhiều thể hiện SQL Server dễ dàng hơn Từ một giaodiện, bạn có thể quản lý nhiều thể hiện của cỗ mãy CSDL SQL Server, AnalysisServices, Intergration Services và Reporting Services
Công cụ mới SQL Server Configuration Manager cho phép bạn kiểm soát cácdịch vụ kết hợp với SQL Server 2005 Nó có thể thay thế cho Services Manager vàcông cụ cấu hình mạng cho Server và Client Bạn cũng có thể kiểm soát một sốdịch vụ khác như: SQL Server, SQL Agent, SQL Server Analysis Services, DTSServer (Cho SQL Server Integration Services), Full - Text Search, SQL Browser
Profiler:
Cho phép bạn phân tích những vấn đề về hiệu suất thực thi trong SQL Server
2005 Ví dụ, Profiler mở các tập tin truy vết mà bạn đã lưu trong hệ thống tập tin đểbạn xem lại và phân tích các quá trình SQL Server mà bạn quan tâm Profiler có thểbiểu diễn thông tin truy vết ở dạng đồ thị để bạn có thể dễ dàng xem điều gì đã xảy
ra Nó có thể nhận dữ liệu được ghi lại bởi Windows Performance Monitor Bạn cóthể hiển thị dữ liệu dạng đồ thị, , xem hiệu suất thực thi trên khoảng thời gian đãchọn Từ đồ thị, bạn có thể truy cập đến điểm có vấn đề
SQL Server Agent:
Những khả năng của SQL Server Agent, thành phần hỗ trợ cho các tác vụ đãđược lập thời gian biểu, được nâng cao ví dụ, số tác vụ đồng thời mà SQL ServerAgent có thể chạy được tăng lên SQL 2000 chỉ dùng SQL Agent trong những tác
vụ liên quan đến cỗ máy CSDL còn trong 2005, SQL Server Agent thực thi các
Trang 21tác vụ cho Analysis Services và Integration Services SQL Server Agent dùngWindows Management Instrumentation (WMI), cho phép ạn viết mã tránh thực thitác vụ, như khi đĩa cứng đầy thì các tác vụ vẫn được thực thi thành công.
2000 gặp phải với SQL Mail Ngoài ra, Database Mail cũng hỗ trợ hoạt động liêntiếp, ghi tập tin Log và kiểm tra hoạt động