一、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配置。
在服务器资源管理中数据链接显示:
本文出自 “奔跑的小蜗牛-原创空间” 博客,转载请与作者联系!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。