Nếu bạn nhìn vào lịch sử của các ngôn ngữ lập trình và các tính năng của chúng,mỗi ngôn ngữ lập trình được thiết kế cho một mục đích cụ thể để giải quyết mộtnhu cầu cụ thể tại thời điểm
Trang 1BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC KINH TẾ KĨ THUẬT CÔNG NGHIỆP HÀ
NỘI KHOA CÔNG NGHỆ THÔNG TIN
Năm học 2021 – 2022
Trang 3LỜI CẢM ƠN
Trước tiên với tình cảm sâu sắc và chân thành nhất, cho phép
em được bày tỏ lòng biết ơn đến tất cả các cá nhân và tổ chức đãtạo điều kiện hỗ trợ, giúp đỡ em trong suốt quá trình học tập vànghiên cứu đề tài này Trong suốt thời gian từ khi bắt đầu học tập tạitrường đến nay, em đã nhận được rất nhiều sự quan tâm, giúp đỡcủa quý Thầy Cô và bạn bè
Với lòng biết ơn sâu sắc nhất, em xin gửi đến quý Thầy Cô ở bộmôn Lập trình NET đã truyền đạt vốn kiến thức quý báu cho chúng
em trong suốt thời gian học tập tại trường Nhờ có những lời hướngdẫn, dạy bảo của các thầy cô nên đề tài nghiên cứu của em mới cóthể hoàn thiện tốt đẹp
Một lần nữa, em xin chân thành cảm ơn Cô Phạm Thị Thuỳ –người đã trực tiếp giúp đỡ, quan tâm, hướng dẫn em hoàn thành tốtbài báo cáo này trong thời gian qua
Bài báo cáo đồ án thực hiện trong khoảng thời gian vừa qua.Bước đầu đi vào thực tế của em còn hạn chế và còn nhiều bỡ ngỡnên không tránh khỏi những thiếu sót, em rất mong nhận đượcnhững ý kiến đóng góp quý báu của quý Thầy Cô để kiến thức của
em trong lĩnh vực này được hoàn thiện hơn đồng thời có điều kiện bổsung, nâng cao ý thức của mình
Em xin chân thành cảm ơn!
Trang 4LỜI MỞ ĐẦU
Ngày nay với sự bùng nổ và phát triển mạnh mẽ của lĩnh vựcCông nghệ thông tin đặc biệt với sự ra đời của Internet, nó đang dầntrở thành một phần không thể thiếu của cuộc sống con người Côngnghệ thông tin đang được phát triển và ứng dụng mạnh mẽ trongcác lĩnh vực quản lý sản xuất, quản lý kinh doanh, dịch vụ, quản lý
xã hội cũng như tất cả các lĩnh vực khác Thực tế đã cho thấy hiệuquả của tin học khi áp dụng vào công tác quản lý, nó đã làm giảmbớt công tác bàn giấy đồng thời góp phần đáng kể trong việc thống
kê tránh những sai sót trong kinh doanh Có thể nói tin học đã trởthành một công cụ hữu hiệu đem lại hiệu quả trong công tác quản lý
Trang 5Chương I: Phần mở đầu.
1.1 Giới thiệu hệ thống quản lý nhà hàng.
Hệ thống quản lý nhà hàng được xây dựng nhằm đưa thông tin chi tiết về những sản phẩm cũng như các món ăn mà nhà hàng đang kinh doanh đến khách hàng
Hệ thống phục vụ cho các đối tượng sau:
ADMIN: Người có toàn quyền trong việc quản trị hệ thống các quyền đó gồm thêm danh mục , món ăn
KHÁCH HÀNG : Khách hàng có thể xem thông tin chi tiết về các món ăn, đặt món ăn, đặt bàn
1.2 Phạm vi hệ thống.
Báo cáo phạm vịTên dự án Xây dựng quản lý nhà hàng
Không vượt quá thời gian quy định.Lợi ích mang lại Khách hàng dễ dàng tìm kiếm thông
tin
Khách hàng dễ dàng sử dụng và đặtmón
Nhà hàng có thể quản lý một cách tốtnhất cũng như đáp ứng nhu cầu củangười mua một cách thuận tiện hơn.Các bước thực hiện Khởi tạo dự án
Lập kế hoạch
Thu thập yêu cầu
Phân tích yêu cầu và thiết kế hệ thống
Trang 6 Hướng dẫn sử dụng.
Trang 71.3 Giới thiệu ngôn ngữ và sử dụng ngôn ngữ.
1.3.1 C#
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à AndersHejlsberg 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ềntả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ồmExecutable Code và Runtime Environment, cho phép chúng ta sử dụng các ngônngữ 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# với sự hỗ trợ mạnh mẽ của NET Framework giúp cho việc tạo một ứng dụngWindows Forms hay WPF (Windows Presentation Foundation), trở nên rất dễdàng
ASP.Net FrameWork
.NET framework có thể được sử dụng để tạo cả những ứng dụng dựa trên biểumẫu (Form-based) và dựa trên Web (Web-based) Các web service cũng có thểđược phát triển bằng cách sử dụng NET framework
Framework cũng hỗ trợ các ngôn ngữ lập trình khác nhau như Visual Basic vàC# Vì vậy, các nhà phát triển có thể lựa chọn ngôn ngữ để phát triển ứng dụngcần thiết Trong bài viết này, các bạn sẽ tìm hiểu một số khái niệm cơ bản về NET
Trang 8Nếu bạn nhìn vào lịch sử của các ngôn ngữ lập trình và các tính năng của chúng,mỗi ngôn ngữ lập trình được thiết kế cho một mục đích cụ thể để giải quyết mộtnhu cầu cụ thể tại thời điểm đó.
Tuy nhiên ngôn ngữ lập trình C# được thiết kế cho các doanh nghiệp để xây dựngtất cả các loại phần mềm bằng cách sử dụng một ngôn ngữ lập trình duy nhất.C# cung cấp chức năng để hỗ trợ phát triển phần mềm hiện đại C# hỗ trợ các nhucầu phát triển ứng dụng Web, Mobile và ứng dụng Desktop Một số tính năng hiệnđại của ngôn ngữ lập trình C# là generic, kiểu var, collection, biểu thức lambda,lập trình động, lập trình không đồng bộ, gỡ lỗi nâng cao và xử lý ngoại lệ, v.v
Cú pháp ngôn ngữ C# bị ảnh hưởng bởi C++, Java, Pascal và một số ngôn ngữkhác dễ sử dụng C# cũng loại bỏ sự phức tạp và các tính năng của ngôn ngữkhông có cấu trúc
Trang 9ASP.Net Framework
.NET Framework là thành quả tối ưu của sự kết hợp công sức và trí tuệ của
Microsoft, nhằm tạo ra một nền tảng cho việc xây dựng và triển khai nhanh chóng
các dịch vụ và ứng dụng Web XML Tầm nhìn của nền tảng NET
Framework kết hợp một mô hình lập trình đơn giản, dễ sử dụng với các giao thức
mở và biến đổi được của Internet Để đạt được tầm nhìn này, việc thiết kế NET
Framework nhằm một số mục đích:
Sự hợp nhất thông qua các chuẩn Internet công cộng: Để giao tiếp
với những đối tác kinh doanh, những khách hàng phụ thuộc vào cáckhu vực theo vị trí địa lý, thậm trí cả những ứng dụng cho tương lai,những giải pháp phát triển cần được đề nghị hỗ trợ cho các chuẩnInternet mở và tích hợp chặt chẽ với các giao thức mà không bắt buộcngười phát triển phải thông hiểu cơ sở hạ tầng bên dưới nó
Khả nǎng biến đổi được thông qua một kiến trúc "ghép nối
lỏng": Đa số các hệ thống lớn, biến đổi được trên thế giới được xây
dựng trên những kiến trúc không đồng bộ dựa trên nền thông điệp(message-based) Nhưng công việc xây dựng các ứng dụng trên mộtkiến trúc như vậy thường phức tạp và có ít các công cụ hơn so vớinhững môi trường phát triển ứng dụng N lớp (N-tier) "ghép nốichặt" .NET Framework được xây dựng để đem lại những lợi thế vềnǎng suất của kiến trúc "ghép nối chặt" với khả nǎng biến đổi được vàvận hành với nhau của kiến trúc "ghép nối lỏng"
Hỗ trợ nhiều ngôn ngữ: Các nhà phát triển sử dụng những ngôn ngữ
khác nhau do mỗi ngôn ngữ riêng có những ưu thế đặc thù : một sốngôn ngữ đặc biệt thích hợp với thao tác toán học; một số khác lại đadạng ở các hàm tính toán tài chính v.v .NET Framework cho phép cácứng dụng được viết trong nhiều ngôn ngữ lập trình khác nhau và chúng
có khả nǎng tích hợp với nhau một cách chặt chẽ Ngoài ra, với NET
Framework, các công ty còn có thể tận dụng những lợi thế của kỹ nǎng
Trang 10phát triển sẵn có mà không cần phải đào tạo lại và cho phép nhữngngười phát triển sử dụng ngôn ngữ mà họ ưa thích.
Nâng cao nǎng suất cho các nhà phát triển: Với số lượng các nhà
phát triển ứng dụng không nhiều nên mỗi giờ làm việc họ phải cho ra
kết quả công việc cụ thể Các nhóm phát triển với NET
Framework có thể loại bỏ những công việc lập trình không cần thiết và
tập trung vào viết các lôgic doanh nghiệp Chẳng hạn như .NETFramework có ưu điểm tiết kiệm thời gian như thực hiện các giao dịch
tự động và dễ sử dụng, quản lý bộ nhớ một cách tự động và có chứamột tập các đối tượng điều khiển đa dạng bao hàm nhiều tác vụ pháttriển chung
Bảo vệ những sự đầu tư thông qua việc bảo mật đã được cải
tiến: Một trong những vấn đề liên quan lớn nhất đến Internet hiện nay
là bảo mật Kiến trúc bảo mật của .NET Framework được thiết kế từdưới lên để đảm bảo các ứng dụng và dữ liệu được bảo vệ thông quamột mô hình bảo mật dựa-trên-bằng-chứng (evidence-based) và tinh vi
Tận dụng những dịch vụ của hệ điều hành: Windows cung cấp một
số lượng đa dạng các dịch vụ có sẵn với bất kỳ nền tảng nào; như truycập dữ liệu một cách toàn diện, bảo mật tích hợp, các giao diện ngườidùng tương tác, mô hình đối tượng thành phần đáng tin cậy và các giámsát quá trình giao dịch .NET Framework đã tận dụng lợi thế đa dạng
và phong phú này để đưa ra cho mọi người theo cách dễ sử dụng nhất
1.3.2 SQL Sever
Tổng quan
SQL Server là một hệ thống quản lý cơ sở dữ liệu quan hệ (relationaldatabase management system viết tắt là RDBMS), hỗ trợ một số lượng lớn cácquy trình xử lý giao dịch, ứng dụng doanh nghiệp và ứng dụng phân tích trong cáccông ty IT SQL Server là một trong 3 công nghệ dữ liệu dẫn đầu hiện này cùngvới Oracle Database và IBM’s DB2
Trang 11Hình 1.4: SQL ServerCũng giống như các phần mềm RDBMS khác, Microsoft SQL Server đượcxây dựng bên trên lớp SQL – ngôn ngữ lập trình tiêu chuẩn hóa mà quản trị viên
cơ sở dữ liệu (DBAs) và các chuyên gia CNTT sử dụng để quản lý cơ sở dữliệu và truy vấn dữ liệu nằm bên trong SQL Server thường gắn với Transact-SQL(T-SQL), một cài đặt SQL của Microsoft bổ sung một bộ chương trình mở rộngngôn ngữ lập trình chuẩn
Lịch sử phát triển
SQLServer được phát triển từ ngôn ngữ SEQUEL2 bởi IBM theo mô hìnhCodd tại trung tâm nghiên cứu của IBM ở California ,vào những năm 70 cho hệthống QTCSDL lớn
Đầu tiên SQL Server được sử dụng trong các ngôn ngữ quản lý CSDL vàchạy trên các máy đơn lẻ Song do sự phát triển nhanh chóng của nhu cầu xâydựng những CSDL lớn theo mô hình khách chủ( trong mô hình này toàn bộ CSDLđược tập trung trên máy chủ (Server)) Mọi thao tác xử lý dữ liệu được thực hiệntrên máy chủ bằng các lệnh SQL máy trạm chỉ dùng để cập nhập hoặc lấy thôngtin từ máy chủ) Ngày nay trong các ngôn ngữ lập trình bậc cao đều có sự trợ giúpcủa SQL Nhất là trong lĩnh vực phát triển của Internet ngôn ngữ SQL càng đóngvai trò quan trọng hơn Nó được sử dụng để nhanh chóng tạo các trang Webđộng
Trang 12SQL đã được viện tiêu chuẩn quốc gia Mỹ (ANSI)và tổ chức tiêu chuẩn quốc tế(ISO) chấp nhận như một ngôn ngữ chuẩn cho CSDL quan hệ Nhưng cho đếnnay chuẩn này chưa đưa ra đủ 100%.Nên các SQL nhúng trong các ngôn ngữ lậptrình khác nhau đã được bổ xung mở rộng cho SQL chuẩn cho phù hợp với cácứng dụng của mình.Do vậy có sự khác nhau rõ ràng giữa các SQL.
Cấu trúc
SQL Server cơ bản dựa trên một cấu trúc bảng biểu, bao gồm các dòng kếtnối các phần tử dữ liệu có liên quan trong các bảng khác nhau, do đó loại bỏ nhucầu lưu trữ dữ liệu ở nhiều vị trí trong cơ sở dữ liệu Mô hình quan hệ cũng cungcấp các tham chiếu và ràng buộc toàn vẹn nhằm duy trì độ chính xác của dữ liệu ,các kiểm tra này là một phần thúc đẩy sự tuân thủ các nguyên tắc về tính nhấtquán, tính độc lập và độ tin cậy – được gọi chung là các thuộc tính ACID và đượcthiết kế để đảm bảo cho các giao dịch cơ sở dữ liệu được xử lý ổn thỏa
Hình 1.5: Cấu trúc SQL Server
Đặc điểm và các phiên bản của SQL Sever
Đặc điểm:
Trang 13Hình 1.6: Đặc điểm
SQL là ngôn ngữ tựa tiếng Anh
SQL là ngôn ngữ phi thủ tục, nó không yêu cầu ta cách thức truy nhậpCSDL như thế nào Tất cả các thông báo của SQL đều rất dễ sử dụng và ítkhả năng mắc lỗi
SQL cung cấp tập lệnh phong phú cho các công việc hỏi đáp DL
Chèn, cập nhật, xoá các hàng trong một quan hệ
Tạo, sửa đổi, thêm và xoá các đối tượng trong của CSDL
Điều khiển việc truy nhập tới cơ sở dữ liệu và các đối tượng củaCSDL để đảm bảo tính bảo mật của cơ sở DL
Đảm bảo tính nhất quán và sự ràng buộc của CSDL
Yêu cầu duy nhất để sử dụng cho các hỏi đáp là phải nắm vững được cáccấu trúc CSDL của mình
Các phiên bản
Enterprise : chứa tất cả cá đặc điểm nổi bật của SQL Server, bao gồm nhân
bộ máy cơ sở dữ liệu và các dịch vụ đi kèm cùng với các công cụ cho tạo
và quản lý phân cụm SQL Server Nó có thể quản lý các CSDL lớn tới 524petabytes và đánh địa chỉ 12 terabytes bộ nhớ và hỗ trợ tới 640 bộ vi xử
Trang 14lý(các core của cpu)
Standard : Rất thích hợp cho các công ty vừa và nhỏ vì giá thành rẻ hơnnhiều so với Enterprise Edition, nhưng lại bị giới hạn một số chức năngcao cấp (advanced features) khác, edition này có thể chạy tốt trên hệ thốnglên đến 4 CPU và 2 GB RAM
Developer : Có đầy đủ các tính năng của Enterprise Edition nhưng đượcchế tạo đặc biệt như giới hạn số lượng người kết nối vào Server cùng mộtlúc… Ðây là phiên bản sử dụng cho phát triển và kiểm tra ứng dụng.Phiên bản này phù hợp cho các cá nhân, tổ chức xây dựng và kiểm tra ứngdụng MIỄN PHÍ
Workgroup: ấn bản SQLServer Workgroup bao gồm chức năng lõi cơ sở
dữ liệu nhưng không có các dịch vụ đi kèm Chú ý phiên bản này khôngcòn tồn tại ở SQL Server 2012
Express : SQL Server Express dễ sử dụng và quản trị cơ sở dữ liệu đơn giản Được tích hợp với Microsoft Visual Studio, nên dễ dàng để phát triển các ứng dụng dữ liệu, an toàn trong lưu trữ, và nhanh chóng triển khai.
I.5.3 Ưu – Nhược điểm của các ứng dụng
Ưu điểm
C#
- Là một trong số những ngôn ngữ thuần hướng đối tượng
- Chuyên sử dụng để lập trình cho windows
- Thiết kế winform cực tốt, đơn giản và dễ hiểu
- Ngôn ngữ dễ học, dễ tiếp cận với Java
- Khả năng tương tác với Database dễ dàng hơn rất nhiều
- Được window hỗ trợ đầy đủ các control
- Thư viện NET nhẹ, dễ cài đặt và được miễn phí
Trang 15- IDE Visual Studio hỗ trợ debug, build cực khủng.
ASP.Net Framework
- Thực thi và phát triển đa nền (Linux, Windows, MacOS)
- Kiến trúc mô đun để dễ dàng bảo trì
- Phát triển như phần mềm mã nguồn mở
- Tương thích với khuynh hướng phát triển web hiện tại như ứngdụng hướng client hay môi trường đám mây
SQL Server
- Không cần code
- Rất dễ dàng để quản lý các hệ thống cơ sở dữ liệu bằng việc sử dụngSQL chuẩn mà không cần phải viết bất cứ dòng code nào
- - Tiêu chuẩn được quy định rõ ràng
- SQL sử dụng hai tiêu chuẩn ISO và ANSI, trong khi với các SQL database không có tiêu chuẩn nào được tuân thủ
- - Multiple data views
- Với sự trợ giúp của ngôn ngữ SQL, người dùng có thể tạo các hiểnthị khác nhau về cấu trúc cơ sở dữ liệu và cơ sở dữ liệu cho nhữngngười dùng khác nhau
Nhược điểm
C#
- Khi muốn xài IDE bạn cần phải trả phí sử dụng
- Chỉ đem lại hiệu quả tốt nhất trên Window
Trang 16- Lập trình Mobile cần phải thông qua trung gian Xamarin (có phí).
- Sử dụng Database tốt nhất với SQL Server
ASP.Net Framework
- NET Framework là một nền tảng lập trình và cũng là
một nền tảng thực thi ứng dụng chủ yếu trên hệ điềuhành Microsoft Windows được phát triển bởi Microsoft nênchỉ sử dụng để dùng trên nền tảng hệ điều hành Windows hạnchế sử dụng trên các nền tảng hệ điều hành khác
- Không thể chạy trên Linux
- Không có Visual Studio thì khó có thể viết code cho
ASP NET.
SQL Server
- Microsoft SQL Server chỉ được thiết kế để chạy trên các máy chủchạy trên Windows Ngoài việc không thể chạy trên các nền tảngkhông phải Windows, cũng có thể có các vấn đề tương thích liênquan đến tương tác với các ứng dụng đang chạy trên các nền tảngkhác
- Khả năng tương thích hạn chế
- Microsoft SQL Server cần thanh toán phí license để chạy nhiều
database
- Giao diện khó dùng
- SQL có giao diện phức tạp khiến một số người dùng khó truy cập.
- Không được toàn quyền kiểm soát : Các lập trình viên sử dụng SQL
không có toàn quyền kiểm soát cơ sở dữ liệu do các quy tắc nghiệp
vụ ẩn
- Thực thi : Hầu hết các chương trình cơ sở dữ liệu SQL đều có phần
mở rộng độc quyền riêng của nhà cung cấp bên cạnh các tiêu chuẩnSQL
- Giá cả : Chi phí vận hành của một số phiên bản SQL khiến một số
lập trình viên gặp khó khăn khi tiếp cận
- Trong những năm qua, SQL đã trở thành một trong những ngôn ngữ
Trang 17cơ sở dữ liệu được sử dụng rộng rãi nhất trên thế giới Nó đã trởthành một tiêu chuẩn cho Tổ chức Tiêu chuẩn hóa Quốc tế và ViệnStands Quốc gia Hoa Kỳ.
Chương 2: Phân tích và thiết kế cơ sở dữ liệu2.1 Biểu đồ diagram của nhà hàng
Trang 18Bàng bàn ăn
2.2.1 Dữ liệu bàn ăn
2.3 Bảng chi tiết hoá đơn
Stt Tên Kiểu dữ liệu Ràng buộc
2.3.1 Dữ liệu chi tiết hoá đơn
Stt Tên Kiểu dữ liệu Ràng buộc
1 MaBanAn Nchar(10) Not null
2 TenBanAN Nvarchar(50) Null
3 Trang Thai Nvarchar(50) Null
Trang 192.4 Bảng hoá đơn
Stt Tên Kiểu dữ liệu Ràng buộc
2 TenKH nvarchar(50) Null
2.5 Bảng loại món ăn
Stt Tên Kiểu dữ liệu Ràng buộc
1 MaLoaiMA Nchar(10) Not null
2 TenLoaiMA Nchar(10) Null
2.5.1 Dữ liệu loại món ăn