Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.76 MB, 104 trang )
Xây dựng hệ thống quản lý đồ án 1 đến 5 trên nền tảng Asp.net
CHƯƠNG 2:
GIỚI THIỆU VỀ ASP.NET MVC4 VÀ HỆ QUẢN TRỊ
CƠ SỞ DỮ LIỆU
2.1
Giới thiệu về ngôn ngữ lập trình ASP.Net MVC4
2.1.1 Xuất xứ của MVC (Model- View –Controller)
Tất cả bắt đầu vào những năm 70 của thế kỷ 20, tại phòng thí nghiệm Xerox
PARC ở Palo Alto. Sự ra đời của giao diện đồ họa và lập trình hướng đối tượng cho
phép lập trình viên làm việc với những thành phần đồ họa như những đối tượng đồ
họa có thuộc tính và phương thức riêng của nó. Không dừng lại ở đó, những nhà
nghiên cứu ở Xerox PARC còn đi xa hơn khi cho ra đời cái gọi là kiến trúc MVC.
MVC được phát minh tại Xerox Parc vào những năm 70, bởi
TrygveReenskaug. MVC lần đầu tiên xuất hiện công khai là trong Smalltalk 80. Sau
đó trong một thời gian dài hầu như không có thông tin nào về MVC, ngay cả trong
tài liệu 80 Smalltalk. Các giấy tờ quan trọng đầu tiên được công bố trên MVC là “A
Cookbook for Using the Model - View - Controller User Interface Paradigm in
Smalltalk - 80”, bởi Glenn Krasner và Stephen Pope, xuất bản trong tháng 8/ tháng
9 năm 1988.
2.1.2 Lợi ích của MVC
- Có tính mở rộng do có thể thay thế từng thành phần một cách dễ dàng.
- Không sử dụng Viewstate, điều này làm các nhà phát triển dễ dàng điều khiển
ứng dụng của mình.
- Hệ thống định tuyến mới mạnh mẽ.
- Hỗ trợ tốt hơn cho mô hình phát triển kiểm thử cài đặt các kiểm thử đơn vị tự
động, xác định và kiểm tra lại các yêu cầu trước khi bắt tay vào viết code.
- Hỗ trợ kết hợp rất tốt giữa người lập trình và người thiết kế giao diện.
- Sử dụng các tính năng tốt nhất đã có của ASP.NET.
2.1.3 Các thành phần của mô hình MVC
ASP.NET MVC4 là một bộ khung cho phép xây dựng những ứng dụng web chuẩn,
có khả năng mở rộng, sử dụng các mẫu thiết kế tốt và sức mạnh của ASP.NET cũng
như NET Framework.
Mô hình kiến trúc này chia ứng dụng thành 3 thành phần khác nhau: Model,
View và Controller. Với những ưu điểm như: nhẹ, trình bày trực quan, dễ quản lý,
7
Xây dựng hệ thống quản lý đồ án 1 đến 5 trên nền tảng Asp.net
bảo mật cao. Đây xứng đáng là mô hình thay thế cho ASP.NET Web Forms thông
thường.
Hình 2-1: Mô hình kiến trúc MVC
Model: là thành phần có nhiệm vụ lưu trữ thông tin, trạng thái của các đối tượng.
Thông thường nó là một lớp được ánh xạ từ một bảng trong cơ sở dữ liệu.
View: là các thành phần chịu trách nhiệm hiển thị các thông tin cho người
dùng thông qua giao diện. Thông thường, các thông tin cần hiển thị được lấy từ
thành phần Model thông qua sự điều khiển của Controller. Trong ASP.NET
MVC4, có thể chọn View bằng Aspx hoặc Razor View Engine.
Controller: chịu trách nhiệm làm việc trực tiếp với Model và lấy dữ liệu
truyền cho View hiển thị lên người dùng. Trong MVC, View chỉ có trách nhiệm
hiển thị dữ liệu, còn việc điều khiển dữ liệu và thao tác của người dùng vẫn do
Controller phụ trách.
2.2.1 So sánh ASP.NET MVC với ASP.NET
Bạn đã được nghe qua về điểm yếu và giới hạn của ASP.NET WebForm
truyền thống và làm thế nào mà ASP.NET MVC vượt qua những vấn đề này. Điều
đó không có nghĩa là ASP.NET WebForm đã chết mà chỉ là: Microsoft muốn mọi
người hiểu rằng có hai nền tảng song song nhau, hỗ trợ cho nhau và cả hai đều là
đối tượng cho việc phát triển hiện tại. Nói chung, việc bạn chọn lựa giữa hai mô
hình còn tùy vào hoàn cảnh.
8
Xây dựng hệ thống quản lý đồ án 1 đến 5 trên nền tảng Asp.net
ASP.NET WebForm mang tới một trang web mà giao diện có thể lưu giữ
trạng thái và cuối cùng thêm vào một lớp trừu tượng tinh vi nằm trên HTTP và
HTML, sử dụng ViewState và postback để tạo ra hiệu ứng của việc có trạng thái.
Điều này thích hợp với phong cách phát triển kéo và thả của Window Form, tức là
bạn đặt các đối tượng có giao diện lên trang và mã xử lý vào trình xử lý sự kiện của
chúng.
MVC hòa vào bản chất không trạng thái của HTTP, làm việc chung với nó hơn
là chống lại. Điều này yêu cầu bạn phải hiểu thật sự cách làm việc của một ứng
dụng web, để đạt được điều đó, MVC cung cấp một cách tiếp cận đơn giản, mạnh
mẽ và hiện đại cho việc viết các ứng dụng web với mã có trật tự mà dễ dàng để
kiểm thử và bảo trì sau này, giải phóng những phức tạp khó chịu và các giới hạn
không đáng có.
Điều đặc biệt là ASP.NET MVC có mã nguồn mở, không giống các nền tảng
trước đó, bạn có thể dễ dàng tải mã nguồn gốc của ASP.NET MVC, thậm chí bạn
có thể sửa đổi và tạo ra phiên bản của riêng bạn. Có những tình huống mà
ASP.NET WebForm khá tốt thậm chí còn tốt hơn .
Nhưng mặt khác, nếu bạn một viết một ứng dụng trên Internet, hoặc các ứng
dụng nội bộ lớn hơn, bạn sẽ hướng tới tốc độ download nhanh và tương thích trình
duyệt chéo, được xây dựng với chất lượng cao hơn, mã kiến trúc tốt thích hợp cho
việc test tự động, trong trường hợp đó ASP.NET MVC sẽ mang lại những ưu điểm
quan trọng.
Bảng 2-1: So sánh giữa ASP.NET Webform và ASP.NET MVC
Tính năng
ASP.Net
ASP.Net MVC
Kiến trúc chương trình
Kiến trúc mô hình
WebForm->Business>Database
Cú pháp chương trình
Sử
dụng
cú
pháp
WebForm, tất cả các sự
kiện và control do server
quản lý
Phân tải nhanh hơn do
không phải quản lý
ViewState để quản lý các
control trong trang
Kiến trúc sử dụng việc
phân chia chương trình
thành Controllers,
Models, View
Các sự kiện được kiều
khiển bởi controllers,
các control không do
server quản lý
Tốc độ phân tải chậm
trong khi trang có quá
nhiều các controls vì
ViewState quá lớn
Tốc độ phân tải
9
Xây dựng hệ thống quản lý đồ án 1 đến 5 trên nền tảng Asp.net
Debug
Debug chương trình phải
thực hiện tất cả bao gồm
các lớp truy cập dữ liệu,
sự hiển thị, điều khiển các
controls
Tương tác với javascrip
Tương tác với javascrip
khó khăn vì các controls
được điều khiển bởi
server
URL Address
2.2
Debug có thể sử dụng
các unit test kiểm tra
các phương thức trong
Controllers
Tương tác với javascrip
dễ dàng vì các đối
tượng không do server
quản lý điều khiển
không khó
Cấu trúc địa chỉ URL có Cấu trúc địa chỉ rành
dạng
mạch theo dạng
Controllers/Action/ID
tham số>
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, Triggers, Indexs.
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 toá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.
Roles: Các qui định vai trò và chức năng của User trong hệ thống SQL
Server.
10
Xây dựng hệ thống quản lý đồ án 1 đến 5 trên nền tảng Asp.net
2.2.2
a)
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.
Tạo các ràng buộc
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
-
để 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).
2.3
Giới thiệ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 .
-
Kiến trúc LinQ:
11