数据库设计说明书
数据库设计说明书

一、引言1.1编写目的数据库的设计是为了让参与本项目的数据库系统开发人员和测试人员以及以后维护人员了解本系统的数据库设计思路,数据库的详细架构以及各种详细信息。
为后面编码、测试以及维护阶段的后台数据的存储做准备。
预期的读者:用户、数据库系统开发人员、系统测试人员和系统维护人员。
本数据库说明书是根据项目需求分析设计所写。
1.2背景如今随着计算机技术的不断发展,市场科技化,产品电子化不断深入人心。
随着信息时代人们对信息更快,更准确,更广泛的增加,人们对信息的筛选显得尤为重要。
以后用户在海量的信息中往往难以发掘到自己感兴趣的信息集合,被大多数无用或者无关的信息所充斥。
用户可以通过使用该软件在移动终端完成寻找具有相同爱好的用户或者相关信息,实现跨领域寻求帮助、陌生人社交、熟人社交、二手交易等信息整合操作。
1.3定义列出本文件中用到的专门术语的定义、外文首字母组词的原词组。
CDM:Conceptual Data Model,概念数据模型PDM:Physical Data Model,物理数据模型1.4参考资料[1]王珊,萨师煊编著.《数据库系统概论》第5版.高等教育出版社[2](美)Roger S.Pressman著,郑人杰等译.《软件工程》.第8版.北京:机械工业出版社,2016.12[3]邹欣著.《现代软件工程——构建之法》.第三版.人民邮电出版社[4][[英]Ben Forta著.刘晓霞,钟鸣译.《MySQL必知必会》.人民邮电出版社二、外部设计2.1标识符和状态数据库软件的名称:MYSQL(ver.5.5.5-10.3.17)数据库的名称:字符集采用utf-8,请注意字符的转换。
本数据库中的字段均不加前缀。
2.2使用它的程序移动端:安卓系统福大同好APP2.3约定所有的数据库命名都是以具体表的英文词汇组成,这样可以统一数据库表的命名,也能够更好的规范数据库表的命名。
所有表中的第一个字段都是系统使用的主键列,自增字段,不可为空,名称id,确保不把此字段暴露给用户。
数据库设计说明书范文例子

数据库设计说明书范文例子数据库设计说明书1、引言本文档旨在详细说明数据库设计的相关内容,包括数据库的结构设计、数据表设计、索引设计等。
通过本文档,读者可以了解本系统的数据库设计思路和实现细节。
2、数据库结构设计2.1 数据库概述本系统采用关系型数据库,以存储和管理系统的各类数据。
2.2 数据库架构数据库采用三层架构,包括数据访问层、数据库逻辑层和存储层。
其中,数据访问层负责与应用程序交互,提供数据操作接口;数据库逻辑层负责处理数据的逻辑关系和业务规则;存储层负责实际存储数据。
2.3 数据库安全性设计为确保数据的安全性,数据库采用权限控制机制,只有经过授权的用户才能访问和操作数据库。
同时,对重要数据进行加密存储,提高数据的保密性。
3、数据表设计3.1 用户表用户表用于存储系统用户的基本信息,包括用户名、密码、权限等字段。
3.2 订单表订单表用于记录用户的订单信息,包括订单号、下单时间、订单金额等字段。
3.3 商品表商品表用于存储系统中的商品信息,包括商品名称、价格、库存等字段。
3.4 购物车表购物车表用于记录用户的购物车信息,包括用户ID、商品ID、购买数量等字段。
4、索引设计为提高数据库的查询效率,我们对一些常用字段添加了索引。
例如,在订单表中,我们为订单号和用户ID添加了索引。
5、附件本文档所涉及的附件包括数据库表结构图、索引设计图等。
具体附件请参见附件文件。
6、法律名词及注释本文档中所涉及的法律名词及其注释如下:1)基本信息:指个人或组织的基本身份信息,如姓名、性别、联系方式等。
2)权限:指用户在系统中所具备的操作权限,用于限制用户对数据的访问和操作。
3)加密存储:指通过加密算法将数据进行加密处理,提高数据的保密性和安全性。
4)索引:指数据库中用于提高查询效率的数据结构,加速查询速度。
xx系统数据库设计说明书

