一、Asp.Net MVC4.0开发CMS系统案例之数据库设计

    从本章开始,记录开发一个文章管理系统的过程,一般开发软件的流程无非包括以下几个方面:

    1、需求调研,了解系统功能需求目标。

    2、分析设计,根据调研内容分析如何实现的客户的要求,并设计系统功能模块。

    3、数据设计,确定功能对应的数据库、数据表、数据字段、数据关系等

    4、代码开发,实现各个功能模块。

    5、整合美工,将后台的业务功能实现与前台设计的网页结合起来,并做好美工优化。

    6、系统测试,检查系统BUG,以及性能等测试。

    7、上线发布,正式使用。

    由于我们主要是为学习和研究MVC架构技术,因此业务分析没必要做太多描述,总体上前台有用户登录、用户注册、文章显示、文章阅读、用户文章管理、个人信息管理。后台包括:用户管理、文章管理、栏目管理、权限管理。数额局设计我们以先以用户信息表为例如下:

  一、创建数据库SQL语句  

    create database [HillstoneCMIS] on primary
(name = N‘[HillstoneCMIS]‘,filename = N‘d:\Cemis DataBase\HillstoneCMIS.mdf‘,
size = 3072kb, maxsize= unlimited,filegrowth=1024kb)
log on
    (name = N‘HillstoneCMIS_log‘,filename=N‘d:\Cemis DataBase\HillstoneCMIS_log.ldf‘,size=1072kb,
maxsize=2048GB,filegrowth=10%)

    包括数据库主文件MDF和日志文件LOG,name表示数据库名,filename创建数据的物理地址,数据的大小、增长大小等。

    二、设置数据库兼容性、组件等环境配置

    ALTER DATABASE [HillstoneCMIS] SET COMPATIBILITY_LEVEL = 90
    GO

    设置特定数据库的兼容性级别,80、90 和 100 分别代表 SQL Server 2000、SQL Server 2005 和 SQL Server 2008。

   IF (1 = FULLTEXTSERVICEPROPERTY(‘IsFullTextInstalled‘))
   begin

    在 SQL Server 的当前实例中安装全文组件。 0 = 未安装全文组件。 1 = 已安装全文组件。 NULL = 输入无效或发生错误。 

    EXEC [HillstoneCMIS].[dbo].[sp_fulltext_database] @action = ‘enable‘
    end 
    GO


    初始化全文索引,或者从当前数据库中删除所有的全文目录。enable = 在当前数据库中启用全文索引。disable=对于当前数据库,删除文件系统中所有的全文目录,并且将该数据库标记为已经禁用全文索引。

    4、其它配置等

    ALTER DATABASE [HillstoneCMIS] SET ANSI_NULL_DEFAULT OFF
    GO
    ALTER DATABASE [HillstoneCMIS] SET ANSI_NULLS OFF
    GO
    ALTER DATABASE [HillstoneCMIS] SET ANSI_PADDING OFF
    GO
    ALTER DATABASE [HillstoneCMIS] SET ANSI_WARNINGS OFF
    GO
    ALTER DATABASE [HillstoneCMIS] SET ARITHABORT OFF
    GO
    ALTER DATABASE [HillstoneCMIS] SET AUTO_CLOSE ON
    GO
    ALTER DATABASE [HillstoneCMIS] SET AUTO_CREATE_STATISTICS ON
    GO
    ALTER DATABASE [HillstoneCMIS] SET AUTO_SHRINK OFF
    GO
    ALTER DATABASE [HillstoneCMIS] SET AUTO_UPDATE_STATISTICS ON
    GO
    ALTER DATABASE [HillstoneCMIS] SET CURSOR_CLOSE_ON_COMMIT OFF
    GO
    ALTER DATABASE [HillstoneCMIS] SET CURSOR_DEFAULT  GLOBAL
    GO
    ALTER DATABASE [HillstoneCMIS] SET CONCAT_NULL_YIELDS_NULL OFF
    GO
    ALTER DATABASE [HillstoneCMIS] SET NUMERIC_ROUNDABORT OFF
    GO
    ALTER DATABASE [HillstoneCMIS] SET QUOTED_IDENTIFIER OFF
    GO
    ALTER DATABASE [HillstoneCMIS] SET RECURSIVE_TRIGGERS OFF
    GO
    ALTER DATABASE [HillstoneCMIS] SET  DISABLE_BROKER
    GO
    ALTER DATABASE [HillstoneCMIS] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
    GO
    ALTER DATABASE [HillstoneCMIS] SET DATE_CORRELATION_OPTIMIZATION OFF
    GO
    ALTER DATABASE [HillstoneCMIS] SET TRUSTWORTHY OFF
    GO
    ALTER DATABASE [HillstoneCMIS] SET ALLOW_SNAPSHOT_ISOLATION OFF
    GO
    ALTER DATABASE [HillstoneCMIS] SET PARAMETERIZATION SIMPLE
    GO
    ALTER DATABASE [HillstoneCMIS] SET READ_COMMITTED_SNAPSHOT OFF
    GO
    ALTER DATABASE [HillstoneCMIS] SET HONOR_BROKER_PRIORITY OFF
    GO
    ALTER DATABASE [HillstoneCMIS] SET  READ_WRITE
    GO
    ALTER DATABASE [HillstoneCMIS] SET RECOVERY SIMPLE
    GO
    ALTER DATABASE [HillstoneCMIS] SET  MULTI_USER
    GO
    ALTER DATABASE [HillstoneCMIS] SET PAGE_VERIFY CHECKSUM
    GO
    ALTER DATABASE [HillstoneCMIS] SET DB_CHAINING OFF
    GO
    USE [HillstoneCMIS]
    GO


    5、创建用户数据表及其字段注释

    SE [HillstoneCMIS]
    GO
    /****** Object:  Table [dbo].[SysComUser]    Script Date: 11/19/2014 14:53:56 ******/
    IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N‘[dbo].[SysComUser]‘) AND type in (N‘U‘))
        DROP TABLE [dbo].[SysComUser]
    GO
    CREATE TABLE SysComUser(
        [UserId] [int] IDENTITY(1,1) NOT NULL,
        [LoginName] [varchar](50) NOT NULL,
        [UserName] [varchar](50) NOT NULL,
        [Password] [varchar](50) NULL,
        [OrderNo] [varchar](50) NULL,
        [UserType] [int] NULL,
        [Flag] [int] NULL,
        [UnitId] [int] NULL,
        [PosId] [int] NULL,
        [CreatedUserId] [int] NULL,
        [CreatedUserName] [varchar](200) NULL,
        [CreatedDate] [smalldatetime] NULL,
        CONSTRAINT [PK_SysComUser] PRIMARY KEY CLUSTERED 
        ([CreatedDate] ASC)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
    ) ON [PRIMARY]
    
    GO
    
    SET ANSI_PADDING OFF
    GO
    
    EXEC sys.sp_addextendedproperty @name=N‘MS_Description‘, @value=N‘用户ID‘ , @level0type=N‘SCHEMA‘,@level0name=N‘dbo‘, @level1type=N‘TABLE‘,@level1name=N‘SysComUser‘, @level2type=N‘COLUMN‘,@level2name=N‘UserId‘
    GO
    
    EXEC sys.sp_addextendedproperty @name=N‘MS_Description‘, @value=N‘登录名‘ , @level0type=N‘SCHEMA‘,@level0name=N‘dbo‘, @level1type=N‘TABLE‘,@level1name=N‘SysComUser‘, @level2type=N‘COLUMN‘,@level2name=N‘LoginName‘
    GO
    
    EXEC sys.sp_addextendedproperty @name=N‘MS_Description‘, @value=N‘用户名‘ , @level0type=N‘SCHEMA‘,@level0name=N‘dbo‘, @level1type=N‘TABLE‘,@level1name=N‘SysComUser‘, @level2type=N‘COLUMN‘,@level2name=N‘UserName‘
    GO
    
    EXEC sys.sp_addextendedproperty @name=N‘MS_Description‘, @value=N‘密码‘ , @level0type=N‘SCHEMA‘,@level0name=N‘dbo‘, @level1type=N‘TABLE‘,@level1name=N‘SysComUser‘, @level2type=N‘COLUMN‘,@level2name=N‘Password‘
    GO
    
    EXEC sys.sp_addextendedproperty @name=N‘MS_Description‘, @value=N‘排序‘ , @level0type=N‘SCHEMA‘,@level0name=N‘dbo‘, @level1type=N‘TABLE‘,@level1name=N‘SysComUser‘, @level2type=N‘COLUMN‘,@level2name=N‘OrderNo‘
    GO
    
    EXEC sys.sp_addextendedproperty @name=N‘MS_Description‘, @value=N‘用户类型‘ , @level0type=N‘SCHEMA‘,@level0name=N‘dbo‘, @level1type=N‘TABLE‘,@level1name=N‘SysComUser‘, @level2type=N‘COLUMN‘,@level2name=N‘UserType‘
    GO
    
    EXEC sys.sp_addextendedproperty @name=N‘MS_Description‘, @value=N‘状态‘ , @level0type=N‘SCHEMA‘,@level0name=N‘dbo‘, @level1type=N‘TABLE‘,@level1name=N‘SysComUser‘, @level2type=N‘COLUMN‘,@level2name=N‘Flag‘
    GO
    
    EXEC sys.sp_addextendedproperty @name=N‘MS_Description‘, @value=N‘创建人ID‘ , @level0type=N‘SCHEMA‘,@level0name=N‘dbo‘, @level1type=N‘TABLE‘,@level1name=N‘SysComUser‘, @level2type=N‘COLUMN‘,@level2name=N‘CreatedUserId‘
    GO
    
    EXEC sys.sp_addextendedproperty @name=N‘MS_Description‘, @value=N‘创建人‘ , @level0type=N‘SCHEMA‘,@level0name=N‘dbo‘, @level1type=N‘TABLE‘,@level1name=N‘SysComUser‘, @level2type=N‘COLUMN‘,@level2name=N‘CreatedUserName‘
    GO
    
    EXEC sys.sp_addextendedproperty @name=N‘MS_Description‘, @value=N‘创建时间‘ , @level0type=N‘SCHEMA‘,@level0name=N‘dbo‘, @level1type=N‘TABLE‘,@level1name=N‘SysComUser‘, @level2type=N‘COLUMN‘,@level2name=N‘CreatedDate‘
    GO
    
    EXEC sys.sp_addextendedproperty @name=N‘MS_Description‘, @value=N‘用户‘ , @level0type=N‘SCHEMA‘,@level0name=N‘dbo‘, @level1type=N‘TABLE‘,@level1name=N‘SysComUser‘
    GO


    执行完毕之后,修改Web.config配置。

    在服务器资源管理中数据链接显示:

本文出自 “奔跑的小蜗牛-原创空间” 博客,转载请与作者联系!

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。