本科毕业生个人软件项目数据库设计文档项目名称美味食谱网职 称高级软件工程师山西农业大学软件学院2016 年 12 月目录 TOC \o "1-3" \h \z \u 目 录 2 1 引言 1 1.1 编写目的 1 1.2 背景 1 1.3 参考资料 1 2 结构设计 1 2.1 概念结构设计 1 2.2 物理结构设计 2 2.3 逻辑结构设计 3 3 运用设计 6 3.1 安全保密设计 6 PAGE 61 引言1.1 编写目的本文档是美味食谱网概要设计文档的组成部分,编写数据库设计文档的目的是:明确数据库的表名、字段名等数据信息,用来指导后期的数据库脚本的开发。本文档的读者对象是需求人员、系统设计人员、开发人员、测试人员。1.2 背景待开发的数据库的名称:shipu使用此数据库的软件系统的名称:Oracle 12c数据库本项目的任务开发者:王晓强将安装该软件和这个数据库的单位:项目开发者系统名称:美味食谱网版本:1.01.3 参考资料1. 《数据库设计文档基本格式》 2. 《美味食谱需求规格说明书》3. 《数据库系统原理教程》2 结构设计2.1 概念结构设计使用E-R图来说明本数据库将反映的现实世界中的实体、属性和它们之间的关系等的原始数据形式,包括各数据项、记录、系、文卷的标识符、定义、类型、度量单位和值域等。
2.2 物理结构设计a. 确定关系模型的存取方法:在实际设计中最常用的存取方法是索引,使用索引可以大大减少数据的查询时间,在建立索引时应遵循:在经常需要搜索的列上建立索引; 在主关键字上建立索引;在经常用于连接的列上建立索引,即在外键上建立索引;在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的等规则。才能充分利用索引的作用避免因索引引起的负面作用。 b. 确定数据库的存储结构:确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。 将日志文件和数据库对象(表、索引等)分别放在不同的磁盘可以改进系统的性能。所以系统将日志文件和数据文件存放在不同磁盘上。2.3 逻辑结构设计将概念结构转化为一般的关系、网状、层次模型,并将转化来的模型向特定DBMS支持下的数据模型转换。对数据模型进行规范化优化。用户协议表Agreement中文名字段名字段类型长度是否为空主键协议编号AG_IDNUMBER()6Not Nullprimary key协议内容AG_CONTENTVARCHAR2()4000表2-1 用户协议表设计用户信息表Users中文名字段名字段类型长度是否为空主键用户编号U_IDNUMBER()6Not Nullprimary key用户名U_NAMEVARCHAR2()50邮箱U_EMAILVARCHAR2()100联系方式U_TELEVARCHAR2()20是否为管理员ISADMINVARCHAR2()6密码U_PASSVARCHAR2()100头像U_IMAGEVARCHAR2()100性别U_SEXVARCHAR2()6注册时间U_BORNDATEDATE表2-2 用户信息表设计美食家表Authors中文名字段名字段类型长度是否为空主键美食家编号A_IDNUMBER()6Not Nullprimary key姓名A_NAMEVARCHAR2()50Not Null邮箱A_EMAILVARCHAR2()100电话A_TELEVARCHAR2()20性别A_SEXVARCHAR2()10地址ADDRESSVARCHAR2()100照片A_IMGAGEVARCHAR2()100出生日期A_BORNDATEDATE简介A_CONTENTVARCHAR2()4000表2-3 美食家表设计美食营养成分信息表Cainutri中文名字段名字段类型长度是否为空主键美食成分编号CN_IDNUMBER()6Not Nullprimary key菜谱编号CP_IDNUMBER() 6外键营养成分编号N_IDNUMBER()6外键成分含量CN_NUMNUMBER()6表2-4 美食营养成分信息表设计菜谱信息表Caipu中文名字段名字段类型长度是否为空主键菜谱编号CP_IDNUMBER()6Not Nullprimary key菜系编号CX_IDNUMBER() 6外键菜谱名CP_NAMEVARCHAR2()100星级CP_STARNUMBER()6菜谱图片CP_IMAGEVARCHAR2()100添加时间CP_DATEDATE点击次数CP_TIMENUMBER()6表2-5 菜谱信息表设计菜谱详情信息表Caipu_detail中文名字段名字段类型长度是否为空主键菜谱详情编号CD_IDNUMBER()6Not Nullprimary key菜谱编号CP_IDNUMBER() 6外键菜谱详情CD_CONTENTVARCHAR2()4000详情图片CD_IMAGEVARCHAR2()100表2-6 菜谱详情信息表设计菜系信息表Caixi中文名字段名字段类型长度是否为空主键菜系编号CX_IDNUMBER()6Not Nullprimary key菜系名称CX_NAMEVARCHAR2()100菜系简介CX_CONTENTVARCHAR2()4000表2-7 菜系信息表设计营养成分表Nutritional中文名字段名字段类型长度是否为空主键营养成分编号N_IDNUMBER()6Not Nullprimary key营养成分名称N_NAMEVARCHAR2()100计量单位N_LCVARCHAR2()100表2-8 营养成分表设计轮播图片表Mimage中文名字段名字段类型长度是否为空主键图片编号M_IDNUMBER()6Not Nullprimary key轮播图片M_IMAGEVARCHAR2()100图片标语M_CONTENTVARCHAR2()100表2-9 轮播图片表设计3 运用设计3.1 安全保密设计用户分为两类:普通用户、管理员。
普通用户只有浏览的功能;管理员来管理平台的所有信息。角色可访问的表权限普通用户Caipu查询访问管理员CaipuCaixiUsersAuthorsCaipu_detailMimageCainutriNutritionalagreement查询,发布,修改,删除菜谱信息查询,新增,修改,删除菜系信息查询,新增,修改,删除用户信息查询,新增,修改,删除美食家信息查询,新增,修改,删除菜谱详情信息查询,新增,修改,删除轮播图片信息查询,新增,修改,删除美食成分信息查询,新增,修改,删除营养成分信息查询,新增,修改,删除用户协议信息表3-1 权限设置
、