Cấp bậc tác giả:

DATABASE

Hướng dẫn xây dựng website: Xây dựng cơ sở dữ liệu phần 1

Được viết bởi QuangIT ngày 13/08/2012 lúc 07:28 PM
Khi bắt đầu xây dựng một website. Công việc đầu tiên cần phải làm là phân tích, thiết kế cơ sở dữ liệu. Mình sẽ viết hướng dẫn xây dựng cơ sở dữ liệu và code từng bước để có thể xây dựng 1 website hoàn chỉnh Chúng ta hãy bắt đầu với 2 bảng cơ bản của 1 website. TB_Categoty, TB_News
  • 0
  • 16237

Hướng dẫn xây dựng website: Xây dựng cơ sở dữ liệu phần 1

Khi bắt đầu xây dựng một website. Công việc đầu tiên cần phải làm là phân tích, thiết kế cơ sở dữ liệu. Mình sẽ viết hướng dẫn xây dựng cơ sở dữ liệu và code từng bước để có thể xây dựng 1 website hoàn chỉnh
Chúng ta hãy bắt đầu với 2 bảng cơ bản của 1 website. TB_Categoty, TB_News

Tiếp theo bài này là Xây dựng cơ sở dữ liệu phần 2 - TRIGGER 
Bạn hãy thiết kế theo Diagram như sau:

-- Ngoài các trường như trong Diagram có thể có thêm các trường khác tùy theo yêu cầu của website
 1. Category
CateID Mã chuyên mục - sẽ được sinh tự động khi tạo mới
ParentID int Mã chuyên mục cha.
CateName: Tên chuyên mục. VD: Tin tức, Tin thể thao …
Decen phân cấp của chuyên mục (thể hiện menu)
Depth độ sâu của chuyên mục (Bắt đầu từ 0)
Link Liên kết thực
Picture Hình ảnh đại diện cho chuyên mục
CssClass Định dạng hiển thị
Active Trạng thái.

-- Trường Decen và Depth cần được sinh tự động bằng các viết các TRIGGER. Mình sẽ giới thiệu ở bài sau
-- Trường CssClass cũng sẽ được sinh tự động khi thêm mới hoặc cập nhật nhưng sẽ được thực hiện trong Procedure spTB_Category_Edit sẽ được giới thiệu ở bài sau

Vì bảng TB_Category cũng là bảng thể hiện menu đa cấp được mô tả như sau (Minh họa):

-- Create by  webmaster@hmweb.com.vn
 CREATE TABLE [dbo].[TB_Category](
      [CateID] [int] IDENTITY(1,1PRIMARY KEY NOT NULL,
      [ParentID] [int] NULL,
      [CateName] [nvarchar](250) NOT NULL,
      [Decen] [int] NULL,
      [Depth] [varchar](150) NULL,
      [Link] [nvarchar](250) NULL,
      [Picture] [varbinary](250) NULL,
      [Target] [nvarchar](10) NULL
            CONSTRAINT [DF_TB_Category_Targer] 
            DEFAULT (N'_self'),
      [CssClass] [nvarchar](50) NULL,
      [Active] [int] NOT NULL
            CONSTRAINT [DF_TB_Category_Flag] 
            DEFAULT (1),
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
ALTER TABLE [dbo].[TB_Category] 
      WITH NOCHECK ADD 
      CONSTRAINT [FK_TB_Category_TB_Category] FOREIGN KEY([ParentID])
REFERENCES [dbo].[TB_Category] ([CateID])
GO
ALTER TABLE [dbo].[TB_Category]
      CHECK CONSTRAINT [FK_TB_Category_TB_Category]
GO
ALTER TABLE [dbo].[TB_Category] 
      WITH NOCHECK ADD 
      CONSTRAINT [CK_TB_Category] CHECK  (([CateID] <> [ParentID]))
GO
ALTER TABLE [dbo].[TB_Category] CHECK CONSTRAINT [CK_TB_Category]
 2. TB_News

idNews: Mã bài viết - Sẽ được sinh tự động khi tạo mới
CateID: 
Mã chuyên mục 
UserName: 
Tên đăng nhập (Người viết bài)
Title: 
Tiêu đề bài viết  
Description: 
Tóm tắt nội dung bài viết 
Content: 
Nội dung bài viết  
Author: 
Tác giả vài viết  
Picture:  
Ảnh đại diện cho bài viết
CreateDate: 
Thời gian viết bài  
PublishDate: 
Thời gian đăng bài 
Status: 
Trạng thái bài viết 
Numberreads: 
Số lần xem bài viết  
Link: 
Url của bài viết  


-- Create by webmaster@hmweb.com.vn
 CREATE TABLE [dbo].[TB_News](
      [idNews] [int] IDENTITY(1,1) PRIMARY KEY  NOT NULL,
      [CateID] [int] NOT NULL,
      [UserName] [nvarchar](50) NOT NULL,
      [Title] [nvarchar](500) NOT NULL,
      [Description] [ntext] NULL,
      [Content] [ntext] NULL,
      [Author] [nvarchar](150) NULL,
      [Picture] [nvarchar](255) NULL,
      [CreateDate] [datetime] NOT NULL,
      [PublishDate] [datetime] NULL,
      [Status] [int] NULL,
      [Numberreads] [int] NULL,
      [Link] [nvarchar](150) NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO
ALTER TABLE [dbo].[TB_News]  WITH NOCHECK ADD  CONSTRAINT [FK_TB_News_TB_Category]FOREIGN KEY([CateID])
REFERENCES [dbo].[TB_Category] ([CateID])
GO
ALTER TABLE [dbo].[TB_News] CHECK CONSTRAINT [FK_TB_News_TB_Category]

Nguồn bài viết: hmweb

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML