1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Tìm hiểu công nghệ linq và xây dựng website siêu thị online

33 25 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 33
Dung lượng 1,44 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Sự phát triển của công nghệ thông tin không chỉ bó hẹp trong một lĩnh vực cụ thể mà nó đã ứng dụng rộng rãi trong tất cả các lĩnh vực của xã hội.. Công nghệ LINQ : Từ trước tới nay khó

Trang 1

HOÀNG HỮU TÍNH - LỚP 46K3 CNTT - ĐẠI HỌC VINH Trang 1

LỜI NÓI ĐẦU 2

CHƯƠNG 1 TÌM HIỂU VỀ CÔNG NGHỆ LINQ , HỆ QUẢN TRỊ CSDL SQL 2005 VÀ ASP.NET 3

1.1 Giới thiệu về công nghệ LINQ 3

1.2 Giới thiệu về hệ quản trị CSDL SQL 2005 6

1.3 Giới thiệu về ASP.NET 7

CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 9

2.1 Tổng quan về bài toán 9

2.2 Phân tích và thiết kế 9

CHƯƠNG 3 : GIỚI THIỆU WEBSITE SIÊU THỊ ONLINE 24

3.1 Giao diện người sử dụng 24

3.2 Giao diện của người quản trị 27

KẾT LU N 31

TÀI LIỆU THAM KHẢO 32

Trang 2

LỜI NÓI ĐẦU

Ngày nay, công nghệ thông tin đã và đang là một trong những nghành mũi nhọn của đất nước Sự phát triển của công nghệ thông tin không chỉ bó hẹp trong một lĩnh vực cụ thể mà nó đã ứng dụng rộng rãi trong tất cả các lĩnh vực của xã hội Có thể nói công nghệ thông tin đã giúp con người giải quyết được nhiều bài toán phức tạp mà trước đây khi chưa xuất hiện máy tính con người khó có thể giải quyết được, nhưng điều quan trọng ở đây không chỉ đơn thuần là giải quyết bài toán mà là cách giải quyết bài toán đó như thế nào cho có hiệu quả và nhanh nhất Hầu hết các ứng dụng trong công nghệ phần mềm hiện nay đều ứng dụng công nghệ LINQ vào quá trình xây dựng Các ứng dụng website cũng không ngoại lệ, việc ứng dụng công nghệ LINQ vào thiết kế website làm cho việc lập trình trở nên đơn giản và hiệu quả hơn

Do đây là thời gian đầu tìm hiểu công nghệ mới nên chắc chắn không thể tránh khỏi những thiếu sót và hiệu quả đạt được chưa cao Rất mong được sự góp ý chân thành của các Thầy, Cô, và tất cả các bạn

Em xin chân thành cảm ơn các Thầy, Cô cùng tất cả các bạn, đặc biệt là sự hướng dẫn trực tiếp của thầy giáo TS Lê Ngọc Xuân ,em cũng xin cảm ơn các anh trong đội công nghệ công ty Cổ phần VTC và truyền thông trực tuyến (VTC-Online) đã tận tình chỉ bảo để em hoàn thành đề tài này

Nội dung đề tài gồm có 3 Chương

 Chương 1 Giới thiệu về công nghệ LINQ, hệ quản trị CSDL SQL

2005 và ASP.NET

 Chương 2 Phân tích và thiết kế hệ thống

 Chương 3 Giới thiệu WEBSITE SIÊU THỊ ONLINE

Trang 3

HOÀNG HỮU TÍNH - LỚP 46K3 CNTT - ĐẠI HỌC VINH Trang 3

CSDL SQL 2005 VÀ ASP.NET

1.1 Công nghệ LINQ :

Từ trước tới nay khó khăn lớn nhất cho các nhà phát triển là phải đối mặt với

sự khác biệt giữa ngôn ngữ lập trình hướng đối tượng và ngôn ngữ truy vấn dữ liệu Hiện tại, cách phổ biến nhất để ứng dụng lấy dữ liệu từ các hệ cơ sở dữ liệu là sử dụng SQL (Structure Query Language – ngôn ngữ truy vấn cấu trúc) SQL có cú pháp rất khác với những ngôn ngữ lập trình phổ dụng như C# và VB.NET, do vậy lập trình viên phải “hàn gắn” hai thực

