báo cáo chuyên đề thực tập xây dựng website thuê xe

49 0 0
báo cáo chuyên đề thực tập xây dựng website thuê xe

Đ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

Điều này cho phép các lập trình viên sử dụng các công cụ và thư viện chung để phát triển các ứng dụng cho nhiều nền tảng một cách dễ dàng.Ngoài ra, .NET Framework class library còn c

Trang 1

Thái Bình Phương Vin

BỘ GIÁO DỤC VÀ ĐÀO TẠOBỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG

KHOA

- -BÁO CÁO CHUYÊN ĐỀ THỰC TẬPXÂY DỰNG WEBSITE THUÊ XE

Sinh viên thực hiện:Mã số sinh viên:

2021

Tháng 12, năm 2023

Trang 2

TRƯỜNG ĐẠI HỌC

KHOA

- -BÁO CÁO CHUYÊN ĐỀ TỐT NGHIỆP

XÂY DỰNG WEBSITE THUÊ XE

Sinh viên thực hiện:Mã số sinh viên:

, tháng 12 năm 2023

Trang 3

LỜI CẢM ƠN1

MỞ ĐẦU2

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT4

1.1 Giới thiệu 4

1.2 Tổng quan về C#: 4

1.2.1 Môi trường lập trình: 4

1.2.2 Ngôn ngữ lập trình C#: 12

1.3 Tổng quan về hệ quản trị cơ sở dữ liệu SQL Server: 14

1.4 Lập trình C#.NET-Mô hình MVC trong ASP.NET MVC 21

1.4.1 Khái niệm mô hình MVC 21

1.4.2 Lựa chọn và áp dụng mô hình trong xây dựng ứng dụng 22

1.4.3 Các tính năng của nền tảng ASP.NET MVC 23

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG24 2.1 Xác định yêu cầu: 24

1.2.1 Yêu cầu chức năng 24

1.2.2 Yêu cầu phi chức năng 24

2.3 Phân tích yêu cầu 24

2.2 Sơ đồ usecase hệ thống: 29

2.3 Mô hình hóa chức năng 30

2.3.1 Biểu đồ phân rã chức năng (Bussiness Functional Diagram – BFD) 30

2.3.2 Biểu đồ dòng dữ liệu (Data Flow Diagram-DFD) 30

2.4 Thiết kế cơ sở dữ liệu 34

2.4.1 Bảng cơ sở dữ liệu vật lý 34

2.4.2 Bảng user 34

2.4.3 Bảng Role 34

2.4.4 Bảng Rental 35

Trang 4

2.4.5 Bảng Vehicle 35

2.4.6 Bảng Voucher 35

CHƯƠNG 3: XÂY DỰNG WEBSITE THUÊ XE TRỰC TUYẾN37 3.1 Trang chủ website 37

3.2 Giao diện đăng ký tài khoản 38

3.3 Giao diện đăng nhập tài khoản 38

3.4 Giao diện tìm kiếm sản phẩm 39

3.5 Giao diện xem chi tiết xe về thuê xe 40

3.6 Giao diện quản trị viên 41

3.7 Giao diện quản lý đơn thuê xe 41

3.8 Giao diện quản lý danh mục xe cho thuê 42

3.9 Giao diện quản lý người dùng 43

3.10 Giao diện quản lý chương trình khuyến mãi 43

CHƯƠNG 4: KẾT LUẬN 44

4.1 Kết quả đạt được 44

4.3 Hướng phát triển 44TÀI LIỆU THAM KHẢO 45

Trang 5

LỜI CẢM ƠN

Lời nói đầu tiên em xin chân thành cảm ơn đến toàn thể thầy cô trong Khoa , Trường , những người đã tận tình hướng dẫn, dạy dỗ cho emcác kiến thức bổ ích cho em trong môn

Trong quá trình thực hiện báo cáo này em đã nhận được sự giúp đỡ chỉ bảo tận tình của các thầy, cô giáo, nhóm em xin chân thành cảm ơn thầy đã hướng dẫn trong quá trình làm báo cáo Môn lập trình web nâng cao

Tuy nhiên, Với kiến thức được trao dồi qua các môn học mà thầy cô đã

tận tình chỉ dạy, em đã cố gắng hoàn thành thật tốt bài tập lớn của mình nhưng

do bản thân vẫn chưa hoàn toàn nắm vững kiến thức mà các thầy cô đã truyền dạy, thời gian thực hiện có hạn không tránh khỏi những thiếu sót Em rất mong nhận được sự thông cảm, những lời góp ý và chỉ bảo tận tình của quý Thầy Cô và các bạn.

Em xin chân thành cảm ơn!

Trang 6

MỞ ĐẦU1 Đặt vấn đề

Cùng với sự phát triển của các lĩnh vực, kinh tế, xã hội, nhu cầu ứng dụng của công nghệ thông tin ngày càng cao và không ngừng biến đổi khi hệ thống ngày càng phát triển, càng ngày càng phức tạp thì các phương thức quản lý cổ điển truyền thống sẽ trở nên cồng kềnh và khó có thể đáp ứng được yêu cầu ngày càng cao của hệ thống Để xử lý các thông tin một cách nhanh chóng, chính xác và có hiệu quả, đòi hỏi phải có sự hỗ trợ của một công cụ hiện đại, đó chính là công nghệ thông tin Công nghệ thông tin dần bước vào đời sống và giữ vai trò quan trọng trong đời sống của con người Các ứng dụng của công nghệ thông tin đã trở thành những công cụ đắc lực trong nghiên cứu và thực nghiệm Máy tính đã dần thay thế con người ở khá nhiều mặt và là người phụ tá hữu ích trên nhiều công việc khác nhau, giúp con người quản lý dễ dàng hơn các hệ thống từ đơn giản đến phức tạp

