ngôn ngữ lập trình – cơ sở dữ liệu
Giới thiệu về Microsoft NET
Microsoft C# là một ngôn ngữ lập trình đơn giản, hiện đại, mục đích tổng quát, hướng đối tượng được phát triển Microsoft và được phê chuẩn bởi European Computer Manufacturers Association (ACMA) và International Standards Organization (ISO).
Microsoft C# được thiết kế cho Common Language Infrastructure (CLI), mà gồm
Executable 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.
₋ Microsoft C# là ngôn ngữ lập trình chuyên nghiệp được sử dụng rộng rãi.
₋ Microsoft C# kế thừa từ các ngôn ngữa C++, và JAVA.
₋ Nó là ngôn ngữ lập trình hiện đại, mục đích tổng quát.
Microsoft C# là ngôn ngữ hướng đối tượng, dễ dàng để học nó là một phần của Net Framework.
Cơ sở dữ liệu
Cơ sở dữ liệu: là tập hợp các bảng dữ liệu có quan hệ với nhau sao cho cấu trúc của chúng như các mối quan hệ bên trong giữa chúng ta là tách biệt với chương trình ứng dụng bên ngoài, đồng thời nhiều người dùng khác nhau cũng như nhiều ứng dụng khác nhau có thể cùng khai thác và chia sẽ một cách chọn lọc nhất. Thực thể là một hình ảnh cụ thể của một đối tượng trong hệ thống tin quản lý, một thực thể xác định tên và các thuộc tính. Thuộc tính là một yếu tố dữ liệu hoặc thông tin của dữ liệu ấy.
Lớp thục thể: là các thực thể cùng thuộc tính.
Lược đồ quan hệ: Tập hợp thuộc tính một quan hệ, lượt đồ quan hệ gồm các thuộc tính của thực thể cùng các mệnh đề ràng buộc.
Quan hệ cơ sở dữ liệu:
Cơ sở dữ liệu quan hệ là cơ sở dữ liệu và các quan hệ đó được tổ chức thành các thực thể Mỗi thể hiện của một thực thể là bộ các giá trị tương ứng với các thuộc tính của các thực thể đó. xii
Hệ quản trị cơ sở dữ liệu:
Hệ quản trị cơ sở dữ liệu là các chương trình có thể xử lý, thay đổi dữ liệu.
Hệ quản trị cơ sở dữ liệu (DBMS):
Hệ quản trị cơ sở dữ liệu (Database Management System - DBMS) là phần mềm hay hệ thống được thiết kế để quản trị một cơ sở dữ liệu Cụ thể, các chương trình thuộc loại nay hỗ trợ khả năng lưu trữ, sửa, xóa và tìm kiếm thông tin trong cơ sở dữ liệu (CSDL) Có rất nhiều loại hệ quản trị CSDL khác nhau từ phần mềm nhỏ chạy trên máy tính cá nhân cho đến những hệ quản trọ phức tạp chạy trên một hoặc nhiều siêu máy tính.
Ưu điểm và nhược điểm của hệ quản trị cơ sở dữ liệu: Ưu điểm:
Quản lý được dữ liệu dư thừa.
Đảm bảo tính nhất quán cho dữ liệu.
Tạo khả năng chia sẽ dữ liệu nhiều hơn.
Cải tiến tính toàn vẹn dữ liệu.
Hệ quản trị cơ sở dữ liệu khá phức tạp.
Hệ quản trị cơ sở dữ liệu tốt thường chiếm nhiều dung lượng bộ nhớ.
Hệ quản trị cơ sở dữ liệu được viết tổng quát cho nhiều người sử dùng thường thì bị chậm.
Phần mềm lập trình
2.3.1 Giới thiệu về SQL Server 2019
SQL Server 2019 là bộ phận quản lý cơ sở dữ liệu, được xây dựng dựa trên khái niệm trí tuệ nhân tạo nhằm tạo điều kiện thuận lợi, cải tiến dịch vụ cơ sở dữ liệu, bảo mật và giảm bớt các khó khăn gặp phải khi phát triển các ứng dụng và lưu trữ dữ liệu SQL Server 2019 được tích hợp với Cloud, điều này đồng nghĩa các tổ chức có thể hưởng lợi từ tính năng bảo mật cao, vừa đồng bộ được dữ liệu trên nhiều máy tính và các thiết bị hiện đại khác SQL Server 2019 tạo ra nền tảng dữ liệu hợp nhất đi kèm với Hệ thống tệp phân tán Apache Spark và Hadoop (HDFS) để trở nên thông minh hơn với tất cả dữ liệu. xiii
Microsoft đưa SQL Server 2019 ra thị trường dưới các phiên bản và các dạng cấp phép để phù hợp với cách khách hàng đang triển khai các ứng dụng và giải pháp:
Express Edition: Xây dựng cơ sở dữ liệu cho các ứng dụng di động và web quy mô nhỏ, kích thước dữ liệu lên tới 10 GB với cơ sở dữ liệu entry-level.
Standard Edition: Nhắm đến các tổ chức vừa và nhỏ Cũng hỗ trợ thương mại điện tử và lưu trữ dữ liệu.
Enterprise Edition: Được thiết kế cho các doanh nghiệp lớn với các yêu cầu dữ liệu phức tạp, kho dữ liệu và cơ sở dữ liệu hỗ trợ Web.
Ba phiên bản chính được cung cấp một cách nhất quán, mô hình theo từng cấp mà tạo ra sự nhất quán hơn trên phiên bản tính năng và cấp phép Enterprise Edition bao gồm tất cả các tính năng sản phẩm có sẵn trong SQL Server 2019 với hiệu năng cao, và Standard Edition bao gồm đầy đủ tính năng với Big Data Cluster.
Ngoài các phiên bản trên, Microsoft cũng có 2 phiên bản SQL Server khác, gồm:
SQL Server 2019 Web: Phiên bản web này là tùy chọn chi phí thấp cho các máy chủ lưu trữ web và VAP Web để cung cấp khả năng mở rộng, chi phí thấp và khả năng quản trị cho các web quy mô nhỏ tới lớn.
SQL Server 2019 Developer: Phiên bản dành cho các lập trình viên xây dựng mọi loại ứng dụng trên SQL Server Nó gồm tất cả các tính năng của bản Enterprise Tuy nhiên bản quyền chỉ sử dụng cho hệ thống dev/test, không phải máy chủ cho sản phẩm Phiên bản SQl Server 2019 Developer hoàn toàn miễn phí Tải miễn phí SQL Server 2019 Developer
SQL Server 2019 cung cấp cho khách hàng một loạt các tùy chọn cấp phép phù hợp với cách thức khách hàng thường mua khối lượng công việc cụ thể Có hai mô hình cấp phép chính áp dụng cho SQL Server:
Server + CAL: Cung cấp các tùy chọn để cấp phép cho người sử dụng và hoặc thiết bị, với truy cập chi phí thấp để triển khai gia tăng SQL Server. xiv
Mỗi máy chủ chạy phần mềm SQL Server yêu cầu một giấy phép máy chủ.
Mỗi người sử dụng và/hoặc thiết bị truy cập vào một SQL Server cấp phép yêu cầu
Một SQL Server CAL đó là phiên bản tương tự hoặc mới hơn.
Mỗi SQL Server CAL cho phép truy cập vào nhiều máy chủ SQL được cấp phép, bao gồm Standard Edition
Mỗi Core: Cung cấp cho khách hàng một thước đo chính xác hơn về sức mạnh tính toán và số liệu cấp phép phù hợp hơn, cho dù giải pháp này được triển khai trên các máy chủ vật lý tại chỗ, hoặc trong ảo hay điện toán đám mây.
Không thể để đếm số người/thiết bị, khối lượng công việc có Internet/Extranet hoặc các hệ thống tích hợp với khối lượng công việc phải đối mặt với bên ngoài.
Cấp phép một máy chủ vật lý, khách hàng phải cấp phép cho tất cả các lõi trong máy chủ Xác định số lượng các giấy phép cần thiết được thực hiện bằng cách nhân tổng số nhân vật lý bởi các yếu tố cốt lõi thích hợp được tìm thấy trong các bảng yếu tố cốt lõi Một tối thiểu là
2 giấy phép lõi là cần thiết cho mỗi bộ xử lý vật lý trên máy chủ.
Visual studio là (IDE – Integrated Development Environment) một phần mềm hỗ trợ đắc lực công việc lập trình Công cụ này được tạo lên và thuộc quyền sở hữu của ông lớn công nghệ Microsoft Năm 1997, phần mềm lập trình nay có tên mã Project Boston Nhưng sau đó, Microsoft đã kết hợp các công cụ phát triển, đóng gói thành sản phẩm duy nhất
Visual Studio là hệ thống tập hợp tất cả những gì liên quan tới phát triển ứng dụng, bao gồm trình chỉnh sửa mã, trình thiết kế, gỡ lỗi Tức là, bạn có thể viết code, sửa lỗi, chỉnh sửa thiết kế ứng dụng dễ dàng chỉ với 1 phần mềm Visual Studio Không dừng lại ở đó, người dùng còn có thể thiết kế giao diện, trải nghiệm xv trong Visual Studio như khi phát triển ứng dụng Xamarin, UWP bằng XAML hay Blend.
Phần mềm Visual studio được chia thành 2 phiên bản Visual Studio Enterprise và Visual Studio Professional, các phiên bản cao cấp có tính phí này được sử dụng nhiều bởi các công ty chuyên về lập trình Bên cạnh đó, Microsoft cũng cho ra mắt phiên bản Community (phiên bản miễn phí) của gói phần mềm, cung cấp cho người dùng những tính năng cơ bản nhất, phù hợp với các đối tượng lập trình không chuyên, mới tiếp cận tìm hiểu về công nghệ (đối tượng nghiên cứu, nhà phát triển cá nhân, hỗ trợ dự án mỡ, các tổ chức phi doanh nghiệp dưới 5 người dùng).
Tính đến thời điểm hiện tại, Visual Studio đã trải qua nhiều thời kì phát triển và đã phát hành những bản Visual Studio như Visual Studio 2005, VS 2008, VS
2010, VS 2012, VS 2013, VS 2015, VS 2019, VS 2022 Và phiên bản mới nhất của Visual Studio là phiên bản Visual Studio 2022 đang trong bản xem trước phát hành vào tháng 11 năm 2021 Với mỗi phiên bản phát hình có nhiều công nghệ và tính năng mới mẽ được tích hợp.
Visual Studio có những điểm mạnh sau đây:
Hỗ trợ lập trình trên nhiều ngôn ngữ như C/C++, C#, F#, Visual Basic, HTML, CSS, JavaScript , Python.
NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU
Khảo sát và thu thập thông tin
Mô tả các loại phân quyền người dùng:
Quản lý người dùng được chia thành bốn đối tượng chính: đó là quản trị người dùng (admin), đọc giả.
₋ Quản trị người dùng (admin): có quyền thêm mới hay xoá người dùng truy cập, các sản phẩm, loại sản phẩm và đơn hàng.
₋ Khách hàng: Khách hàng tạo mới giỏ hàng, thêm, xóa sản phẩm trong giỏ hàng, tạo mới tài khoản.
3.1.2 Mô tả yêu cầu nghiệp vụ chức năng
Khi khách hàng có nhu cầu tạo tài khoản để mua hàng thì khách hàng có thể tạo tài khoản mới và nhập những thông tin cần thiết để dễ dàng mua hàng cho những lần sau.
Sau khi khách hàng chọn và tìm ra món hàng mình ưng ý thì khách hàng có thể thêm chúng vào giỏ hàng của mình
Sau khi khách hàng thêm sản phẩm vào giỏ hàng, khách có thể vào giỏ hàng để kiểm tra chi tiết những sản phẩm mình đã chọn
Sau khi kiểm tra giỏ hàng, khách hàng sẽ kiểm tra thông tin cá nhân của mình (Họ tên, Số điện thoại, Địa chỉ giao hàng…) một lần nữa để xác nhận thông tin của mình và đặt hàng
Cập nhật thông tin đơn hàng (admin):
Trong qua trình đang xử lý đơn hàng, admin sẽ cập nhật cho khách hàng quá trình của đơn hàng (Chờ xác nhận, Đang giao hàng, Đã giao hàng, Thành công, Hủy đơn hàng)
Cập nhật thông tin đơn hàng (khách hàng): xix
Trong quá trình chờ xác nhận đơn hàng, nếu có những lí do cần hủy đơn hàng(cần mua thêm sản phẩm, bỏ bớt sản phẩm không cần thiết, không muốn mua hàng nữa…) thì khách hàng có thể chọn “Cancel” để hủy đơn hàng.
Các thực thể
- Diễn giải: thực thể User có các thuộc tính
+ userMobileNum: Số điện thoại của user
- Khóa thực thể: bookID, categoryID
- Diễn giải: thực thể Book có các thuộc tính
+ categoryID: Mã thể loại sách
+ publishedDate: Ngày xuất bản sách
+ ratingCount: Số lương đánh giá
+ averageRaing: Trung bình đánh giá
+ pageCount: Số trang của sách
Hình 2: Thực thể Book xx
+ imageLink: Link kết nối hình ảnh
- Diễn giải: thực thể Voucher có các thuộc tính
+ voucherID: Mã của mã giảm giá
+ name: Tên của mã giảm giá
+ discountValue: Giá trị giảm giá
+ ExpiryDate: Ngày hết hạn giảm giá
+ Describe: Mô tả mã giảm giá
- Diễn giải: thực thể Category có các thuộc tính
+ CategoryID: Mã thể loại sách
+ Name: tên thể loại sách
- Diễn giải: thực thể Order có các thuộc tính
Hình 5: Thực thể Order xxi
+ paymentMetod: Phương thức thanh toán
+ cretedTime: Ngày tạo đơn hàng
+ voucherUser: Mã giảm giá của user
- Diễn giải: thực thể Address có các thuộc tính
- Khóa thực thể: oderID, itemID
- Diễn giải: thực thể OrderItem có các thuộc tính
+ itemQuantity: Số lượng sản phẩm
- Khóa thực thể: userID, bookID
- Diễn giải: thực thể Cart có các thuộc xxii tính
- Tên thực thể: User_Voucher
- Khóa thực thể: userID, voucherID
- Diễn giải: thực thể User_Voucher có các thuộc tính
Hình 9: Thực thể User_Voucher
Các mối kết hợp và bảng số
3.3.1 Mối kết hợp Order - User
Hình 10: Mối kết hợp Order - User
- Các thực thể tham gia: Order, User
- Khóa của mối kết hợp: orderID, userID
- Diễn giải: Một Order chỉ thuộc riêng một User nào đó, một User có thể có một hay nhiều Order.
3.3.2 Mối kết hợp Book – Category
- Các thực thể tham gia: Book, Category
- Khóa của thực thể: bookID, categoryID xxiii
- Diễn giải: Một Book chỉ thuộc riêng một Category nào đó, một Category có thể có một hay nhiều Book
Hình 11: Mối kết hợp Product - Category
Mô hình vật lý
3.4.1 Mô hình dữ liệu vật lý (PDM) xxiv
Sơ đồ 1: Sơ đồ dữ liệu vật lý
3.4.2 Cơ sở dữ liệu vật lý
Cơ sở dữ liệu bảng 1: User
STT Tên Kiểu Kích thước
2 userName Varchar 100 X Tên của user
3 email Varchar 50 Email của user
4 DateOfBirth Date Ngày sinh nhật
5 userMobileNum Int Số điện thoại user
Cơ sở dữ liệu bảng 2: Cart
STT Tên Kiểu Kích thước
Cơ sở dữ liệu bảng 3: Book
STT Tên Kiểu Kích thước
2 categoryID Interger X X Mã loại sản phẩm
3 Title Nvarchar 200 X Tiêu đề sách
4 Describe Varchar 100 Miêu tả sách
5 Language Varchar 20 X Ngôn ngữ sách
6 publishDate Date X Ngày xuất bản
7 Raiting count Interger X Số lượng đánh giá
8 averageRaiting Interger X Trung bình đánh giá
9 pageCount Interger X Tổng số trang
11 ImageLink Varchar X Link hình ảnh
Cơ sở dữ liệu bảng 4: Voucher
STT Tên Kiểu Kích thước
3 discountValue Interger X Giá trị giảm giá
4 expiryDate Datetime X Ngày bắt đầu
5 Describe Interger X Mô tả voucher xxvi
Cơ sở dữ liệu bảng 5: Order
STT Tên Kiểu Kích thước
1 orderID Interger X X Mã khách hàng
2 UserID Interger 50 X X Tên tài khoản
3 Total Interger X Tổng đơn hàng
5 Paymentmethod Varchar 100 Phương thức thanh toán
6 createdTime Date Ngày tạo đơn hàng
7 endTime Date Ngày kết thúc
8 VoucherUser Nvarchar Voucher của user
Cơ sở dữ liệu bảng 6: Category
STT Tên Kiểu Kích thước
1 userID Interger X X Mã loại sản phẩm
2 BookID Interger X X Tên loại sản phẩm
Cơ sở dữ liệu bảng 7: OrderItem
STT Tên Kiểu Kích thước
1 OrderID Interger X X Mã hóa đơn
2 ItemID Interger X X X Mã sản phẩm
3 ItemName Varchar 200 X X Tên sản phẩm
4 ItemPirce Interger X Giá giảm phẩm xxvii
5 ItemQuantity Interger X Số lượng sản phẩm
6 ItemTotal Tổng số lượng sản phẩm
Cơ sở dữ liệu bảng 10: Address
STT Tên Kiểu Kích thước
Cơ sở dữ liệu bảng 10: User_Voucher
STT Tên Kiểu Kích thước
Kết quả đạt được
3.5.1 Lưu đồ hệ thống xxviii
Sơ đồ 2: Lưu đồ hệ thống (Admin)
3.5.2 Các giao diện website (Đối tượng Khách hàng)
3.5.3 Các giao diện website (Đối tượng Admin) xxix
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
1 Thuận lợi và khó khăn trong thời gian thực hiện đồ án
2 Kết quả chưa đạt được