er图是什么
ER图是E-R图 。E-R图又称实体关系图,提供了一种表达实体的类型、属性和关系的方式,用于描述现实世界的概念模型 。ER图有以下四个组成部分:E-R矩形框:表示实体,框内记录实体名称 。菱形框:指明联系人,并在框中输入联系人姓名 。椭圆形框:表示实体或联系人的属性,在框中输入属性名称 。对于主属性名,给其名称加下划线 。连接:实体和属性之间;和实体联系人;用直线与触点属性连接,在直线上标注触点类型 。(一对一接触,两个实体的连接方向写1;一对多连接,一边写1,多对多写N;对于多对多关系,将N和M写在两个实体的连接方向上 。)
什么是e-r图?它包含哪些要素
E-R图又称实体-连接图,提供了一种表示实体的类型、属性和连接的方法,用于描述现实世界的概念模型 。Elements:实体类型用矩形表示,实体名称写在矩形框中;椭圆用来表示实体的属性,无向边用来连接实体和对应的实体 。实体之间的关系用一个菱形表示,联系人姓名写在菱形框中,用无向边连接有关实体,在无向边旁边标注联系人的类型 。数据扩展:设计E-R图的第一步是根据系统的具体情况,从多层数据流图中选择一个合适的层次(经验很重要)数据流图,使这组图的每一部分都对应一个本地应用,即可以基于这个层次的数据流图来设计E-R图 。一般来说,中间层数据流图能更好地反映系统中各个局部应用的子系统构成,所以人们往往以中间层数据流图作为设计E-R图的依据 。参考来源:百度百科-E-R图
数据库的E-R图中各个图形代表什么,矩形,林形,椭圆,都代表什么意思 。
矩形实体代表:接触椭圆代表实体中的属性,实体与实体之间用实线连接 。
文章插图
请简要的叙述一下数据库的主要设计过程
1.数据库技术是信息资源管理最有效的手段 。数据库设计是指:对于给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户的信息需求和处理需求 。数据库设计的各个阶段:A、需求分析阶段:整合每个用户的应用需求(现实世界需求) 。b .概念设计阶段:形成独立于机器和DBMS产品的概念模型(信息世界模型),用E-R图描述 。c .逻辑设计阶段:将E-R图转换成特定数据库产品支持的数据模型,如关系模型,形成数据库逻辑模型 。然后,根据用户的处理需求和安全考虑,在基本表的基础上建立必要的视图,形成数据的外部模式 。d、在物理设计阶段:根据DBMS的特点和处理需要,进行物理存储安排,设计索引,形成数据库内模式 。1.在需求分析阶段对需求进行收集和分析,作为结果得到数据字典描述的数据需求(以及数据流图描述的处理需求) 。分析重点:调查、收集和分析用户在数据管理方面的信息需求、处理需求、安全性和完整性需求 。需求分析的方法:调查各部门的组织结构和业务活动,协助用户明确对新系统的各种需求,确定新系统的边界 。常用的调查方法有:跟踪作业、召开调查会、请人介绍、提问、设计问卷、请用户填写、查阅记录 。分析和表达用户需求的方法主要有自顶向下和自底向上两种 。自顶向下结构化方法(简称SA方法)从顶层系统组织入手,逐层分析系统,用数据流图和数据字典描述每一层 。数据流图表达了数据和处理之间的关系 。系统中的数据由数据字典描述 。2.在概念结构设计阶段,通过对用户需求的综合、归纳和抽象,形成独立于具体DBMS的概念模型,可以用E-R图表示 。概念是用来模拟信息世界的 。这个概念不依赖于DBMS支持的数据模型 。这个概念可以转换成计算机上的数据库管理系统支持的特定数据模型 。概念特征:(1)语义表达能力强,能够方便、直接地表达应用中的各种语义知识 。(2)应该简单明了,便于用户理解 。它是用户和数据库设计者之间交流的语言 。概念设计的一种常用方法是IDEF1X方法,这是一种将实体关系方法应用于语义数据模型的语义建模技术,用于构建系统信息模型 。作者:肖玲,来源:论坛,责任编辑:李淑勤,2007年9月27日15: 17本文详细分析了数据库设计过程、设计技巧并总结了数据库命名规范.2.1步骤0 3354初始化项目这一阶段的任务是从目的描述和范围描述出发,确定建模目标,制定建模计划,组织建模团队,收集源材料,制定约束条件 。收集素材是这个阶段的重点 。通过调查观察结果、业务流程、原系统输入输出、各种报表、收集原始数据,形成基础数据表 。2步骤1 ——定义实体实体集的成员都有一组共同的特征和属性,可以直接或间接地从收集的源材料3354基本数据表中识别出大多数实体 。根据源物料名称列表中对象的术语和以“代码”结尾的术语,如客户代码、代理商代码、产品代码等 。识别其名词所代表的实体,从而初步找出潜在的实体,形成初步的实体列表 。2.3步骤2 3354定义连接IDEF1X模型中只允许二进制连接,n个二进制连接必须定义为n个二进制连接 。
根据实际业务需求和规则,使用实体联系矩阵识别实体间的二元关系,然后根据实际情况确定连接关系的潜在性、名称和描述,确定关系类型,是标识关系、非标识关系(强制或可选)、非确定性关系,还是分类关系 。如果子实体的每个实例都需要通过与父实体的关系来标识,则为标识关系,否则为非标识关系 。在非标识关系中,如果每个子实体的实例只与一个父实体相关联,则是强制的,否则不是强制的 。如果父实体和子实体表示相同的真实对象,那么它们被分类 。2.4步骤——通过引入交叉实体来定义代码,去除前一阶段产生的不确定关系,然后从非交叉实体和独立实体中识别候选代码属性,以唯一标识每个实体的实例,然后从候选代码中确定主代码 。为了确定主密钥和关系的有效性,通过非空规则和非多值规则来保证,即实体实例的一个属性不能为空,也不能同时有多个值 。找出误识别的确定关系,进一步分解实体,最终构建IDEF1X模型的关键基础视图(KB图) 。2.5步骤4 ——定义属性 。从源数据表中提取描述性名词,开发一个属性表,确定属性的所有者 。定义非主键属性,检查属性的非空和非多值规则 。此外,还要检查完全依赖函数规则和非传递依赖规则,确保一个非主键属性必须依赖于主键,整个主键,且只依赖于主键 。这样就得到至少符合关系理论第三范式的改进IDEF1X模型的全属性视图 。2.6步骤5 ——定义数据类型、长度、精度、非空值、默认值、约束规则等 。其他对象和规则定义属性 。定义对象信息,如触发器、存储过程、视图、角色、同义词、序列等 。3.在逻辑结构设计阶段,将概念结构转换成DBMS支持的数据模型(如关系模型),并对其进行优化 。逻辑结构设计要选择最适合描述和表达相应概念结构的数据模型,然后选择最适合的DBMS 。将E-R图转化为关系模型,实际上就是将实体、实体的属性以及实体之间的关系转化为关系模型 。这种转换一般遵循以下原则:将实体转换为关系模型 。实体的属性就是关系的属性 。实体代码是关系代码 。优化数据模型,确定数据依赖,消除冗余连接,确定每个关系模型属于哪个范式 。确定是合并还是拆分它们 。一般来说,关系分解为3NF的标准,即表中每个值只能表示一次 。表中的每一行都应该唯一标识(用唯一的键) 。依赖于其他键的非键信息不应存储在表中 。作者:晓玲,来源:论坛,编辑:李淑勤,2007-09-27 15:17本文详细分析了数据库设计过程、设计技巧并总结了数据库命名规范.4.在数据库物理设计阶段,为逻辑数据模型选择一个最适合应用环境的物理结构(包括存储结构和访问方法) 。根据数据库管理系统的特点和处理的需要,安排物理存储,设计索引,形成数据库中的模式 。5.在数据库实现阶段,利用DBMS提供的数据语言(如SQL)及其宿主语言(如C)根据逻辑设计和物理设计的结果建立数据库,编译调试应用程序,组织数据入库,进行试运行 。数据库的实现主要包括以下任务:用DDL定义数据库结构,组织数据入库,编译调试应用程序,调试数据库 。(数据定义语言(DDL)用于创建新的数据表、设置字段、删除数据表、删除字段和管理所有
它包括:数据库转储与恢复、数据库安全、完整性控制、数据库性能监控、分析与改进、数据库重组与重构 。7.利用建模工具加快数据库设计,有很多数据库辅助工具(CASE tools),比如Rational公司的Rational Rose,CA公司的Erwin和Bpwin,Sybase公司的PowerDesigner,oracle公司的oracle Designer 。ERwin主要用于建立数据库的概念模型和物理模型 。它可以图形化地描述实体、连接和实体的属性 。ERwin支持IDEF1X方法 。利用ERwin建模工具自动生成、变更和分析IDEF1X模型,不仅可以得到优秀的业务功能和数据需求模型,还可以实现从IDEF1X模型到数据库物理设计的转换 。ERwin工具绘制的模型对应逻辑模型和物理模型 。在逻辑模型中,IDEF1X工具箱可以方便地以图形化的方式建立和绘制实体关系和实体属性 。在物理模型中,ERwin可以定义相应的表和列,并可以自动转换为适合各种数据库管理系统的类型 。设计人员可以根据需要选择相应的数据库设计建模工具 。比如需求分析完成后,设计人员可以使用Erwin绘制er图,将ER图转换成关系数据模型,生成数据库结构;绘制数据流图,生成应用程序 。二 。数据库设计技巧1 。在设计数据库之前(需求分析阶段)1)了解客户的需求,包括用户未来需求的变化 。2)了解企业的业务类型,可以在发展阶段节省很多时间 。3)注意输入(要记录的数据)和输出(报告、查询和视图) 。4)创建数据字典和ER图表数据字典(DD)是各种数据描述的集合,是对数据库中数据的描述,即元数据,而不是数据本身 。(至少应包括每个字段的数据类型和每个表中的主外键) 。数据项描述:数据项名称、数据项含义描述、别名、数据类型、长度、取值范围、取值含义、与其他数据项的逻辑关系 。数据结构描述:数据结构名称,含义描述,组成:【数据项或数据结构】数据流描述:数据流名称,描述,数据流来源,数据流目的地,组成:【数据结构】,平均流量,峰值流量数据存储描述:数量,传入数据流,传出数据流,组成:【数据结构】,数据量,存取方式 。流程描述:流程名称,描述,输入:[数据流],输出:[数据流],处理:[简要描述]ER图表和数据字典可以让任何了解数据库的人清楚如何从数据库中获取数据 。ER图表有助于显示表之间的关系,而数据字典解释了每个字段的用途和任何可能的别名 。这对于SQL表达式的文档来说是绝对必要的 。5)定义标准对象命名规范 。数据库中各种对象的命名必须标准化 。作者:晓玲,来源:论坛,责任编辑:李淑勤,2007-09-27 15:17本文详细分析了数据库设计流程、设计技巧并总结了数据库命名规范.2.表和字段的设计(数据库逻辑设计)表的设计原则1)标准化数据的标准化和规范化有助于消除数据库中的数据冗余 。标准化有几种形式,但第三范式(3NF)通常被认为是性能、可伸缩性和数据完整性方面的最佳平衡 。简单来说,符合3NF标准的数据库的表设计原则是:“一个地方一个事实”是指一个表只包含自己的基本属性,当不是自己的属性时需要分解 。表之间的关系由外键连接 。它有以下特点:有一组专门存储相关数据的表,通过键连接 。2)数据驱动是数据驱动而不是硬编码 。许多政策的修改和维护将会方便得多,大大增强了系统的灵活性和可扩展性 。例如,如果用户界面想要访问外部数据源(文件、XML文档、其他数据库等) 。),建议将相应的连接和路径信息存储在用户界面支持的表中 。
如果用户界面执行工作流(发送邮件、打印信头、修改记录状态等)等任务 。),那么工作流生成的数据也可以存储在数据库中 。角色权限管理也可以通过数据驱动来完成 。事实上,如果流程是数据驱动的,您可以将相当大的责任放在用户身上,他们将维护自己的工作流程 。3)考虑各种变化 。设计数据库时,要考虑哪些数据字段将来可能会发生变化 。4)表名、报表名、查询名的命名规范(前缀命名)是指表名、报表名、查询名之间的命名规范 。您可能很快会被这些不同的数据库元素的名称弄糊涂 。您可以统一命名这些数据库的不同组件,至少您应该在这些对象名称的开头使用前缀,如Table、Query或Report 。如果使用Microsoft Access,可以使用qry、rpt、tbl、mod等符号来标识对象(如tbl_Employees) 。使用sp_company来标识存储过程,使用udf_(或类似的标记)来标识定制的函数 。字段设计原则:1)每个表中应添加3个有用的字段 。DRecordCreationDate,在SQL Server下默认为GETDATE()sRecordCreator,在SQL Server下不为null默认usernrecordVersion,为记录的版本标记;准确解释记录中出现空数据或缺失数据的原因很有帮助 。时间敏感数据应包括“上次更新日期/时间”字段 。时间标记对于查找数据问题的原因、按日期重新处理/重新加载数据以及清除旧数据特别有用 。2)对于地址和电话号码,使用多个字段描述街道地址是不够的,只需要一行记录 。Address_Line1、Address_Line2和Address_Line3可以提供更大的灵活性 。此外,电话号码和电子邮件地址应该有自己的数据表,有自己的类型和标签类别 。3)表中列[字段]的命名规则(前缀/后缀命名)和有意义的字段名 。列[字段]名称应采用标准前缀和后缀 。如果密钥是数字类型:使用_N后缀;字符类型:_C后缀;日期类型:_D后缀 。再比如,如果你的表中有很多“money”字段,不妨给每一列[字段]加一个_M后缀 。作者:晓玲,来源:论坛,责任编辑:李淑勤,2007-09-27 15:17本文详细分析了数据库设计流程、设计技巧并总结了数据库命名规范.假设有两个表:客户和订单 。客户表的前缀是cu_,所以表中的子段名称如下:cu_name_id、cu_surname、cu_initials、cu_address等 。订单表的前缀是or_,所以子节名是:or_order_id,or_cust_name_id,or_quantity,or_description等 。这样,从数据库中选择所有数据的SQL语句可以写成这样:select * from customer,order where Cu _ surname=” my nameAnd _ name _ id=or _ cust _ name _ id和or _ quantity=1 。没有这些前缀,就这样写(用别名区分):select * from customer,order where customer . surname=” my name “;和客户 。name _ id=订单 。客户名称标识和订单 。quantity=1第一条SQL语句没有丢失很多字符 。但是如果查询涉及五个表甚至更多的列[字段],就知道这个技术有多有用了 。5)数字类型和文本类型的长度应尽可能足够,假设客户ID长度为10位 。然后,您应该将数据库表字段的长度设置为12或13个字符 。但是,这种额外的空间不需要在未来重建整个数据库,这样就可以增加数据库的规模 。6)添加删除标记字段 。在表中包括“删除标记”字段,以便可以将该行标记为删除 。不要删除关系数据库中的任何一行;最好采用数据清理程序,小心维护索引的完整性 。7)注意混合大小写的对象名和特殊字符 。全部大写并包含下划线字符的名称可读性更好(CUSTOMER_DATA) 。不要在对象名的字符之间留空格 。
8)小心保留字 。确保您的域名不与保留字、数据库系统或常用访问方法冲突 。例如,使用DESC作为描述性字段名称 。后果可想而知!DESC是降序缩写后的保留字 。可以使用表中的SELECT *语句,但是获得了很多无用的信息 。9)保持字段名和类型的一致性 。在为字段命名和指定数据类型时,一定要保持一致性 。如果表1中的字段名为“agreement_number”,则不要将表2中的名称更改为“ref1” 。如果表1中的数据类型是整数,不要把它变成表2中的字符类型 。当然,如果表1中有一个本地键ID(ABC),为了可读性,可以在表2中将其命名为ABC_ID 。10)避免使用触发器触发器的功能通常可以用其他方式实现 。调试程序时,触发器可能会成为干扰 。如果你真的需要使用触发器,你最好专注于记录它们 。作者:肖玲,来源:论坛,责任编辑:李淑勤,2007-09-27 15:17 。本文详细分析了数据库设计流程、设计技巧,并总结了数据库命名规范.3.选择键和索引(数据库逻辑设计)参考:《SQL优化-索引》 4 。数据完整性设计(数据库逻辑设计)1)删除受限;在父表中插入具有空值的数据:受限插入;递归插入更新数据到父表:级联更新;更新受限;在空值DBMS中实现参照完整性有两种方式:外键实现机制(约束规则)和触发器实现机制 。用户定义的完整性:不为空;检查;2) Trigger用约束而不是业务规则强制数据完整性,用数据库系统实现数据完整性 。这不仅包括通过标准化实现的完整性,还包括数据的功能性 。不依赖业务层保证数据完整性;它不能保证表(外键)之间的完整性,所以不能强加在其他完整性规则上 。如果您确实在数据层中使用约束,您应该确保有一种方法可以用用户理解的语言告知用户界面更新未能通过约束检查的原因 。3)加强指令的完整性,在有害数据进入数据库之前将其消除 。激活数据库系统指示的完整性特征 。这可以保持数据的整洁,并迫使开发人员花费更多的时间来处理错误情况 。4)使用查找控制数据完整性控制数据完整性的最佳方法是限制用户的选择 。只要有可能,就应该为用户提供一个清晰的值列表以供选择 。这将减少键入代码时的错误和误解,并提供数据一致性 。一些公共数据特别适合搜索:国家代码、状态代码等 。5)采用视图为了在数据库和应用程序代码之间提供另一层抽象,可以为应用程序建立特殊的视图,而不需要应用程序直接访问数据表 。这也让您在处理数据库更改时有更多的自由 。6)分布式数据系统对于分布式系统,你要预估未来5年或10年的数据量,然后再决定是把每个站点的数据全部复制过来,还是保存在一个地方 。当您向其他站点发送数据时,最好在数据库字段中设置一些标签,并在目标站点收到您的数据后更新您的标签 。对于这种数据传输,请写下自己的批处理或调度器在特定的时间间隔运行,不要让用户在日常工作结束后传输数据 。把你的维护数据复制到本地,比如计算常数,利率,设置版本号,保证每个站点的数据完全一致 。7)关系如果两个实体之间存在多对一的关系,并且有可能转化为多对多的关系,那么你最好一开始就设置为多对多的关系 。从现有的多对一关系转变为多对多关系比当初困难得多 。8)制定数据保留和恢复计划 。考虑数据保留策略,并将其纳入设计流程 。提前设计您的数据恢复流程 。
发放给用户/开发者的数据字典可以实现方便的数据识别,保证数据来源的文档化 。编写“更新查询”的在线更新,以便在将来数据丢失时可以重新处理更新 。9)使用存储过程让系统做繁重的工作 。提供一组例程存储过程来访问每个组,以便加速和简化客户端程序代码的开发 。数据库不仅是存储数据的地方,也是简化编码的地方 。本文详细分析了数据库设计流程、设计技巧,并总结了数据库命名规范.5.其他设计技巧1)避免使用触发器的功能通常可以通过其他方式实现 。调试程序时,触发器可能会成为干扰 。如果你真的需要使用触发器,你最好专注于记录它们 。2)使用通用英语(或任何其他语言)代替编码 。创建下拉菜单、列表和报表时,最好按英文名称排序 。如果需要编码,可以在编码旁边附上用户认识的英文 。3)保存通用信息使表存储通用数据库信息非常有用 。在该表中,存储了数据库的当前版本、最新检查/修复(用于访问)、相关设计文档的名称、客户和其他信息 。通过这种方式,可以实现一种简单的机制来跟踪数据库,当客户抱怨他们的数据库不符合期望的要求并与您联系时,这对于非客户机/服务器环境尤其有用 。4)包含版本机制在数据库中引入版本控制机制,以确定正在使用的数据库的版本 。随着时间的推移,用户的需求总是会发生变化 。最终,可能需要修改数据库结构 。将版本信息直接存储在数据库中更方便 。5)记录所有快捷方式、命名约定、限制和功能 。注释表、列、触发器等的数据库工具 。对于开发、支持和跟踪变更非常有用 。在数据库内部或单独记录数据库 。这样一年多以后你再去找第二个版本的时候,出错的几率会大大降低 。6)测试、测试、反复测试建立或修改数据库后,必须用用户新输入的数据对数据字段进行测试 。最重要的是,让用户测试并与用户一起工作,以确保所选择的数据类型满足业务需求 。测试需要在新数据库投入实际服务之前完成 。7)检查设计 。在开发过程中检查数据库设计的一种常见技术是通过其支持的应用程序原型来检查数据库 。换句话说,对于每个最终表达数据的原型应用程序,请确保检查数据模型并查看如何检索数据 。三 。数据库命名规范1 。实体(表)的命名1)表以名词或名词短语命名,决定了表名是复数还是单数 。此外,还为表别名定义了简单的规则(例如,如果表名是一个单词,则将该单词的前四个字母作为别名;如果表名是两个单词,取每个单词的前两个字母组成别名,长度为4个字母;如果表名由三个单词组成,则从前两个单词中各取一个,然后从最后一个单词中取两个字母,结果仍然是4个字母的别名,依此类推 。)对于工作表,表名可以以WORK_为前缀,后跟使用该表的应用程序的名称 。在命名的过程中,可以根据语义将缩写拼凑起来 。注意:字段名会统一成大写或小写,所以中间加下划线 。作者:晓玲,来源:论坛,责任编辑:李淑勤,2007年9月27日15: 17本文详细分析了数据库设计过程、设计技巧并总结了数据库命名规范.例如:定义的缩写Sales:Sal Sales;秩序:Ord秩序;Detail: Dtl细节;然后将销售订单列表命名为:萨尔_ Ord _ Dtl;2)如果表或字段的名称只有一个单词,建议使用完整的单词,不要使用缩写 。
例如:定义的缩写材料Ma文章;物品的名称是:材料,不是马 。但是字段项目编码是:Ma _ ID而不是Material_ID3)在所有存储值列表的表前添加Z前缀,以便在数据库末尾对这些值列表类进行排序 。4)所有冗余类(主要是累积表)都以前缀x命名,冗余类用于提高数据库的效率 。当数据库未标准化时,会添加字段或表格 。5)关联类的命名是通过用下划线连接两个基本类,然后添加前缀R,接着按字母顺序列出两个表名或表名的缩写 。关联表用于保存多对多关系 。如果关联的表名超过10个字母,则原始表名必须缩写 。如果没有其他原因,建议使用缩写 。例如,如果表对象与自身有多对多关系,则保存多对多关系的表命名为:R _ Object作者:肖玲,来源:论坛,责任编辑:李淑勤,2007年9月27日15: 17 。本文详细分析了数据库设计流程、设计技巧,并总结了数据库命名规范.2.属性(列)的命名1)在列表中使用有意义的列应该采用一套键的设计规则 。每个表将有一个自动ID作为主键,逻辑主键将被定义为第一组候选主键 。a .如果是数据库自动生成的代码,命名为:IDB 。如果是自定义的逻辑码,用缩写加“ID”命名,即“XXXX _ ID”c,如果键是数字型,可以用_NO作为后缀 。d .如果是字符型,可以使用_CODE的后缀E,列名要使用标准的前缀和后缀 。示例:销售订单的数字字段命名为萨尔_ Ord _ ID;如果有数据库自动生成的数字,则命名为:ID 。2)与类型相关的所有属性加后缀 。请注意,如果需要其他后缀,它们会放在类型后缀之前 。注意:数据类型是文本字段,类型后缀TX可以省略 。对于一些类型明显的字段,可以省略类型后缀 。3)用前缀给每个表的列名起一个统一的前缀,这样在写SQL表达式的时候会大大简化 。它确实有一些缺点,例如破坏了自动表连接工具的功能,该工具将公共列名与一些数据库相链接 。3.视图的命名1)视图以V为前缀,其他命名规则与表相似;2)命名要尽可能体现每个视图的功能 。4.触发器命名(尽量不要用)触发器前缀为TR,触发器名称为对应的表名加后缀,插入触发器加” _I “,删除触发器加” _D “,更新触发器加” _U “,如:TR_Customer_I,TR_Customer_D,TR _ customer _ u. 5 .存储过程名称存储过程应该以” UP_ “开头,以区别于系统的存储过程 。后面的部分主要由动宾组成,每个成分用下划线分开 。例如,添加代理帐户的存储过程是” UP_Ins_Agent_Account “ 。6.变量名变量名是小写的 。如果是短语,用下划线分隔每个单词,例如@ my _ err _ no. 7 。命名中的其他注意事项1)以上命名不得超过系统限制的30个字符 。变量名的长度限制为29个字符(不包括标识字符@) 。2)数据对象和变量用英文字符命名,禁止用中文命名 。永远不要在对象名的字符之间留空格 。3)小心使用保留字,并确保您的字段名不与保留字、数据库系统或常用访问方法冲突 。4)保持字段名和类型的一致性,在为字段命名和指定数据类型时,一定要保证一致性 。如果一个表中的数据类型是整数,那么它在另一个表中不应该变成字符类型 。
实体关系模型的E-R图的基本要素
通常,实体关系图用于构建数据模型 。实体关系图可以简称为ER图,相应的,ER图所描绘的数据模型可以称为ER模型 。ER图包含三个基本组件:实体(即数据对象)、关系和属性 。通常用矩形框表示实体,用连接相关实体的菱形框表示关系,用椭圆形或圆角矩形表示实体(或关系)的属性,用直线连接实体(或关系)及其属性 。比如图1是一个学校教学管理的ER图 。人们通常用实体、关系、属性这三个概念来理解现实问题 。所以ER模型更接近人的习惯性思维模式 。此外,ER模型用简单的图形符号来表达系统分析师对问题域的理解,不熟悉计算机技术的用户也能理解 。因此,ER模型可以作为用户和分析师之间有效的沟通工具 。实体:具有相同属性的实体具有相同的特征和性质,同一类实体由实体名称及其属性名称抽象和刻画;在E-R图中用矩形表示,实体名称写在矩形中;例如,学生张三丰和学生李寻欢是实体 。如果是弱实体,在矩形周围放一个实心矩形 。属性:一个实体的特征,一个实体可以由几个属性来表征 。在E-R图中用椭圆表示,用无向边与对应实体连接;比如学生的名字,学号,性别,都是属性 。如果是多值属性,则在椭圆外设置一个实线椭圆 。如果是派生属性,则用虚线椭圆表示 。关系:数据对象相互连接的方式称为关系,也叫关系 。联系方式可以分为以下三种:(1)一对一联系(1: 1) 。例如,如果一个部门有一个经理,而每个经理只在一个部门工作,那么该部门和经理之间的联系是一对一的 。(2)一对多联系(1N)比如一个学校“教学”中教师与课程之间存在一对多的联系,即每个教师可以教多门课程,但每门课程只能由一个教师教[见图1] 。(3)多对多联系(MN)例如,图1显示,学生与课程(“学习”)之间的联系是多对多的,即一个学生可以学习多门课程,每门课程可以有多个学生学习 。连接也可能有属性 。比如学生“学”一门课程的成绩,既不是学生的属性,也不是课程的属性 。由于“成绩”既取决于具体的学生,也取决于具体的课程,所以它是学生与课程关系的属性 。
【er图画图规则 er图如何设定图形组,如何自定义er图形状】
文章插图
在E-R图中,用来表示实体之间联系的图形是
在E-R图中,用来表示实体间联系的图形是菱形,此题为c,用“菱形框”表示实体间联系的原因,在菱形框中写下联系人姓名,用“实线段”将其与相关实体联系起来,并在“实线段”旁标注联系类型(1:1,1:n或m:n) 。用“矩形框”表示实体,实体名称写在矩形框内;用“椭圆图框”或圆角矩形表示实体的属性,用“实线线段”连接对应关系的“实体类型”;扩展数据:E-R图的三个基本要素是实体类型、属性和联系,它们的表达方式如下:实体一般认为可以客观区分的事物就是实体,实体可以是具体的人和事,也可以是抽象的概念和联系 。关键是一个实体可以与另一个实体区分开,具有相同属性的实体具有相同的特征和属性 。使用实体名称及其属性名称来抽象和描述相似的实体 。在E-R图中用矩形表示,实体名称写在矩形中;比如学生张三,学生李四就是实体 。如果是弱实体,在矩形周围放一个实心矩形 。实体的属性 。一个实体可以由几个属性来表征 。属性不能与实体分开;属性是相对于实体的 。在E-R图中用椭圆表示,用无向边与对应实体连接;比如学生的名字,学号,性别,都是属性 。如果是多值属性,则在椭圆外设置实心椭圆 。如果是派生属性,则用虚线椭圆表示 。联系也叫关系,信息世界反映的是实体内部或实体之间的关联 。实体的内部联系通常是指组成实体的属性之间的联系;实体之间的联系通常是指不同实体集合之间的联系 。E-R图用菱形表示,图中写有触点名称,用无向边连接相关实体,无向边标注触点类型(1: 1、1: n或m: n) 。比如老师和学生之间是教学关系,学生和学生之间是选课关系 。如果是弱实体连接,在菱形外面套一个菱形 。参考来源:百度百科-E-R图
推荐阅读
- 如何使面部年轻化 如何面部年轻,怎样能让面部年轻
- 如何炸油可以让它没有尤文
- 如何与媳妇保持有效沟通交流 如何与媳妇保持有效沟通,如何与媳妇保持有效沟通关系
- 在不在用古代话怎么说 如何 是不古代话,不会用古代话怎么说
- 蛮子的符文和天赋 蛮子符文如何用,蛮子带什么符文
- 艾滋病人如何办理退休证 艾滋病人如何办理退休,艾滋病人如何办理退休手续
- 如何测试老婆忠诚度高低 如何测试老婆忠诚,如何测试老婆忠诚度
- 如何给砖头浇水视频教程 如何给砖头浇水,如何给砖头浇水视频
- 夫妻生活该如何经营 夫妻生活该如何,夫妻生活该如何相处