准备战争“软测试”之DB基础知识
“数据库”东西这个陌生和数据,进入提高班,从第二年开始接触,的项目还是自考的学习加起来也有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基础知识的更多相关文章
- IOS渗透测试第一步-基础知识统一放送
原文: http://www.websecgeeks.com/2017/04/ios-application-pentesting-part-3.html http://www.websecgeeks ...
- Java测试开发--Java基础知识(二)
一.java中8大基本类型 数值类型:byte.short.int .float.double .long 字符类型:char 布尔类型:boolean 二. 封装:将属性私有化,不允许外部数据直接访 ...
- 【考试】java基础知识测试,看你能得多少分?
1 前言 共有5道java基础知识的单项选择题,每道20分,共计100分.解析和答案在最后. 2 试题 2.1 如下程序运行结果是什么? class Parent { public Parent(St ...
- APP测试入门篇之APP基础知识(001)
前言 最近两月比较多的事情混杂在一起,静不下心来写点东西,月初想发表一遍接口测试的总结,或者APP测试相关的内容,一晃就月底了,总结提炼一时半会也整不完.放几个早年总结内部培训PPT出来 ...
- 敏捷测试(6)--基于story的敏捷基础知识
基于story的敏捷基础知识----需求管理(三) (3)每日站会 站会的目的有三个: (1)周知进度 仅从用户故事和任务的层面周知进度,任务进度只有两种状态:完成或未完成(完成百分比). (2)周知 ...
- 敏捷测试(4)--基于story的敏捷基础知识
基于story的敏捷基础知识----需求管理(一) 基于story进行需求管理 (1)使用story模式来管理需求,将庞大的MRD划分为一个个合适粒度,且可独立交付的story(通常每个story能在 ...
- 敏捷测试(3)--基于story的敏捷基础知识
基于story的敏捷基础知识----story编写 为什么使用Story? 软件行业40年多来,需求分析技术已经很成熟了,但是MRD驱动的过程不堪重负.因为往往MRD编写会占去很多时间,MRD评审又会 ...
- 测试工具Fiddler(一)—— 基础知识
Fiddler基础知识 一.Fiddler是什么? Fiddler是一个http协议调试代理工具,它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据.设置断点. ...
- 敏捷测试(7)--基于story的敏捷基础知识
基于story的敏捷基础知识----迭代启动会.迭代回顾会 除需求讲解意外,需要所有团队成员参加的会议仅有两个,分别是"迭代启动会"和"迭代回顾会". (1)迭 ...
随机推荐
- 程序员联盟有自己的论坛啦!基于Discuz构建,还不来注册~
我把程序员联盟网站的论坛建好了,哈哈哈.用的是Discuz这个腾讯旗下的中文bbs建设软件.正在完善论坛,添加各种模块和应用.大家可以先去注册一下:coderunity.com/bbs/forum.p ...
- iOS开展-clang: error: unknown argument: '-websockets'解决方案
问题: 昨天莫名其妙Xcode自己主动升级,那么今天之前执行project什么时候,不知怎的,他们都获得了. 错误内容: clang: error: unknown argument: '-webso ...
- 【 D3.js 进阶系列 — 1.1 】 其它表格文件的读取
CSV 表格文件是以逗号作为单元分隔符的,其他还有以制表符 Tab 作为单元分隔符的 TSV 文件,还有人为定义的其他分隔符的表格文件.本文将说明在 D3 中怎样读取它们. 1. TSV 表格文件是什 ...
- REPLICAT RORA_1保持 ABENDED状态,无法启动问题处理
REPLICAT RORA_1保持 ABENDED状态,无法启动问题 环境: Item Source System Target System Platform Red Hat Enterprise ...
- Android - 支持不同的设备
世界上有各种不一样形状和大小的Android设备.由于有各种不同类型的设备,你的app可能在各种设备上运行.为了在Android上尽可能的成功,你的app需要使配各种不同的设备.最重要的几点需要考虑的 ...
- DDDLite的权限管理
领域驱动设计实战—基于DDDLite的权限管理 在园子里面,搜索一下“权限管理”至少能得到上千条的有效记录.记得刚开始工作的时候,写个通用的权限系统一直是自己的一个梦想.中间因为工作忙(其实就是懒 ...
- php阅读csv文件类
php处理csv文件类: http://www.php100.com/cover/php/540.html <?php define("CSV_Start", 0); def ...
- 微软系统工具套件SysinternalsSuite各个工具功能说明
下载地址:http://download.sysinternals.com/files/SysinternalsSuite.zip 工具名 工具说明 Accesschk Windows ...
- python在windows通过安装模块错误
我的环境是win7+vs2013+python3.2,他们是32地点 windows通过安装模块错误 1)Unable to find vcvarsall.bat : 打开"<pyth ...
- 简单QT应用了可实现手动布局QT应用
新建QT项目 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVhbg==/font/5a6L5L2T/fontsize/4 ...