博客系统数据库设计报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库设计说明书

个人博客系统

一数据库设计原则

1、E-R模型向关系模型转换的规则

(1)一个实体型转化为一个关系模式。一般E-R图中的一个实体转化为一个关系模式,实体的属性就是关系的属性,实体的代码就是关系的代码。

(2)一个1:1联系可以抓换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。若单独作为一个关系模式,则该单独的关系模式的属性包括其自身的属性,以及与该联系相连的实体的码;该关系的码为n端实体的属性。

(3)一个1:n联系可以抓换为一个独立的关系模式,也可以与n端对应的关系模式合并。

(4)一个m:n联系可以转换为一个独立的关系模式。该关系的属性包括联系自身的属性,以及与联系相连的实体的属性。各实体的码组成关系码或关系码的一部分。

(5)一个多元联系可以转换为一个独立的关系模式。与该多元联系相连的各实体的码,以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。

(7)具有相同码的关系模式可以合并。

(8)有些1:n的联系,将属性合并到n端后,该属性也可以作为主码的一部分。

2、主要设计内容表:

(1)本系统设计的表符合基本表的性质如:

1) 原子性。基本表中的字段是不可再分解的。

2) 原始性。基本表中的记录是原始数据(基础数据)的记录。

3) 演绎性。由基本表与代码表中的数据,可以派生出所有的输出数据。

4) 稳定性。基本表的结构是相对稳定的,表中的记录是要长期保存的。

(2)本系统设计的基本表及其字段之间的关系,满足第三范式

(3)本系统的主键与外键的设计:一般而言,一个实体都有一个主键和一个外键。

(4)本系统还要符合主键PK的取值方法的原则:用物理意义的字段名或字段名的组合。字段的个数不要太多,多了不但索引占用空间大,而且速度也慢。

(5)本系统还涉及视图的建立,它依赖数据源的实表而存在的,是使用数据库的一个窗口,是基表数据综合的一种形式, 是数据处理的一种方法,是用户数据保密的一种手段。

3、设计工具:SQLServer2005企业管理器

4、规定常用数据类型:

本系统涉及的常用数据类型为int/Nvarchar(50)/Nvarchar (max) 5、标准ANSI/ISO:Core SQL-99

二、命名规范

(1)实体(表)的命名

1)表以名词或名词短语命名,确定表名是采用复数还是单数形式。

2)如果表或者是字段的名称仅有一个单词,那么建议不使用缩写,而是用完整的单词

3)所有的存储值列表的前面加一个前缀Z,目的是将这些值列表类排序在数据库最后。

4)所有的冗余类的命名(主要是累计表)前面加上前缀X,冗余类是为了提高数据库效率,非规范化数据库的时候加入的

字段或者表

5)关联类通过用下划线连接两个基本类之后,再加前缀R的方式命名,后面按照字母顺序罗列两个表名或者表名的缩写。

关联表用于保存多对多关系。

(2)属性(列)的命名

1)采用有意义的表名,表内的列要针对键采用一整套设计规则。每个表都将有一个自动ID作为主键,逻辑上的主键作

为第一个候选主键来定义,如果是数据库自动生成的编码,

统一命名为ID;如果是自定义的逻辑上的编码则用缩写加

“ID”的方法命名。如果键是数字类型,可以用_NO作为后

缀;如果是字符类型可以采用_CODE后缀。对列名应该采用

标准的前缀和后缀。

2)所有的属性加上有关类型的后缀,注意,如果还需要其它的后缀,都放在类型后缀之前。

3)采用前缀命名

(3)视图的命名

1)视图以V作为前缀,其它命名规则和表的命名类似;

2)命名应尽量体现各视图的功能。

(4)变量名

变量名采用小写,若属于词组形式,用下划线分隔每个单词(5)命名中其他注意事项

1)以上命名都不得超过30个字符的系统限制。变量名的长度限制为29(不包括标识符@)

2)数据对象、变量的命名都采用英文字符,禁止使用中文命名。

绝对不要再对象名的字符之间留空格。

3)小心保留词,要保证你的字段名没有和保留词、数据库系统或者常用访问方法冲突

4)保持字段名和类型的一致性,在命名字段并为其指定数据类型的时候一定要保证一致性。假如数据类型在一个表里是整

数,那在另一个表里可就变成字符型了。

三、E-R图

四、数据库表的设计

表4-1用户表(dbo.Admins)

表4-2用户照片表(dbo.photos)

表4-3回复信息表(dbo.Tags)

表4-4评论信息表(dbo.Articles)

表4-5文章信息表(ments)

表4-6登陆信息表(dbo.denglu)

表4-7给我留言信息表(dbo.message)

表4-8用户视频信息表(dbo.vdeos)

表4-9文章类型信息表(dbo.votes)

五、数据关系图

附录:

一数据库设计的SQL实现代码

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Tags]') AND type in (N'U'))

BEGIN

CREATE TABLE [dbo].[Tags](

[Tag_ID] [int] IDENTITY(1,1) NOT NULL,

相关文档
最新文档