数据库E-R图相关 2014年6月15日 17:39 E-R数据模型所采用的三个主要概念是:实体集、联系集和属性 实体集:具有相同类型及相同性质(或属性)的实体集合 属性:简单属性和符合属性;单值属性和多值属性;null属性;派生属性 联系集:联系是多个实体间的相互关联
数据库E-R图相关
2014年6月15日
17:39
E-R数据模型所采用的三个主要概念是:实体集、联系集和属性
实体集:具有相同类型及相同性质(或属性)的实体集合
属性:简单属性和符合属性;单值属性和多值属性;null属性;派生属性
联系集:联系是多个实体间的相互关联。联系集是同类联系的集合。
eg:如果E1,E2,…,En为n个实体集,那么联系集R是{(e1,e2,…,en)|e1属于E1,e2属于E2,…en属于En}的一个子集,而(e1,e2,…,en)是一个联系。
屏幕剪辑的捕获时间:2014/6/15 18:14
码:给定实体集中的实体或给定联系集中的联系如何相互区别
实体集:
超码:一个或多个属性的集合,这些属性的组合可以使我们在一个实体集中唯一地标识一个实体。(可能有冗余属性)
候选码:最小超码(该超码的任意真子集都不能成为超码)就是候选码。候选码可以有多个。
主码:被数据设计者选中的,用来在同一实体集中区分不同实体的候选码。
实体集中的任意两个实体都不允许同时在码属性上具有相同的值。
联系集:(超码,主码与联系集的属性无关)
超码:各个实体的主码的并集就是联系集的超码。
主码:依赖于联系集映射的基数(一对多等)。对于多对多情况,由两张表的主码共同组成;对于一对多的情况,由多的一方的主码组成;对于一对一情况,其中任何一张表的主码均可以做联系集的主码。
映射的基数:一对一;一对多;多对一;多对多
A和B是实体集
一对一:A中的一个实体至多同B中的一个实体相联系,B中的一个实体也至多同A中的一个实体
一对多:A中的一个实体可以同B中的任意数目的实体相联系,B中的一个实体至多同A中的一个实体相联系
多对多:A中的一个实体可以同B中任意数目的实体相联系,B中的一个实体也可以同A中任意数目的实体相联系。
联系也可能具有描述性属性,区别于联系包含的实体的属性
用实体集还是用属性:主要区别依赖于被建模的现实世界事实的结构,以及所讨论的属性的相关语义
用实体集还是用联系集:当描述发生在实体间的行为时采用联系集。这一方法在决定将某些属性表述为联系时是否会更确切时也很有用
联系的基数比例可能影响联系属性所处的位置。一对一或一对多联系集的属性可以放到参与的实体集之中,而不是放到联系集中。一对多联系的属性可以放到联系中“多”的一方的实体集中,而对一对一的联系集而言,联系的属性可以放到参与联系的任何一个实体集中。
具体设计时将描述性属性作为联系的属性还是实体的属性这一决定应该反映所模拟的事实的特点。设计者可以选择保留access-date作为depositor的属性,用以显示地表明访问发生在实体集customer和account的交互点上。
多对多的情况下,当一个属性是由参与的实体集联合确定而不是由单独的某个实体集确定时,该属性就必须放到多对多联系集中。
依赖、全部参与、部分参与
存在依赖:贷款与还款,一条贷款数据可能对应多条还款数据,还款依赖于贷款。
全部参与:实体全部参与到某个联系集中。还款数据实体全部参与到“贷款还款”关系中,所有还款都与某个贷款有联系。
部分参与:实体部分参与到某个联系集中。客户数据实体部分参与到“客户贷款”关系中,不是所有客户都有贷款。
E-R图:可以表示数据库的全局逻辑结构,简单、清晰
矩形:实体集。
椭圆:属性。
菱形:联系集。
线段:将属性连接到实体集或将实体连接到联系集。
双椭圆:表示多值属性。
虚椭圆:表示派生属性。
双线:表示一个实体全部参与到联系集中。
没箭头的直线:多对多
有箭头的直线:箭头指向1的一边
派生属性:在数据库中,一个实体包含多个属性,那么可以从其他属性中得来的属性就叫做派生属性。例如:“学生”实体中有“生日”和“年龄”等属性,从“生日”可以计算出“年龄”属性的值,“年龄”属性就是派生属性。
多值属性:例如员工的亲戚,可以有多个。设计数据库表的时候要单独起一张表。
屏幕剪辑的捕获时间:2014/6/18 19:30
主码包含的属性以下划线表明。
弱实体集:实体集的属性都不足以形成主码,这样的实体集称作弱实体集。
弱实体集用双边框的矩形表示,对应的标志性联系以双边框的菱形表示。
弱实体没有主码,但是有分辨符,用虚下划线标明
弱实体集的主码:由该弱实体集所依赖的强实体集的主码和该弱实体集的分辨符共同组成。
如果弱实体集只参与标志性联系,而其属性不多,那么在建模时将其表述为一个属性更恰当。相反地,如果弱实体集参与到标识性联系以为的联系中,或者其属性较多,则建模时将其表述为弱实体集更恰当。
特殊化和概括我们都可以用上面三角形构建来表示,属性继承也是针对特殊化和概括而言的。
聚集:联系被当做实体对待
屏幕剪辑的捕获时间:2014/6/18 17:42
设计数据库的E-R模式
屏幕剪辑的捕获时间:2014/6/18 20:15
将E-R模式转换为表
用表来表示强实体集:
用表来表示弱实体集:
弱实体集属性加所依赖的强实体集的主码
用表表示联系集:
弱实体集和强实体集关联的联系集的表是冗余的
多对一的合并:实体A和实体B以及多对一联系集AB,如果A对B有依赖,则只建立两个表,A中多一个和B主键属性。(多对一,两张表,多的一方包含外键;多对多,三张表,关系表+两个实体表)
用表来表示多值属性:
对于一个多值属性M,必须创建新表T,其中有一列C与M对应,T中其余列对应于以M为多值属性的实体集或联系集的主码。例如员工的亲属,多行。
用表来表示概括:
1.为高层实体集创建一个表,同时为每个底层实体集创建一个表。底层实体集中包括对应于底层实体集的各属性的列,另外,也包括高层实体集主码的所有属性列。(图2-15可以建立对应6个表)
2.如果概括是不相交且全部的——即如果两个低层实体集直接隶属于同一高层实体集,那么就不会有实体同时属于这两个低层实体集;同时,高层实体集的任何实体也必然会是某个低层实体集的成员。此时,可采用另一种表示方法:不为高层实体集创建任何表,只为每个低层实体集创建一个表,表中包括对应于低层实体集各属性的列和对应于高层实体集各属性的列。(图2-15可以建立对应4个表)
用来表示聚集:
屏幕剪辑的捕获时间: 2014/6/18 20:03

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于索引优化器工作原理的相关内容,其中包括了MySQL Server的组成,MySQL优化器选择索引额原理以及SQL成本分析,最后通过 select 查询总结整个查询过程,下面一起来看一下,希望对大家有帮助。