Ngày nay, phương tiện truyền thông đã trở thành một phần thiết yếu trong cuộc sống của mỗi chúng ta, đặc biệt là các thiết bị truyền thông phổ thông như điện thoại di động Cùng với sự phát triển rộng lớn của các mạng di động, điện thoại di động đã làm cho cuộc sống của chúng ta trở nên dễ dàng hơn trong việc trao đổi thông tin mọi lúc, mọi nơi.

Tại Việt Nam, với cuộc sống ngày càng hiện đại, nhu cầu trao đổi thông tin qua thiết bị di động ngày càng tăng Tận dụng được những cơ hội này, các doanh nghiệp Việt Nam không ngừng mở rộng hoạt động kinh doanh trên mọi lĩnh vực nhằm mong muốn đáp ứng nhu cầu của người tiêu dùng Công ty TNHH Thương Mại và Dịch Vụ kinh doanh cũng không phải là một ngoại lệ, với qui mô rộng lớn nhưng hoạt động bán hàng, marketing, quảng cáo… vẫn gặp phải những khó khăn nhất định: hoạt động kinh doanh hầu như dựa trên phương pháp thủ công, truyền thống là chủ yếu: khi khách hàng có nhu cầu mua sản phẩm thì trực tiếp đến công ty để liên hệ, chọn sản phẩm và thanh toán Qua đó cho ta thấy: cả doanh nghiệp và khách hàng phải mất một khoảng chi phí và thời gian nhất định đáng lẻ không nên có Doanh nghiệp phải tốn kém thời gian và chi phí cho việc quảng cáo, marketing, bán hàng nhưng lại không thu hút được đông đảo khách hàng Về phía khách hàng thì phải mất thời gian, chi phí đi lại mà đôi lúc không chọn được sản phẩm mình mong muốn.

Trang 7

Xuất phát từ nhu cầu trên, Em quyết định chọn đề tài “Xây dựng Website

thuê xe” nhằm giúp doanh nghiệp giảm thiểu chi phí, quảng bá hình ảnh, sản

phẩm doanh nghiệp mình trên mạng Internet Bên cạnh đó, Website còn hỗ trợ khách hàng trong việc đăng ký, đặt hàng qua Website, cập nhật thông tin về những sản phẩm hiện có và sắp ra mắt trên thị trường một cách nhanh nhất và đem lại sự hài lòng cao nhất từ phía khách hàng.

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

Xây dựng “Website thuê xe” giúp dễ dàng trong hoạt động quản lý thông tin và quản trị liên quan đến hoạt động cho thuê xe trang mạng được hoạt động tiện ích và nhanh chóng.

3 Mục tiêu của đề tài

- Tìm hiểu một số công cụ và ngôn ngữ hỗ trợ quá trình xây dựng Website.

- Các chức năng của Website thuê xe trực tuyến - Quy trình xây dựng Website thuê xe trực tuyến.

- Một số kỹ thuật trong áp dụng trong việc xây dựng Website thuê xe trực tuyến.

- Xây dựng Demo Website thuê xe giao diện thân thiện với người dùng và dễ quản lý vận hành.

4 Bố cục của đề tài

Chương 1: Cơ sở lý thuyết

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

Chương 3: Xây dựng Website thuê xe trực tuyến

Chương 4: Kết luận

Trang 8

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT1.1 Giới thiệu

Phần mềm hoạt động trên nền tảng môi trường lập trình với ngôn ngữ lập trình C#, hệ cơ sở dữ liệu SQL Server

+ Cấu trúc xây dựng Website thuê xe theo mô hình MVC.

1.2 Tổng quan về C#:

1.2.1 Môi trường lập trình:

.NET Framework của Microsoft là một nền tảng lập trình tập hợp các thư viện lập trình có thể được cài thêm hoặc đã có sẵn trong các hệ điều hành Windows Nó cung cấp những giải pháp thiết yếu cho những yêu cầu thông thường của các chương trình điện toán như lập trình giao diện người dùng, truy cập dữ liệu, kết nối cơ sở dữ liệu, ứng dụng web, các giải thuật số học và giao tiếp mạng Ngoài ra, NET Framework quản lý việc thực thi các chương trình được viết dựa trên NET Framework do đó người dùng cần phải cài Framework để có thể chạy các chương trình được viết trên nền NET.

Chẳng hạn, để thiết kế một trò chơi đua xe, nếu không có bộ Framework chuyên dụng cho game, người lập trình game phải tự tạo ra khung xe, bánh xe, người, đường đi, cây, biển báo rồi mới tính đến chuyện lắp ghép chúng lại với nhau để tạo ra không gian cho game trong khi cũng với dạng trò chơi này, nhưng nếu dùng bộ Framework có sẵn đã được phát triển thì người lập trình viên chỉ cần viết các lệnh để lấy chúng ra từ Framework và ghép chúng lại.

Không phải mọi ngôn ngữ lập trình đều khai thác được Framework, muốn sử dụng các vật liệu trong bộ Framework, đòi hỏi người lập trình viên phải dùng các ngôn ngữ lập trình có hỗ trợ NET như VB.NET, C#.NET, ASP.NET Framework có 2 thành phần chính là:

1 Common Language Runtime (CLR)

Trang 9

CLR là thành phần kết nối giữa các phần khác trong NET Framework với hệ điều hành CLR là chương trình viết bằng NET, không được biên dịch ra mã máy mà nó được dịch ra một ngôn ngữ trung gian Microsoft Intermediate Language (MSIL) Khi chạy chương trình, CLR sẽ dịch MSIL ra mã máy để thực thi các tính năng, đảm bảo ứng dụng không chiếm dụng và sử dụng tràn lan tài nguyên của hệ thống Nó cũng không cho phép các lệnh nguy hiểm được thi hành Các chức năng này được thực thi bởi các thành phần bên trong CLR như Class loader, Just In Time compiler, Garbage collector, Exception handler, COM marshaller, Security engine, …

Trong các phiên bản hệ điều hành Windows mới như XP.Net và Windows 2003, CLR được gắn kèm với hệ điều hành Điều này đảm bảo ứng dụng viết ra trên máy tính của bạn sẽ chạy trên các máy tính khác mà không cần cài đặt.

Trang 10

2 NET Framework class library

.NET Framework class library cung cấp thư viện lập trình để xây dựng các ứng dụng trên nhiều nền tảng khác nhau, bao gồm cả Windows, Web và thiết bị di động Điều này cho phép các lập trình viên sử dụng các công cụ và thư viện chung để phát triển các ứng dụng cho nhiều nền tảng một cách dễ dàng.

Ngoài ra, NET Framework class library còn cung cấp các công cụ và thư viện cho việc xử lý đa luồng, bao gồm cả các lớp Thread và ThreadPool để quản lý các luồng trong ứng dụng Các lớp và công cụ này giúp cho việc phát triển các ứng dụng đa luồng trở nên dễ dàng hơn và hiệu quả hơn.

.NET Framework class library cũng cung cấp nhiều công cụ và lớp để xử lý các tác vụ liên quan đến bảo mật, bao gồm cả các lớp Cryptography và các công cụ để xử lý các chuỗi ký tự và mã hóa.

Tổng quan lại, NET Framework class library là một bộ thư viện rất đầy đủ và mạnh mẽ, cung cấp cho các lập trình viên nhiều công cụ và thư viện để xây dựng các ứng dụng trên nhiều nền tảng khác nhau Các lớp và công cụ trong thư viện này giúp cho việc phát triển các ứng dụng trở nên dễ dàng hơn và hiệu quả hơn, giúp cho các lập trình viên tiết kiệm thời gian và công sức trong quá trình phát triển ứng dụng.

+ Base class library – thư viện các lớp cơ sở

Base class library là một trong những thư viện quan trọng nhất trong NET Framework class library Nó chứa các lớp cơ bản và các thành phần cần thiết để phát triển các ứng dụng NET Framework Các lớp trong thư viện này được sử dụng rộng rãi trong quá trình lập trình, và cung cấp các tính năng cơ bản như xử lý chuỗi, số, ngày tháng và xử lý ngoại lệ.

Các lớp trong Base class library bao gồm các lớp chuỗi, số, ngày tháng, thời gian, ngoại lệ, và nhiều lớp khác Ví dụ lớp String cung cấp các phương thức và thuộc tính để xử lý chuỗi, lớp Integer cung cấp các phương thức và

Trang 11

thuộc tính để xử lý số nguyên, và lớp Exception cung cấp các phương thức và thuộc tính để xử lý ngoại lệ.

Các lớp trong Base class library cũng cung cấp các tính năng cơ bản như xử lý tệp, quản lý bộ nhớ, và xử lý đa luồng Ngoài ra, các lớp trong thư viện này cũng cung cấp các tính năng liên quan đến bảo mật, bao gồm các lớp mã hóa và giải mã, và các lớp đối tượng xác thực và ủy quyền.

Tóm lại, Base class library là một phần quan trọng của NET Framework class library, cung cấp các lớp cơ bản và các tính năng cần thiết để phát triển các ứng dụng NET Framework Các lớp trong thư viện này được sử dụng rộng rãi trong quá trình lập trình và cung cấp các tính năng cơ bản như xử lý chuỗi, số, ngày tháng và xử lý ngoại lệ.

+ ADO.NET và XLM

ADO.NET và XML là hai thư viện quan trọng trong NET Framework class library, được sử dụng để xử lý dữ liệu trong các ứng dụng NET.

ADO.NET là một bộ thư viện được sử dụng để thao tác với các cơ sở dữ liệu thông thường, bao gồm cả Microsoft SQL Server, Oracle và MySQL ADO.NET cung cấp các lớp đối tượng để kết nối và truy vấn cơ sở dữ liệu, bao gồm các lớp SQLConnection, SQLCommand và SQLDataReader Nó cũng cung cấp các lớp để thao tác với dữ liệu dưới dạng bảng như DataSet và DataTable.

XML là một định dạng dữ liệu phổ biến trong các ứng dụng web và di động .NET Framework class library cung cấp các lớp đối tượng để xử lý dữ liệu XML, bao gồm các lớp XmlReader và XmlWriter để đọc và ghi dữ liệu XML, cùng với các lớp XmlDocument và XmlElement để xử lý các tài liệu XML.

Các lớp và công cụ trong ADO.NET và XML giúp cho việc xử lý dữ liệu trong các ứng dụng NET Ví dụ, SQLDataAdapter và SQLCommand giúp cho việc truy vấn cơ sở dữ liệu trở nên đơn giản và nhanh chóng hơn, trong khi DataSet và DataTable giúp cho việc thao tác với dữ liệu dưới dạng bảng trở nên