xx系统数据库设计说明书xx系统数据库设计说明书1. 引言1.1 编写目的本文档旨在详细描述xx系统的数据库设计,并提供相应的参考和指导。
1.2 读者对象本文档的主要读者对象为系统开发人员、数据库管理员以及相关的技术人员。
1.3 背景介绍xx系统的背景和相关的业务需求。
2. 数据库设计概述2.1 数据库基本信息描述数据库的基本信息,包括数据库名称、版本、开发环境等。
2.2 数据库模型介绍数据库模型的选择和设计原则。
2.3 数据库架构描述数据库的整体架构,包括数据表、视图、索引、存储过程等。
3. 数据表设计3.1 数据表列表列出系统中的所有数据表,包括表名、描述、关联关系等。
3.2 数据表字段设计对每个数据表的字段进行详细的描述,包括字段名、数据类型、长度、是否为空、默认值等。
3.3 约束和索引设计描述表之间的关联关系和约束条件,以及相应的索引设计。
4. 视图设计4.1 视图列表列出系统中的所有视图,包括视图名称、描述、关联的数据表等。
4.2 视图字段设计描述每个视图中的字段,包括字段名、数据类型、长度等。
5. 存储过程和函数设计5.1 存储过程列表列出系统中的所有存储过程,包括存储过程名称、描述、输入输出参数等。
5.2 存储过程详细设计对每个存储过程进行详细的描述,包括过程逻辑、参数说明等。
6. 数据库安全设计6.1 用户权限设计描述系统中不同用户的权限设置,包括用户角色、权限列表等。
6.2 数据库备份和恢复策略介绍数据库备份和恢复的策略和步骤。
7. 附件本文档涉及的附件,包括数据库设计脚本、示意图等。
8. 法律名词及注释本文所涉及的法律名词和相关注释,旨在帮助读者更好地理解文档内容。
(完整)数据库设计说明书

数据库设计说明书
一引言
1.1 编写目的
为了让参与本项目的项目主管、业务分析师、项目开发人员、数据库管人员及以后的系统维护人员了解本系统的数据库设计思路、数据库整体架构及各种详细信息,也为了以后的各个项目可以参与借鉴该项目的经验,特编写此文档。
1.2 术语定义
本项目采用的是MySQL数据库,其中系统涉及到两个库,iavmbridge及iavmdir。
Iavmbridge:主要保存本节点及下级站点的所有数据。
Iavmdir:主要保存当前节点的所有数据。
二表详细设计
2。
1 Iavmbridge库下的表详细信息
表名:device_avencoder备注:音视频设备表,本节点下的所有摄像机、DVR、NVR。
表名:locationgroupunderusergroup 备注:设备通道与用户组及目录服务之
表名:location_avencoder 备注:音视频设备及设备下通道与转发服务及录像
2.2 Iavmdir库下的表详细信息。
系统数据库设计说明书

XXXXX工作平台数据库设计说明书XXXXXX有限公司2015年7月1引言 (1)1.1编写目的 (1)1.2背景 (1)1.3定义 (1)1.4参考资料 (1)2外部设计 (2)2.1标识符和状态 (2)2.2使用它的程序 (2)2.3约定 (2)2.4专门指导 (2)2.5支持软件 (3)3结构设计 (3)3.1概念结构设计 (3)3.2逻辑结构设计 (13)3.3物理结构设计 (14)4运用设计 (15)4.1数据字典设计 (15)4.2安全保密设计 (15)1引言1.1编写目的本文档说明了此平台的数据库的设计,以作为系统开发实现的依据。
本文主要阅读对象为业主方、承建方相关技术人员和项目责任人。
1.2背景>开发者:XXXXX有限公司>用户:XXXXXX>运行该程序系统的计算中心:本系统将使用mysql最新版(5.6)作为数据库存储系统1.3定义1.4参考资料>《软件开发管理规范》> 《ISO 9001:2000》2外部设计2.1标识符和状态数据库软件:MySQL Server 5.6系统要求建立的数据库名称:fireControl;2.2使用它的程序可能使用的该数据库的应用程序包括:1、XXXXX工作平台2015年5月;2.3约定1、新建表时以t_起始,如用户表t_user。
2.4专门指导系统使用JDBC(Java Data Base Connectivity,java数据库连接)实现与数据库的接口,JDBC是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。
有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。
换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。
5 数据库设计说明书(GB8567——88)