thể khác biệt này với nhau trong mỗi dự án phần mềm

Để giảm gánh nặng thao tác trên nhiều ngôn ngữ khác nhau và cải thiện năng suất lập trình, Microsoft đã phát triển giải pháp tích hợp dữ liệu cho NET Framework có tên gọi là LINQ (Language Integrated Query): Ngôn ngữ kết hợp các câu lệnh truy vấn

LINQ to SQL là một phiên bản hiện thực hóa của O/RM (Object Relational Mapping) có bên trong Net Framework bản “Orcas” nay là NET 3.5, cho phép mô hình hóa một cơ sở dữ liệu dùng các lớp NET, truy vấn cơ sở dữ liệu (CSDL) dùng LINQ, cũng như cập nhật / thêm / xóa dữ liệu từ đó

LINQ to SQL hỗ trợ đầy đủ Transaction, View và các Stored procedure, Cung cấp thêm khả năng kiểm tra tính hợp lệ của dữ liệu và các quy tắc vào trong

mô hình dữ liệu

 Mô hình hóa CSDL dùng LINQ to SQL

 Visual Studio “Orcas” đã tích hợp thêm một trình thiết kế LINQ to SQL như

một công cụ dễ dàng cho việc mô hình hóa một cách trực quan các CSDL dùng LINQ to SQL

Trang 4

Bằng cách dùng trình thiết kế LINQ to SQL, có thể tạo một mô hình cho CSDL mẫu “DataClasses1” giống như sau :

Mô hình LINQ to SQL ở trên định nghĩa bốn lớp thực thể: Product,

Category, Order và OrderDetail Các thuộc tính của mỗi lớp ánh xạ vào các cột

của bảng tương ứng trong CSDL Mỗi trường của một lớp biểu diễn một dòng trong bảng dữ liệu

Các mũi tên giữa bốn lớp thực thể trên biểu diễn quan hệ giữa các thực thể

khác nhau, chúng được tạo ra dựa trên các mối quan hệ Primary-key / Foreign-key trong CSDL Hướng của mũi tên chỉ ra mối quan hệ là một - một hay một - nhiều

Các thuộc tính tương ứng sẽ được thêm vào các lớp thực thể trong các trường hợp này

Trang 5

HOÀNG HỮU TÍNH - LỚP 46K3 CNTT - ĐẠI HỌC VINH Trang 5

Product, nghĩa là nó sẽ có một thuộc tính “Categories” là một tập hợp các đối

tượng Product trong Category này Lớp Product cũng sẽ có một thuộc tính

“Category” chỉ đến đối tượng “Category” chứa Product này bên trong Bảng các

phương thức bên tay phải bên trong trình thiết kế LINQ to SQL ở trên chứa một danh sách các Store Procedure để tương tác với mô hình dữ liệu của chúng ta

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 mô hình hóa

từ CSDL, cũng như các phương thức cho mỗi Store Procedure đã thêm vào

Dưới đây là lớp DataClasses1 được sinh ra dựa trên mô hình tạo ra ở trên:

Trang 6

 Một số tính năng nổi bật của LINQ

Chạy cùng mã Code của chương trình -> Lỗi được phát hiện sớm không phải chờ hệ quản trị CSDL phản hồi

Có thể truy xuất nhiều loại dữ liệu hơn SQL (CSDL trong hệ CSDL, trong

bộ nhớ RAM của máy tính)

Điều quan trọng nhất, LINQ là tất cả về truy vấn, kết quả sau khi truy vấn có thể là tập hợp các đối tượng cùng loại, có thể là 1 đối tượng đơn, có thể là tập hợp

con của các trường từ 1 đối tượng Kết quả trả về của LINQ gọi là sequence Hầu hết sequence là IEnumerable<T> với T là kiểu dữ liệu của những đối tượng trong

sequence

LINQ là một giải pháp lập trình dữ liệu tích hợp cho Net Framework để giảm gánh nặng thao tác trên nhiều ngôn ngữ khác nhau và cung cấp khả năng truy vấn trực tiếp dữ liệu đối tượng, CSDL và XML

1.2 Hệ quản trị cơ sở dữ liệu SQL 2005