Trang 12

dễ dàng hơn Các lớp đối tượng XML cũng giúp cho việc xử lý dữ liệu XML trở nên đơn giản và nhanh chóng hơn.

Tóm lại, ADO.NET và XML là hai bộ thư viện quan trọng trong NET Framework class library, được sử dụng để xử lý dữ liệu trong các ứng dụng NET Các lớp và công cụ trong ADO.NET và XML giúp cho việc xử lý dữ liệu trở nên dễ dàng hơn và hiệu quả hơn, và là một phần quan trọng trong quá trình phát triển các ứng dụng NET.

+ ASP.NET

Ứng dụng Web xây dựng bằng ASP.NET tận dụng được toàn bộ khả năng của NET Framework Bên cạnh đó là một phong cách lập trình mới mà Microsoft đặt cho nó một tên gọi là code behind Đây là cách mà lập trình viên xây dựng các ứng dụng Windows based thường sử dụng – giao diện và lệnh được tách tiêng Tuy nhiên, nếu bạn đã từng quen với việc lập trình ứng dụng web, đây là việc mà bạn giải phóng khỏi các lệnh HTML.

Sự xuất hiện của ASP.NET làm cân xứng giữa quá trình xây dựng ứng dụng trên Windows và Web ASP.Net cung cấp một bộ các Server Control để lập trình viên bắt sự kiện và xử lý dữ liệu của ứng dụng như đang làm việc với ứng dụng của Windows Nó cũng cho phép bạn chuyển một ứng dụng trước đây viết chỉ chạy trên Windows thành một ứng dụng Web khá dễ dàng Ví dụ cho các lớp trong thư viện này là WebControl, HTML Control, …

ASP.NET là một trong những phần quan trọng nhất của NET Framework class library, được sử dụng để phát triển ứng dụng web trên nền tảng NET Nó cung cấp các công cụ và lớp để phát triển các ứng dụng web, bao gồm các lớp để xử lý yêu cầu HTTP, các lớp để tạo giao diện người dùng, và các lớp để truy cập cơ sở dữ liệu.

ASP.NET có nhiều ưu điểm so với các công nghệ phát triển ứng dụng web khác Đầu tiên, nó cung cấp một phong cách lập trình mới gọi là code-behind, cho phép lập trình viên tách phần giao diện người dùng và phần xử lý logic của

Trang 13

ứng dụng Điều này giúp tăng tính bảo mật và quản lý mã nguồn trong quá trình phát triển ứng dụng.

Thứ hai, ASP.NET cung cấp các Server Control để lập trình viên bắt sự kiện và xử lý dữ liệu của ứng dụng, giúp cho việc phát triển ứng dụng web trên nền tảng NET trở nên dễ dàng hơn và hiệu quả hơn Nó cũng cho phép lập trình viên chuyển đổi các ứng dụng trước đây chỉ chạy trên Windows thành các ứng dụng web một cách dễ dàng Các Server Control cung cấp cho lập trình viên các tính năng tương tự như các ứng dụng Windows, bao gồm các tính năng như nhập liệu, kiểm tra dữ liệu, và phân trang.

Thứ ba, ASP.NET cung cấp tính năng caching để tăng tốc độ xử lý yêu cầu và giảm tải cho máy chủ Caching cho phép lưu trữ các trang web hoặc phần của trang web trong bộ nhớ cache của máy chủ, giảm thời gian phản hồi cho các yêu cầu tương tự.

Các lớp trong ASP.NET bao gồm các lớp WebControl, HTML Control, và nhiều lớp khác Ví dụ, lớp WebControl cung cấp các phương thức và thuộc tính để tạo và quản lý các Server Control trên một trang web, trong khi lớp HTML Control cung cấp các phương thức và thuộc tính để tạo và quản lý các phần tử HTML trên một trang web.

Tóm lại, ASP.NET là một phần quan trọng của NET Framework class

library, cung cấp các công cụ và lớp để phát triển các ứng dụng web trên nền tảng NET Các lớp trong thư viện này giúp cho việc phát triển ứng dụng web trở nên dễ dàng hơn và hiệu quả hơn, và cho phép lập trình viên chuyển đổi các ứng dụng trước đây chỉ chạy trên Windows thành các ứng dụng web một cách dễ dàng ASP.NET cũng có nhiều tính năng tiên tiến, bao gồm code-behind, Server Control, và caching, giúp tăng tính bảo mật, quản lý mã nguồn và tăng tốc độ xử lý yêu cầu và giảm tải cho máy chủ.

+ Web services

Trang 14

Web services là các dịch vụ được cung cấp qua Web (hay Internet) Dịch vụ được coi là Web service không nhằm vào người dùng mà nhằm vào người xây dựng phần mềm Web services có thể dùng để cung cấp các dữ liệu hay một chức năng tính toán.

Web services là một công nghệ rất phổ biến trong việc phát triển các ứng dụng web và phần mềm Các dịch vụ Web service đang trở nên ngày càng phổ biến vì chúng giúp cho việc tích hợp các ứng dụng và hệ thống trở nên dễ dàng hơn.

Các dịch vụ Web service được thiết kế để cung cấp các chức năng hoặc dữ liệu thông qua mạng Internet Điều này có nghĩa là các ứng dụng và hệ thống có thể kết nối và tương tác với nhau bằng cách sử dụng các giao thức và chuẩn Web service như SOAP, REST, XML và JSON.

