数据库设计说明书.docx
《数据库设计说明书.docx》由会员分享,可在线阅读,更多相关《数据库设计说明书.docx(11页珍藏版)》请在冰豆网上搜索。
![数据库设计说明书.docx](https://file1.bdocx.com/fileroot1/2023-1/14/2bb50a2a-c365-45f2-ba4f-f32ad8882f47/2bb50a2a-c365-45f2-ba4f-f32ad8882f471.gif)
数据库设计说明书
盛年不重来,一日难再晨。
及时宜自勉,岁月不待人。
案卷号
02
日期
天下古今论坛系统
数据库设计说明书
作者:
完成日期:
2011-7-4
签收人:
签收日期:
修改情况记录:
版本号
修改批准人
修改人
修改日期
签收人
V1.0
1引言
1.1编写目的
数据库设计说明书的编写目的是为了向整个开发期提供后台数据库的设计,包含:
表、存储过程、触发器、序列等。
用户:
数据库设计人员、软件开发人员、软件维护人员。
1.2背景
项目名称:
《天下古今论坛系统》
委托单位:
开发单位:
1.3定义
主键:
是用来唯一表述一条数据的字段,其值不能重复且不能为空。
外键:
也叫侯选键,能够完全决定所有属性的那些字段称为侯选键
表(Table):
数据库中的表与我们日常生活中使用的表格类似,它也是由行 (Row)和列(Column)组成的。
列由同类的信息组成,每列又称为一个“字段”,每列的标题称为列名。
行包括了若干列信息项,一行数据称为一条“记录”,它表达有一定意义的信息组合。
一个数据库表由一条或多条记录组成,没有记录的表称为空表。
每个表中通常都有一个主关键字,用于唯一地确定一条记录。
索引(Index):
索引是根据指定的数据库表列建立起来的顺序,它提供了快速访问数据的途径,并且可以监督表的数据,使其索引所指向的列中的数据不重复。
视图(View):
视图看上去同表一样,具有一组命名的列和数据项,但它其实是一个虚拟的表,在数据库中并不实际存在。
视图是由查询数据库表产生的,它限制了用户能看到和修改的数据。
由此可见,视图可以用来控制用户对数据的访问,并能简化数据的显示,即通过视图只显示那些需要的数据信息。
图表(Diagram):
其实就是数据库表之间的关系示意图,利用它可以编辑表与表之间的关系。
默认值(Default):
它是在表中创建列或插入数据时,对没有指定其具体值的列或列数据项赋予事先设定好的值。
用户(User):
用户就是有权限访问数据库的人。
关系模型:
用二维表格结构表示实体集,外键表示实体间联系的数据模型称为关系模型。
关系模型是由若干个关系模式组成的集合。
关系模式:
关系模式实际上就是记录类型。
它包括:
模式名,属性名,值域名以及模式的主键。
关系模式仅是对数据特性的描述。
1.4参考资料
王海亮、林立新《精通Oracle.10g.Pl.SQL编程》
BenjaminRosenzweig《OraclePL/SQL实例精解》
2外部设计
2.1标识符和状态
方案名称:
fmdbs
2.2使用它的程序
访问此数据库的所有应用程序:
天下古今论坛系统
2.3约定
管理员表mgrinfo
会员表useinfo
文章表content
跟帖表subcontent
2.4专门指导
无专门指导,在实习前进行了一些课程铺垫。
3结构设计
3.1概念结构设计
数据实体中文名
数据库表名
数据实体描述
管理员表
mgrinfo
存储管理员姓名、管理员密码
会员表
useinfor
存储会员信息
文章表
content
存储会员发表文章信息
跟帖表
subcontent
存储会员跟帖信息
3.2PDM图
3.3数据字典
表(Table)
1、管理员表mgrinfo
序号
标识
属性名称
类型
占位
是否主键
是否外键
备注
1
管理员ID
Mgrid
number
4
是
2
管理员名
mgrname
Varchar2
20
3
管理员密码
Mgrpass
Varchar2
20
2、会员表:
userinfo
序号
标识
属性名称
类型
占位
是否主键
是否外键
备注
1
会员ID
userid
number
4
是
2
会员名
username
Varchar2
20
3
会员密码
userpass
Varchar2
20
4
头像
userpic
Varchar2
100
5
QQ号
userqq
Varchar2
30
6
电话
Usertell
Varchar2
20
7
eMail
Useremail
Varchar2
50
8
个人主页
Userpage
Varchar2
50
9
删除标记
userdel
number
1
3、文章表:
content
序号
标识
属性名称
类型
占位
是否主键
是否外键
备注
1
文章ID
conid
number
10
是
2
标题
contitle
Varchar2
100
3
内容
content
Varchar2
2000
4
发布时间
stime
Date
5
发布人
userid
number
4
是
Userinfo(userid)
4、帖子:
subContent
序号
标识
属性名称
类型
占位
是否主键
是否外键
备注
1
帖子ID
subid
number
10
是
2
文章编号
conid
number
4
是
3
内容
subcontent
Varchar2
2000
4
发布时间
stime
Date
5
跟贴人
userid
number
4
是
Userinfo(userid)
3.4物理结构设计
1、管理员表mgrinfo
2.会员表
3、内容
4、帖子
4生成数据库脚本
/*==============================================================*/
/*Table:
content*/
/*==============================================================*/
createtablecontent(
conidnumber(10)notnull,
useridnumber(4),
contitlevarchar2(100),
contentvarchar2(2000),
stimedate,
constraintPK_CONTENTprimarykey(conid)
);
/*==============================================================*/
/*Table:
mgrinfo*/
/*==============================================================*/
createtablemgrinfo(
mgridNUMBER(4)notnull,
mgrnamevarchar2(20),
mgrpassvarchar2(20),
constraintPK_MGRINFOprimarykey(mgrid)
);
/*==============================================================*/
/*Table:
subcontent*/
/*==============================================================*/
createtablesubcontent(
subidnumber(10)notnull,
conidnumber(10),
useridnumber(4),
subcontentvarchar2(2000),
stimedate,
constraintPK_SUBCONTENTprimarykey(subid)
);
/*==============================================================*/
/*Table:
userinfo*/
/*==============================================================*/
createtableuserinfo(
useridnumber(4)notnull,
usernamevarchar2(20),
userpassvarchar2(20),
userpicvarchar2(100),
userqqvarchar2(30),
usertellvarchar(20),
emailvarchar2(50),
userpagevarchar2(50),
userdelnumber
(1),
constraintPK_USERINFOprimarykey(userid)
);
altertablecontent
addconstraintFK_CON_USERforeignkey(userid)
referencesuserinfo(userid);
altertablesubcontent
addconstraintFK_SUB_CONTforeignkey(conid)
referencescontent(conid);
altertablesubcontent
addconstraintFK_SUB_RUSforeignkey(userid)
referencesuserinfo(userid);
5初始化数据
5.1管理员表
5.2会员表
5.3文章表
5.4跟帖表