5 数据库设计说明书(GB8567——88)数据库设计说明书(GB8567——88)1.引言1.1 编写目的本文档旨在详细描述数据库的设计方案和设计原则,以满足相应的功能和性能要求。
1.2 读者对象本文档主要面向项目开发人员、数据库管理员以及其他需要了解数据库结构和设计方案的相关人员。
1.3 术语和缩写在本文档中,使用以下术语和缩写:- DBMS:数据库管理系统- SQL:结构化查询语言- ER图:实体关系图- 索引:用于快速搜索和访问数据库中数据的数据结构2.数据库概述2.1 数据库系统简介数据库系统是指由DBMS控制和管理的一组相关数据的集合。
它提供了数据存储、数据组织和数据访问的功能。
2.2 数据库设计目标本数据库的设计目标包括:- 数据存储和访问的高效性- 数据的完整性和一致性- 数据的安全性和可靠性- 数据的易于扩展和维护性3.数据库结构设计3.1 实体-关系模型设计根据系统需求和功能规范,使用实体-关系模型进行数据库结构设计。
通过定义实体和实体之间的关系,建立起数据的逻辑结构。
3.2 属性定义对于每个实体和关系,定义其各个属性的数据类型、大小和约束条件。
3.3 主键和外键定义确定并定义实体的主键和关系的外键,用于唯一标识实体和关系之间的联系。
4.数据库物理设计4.1 数据库存储结构根据数据库的大小和访问模式,设计适合的物理存储结构。
常用的存储结构包括表空间、数据文件和日志文件等。
4.2 数据库索引设计对于经常需要进行检索的属性,设计合适的索引结构以提高检索性能。
5.数据库安全设计5.1 用户身份验证和权限控制设计合适的用户身份验证机制,确保只有授权的用户可以访问数据库,并且根据用户的角色和权限进行访问控制。
5.2 数据备份和恢复设计合理的数据备份和恢复策略,以保证数据库数据在发生意外情况时的可靠性和完整性。
5.3 数据库加密根据实际需要,设计数据库中敏感数据的加密方式,保护数据的隐私和安全。
数据库设计说明书

数据库设计说明书
一、引言
数据库是现代软件开发中非常重要的一个组成部分,它能够提供持久
化存储、高效读写和数据查询等功能,为系统的稳定性和性能提供了重要
的支持。
本文将介绍一个基于关系型数据库的设计方案,并详细说明数据
库的结构、表的设计和关系的建立。
二、需求分析
三、数据库结构设计
基于需求分析,我们设计了以下几个主要的表格:用户表、产品表、
订单表和评论表。
其中,用户表用于存储用户的个人信息,包括用户ID、用户名、密码等字段;产品表用于存储产品的信息,包括产品ID、产品
名称、价格等字段;订单表用于存储用户的订单信息,包括订单ID、用
户ID、产品ID、订单状态等字段;评论表用于存储用户对产品的评论信息,包括评论ID、用户ID、产品ID、评论内容等字段。
通过这些表格的
设计,可以满足系统的功能需求。
四、关系建立
为了建立表格之间的关系,我们为每个表格添加了外键。
在用户表中,用户ID为主键,在订单表和评论表中作为外键与用户表建立关联;在产
品表中,产品ID为主键,在订单表和评论表中作为外键与产品表建立关联;在订单表中,订单ID为主键,在评论表中作为外键与订单表建立关联。
通过这样的关系建立,可以方便地进行数据查询和关联操作。
五、总结
本文介绍了一个基于关系型数据库的设计方案,并详细说明了数据库
的结构、表的设计和关系的建立。
通过合理的数据库设计,可以为系统提
供高效的数据存储和查询功能,提升系统的稳定性和性能。
在实际开发中,需要根据实际需求进行进一步的细化和优化,以满足系统的需求。
数据库设计说明书

