“数据库”东西这个陌生和数据,进入提高班,从第二年开始接触,的项目还是自考的学习加起来也有3遍了。这仅仅是一个開始,软考又要对数据库进行全面的分析,那么如今就让我们再一次剖析它吧!

首先,从一副图中进行总体的把控:因为这不是第一次接触。所以就针对重难点进一步探讨。即:E-R模型、关系模型。

通过以上的图能够看出数据库技术基础主要包含两大部分即:基础和构成。如今就针对E—R模型和关系模型的转换及关系代数的介绍:

何为E-R模型?

E-R图也称实体-联系图(EntityRelationship Diagram)。提供了表示实体类型、属性和联系的方法。用来描写叙述现实世界的概念模型。

E-R图中的主要构件:

E-R模型的实例:

从上图可看出实体和实体之间存在着各种联系。如:一对一。一对多,多对多。这也正式E-R模型和关系模型转换的关键。

何为关系模型?

关系模型(RelationModel)是眼下最经常使用的数据模型之中的一个。关系数据库系统採用关系模型作为数据的组织方式,在关系模型中用表格结构表达实体集之间的联系。其最大特色是描写叙述的一致性。关系模型是由若干个关系模式组成的集合。

关系模型有关系数据结构、关系操作集合和关系完整性约束三部分组成的。

如图:简单的关系模式。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1X3l1amllMjAxMWNvbQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

如今明确了关系模型和E-R模型的概念。问题又来了它们之间怎样转换呢?

以下就通过简单通俗的语言来介绍:

在E-R模型中假设关系为一对一。一对多,多对多那么在关系模型中转化为:

一对一:将当中一个实体的主键放到还有一个实体中。

一对多:将一对的实体中的主键放到多的实体中。

多对多:将两个实体中的主键抽出来另组成一个关系实体。

假设按着这种方法那么在面对这类问题就不用头疼啦!

总结:

以上就是对数据库知识的简单总结,当中对E-R模型和关系模型的转换进行了具体演示文稿,会慢慢补充的未来优化研究!

版权声明:本文博主原创文章,博客,未经同意不得转载。

准备战争“软测试”之DB基础知识的更多相关文章

  1. IOS渗透测试第一步-基础知识统一放送

    原文: http://www.websecgeeks.com/2017/04/ios-application-pentesting-part-3.html http://www.websecgeeks ...

  2. Java测试开发--Java基础知识(二)

    一.java中8大基本类型 数值类型:byte.short.int .float.double .long 字符类型:char 布尔类型:boolean 二. 封装:将属性私有化,不允许外部数据直接访 ...

  3. 【考试】java基础知识测试,看你能得多少分?

    1 前言 共有5道java基础知识的单项选择题,每道20分,共计100分.解析和答案在最后. 2 试题 2.1 如下程序运行结果是什么? class Parent { public Parent(St ...

  4. APP测试入门篇之APP基础知识(001)

    前言        最近两月比较多的事情混杂在一起,静不下心来写点东西,月初想发表一遍接口测试的总结,或者APP测试相关的内容,一晃就月底了,总结提炼一时半会也整不完.放几个早年总结内部培训PPT出来 ...

  5. 敏捷测试(6)--基于story的敏捷基础知识

    基于story的敏捷基础知识----需求管理(三) (3)每日站会 站会的目的有三个: (1)周知进度 仅从用户故事和任务的层面周知进度,任务进度只有两种状态:完成或未完成(完成百分比). (2)周知 ...

  6. 敏捷测试(4)--基于story的敏捷基础知识

    基于story的敏捷基础知识----需求管理(一) 基于story进行需求管理 (1)使用story模式来管理需求,将庞大的MRD划分为一个个合适粒度,且可独立交付的story(通常每个story能在 ...

  7. 敏捷测试(3)--基于story的敏捷基础知识

    基于story的敏捷基础知识----story编写 为什么使用Story? 软件行业40年多来,需求分析技术已经很成熟了,但是MRD驱动的过程不堪重负.因为往往MRD编写会占去很多时间,MRD评审又会 ...

  8. 测试工具Fiddler(一)—— 基础知识

    Fiddler基础知识 一.Fiddler是什么? Fiddler是一个http协议调试代理工具,它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据.设置断点. ...

  9. 敏捷测试(7)--基于story的敏捷基础知识

    基于story的敏捷基础知识----迭代启动会.迭代回顾会 除需求讲解意外,需要所有团队成员参加的会议仅有两个,分别是"迭代启动会"和"迭代回顾会". (1)迭 ...

随机推荐

  1. QUIC简要

    QUIC.即Quick UDP Internet Connection,类似于SPDY,相同也是由Google公司在现有已存协议之上进行了扩展设计,而旨在降低网络延迟.之前我曾介绍过SPDY的相关信息 ...

  2. ZOJ3819 ACM-ICPC 2014 亚洲区域赛的比赛现场牡丹江司A称号 Average Score 注册标题

    Average Score Time Limit: 2 Seconds      Memory Limit: 131072 KB Bob is a freshman in Marjar Univers ...

  3. 实现DataGridView行的拖动,即实现行的顺序交换

    参考:http://blog.csdn.net/soarheaven/article/details/3267379 1.界面准备 (1)首先在form中添加一个DataGridView控件,将默认A ...

  4. 重写TextBox实现显示提示信息

    /// <summary> /// TextBox提示信息 /// </summary> /// <author>Tim_et</author> /// ...

  5. Java 内存架构

    a)        执行. main()作为该程序的初始线的起点.无论由线程开始在其他线程. JVM有两个内螺纹:守护线程和非守护线程,main()它是一个非守护线程.常由JVM自己使用.java程序 ...

  6. Bag标签成一条线的代码来实现中国字

    说明: <Bag id=书包名 act=2words[name=key] [gap=字符] [quotes=引號]>中英文混合内容</Bag> 例0: 默认分词(无gap和qu ...

  7. Repository、IUnitOfWork和IDbContext

    DDD 领域驱动设计-谈谈Repository.IUnitOfWork和IDbContext的实践 上一篇:<DDD 领域驱动设计-谈谈 Repository.IUnitOfWork 和 IDb ...

  8. Nginx + unicorn 运行多个Rails应用程序

    PS:第一次写的很详细,可惜发布失败,然后全没了,这是第二次,表示只贴代码,剩下的自己领悟好了,这就是所谓的一鼓作气再而衰吧,希望没有第三次. 版本: ruby 2.1.0 rails 4.0.2 n ...

  9. android 渐变drawable

    渐变Drawable它是使用<gradient>的标记的形状Drawable定义子节点的定义. 每个梯度Drawable求至少要有一个startColor和endColor属性,而且支持一 ...

  10. java并行体系结构

    并行编程 线程通信 共享内存和消息传递 线程同步 控制不同线程的运行顺序 java并发 基于共享内存模型 指令重排序 编译器重排序 处理器重排序 cpu重排序 写缓存区(cache.寄存器) 内存屏障 ...