1、案卷号02日期 天下古今论坛系统数据库设计阐明书 作 者: 完毕日期: -7-4 签 收 人: 签收日期: 修改状况记录:版本号修改批准人修改人修改日期签收人V1.0目录 1 引言11.1 编写目11.2 背景11.3 定义12 外部设计22.1 标记符和状态22.3 商定22.4 专门指引23 构造设计33.1概念构造设计33.2 PDM图:33.3数据字典33.4 物理构造设计54 生成数据库脚本75 初始化数据105.1管理员表:105.2会员表:105.3文章表:115.4跟帖表:111 引言1.1 编写目数据库设计阐明书编写目是为了向整个开发期提供后台数据库设计,包括:表、存储过程、
2、触发器、序列等。顾客:数据库设计人员、软件开发人员、软件维护人员。1.2 背景项目名称:天下古今论坛系统委托单位:开发单位:1.3 定义主键:是用来唯一表述一条数据字段,其值不能重复且不能为空。外键:也叫侯选键,可以完全决定所有属性那些字段称为侯选键表(Table):数据库中表与咱们寻常生活中使用表格类似,它也是由行 (Row)和列(Column)构成。列由同类信息构成,每列又称为一种“字段”,每列标题称为列名。行涉及了若干列信息项,一行数据称为一条“记录”,它表达有一定意义信息组合。一种数据库表由一条或多条记录构成,没有登记表称为空表。每个表中普通均有一种主核心字,用于唯一地拟定一条记录。索
3、引(Index):索引是依照指定数据库表列建立起来顺序,它提供了迅速访问数据途径,并且可以监督表数据,使其索引所指向列中数据不重复。视图(View):视图看上去同表同样,具备一组命名列和数据项,但它其实是一种虚拟表,在数据库中并不实际存在。视图是由查询数据库表产生,它限制了顾客能看到和修改数据。由此可见,视图可以用来控制顾客对数据访问,并能简化数据显示,即通过视图只显示那些需要数据信息。图表(Diagram):其实就是数据库表之间关系示意图,运用它可以编辑表与表之间关系。默认值(Default):它是在表中创立列或插入数据时,对没有指定其详细值列或列数据项赋予事先设定好值。顾客(User):顾
4、客就是有权限访问数据库人。关系模型:用二维表格构造表达实体集,外键表达实体间联系数据模型称为关系模型。关系模型是由若干个关系模式构成集合。关系模式:关系模式事实上就是记录类型。它涉及:模式名,属性名,值域名以及模式主键。关系模式仅是对数据特性描述。1.4 参照资料王海亮、林立新精通Oracle.10g.Pl.SQL编程Benjamin RosenzweigOracle PL/SQL实例精解2 外部设计2.1 标记符和状态方案名称:fmdbs2.2 使用它程序访问此数据库所有应用程序:天下古今论坛系统2.3 商定管理员表 mgrinfo会员表 useinfo文章表 content跟帖表 subc
5、ontent2.4 专门指引无专门指引,在实习迈进行了某些课程铺垫。3 构造设计3.1概念构造设计数据实体中文名数据库表名数据实体描述管理员表mgrinfo存储管理员姓名、管理员密码会员表useinfor存储会员信息文章表content存储会员刊登文章信息跟帖表subcontent存储会员跟帖信息3.2 PDM图3.3数据字典表(Table)1、管理员表 mgrinfo序号标记属性名称类型占位与否主键与否外键备注1管理员IDMgridnumber4是2管理员名mgrnameVarchar2203管理员密码MgrpassVarchar2202、会员表:userinfo序号标记属性名称类型占位与否
6、主键与否外键备注1会员IDuseridnumber4是2会员名usernameVarchar2203会员密码userpassVarchar2204头像userpicVarchar21005QQ号userqqVarchar2306电话UsertellVarchar2207eMailUseremailVarchar2508个人主页UserpageVarchar2509删除标记userdelnumber13、文章表:content序号标记属性名称类型占位与否主键与否外键备注1文章IDconidnumber10是2标题contitleVarchar21003内容contentVarchar24发布时间
7、stimeDate5发布人useridnumber4是Userinfo(userid)4、帖子:subContent序号标记属性名称类型占位与否主键与否外键备注1帖子IDsubidnumber10是2文章编号conidnumber4是3内容subcontentVarchar24发布时间stimeDate5跟贴人useridnumber4是Userinfo(userid)3.4 物理构造设计1、管理员表 mgrinfo2.会员表3、内容4、帖子4 生成数据库脚本/*=*/* Table:content */*=*/create table content ( conid number(10) n
8、ot null, userid number(4), contitle varchar2(100), content varchar2(), stime date, constraint PK_CONTENT primary key (conid);/*=*/* Table:mgrinfo */*=*/create table mgrinfo ( mgrid NUMBER(4) not null, mgrname varchar2(20), mgrpass varchar2(20), constraint PK_MGRINFO primary key (mgrid);/*=*/* Table:
9、subcontent */*=*/create table subcontent ( subid number(10) not null, conid number(10), userid number(4), subcontent varchar2(), stime date, constraint PK_SUBCONTENT primary key (subid);/*=*/* Table:userinfo */*=*/create table userinfo ( userid number(4) not null, username varchar2(20), userpass var
10、char2(20), userpic varchar2(100), userqq varchar2(30), usertell varchar(20), email varchar2(50), userpage varchar2(50), userdel number(1), constraint PK_USERINFO primary key (userid);alter table content add constraint FK_CON_USER foreign key (userid) references userinfo (userid);alter table subcontent add constraint FK_SUB_CONT foreign key (conid) references content (conid);alter table subcontent add constraint FK_SUB_RUS foreign key (userid) references userinfo (userid);5 初始化数据5.1管理员表5.2会员表5.3文章表5.4跟帖表