Teradata 认证系列 - 3. 关系型数据库的概念

本课的学习目标

  • 定义关系型数据库关联的术语
  • 讨论主键的功能
  • 讨论外键的功能
  • 列出关系型数据库的优势
  • 描述星型架构和第三范式数据模型的区别

什么是数据库?
数据库是一个应用永久保存数据的集合表现在:

  • 逻辑关联
  • 共享
  • 受保护
  • 可管理

数据库包括逻辑关联的数据,这意味着数据库是为了特殊目的而设计的。数据库支持多用户共享。一个特性是很多用户经常为了不同的目的在使用它。数据库被访问控制权限所保护及管理,以维持它的集成性和价值。

逻辑的/关系型的模型

逻辑模型

  • 设计应保障使用方式无关性
  • 适应广泛的前端工具
  • 允许数据库更快的创建
  • 应保证数据量无关性
  • 组织数据来表达真实世界中的表单(关系型的)数据
  • 包含所有的企业应用用途范畴内的数据定义
  • 广泛性 - 逻辑模型是在任何RDBMS平台上的物理实现的模板

标准化

  • 把复杂数据结构弱化成简单的稳定的单一结构的过程
  • 从概念性数据模型上移除冗余的属性,键以及关系

关系型数据库

  • 用Table表示一个关系
  • 用Row表示一个元组
  • 用Column表示一个属性

第三范式 vs 星型架构

一个模型可以用范式进行精炼,一个范式模型包括:

  • 实体 - 一个数据表中的一行数据
  • 属性 - 列
  • 关系 - 数据表之间的

第一范式:一个实体实例的每一个属性只能有一个值,实体内不允许出现重复的组

第二范式:必须符合第一范式,一个实体内的非主键属性全部依赖主键属性,而不是其子集

第三范式:必须符合第二范式,同一个实体内,没有一个非键属性依赖于另一个非键属性

TD Database可以支持任何被SQL处理的数据模型;范式数据模型的一个优势是有能力支持未知的查询。

星型架构:

有时候也称星型连接架构,是一种最简单的数据仓库架构,星型架构由少量表组成(可能只有一个)关联着任意维度的数据表。星型架构是雪花架构的一种特殊形式。

星型架构的特点:Fact, 维度, 雪花

星型架构模型的特点:

  • 趋向于更少的实体
  • 提倡更高一级的反范式化

主键

主键规则:

主键唯一的标示表内的一行。一个主键是必须的,因为表内的每一行必须能够唯一的标示。

不允许重复的值。因为主键用于标示,所以主键不能为空。

主键的值不能改动。因为与其他实体间可能有外键。

主键可以包括多于一个的列。事实上,包括列的数量没有限制。

选择一个主键

一行中的一个列被称作那行的一个属性。数据库的设计者可以选择任何一个属性作为主键,但是根据以上的规则,很多属性不适合作为主键的候选。比如姓氏就不适合,很可能两个人都是一个姓氏,即使我们加上名字,也很可能出现重名重姓的人,而且有些人还会改名字。

有些设计者推荐使用系统赋予的整数序列作为主键,这样可以保证唯一性但是也会增加数据库的空间需求。

总结主键的特征:

  • 主键是每个表必须的
  • 一个表只能有一个主键
  • 主键可能由一个或多个列组成
  • 主键不能有重复的值
  • 主键不能为空Null
  • 主键是被认为永不改变的值

外键

外键标示表之间的关系

外键规则:

  • 外键是可选的
  • 一个表可能有多于一个外键
  • 一个外键可能由多于一个列组成
  • 外键允许出现重复的值
  • 外键允许空值Null
  • 外键的值可能改变
  • 每个外键的值必须存在于一个主键中

这些术语并不是Teradata特有的,他们是广泛意义上的关系型数据库概念。

用关系型数据库来回答问题

一个关系型数据库是一群表的集合,存储在一个单一安装的关系型数据库管理系统(RDBMS)。“管理系统”这个词说明这是一个关系型数据库使用一系列的软件提供附加的支持比如事务,安全性和报表。

数据的连接出现在表之间的数据值的匹配中,在关系型数据库理论中,这个称为连接(Join)

比如员工表和员工部门表中都有一个部门ID的列,这就允许数据库回答这样的问题:这个员工工作的部门的部门名称是什么?

关系型的优势

  • 比其他类型更灵活
  • 允许业务逻辑迅速的接受条件改变
  • 数据驱动 vs 应用驱动
  • 模块化业务,而不是流程化
  • 使得更容易建立应用因为数据已经做了大量工作
  • 一个单独的数据拷贝可以为多种目的服务
  • 支持面向终端用户计算的趋势
  • 理解简单
  • 无需知道访问路径
  • 牢固的建立在集合论中

学完这一课,进度就完成了14.9%,别问我是怎么算出来的。

时间: 2024-10-11 14:03:17

Teradata 认证系列 - 3. 关系型数据库的概念的相关文章

mysql系列之一关系型数据库基础理论

