2022年博客系统数据库设计报告 .pdf
《2022年博客系统数据库设计报告 .pdf》由会员分享,可在线阅读,更多相关《2022年博客系统数据库设计报告 .pdf(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库设计说明书个人博客系统一数据库设计原则1、E-R模型向关系模型转换的规则(1)一个实体型转化为一个关系模式。一般E-R图中的一个实体转化为一个关系模式, 实体的属性就是关系的属性, 实体的代码就是关系的代码。(2)一个 1:1 联系可以抓换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。 若单独作为一个关系模式, 则该单独的关系模式的属性包括其自身的属性,以及与该联系相连的实体的码;该关系的码为 n 端实体的属性。(3)一个 1:n 联系可以抓换为一个独立的关系模式,也可以与n 端对应的关系模式合并。(4)一个 m:n联系可以转换为一个独立的关系模式。该关系的属性包括联系自身的
2、属性, 以及与联系相连的实体的属性。各实体的码组成关系码或关系码的一部分。(5)一个多元联系可以转换为一个独立的关系模式。与该多元联系相连的各实体的码, 以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 35 页 - - - - - - - - - (7)具有相同码的关系模式可以合并。(8)有些 1:n 的联系,将属性合并到n 端后,该属性也可以作为主码的一部分。2、主要设计内容表:(1) 本系统
3、设计的表符合基本表的性质如:1) 原子性。基本表中的字段是不可再分解的。2) 原始性。基本表中的记录是原始数据(基础数据)的记录。3) 演绎性。由基本表与代码表中的数据,可以派生出所有的输出数据。4) 稳定性。基本表的结构是相对稳定的,表中的记录是要长期保存的。(2) 本系统设计的基本表及其字段之间的关系, 满足第三范式(3) 本系统的主键与外键的设计:一般而言,一个实体都有一个主键和一个外键。(4) 本系统还要符合主键PK的取值方法的原则: 用物理意义的字段名或字段名的组合。 字段的个数不要太多, 多了不但索引占用空间大,而且速度也慢。名师资料总结 - - -精品资料欢迎下载 - - - -
4、 - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 35 页 - - - - - - - - - (5) 本系统还涉及视图的建立,它依赖数据源的实表而存在的,是使用数据库的一个窗口,是基表数据综合的一种形式, 是数据处理的一种方法,是用户数据保密的一种手段。3、设计工具: SQLServer2005企业管理器4、规定常用数据类型:本系统涉及的常用数据类型为int/Nvarchar(50)/Nvarchar (max) 5、标准 ANSI/ISO:Core SQL-99 名师资料总结 - - -精品资料欢迎下载 - - - - -
5、- - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 35 页 - - - - - - - - - 二、命名规范(1)实体(表)的命名1)表以名词或名词短语命名,确定表名是采用复数还是单数形式。2)如果表或者是字段的名称仅有一个单词,那么建议不使用缩写,而是用完整的单词3)所有的存储值列表的前面加一个前缀Z,目的是将这些值列表类排序在数据库最后。4)所有的冗余类的命名(主要是累计表)前面加上前缀X,冗余类是为了提高数据库效率,非规范化数据库的时候加入的字段或者表5)关联类通过用下划线连接两个基本类之后,再加前缀R的方式命名,后面按照字母顺
6、序罗列两个表名或者表名的缩写。关联表用于保存多对多关系。(2)属性(列)的命名1)采用有意义的表名,表内的列要针对键采用一整套设计规则。每个表都将有一个自动ID 作为主键,逻辑上的主键作为第一个候选主键来定义,如果是数据库自动生成的编码,统一命名为 ID;如果是自定义的逻辑上的编码则用缩写加“ID”的方法命名。如果键是数字类型,可以用_NO作为后缀;如果是字符类型可以采用_CODE 后缀。对列名应该采用标准的前缀和后缀。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 35
7、 页 - - - - - - - - - 2)所有的属性加上有关类型的后缀,注意,如果还需要其它的后缀,都放在类型后缀之前。3)采用前缀命名(3) 视图的命名1)视图以 V作为前缀,其它命名规则和表的命名类似;2)命名应尽量体现各视图的功能。(4) 变量名变量名采用小写,若属于词组形式,用下划线分隔每个单词(5)命名中其他注意事项1)以上命名都不得超过30 个字符的系统限制。变量名的长度限制为 29(不包括标识符 )2)数据对象、变量的命名都采用英文字符,禁止使用中文命名。绝对不要再对象名的字符之间留空格。3)小心保留词,要保证你的字段名没有和保留词、数据库系统或者常用访问方法冲突4)保持字段
8、名和类型的一致性, 在命名字段并为其指定数据类型的时候一定要保证一致性。假如数据类型在一个表里是整数,那在另一个表里可就变成字符型了。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 35 页 - - - - - - - - - 三、E-R图用户用户编号用户名密码用户照片信息上传照片的ID 值照片信息照片说明信息照片上传日期照片路径回复信息用户名信息ID 值用户编号评论信息内 容 的ID标题信息信息内容ID 值发表时间文章信息用户编号发表时间文章信息类型 ID 值文章的 I
9、D 值给我留言信息的 ID 值简要信息信息内容登录信息ID 值用户编号用户视频信息视频的 ID 值视频的名称视频路径视频描述信息上传时间文章类型信息Vote 的 ID 值文章类型内容管理管理管理管理管理管理属于用户编号名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 35 页 - - - - - - - - - 四、数据库表的设计表 4-1 用户表( dbo.Admins)表名dbo.Admins 列名类型(长度)为空默认值约束条件说明AdminID Int 否1 主键,自
10、动增长标识唯一的用户信息编号AdminName Varchar(50) 否无用户名Passworld Varchar(50) 否密码表 4-2 用户照片表( dbo.photos )表名dbo.photos 列名类型长度为空默认值约束条件说明Photo_ID int 否无主键,自动增长上传照片的 ID 值Photo_name Varchar(50) 否是照片信息Photo_Intro Varchar(200) 否是照片说明信息Photo_Url Varchar(50) 否是照片路径AddDate Datetime 是照片上传日期AdminId int 否1 标识唯一的用户信息编号表 4-3 回
11、复信息表( dbo.Tags)表名dbo.Tags 列名类型(长度)为空默认值约束条件说明Tag_ID Int 否无主键,自动增加ID 值Tag_Name Nvarchar(50) 否无用户名Tag_Dee Nvarchar(50) 否无信息名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 35 页 - - - - - - - - - 表 4-4 评论信息表( dbo.Articles)表名dbo.Articles 列名类型(长度)为空默认值约束条件说明ArtcleID N
12、varchar(50) 否无主键,自动增加内容的 ID Title Nvarchar(50) 否无标题信息A_Content Nvarchar(max) 否无信息内容Tag_ID int 否无Dec Nvarchar(200) 否无ViewNum Int 否无PubilshedTime Datetime 否无发表时间表 4-5 文章信息表( dbo.Comments )表名Dbo.Comments 列名类型长度为空默认值约束条件说明Cmt_ID Int 否无主键,自动增加文章的 ID 值Cmt_Content Nvarchar(max) 是无文章信息Cmt_AdminID Int 是无Vode
13、_ID Int 否无Cmt_Time datetime 是无表 4-6 登陆信息表( dbo.denglu )表名Dbo.denglu 列名类型(长度)为空默认值约束条件说明ID int 否无主键,自动增加ID 值Admin_ID Int 否无名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 35 页 - - - - - - - - - 表 4-7 给我留言信息表( dbo.message)表名dbo.message 列名类型(长度)为空默认值约束条件说明Mag_ID In
14、t 否无主键,自动增加信息 ID Mag_AdminID Int 是无用户 Id Mag_Title Nvarchar(150) 是无简要信息Mag_Content Nvarchar(1000) 是无信息内容Mag_User Nvarchar(50) 是无用户信息AddDate datetime 是无发表时间表 4-8 用户视频信息表( dbo.vdeos )表名Dbo.vdeos 列名类型(长度)为空默认值约束条件说明Vdeos_ID Int 是无主键,自动增加视频的 ID 值Admin_ID Int 是无用户 ID Vdeos_Name Nvarchar(50) 否无用户名Vdeos_Ur
15、l Nvarchar(max) 是无视频路径Vdeos_Des Nvarchar(50o) 否无视频描述信息AddDate datetime 否无上传时间表 4-9 文章类型信息表( dbo.votes )表名Dbo.votes 列名类型(长度)为空默认值约束条件说明Vote_ID int 是无主键自动增加Vote 的 ID Item Nvarchar(200)是无名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 35 页 - - - - - - - - - 五、数据关系图
16、附录:一数据库设计的SQL实现代码SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(Ndbo.Tags) AND type in (NU) BEGIN CREATE TABLE dbo.Tags( Tag_ID int IDENTITY(1,1) NOT NULL, 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - -
17、 - - 第 10 页,共 35 页 - - - - - - - - - Tag_Name nvarchar(50) NOT NULL, Tag_Dec nvarchar(200) NOT NULL, CONSTRAINT PK_Tags PRIMARY KEY CLUSTERED ( Tag_ID ASC )WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY ) ON PRIMARY END GO EXEC sys.sp_addextendedproperty name=NMS_Description, value=NID 值 ,level0type=NSCHEMA
18、, level0name=Ndbo, level1type=NTABLE, level1name=NTags, level2type=NCOLUMN, level2name=NTag_ID GO EXEC sys.sp_addextendedproperty name=NMS_Description, value=N用户名 ,level0type=NSCHEMA, level0name=Ndbo, level1type=NTABLE, level1name=NTags, level2type=NCOLUMN, level2name=NTag_Name GO EXEC sys.sp_addext
19、endedproperty name=NMS_Description, 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 35 页 - - - - - - - - - value=N信息 ,level0type=NSCHEMA, level0name=Ndbo, level1type=NTABLE, level1name=NTags, level2type=NCOLUMN, level2name=NTag_Dec GO EXEC sys.sp_addextendedpro
20、perty name=NMS_Description, value=N回复信息表 ,level0type=NSCHEMA, level0name=Ndbo, level1type=NTABLE, level1name=NTags GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(Ndbo.Votes) AND type in (NU) BEGIN CREATE TABLE dbo.Votes( Vote_
21、ID int IDENTITY(1,1) NOT NULL, Item nvarchar(200) NULL, CONSTRAINT PK_Votes PRIMARY KEY CLUSTERED 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 35 页 - - - - - - - - - ( Vote_ID ASC )WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY ) ON PRIMARY END GO EXEC sys.sp_addext
22、endedproperty name=NMS_Description, value=NVote 的 ID 值 ,level0type=NSCHEMA, level0name=Ndbo, level1type=NTABLE, level1name=NVotes, level2type=NCOLUMN, level2name=NVote_ID GO EXEC sys.sp_addextendedproperty name=NMS_Description, value=N文章类型名称 ,level0type=NSCHEMA, level0name=Ndbo, level1type=NTABLE, l
23、evel1name=NVotes, level2type=NCOLUMN, level2name=NItem GO EXEC sys.sp_addextendedproperty name=NMS_Description, value=N文章类型信息表 ,level0type=NSCHEMA, 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 35 页 - - - - - - - - - level0name=Ndbo, level1type=NTABLE, level1
24、name=NVotes GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(Ndbo.Admins) AND type in (NU) BEGIN CREATE TABLE dbo.Admins( Admin_ID int IDENTITY(1,1) NOT NULL, Admin_Name nvarchar(50) NULL, Password nvarchar(50) NULL, CONSTRAINT
25、PK_Admins PRIMARY KEY CLUSTERED ( Admin_ID ASC )WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY ) ON PRIMARY END GO 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 35 页 - - - - - - - - - EXEC sys.sp_addextendedproperty name=NMS_Description, value=N标识唯一的用户信息编号 ,level0typ
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年博客系统数据库设计报告 2022 博客 系统 数据库 设计 报告
限制150内