SQL là viết tắt của Structured Query Language – Ngôn ngữ truy vấn cấu trúc, là một chuẩn của ANSI (American National Standards Institute – Viện tiêu chuẩn quốc gia Hoa Kỳ) về truy xuất các hệ thống CSDL Các câu lệnh SQL được

sử dụng để truy xuất và cập nhật dữ liệu trong một CSDL

Một CSDL thường bao gồm một hoặc nhiều bảng (table) Mỗi bảng được xác định thông qua một tên ( ví dụ Products hoặc Categorys) Ví dụ bảng Products:

Products ( ProductID, ProductName, CategoryID, Price, CreateDate, UserId)

Với SQL ta có thể truy vấn CSDL và nhận lấy kết quả trả về, cập nhật / sửa đổi, chèn thêm và xóa các mẩu tin thông qua các câu truy vấn

Danh sách các lệnh và truy vấn dạng DML (Data Manipulation Language):

o Select : Lấy dữ liệu từ một bảng CSDL

o Update : Cập nhật / sửa đổi dữ liệu trong bảng

Trang 7

HOÀNG HỮU TÍNH - LỚP 46K3 CNTT - ĐẠI HỌC VINH Trang 7

o Insert into : Thêm dữ liệu vào bảng

1.3 Giới thiệu ASP.NET

ASP.NET là phiên bản kế tiếp của Active Server Page (ASP), nó là một nền phát triển ứng dụng Web hợp nhất, cung cấp nhiều dịch vụ cần thiết cho lập trình viên xây dựng các lớp ứng dụng chuyên nghiệp Cú pháp ASP.NET tương thích với

cú pháp ASP, ngoài ra ASP.NET còn cung cấp một mô hình lập trình mới, nền tảng

an toàn, linh hoạt và ổn định

ASP.NET là biên dịch, dựa trên môi trường NET và có thể xây dựng bằng bất cứ ngôn ngữ nào tương thích NET, bao gồm Visual Basic.NET, C#, và JScript NET

Lý do chọn ASP.NET :

Ta đã biết NET Framework và các ứng dụng của nó đã và đang tạo một cuộc cách mạng kỹ thuật trong công nghệ Tin Học (Information Technology), thay đổi tận gốc rễ các kiểu mẫu lập trình hay phát triển và triển khai mạng trên thế giới và do đó tạo một vận hội mới đáp ứng mọi yêu cầu khẩn thiết cho các ngành nghề kỹ thuật và thương mại hiện nay cũng như vạch một hướng đi vững chắc và dài lâu cho tương lai Tin Học ASP.NET chính là một trong những ứng dụng quan trọng nhất để phát triển và triển khai mạng một cách dễ dàng chưa từng thấy từ xưa đến nay

Không như ASP kiểu cổ điển chỉ giới hạn với VBScripts và JScripts, ASP NET

