CÔNG NGHỆ THÔNG TIN >> BÀI VIẾT CHỌN LỌC

Hướng dẫn phân tích cơ sở dữ liệu cho Website Blog

Đăng lúc: 08:42 AM - 17/11/2022 bởi Charles Chung - 2679

Trong bài viết này tôi sẽ hướng dẫn các bạn cách phân tích và thiết kế cơ sở dữ liệu cho một website blog đơn giản dựa vào các yêu cầu của khách hàng, bài viết có video phân tích và tạo cơ sở dữ liệu trên SQL Server.

Đề bài: Xây dựng website blog chia sẻ kiến thức tổng hợp (blog88.com)

1. Yêu cầu của khách hàng

  • Trang chủ blog:
    • Header (full width) hiển thị logo blog, ô tìm kiếm
    • Banner  (full width) hiển thị slide show các ảnh ứng với các bài viết do quản trị chỉ định, khi kích vào ảnh sẽ link tới 1 bài viết đó.
    • Phần nội dung bên dưới chia làm 2 cột theo tỷ lệ 3:9
      • Cột 1 hiển thị chủ đề bài viết theo cấu trúc menu đa cấp.
      • Cột 2 hiển thị danh mục bài viết sắp xếp theo ngày tháng giảm dần có phân trang, 10 bài trên 1 trang.
      • Nếu chủ đề được chọn thì hiển thị bài viết theo chủ đề chọn, bài viết được hiển thị gắn gọn gồm tiêu đề, ngày giờ đăng, ai đăng, hình ảnh, hiển thị có phân trang theo cấu trúc 5x3 (5 hàng, mỗi hàng 3 bài).
      • Nếu bài viết được chọn thì hiển thị nội dung chi tiết bài viết gồm có các thông tin cụ thể như tiêu đề, ngày giờ tạo, ai là người tạo, nội dung mô tả ngắn gọn, nội dung đầy đủ, hình ảnh, thẻ tìm kiếm, ở cuối bài viết sẽ hiển thị các thẻ tìm kiếm (kích vào thẻ tìm kiếm sẽ hiển thị các bài viết có chứa thẻ đó, trình bày giống phần hiển thị theo chủ đề), bên dưới người xem có thể comment bài viết bằng facebook, chia sẻ bài viết lên facebook, cuối cùng sẽ là mục các bài viết liên quan (hiển thị 5 bài đăng trước bài hiện tại)
      • Áp dụng các kỹ thuật SEO cơ bản cho các bài viết.
    • Phần footer:
      • Hiển thị các thông tin liên hệ, link liên kết mạng xã hội,....
  • Trang quản trị gồm:
    • Đăng nhập(chỉ có quản trị và biên tập viên mới đăng nhập vào module này)
    • Quản lý thông tin tài khoản, chia làm 2 quyền
      • Quản trị có quyền cao nhất với mọi tài nguyên trên web, duyệt bài viết trước khi đăng.
      • Biên tập viên có quyền tạo bài viết, xem, sửa, xóa bài của mình và quản lý các tài nguyên mình tạo ra.
      • Tài khoản gồm các thông tin cơ bản (Tên đăng nhập, mật khẩu, họ và tên, email, picture, ngày sinh, loại tài khoản, tình trạng)
    • Quản lý bài viết
      • Hiển thị bài viết theo danh mục đa cấp
      • Thêm, xóa, sửa danh mục và bài viết (phải có phần editor để thuận tiện cho soạn thảo)
      • Tìm kiếm, phân trang.
    • Quản lý tài nguyên website
      • Thư mục ảnh, tệp tin, cho bài viết (upload, xem, xóa, lấy link ảnh)
      • Quản lý phần nội dung trên trang (header, slide show ảnh, footer,...)

2. Nền tảng và công cụ phát triển

  • Database sử dụng SQL Server 2016
  • Nền tảng (đa nền tảng)
  • Công cụ phát triển sử dung ASP.NET Core 3.1, Entity Framework Core

3. Sơ đồ quan hệ thực thể

alt text

4. Thiết kế cơ sở dữ liệu

Bảng Accounts (tài khoản)

STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 AccountId varchar(36) Primary key Mã tài khoản
2 Username varchar(64) unique Tên đăng nhập
3 Password varchar(64) not null Mật khẩu
4 FullName nvarchar(64) not null Họ và tên
5 Birthday date null Ngày sinh
6 Email varchar(64) unique null Hòm thư
7 Picture nvarchar(512) null Ảnh đại diện
8 AccountType int not null Loại tài khoản
9 AccountStatus int not null Trạng thái

Bảng Posts (Bài viết)

STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 PosttId int Primary key, auto increment Mã bài viết
2 Title nvarchar(256) not null Tiêu đề
3 BriefContent nvarchar(1024) not null Mô tả ngắn
4 Content ntext null Nội dung
5 Picture nvarchar(512) null Ảnh đại diện
6 OrderNo int null Thứ tự
7 TagSearch nvarchar(256) null Thẻ tìm kiếm
8 PostStatus int not null Trạng thái
9 PostType int not null Loại bài viết
10 AccountId varchar(36) Foreign key, not null Mã tài khoản tạo
11 AccountModify varchar(36) null Mã tài khoản sửa
12 CreateDate datetime not null Ngày tạo
13 LastModify datetime null Ngày sửa
14 KeywordSEO nvarchar(512) null Từ khóa seo
15 DescriptionSEO nvarchar(1024) null Mô tả seo
16 ParentId int Foreign key, null Mã bài viết cha

Bảng Resources (tài nguyên)

STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 ResourceId int Primary key, auto increment Mã tài nguyên
2 ResourceUrl nvarchar(512) not null Url của tài nguyên
3 ResourceType int not null Loại tài nguyên
4 AccountId varchar(36) Foreignt key, not null Mã tài khoản tạo

Bảng Components (thành phần trên trang)

STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 ComponentId int Primary key, auto increment Mã thành phần
2 Content ntext not null Nội dung
3 ComponentType int not null Loại thành phần
4 ComponentStatus int not null Trạng thái

Bảng ImageSlides (hình ảnh trình chiếu)

STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 ImageId int Primary key, auto increment Mã hình ảnh
2 ImageUrl nvarchar(512) not null Đường dẫn ảnh
3 Link nvarchar(512) null Liên kết
4 Description nvarchar(256) null Mô tả
5 ImageStatus int not null Trạng thái

5. Sơ đồ quan hệ giữa các bảng

alt text

6. Video hướng dẫn phân tích và code database 

Link tải tệp blog88.sql (Google Drive)

Team W3FAIR do thầy Charles Chung dẫn dắt nhận:

  • Phân tích nghiệp vụ ứng dụng (BA)
  • Thiết kế cơ sở dữ liệu (Design Database)
  • Thiết kế website theo chuẩn SEO (Design Web)
  • Phát triển ứng dụng Web/Web App/Mobile App trên các nền tảng công nghệ
  • Liên hệ ngay

 

thay lời cảm ơn!

QUẢNG CÁO - TIẾP THỊ