CƠ SỞ LÝ THUYẾT
Hệ quản trị cơ sở dữ liệu MySQL
MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng Vì MySQL là hệ quản trị cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet Người dùng có thể tải về MySQL miễn phí từ trang chủ MySQL có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS,
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL).
MySQL được sử dụng cho việc bổ trợ NodeJs, PHP, Perl, và nhiều ngôn ngữ khác, làm nơi lưu trữ những thông tin trên các trang web viết bằng NodeJs, PHP hay Perl….
Database là tập hợp dữ liệu theo cùng một cấu trúc Hãy thử nghĩ về việc chụp hình tự sướng: bạn nhấn nút chụp ảnh về chính bản thân bạn Hình ảnh là dữ liệu, thư viện lưu ảnh là cơ sở dữ liệu Cơ sở dữ liệu, hay database, là nơi chứa và sắp đặt dữ liệu.
Dữ liệu được đặt trong một bộ dữ liệu chung, dataset, được tổ chức sắp xếp giống như một bảng tính vậy Mỗi “bảng” này có liên hệ với nhau theo cách nào đó Vì vậy từ Relational (liên hệ) trong RDBMS có ý nghĩa như vậy Nếu phần mềm không hỗ trợ mô hình dữ liệu quan hệ với nhau như vậy thì gọi là DBMS.
Open source dịch là mã nguồn mở, có nghĩa là ai cũng có thể dùng và chỉnh sửa nó. Bất kỳ ai cũng có thể cài đặt phần mềmn ày Bạn cũng có thể học cách tùy chỉnh phần mềm theo nhu cầu của bạn Tuy nhiên, giấy phép GPL (GNU Public License) quyết định bạn có thể làm gì tùy vào điều kiện nhất định Phiên bản thương mại cũng được xuất bản nếu bạn cần thêm chủ quyền linh hoạt và hỗ trợ cao cấp.
Máy tính cài đặt và chạy phần mềm RDBMS được gọi là client (máy khách) Mỗi khi chúng cần truy cập dữ liệu, chúng kết nối tới máy chủ (server) RDBMS Cách thức này chính là mô hình “client-server”.
MySQL Server là máy tính hay một hệ các máy tính cài đặt phần mềm MySQL dành cho server để giúp bạn lưu trữ dữ liệu trên đó, để máy khách có thể truy cập vào quản lý Dữ liệu này được đặt trong các bảng, và các bảng có mối liên hệ với nhau. MySQL server nhanh, an toàn, đáng tin cậy Phần mềm MySQL cũng miễn phí và được phát triển, phân phối và hỗ trợ bởi Oracle Corporation.
MySQL client không hẵn phải cài phần mềm MySQL của Oracle mà là nói chung của mọi phần mềm có thể thực hiện truy vấn lên một MySQL server và nhận kết quả trả về MySQL client điển hình là đoạn mã PHP script trên một máy tính hay trên cùng server dùng để kết nối tới cơ sở dữ liệu MySQL database Phpmyadmin cũng là một MySQL client có giao diện người dùng Một số công cụ miễn phí dùng làm MySQL là:
MySQL Workbench (Mac, Windows, Linux), Miễn phí, mã nguồn mở
Sequel Pro (Mac), miễn phí, mã nguồn mở
HeidiSQL (Windows; chạy trên Mac hoặc Linux bằng WINE emulator), miễn phí phpMyAdmin (web app), miễn phí, mã nguồn mở
MySQL và SQL không giống nhau Hãy nhớ, MySQL là một trong các phần mềm RDBMS, hoạt động theo mô hình client-server Nhưng, làm thế nào clietn và server liên lạc với nhau trong môi trường của RDBMS? Chúng sử dụng ngôn ngữ truy vấn có cấu trúc chung – Structured Query Language (SQL) Nếu bắt gặp một thương hiệu nào đó có SQL kèm theo, như PostgreSQL, Microsoft SQL server, chúng thường là những thương hiệu sử dụng syntax của SQL RDBMS software lại được viết bằng ngôn ngữ lập trình, nhưng luôn sử dụng SQL làm ngôn ngữ chính để tương tác với database Bản thân MySQL được viết bằng C và C++ Hãy tưởng tượng các nước Nam
Mỹ, chúng có vị trí địa lý và lịch sử khác nhau, nhưng đều nói tiếng Tây Ban Nha. Nhà khoa học máy tính Ted Codd tạo ra SQL vào đầu thập niên 1970s với IBM theo mô hình liên hệ Nó được sử dụng rộng khắp vào năm 1974 và nhanh chóng thay thế các ngôn ngữ lỗi thời khác như ISAM và VISAM SQL nói server phải làm gì với dữ liệu Giống khi bạn nhập mật khẩu để đăng nhập vào trang quản lý của WordPress, trong trường hợp này, lệnh SQL sẽ nói cho server biết cần phải thực hiện một số hành động:
Truy vấn dữ liệu – data query: yêu cầu một thông tin cụ thể trong database có sẵn. Điều hành dữ liệu – data manipulation: thêm, xóa, sửa, sắp xếp, và các tác vụ điều hành khác để chỉnh sửa dữ liệu, giá trị, và cách hiển thị.
Loại dữ liệu – data identity: định nghĩa loại dữ liệu, như là đổi từ dữ liệu số thành số nguyên Nó cũng bao gồm định nghĩa một schema hoặc định nghĩa mối quan hệ của từng bảng trong cơ sở dữ liệu
Quyền truy cập data – data access control: cung cấp biện pháp bảo mật để bảo vệ dữ liệu, bao gồm việc quyết định ai có thể xem thông tin dữ liệu nào trong database
Hình ảnh trên giải thích cấu trúc cơ bản về việc giao tiếp giữa client-server model. Một máy client sẽ liên lạc với máy server trong một mạng nhất định Mỗi client có thể gửi một request từ giao diện người dùng (Graphical user interface – GUI) trên màn hình, và server sẽ trả về kết quả như mong muốn Miễn là cả hai hiểu nhau Cách vận hành chính trong môi trường MySQL cũng như vậy:
MySQL tạo ra bảng để lưu trữ dữ liệu, định nghĩa sự liên quan giữa các bảng đó.
Ngôn ngữ lập trình
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 C# là ngôn ngữ lập trình hiện đại, hướng đối tượng và đượ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ế chủ yếu bởi Anders Hejlsberg kiến trúc sư phần mềm nổi tiếng với các sản phẩm Turbo Pascal, Delphi, J++, WFC Phiên bản gần đây nhất là 9.0,được phát hành vào năm 2020 cùng với Visual Studio 2019 phiên bản 16.8
2.2.1.2 Đặc điểm của ngôn ngữ
C#, theo một hướng nào đó, là ngôn ngữ lập trình phản ánh trực tiếp nhất đến NET Framework mà tất cả các chương trình.NET chạy, và nó phụ thuộc mạnh mẽ vào framework này Mọi dữ liệu cơ sở đều là đối tượng, được cấp phát và hủy bỏ bởi trình dọn rác Garbage-Collector (GC), và nhiều kiểu trừu tượng khác chẳng hạn như class, delegate, interface, exception phản ánh rõ ràng những đặc trưng của.NET runtime.
So sánh với C và C++, ngôn ngữ này bị giới hạn và được nâng cao ở một vài đặc điểm nào đó, nhưng không bao gồm các giới hạn sau đây:
Các con trỏ chỉ có thể được sử dụng trong chế độ không an toàn Hầu hết các đối tượng được tham chiếu an toàn, và các phép tính đều được kiểm tra tràn bộ đệm Các con trỏ chỉ được sử dụng để gọi các loại kiểu giá trị; còn những đối tượng thuộc bộ gom rác (garbage-collector) thì chỉ được gọi bằng cách tham chiếu.
Các đối tượng không thể được giải phóng tường minh.
Chỉ có đơn kế thừa, nhưng có thể cài đặt nhiều interface trừu tượng (abstract interfaces) Chức năng này làm đơn giản hóa sự thực thi của thời gian thực thi.
- C# thì an-toàn-kiểu (typesafe) hơn C++.
2.2.1.3 Đặc trưng của ngôn ngữ C#
C# là ngôn ngữ đơn giản, mạnh mẽ
C# được dựng trên nền tảng C++ và Java, ảnh hưởng bởi Delphi, VisualBasic nên ngôn ngữ C# được thừa hưởng các ưu điểm vào loại bỏ các yếu điểm của các ngôn ngữ trên, vì vậy nó khá đơn giản, đồng thời loại bỏ các cú pháp dư thừa và thêm vào đó các cú pháp cải tiến hơn
C# là ngôn ngữ lâp trình bậc cao, đa nền tảng vì vậy nó dễ dàng tiếp cận và phù hợp cho người mới bắt đầu học, ví dụ câu lệnh kinh điển dành cho người mới bắt đầu học là in ra dòng chữ "Hello world", với C# ta chỉ cần 1 câu lệnh: System.Console.WriteLine("Hello world");
C# là ngôn ngữ đa năng và hiện đại
C# phù hợp cho việc phát triển trong thời đại 4.0, bao gồm việc phát triển web, mobile app, game, học máy và trí tuệ nhân tạo, phát triển đám mây, IoT, blockchain, microservices
C# là một ngôn ngữ lập trình hướng đối tượng đồng thời hỗ trợ lâp trình chức năng C# hỗ trợ mạnh mẽ cho phương pháp lâp trình hướng đối tượng, ngoài ra C# còn hỗ trợ các phương pháp lập trình chức năng thông qua các biểu thức lamba, khớp mẫu, functions, các thuộc tính bất biến.
C# là ngôn ngữ gõ tĩnh, định kiểu mạnh, hỗ trợ gõ động.
C# được gõ tĩnh nên nó mang đầy đủ các ưu việt của phương pháp gõ tĩnh như bảo đảm an toàn kiểu, tự động phân tích và nhận biết lỗi cú pháp ngay trong quá trình viết mã
Ngoài ra khi sử dụng C# kết hợp với IDE Visual Studio, C# được hỗ trợ gợi ý code bởi Visual Studio Intelli Code sử dụng trí tuệ nhân tạo giúp cho việc viết code trở nên nhanh chóng và dễ dàng hơn
C# là một ngôn ngữ ít từ khóa
C# có khoảng hơn 80 từ khóa
C# là một trong các ngôn ngữ lập trình phổ biến và phát triển nhất
Theo TIOBE Index, tính đến tháng 10/2020, C# là ngôn ngữ phổ biến thứ 5 thế giới.
Theo PYPL, tính đến tháng 10/2020, C# là ngôn ngữ được cộng đồng quan tâm và chia sẻ nhiều thứ 4 thế giới.
Theo [./Https://github.com/ Github] (Kho lưu trữ mã nguồn lớn nhất thế giới), tính đến tháng 10/2020, C# là ngôn ngữ hoạt động nhiều thứ 4.
Cộng đồng phát triển và số người theo học ngôn ngữ C# tăng khônng ngừng theo mỗi năm Theo ước tính 10/2020, cộng đồng phát triển C# là hơn 6 triệu người
C# kết hợp chặt chẽ với nền tảng.NET một khung nền tảng được đầu tư rất mạnh của Microsoft.
Ngoài ra C# còn có những ưu điểm:
C# là ngôn ngữ lập trình mã nguồn mở,vì vậy C# là miễn phí với tất cả mọi người,đồng thời mọi người đều có thể cùng tham gia phát triển, đề xuất thiết kế ngôn ngữ C#
C# là ngôn ngữ đa nền tảng vì vậy có thể biên dịch trên nhiều nền tảng máy tính khác nhau (Windows, Linux, MacOS)
C# có hiệu suất cao và tốc độ thực thi nhanh do sử dụng trình biên dich trung gian , điểm cộng nữa là tốc độ phát triển phần mềm nhanh chóng so với đa số các ngôn ngữ hiện tại.
C# có IDE Visual Studio cùng nhiều plug-in vô cùng mạnh mẽ ngoài ra có thể viết C# bằng bất kỳ text editor nào khác như Visual Studio Code, Vim, Netbeam
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, song cũng được bổ sung các yếu tố mang tính hiện đại nên dễ dàng tiếp cận cho người mới học và học nhanh với C#.
C# có cộng đồng nhà phát triển vô cùng lớn mạnh.
Framework
.NET Core là một framework được Microsoft phát triển Đây là một nền tảng phát triển đa mục đích .Net Core là nền tảng chéo (hỗ trợ Windows, macOS và Linux) và có thể được sử dụng để xây dựng các ứng dụng thiết bị, đám mây và IoT.
.NET Core hỗ trợ các ngôn ngữ như: C # và F # (và C ++ / CLI kể từ 3.1; chỉ được bật trên Windows) và nó còn hỗ trợ một phần của Visual Basic NET.
- C#: Là loại ngôn ngữ lập trình phát triển theo hướng đối tượng và mục đích.
- F#: Là loại ngôn ngữ lập trình cho chức năng đa nền tảng, mã nguồn mở Nó cũng thường bao gồm lập trình cho hướng đối tượng và mệnh lệnh.
Visual Basic: Là ngôn ngữ lập trình có cú pháp đơn giản giúp xây dựng cho các ứng dụng hướng tới đối tượng an toàn.
Những công cụ (gọi tắt là IDE) để lập trình với NET core:
Các phiên bản Net Core được ra đời từ năm 2016 đã phát triển rất đều đặn và nhận được những sự tiếp đón từ phía cộng đồng lập trình viên Trong đó bản được đánh giá là ổn định và được ưa chuộng nhất chính là 3.1.2.
2.3.1.3 .NET Core ra đời trong hoàn cảnh nào?
ASP.NET đã xuất hiện cách đây 15 năm trước Nó là một phần của NET Framework Nó đã có hàng triệu lập trình viên đã sử dụng để xây dựng những ứng dụng web Và Microsoft đã phát triển thêm nhiều tính năng mới qua từng năm.
Hình 2.4 Lịch sử ra đời của NET Core
ASP.NET Core có một số thay đổi lớn Từ việc học hỏi các framework module hóa khác ASP.NET Core không còn dựa trên System.Web.dll nữa Mà được dựa trên một tập hợp các gói, các module hay cũng được gọi là các Nuget packages.
PHÂN TÍCH HỆ THỐNG
Đặc tả yêu cầu phần mềm (Software Requirements)
Phần liệt kê Actor-Usecase lấy nội dung từ phần Liệt kê User-Chức năng ở chương
1 (lưu ý sử dụng multilevel list)
- Hỗ trợ tính năng “Lọc” dựa trên kết quả tìm kiếm
Kế thừa các use-case “Xem thông tin”, “Tìm kiếm”, “Lọc” từ Khách vãng lai
- Đăng bài theo format đã có sẵn
- Tạo 1 danh mục bài đăng mới (Khi đăng bài nếu không có danh mục nào phù hợp với món đồ cần đăng)
3.1.2.4 Quản lý bài đã đăng
- Xem danh sách các bài đã đăng
- Xem trạng thái bài đăng
3.1.2.5 Quản lý thông tin cá nhân
- Lưu những bài đăng mà user muốn lưu để dễ tìm kiếm hơn so với tìm trên trang Home
- User có thể chat với admin hoặc những user khác để dễ dàng trao đổi trong việc tìm món đồ mình mất hoặc nhặt được
Kế thừa các use-case của Người nhặt được đồ
- Xem danh sách bài đăng
3.1.4.2 Quản lý tài khoản người dùng
- Ẩn tài khoản của user
- Cho phép xem danh sách comment của các bài đăng
- Cho phép delete những comment không hợp lệ
- Thống kê số lượng bài đăng qua từng tháng
- Thống kê số lượng user qua từng tháng
- Thống kê số bài đăng chờ duyệt
3.1.4.6 Cộng điểm hoạt động đoàn
- Xuất file excel gửi cho đoàn trường
- Xem chi tiết bài đăng của user
- Có thể duyệt bài hoặc từ chối nếu bài đăng không đúng format hoặc không đầy đủ thông tin
- Lưu những bài đăng mà user muốn lưu để dễ tìm kiếm hơn so với tìm trên trang Home
- User có thể chat với admin hoặc những user khác để dễ dàng trao đổi trong việc tìm món đồ mình mất hoặc nhặt được
Đặc tả chức năng
Cho phép người dùng đã có tài khoản trong hệ thống hoặc Admin đăng nhập vào hệ thống để sử dụng các chức năng yêu cầu quyền, đối với người dùng sau khi đăng nhập thành công sẽ load lại trang chủ và có những chức năng của người dùng, đối với Admin sẽ vào trang quản lý admin.
Người dùng tạo tài khoản đăng nhập vào website bằng mã sinh viên của bản thân để có thể đăng bài và trao đổi với người đăng bài với các chứng năng như đăng bài, chat… Đối với Admin tạo tài khoản đăng nhập vào website để quản lý bài đăng và thống kê
3.2.3 Quản lý tài khoản cá nhân
- Đối với Admin sau khi duyệt bài thì bài đăng sẽ tự động post lên page Home
- Đối với user sẽ đăng bài theo form mặc định và đợi Admin duyệt
- Cho phép người dùng chỉnh sửa thông tin bài đăng
- Cho phép người dùng xem thông tin bài đăng
- Cho phép người dùng xoá bài đăng mà mình đã đăng trên website
Cho phép người dùng chat qua lại với nhau hoặc người dùng chat qua lại với admin
3.2.6 Quản lý bài đăng Đối với User được xem danh sách bài đăng, bài đăng chi tiết, update, delete bài đăng đó. Đối với Admin thì có quyền đổi trạng thái bài đăng, xem danh sách bài đăng, bài đăng chi tiết, update và delete bài đăng đó.
Cho phép Admin được thay đổi trạng thái bài đăng, sau khi người đăng bài đã xác nhận hoàn thành giao dịch hoặc kết thúc cuộc trò chuyện nhưng không bắt buộc.
Cho phép người dùng tìm kiếm thông tin sản phẩm mình muốn, và lọc theo danh mục cố định
Xem danh sách bài đăng, chi tiết bài đăng
3.2.10 Cộng điểm HĐĐ cho SV nhặt đc đồ
Cho phép admin thống kê các bài đăng có trạng thái đã xong và tổng kết số lần theo quy định đặt ra để cộng điểm cho SV nhặt được đồ theo mã SV mà sv đó đã đăng ký tài khoản vào website quản lý đoàn hội.
- Cho phép Admin quyền disable tài khoản user đăng bài ảo, spam, và có những cmt mang tính chất gây war, phá hoại, công kích, không đúng theo luật
- Cho phép Admin xem thông tin User đăng bài, user cmt trên website
- Cho phép Admin tạo mới danh mục trên website trong quá trình hoạt động để phù hợp với người dùng
- Cho phép Admin edit danh mục trên website trong quá trình hoạt động để phù hợp với người dùng
- Cho phép Admin dừng hoạt động danh mục đó trên website
- Cho phép Admin xoá danh mục trên website trong quá trình hoạt động để phù hợp với người dùng
3.2.13 Thống kê số lượg bài đăng/ trạng thái bài đăng/user
Cho phép Admin thống kê số lượng bài đăng, trạng thái bài đăng và user hiện có trên website để hỗ trợ cho quá trình tổng kết hay cộng điểm cho SV.
Sơ đồ usecase
Hình 3.6 Sơ đồ hoạt động của usecase quản lý tài khoản
Hình 3.7 Sơ đồ hoạt động của usecase trạng thái
Hình 3.8 Sơ đồ hoạt động của usecase chat
Hình 3.9 Sơ đồ hoạt động của usecase quản lý bài đăng
Hình 3.10 Sơ đồ hoạt động của usecase tìm kiếm
Hình 3.11 Sơ đồ hoạt động của usecase quản lý user
Hình 3.12 Sơ đồ hoạt động của usecase đăng bài
THIẾT KẾ FORM, BẢNG, CƠ SỞ DỮ LIỆU
Thiết kế form, ràng buộc dữ liệu
Hình 4.13 Giao diện quản lý bài đăng
Dữ liệu được lưu vào bảng Bài đăng
Tên trường Kiểu dữ liệu Mô tả Ràng buộc id Int ID bài đăng Khóa chính
Title Longtext Tiêu đề bài đăng
PostCategoryId Int Danh mục bài đăng
DateTime Datetime Ngày mất/nhặt
AddressContact Longtext Địa chỉ liên hệ
PhonenumberContact Longtext SĐT liên hệ
TypePost Int Loại bài đăng
UserID Int Người mất/nhặt
Censorld Int Người duyệt bài
Created Datetime Ngày đăng bài
Modified Datetime Thời gian sửa
PostStatus Int Trạng thái bài đăng
Description Longtext Mô tả bài đăng
Hình 4.14 Giao diện quản lý người dùng
Dữ liệu được lưu vào bảng Người dung
Tên trường Kiểu dữ liệu Mô tả Ràng buộc
Id Int ID người dùng Khoá chính
Name Longtext Tên người dùng
MSV Longtext Mã sinh viên
Password Longtext Mật khẩu người dùng
Gmail Longtext Gmail người dùng
Avatar Longtext Avatar người dùng
Created Datetime Thời gian tạo
Modified Datetime Thời gian sửa
PhoneNumber Longtext SĐT người dùng
FullName Longtext Tên đầy đủ
Hình 4.15 Giao diện Quản lý Danh mục
Dữ liệu được lưu vào bảng Danh mục
Tên trường Kiểu dữ liệu Mô tả Ràng buộc
Id Int ID danh mục Khoá chính
CategoryName Longtext Tên danh mục
Created Datetime Thời gian tạo
Modified Datetime Thời gian sửa
Hình 4.16 Giao diện Quản lý Bình luận
Dữ liệu được lưu vào bảng Bình luận
Tên trường Kiểu dữ liệu Mô tả Ràng buộc
Id Int ID cmt Khoá chính
SendDate Datetime Thời gian gửi
UserId Int ID người dùng Khoá ngoại
CommentId Int ID cmt Khoá ngoại
Created Datetime Thời gian tạo
Modified Datetime Thời gian sửa
PostId Int ID bài đăng
Hình 4.17 Giao diện Đăng bài
Dữ liệu được lưu vào bảng Bài đăng
Tên trường Kiểu dữ liệu Mô tả Ràng buộc id Int ID bài đăng Khóa chính
Title Longtext Tiêu đề bài đăng
PostCategoryId Int Danh mục bài đăng
DateTime Datetime Ngày mất/nhặt
AddressContact Longtext Địa chỉ liên hệ
TypePost Int Loại bài đăng
UserID Int Người mất/nhặt
Censorld Int Người duyệt bài
Created Datetime Ngày đăng bài
Modified Datetime Thời gian tạo
IsStatus Int Thời gian sửa
PostStatus Int Trạng thái bài đăng
Description Longtext Mô tả bài đăng
Hình 4.18 Giao diện Comment bài đăng
Dữ liệu được lưu vào bảng Comment
Tên trường Kiểu dữ liệu Mô tả Ràng buộc
Id Int ID cmt Khoá chính
SendDate Datetime Thời gian gửi
UserId Int ID người dùng Khoá ngoại
CommentId Int ID cmt Khoá ngoại
Created Datetime Thời gian tạo
Modified Datetime Thời gian sửa
PostId Int ID bài đăng
Hình 4.19 Giao diện Quản lý bài đăng
Tên trường Kiểu dữ liệu Mô tả Ràng buộc id Int ID bài đăng Khóa chính
Title Longtext Tiêu đề bài đăng
PostCategoryId Int Danh mục bài đăng
DateTime Datetime Ngày mất/nhặt
AddressContact Longtext Địa chỉ liên hệ
TypePost Int Loại bài đăng
UserID Int Người mất/nhặt
Censorld Int Người duyệt bài
Created Datetime Thời gian tạo
Modified Datetime Thời gian sửa
PostStatus Int Trạng thái bài đăng
Description Longtext Mô tả bài đăng
Hình 4.20 Giao diện Lưu bài đăng
Dữ liệu được lưu vào bảng Lưu bài đăng
Bảng 4.8 Bảng Lưu Bài đăng
Tên trường Kiểu dữ liệu Mô tả Ràng buộc
Id Int ID bài đăng Khóa chính
UserSeenId Int ID người dùng Khoá ngoại
PostId Int ID bài đăng Khoá ngoại
CreateId Datetime Thời gian tạo
Modified Datetime Thời gian sửa
Hình 4.21 Giao diện Thông tin bài đăng
Dữ liệu được lưu vào bảng Bài đăng
Tên trường Kiểu dữ liệu Mô tả Ràng buộc id Int ID bài đăng Khóa chính
Title Longtext Tiêu đề bài đăng
PostCategoryId Int Danh mục bài đăng
DateTime Datetime Ngày mất/nhặt
AddressContact Longtext Địa chỉ liên hệ
TypePost Int Loại bài đăng
UserID Int Người mất/nhặt
Censorld Int Người duyệt bài
Created Datetime Thời gian tạo
Modified Datetime Thời gian sửa
PostStatus Int Trạng thái bài đăng
Description Longtext Mô tả bài đăng
Hình 4.22 Giao diện Nhắn tin
Dữ liệu được lưu vào bảng Nhắn tin
Id Int ID nhắn tin Khóa chính
MessageString Longtext Chuỗi tin nhắn
UserId Int ID người dùng Khoá ngoại
ConversationId Int ID phòng chat Khoá ngoại
Created Datetime Thời gian tạo
Modified Datetime Thời gian sửa
Tên trường Kiểu dữ liệu Mô tả Ràng buộc
Id Int ID phòng chat Khóa chính
Created Datetime Thời gian tạo
Modified Datetime Thời gian sửa
NameRoom Longtext Tên phòng chat
Tên trường Kiểu dữ liệu Mô tả Ràng buộc
Id Int ID thành viên chat
UserId Int ID người dùng Khoá ngoại
ConversationId Int ID phòng chat Khoá ngoại
Created Datetime Thời gian tạo
Modified Datetime Thời gian sửa