Một trong những ưu điểm của các dịch vụ Web service là tính độc lập với ngôn ngữ lập trình Nó có thể được sử dụng trong các ứng dụng được phát triển bằng bất kỳ ngôn ngữ lập trình nào, miễn là các ứng dụng này có khả năng giao tiếp với các giao thức và chuẩn Web service.

Các dịch vụ Web service có thể được sử dụng để cung cấp các dịch vụ như xử lý thanh toán, xử lý giao dịch và truy xuất dữ liệu từ cơ sở dữ liệu Chúng cũng có thể được sử dụng để cung cấp các chức năng tính toán phức tạp như việc tính toán khoảng cách giữa hai địa điểm dựa trên các tọa độ địa lý.

Các dịch vụ Web service được sử dụng rộng rãi trong các ứng dụng điện toán đám mây và các hệ thống phân tán Chúng cũng được sử dụng trong các ứng dụng di động và IoT, nơi các thiết bị có thể truy cập và tương tác với các dịch vụ Web service trên Internet.

Tóm lại, các dịch vụ Web service là các dịch vụ được cung cấp qua mạng Internet và được sử dụng để cung cấp các chức năng hoặc dữ liệu cho các ứng dụng và hệ thống khác Chúng có tính độc lập với ngôn ngữ lập trình và được sử

Trang 15

dụng rộng rãi trong các ứng dụng điện toán đám mây, các hệ thống phân tán, ứng dụng di động và IoT.

+ Windows form

Bộ thư viện về Windows form gồm các lớp đối tượng dành cho việc xây dựng các ứng dụng Windows based Việc xây dựng ứng dụng loại này vẫn được hỗ trợ tốt từ trước đến nay bởi các công cụ và ngôn ngữ lập trình của Microsoft Giờ đây, ứng dụng chỉ chạy trên Windows sẽ có thể làm việc với ứng dụng Web dựa vào Web service

Windows Forms là một phần quan trọng của .NET Framework class library, được sử dụng để phát triển các ứng dụng Windows-based Nó cung cấp các lớp đối tượng để xây dựng giao diện người dùng, xử lý sự kiện và tương tác với hệ thống Windows.

Các lớp đối tượng trong Windows Forms bao gồm các lớp như Form, UserControl, Button, Label, TextBox, ComboBox, ListBox, DataGridView và nhiều lớp khác Các lớp này cung cấp các phương thức và thuộc tính để tạo và quản lý các thành phần giao diện người dùng trên một ứng dụng Windows-based.

Việc xây dựng các ứng dụng Windows-based vẫn được hỗ trợ tốt từ trước đến nay bởi các công cụ và ngôn ngữ lập trình của Microsoft như C# và Visual Basic Tuy nhiên, hiện nay, các ứng dụng Windows-based có thể kết nối và tương tác với các ứng dụng web thông qua Web service như đã đề cập trước đó.

Điều này có nghĩa là các ứng dụng Windows-based có thể sử dụng các dịch vụ Web service để truy xuất dữ liệu từ các nguồn khác nhau trên Internet hoặc để cung cấp các chức năng của ứng dụng cho các ứng dụng web khác.

Tóm lại, bộ thư viện Windows Forms cung cấp các lớp đối tượng để xây dựng các ứng dụng Windows-based Việc xây dựng các ứng dụng này vẫn được hỗ trợ tốt bởi các công cụ và ngôn ngữ lập trình của Microsoft Tuy nhiên, hiện

Trang 16

nay, các ứng dụng này có thể kết nối và tương tác với các ứng dụng web thông qua Web service, mở ra những cơ hội mới cho việc phát triển các ứng dụng tương tác giữa Windows-based và Web-based.

1.2.2 Ngôn ngữ lập trình C#:

Ngôn ngữ C# khá đơn giản, khoảng 80 từ khóa và khoảng hơn mười kiểu dữ liệu được soạn sẵn C# có ý nghĩa cao khi nó thực thi những khái niệm lập trình hiện đại C# bao gồm tất cả những gì hỗ trợ cho cấu trúc, thành phần component, lập trình hướng đối tượng Những tính chất đó hiện diện trong một ngôn ngữ lập trình hiện đại C# được xây dựng trên 2 nền tảng ngôn ngữ mạnh nhất là C++ và Java.

C# được phát triển bởi đội ngũ kỹ sư của Microsoft, trong đó người dẫn đầu là Anders Hejlsberg và Scott Wiltamuth Phần cốt lõi của các ngôn ngữ lập trình hướng đối tượng là sự hỗ trợ của nó cho việc định nghĩa và làm việc cho những lớp Những lớp thì định nghĩa những kiểu dữ liệu mới, cho phép người phát triển mở rộng ngôn ngữ để tạo mô hình tốt hơn giải quyết vấn đề Ngôn ngữ C# chứa những từ khóa cho việc khai báo những kiểu lớp đối tượng mới và những phương thức hay thuộc tính của lớp, và cho việc thực thi đóng gói, kế thừa, đa hình, ba thuộc tính cơ bản của ngôn ngữ lập trình hướng đối tượng.

Trong ngôn ngữ C# mọi thứ liên quan đến khai báo đều được tìm thấy trong phần khai báo của nó Định nghĩa một lớp của C# không đòi hỏi phải chia ra tập tin header và tập tin nguồn giống như ngôn ngữ C++ Ngôn ngữ C# hỗ trợ kiểu XML, cho phép chèn các tag XML để phát sinh tự động các document cho lớp.