hỗ trợ trên 25 ngôn ngữ lập trình (ngoài các ngôn ngữ mới thiết lập đã cài sẵn hỗ trợ NET framework như là VB.NET, C# và JScript.NET )

Mặc dù có thể chỉ cần dùng tới Notepad để triển khai các trang ASP.NET nhưng Visual Studio NET giúp năng suất triển khai mạng thêm phần hiệu quả, có thể quan sát các kế hoạch của ta dễ dàng hơn khi phác họa (design) các thành phần của ASP.NET bằng hình ảnh với ASP.NET Web Forms hay Services theo phương pháp nhấn đúp chuột quen thuộc của nền Windows

Trang 8

ASP.NET không những chạy nhanh hơn ASP cổ điển gấp 5 lần mà còn có thể duy trì kiểu mẫu cập nhật gọi là kiểu mẫu “just hit save”, nghĩa là ASP.NET tự động dò tìm mọi sự thay đổi và compile files khi cần thiết cũng như lưu trữ kết quả compile đó để cung ứng dịch vụ cho những yêu cầu tiếp theo sau, nhờ vậy ứng dụng luôn luôn cập nhật hóa và chạy nhanh hơn cả

Một số đối tƣợng trong ASP.NET :

 Request :

o Trao đổi thông tin giữa Client và Server

o Dạng QueryString: Gửi thông tin kèm vào phần đuôi của URL

 Response :

o Cho phép Server đáp ứng, trả lời hay thông tin với client

o Phương thức Write, Writeln: Viết dòng chữ

Trang 9

HOÀNG HỮU TÍNH - LỚP 46K3 CNTT - ĐẠI HỌC VINH Trang 9

CHƯƠNG 2 : PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

2.1 Tổng quan về bài toán

2.1.1 Lý do chọn đề tài

Trong thời đại bùng nổ của công nghệ thông tin, các công nghệ mới ngày càng giúp người lập trình làm việc nhanh,dễ dàng và thuận tiện hơn Công nghệ LINQ là một trong những công nghệ đó, vừa mới ra đời nó đã được đón nhận rộng rãi và đã đáp ứng được những yêu cầu của người sử dụng WEBSITE SIÊU THỊ ONLINE là ví dụ điển hình mà em chọn để áp dụng một phần nhỏ công nghệ mới

đó

2.1.2 Phạm vi của đề tài

Đề tài XÂY DỰNG WEBSITE SIÊU THỊ ONLINE

2.1.3 Nhiệm vụ của đề tài

Các bước tiến hành :

o Tìm hiểu cách xây dựng một trang web như thế nào

o Tìm hiểu việc ứng dụng công nghệ LINQ vào thiết kế website

o Tìm kiếm và tham khảo một số website siêu thị Online

o Tìm hiểu các hệ cơ sở dữ liệu hiện nay

o Tiến hành phân tích, thiết kế và lập chương trình

2.2 Phân tích và thiết kế hệ thống

2.2.1 Phân tích hệ thống về mặt chức năng

Trang 10

Tên chức năng

a Biểu đồ phân cấp chức năng

b Biểu đồ luồng dữ liệu

Biểu đồ luồng dữ liệu là phương tiện diễn tả chức năng xử lý và việc trao đổi thông tin giữa các chức năng

Các ký hiệu đƣợc dùng trong biểu đồ

+ Luồng dữ liệu: Là một tuyến truyền dẫn thông tin vào hay ra một chức năng nào

Quản lý sản phẩm

Quản lý tin Xem giỏ hàng

Liên hệ góp ý

Quản lý phản hồi

Tên luồng dữ liệu

Trang 11

HOÀNG HỮU TÍNH - LỚP 46K3 CNTT - ĐẠI HỌC VINH Trang 11

+ Các kho dữ liệu: Là một dữ liệu được lưu lại, để có thể được truy cập nhiều lần

về sau

Kí hiệu:

+ Tác nhân ngoài: Một tác nhân ngoài là một thực thể ngoài hệ thống, có trao đổi

thông tin với hệ thống

Kí hiệu:

Biểu đồ luồng dữ liệu mức khung cảnh

Tên kho dữ liệu

Tên tác nhân ngoài

Trang 12

Biểu đồ dữ liệu mức đỉnh

Góp ý Liên hệ

Phản hồi

Người quản trị

Kết quả tìm kiếm

Thông tin khách hàng

Thông tin tìm kiếm

Thông tin sản phẩm , giá cả

Thông tin yêu cầu Đáp ứng thông tin yêu cầu

Người quản trị

Đặt hàng

Quản lý đơn hàng

Tìm kiếm Sản phẩm

Khách hàng

Góp ý

Cập nhật Thông tin Khách hàng

Trang 13

HOÀNG HỮU TÍNH - LỚP 46K3 CNTT - ĐẠI HỌC VINH Trang 13

Chú thích:

1) Thông tin về sản phẩm, nhóm sản phẩm

2) Thông tin về khách hàng, thông tin mua hàng

3) Thông tin yêu cầu xem, xóa đơn hàng.Thông tin giao hàng

4) Đáp ứng yêu cầu xem, xóa đơn hàng, giao hàng

5) Thông tin tìm kiếm sản phẩm

6) Kết quả tìm kiếm

7) Thông tin góp ý

8) Thêm vào giỏ hàng , đặt hàng

9) Đáp ứng yêu cầu

Biểu đồ dữ liệu mức dưới đỉnh

 Chức năng cập nhật thông tin

Cập nhật Sản phẩm

Cập nhật Danh mục

Cập nhật Tin tức

Cập nhật khách hàng