1引言1.1编写目的1.2背景1.3定义1.4参考资料2外部设计2.1功能模块分析 2.2数据流图3结构设计3.1概念结构设计 3.2逻辑结构设计 3.3物理结构设计4运用设计4.1数据字典设计 4.2安全保密设计数据库设计说明书1引言1.1编写目的说明编写这份数据库设计说明书的目的,指出预期的读者。
1.2背景说明:a.说明待开发的数据库的名称和使用此数据库的软件系统的名称;b.列出该软件系统开发项目的任务提出者、用户以及将安装该软件和这个数据库的计算站(中心)。
1.3定义列出本文件中用到的专门术语的定义、外文首字母组词的原词组。
1.4参考资料列出有关的参考资料:a.本项目的经核准的计划任务书或合同、上级机关批文;b.属于本项目的其他已发表的文件;c.本文件中各处引用到的文件资料,包括所要用到的软件开发标准。
列出这些文件的标题、文件编号、发表日期和出版单位,说明能够取得这些文件的来源。
2外部设计2.1模块功能分析1、系统用户:教师、学生、管理员2、用户的管理:教师、学生、管理员的增、删、改3、课程的管理:添加、删除、修改4、选课的管理:选课的开放和禁止,教师成绩输入开放和禁止5、学生的管理:登录、基本信息查询、选课、退课、成绩查询6、教师的管理:查询选课学生的信息、输入成绩2.2数据流图顶层进程查询选修信息3结构设计3.1概念结构设计局部E-R图1.学生如图3-1:图3-1 2.教师如图3-2:图3-2 3.课程如图3-3:图3-3 4.选课如图3-4:图3-4 5.管理员如图3-5:图3-5整体E-R图如图3-6:图3-63.2逻辑结构设计基本表1、教师基本表属性中文名称属性名类型长度说明教师编号Teacher_NO CHAR 20 教师统一编号,具有唯一性教师姓名TeacherCHAR 20 教师名称_NAME教师性别Teacher _SEX CHAR 4 教师性别教师年龄Teacher _AGE INT 18~100CHAR 20 教师电话教师电话Teacher_phone教师邮件Teacher_emaCHAR 50 邮箱地址il2、学生基本表属性中文名称属性名类型长度说明学号STUDENT_NO CHAR 20 酒店统一编号,具有唯一性学生姓名STUDENT_NAME CHAR 20 学生姓名学生性别STUDENT_SEX CHAR 4 学生性别学生年龄STUDENT_AGE INT 18~100学生电话STUDENT_PHONE CHAR 20 学生电话学生邮件STUDENT_EMAIL CHAR 50 学生邮箱3、课程基本表属性中文名称属性名类型长度说明课程号COURSE_NO CHAR 20 课程统一编号,具有唯一性课程名COURSE_NAME CHAR 20 课程名课程类型COURSE_TYPE CHAR 4 课程类型课程学分COURSE_CREDIT SMALLINT 学分大于0学期COURSE_SEMSTER SMALLINT 学期大于0学时COURSE_PERIOD SMALLINT 学时大于04、管理员表属性中文名称属性名类型长度说明管理员号Admin_NO CHAR 10 管理员统一编号,具有唯一性管理员名Admin_NAME CHAR 20 管理员名5、选课表属性中文名称属性名类型长度说明学生学号STUDENT_NO CHAR 20 主码:引用学生表的外码课程号COURSE_NO CHAR 20 主码:引用课程表的外码成绩GRADE Float 大于0视图1、未选课程(课程号,学生号)从选课基本表导出3、所有课程信息(课程号,教师号,选课状态)从课程和选课基本表导出4、选课(课程号,学生号,教师号,课程名,成绩)从课程表、选课表导出5、学生选课生成视图选课(课程号,学生号,教师的编号,课程名,成绩,是否已选)从选课表、课程表导出3.3物理结构设计建立系统程序员视图,包括:数据在内存中的安排,包括对索引区、缓冲区的设计;a.所使用的外存设备及外存空间的组织,包括索引区、数据块的组织与划分;b.访问数据的方式方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库设计说明书内容管理系统(DWCMS)版本历史1. 引言在使用任何数据库之前,都必须设计好数据库,包括将要存储的数据的类型,数据之间的相互关系以及数据的组织形式。
数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据。
为了合理地组织和高效率地存取数据,目前最好的方式,就是建立数据库系统,因此在系统的总体设计阶段,数据库的建立与设计是一项十分重要的内容。
由于数据库应用系统的复杂性,为了支持相关程序运行,数据库设计就变得异常复杂,因此最佳设计不可能一蹴而就,而只能是一种“反复探寻,逐步求精”的过程,也就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。
1.1 编写目的数据库设计的好坏是一个关键。
如果把企业的数据比做生命所必需的血液,那么数据库的设计就是应用中最重要的一部分,是一个系统的根基。
用于开发人员进行项目设计,以此作为编码的依据,同时也为后续的数据库维护工作提供了良好的使用说明,也可以作为未来版本升级时的重要参考资料。
数据库设计的目标是建立一个合适的数据模型。
这个数据模型应当是满足用户要求,既能合理地组织用户需要的所有数据,又能支持用户对数据的的所有处理功能。
并且要具有较高的范式,数据完整性好,效益高,便于理解和维护,没有数据冲突。
1.2 背景1.3 定义Lmbang:辣妈帮E-R图:实体关系图1.4 参考资料A. 《细说PHP》教程B. 《DWCMS项目需求分析说明书》C. 本项目相关的其他参考资料。
2. 外部设计外部设计是研究和考虑所要建立的数据库的信息环境,对数据库应用领域中各种信息要求和操作要求进行详细地分析,了解应用领域中数据项、数据项之间的关系和所有的数据操作的详细要求,了解哪些因素对响应时间、可用性和可靠性有较大的影响等各方面的因素。
2.1 标识符和状态数据库表前缀:lmbang_用户名:root密码;020808权限:全部有效时间:开发阶段说明:系统正式发布后,可能更改数据库用户/密码,请在统一位置编写数据库连接字符串,在发行前请予以改正。
2.2 使用它的程序本系统主要利用PHP作为前端的应用开发工具,使用MySQL作为后台的数据库,Linux或Windows均可作为系统平台。
2.3 约定■所有命名一定要具有描述性,杜绝一切拼音、或拼音英文混杂的命名方式。
■字符集采用 UTF-8,请注意字符的转换。
■所有数据表第一个字段都是系统内部使用主键列,自增字段,不可空,名称为: id,确保不把此字段暴露给最终用户。
■除特别说明外,所有日期格式都采用int格式,无时间值。
■除特别说明外,所有字段默认都设置不充许为空,需要设置默认值。
■所有普通索引的命名都是表名加设置索引的字段名组合,例如用户表 User 中 name字段设置普通索引,则索引名称命名方式为 user_name。
2.4 支持软件操作系统: Linux / Windows数据库系统:MySQL查询浏览工具:PHPMyAdmin命令行工具:mysql注意:mysql 命令行环境下对中文支持不好,可能无法书写带有中文的 SQL 语句,也不要使用PHPMyAdmin录入中文。
3.结构设计数据库的结构设计中有许许多多需要考虑的因素,如数据库的背景、应用环境等方面都需要有深入的了解,只有一个对所有这些因素都很了解的数据库设计专家,他设计的数据库才能易于使用和维护,并且具有高效和一致的特征。
虽然这样只对数据库设计过程有一个概要的了解,但是仍然有助于读者了解和掌握 SQL,使读者可以很好地分析数据间的相互关系在使用SQL进行报表的生成、子查询及视图等操作时,可以更好地进行操作。
3.1 概念结构设计概念数据库的设计是进行具体数据库设计的第一步,概念数据库设计的好坏直接影响到逻辑数据库的设计,影响到整个数据库的好坏。
我们已经得到了系统的数据流程图和数据字典,现在就是要结合数据规范化的理论,用一种模型将用户的数据要求明确地表示出来。
概念数据库的设计应该极易于转换为逻辑数据库模式,又容易被用户所理解。
概念数据库设计中最主要的就是采用实体-关系数据模型来确定数据库的结构。
数据是表达信息的一种重要的量化符号,是信息存在的一种重要形式。
数据模型则是数据特征的一种抽象。
它描述的是数据的共性,而不是描述个别的数据。
一般来说,数据模型包含两方面内容。
(1) 数据的静态特性:主要包括数据的基本结构、数据间的关系和数据之间的相互约束等特性。
(2) 数据的动态特性:主要包括对数据进行操作的方法。
在数据库系统设计中,建立反映客观信息的数据模型,是设计中最为重要的,也最基本的步骤之一。
数据模型是连接客观信息世界和数据库系统数据逻辑组织的桥梁,也是数据库设计人员与用户之间进行交流的共同基础。
概念数据库中采用的实体-关系模型,与传统的数据模型有所不同。
实体-关系模型是面向现实世界,而不是面向实现方法的,它主要是用使用方便,因而在数据库系统应用的设计中,得到了广泛应用。
实体-关系模型可以用来说明数据库中实体的等级和属性。
以下是实体-关系模型中的重要标识:●在数据库中存在的实体●实体的属性●实体之间的关系3.1.1 实体和属性的定义按照定义的数据类型和属性创建实体和实体属性列表。
实体形成表,如“用户”就是一个实体,属性则为表中的列,如对应于实体“用户”属性包含“用户名”、“用户ID”等。
◆实体实体是实体-关系模型的基本对象,是现实世界中各种事物的抽象。
凡是可以相互区别开并可以被识别的事、物、概念等对象均可认为是实体。
本网站数据库中,基本的实体列表如下:●广告●意见反馈●帮●帮标签●帮分类●收藏●评论●日记●日记上传数据●达人●友情链接●热门搜索●加入的帮●赞●私信●私信记录表●图片●用户关系●举报●话题●用户●最近访问●最近浏览●网站信息●词语过滤在绘制实体-关系图(E-R 图)时,实体出现在矩形中。
如图1所示。
图1 表示实体的E·R图一般来说,每个实体都相当于数据库中的一个表。
上面介绍的实体都是强实体,每个实体都有自己的键。
但是在实际领域中,经常存在一些实体,它们没有自己的键,这样的实体称为弱实体。
弱实体中不同的记录有可能完全相同,难以区别,这些值依赖于另一个实体(强实体)的意义,必须与强实体联合使用。
在创建了实体之后,就可以标识各个实体的属性了。
◆属性每个实体都有一组特征或性质,称为实体的属性。
实体的属性值是数据库中存储的主要数据,一个属性实际上相当于表中的一个列。
下面来看看“文章”(article)实体。
这个实体具有哪些属性呢?对于一篇文章来说,都具有文章标题、文章简介、添加时间、文章来源、文章内容、关键字、访问次数、推荐状态、审核状态。
所以关于“文章”实体的属性如下:●文章标题(title)●文章编号(id)●文章简介(summary)●添加时间(posttime)●文章来源(comefrom)●文章内容(content)●关键字(keyword)●访问次数(views)●推荐状态(recommend)●审核状态(audit)实体“栏目(column)”包含的属性如下:●栏目标题(title)●栏目路径(path)●栏目描述(description)●排序编号(ord)由于篇幅有限这里就不列出所有实体的属性了,在绘制 E-R 图中,属性由椭圆包围,在属性和它所属的实体间使用直线进行连接,以实体brocms中“文章”为例进行示例,如图2所示。
图2 包含属性的 Department的 E-R图对于每个实体,都有其确定的主属性(实体中的主属性实际上相当于表中的主键),就可以惟一地确定实体的每个记录。
最好是创建一个单独的属性作为主属性,在实体文章中可以选择“文章编号”作为主属性,在绘制 E-R 图中,主属性在属性下加下划线来说明。
以实体“文章”为例进行示例,如图-3所示。
图3 定义了主属性的“文章”的 E-R图注意:在数据库设计中,选择和设置列作为主键是一个关键步骤。
3.1.2 E-R 图的绘制实体-关系图是表现实体-关系模型的图形工具,简称E-R 图。
这节会以DWCMS数据库为例,给出一个完整的数据库的E-R 图设计示例。
图3给出了在E-R 图中使用的各种元素的图形符号。
图-4 E-R图中使用的各种元素的图形符号在 E-R 图中,实体之间的关系以菱形表示,关系中各方面的表通过直线与菱形中的关系名称相连接。
还要为每个关系命名一个“关系名称”,实体与关系相连的直线旁都根据关系的属性标注有“1”或“N”。
E-R图为读者的数据库提供了一个不错的蓝图,可以分成三步进行:首先设计局部 E-R图;然后合并各局部 E-R 图,并解决可能存在的冲突,得到初步 E-R 图;最后修改和重构初步 E-R 图,消除其中的冗余部分,得到最终的全局 E-R 图,即概念模式。
设计全局 E-R模式的目的不在于把若干局部 E-R 模式形式上合并为一个 E-R 模式,而在于消除冲突使之成为能够被全系统中所有用户共同理解和接受的统一的概念模型。
使设计人员仅从用户角度看待数据及处理要求和约束,产生一个反映用户观点的概念模式。
3.1.3 设计局部E-R 模式先设计局部 E-R 图,也称用户视图。
在设计初步 E-R 图时,要尽量能充分地把组织中各部门对信息的要求集中起来,而不需要考虑数据的冗余问题。
局部概念模型设计是从用户的观点出发,设计符合用户需求的概念结构。
局部概念模型设计的就是组织、分类收集到的数据项,确定哪些数据项作为实体,哪些数据项作为属性,哪些数据项是同一实体的属性等。
确定实体与属性的原则:■能作为属性的尽量作为属性而不要划为实体;■作为属性的数据元素与所描述的实体之间的联系只能是1:n的联系;■作为属性的数据项不能再用其他属性加以描述,也不能与其他实体或属性发生联系。
以下是例子辣妈帮的部分局部 E-R 图的设计:3.1.4 设计全局E-R 模式综合各局部E-R 图,形成总的E-R图,即用户视图的集成。
所有局部ER模式都设计好了后,接下来就是把他们综合成单一的全局概念结构。
全局概念结构不仅要支持所有局部ER模式,而且必须合理地表示一个完整、一致的数据库概念结构。
另外,在进入下一节之前,先回顾一下概念数据库的设计,其中主要是实体-关系模型的建立。
简要总结一下实体-关系模型建立的步骤:(1) 对需求进行分析,从而确定系统中所包含的实体。
(2) 分析得出每个实体所具有的属性。
(3) 保证每个实体有一个主属性,该主属性可以是实体的一个属性或多个属性的组合。
主属性必须能惟一地描述每个记录。
(4) 确定实体之间的关系。
经过这些步骤后,读者就可以绘制出 E-R 图。
之后可以再看看数据库的需要,判断是否获取了所需的信息,是否有遗漏信息等,读者可以再对 E-R 图进行修改,添加或删除实体与属性。