mysql-关系型数据库基础理论 关系模型:(结构化数据模型) 关系模型 实体- 关系模型 对象关系模型:基于对象的数据模型 半结构化数据模型 关系:关系代数运算 交集: 并集: 差集: 全集: 补集: SQL:结构化查询语言 DML:数据操作语言 insert delete select update DDL:数据定义语言 create drop alter DCL:数据控制语言 grant revoke 关系型数据库 表示层:表 逻辑层:存储引擎 物理层:数据文件 数据存储和查询 存储管理器

关系型数据库基本概念及MySQL简述

数据库基本概念">关系型数据库基本概念 数据库: 对大量信息进行管理的高效解决方案. 按照数据结构来组织.存储和管理数据的库. 数据库系统(DBS,DATABASE SYSTEM): 数据库(DB,DATABASE) + 数据库管理系统(DBMS,DATABASE MANAGEMENT SYSTEM) 关系型数据库 建立在关系模型上的数据库系统. 关系模型: 将日常生活中的实体(学生)和实体的属性(学生的学号,姓名等)保存到数据库中时,应该如何处理该实体结构. 1.数据结构可以规定,同类数

关系型数据库与非关系型数据库的简介、对比、说明

关系型数据库与非关系型数据库的简介.对比和说明!!! 分类专栏:数据库 数据库MySQL的系列知识 关系型数据库: Oracle SQLServer Sybase Informix Access DB2 mysql vfp Ingers FoxPro 非关系型数据库:关系型数据库与非关系型数据库的对比 MongoDB Cassandra CouchDB Hypertable Redis Riak Neo4j Hadoop HBase Couchbase MemcacheDB REVENDB Vo

关系型数据库和非关系型数据库的区别和特点

关系型数据库 采用关系模型来组织数据结构的数据库(二维表) cle DB2 SQLServer Mysql SQLite都是关系型数据库 优点:容易理解,它的逻辑类似常见的表格 使用方便,都使用sql语句,sql语句非常的成熟 数据一致性高,冗余低,数据完整性好,便于操作 技术成熟,功能强大,支持很多复杂操作 缺点:*每次操作都要进行sql语句的解析,消耗较大 *不能很好的满足并发需求,特别是海量数据爆发,关系型 数据库读写能力会显得不足 *关系型数据库往往每一步都要进行加锁的操作,也造成了 数

Linux FTP服务器的搭建与配置+基于关系型数据库实现用户认证

一.服务器端的安装: yum install vsftpd 1)查看安装后生成的哪些文件 [[email protected] ~]# rpm -ql vsftpd /etc/logrotate.d/vsftpd  <==========主志日志文件 /etc/pam.d/vsftpd<==================认证文件 /etc/rc.d/init.d/vsftpd<=============服务脚本 /etc/vsftpd<======================

spark2.x由浅入深深到底系列六之RDD java api用JdbcRDD读取关系型数据库

学习任何的spark技术之前,请先正确理解spark,可以参考:正确理解spark 以下是用spark RDD java api实现从关系型数据库中读取数据,这里使用的是derby本地数据库,当然可以是mysql或者oracle等关系型数据库: package com.twq.javaapi.java7; import org.apache.spark.api.java.JavaRDD; import org.apache.spark.api.java.JavaSparkContext; imp

数据库系列之数据库基本概念

数据库相关概念 1 数据:描述事物的符号. 2 数据库:存储数据的仓库. 3 数据库管理系统:管理数据库的程序. 4 数据库管理员:管理数据库的人. 5 数据库系统:与数据库相关的硬件(CPU,内存.硬盘等).软件(操作系统.数据库管理系统等)和人(DBA). 6 数据模型:数据库中数据的存储结构. 我理解的数据库 假如有一间图书馆,图书馆有十个书架,这十个书架分别存放科学.运行.生物.物理.化学的书籍,而每个书架的每一行只存储一位作家的书籍,每一列则是书籍出版的日期.因此,我理解的数据库是图书

选型宝访谈:当业务炸裂式增长 ,如何让关系型数据库平滑扩展?

当业务炸裂式增长,如何让关系型数据库平滑扩展? 爱奇艺.饿了么.摩拜单车.....这些国民级应用的疯狂增长背后,是怎样一款国产的分布式NewSQL数据库,在做平滑支撑? 对话内容 选型宝:您怎么理解数据库技术的发展历程,分几个阶段?黄东旭:其实整个大的背景大概是这样,上世纪六七十年代就有关系数据库概念了,一直发展到90年代,基本都是以IBM DB2. Oracle,微软的SQL Server等单机关系型数据库为主的行业现状.但是在2000年以后,随着互联网行业数据量爆发性的增长,同时最近这5-1

关系型数据库分库分表解决方案

关系型数据库分库分表解决方案 关系型数据库单库或单表在数据达到一定量级后,单个节点的就会出现性能瓶颈.通常的做法就是考虑分库分表. 为什么要分? 分库降低了单点机器的负载:分表,提高了数据操作的效率,尤其是Write操作的效率. 如何分? 按号段分: (1) user_id为区分,1-1000的对应DB1,1001-2000的对应DB2,以此类推:优点:可部分迁移缺点:数据分布不均 (2)hash取模分: 对user_id进行hash(或者如果user_id是数值型的话直接使用user_id 的