Cập nhật đơn hàng

Trang 14

Kho dữ liệu

Yêu cầu xem, xóa, giao hàng

Trang 15

HOÀNG HỮU TÍNH - LỚP 46K3 CNTT - ĐẠI HỌC VINH Trang 15

Trang 16

Mô tả thực thể:

Thực thể 1 : tblProduct

2 ProductsName nvarchar(255) Tên sản phẩm

4 QuantityPerUnit int Số lượng sản phẩm hiện đang có

6 Image nvarchar(255) Hình ảnh sản phẩm

7 Description nvarchar(MAX) Thông tin chi tiết sản phẩm

Thực thể 2 : tblCategory

2 CategoryName nvarchar(100) Tên danh mục sản phẩm

3 Description ntext Miêu tả chức năng của Category

Trang 17

HOÀNG HỮU TÍNH - LỚP 46K3 CNTT - ĐẠI HỌC VINH Trang 17

2 UserName nvarchar(255) Tên đăng nhập khách hàng

3 Password nvarchar(255) Mật khẩu đăng nhập

4 Address nvarchar(255) Địa chỉ khách hàng

5 Phone nvarchar(50) Điện thoại khách hàng

6 Email nvarchar(255) Email khách hàng

7 FullName nvarchar(255) Họ tên đầy đủ khách hàng

Thực thể 4 : tblOrder

3 OrderDate datetime Ngày đặt hàng

4 RequiredDate datetime Ngày yêu cầu giao hàng

5 ShipedDate datetime Ngày giao hàng

6 ShipAddress nvarchar(400) Địa chỉ giao hàng

Thực thể 5 : tblOrderDetail

Trang 18

3 UnitPrice money Đơn giá sản phẩm

4 CountProducts int Số sản phẩm đặt hàng

Thực thể 6 : tblCart

6 UpdateDate datetime Ngày nhặt sản phẩm vào giỏ hàng

Thực thể 7 : tblNews

Trang 19

HOÀNG HỮU TÍNH - LỚP 46K3 CNTT - ĐẠI HỌC VINH Trang 19

2 FullName nvarchar(200) Tên người phản hồi

3 Email nvarchar(200) Địa chỉ thư điện tử

4 Phone nvarchar(50) Điện thoại người gửi phản hồi

6 Command nvarchar(MAX) Nội dung phản hồi

Thực thể 9 : tblBEUser

2 UserName nvarchar(200) Tên người quản lý

3 Password nvarchar(255) Mật khẩu đăng nhập

4 Phone nvarchar(50) Điện thoại người quản lý

5 Email nvarchar(50) Email người quản lý

6 DonVi nvarchar(255) Địa chỉ nơi làm việc người quản lý

2.2.3 Phân tích thiết kế hệ thống mức logic

Chuyển từ mô hình thực thể kết hợp sang mô hình quan hệ

Từ mô hình khái niệm là mô hình biểu diễn tất cả các đối tượng, mỗi đối tượng là một thể hiện trong thế giới thực, tiến hành chuyển đổi nó sang mô hình quan hệ Ta được mô hình quan hệ như sau:

tblProduct (ProductsID, ProductsName, CategoryID, QuantityPerUnit, UnitPrice,

Image, Description, AddDate, Status, [View])

tblCategory (CategoryID,CategoryName,Description, Image, Status)

Trang 20

tblCustomers (CustomersID, UserName, Password, Address, Phone, Email,

FullName, Gender, Birthday, Status)

tblOrder (OrderID, CustomsID, OrderDate, RequiredDate, ShipedDate,

ShipAddress, Status)

tblOrderDetail (OrderID, ProductsID, UnitPrice, CountProducts, Status)

tblCart (CartID, CustomersID, ProductsID, Count, Type, UpdateDate, Status)

tblNews (NewsID, Subject, Body, ShortOrder, Status)

tblReply (ReplyID, FullName, Email, Phone, Type, Command, CreateDate,

Status)

tblBEMenu (MenuID, Name, Link, Status)

tblBEUser (UserID, UserName, Password, Phone, Email, DonVi, Status)

Thiết kế các bảng dữ liệu :

 Bảng tblCategory

Ngày đăng: 15/10/2021, 00:01

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w