MỤC LỤC
DANH SÁCH HÌNH VẼ.............................................................................................4
DANH SÁCH HÌNH VẼ.............................................................................................4
DANH SÁCH BẢNG BIỂU.......................................................................................6
DANH SÁCH BẢNG BIỂU.......................................................................................6
DANH SÁCH CÁC TỪ VIẾT TẮT...........................................................................7
DANH SÁCH CÁC TỪ VIẾT TẮT...........................................................................7
CHƯƠNG 1: TỔNG QUAN.......................................................................................8
CHƯƠNG 1: TỔNG QUAN.......................................................................................8
1.1Lý do chọn đề tài.................................................................................................8
1.2Mục tiêu của đề tài..............................................................................................8
1.3Giới hạn và phạm vi của đề tài............................................................................8
1.4Kết quả dự kiến đạt được....................................................................................9
CHƯƠNG 2: TỔNG QUAN VỀ NGƠN NGỮ LẬP TRÌNH ASP.NET VÀ HỆ
QUẢN TRỊ CSDL......................................................................................................10
CHƯƠNG 2: TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH ASP.NET VÀ HỆ
QUẢN TRỊ CSDL......................................................................................................10
2.1Tổng quan về ngơn ngữ lập trình ASP.NET.....................................................10
2.1.1 Tìm hiểu ngơn ngữ lập trình ASP.NET....................................................10
2.1.2 Tìm hiểu về WebForm..............................................................................11
2.1.3 Các sự kiện của Web Form.......................................................................12
2.2Hệ quản trị SQL Server.....................................................................................16
2.2.1Các thành phần của một cơ sở dữ liệu trong SQL Server.........................16
2.2.2Tạo các ràng buộc.......................................................................................17
2.3Tìm hiểu về Linq và Linq to Sql.......................................................................17
1
2.3.1Khái niệm Linq...........................................................................................17
2.3.2Tìm hiểu Linq to Sql..................................................................................17
2.3.3Các truy vấn với Linq to Sql......................................................................18
CHƯƠNG 3 : NỘI DUNG THỰC HIỆN.................................................................19
CHƯƠNG 3 : NỘI DUNG THỰC HIỆN.................................................................19
3.1Khảo sát xác định yêu cầu và phân tích hệ thống.............................................19
3.2Phân tích thiết kế với UML...............................................................................19
3.2.1Biểu đồ use case.........................................................................................19
3.2.2Biểu đồ tuần tự...........................................................................................27
3.3Phân tích thiết kế cơ sở dữ liệu.........................................................................33
3.3.1Danh sách bảng cơ sở dữ liệu....................................................................33
3.3.2Mơ hình cơ sở dữ liệu.................................................................................44
3.4Giao diện chương trình......................................................................................45
3.4.1Giao diện trang chi tiết sản phẩm...............................................................45
3.4.2Giao diện trang giỏ hàng............................................................................46
3.4.3Giao diện trang tin tức................................................................................47
3.4.4Giao diện trang chi tiết tin tức....................................................................48
3.4.5Giao diện trang quản lý tin tức...................................................................49
3.4.6Giao diện trang quản lý sản phẩm..............................................................49
CHƯƠNG 4: KẾT LUẬN.........................................................................................50
CHƯƠNG 4: KẾT LUẬN.........................................................................................50
4.1Kết quả đạt được:..............................................................................................50
4.2Hạn chế của đề tài.............................................................................................51
4.3Hướng phát triển................................................................................................51
2
TÀI LIỆU THAM KHẢO.........................................................................................52
TÀI LIỆU THAM KHẢO.........................................................................................52
[1] . Đề cương bài giảng mơn lập trình hướng đối tượng của trường ĐH SPKT
Hưng Yên....................................................................................................................52
[2] . Đề cương bài giảng môn công nghệ web của trường ĐH SPKT Hưng Yên.....52
[3] . Giáo trình kết nối CSDL của tác giả Nguyễn Hữu Trung.................................52
[4] . Giáo trình C# tiếng việt......................................................................................52
3
DANH SÁCH HÌNH VẼ
Hình 3-1: Biểu đồ use case tổng quát.........................................................................19
Hình 3-2: Biểu đồ use case đăng nhập.......................................................................20
Hình 3-3: Biểu đồ use case quản lý sản phẩm...........................................................22
Hình 3-4: Biểu đồ use case quản lý thống kê.............................................................24
Hình 3-5: Biểu đồ use case quản lý tin tức................................................................25
Hình 3-6: Biểu đồ use case quản lý khách hàng........................................................25
Hình 3-7: Biểu đồ use case quản lý danh mục sản phẩm..........................................26
Hình 3-8: Biểu đồ use case quản lý nhân viên...........................................................26
Hình 3-9: Biểu đồ use case đặt mua hàng..................................................................27
Hình 3-10: Biểu đồ use case tìm kiếm sản phẩm.......................................................27
Hình 3-11: Biểu đồ tuần tự cho chức năng đăng nhập..............................................28
Hình 3-12: Biểu đồ tuần tự chức năng quản lý sản phẩm..........................................28
Hình 3-13: Biểu đồ tuần tự cho chức năng quản lý đặt hàng....................................29
Hình 3-14: Biểu đồ tuần tự cho chức năng tìm kiếm.................................................30
Hình 3-15: Biểu đồ tuần tự cho chức năng thống kê.................................................30
Hình 3-16: Biểu đồ tuần tự cho chức năng quản lý khách hàng...............................31
Hình 3-17: Biểu đồ tuần tự chức năng quản lý ý kiến phản hồi................................32
Hình 3-18: Biểu đồ tuần tự chức năng quản lý nhân viên.........................................32
Hình 3-19: Mơ hình cơ sở dữ liệu..............................................................................44
Hình 3-20: Giao diện trang chi tiết sản phẩm............................................................45
Hình 3-21: Giao diện trang giỏ hàng..........................................................................46
Hình 3-22: Giao diện trang tin tức.............................................................................47
Hình 3-23: Giao diện trang chi tiết tin tức.................................................................48
4
Hình 3-24: Giao diện trang quản lý tin tức................................................................49
Hình 3-25: Giao diện trang quản lý sản phẩm...........................................................49
5
DANH SÁCH BẢNG BIỂU
Bảng 3-1: Bảng dòng sự kiện đăng nhập hệ thống....................................................21
Bảng 3-2: Bảng dòng sự kiện quản lý sản phẩm.......................................................23
Bảng 3-3: Dòng sự kiện quản lý thống kê..................................................................24
Bảng 3-4: AdvertiseItem............................................................................................33
Bảng 3-5: AdvertisePosition......................................................................................34
Bảng 3-6: Article........................................................................................................34
Bảng 3-7: BaseInfo.....................................................................................................35
Bảng 3-8: Cart.............................................................................................................35
Bảng 3-9: Comments..................................................................................................36
Bảng 3-10: Contacts...................................................................................................36
Bảng 3-11: Customer..................................................................................................37
Bảng 3-12: Log...........................................................................................................37
Bảng 3-13: Manufacture.............................................................................................38
Bảng 3-14: Menu........................................................................................................38
Bảng 3-15: MenuPosition...........................................................................................39
Bảng 3-16: MenuType................................................................................................39
Bảng 3-17: Module.....................................................................................................40
Bảng 3-18: Nhomthanhvien.......................................................................................40
Bảng 3-19: Product.....................................................................................................40
Bảng 3-20: QuyenModule..........................................................................................41
Bảng 3-21: SupportOnline..........................................................................................42
Bảng 3-22: User..........................................................................................................43
6
DANH SÁCH CÁC TỪ VIẾT TẮT
Từ viết tắt
Từ đầy đủ
CNTT
Công nghệ thơng tin
CPXD
Cổ phần xây dựng
XNK
Xuất nhập khẩu
CSDL
Giải thích
Cơ sở dữ liệu
7
XD website giới thiệu & kinh doanh thủy sản cho công ty CPXD&XNK Á Châu
CHƯƠNG 1: TỔNG QUAN
1.1
Lý do chọn đề tài
Trong thời đại bùng nổ của khoa học và công nghệ, cùng với sự phát triển
mạnh mẽ của xã hội thì chúng ta khơng thể phủ nhận vai trị to lớn của ngành
CNTT. Việc ứng dụng và phát triển CNTT trên nhiều ngành, nhiều lĩnh vực đã
đem lại hiệu quả và lợi ích vơ cùng to lớn. Đặc biệt nếu áp dụng đúng đắn và
thành công công nghệ vào trong các hoạt động kinh tế, sản xuất, tổ chức, quản
lý...sẽ thấy sự khác biệt vượt bậc mà hiệu quả của nó mang lại. Nắm bắt được
những lợi ích đó đã có rất nhiều doanh nghiệp, tổ chức sớm áp dụng CNTT vào
trong sản xuất, trong hệ thống quản lý nhằm đem lại những hiệu quả kinh tế, rút
ngắn thời gian làm việc và cho kết quả chính xác.
Thương mại điện tử ngày càng phát triển, kéo theo đó là việc kinh doanh
mua bán qua mạng cũng được các doanh nghiệp đẩy mạnh. Do đó việc xây
dựng một trang web là yêu cầu cần thiết. Xuất phát từ những yêu cầu thực tế đó,
em quyết định lựa chọn đề tài “Xây dựng Website giới thiệu và kinh doanh
thủy sản cho cơng ty CPXD và XNK Á Châu” nhằm mục đích giúp cơng ty
quảng bá về hình ảnh và các lĩnh vực kinh doanh cũng như bán các mặt hàng về
thủy sản.
1.2
Mục tiêu của đề tài
- Xây dựng website hỗ trợ quản lý sản phầm, quản lý tin tức và bán hàng
đáp ứng được yêu cầu thực tế.
- Triển khai thử nghiệm webiste tại công ty CPXD và XNK Á Châu.
Hiểu và vận dụng được các kiến thức về LINQ, lập trình trên ASP.NET...
1.3
Giới hạn và phạm vi của đề tài
-
Áp dụng vào giới thiệu và kinh doanh thủy sản cho công ty CPXD và
XNK Á Châu. Địa chỉ: số 10, tổ 6 Ngách 29/25/38 Thượng Thanh,
-
Q.Long Biên, Tp.Hà Nội.
Phạm vi nghiên cứu:
8
XD website giới thiệu & kinh doanh thủy sản cho cơng ty CPXD&XNK Á Châu
•
•
•
•
1.4
Nghiên cứu quy trình bán hàng của cơng ty
Nghiên cứu q trình quản lý thơng tin sản phẩm.
Nghiên cứu q trình tìm kiếm thơng tin sản phẩm.
Nghiên cứu q trình thanh tốn.
Kết quả dự kiến đạt được
-
Xây dựng được hệ thống giới thiệu và bán sản phẩm cho cơng ty.
Thanh tốn
9
XD website giới thiệu & kinh doanh thủy sản cho cơng ty CPXD&XNK Á Châu
CHƯƠNG 2: TỔNG QUAN VỀ NGƠN NGỮ LẬP TRÌNH ASP.NET
VÀ HỆ QUẢN TRỊ CSDL
2.1
Tổng quan về ngơn ngữ lập trình ASP.NET
2.1.1 Tìm hiểu ngơn ngữ lập trình ASP.NET
Cơng nghệ Microsoft Active Server pages (ASP) đi cùng với Microsoft
Intemet Information Server (IIS). ASP hỗ trợ nhiều ngôn ngữ kịch bản như
PerlScript, JScript và VBScript. PerlScript dựa trên ngôn ngữ Perl, JScript dựa trên
ngôn ngữ JavaScript, nhưng ngôn ngữ mặc định của ASP là VBScript, một ngôn
ngữ kịch bản dễ học, là tập con của ngôn ngữ Visual Basic - một trong những ngơn
ngữ lập trình phổ biến nhất hiện nay. Công nghệ ASP cho phép trộn nội dung
HTML tĩnh với mã lệnh kịch bản thực thi ở môi trường server để tạo ra kết quả động.
Ưu điểm nổi bật nhất của ASP là khả năng dùng thành phần COM và ADO
(Activex Data Ob- ject), nhưng cũng chính khả năng này làm cho chương trình ASP
phức tạp và khó viết hơn. Khi cần phát triển, bạn có thể tạo thành phần COM riêng.
Microsoft khuyến cáo xây dựng thành phần COM để xử lý mức luận lý. Thành phần
COM có thể phát triển bằng Visual Basic, Visual C++ hay Java.
Tuy nhiên, với môi trường máy chủ dùng chung, thường các công ty cung cấp
dịch vụ máy chủ giới hạn chỉ cho phép bạn dùng VBScript.
Trở ngại lớn nhất của ASP là chỉ dùng trên IIS chạy trên máy chủ Win32. Có
một số sản phẩm của các hãng thứ ba cho phép ASP chạy trên môi trường và máy
chủ web khác như các sản phẩm thương mại InstantASP của Halcyon, Chili!Soft
của Chili!Soft và sản phẩm miễn phí OpenASP của ActiveScripting.org. Có hai
phiên bản Perl cho ASP: phiên bản Unix
(Apache::ASP) dùng với Apache và phiên bản Windows PerlScript của hãng
ActiveState.
Việc cài đặt môi trường máy chủ hỗ trợ ASP rất đơn giản, IIS mặc định hỗ
trợ sẵn ASP. Per - sonal Web Server cung cấp môi trường chạy ASP cho Windows
95, 98. Công cụ Visual Inter - dev rất mạnh, giúp tạo trang ASP đơn giản và nhanh
10
XD website giới thiệu & kinh doanh thủy sản cho cơng ty CPXD&XNK Á Châu
chóng. Có rất nhiều website, sách và mã nguồn miễn phí cho ASP. Đây là một lợi thế.
ASP.NET (ASP+) là bước phát triển mới của công nghệ ASP dùng với nền
tảng NET. Ngơn ngữ chính dùng để phát triển trang ASP.NET (.aspx) là VB.NET,
C#. Ngoài ra ASP.NET cịn hỗ trợ nhiều ngơn ngữ khác như JScript.NET,
Smalltalk.NET, Cobol.NET, Perl.NET...
Có thể nói là thế hệ sau của ASP nhưng hỗ trợ tối đa mong muốn của lập
trình viên và khắc phục được những điểm còn hạn chết trong ASP, chính vì vậy
ASP.NET đang dần khẳng định là một trong những lựa chọn số một của người xây
dựng website.
Mặc dù ra đời muộn cùng với sự ra đời của Net framework nhưng ASP.NET
đã chứng tỏ mình là cơng cụ mạnh mẽ và hỗ trợ lập trình hết sức linh hoạt và là sự
lựa chọn hàng đầu của các lập trình viên. Ngồi khả năng thao tác dễ dàng trong
thiết kế giao diện ASP.NET cịn là cơng nghệ hỗ trợ nhiều ngơn ngữ lập trình đặc
biệt trong số đó là VB.NET, C#,…. Là những ngôn ngữ đang rất được ưa chuộng bởi
các lập trình viên hiện nay.
Việc kết nối CSDL dễ dàng cũng là một trong những ưu điểm nổi bật của
ASP.NET với sự hỗ trợ của ADO.NET và mới đây nữa là sự ra đời của LinQ với
khả năng kết nối CSDL dễ dàng ASP.NET đang dần hoàn thiện để trở thành công nghệ
thống trị trong thế giới website.
2.1.2 Tìm hiểu về WebForm
Web Form là bộ cơng cụ cho phép thực thi các ứng dụng mà các trang Web
do nó tạo động ra được phân phối đến trình duyệt thông qua mạng Internet.
Với Web Forms, ta tạo ra các trang HTML với nội dung tĩnh và dùng mã C# chạy
trên Server để xử lý dữ liệu tĩnh này rồi tạo ra trang Web động, gửi trang này về
trình duyệt dưới mã HTML chuẩn.
Web Forms được thiết để chạy trên bất kỳ trình duyệt nào, trang HTML gửi
về sẽ được gọt giũa sao cho thích hợp với phiên bản của trình duyệt. Ngồi dùng
C#, ta cũng có thể dùng ngơn ngữ VB.NET để tạo ra các ứng dụng Web tương tự.
11
XD website giới thiệu & kinh doanh thủy sản cho công ty CPXD&XNK Á Châu
Web Forms chia giao diện người dùng thành hai phần : phần thấy trực quan
( hay UI) và phần trang mã phía sau của UI. Quan điểm này thì tương tự với
Windows Form, nhưng với Web Forms, hai phần này nằm trên hai tập tin riêng biệt.
Phần giao diện UI được lưu trữ trong tập tin có phần mở rộng là .aspx, cịn mã được
lưu trữ trong tập tin có phần mở rộng là .aspx.cs.
Với mơi trường làm việc được cung cấp bởi bộ Visual Studio .NET, tạo các
ứng dụng Web đơn giản chỉ là mở Form mới, kéo thả và viết mả quản lý sự kiện
thích hợp. Web Forms được tích hợp thêm một loạt các điều khiển thực thi trên
Server, có thể tự kiểm tra sự hợp lệ của dữ liệu ngay trên máy khách mà ta khơng
phải viết mã mơ tả gì cà.
2.1.3 Các sự kiện của Web Form
Một sự kiện (Events) được tạo ra khi người dùng nhấn chọn một Button,
chọn một mục trong ListBox hay thực hiện một thao tác nào đó trên UI. Các sự kiện
cũng có thể được phát sinh hệ thống bắt đầu hay kết thúc.
Phương thức đáp ứng sự kiện gọi là trình quản lý sự kiện, các trình quản lý sự kiện
này được viết bằng mã C# trong trang mã (code-behind) và kết hợp với các thuộc
tính của các điều khiển thuộc trang.
Trình quản lý sự kiện là một “Delegate”, phương thức này sẽ trả về kiểu
void, và có hai đối số. Đối số đầu tiên là thể hiện của đối tượng phát sinh ra sự kiện,
đối số thứ hai là đối tượng EventArg hay một đối tượng khác được dẫn xuất từ đối
tượng EventArgs. Các sự kiện này được quản lý trên Server.
a. Sự kiện PostBack và Non-PostBack
PostBack là sự kiện sẽ khiến Form được gửi về Server ngay lập tức, chẳng
hạn sự kiện đệ trình một Form với phương thức Post. Đối lập
với PostBack là Non- PostBack, sự kiện này không gửi Form nên Server mà
nó lưu sự kiện trên vùng nhớ Cache cho tới khi có một sự kiện PostBack nữa
xảy ra. Khi một điều khiển có thuộc tính AutoPostBack là true thì sự kiện
PostBack sẽ có tác dụng trên điều khiển đó : mặc nhiên thuộc
12
XD website giới thiệu & kinh doanh thủy sản cho cơng ty CPXD&XNK Á Châu
tính AutoPostBach của điều khiểnDropDownList là false,ta phải đặt lại
là true thì sự kiện chọn một mục khác trong DropDownList này mới có tác
dụng.
b. Trạng thái của ứng dụng web (State)
Trạng thái của ứng dụng Web là giá trị hiện hành của các điều khiển
và mọi biến trong phiên làm việc hiện hành của người dùng. Web là môi
trường không trạng thái, nghĩa là mỗi sự kiện Post lên Server đều làm mất đi
mọi thông tin về phiên làm việc trước đó. Tuy nhiên ASP.NET đã cung cấp
cơ chế hỗ trợ việc duy trì trạng thái về phiên của người dùng.
Bất kỳ trang nào khi được gửi lên máy chủ Server đều được máy chủ
tổng hợp thơng tin và tái tạo lại sau đó mới gửi xuống trình duyệt cho máy
khách. ASP.NET cung cấp một cơ chế giúp duy trì trạng thái của các điều
khiển phía máy chủ ( Server Control ) một cách tự động. Vì thế nếu ta cung
cấp cho người dùng một danh sách dữ liệu ListBox, và người dùng thực hiện
việc chọn lựa trên ListBox này, sự kiện chọn lựa này sẽ vẫn được duy trì sau
khi trang được gửi lên máy chủ và gửi về cho trình duyệt cho máy khách.
c. Chu trình sống của 1 WebFrom
Khi có u cầu một trang Web trên máy chủ Web sẽ tạo ra một chuỗi
các sự kiện ở máy chủ đó, từ lúc bắt đầu cho đến lúc kết thúc một yêu cầu sẽ
hình thành một chu trình sống ( Life-Cycle ) cho trang Web và các thành
phần thuộc nó. Khi một trang
Web được yêu cầu, máy chủ sẽ tiến hành mở ( Load ) nó và khi hồn
tất u cầu máy chủ sẽ đóng trang này lại, kết xuất của yêu cầu này là một
trang HTML tương ứng sẽ được gửi về cho trình duyệt. Dưới đây sẽ liệt kê
một số sự kiện, ta có thể bắt các sự kiện để xử lý thích hợp hay bỏ qua để
ASP.NET xử lý mặc định.
Khởi tạo (Initialize) Là sự kiện đầu tiên trong chu trình sống của trang, ta có
thể khởi bất kỳ các thơng số cho trang hay các điều khiển thuộc trang.
13
XD website giới thiệu & kinh doanh thủy sản cho công ty CPXD&XNK Á Châu
Mở trạng thái vùng quan sát(LoadViewState): Được gọi khi thuộc
tính ViewStatecủa điều khiển được cơng bố hay gọi. Các giá trị trong
ViewState sẽ được lưu trữ trong một biến ẩn ( Hidden Field ), ta có thể lấy
giá trị này thông qua hàm LoadViewState() hay lấy trực tiếp.
Kếtthúc(Dispose)Ta có thể dùng sự kiện này để giải phóng bất kỳ tài
nguyên nguyên nào : bộ nhớ hay hủy bỏ các kết nối đến cơ sở dữ liệu.
d. Điều khiên xác nhận hợp
ASP.NET cung cấp một tập các điều khiển xác nhận hợp lệ dữ liệu
nhập phía máy chủ cũng như ở dưới trình duyệt của máy khách. Tuy nhiên
việc xác nhận hợp lệ dưới máy khách chỉ là một chọn lựa, ta có thể tắt nó đi,
nhưng việc xác nhận hợp lệ trên máy chủ thông qua các điều khiển này là bắt
buộc, nhằm phòng ngừa một số trường hợp dữ liệu nhập là giả mạo. Việc
kiểm tra hợp lệ của mã trên máy chủ là đề phòng các trường hợp. Một số loại
xác nhận hợp lệ : dữ liệu không được rỗng, thỏa một định dạng dữ liệu nào
đó …
Các điều khiển xác nhận hợp lệ phải được gắn liền với một điều khiển nhận
dữ liệu HTML nào đó, các điều khiển nhập được liệt trong bảng sau :
Các điều khiển nhập HTML dùng để xác nhận hợp lệ
Các điều khiển
nhập
Thuộc tính xác nhận hợp lệ
HtmlInputText
Value
HtmlTextArea
Value
HtmlSelect
Value
HtmlInputFile
Value
TextBox
Text
14
XD website giới thiệu & kinh doanh thủy sản cho công ty CPXD&XNK Á Châu
ListBox
SelectedItem.Value
DropDownList
SelectedItem.Value
RadioButtonList
SelectedItem.Value
Ứng với một điều khiển nhập HTML, ta có thể gắn nhiều điều khiển xác
nhận hợp lệ cho nó, bảng dưới đây sẽ liệt kê các điều khiển nhập hiện có :
Các điều khiển xác nhận hợp lệ
Điều khiển
Mục đích
So sánh các giá trị của hai điều
CompareValidator
khiển xem có bằng nhau hay
khơng
CustomValidator
RangeValidator
Gọi một hàm do người dùng định
nghĩa để thi hành việc kiểm tra
Kiểm tra xem một mục có nằm
trong miền đã cho hay khơng
Kiểm tra người dùng có sửa đổi
RegularExpressionValidato
r
một mục (mà giá trị của nó khác
với một giá trị đã chỉ định ban
đầu , ngầm định giá trị ban đầu là
một chuỗi trống) hay không
ValidationSummary
Thông báo sự hợp lệ trên các
điều khiển
15
XD website giới thiệu & kinh doanh thủy sản cho công ty CPXD&XNK Á Châu
2.2
Hệ quản trị SQL Server
2.2.1 Các thành phần của một cơ sở dữ liệu trong SQL Server
-
Tables : Table là đối tượng chính của CSDL dùng lưu trữ dữ liệu cần quản
lý. Mỗi table có 1 hay nhiều Field. Mỗi Field ứng với một loại dữ liệu cần lưu trữ.
Table cịn có các thành phần liên quan như :
• Constraint – Ràng buột: Constraint là các chỉ định ràng buột dữ liệu trong
bảng hoặc các bảng khác nhau theo một quy tắc nào đó.
• Triggers – Bẫy Lỗi: Trigger thường chứa các mã lệnh kiểm tra dữ liệu, có
tính năng tự động thực hiện khi có hành động nào đó xảy ra đối với dữ
liệu trong Table như Insert, Update, Delete.
• Indexs – Chỉ mục : Hổ trợ cho việc sắp xếp và tìm kiếm nhanh thơng tin
-
trên table.
• Diagram – Sơ đồ quan hệ: Thể hiện mối quan hệ dữ liệu giữa các table.
Views – Khung nhìn hay table ảo: Là đối tượng dùng hiển thị dữ liệu được
rút trích, tính tốn từ các Table theo nhu cầu của người dùng.
- Stored Procedure – Thủ tục nội: Chứa các lệnh T-SQL dùng thực hiện một
số tác vụ nào đó. Stored Proc có thể nhận và truyền tham số. Stored Proc được biên
dịch trước, do đó thời gian thực hiện nhanh khi được gọi. Có nhiều Stored Proc hệ
thống được định nghĩa với tiền tố “sp_” có nhiệm vụ thu thập thơng tin từ các bảng
hệ thống và rất có ích cho việc quản trị.
- User Defined Function : Hàm do người dùng định nghĩa.
- Users : Chứa danh sách User sử dụng CSDL. Người quản trị hệ thống cao
nhất có User Name là dbo, tên đăng nhập (Login Name) hệ thống mặc định
là sa. Tài khoản sa luôn tồn tại và không thể bỏ đi. Để thay đổi mật khẩu của
sa, cách nhanh nhất là: Mở trình Query Analyzer Thực hiện thủ tục hệ
-
thống : EXEC SP_PASSWORD NULL, <NewPass>.
Roles: Các qui định vai trò và chức năng của User trong hệ thống SQL
-
Server.
Rules : Các qui tắc ràng buộc dữ liệu được lưu trữ trên Table.
Defaults : Các khai báo giá trị mặc định.
User Defined Data Type : Kiểu dữ liệu do người dùng tự định nghĩa.
Full Text Catalogs : Tập phân loại dữ liệu Text.
16
XD website giới thiệu & kinh doanh thủy sản cho công ty CPXD&XNK Á Châu
2.2.2 Tạo các ràng buộc
a) Ràng buộc khóa chính( Primary key)
- Primary Key: Ràng buộc khóa chính nhằm xác định chính xác bản ghi duy
nhất trong một bảng. Cột khóa chính khơng thể nhân đơi và không thể chứa
giá trị null.
- Cú pháp: CONSTRAINT ten_rang_buoc PRIMARY KEY.
b) Ràng buộc khóa ngoại (Foreign Key)
- Foreign Key: Ràng buộc khóa ngoại trong bảng cơ sở dữ liệu là trường phù
hợp với trường khóa chính trong bảng khác. Trường khóa ngoại được sử
dụng để tạo ra mối quan hệ với trường khóa chính của bảng chính. Điều này
ngăn cản chèn thêm bất kỳ dữ liệu không hợp lệ trong trường khóa ngoại vì
trường khóa ngoại chỉ chấp nhận những giá trị đã có trong trường khóa
-
chính.
Cú pháp:
CONSTRAINT (tên ràng buộc) FOREIGN KEY (tên trường làm khóa)
REFERENCES tên bảng tham chiếu (khóa chính).
c) Ràng buộc Check
- Dùng để khai báo những quy định mà mỗi dòng đều phải thỏa mãn, dùng để
-
2.3
kiểm tra miền giá trị của dữ liệu.
Cú pháp:
CONSTRAINT (tên ràng buộc) CHECK (bieu_thuc_datgiatri).
Tìm hiểu về Linq và Linq to Sql
2.3.1 Khái niệm Linq
LINQ là viết tắt của từ “Language Integrated Query” đây là một tập hợp các
phương thức, thành phần cho cách viết truy vấn dữ liệu ngay trong ngơn ngữ lập
trình như C#, VB, JS… LINQ chỉ được hỗ trợ ở phiên bản thư viện .net framework
3.5 trở lên. LINQ bao gồm nhiều thành phần như: LINQ to Objects, LINQ enabled
ADO.Net, LINQ to XML trong đó LINQ enabled ADO.Net chứa LINQ to SQL.
2.3.2 Tìm hiểu Linq to Sql
Linq to Sql là một phiên bản khái quát, hiện thực hóa về quan niệm bản đồ
quan hệ trong CSDL, Linq to Sql được tích hợp sẳn trong .net framework 3.5 trở
17
XD website giới thiệu & kinh doanh thủy sản cho cơng ty CPXD&XNK Á Châu
lên, có thể mơ tả được dữ liệu bằng cách dùng các lớp .Net, sau đó truy vấn vào
trong CSDL để thực hiện các chức năng.
Linq to Sql hỗ trợ tất cả các công cụ để kết nối CSDL transaction, view, stored
procedure …
2.3.3 Các truy vấn với Linq to Sql
a) Tìm hiểu lớp DataContext
Cứ mỗi một file LINQ to SQL thêm vào solution, một lớp DataContext sẽ
được tạo ra, nó sẽ được dùng khi cần truy vấn hay cập nhật lại các thay đổi.
Lớp DataContext được tạo sẽ có các thuộc tính để biểu diễn mối bảng được
b)
c)
d)
e)
mơ hình hóa từ CSDL, cũng như các phương thức đã thêm vào.
Lấy ra một đối tượng từ cơ sở dữ liệu
csdlDataContext dl=new csdlDataContext();
var lay=from c in dl.Tenbang select c;
Ví dụ: Lấy ra các cận lâm sàng từ cơ sở dữ liệu:
csdlDataContext dl=new csdlDataContext();
var lay=from c in dl.CLs select c;
Thêm 1 bản ghi vào 1 bảng trong cơ sở dữ liệu
Ví dụ: Thêm 1 cận lâm sàng vào trong cơ sở dữ liệu
csdlDataContext dl=new csdlDataContext();
CLS cl=new CLS();
cl.Macls=txtmacls.Text;
cl.Tencls=txttencls.Text;
dl.CLs.InsertOnSubmit(cls);
dl.SubmitChanges();
Cập nhật 1 bản ghi vào 1 bảng trong cơ sở dữ liệu
Ví dụ: Cập nhật cận lâm sàng có mã cận lâm sàng là “cls1”:
csdlDataContext dl=new csdlDataContext();
CLS capnhat=dl.CLs.SingleOrDefault(c=>c.MaCLS.ToString()==”cls1”);
capnhat.Macls=txtmacls.Text;
capnhat.Tencls=txttencls.Text;
dl.SubmitChanges();
Xóa 1 bản ghi của 1 bảng trong cơ sở dữ liệu
Ví dụ xóa cận lâm sàng có mã là “cls1” trong cơ sở dữ liệu:
csdlDataContext dl=new csdlDataContext();
var xoa=dl.CLs.SingleOrDefault(c=>c.MaCLS.ToString()==”cls1”);
dl.CLs.DeleteOnSubmit(xoa);
dl.SubmitChanges();
18
XD website giới thiệu & kinh doanh thủy sản cho công ty CPXD&XNK Á Châu
CHƯƠNG 3 : NỘI DUNG THỰC HIỆN
3.1
Khảo sát xác định yêu cầu và phân tích hệ thống
-
Khảo sát trực tiếp tại hệ thống bán hàng của cơng ty: Hiện tại cơng ty chưa
-
có website giới thiệu sản phẩm và bán hàng trực tuyến.
Khảo sát một số website bán hàng trên mạng.
Làm rõ yêu cầu lưu trữ và yêu cầu nghiệp vụ của hệ thống. Trong đó xác
định rõ: người quản trị là người nắm toàn quyền trong hệ thống, có thể thao
tác, xử lý tồn hệ thống. Cịn khách hàng chỉ có thể có một số quyền hạn
nhất định như xem, tìm kiếm, đặt mua, góp ý về sản phẩm.
3.2
Phân tích thiết kế với UML
3.2.1 Biểu đồ use case
a. Biểu đồ use case tổng quát
Hình 3-1: Biểu đồ use case tổng quát
Mô tả:
19
XD website giới thiệu & kinh doanh thủy sản cho công ty CPXD&XNK Á Châu
Người quản lý đăng nhập hệ thống để thực hiện các chức năng: Quản lý nhân
viên, quản lý khách hàng, quản lý sản phẩm, quản lý loại sản phẩm, quản lý tin tức.
Khách hàng có thể thực hiện các chức năng: tìm kiếm sản phẩm, xem thông tin
sản phẩm, đặt mua hàng, xem tin tức.
b. Biểu đồ use case đăng nhập
Hình 3-2: Biểu đồ use case đăng nhập.
Mơ tả tóm tắt:
-
Tên Ca sử dụng: Đăng nhập.
Mục đích: Đảm bảo xác thực người dùng, người quản trị và các yêu cầu về
-
bảo mật của hệ thống.
Tác nhân: Người quản trị hoặc khách hàng.
Tóm lược: Người quản trị hoặc muốn sử dụng các dịch vụ hệ thống thì phải
cung cấp thông tin là tài khoản và mật khẩu đăng nhập vào hệ thống. Hệ
thống sẽ kiểm tra thông tin xem người dùng có đúng là thành viên của hệ
thống khơng, nếu đúng thì có thể truy cập vào hệ thống và thực hiện các
quyền được cung cấp trong hệ thống.
Mô tả kịch bản:
-
Thông tin đầu vào: UserName và Password
Điều kiện đầu vào:Khơng có
Dịng sự kiện chính:
20
XD website giới thiệu & kinh doanh thủy sản cho cơng ty CPXD&XNK Á Châu
Bảng 3-1: Bảng dịng sự kiện đăng nhập hệ thống
Hành động của tác nhân
Phản ứng của hệ thống
1. Người quản trị hoặc nhân viên đăng
nhập vào hệ thống.
2. Hiển thị trang đăng nhập.
3. Nhập thông tin tài khoản.
4. Gửi thông tin đăng nhập tới hệ thống.
5. Kiểm tra thơng tin đăng nhập, nếu
đúng thì cho phép truy cập hệ thống, sai
thì thơng báo lỗi.
-
Ngoại lệ:
Nếu người dùng nhập tài khoản và mật khẩu khơng đúng thì hệ thống sẽ đưa ra
thông báo yêu cầu nhập lại. Nếu thơng tin đăng nhập chính xác, thơng báo đăng
nhập thành công và chuyển trang tương ứng.
21
XD website giới thiệu & kinh doanh thủy sản cho công ty CPXD&XNK Á Châu
c. Biểu đồ use case quản lý thơng tin sản phẩm
Hình 3-3: Biểu đồ use case quản lý sản phẩm
Mơ tả tóm tắt:
-
Tên use case sử dụng: Quản lý sản phẩm.
Mục đích: Để giúp cho NQT quản lý các thông tin liên quan đến sản
-
phẩm.
Tác nhân: Người quản trị.
Tóm lược: Khi NQT đã đăng nhập thành cơng thì Use Case sẽ được gọi
để giúp NQT có thể lựa chọn các chức năng: nhập thông tin cho một sản
phẩm mới, sửa, xóa hay tìm kiếm thơng tin về một sản phẩm đã có trong
hệ thống thơng qua các Use Case tương ứng. Khi NQT thao tác với chức
năng nhập, hệ thống sẽ kiểm tra thông tin NQT nhập vào, nếu sai hoặc
khơng hợp lệ thì liệt kê các lỗi không hợp lệ cho NQT biết và cho phép
nhập lại. Nếu các thông tin NQT cung cấp đầy đủ và chính xác, hệ thống
cho phép thêm thơng tin này vào CSDL và thêm mới thành công. Khi
NQT chọn chức năng tìm kiếm, hệ thống cho phép NQT chọn tiêu chí tìm
kiếm và nhập nội dung tìm kiếm. Hệ thống hiển thị số kết quả tìm được
và chi tiết các kết quả đó. Khi thơng tin về sản phẩm đã có trong CSDL,
chức năng sửa, xóa cho phép NQT sửa, xóa thơng tin sản phẩm đó và cập
nhật lại thông tin trong CSDL. Hệ thống sẽ hiển thị các thơng báo lỗi kèm
theo trong trường hợp sửa, xóa khơng thành cơng. Mỗi sản phẩm nhập
vào CSDL có một mã riêng để phân biệt với các sản phẩm khác
22
XD website giới thiệu & kinh doanh thủy sản cho công ty CPXD&XNK Á Châu
Mô tả các kịch bản:
-
Thông tin đầu vào: Là các thông tin của sản phẩm.
Điều kiện đầu vào: Người quản trị cần phải đăng nhập thành cơng vào hệ
-
thống.
Dịng sự kiện:
Bảng 3-2: Bảng dịng sự kiện quản lý sản phẩm
Hành động của tác nhân
1.Người quản lý chọn chức năng quản
Phản ứng của hệ thống
lý sản phẩm
2. Hiển thị danh sách các chức năng
quản lí cho phép NQT lựa chọn.
3. NQT chọn các chức năng quản lý
trong hệ thống.
4. Hiển thị trang được yêu cầu.
5. NQT thực hiện các thao tác thêm,
sửa, hoặc xóa.
6. Gửi thơng tin đã nhập tới hệ thống.
7. Kiểm tra thông tin đã nhập, nếu
chính xác thì lưu thơng tin này vào cơ
-
sở dữ liệu và đưa ra thông báo.
Ngoại lệ: Nếu NQT nhập các thơng tin sai định dạng thì hệ thống thông
báo yêu cầu nhập lại.
23
XD website giới thiệu & kinh doanh thủy sản cho công ty CPXD&XNK Á Châu
d. Biểu đồ use case quản lý thống kê, báo cáo
Hình 3-4: Biểu đồ use case quản lý thống kê
Mơ tả tóm tắt:
-
Tên Ca sử dụng: Quản lý thống kê.
Mục đích: NQT thực hiện thống kê cho cơng ty và làm báo cáo định kì.
Tác nhân: Người quản lý.
Tóm lược: Người quản lý sau khi đăng nhập thành cơng, NQT có thể
thực hiện các chức năng thống kê theo các tiêu chí tương ứng.
Mơ tả kịch bản:
-
Thông tin đầu vào:
Điều kiện đầu vào: NQT đăng nhập thành cơng vào hệ thống
Dịng sự kiện chính:
Bảng 3-3: Dịng sự kiện quản lý thống kê
Hành động của tác nhân
1.NQT chọn chức năng Quản lý thống
Phản ứng của hệ thống
2. Hiển thị menu cho phép NQT chọn
kê.
thực hiện thống kê theo các tiêu chí.
3. NQT chọn chức năng.
4. Hệ thống hiển thị trang tương ứng
các chức năng được chọn.
5. NQT thực hiện các thao tác tương
ứng các chức năng đã chọn và gửi yêu
6. Hệ thống xác nhân yêu cầu và xử lí
cầu đến hệ thống.
nếu khơng có lỗi xảy ra, thông báo
24
XD website giới thiệu & kinh doanh thủy sản cho công ty CPXD&XNK Á Châu
thành công, ngược lại hệ thống thơng
báo lỗi.
e. Biểu đồ use case quản lý tin tức
Hình 3-5: Biểu đồ use case quản lý tin tức.
g. Biểu đồ use case quản lý khách hàng
Hình 3-6: Biểu đồ use case quản lý khách hàng
h. Biểu đồ use case quản lý danh mục sản phẩm
25