Báo cáo Đề tài Nghiên cứu phần mềm bãi giữ xe thông minh

BỘ GIÁO DỤC VÀ ĐÀO TẠO  
TRƯỜNG ĐẠI HỌC QUỐC TẾ SÀI GÒN  
NGUYỄN MỸ DUYÊN  
BÁO CÁO NGHIÊN CỨU KHOA HỌC  
NGHIÊN CỨU PHẦN MỀM BÃI GIỮ XE THÔNG  
MINH  
CHUYÊN NGÀNH: KỸ THUẬT PHẦN MỀM  
TPHCM – 2021  
BỘ GIÁO DỤC VÀ ĐÀO TẠO  
TRƯỜNG ĐẠI HỌC QUỐC TẾ SÀI GÒN  
BÁO CÁO NGHIÊN CỨU KHOA HỌC  
ĐỀ TÀI:  
NGHIÊN CỨU PHẦN MỀM BÃI GIỮ XE THÔNG  
MINH  
Chuyên ngành: KỸ THUẬT PHẦN MỀM  
Mã số: 17DPM  
GIẢNG VIÊN HƯỚNG DẪN:  
ThS.Võ Anh Tiến  
ThS.Huỳnh Nguyễn Mộng Thu  
SINH VIÊN THỰC HIỆN:  
Họ và tên: Nguyễn Mỹ Duyên  
Mã số sinh viên: 81011701402  
TPHCM – 2021  
i
LỜI CAM ĐOAN  
Tôi xin cam đoan các kết quả trình bày trong báo cáo nghiên cứu khoa học  
là công trình nghiên cứu của tôi dưới sự hướng dẫn của giảng viên hướng dẫn.  
Các số liệu, các kết quả trình bày trong báo cáo hoàn toàn trung thực và được  
thực hiện bởi chính tôi. Các dữ liệu tham khảo được trích dẫn đầy đủ.  
Tp. Hồ Chí Minh, ngày 08 tháng 05 năm 2021  
Nguyễn Mỹ Duyên  
ii  
LỜI CẢM ƠN  
Để hoàn thành báo cáo nghiên cứu khoa học trên lập trình Windows với đề  
tài "bãi giữ xe thông minh", trước tiên cho phép em xin gửi lời cảm ơn đến cô  
Huỳnh Nguyễn Mộng Thu và thầy Võ Anh Tiến đã giúp đỡ em rất nhiệt tình  
trong suốt thời gian qua. Hơn nữa, đồ án của em sẽ không thể hoàn thành tốt  
nếu không có sự hướng dẫn tận tình của quý thầy, cô giảng viên khoa Công  
nghệ thông tin - Trường Đại học Quốc tế Sài Gòn.  
Thời gian thực hiện báo cáo nghiên cứu khoa học tuy ngắn, nhưng nhờ sự  
hướng dẫn của cô và thầy đã tạo cơ hội cho em áp dụng nền tảng môn học lập  
trình Windows vào công tác nghiên cứu. Trong suốt thời gian hoàn thành khóa  
luận, em đã có cơ hội rèn luyện được các kỹ năng làm việc và nâng cao hiểu  
biết của mình trong việc thực hiện viết báo cáo và xây dựng chương trình, từ  
đó nhận thức rõ hơn về tầm quan trọng của kiến thức cũng như kỹ năng thực  
hiệnbáo cáo nghiên cứu khoa học.  
Một lần nữa cho phép em xin chân thành cảm ơn cô Huỳnh Nguyễn Mộng  
Thu và thầy Võ Anh Tiến cùng quý thầy, cô giảng viên khoa Công nghệ thông  
tin - Trường Đại học Quốc tế Sài Gòn đã tạo điều kiện cho sinh viên chúng em  
có cơ hội được phát triển ý tưởng sáng tạo, tìm tòi, học hỏi và biết cách áp dụng  
những kiến thức đã học để xây dựng ứng dụng thực tế, đó chính là kết quả của  
quá trình truyền đạt kiến thức của quý thầy, cô và sự trao dồi kiến thức của  
bản thân em.  
Em xin cảm ơn quý thầy, cô giảng viên trong Khoa đã giúp đỡ em hoàn thành  
báo cáo nghiên cứu khoa học này.  
iii  
MỤC LỤC  
LỜI CẢM ƠN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii  
MỤC LỤC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii  
DANH MỤC CÁC HÌNH VẼ . . . . . . . . . . . . . . . . . . . . . iv  
DANH MỤC CÁC BẢNG BIỂU . . . . . . . . . . . . . . . . . . .  
v
CHƯƠNG 1. TỔNG QUAN  
1
1
2
2
2
2
3
3
1.1 Thực trạng hiện nay . . . . . . . . . . . . . . . . . . . . . . . . . .  
1.2 Nhiệm vụ đồ án . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
1.3 Phạm vi ứng dụng . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
1.4 Đối tượng sử dụng . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
1.5 Mục tiêu của ứng dụng . . . . . . . . . . . . . . . . . . . . . . . . .  
1.6 Các bước xây dựng đồ án . . . . . . . . . . . . . . . . . . . . . . .  
1.7 Phương án lưu trữ . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT  
4
4
4
7
8
8
9
9
2.1 C Sharp (C#) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
2.1.1 Tổng quan về C# . . . . . . . . . . . . . . . . . . . . . . . .  
2.1.2 Môi trường lập trình C# . . . . . . . . . . . . . . . . . . . .  
2.2 Microsoft SQL Server . . . . . . . . . . . . . . . . . . . . . . . . .  
2.2.1 SQL Server là gì? . . . . . . . . . . . . . . . . . . . . . . . .  
2.2.2 Đặc điểm của SQL Server . . . . . . . . . . . . . . . . . . .  
2.3 Linq to SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
2.3.1 Linq to SQL là gì? . . . . . . . . . . . . . . . . . . . . . . . 10  
2.3.2 Kiến trúc và các thành phần của Linq . . . . . . . . . . . . 11  
2.3.3 Cách thức vận hành . . . . . . . . . . . . . . . . . . . . . . 11  
2.3.4 Sự khác nhau giữa Linq to SQL và Entity Framework . . . 12  
2.3.5 Ưu điểm của Linq to SQL . . . . . . . . . . . . . . . . . . . 13  
iv  
CHƯƠNG 3. PHÂN TÍCH THIẾT KẾ  
15  
3.1 Xác định yêu cầu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15  
3.1.1 Yêu cầu chức năng . . . . . . . . . . . . . . . . . . . . . . . 15  
3.1.2 Phân quyền người dùng . . . . . . . . . . . . . . . . . . . . 15  
3.1.3 Danh sách Use Case . . . . . . . . . . . . . . . . . . . . . . 16  
3.1.4 Sơ đồ Use Case . . . . . . . . . . . . . . . . . . . . . . . . . 16  
3.1.5 Mô hình hóa các yêu cầu . . . . . . . . . . . . . . . . . . . . 17  
3.2 Mô hình cơ sở dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . 21  
3.2.1 Mô hình cơ sở dữ liệu . . . . . . . . . . . . . . . . . . . . . 21  
3.2.2 Chi tiết các thực thể . . . . . . . . . . . . . . . . . . . . . . 22  
CHƯƠNG 4. KẾT QUẢ THỰC NGHIỆM  
24  
4.1 Thực nghiệm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24  
4.1.1 Giao diện chương trình . . . . . . . . . . . . . . . . . . . . . 24  
4.1.2 Giao diện làm việc của Quản trị viên - Gia hạn thẻ . . . . 25  
4.1.3 Giao diện làm việc của Quản trị viên - Thống kê . . . . . . 25  
4.1.4 Giao diện làm việc của Quản trị viên - Báo cáo . . . . . . 26  
4.2 Các thiết kế hệ thống . . . . . . . . . . . . . . . . . . . . . . . . . . 26  
4.2.1 Biểu mẫu Đăng nhập . . . . . . . . . . . . . . . . . . . . . . 26  
CHƯƠNG 5. KẾT LUẬN  
28  
5.1 Kết quả đạt được . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  
5.1.1 Ưu điểm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  
5.1.2 Nhược điểm . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  
5.1.3 Hướng phát triển . . . . . . . . . . . . . . . . . . . . . . . . 28  
TÀI LIỆU THAM KHẢO  
29  
v
DANH MỤC CÁC HÌNH VẼ  
Hình 2.1 Quá trình chuyển đổi MSIL code thành Native code . . . . .  
Hình 2.2 Ứng dụng đa nền tảng . . . . . . . . . . . . . . . . . . . . . .  
5
7
Hình 2.3 Kiến trúc và các thành phần của Linq . . . . . . . . . . . . . 12  
Hình 3.1 Sơ đồ Use Case. . . . . . . . . . . . . . . . . . . . . . . . . . . 16  
Hình 3.2 Biểu đồ luồng dữ liệu mức 0 . . . . . . . . . . . . . . . . . . . 17  
Hình 3.3 Biểu đồ tiến trình "1.0 xe vào" . . . . . . . . . . . . . . . . . 18  
Hình 3.4 Biểu đồ tiến trình "2.0 xe ra" . . . . . . . . . . . . . . . . . . 19  
Hình 3.5 Biểu đồ tiến trình "3.0 giải quyết sự cố" . . . . . . . . . . . . 20  
Hình 3.6 Mô hình cơ sở dữ liệu. . . . . . . . . . . . . . . . . . . . . . . 21  
Hình 4.1 Giao diện chương trình. . . . . . . . . . . . . . . . . . . . . . 24  
Hình 4.2 Giao diện gia hạn thẻ tháng. . . . . . . . . . . . . . . . . . . 25  
Hình 4.3 Giao diện thống kê doanh thu. . . . . . . . . . . . . . . . . . 25  
Hình 4.4 Giao diện báo cáo doanh thu. . . . . . . . . . . . . . . . . . . 26  
Hình 4.5 Biểu mẫu Đăng nhập. . . . . . . . . . . . . . . . . . . . . . . 27  
vi  
DANH MỤC CÁC BẢNG BIỂU  
Bảng 2.1 Bảng so sánh sự khác nhau giữa Linq to SQL và Entity  
Framework.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13  
Bảng 3.1 Bảng chi tiết phân quyền người dùng . . . . . . . . . . . . . 15  
Bảng 3.2 Bảng danh sách Use Case . . . . . . . . . . . . . . . . . . . . 16  
Bảng 3.3 Bảng chi tiết mô hình mô tả hoạt động xe. . . . . . . . . . . 17  
Bảng 3.4 Bảng mô tả thuật toán mô hình hoạt động bãi giữ xe. . . . 18  
Bảng 3.5 Bảng mô tả thuật toán mô hình hoạt động bxe vào. . . . . . 19  
Bảng 3.6 Bảng mô tả thuật toán mô hình hoạt động xe ra. . . . . . . 20  
Bảng 3.7 Bảng mô tả thuật toán mô hình hoạt giải quyết vấn đề. . . 21  
Bảng 3.8 Bảng chi tiết thực thể tài khoản. . . . . . . . . . . . . . . . . 22  
Bảng 3.9 Bảng chi tiết thực thể bãi xe. . . . . . . . . . . . . . . . . . . 22  
Bảng 3.10 Bảng chi tiết thực thể bãi xe. . . . . . . . . . . . . . . . . . . 23  
Bảng 4.1 Bảng chi tiết biểu mẫu đăng nhập. . . . . . . . . . . . . . . . 26  
1
CHƯƠNG 1. TỔNG QUAN  
1.1. Thực trạng hiện nay  
Quản lý nhà xe là một công việc quan trọng trong bất cứ trường học hay công  
ty nào, nó ảnh hưởng mạnh mẽ đến sự phát triển của một tổ chức. Vì vậy, việc  
quản lý bãi xe đòi hỏi phải có sự chính xác và tối ưu để tạo ra một môi trường  
làm việc hiệu quả nhất. Hiện nay, nhiều trường đã xây dựng hệ thống quản lý  
nhà xe và đã thu được nhiều kết quả khả quan đáp ứng nhu cầu đa dạng của  
mọi người và xây dựng mục tiêu của tổ chức.  
Hệ thống quản lý nơi đỗ xe là một hệ thống dùng để quản lý, xử lý, lưu trữ,  
truyền đạt, phân phối các thông tin có liên quan đến hình ảnh biển số, giảng  
viên trong trường để hỗ trợ cho việc ra quyết định. Hệ thống có vai trò quan  
trọng trong hoạt động của cơ quan, các chức năng do hệ thống mang lại có vai  
trò tối ưu trong việc ra kiểm soát thông tin xe tại cơ quan.  
Hệ thống quản lý bãi gửi xe thông minh sử dụng công nghệ kiểm soát ra vào  
bằng thẻ từ dành cho hệ thống các phương tiện vận tải, xe ô tô, xe máy, sử dụng  
các thiết bị công nghệ thay thế sức con người. Mang đến sự nhanh gọn và chính  
xác trong quản lý an ninh bãi xe.  
Hệ thống cho phép ghi vé xe và kiểm soát ra vào một cách tự động, thông  
minh và nhanh chóng hơn. Các thông tin được ghi lại như biển số xe, số thẻ xe,  
vé xe, ảnh xe, ảnh người gửi xe. . . Đồng thời sử dụng hệ thống phần mềm giúp  
người quản lý dễ dàng điều hành bãi đỗ xe hơn. Thực hiện được các báo cáo về  
số lượng xe ra vào, kiểm soát doanh thu cho bãi xe và nhiều tiện ích khác.  
2
1.2. Nhiệm vụ đồ án  
Từ những vấn đề trên, em quyết định xây dựng một phần mềm phục vụ nhu  
cầu quản lý bãi giữ xe cho một trường đại học hay một nhà xe vừa và nhỏ, giúp  
tăng năng suất công việc, giảm thiểu tối đa sai sót có thể xảy ra và ứng dụng  
tin học hóa, tự động hóa vào công tác quản lý hiệu quả nhất.  
1.3. Phạm vi ứng dụng  
• Đơn vị sử dụng: Trường Đại học Quốc tế Sài Gòn.  
• Tên dự án: Xây dựng hệ thống bãi giữ xe thông minh.  
1.4. Đối tượng sử dụng  
Sản phẩm được thiết kế để phục vụ cho các đối tượng:  
Cán bộ nhà trường  
Sinh viên  
Giảng viên  
1.5. Mục tiêu của ứng dụng  
Ứng dụng được thiết kế để thực hiện:  
Không phải quản lý thủ công (giấy, tờ, sổ sách..). Không cần quá nhiều người.  
Một lượng lớn sinh viên thì quản lý thủ công rất khó khăn. Do vậy phần mềm  
này với mục đích nâng cao hiệu quả trong quá trình lưu trữ thông tin của xe.  
Bảo mật về phần thẻ giả.  
Tiết kiệm được thời gian trong quản lý so với quản lý thủ công, tiết kiệm  
nhân lực và không va quẹt hay quá tải.  
3
1.6. Các bước xây dựng đồ án  
Lập kế hoạch phát triển hệ thống.  
Phân tích hệ thống.  
Thiết kế .  
Cài đặt .  
Kiểm tra .  
Biên soạn tài liệu và hướng dẫn.  
1.7. Phương án lưu trữ  
Ở ứng dụng này, em sử dụng hệ quản trị cơ sở dữ liệu MSSQL Server với  
những lí do sau:  
Cho phép tạo nhiều cơ sở dữ liệu.  
Duy trì lưu trữ bền vững.  
Bảo mật cao.  
Phân tích dữ liệu bằng SSAS - SQL Server Analysis Services.  
Tạo được báo cáo bằng SSRS - SQL Server Reporting Services.  
Thực hiện quá trình ETL (Extract-Transform-Load) bằng SSIS - SQL Server  
Integration Services.  
Kết hợp hoàn hảo với WinForm trên C sharp và bunifu ui.  
4
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT  
2.1. C Sharp (C#)  
2.1.1. Tổng quan về C#  
2.1.1.1. C# là gì?  
C# (hay C sharp) là một ngôn ngữ lập trình đơn giản, được phát triển bởi  
đội ngũ kỹ sư của Microsoft vào năm 2000, trong đó người dẫn đầu là Anders  
Hejlsberg và Scott Wiltamuth.  
C# là ngôn ngữ lập trình hiện đại, hướng đối tượng và nó được xây dựng  
trên nền tảng của hai ngôn ngữ mạnh nhất là C++ và Java.  
C# được thiết kế cho Common Language Infrastructure (CLI), mà gồm Ex-  
ecutable Code và Runtime Environment, cho phép chúng ta sử dụng các ngôn  
ngữ high-level đa dạng trên các nền tảng và cấu trúc máy tính khác nhau.  
Cùng với sự hỗ trợ mạnh mẽ của .NET Framework giúp cho việc tạo một ứng  
dụng Windows Forms hay WPF (Windows Presentation Foundation), . . . trở  
nên rất dễ dàng.  
Trong các ứng dụng Windows truyền thống, mã nguồn chương trình được  
biên dịch trực tiếp thành mã thực thi của hệ điều hành.  
Trong các ứng dụng sử dụng .NET Framework, mã nguồn chương trình (,  
VB.NET) được biên dịch thành mã ngôn ngữ trung gian MSIL (Microsoft in-  
termediate language).  
Sau đó mã này được biên dịch bởi Common Language Runtime (CLR) để trở  
thành mã thực thi của hệ điều hành. Hình bên dưới thể hiện quá trình chuyển  
đổi MSIL code thành native code.  
5
Hình 2.1: Quá trình chuyển đổi MSIL code thành Native code  
2.1.1.2. Đặc trưng của C#  
Các đặc điểm để làm cho C# là ngôn ngữ lập trình chuyên nghiệp được sử  
dụng rộng rãi:  
• Như chúng ta biết C# là ngôn ngữ đơn giản được dựng trên nền tảng C++  
và Java nên ngôn ngữ C# khá đơn giản. Nếu chúng ta thân thiện với C và  
C++ hoặc thậm chí là Java, chúng ta sẽ thấy C# khá giống về diện mạo,  
cú pháp, biểu thức, toán tử và những chức năng khác được lấy trực tiếp từ  
ngôn ngữ C và C++, nhưng nó đã được cải tiến để làm cho ngôn ngữ đơn  
giản hơn. Một vài trong các sự cải tiến là loại bỏ các dư thừa, hay là thêm  
vào những cú pháp thay đổi.  
• C# là ngôn ngữ hiện đại : xử lý ngoại lệ, những kiểu dữ liệu mở rộng, bảo  
mật mã nguồn..v..v.... Đây là những đặc tính được cho là của một ngôn ngữ  
6
hiện đại cần có. Và C# chứa tất cả các đặt tính vừa nêu trên.  
• Nó còn là một ngôn ngữ lập trình thuần hướng đối tượng. Là một ngôn ngữ  
ít từ khóa.  
Ưu điểm nổi bật của C#:  
• C# có cấu trúc khá gần gũi với các ngôn ngữ lập trình truyền thống, nên  
cũng khá dể dàng tiếp cận và học nhanh với C#.  
• C# có thể biên dịch trên nhiều nền tảng máy tính khác nhau.  
• C# được xây dựng trên nền tảng của C++ và Java nên nó được thừa hưởng  
những ưu điểm của ngôn ngữ đó.  
• C# là một phần của .NET Framework nên được sự chống lưng khá lớn đến  
từ bộ phận này.  
• C# có IDE Visual Studio cùng nhiều plug-in vô cùng mạnh mẽ.  
Version của C#:  
• .NET Framework được Microsoft đưa ra chính thức từ năm 2002. .NET  
Framework chỉ hoạt động trên Windows. Những nền tảng ứng dụng như  
WPF, Winforms, ASP.NET(1-4) hoạt động dựa trên .NET Framework.  
• Mono là phiên bản cộng đồng nhằm mang .NET đến những nền tảng ngoài  
Windows. Mono được phát triển chủ yếu nhằm xây dựng những ứng dụng  
với giao diện người dùng và được sử dụng rất rộng rãi: Unity Game, Xam-  
ari...  
• Cho đến năm 2013, Microsoft định hướng đi đa nền tảng và phát triển .NET  
core. .NET core hiện được sử dụng trong các ứng dụng Universal Windows  
platform và ASP.NET Core. Từ đây, C# có thể được sử dụng để phát triển  
các loại ứng dụng đa nền tảng trên các hệ điều hành khác nhau (Windows,  
Linux, MacOS,. . . )  
7
Nền tảng .NET:  
• Từ version C# 1.0#: Visual Studio .NET 2002,..., cho đến hiện nay version  
C#8: Visual Studio .Net 2019.  
Chuong2/Images/.NetFram.png  
Hình 2.2: Ứng dụng đa nền tảng  
2.1.2. Môi trường lập trình C#  
Microsoft Visual Studio 2019 là một môi trường phát triển tích hợp (IDE) từ  
Microsoft. Nó được sử dụng để phát triển chương trình máy tính cho Microsoft  
Windows, cũng như các trang web, các ứng dụng web và các dịch vụ web. Visual  
Studio sử dụng nền tảng phát triển phần mềm của Microsoft như Windows  
API, Windows Forms, Windows Presentation Foundation, Windows Store và  
Microsoft Silverlight. Nó có thể sản xuất cả hai ngôn ngữ máy và mã số quản lý.  
Visual Studio 2019 bao gồm một trình soạn thảo mã hỗ trợ IntelliSense cũng  
8
như cải tiến mã nguồn. Trình gỡ lỗi tích hợp hoạt động cả về trình gỡ lỗi mức  
độ mã nguồn và gỡ lỗi mức độ máy. Công cụ tích hợp khác bao gồm một mẫu  
thiết kế các hình thức xây dựng giao diện ứng dụng, thiết kế web, thiết kế lớp  
và thiết kế giản đồ cơ sở dữ liệu. Nó chấp nhận các plug-in nâng cao các chức  
năng ở hầu hết các cấp bao gồm thêm hỗ trợ cho các hệ thống quản lý phiên  
bản (như Subversion) và bổ sung thêm bộ công cụ mới như biên tập và thiết  
kế trực quan cho các miền ngôn ngữ cụ thể hoặc bộ công cụ dành cho các khía  
cạnh khác trong quy trình phát triển phần mềm.  
Nó hỗ trợ nhiều ngôn ngữ lập trình khác nhau và cho phép trình biên tập  
mã và gỡ lỗi để hỗ trợ (mức độ khác nhau) hầu như mọi ngôn ngữ lập trình.  
Các ngôn ngữ tích hợp gồm có C, C++ và C++/CLI (thông qua Visual C++),  
VB.NET (thông qua Visual Basic.NET), C# (thông qua Visual C#) và F#  
(như của Visual Studio 2010). Hỗ trợ cho các ngôn ngữ khác như J++/J#,  
Python và Ruby thông qua dịch vụ cài đặt riêng rẽ. Nó cũng hỗ trợ XML/XSLT,  
HTML/XHTML, JavaScript và CSS.  
2.2. Microsoft SQL Server  
2.2.1. SQL Server là gì?  
SQL Server là phần mềm được Microsoft phát triển dựa trên RDBMS.  
Cũng là một ORDBMS (Hệ quản trị cơ sở dữ liệu quan hệ đối tượng) . Một  
nền tảng độc lập.  
Phần mềm sử dụng cả giao diện dòng lệnh và giao diện GUI.  
Hỗ trợ ngôn ngữ SQL (trước đây là SEQUEL - ngôn ngữ truy vấn tiếng Anh  
có cấu trúc) - vốn là sản phẩm của IBM.  
9
2.2.2. Đặc điểm của SQL Server  
SQL là ngôn ngữ phi thủ tục, không yêu cầu cách thức truy cập cơ sở dữ liệu  
như thế nào. Tất cả các thông báo của SQL rất dễ dàng sử dụng và ít mắc lỗi.  
SQL cung cấp các tập lệnh phong phú cho các công việc hỏi đáp dữ liệu như:  
Chèn, xóa và cập nhật các hàng trong 1 quan hệ.  
Tạo, thêm, xóa và sửa đổi các đối tượng trong của cơ sở dữ liệu.  
Điều khiển việc truy cấp tới cơ sở dữ liệu và các đối tượng của cơ sở dữ liệu  
để đảm bảo tính bảo mật, tính nhất quán và sự ràng buộc của cơ sở dữ liệu.  
Đối tượng của SQL server là các bảng dữ liệu với các cột và các hàng. Cột  
được gọi là trường dữ liệu và hàng là bản ghi của bảng. Cột dữ liệu và kiểu dữ  
liệu xác định tạo nên cấu trúc của bảng.  
Khi bảng được tổ chức thành một hệ thống cho một mục đích sử dụng cụ thể  
vào công việc nào đó sẽ trở thành một cơ sở dữ liệu.  
2.3. Linq to SQL  
Một truy vấn là một diễn tả để lấy dữ liệu từ 1 nguồn dữ liệu nào đó. Các  
truy vấn thường được dùng trong các ngôn ngữ truy vấn đặc trưng. Các ngôn  
ngữ truy vấn khác nhau được phát triển khác nhau để áp dụng cho các nguồn  
dữ liệu khác nhau, ví dụ SQL dùng cho cơ sở dữ liệu quan hệ và XQuery dùng  
cho XML. Vì vậy, các nhà phát triển phải học các ngôn ngữ truy vấn cho mỗi  
dạng nguồn dữ liệu hoặc định dạng dữ liệu. Do đó, Microsoft mới nghĩ ra việc  
xây dựng 1 ngôn ngữ truy vấn nào đó mà có thể dùng cho tất cả nguồn dữ liệu,  
tất cả các định dạng dữ liệu khác nhau. Ngôn ngữ truy vấn đó là LINQ.  
Mục đích ra đời của LINQ hay LINQ to SQL là để phục vụ cho hệ quản trị  
cơ sở dữ liệu SQL Server và nền tảng .NET nói chung hay ngôn ngữ lập trình  
C#/VB.NET nói riêng chứ không phải mục đích đại trà cho các ngôn ngữ lập  
trình hay các hệ quản trị cơ sở dữ liệu khác. Ta biết rằng:  
10  
C# là một ngôn ngữ lập trình hướng đối tượng hoàn toàn.  
SQL Server là một hệ quản trị cơ sở dữ liệu (DBMS) theo mô hình quan hệ,  
mô hình CSDL quan hệ ghi các dữ liệu theo dòng trong các bảng dữ liệu.  
Muốn dùng ngôn ngữ C# viết mã để lấy dữ liệu từ SQL Server nhưng tổ chức  
mô hình dữ liệu của C# và SQL Server là khác nhau. Để giải quyết tình trạng  
trên, một kỹ thuật gọi là ORM (Object Relational Mapping) ra đời nhằm mục  
đích chuyển đổi dữ liệu giữa các hệ thống khác (không phải là mô hình hướng  
đối tượng) sang các đối tượng trong ngôn ngữ lập trình hướng đối tượng. Tiếp  
đó LINQ to SQL ra đời dựa trên kỹ thuật ORM xóa bỏ khoảng cách giữa mô  
hình lập trình hướng đối tượng C#/VB.NET với hệ quản trị cơ sở dữ liệu SQL  
Server khi đã mô hình hóa theo hướng đối tượng các bảng trong Database thành  
các lớp tương ứng khi lập trình.  
Sự ra đời của LINQ to SQL giúp các lập trình viên .NET bớt đi gánh nặng  
phụ thuộc bên thứ 3 (dùng SQL để truy vấn). LINQ to SQL đồng thời đồng  
bộ hóa dữ liệu lấy ra và trả về khi truy xuất dữ liệu bằng việc các Data Model  
hứng dữ liệu trả về được tạo tự động sao cho tương thích với kiểu dữ liệu tương  
ứng của chúng khi ánh xạ vào cơ sở dữ liệu. Điều này làm tránh tình trạng mất  
hoặc sai lệch dữ liệu khi truy xuất và thao tác với Database. Trên hết, một công  
cụ được phát hành cho nền tảng duy nhất là .NET với những thành viên trong  
.NET sử dụng thì hiệu suất của LINQ to SQL sẽ tốt hơn so với những công cụ  
bên thứ 3.  
2.3.1. Linq to SQL là gì?  
LINQ (Language Integrated Query, tạm dịch là ngôn ngữ truy vấn tích hợp)  
đưa ra 1 mô hình bền vững để hoạt động với các dạng nguồn dữ liệu và định  
dạng dữ liệu khác nhau. Trong LINQ, bạn phải làm quen với chuyện làm việc  
với các đối tượng (objects). LINQ cho phép dùng các đoạn code đơn giản để  
truy vấn và chuyển đổi dữ liệu trong các tài liệu XML, cơ sở dữ liệu SQL, tập dữ  
liệu ADO.NET, các tập hợp .NET, và bất kỳ định dạng nào mà LINQ provider  
11  
hỗ trợ.  
LINQ to SQL là một phiên bản hiện thực hóa của O/RM có bên trong .NET  
Framework bản “Orcas” (nay là .NET 3.5), nó cho phép bạn mô hình hóa một  
cơ sở dữ liệu dùng các lóp .NET. Sau đó bạn có thế truy vấn cơ sở dữ liệu 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. Nó cũng cung cấp một cách dề dàng  
để 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 của bạn.  
2.3.2. Kiến trúc và các thành phần của Linq  
SQL Sever Databases: LinQ to SQL: Cho phép truy vấn các cơ sở dữ liệu  
quan hệ.  
XML documents: LinQ to XML: Sử dụng LinQ to XML với mục đích truy  
vấn file XML Documents.  
ADO.NET datasets: LINQ to Dataset: Cho phép truy vấn các Dataset hoặc  
DataTable.  
.NET Collections, Strings, Files, . . . : LinQ to Objects: Cho phép truy vấn các  
đối tượng trong một tập các phần tử nguồn, các kiểu đối tượng này phải thực  
thi giao diện Ienumrable<T>.  
Entity Framework: LinQ to Entities: Cho phép truy vấn các thực thể bên  
trong Entity Framework.  
2.3.3. Cách thức vận hành  
Tất cả các hoạt động truy vấn LINQ đều bao gồm 3 tác vụ:  
Kết nối với nguồn dữ liệu (data source).  
Tạo truy vấn.  
Thực thi truy vấn.  
12  
Hình 2.3: Kiến trúc và các thành phần của Linq  
2.3.4. Sự khác nhau giữa Linq to SQL và Entity Framework  
Linq to SQL cho phép ta truy vấn và chỉnh sửa dữ liệu của SQL Server sử  
dụng cú pháp của Linq. Entity framework là một ORM, cho phép chúng ta truy  
vấn và chỉnh sửa RDBMS như SQL Server, Oracle, DB2, MySQL... cũng bằng  
cách sử dụng cú pháp Linq. Bây giờ, EF được sử dụng thường xuyên trong ứng  
dụng .NET để truy vấn tới cơ sở dữ liệu.Và sau đây là một số điểm khác nhau  
giữa Linq to SQL và Entity Framework:  
Tải về để xem bản đầy đủ
pdf 37 trang yennguyen 26300 Free
Bạn đang xem 20 trang mẫu của tài liệu "Báo cáo Đề tài Nghiên cứu phần mềm bãi giữ xe thông minh", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbao_cao_de_tai_nghien_cuu_phan_mem_bai_giu_xe_thong_minh.pdf