Teradata 认证系列 - 3. 关系型数据库的概念
本课的学习目标
- 定义关系型数据库关联的术语
- 讨论主键的功能
- 讨论外键的功能
- 列出关系型数据库的优势
- 描述星型架构和第三范式数据模型的区别
什么是数据库?
数据库是一个应用永久保存数据的集合表现在:
- 逻辑关联
- 共享
- 受保护
- 可管理
数据库包括逻辑关联的数据,这意味着数据库是为了特殊目的而设计的。数据库支持多用户共享。一个特性是很多用户经常为了不同的目的在使用它。数据库被访问控制权限所保护及管理,以维持它的集成性和价值。
逻辑的/关系型的模型
逻辑模型
- 设计应保障使用方式无关性
- 适应广泛的前端工具
- 允许数据库更快的创建
- 应保证数据量无关性
- 组织数据来表达真实世界中的表单(关系型的)数据
- 包含所有的企业应用用途范畴内的数据定义
- 广泛性 - 逻辑模型是在任何RDBMS平台上的物理实现的模板
标准化
- 把复杂数据结构弱化成简单的稳定的单一结构的过程
- 从概念性数据模型上移除冗余的属性,键以及关系
关系型数据库
- 用Table表示一个关系
- 用Row表示一个元组
- 用Column表示一个属性
第三范式 vs 星型架构
一个模型可以用范式进行精炼,一个范式模型包括:
- 实体 - 一个数据表中的一行数据
- 属性 - 列
- 关系 - 数据表之间的
第一范式:一个实体实例的每一个属性只能有一个值,实体内不允许出现重复的组
第二范式:必须符合第一范式,一个实体内的非主键属性全部依赖主键属性,而不是其子集
第三范式:必须符合第二范式,同一个实体内,没有一个非键属性依赖于另一个非键属性
TD Database可以支持任何被SQL处理的数据模型;范式数据模型的一个优势是有能力支持未知的查询。
星型架构:
有时候也称星型连接架构,是一种最简单的数据仓库架构,星型架构由少量表组成(可能只有一个)关联着任意维度的数据表。星型架构是雪花架构的一种特殊形式。
星型架构的特点:Fact, 维度, 雪花
星型架构模型的特点:
- 趋向于更少的实体
- 提倡更高一级的反范式化
主键
主键规则:
主键唯一的标示表内的一行。一个主键是必须的,因为表内的每一行必须能够唯一的标示。
不允许重复的值。因为主键用于标示,所以主键不能为空。
主键的值不能改动。因为与其他实体间可能有外键。
主键可以包括多于一个的列。事实上,包括列的数量没有限制。
选择一个主键
一行中的一个列被称作那行的一个属性。数据库的设计者可以选择任何一个属性作为主键,但是根据以上的规则,很多属性不适合作为主键的候选。比如姓氏就不适合,很可能两个人都是一个姓氏,即使我们加上名字,也很可能出现重名重姓的人,而且有些人还会改名字。
有些设计者推荐使用系统赋予的整数序列作为主键,这样可以保证唯一性但是也会增加数据库的空间需求。
总结主键的特征:
- 主键是每个表必须的
- 一个表只能有一个主键
- 主键可能由一个或多个列组成
- 主键不能有重复的值
- 主键不能为空Null
- 主键是被认为永不改变的值
外键
外键标示表之间的关系
外键规则:
- 外键是可选的
- 一个表可能有多于一个外键
- 一个外键可能由多于一个列组成
- 外键允许出现重复的值
- 外键允许空值Null
- 外键的值可能改变
- 每个外键的值必须存在于一个主键中
这些术语并不是Teradata特有的,他们是广泛意义上的关系型数据库概念。
用关系型数据库来回答问题
一个关系型数据库是一群表的集合,存储在一个单一安装的关系型数据库管理系统(RDBMS)。“管理系统”这个词说明这是一个关系型数据库使用一系列的软件提供附加的支持比如事务,安全性和报表。
数据的连接出现在表之间的数据值的匹配中,在关系型数据库理论中,这个称为连接(Join)
比如员工表和员工部门表中都有一个部门ID的列,这就允许数据库回答这样的问题:这个员工工作的部门的部门名称是什么?
关系型的优势
- 比其他类型更灵活
- 允许业务逻辑迅速的接受条件改变
- 数据驱动 vs 应用驱动
- 模块化业务,而不是流程化
- 使得更容易建立应用因为数据已经做了大量工作
- 一个单独的数据拷贝可以为多种目的服务
- 支持面向终端用户计算的趋势
- 理解简单
- 无需知道访问路径
- 牢固的建立在集合论中
学完这一课,进度就完成了14.9%,别问我是怎么算出来的。
Teradata 认证系列 - 3. 关系型数据库的概念的更多相关文章
- Java Redis系列1 关系型数据库与非关系型数据库的优缺点及概念
Java Redis系列1 关系型数据库与非关系型数据库的优缺点及概念 在学习redis之前我们先来学习两个概念,即什么是关系型数据库什么是非关系型数据库,二者的区别是什么,二者的关系又是什么? ** ...
- Teradata 认证系列 - 2. Teradata数据库总览
Teradata (以下简称TD) 总览本课的学习目标 描述Teradata数据库产品的功能 知晓支持的操作系统 描述Teradata的并行架构 解释线性可扩展性 列出Teradata DBA永远不需 ...
- 关系型数据库基础概念:MySQL系列之开篇
一.基础概念 数据(Data)是描述事物的符号记录,是指利用物理符号记录下来的.可以鉴别的信息. 1.数据库(Database,DB)是指长期储存在计算机中的有组织的.可共享的数据集合.数据要按照一定 ...
- Teradata 认证系列 - 1. TCPP这是个啥
一看历史,好几年没发帖...正好最近在自学teradata认证(学也不一定学的完,最后也不一定去考,仅仅安慰一下不想碌碌无为的内心) 网上一搜,百度上的中文相关资料简直为0.这个不奇怪,毕竟都没什么人 ...
- 关系型数据库基本概念及MySQL简述
数据库基本概念">关系型数据库基本概念 数据库: 对大量信息进行管理的高效解决方案. 按照数据结构来组织.存储和管理数据的库. 数据库系统(DBS,DATABASE SYSTEM): ...
- mysql之数据库基本概念(mysql学习笔记一)
数据库系统 数据库管理系统(DBMS)+数据库(DATABASE)(+数据库管理员) DBS=dbms+db 定义: 大量信息进行管理的高效解决方案,按照数据结构来组织.存储和管理数据的仓库 关系 ...
- 关系型数据库中主键(primary key)和外键(foreign key)的概念。
刚接触关系型数据库的同学,会听过主键和外键的概念.这是关系型数据库的基本概念,需要清楚理解.今天我就以简洁的语言总结一下这个概念. 主键.一句话概括:一张表中,可以用于唯一标识一条记录的字段组(或者说 ...
- oracle配置数据库可恢复性(认证系列总结一)
原创作品,转载请注明出处:https://www.cnblogs.com/sunshine5683/p/10263246.html 接下来的n多天,将进入oracle认证系列的学习总结中,本该从asm ...
- Spring Boot干货系列:(八)数据存储篇-SQL关系型数据库之JdbcTemplate的使用
Spring Boot干货系列:(八)数据存储篇-SQL关系型数据库之JdbcTemplate的使用 原创 2017-04-13 嘟嘟MD 嘟爷java超神学堂 前言 前面几章介绍了一些基础,但都是静 ...
随机推荐
- Random简介
Random类 (java.util) Random类中实现的随机算法是伪随机,也就是有规则的随机.在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要 ...
- lyui 列表 上传
1.js layui.use(['table', 'element', 'laydate', 'layer','upload'], function () { var table = layui.ta ...
- Java Learning 001 新建一个Java工程 HelloWorld程序
Java Learning 001 新建一个Java工程 HelloWorld程序 Step 1 . 在Eclipse 软件里,点击: File -> New -> Java Projec ...
- win7中配置eclipse连接Ubuntu内的hadoop
Hadoop java 分布式 云计算 数据库 目录[-] 1.设置Ubuntu静态IP: 1)配置网卡参数到interfaces文件: 2)重启网卡: 2.配置Ubuntu的hosts: 3.配置V ...
- 使用ajax 做注册登录示例,
需求:使用AJAX 做一个注册登录示例, 如用户名已存在, 在填写用户名时给与提示. 1:首先创建一个新的django项目.做好配置 在settings.py文件里做好数据库配置: 1. 告诉Djan ...
- 第四周作业-视频学习、教材作业wireshark
教材总结与作业 总结 网络嗅探技术定义:网络嗅探(sniff)是一种黑客常用的窃听技术,(1)利用计算机的网络接口截获目的地为其他计算机的数据报文,(2)监听数据流中所包含的用户账户密码或私密通信等. ...
- C#内存管理之托管堆与非托管堆( reprint )
在 .NET Framework 中,内存中的资源(即所有二进制信息的集合)分为“托管资源”和“非托管资源”.托管资源必须接受 .NET Framework 的 CLR (通用语言运行时)的管理(诸如 ...
- 新一代web框架Koa源码学习
此文已由作者张佃鹏授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. Koa 就是一种简单好用的 Web 框架.它的特点是优雅.简洁.表达力强.自由度高.本身代码只有1000多行 ...
- 动态规划---等和的分隔子集(计蒜课)、从一个小白的角度剖析DP问题
自己还是太菜了,算法还是很难...这么简单的题目竟然花费了我很多时间...在这里我用一个小白的角度剖析一下这道题目. 晓萌希望将1到N的连续整数组成的集合划分成两个子集合,且保证每个集合的数字和是相等 ...
- [Unity3D] 5.0 图集合并扩展工具,用于解决UGUI与AssetBundle打包造成资源包过大的问题
[Unity3D] 5.0 图集合并扩展工具,用于解决UGUI与AssetBundle打包造成资源包过大的问题 2017年07月05日 15:57:44 阅读数:1494 http://www.cpp ...