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超神学堂 前言 前面几章介绍了一些基础,但都是静 ...
随机推荐
- CUDA计时
from:http://blog.sina.com.cn/s/blog_45209f340101341e.html <1>使用cutil.h中的函数 unsigned int timer= ...
- ps查看进程
ps:要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态.进程是否结束. ...
- mysql四个默认数据库
1.Master数据库 Master数据库记录了Sqlserver所有的服务器级系统信息,所有的注册帐户和密码,以及所有的系统设置信息,还记录了所有用户定义数据库的存储位置和初始化信息. 2.Tem ...
- C语言连接mysql -insert-update
C语言连接mysql数据库实现insert语句:数据库:test表:systeminfo CREATE TABLE `systeminfo` ( `id` int(11) NOT NULL AUTO ...
- Animations使用01 BrowserAnimationsModule
1 基础知识 1.1 动画 就是从一个状态过渡到另外一个状态 1.2 状态 元素本身的形状.颜色.大小等 1.3 Angular中的动画 给元素添加一个触发器,当这个触发器被触发后就会让该元素的状态发 ...
- python包管理
如果是python 项目目录,例如pycharm里新建的python项目,则可以通过from,import导入目录下的文件夹. 如果是普通文件目录,则代码里不能相对方式导入该目录下的文件夹,需要加入要 ...
- 内核启动流程2-C语言部分的最后一个函数init_post()
最后分析最终调用用户空间init进程的函数init_post(). static noinline int init_post(void)这是一个非_init函数.强制让它为非内联函数,以防gcc让它 ...
- 安装MySQL出现1045错误,卸载不干净
安装MySQL出现1045错误 一.运行环境 MySQL mysql-5.1.26-rc-win32 操作系统:Windows 7 X64 二.问题描述 安装MySQL过程中会涉及对root密码的设置 ...
- webconfig配置详解--转
花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法.很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点.所以这里只介绍一些比较常用的节点. <? ...
- HDP3.1 中 YRAN 和 MR2 的内存大小配置的计算方式
Container 是 YARN 中基本的处理单元,它是对内存.CPU等计算的封装.总的来说,每个core每块硬盘 分配2个 container,能获得较好的集群利用率. 1. 确定可用内存大小. 对 ...