sybase是基于客户/服务器体系结构的数据库,是一个开放的、高性能的、可编程的数据库,可使用事件驱动的触发器、多线索化等来提高性能。

visual foxpro数据库文件是管理数据库对象的系统文件。在VFP中,用户数据是存放在“.DBF”表文件中;VFP的数据库文件(“.DBC”)中不存放用户数据,它只起将属于某一数据库的 数据库表与视图、连接、存储过程等关联起来的作用。

数据库系统由4个部分构成:1、数据库,是指长期存储在计算机内的,有组织,可共享的数据的集合;2、硬件,是指构成计算机系统的各种物理设备,包括存储所需的外部设备;3、软件,包括操作系统、数据库管理系统及应用程序;4、人员,包括系统分析员和数据库设计人员、应用程序员(负责编写使用数据库的应用程序)、最终用户(利用接口或查询语言访问数据库)、数据库管理员(负责数据库的总体信息控制)。

microsoft sql server是Microsoft公司推出的关系型数据库管理系统,是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理,具有使用方便可伸缩性好与相关软件集成程度高等优点。SQL Server数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使用户可以构建和管理用于业务的高可用和高性能的数据应用程序。

数据库的“完整性”是指数据的正确性和相容性。完整性是指数据库中数据在逻辑上的一致性、正确性、有效性和相容性。完整性对于数据库系统的重要性:1、数据库完整性约束能够防止合法用户使用数据库时向数据库中添加不合语义的数据;2、合理的数据库完整性设计,能够同时兼顾数据库的完整性和系统的效能;3、完善的数据库完整性有助于尽早发现应用软件的错误。

go语言可以写数据库。Go语言和其他语言不同的地方是,Go官方没有提供数据库驱动,而是编写了开发数据库驱动的标准接口,开发者可以根据定义的接口来开发相应的数据库驱动;这样做的好处在于,只要是按照标准接口开发的代码,以后迁移数据库时,不需要做任何修改,极大方便了后期的架构调整。

结构层次是“数据库→数据表→记录→字段”;字段构成记录,记录构成数据表,数据表构成了数据库。数据库是一个完整的数据的记录的整体,一个数据库包含0到N个表,一个表包含0到N个字段,记录是表中的行。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

WebStorm Mac version
Useful JavaScript development tools

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver Mac version
Visual web development tools

Notepad++7.3.1
Easy-to-use and free code editor