C# cũng hỗ trợ giao diện Interface, nó được xem như một cam kết với một lớp cho những dịch vụ mà giao diện quy định Trong ngôn ngữ C#, một lớp chỉ có thể kế thừa duy nhất từ một lớp cha, tức là không cho đa kế thừa như trong ngôn ngữ C++, tuy nhiên một lớp có thể thực thi nhiều giao diện.

Trang 17

Trong ngôn ngữ C#, những cấu trúc được hỗ trợ, nhưng khái niệm về ngữ nghĩa của nó thay đổi khác với C++ Trong C#, một cấu trúc được giói hạn, là kiểu dữ liệu nhỏ gọn và khi tạo thể hiện thì nó yêu cầu ít hơn về hệ điều hành và bộ nhớ so với một lớp Một cấu trúc thì không thể được kế thừa từ một lớp Metadata mô tả cho một lớp, bao gồm những phương thức và những thuộc tính của nó, cũng như những sự bảo mật cần thiết và những thuộc tính khác Mã nguồn chứa đựng những logic cần thiết để thực hiện những chức năng của nó Do vậy, một lớp được biên dịch như là một khối self-contained, nên môi trường hosting biết được cách đọc Matadata của một lớp và mã nguồn cần thiết mà không cần những thông tin khác để sử dụng nó.

Ngôn ngữ này hỗ trợ việc truy cập bộ nhớ trực tiếp sử dụng kiểu con trỏ của C++ và từ khóa cho dấu ngoặc trong toán tử Các mã nguồn này là không an toàn Và bộ giải phóng bộ nhớ tự động của CLR sẽ không thực hiện việc giải phóng những đối tượng tham chiếu bằng sử dụng con trỏ cho đến khi chúng được giải phóng.

Ưu điểm của ngôn ngữ C#:

+ Ngôn ngữ đơn giản + Ngôn ngữ hiện đại.

+ Ngôn ngữ hướng đối tượng + Ngôn ngữ mạnh mẽ và mềm dẻo + Ngôn ngữ có ít từ khóa.

+ Ngôn ngữ hướng module + Ngôn ngữ phổ biến.

Trang 18

1.3 Tổng quan về hệ quản trị cơ sở dữ liệu SQL Server:

Phiên bản đầu tiên của Microsoft SQL Server ra đời đầu tiên vào năm 1989 cho các hệ điều hành chạy 16 bít với SQL Server phiên bản 1.0 và tiếp tục phát triển cho tới ngày nay.

SQL Server của Microsoft được thị trường chấp nhận rộng rãi kể từ version 6.5 Sau đó Microsoft đã cải tiến và hầu như viết lại một engine mới cho SQL Server 7.0 Cho nên có thể nói từ version 6.5 lên version 7.0 là một bước nhảy vọt Có một số đặc tính của SQL Server 7.0 không tương thích với version 6.5 Trong khi đó từ Version 7.0 lên version 8.0 (SQL Server 2000) thì những cải tiến chủ yếu là mở rộng các tính năng về web và làm cho SQL Server 2000 đáng tin cậy hơn.

Một điểm đặc biệt đáng lưu ý ở phiên bản 2000 là Multiple-Instance Tức là bạn có thể cài dặt phiên bản 2000 chung với các phiên bản trước mà không cần phải gỡ chúng Nghĩa là bạn có thể chạy song song version 6.5 hoặc 7.0 với phiên bản 2000 trên cùng một máy (điều này không thể xảy ra với các phiên bản trước đây) Khi đó phiên bản cũ trên máy bạn là Default Instance còn phiên bản 2000 mới vừa cài sẽ là Named Instance.

Từ tháng 10 năm 2016, các phiên bản sau được Microsoft hỗ trợ:

Trang 19

SQL Server 2022 chỉ hỗ trợ cho các bộ vi xử lý 64 bít bao gồm AMD Opteron, AMD Athlon 64, Intel Xeon với hỗ trợ Intel EM64T và Intel Pentium IV với hỗ trợ EM64T + Tốc độ CPU: Yêu cầu tối thiểu là 1.4 GHz (mức tối ưu là 2.0 GHz hoặc nhanh hơn)

SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (Relational Database

Management System (RDBMS) sử dụng câu lệnh SQL (Transact-SQL) để trao

đổi dữ liệu giữa máy Client và máy cài SQL Server Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS.

SQL Server được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn (Very Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngàn user SQL Server có thể kết hợp “ăn ý” với các server khác như Microsoft Internet Information Server (IIS)…

Một vài ấn bản SQL Server:

+ Enterprise: là phiên bản SQL Server có tính năng cao nhất và được thiết

kế để đáp ứng nhu cầu của các doanh nghiệp lớn và khó tính Nó cung cấp các tính năng nâng cao như AlwaysOn Availability Groups, chế độ xem bản ghi và mã hóa dữ liệu trong khi lưu trữ Nó cũng cung cấp các công cụ quản lý phức tạp để giúp quản trị viên quản lý các cơ sở dữ liệu lớn và phức tạp.

Các tính năng AlwaysOn Availability Groups của Enterprise cho phép các cơ sở dữ liệu được sao chép và đồng bộ hóa, đảm bảo tính khả dụng và khả năng phục hồi nhanh chóng của các cơ sở dữ liệu quan trọng Nó cũng cung cấp chế độ xem bản ghi để đảm bảo tính toàn vẹn của dữ liệu và mã hóa dữ liệu trong khi lưu trữ để bảo vệ dữ liệu quan trọng khỏi các cuộc tấn công từ bên ngoài.

Ngoài ra, Enterprise còn hỗ trợ tới 640 bộ vi xử lý, cho phép nó xử lý các tác vụ phức tạp và đa nhiệm một cách hiệu quả Nó cũng có thể quản lý các CSDL lớn tới 524 petabytes và đánh địa chỉ 12 terabytes bộ nhớ, đảm bảo khả

Trang 20

Tóm lại, Enterprise là phiên bản SQL Server có tính năng cao nhất và được thiết kế để đáp ứng nhu cầu của các doanh nghiệp lớn và khó tính Nó cung cấp các tính năng nâng cao như AlwaysOn Availability Groups, chế độ xem bản ghi và mã hóa dữ liệu trong khi lưu trữ, cùng với các công cụ quản lý phức tạp để giúp quản trị viên quản lý các cơ sở dữ liệu lớn và phức tạp.

+ Standard: Standard là phiên bản SQL Server phù hợp cho các doanh

nghiệp vừa và nhỏ, với mức giá rẻ hơn nhiều so với Enterprise Edition Tuy nhiên, nó có một số giới hạn về tính năng so với Enterprise, nhưng vẫn cung cấp đầy đủ các tính năng cơ bản để quản lý các cơ sở dữ liệu.

Standard có thể chạy trên hệ thống lên đến 4 bộ vi xử lý và 2 GB RAM, điều này thích hợp cho các ứng dụng có quy mô nhỏ và độ phức tạp thấp Nó cũng hỗ trợ các tính năng như AlwaysOn Availability Groups và giám sát hiệu suất, giúp quản trị viên quản lý các cơ sở dữ liệu một cách hiệu quả.

Tuy nhiên, Standard bị giới hạn một số chức năng cao cấp như Partitioning và Transparent Data Encryption, những tính năng này chỉ có sẵn trong Enterprise Nếu doanh nghiệp có nhu cầu sử dụng các tính năng cao cấp này, họ cần phải nâng cấp lên phiên bản Enterprise.

Tóm lại, Standard là phiên bản SQL Server phù hợp cho các doanh nghiệp vừa và nhỏ, với mức giá rẻ hơn nhiều so với Enterprise Edition và cung cấp đầy đủ các tính năng cơ bản để quản lý các cơ sở dữ liệu Mặc dù bị giới hạn một số chức năng cao cấp, nó vẫn có thể đáp ứng nhu cầu của các ứng dụng có quy mô nhỏ và độ phức tạp thấp

+ Developer: SQL Server Developer Edition là một phiên bản của SQL

Server được thiết kế đặc biệt để phục vụ cho mục đích phát triển và kiểm tra ứng dụng Nó bao gồm đầy đủ các tính năng của SQL Server Enterprise Edition, nhưng được giới hạn số lượng người kết nối vào server cùng một lúc.

SQL Server Developer Edition thường được sử dụng bởi các nhà phát triển và các tổ chức để xây dựng và kiểm tra ứng dụng trước khi triển khai chúng trên

Trang 21

các phiên bản cao cấp hơn của SQL Server Nó cũng cho phép các nhà phát triển phát triển và thử nghiệm các tính năng mới của SQL Server trước khi chúng được triển khai trên các phiên bản cao cấp hơn.

SQL Server Developer Edition cũng có giá thành thấp hơn so với các phiên bản cao cấp hơn của SQL Server, nhưng vẫn cung cấp đầy đủ các tính năng của SQL Server để đảm bảo khả năng phát triển và kiểm tra ứng dụng một cách hiệu quả.

Tóm lại, SQL Server Developer Edition là một phiên bản của SQL Server được thiết kế đặc biệt để phục vụ cho mục đích phát triển và kiểm tra ứng dụng Nó bao gồm đầy đủ các tính năng của SQL Server Enterprise Edition, nhưng được giới hạn số lượng người kết nối vào server cùng một lúc và có giá thành thấp hơn để phù hợp với các nhu cầu của các nhà phát triển và tổ chức.

+ Workgroup: SQL Server Workgroup là một phiên bản SQL Server đã bị

loại bỏ kể từ SQL Server 2012 Nó đã được thay thế bằng phiên bản SQL Server Standard, với giá thành tương đương nhưng cung cấp nhiều tính năng hơn.

Tuy nhiên, trước khi bị loại bỏ, SQL Server Workgroup là một phiên bản SQL Server phù hợp cho các doanh nghiệp nhỏ với mức giá rẻ hơn so với các phiên bản cao cấp hơn Nó cung cấp các tính năng cơ bản của SQL Server như quản lý cơ sở dữ liệu, xử lý dữ liệu và bảo mật dữ liệu.

Tuy nhiên, một điểm khác biệt của SQL Server Workgroup so với các phiên bản cao cấp hơn là nó không bao gồm các dịch vụ đi kèm, chẳng hạn như SQL Server Reporting Services và SQL Server Analysis Services Do đó, nó thường được sử dụng cho các ứng dụng đơn giản và không yêu cầu các tính năng phức tạp.

Tóm lại, SQL Server Workgroup đã bị loại bỏ kể từ SQL Server 2012 và đã được thay thế bằng phiên bản SQL Server Standard Trước khi bị loại bỏ, nó là một phiên bản SQL Server phù hợp cho các doanh nghiệp nhỏ với mức giá rẻ

Trang 22

hơn, nhưng không bao gồm các dịch vụ đi kèm và chỉ cung cấp các tính năng cơ bản của SQL Server.

+ 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 SQL Server Express là phiên bản miễn phí, không giới hạn về số cơ ở dữ liệu hoặc người sử dụng, nhưng nó chỉ dùng cho 1 bộ vi xử lý với 1 GB bộ nhớ và 10 GB file cơ sở dữ liệu SQL Server Express là lựa chọn tốt cho những người dùng chỉ cần một phiên bản SQL Server 2005 nhỏ gọn, dùng trên máy chủ có cấu hình thấp, những nhà phát triển ứng dụng không chuyên hay những người yêu thích xây dựng các ứng dụng nhỏ.

SQL Server cấu tạo bởi nhiều thành phần như Database Engine, Reporting Services, Notification Services, Integration Services, Full Text Search Service… Các thành phần này khi phối hợp với nhau tạo thành một giải pháp hoàn chỉnh giúp cho việc lưu trữ và phân tích dữ liệu một cách dễ dàng.

Database Engine

Trang 23

Database Engine là trái tim của SQL Server và là nơi lưu trữ và quản lý dữ liệu Nó có khả năng chứa dữ liệu trong các bảng và hỗ trợ tất cả các kiểu kết nối thông dụng của Microsoft như ADO, OLE DB và ODBC.

Ngoài ra, Database Engine còn có khả năng tự điều chỉnh (tune up) để tối ưu hóa hiệu suất và sử dụng tài nguyên hiệu quả hơn Ví dụ, nó có thể sử dụng thêm tài nguyên (resource) của máy tính khi cần thiết và trả lại tài nguyên cho hệ điều hành khi một người dùng đăng xuất hoặc kết thúc phiên làm việc.

Database Engine cũng cung cấp các tính năng bảo mật, bao gồm kiểm soát truy cập, mã hóa dữ liệu và đăng nhập an toàn, để bảo vệ dữ liệu của doanh nghiệp khỏi các mối đe dọa bên ngoài.

Tóm lại, Database Engine là trái tim của SQL Server và có khả năng chứa dữ liệu trong các bảng và hỗ trợ tất cả các kiểu kết nối thông dụng của Microsoft Nó còn có khả năng tự điều chỉnh để tối ưu hóa hiệu suất và sử dụng tài nguyên hiệu quả hơn, cùng với các tính năng bảo mật để bảo vệ dữ liệu của doanh nghiệp.

Replication

+ Cơ chế tạo bản sao (Replica):

+ Giả sử bạn có một database dùng để chứa dữ liệu được các ứng dụng thường xuyên cập nhật Một ngày đẹp trời bạn muốn có một cái database giống y hệt như thế trên một server khác để chạy báo cáo (report database) (cách làm này thường dùng để tránh ảnh hưởng đến performance của server chính) Vấn đề là report server của bạn cũng cần phải được cập nhật thường xuyên để đảm bảo tính chính xác của các báo cáo Bạn không thể dùng cơ chế back up and restore trong trường hợp này Thế thì bạn phải làm sao? Lúc đó cơ chế replication của SQL Server sẽ được sử dụng để bảo đảm cho dữ liệu ở 2 database được đồng bộ (synchronized) Replication sẽ được bàn kỹ trong bài 12

Integration Services (DTS)

Trang 24

+ Integration Services là một tập hợp các công cụ đồ họa và các đối tượng lập trình cho việc di chuyển, sao chép và chuyển đổi dữ liệu.

+ Nếu bạn làm việc trong một công ty lớn trong đó data được chứa trong nhiều nơi khác nhau và ở các dạng khác nhau cụ thể như chứa trong Oracle, DB2 (của IBM), SQL Server, Microsoft Access….Bạn chắc chắn sẽ có nhu cầu di chuyển data giữa các server này (migrate hay transfer) và không chỉ di chuyển bạn còn muốn định dạng (format) nó trước khi lưu vào database khác, khi đó bạn sẽ thấy DTS giúp bạn giải quyết công việc trên dễ dàng.

Analysis Services

+ Một dịch vụ phân tích dữ liệu rất hay của Microsoft

+ Dữ liệu (Data) chứa trong database sẽ chẳng có ý nghĩa gì nhiều nếu như bạn không thể lấy được những thông tin (Information) bổ ích từ đó Do đó Microsoft cung cấp cho bạn một công cụ rất mạnh giúp cho việc phân tích dữ liệu trở nên dễ dàng và hiệu quả bằng cách dùng khái niệm hình khối nhiều chiều (multi-dimension cubes) và kỹ thuật “khai phá dữ liệu” (data mining).

Notification Services

+ Dịch vụ thông báo Notification Services là nền tảng cho sự phát triển và triển khai các ứng dụng tạo và gửi thông báo Notification Services có thể gửi thông báo theo địch thời đến hàng ngàn người đăng ký sử dụng nhiều loại thiết bị khác nhau.

Reporting Services

+ Reporting Services bao gồm các thành phần server và client cho việc tạo, quản lý và triển khai các báo cáo Reporting Services cũng là nền tảng cho việc phát triển và xây dựng các ứng dụng báo cáo.

Full Text Search Service

+ Dịch vụ SQL Server Full Text Search là một dịch vụ đặc biệt cho đánh chỉ mục và truy vấn cho dữ liệu văn bản không cấu trúc được lưu trữ trong các

Ngày đăng: 27/04/2024, 16:26

Tài liệu cùng người dùng

Tài liệu liên quan