校园新闻发布系统数据库设计v3.0.doc_第1页
校园新闻发布系统数据库设计v3.0.doc_第2页
校园新闻发布系统数据库设计v3.0.doc_第3页
校园新闻发布系统数据库设计v3.0.doc_第4页
校园新闻发布系统数据库设计v3.0.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

校园新闻发布系统数据库设计报告小组成员:小组成员:曾飞跃、陈炜杰、林派腾、黄宏亮、廖晓丹指导教师:指导教师:白晨明老师第2页共12页目录目录0.文档介绍文档介绍.30.1文档目的.30.2文档范围.30.3用户的特点.30.4参考文献.31.数据库环境说明数据库环境说明.42.数据库的命名规则数据库的命名规则.43.E-R图.64.0表汇总.6表1后台用户表admin_M.6表2新闻分类表NewsType.7表3新闻信息表tb_news.7表4评论表tbl_commentary.7表5新闻用户表User_M.85.安全性设计安全性设计.85.1防止用户直接操作数据库的方法.85.2用户帐号密码的加密方法.86角色与权限角色与权限.97.优化优化.98.数据库管理与维护说明数据库管理与维护说明.98.1数据库日常检查.99.数据库代码数据库代码.10第3页共12页0.文档介绍文档介绍0.1文档目的文档目的本文档为校园新闻发布系统的数据库设计文档,主要介绍系统的数据库设计,给出了系统的逻辑设计和物理设计,同时给出了数据库环境的说明,确定了数据库命名规则,给出了数据库的优化方案、安全性设计方案和数据库维护、管理等内容,本文档可作为项目开发人员在数据库实现时的参考和规范。0.2文档范围文档范围本文档适用于项目开发的设计阶段,在项目开发阶段可按照本文档检验数据库的实施情况。0.3用户的特点用户的特点用户教育水平技术专长预期使用频率管理员大学及以上计算机相关频繁新闻审核员大学及以上新闻相关一般新闻浏览用户大学及以上无一般0.4参考文献参考文献【01】王珊萨师煊,数据库系统概论,高等教育出版社,2006-05-04第4页共12页1.数据库环境说明数据库环境说明数据库系统:MySQL数据库设计工具:PowerDesigner编程工具:PowerDesigner2.数据库的命名规则数据库的命名规则2.1数据库涉及字符规则采用26个英文字母(区分大小写)和09这十个自然数,加上下划线_组成,共63个字符。不能出现其他字符(注释除外)。2.2数据库对象命名规则数据库对象包括表、视图(查询)、存储过程(参数查询)、函数、约束。对象名字由前缀和实际名字组成,长度不超过30。前缀:使用小写字母。如:表tb视图vi存储过程sp函数fn实际名字实际名字尽量描述实体的内容,由单词或单词组合,每个单词的首字母大写,其他字母小写,不以数字和_开头。因此,合法的对象名字类似如下。表tbUser_Info、tbMessage_Detail视图vi_MessageList存储过程sp_MessageAdd2.3数据库表命名规则第5页共12页字段由前缀和实际名字组成。实际名字中首单词一个系统尽量采取同一单词。前缀:使用小写字母tb,表示表。例如:tbMembertbMember_InfotbForum_BoardtbForum_Thread12.4字段命名规则数字、字符、日期时间、lob(大对象)、杂项,字段由表的简称、下划线,实际名字加后缀组成。后缀:使用小写字母,代表该字段的属性。例如:User_IdintUser_NamestrUser_RegDatedtm2.5视图命名规则字段由前缀和实际名字组成,中间用下划线连接。前缀:使用小写字母vi,表示视图。例如:vi_Uservi_UserInfo2.6存储过程命名规则字段由前缀和实际名字组成,中间用下划线连接。前缀:使用小写字母sp,表示存储过程。例如:sp_User2.7SQL语句规则所有SQL语句的关键词全部大写或首字母大写,比如SELECTUPDATEFROMORDERBY等。第6页共12页3.E-R图图管理员新闻新闻评论新闻类别管理属于拥有用户名密码编号角色编号类别标题内容时间评论编号所属新闻评论内容评论时间评论人分类名称分类编号11nnnn1111nn审核状态新闻浏览用户用户名偏好关键词密码用户编号发表nn114.0表汇总表汇总表表1后台用户表后台用户表admin_M字段名数据类型宽度精度约束说明Ad_idintpk用户编号,主键Ad_namevarchar30用户名,非空Ad_pwdvarchar30密码Usergradevarchar30用户角色第7页共12页表表2新闻分类表新闻分类表NewsType字段名数据类型宽度精度约束说明Type_idintpk标识,主键ClassIDvarchar30分类编号ClassNamevarchar30类别名称表表3新闻信息表新闻信息表tb_news字段名数据类型宽度精度约束说明newsidintpk标识,主键categoryidintfk新闻分类标识Titlevarchar50新闻标题Contentvarchar256内容Checkvarchar20审核状态Addtimevarchar50上传时间表表4评论表评论表tbl_commentary字段名数据类型宽度精度约束说明Tbl_idintpk标识,主键newsidintfk新闻标识,外键,关联tbl_news(id)ContentVarchar256评论内容第8页共12页CommentsVarchar50Fk评论人ReviewtimeVarchar29评论时间表表5新闻用户表新闻用户表User_M字段名数据类型宽度精度约束说明User_idintpk用户编号,主键User_namevarchar30用户名,非空User_pwdvarchar30密码Keywordvarchar100搜索关键词5.安全性设计安全性设计5.1防止用户直接操作数据库的方法防止用户直接操作数据库的方法1.用户权限控制给每个用户角色限制权限,不同的角色拥有不同的权限,用户只能行使自己权限范围内的权限,如普通用户只能查看自己的借阅记录不能任意修改,而管理员和超级管理员则可以修改用户的借阅记录,通过角色,权限等的一系列授予和回收操作可以有效的进行用户的权限控制,从而防止用户恶意操作、篡改数据库信息。2.数据库登录设密给数据库设置登录账号和密码,只有拥有直接访问数据库权限的用户在键入正确的账号和密码后才能通过软件登录到数据库进行操作,可防止用户恶意操作数据库。3.限制操作系统存取权限使用Oracle数据库系统是依存在操作系统之上的,如果操作系统被人侵入,那么通过修改配置文件等一系列方法,Oracle数据库的安全性也将荡然无存,所以对于安全性高的数据库,可以通过限制操作系统的存取权限来提高数据库的安全性。5.2用户帐号密码的加密方法用户帐号密码的加密方法使用MD5加密方法对用户账号密码进行加密。第9页共12页MD5方法采用单项加密的加密方法,即只能对数据进行加密,而不能对加密后的数据进行解密,这样经过MD5算法处理的账号和秘密存储在数据库中即使被人恶意获取到,也不可能知道密码的具体数据,即做到了对账号密码的更强的保护。6角色与权限角色与权限角色可以访问的表与列操作权限超级管理员所有表及列增删改查Users、UserRole、OverLimitRecord、LostRecord、BorrowRecord、Book、Library、BookCategory、BookKinds增删改查管理员UserRights、SystemLog查看Users查看、修改、删除、增加信息普通用户OverLimitRecord、LostRecord、BorrowRecord、Book、Library查看7.优化优化优先级优化对象(目标)措施高数据库索引根据查询条件建立索引优化索引、优化访问方式,限制结果集的数据量高数据库碎片定期整理数据库产生的碎片,提高数据库的性能高数据库缓存优化数据库缓存方案高数据库对象优化数据库对象的放置策略,尽量让数据库对象均匀地把数据分布在系统的磁盘中,平衡IO访问,避免IO瓶颈。8.数据库管理与维护说明数据库管理与维护说明8.1数据库日常检查数据库日常检查1.检查数据库状态:确认数据库是否在open状态,正常提供服务。SQLselectstatusinstance_rolefromv$instance2.数据库版本检查:数据库应该打了最新的patchset。SQLselectfromv$version3.查看SGA区域:SGA区各项buffer之和应该小于系统物理内存的一半。第10页共12页SQLshowsga;4.回滚段竞争检查:如果是oracle8i版本返回值应该低于2%。如果该值过高,8i需要手工建立更多的回滚段,如果是9i返回值应该为0,如果持续存在非零值,应该增加回滚表空间的大小。8i:SQLselectTheaverageofwaitsgetsis|round(sum(waits)sum(gets)1002)|%Fromv$rollstat9i:SQLselectdistinctnospaceerrcntasnospaceFromv$undostatWherebegin_timesysdate-(112)5.查看日志文件:数据库运行时,可以通过查询v$log_history来观察logswitch的切换时间。联机日志最好是业务非高峰期每小时切换一次,业务高峰期20分钟左右切换一次。SQLselectto_char(first_timeyyyy-mm-ddhh24:mi:ss)change_timefromv$log_history6.查看表空间:查看各个表空间所占的大小,剩余空间,使用空间百分比等信息,特别是当业务表空间的剩余空间低于50M或者使用空间百分比大于90%时,需要考虑增加表空间的大小。SQLselecta.tablespace_namea.bytestotalbytessum(b.bytes)freebytesfromdba_data_filesadba_free_spacebwherea.file_id=b.file_idgroupbya.tablespace_namea.bytes7.检查job状态:Broken列应该为N;如果Broken列为Y,检查oracle告警日志分析job失败的原因。解决后运行:cdbms_job.run(:job)SQLselectjobwhatto_char(next_dateyyyymmddhh24:mi:ss)brokenfailuresfromdba_jobs8.查看数据库连接用户:查看当前数据库连接的用户进程的具体信息,包括连接的数据库用户名,机器名,运行的程序名,进程状态。selectusernamemachineprogramstatusfromv$sessionwhereosuseroracle9.数据库代码数据库代码-后台用户表createtableadmin_M(Ad_idintprimarykey-用户编号第11页共12页Ad_namevarchar(30)notnull-用户名Ad_pwdvarchar(30)notnull-用户密码Usergradevarchar(30)-用户角色)-新闻分类表createtableNewsType(Type_idintprimarykey-标识ClassIDvarchar(30)notnull-分类编号ClassNamevarchar(30)-类别名称)-新闻信息表createtabletb_news(newsidintprimarykey-标识categoryidint-新闻分类标识Titlevarchar(50)notnull-新闻标题Ttextvarchar(256)notnull-内容TCheckvarchar(20)-审核状态Addtimedatetime-上传时间)-评论表第12页共12页createtabletbl_commentary(Tbl_idintprimarykey-标识ne

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论