当前课程知识点:计算思维导论 >  第五章 数据库技术与数据管理 >  5.3 数据库的规范化设计1 >  图文教学

返回《计算思维导论》慕课在线视频课程列表

图文教学资料文件与下载

图文教学

 

我们来看下面的表格,表格中记录了学生有关的信息,也记录了课程有关的信息,以及学生选修了哪些课程的信息。

不难发现,这个表格有如下的问题:

◇ 数据冗余。

数据冗余是指数据之间的重复,也可以说是同一数据存储在不同数据文件中的现象。可以说增加数据的独立性和减少数据冗余是信息资源管理和大规模信息系统获得成功的前提条件。在这个表格中张三的信息和计算思维导论课程的信息重复输入多遍,构成了数据的冗余。

◇ 插入异常

如果现在想在该表中增加一门课程,由于学号作为本表的主键,唯一标识实体,新增加的课程由于尚未学生选修,故无法添加到该表中。出现了插入异常。

 

◇ 删除异常

如果某位学生毕业了,比如张三同学毕业了,现在想把张三相关的信息删除,不难发现,数据库课程只有张三同学选,如果删除张三同学的记录,那么数据库课程的信息也随之被删除,出现了删除异常。

◇ 更新异常

如果课程信息发生变动,比如思维导论课程名称发生变化,则必须将课程名称列中所有课程名称为思维导论的都需要修改,如果漏改一个,则会出现更新异常。

出现上述四种问题,原因在于有太多相互之间联系的属性保存在同一关系中,这就造成了因一种信息被捆绑在其它信息上而产生的信息之间的相互依附存储的问题——数据依赖。

毫无疑问决绝上述问题,需要将没有太多相互联系的属性进行拆分,上述例子则需要拆分为三张表,将不关联的属性分别拆分到不同的表格中。如下图所示。

 

    一个基本关系具有以下5条性质。

  ◇ 分量必须取原子值。即每个分量必须是不可再分的数据项。

◇ 列是同质的。即每列中的分量必须是具有相同的数据类型。

◇ 属性不能重名。即每一列的列名在一个关系中是唯一的。

◇ 行列的顺序无关。即哪一行在前,那一列在前可以是任意的。

◇ 任何两个元组不能完全相同。即关系中任意两行记录不能相同,通常由主键约束来保证。

 

 

范式(数据库设计范式,数据库的设计范式):是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。关系数据库中的关系必须满足一定的要求,即满足不同的范式。

目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、Boyce-Codd范式(BCNF)、第四范式(4NF)和第五范式(5NF)。

满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多要求的称为第二范式(2NF),其余范式以次类推。一般说来,数据库只需满足第三范式(3NF)就行了。

 

在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,满足第一范式的数据库,必须首先满足关系的性质,不满足第一范式(1NF)的数据库就不是关系数据库。

所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。简而言之,第一范式就是无表中有表的形式。比如下表中,通讯地址列就出现了多个值(省、市、...、邮编)。

针对表中有表的形式,需要对其进行拆分,通常有三种做法。

◇ 简单拆分法

可以将上述表格拆分为两种形式,一种方法是去掉首行,直通到顶,将各分量独立形成列,另一种方法是将各分量进行合并,成为同一个信息。这两种做法都不是很好,会丢失信息。如果需要检索通讯地址,由于第一种方法中,并没有指定从哪一列开始进行检索,故指代不明;第二种方法,虽将信息检索出来,但又苦于信息都在一起,无法明确细节,并非所我们需要的信息。

        

 

◇ 外键法

可以将复合属性进行拆分,拆分为新的一张表,形成一对多的联系,并用外键法,与其相连,保证数据虽然因为分家,依然可以进行关联。

这种方法虽然不丢失信息,但缺看不出隶属关系。什么意思?如何理解?我们换一个明显的例子。现有球员信息表,该表中有表中有表的形式,如下图所示。

 

如果用外键法拆分,就形成了下表。看出什么问题了吗?将原表拆分为两张表,一张球队表,一张球员表。球队表和球员表构成一对多关系,并将一的关键字放到多的关系中,形成外键。对于球员表来说,1球队的球员编号是正确的,1号球队的1号队员,1号球队的2号队员,...,到了2号球队就不正确了,2号球队的球员编号则从4开始了编号了,这显然和我们常规球员出场介绍方式有悖。我们期望介绍的时候是1号球队的1号队员,1号球队的2号队员,...,2号球队的1号队员,2号球队的2号队员,...,这种方式。

 

◇ 弱实体法

在现实世界中,有时某些实体对于另一些实体有很强的依赖关系,即一个实体的存在必须以另一实体的存在为前提。前者就称为“弱实体”,后者称为“强实体”。比如在人事管理系统中,职工子女的信息就是以职工的存在为前提的,子女实体是弱实体,子女与职工的联系是一种依赖联系。

在ER模型中也称(实体-联系图(Entity Relationship Diagram),弱实体用双线矩形框表示。与弱实体的联系用双线菱形框表示。弱实体主键的一部分或全部从其强实体中获得。

球队球员的例子中,表格拆分如下:

 

弱实体的方法进行拆分,对于球队球员的例子来说,是最为适合的。

 

下一节:为什么要规范化数据库设计?如果不规范化设计会有什么问题?

返回《计算思维导论》慕课在线视频列表

计算思维导论课程列表:

第一章 计算思维概述

-1.1 计算与计算思维1

--计算与计算思维1

--延伸学习:计算无所不在

--延伸学习:智能家居(计算无所不在)

--延伸学习:曲道奎谈机器人

--延伸学习:局座召忠谈AI

--图文教学

--VARK 学习风格调查表

--请你用计算思维的本质解决下列问题

--1-1 巩固练习--作业

-1.2 计算与计算思维2

--计算与计算思维2

--延伸学习:周以真2014教育峰会讲话

--图文教学

--计算思维对你的学习、从事的学科、专业有价值吗?

--1-2 巩固练习--作业

-1.3 计算工具与计算机

--计算工具与计算机

--延伸学习:帕斯卡加法器

--延伸学习:手摇式差分机

--延伸学习:神威超算计算机1

--延伸学习:神威超算计算机2

--延伸学习:局座召忠谈超算

--图文教学

--什么是摩尔定律?

--1-3 巩固练习--作业

-实验1-1 初识计算思维

--周以真2012教育峰会讲话

--计算机发展简史

--这才是大学

--实验1-1 初识计算思维

-本章小结

--知识点回顾

--习题与解析

--章节自测--作业

第二章 计算基础

-2.1 初识二进制

--初识二进制

--图文教学

--计算机为什么采用二进制?

--2-1 巩固练习--作业

-2.2 二进制的运算

--二进制的运算

--图文教学

--二进制的进位原则和借位原则是什么?

--2-2 巩固练习--作业

-2.3 数制转换

--数制转换

--延伸学习:李永乐老师讲老鼠吃药与二进制

--延伸学习:李永乐老师讲加法器

--常见进制

--图文教学

--数制转换口诀

--2-3 巩固练习--作业

-2.4 数的表示

--数的表示

--图文教学

--负数补码问题

--2-4 巩固练习--作业

-2.5 字符编码

--字符编码

--图文教学

--汉字编码问题

--2-5 巩固练习--作业

-2.6 声音图像编码

--声音图像编码

--延伸学习:李永乐老师讲RGB三原色

--延伸学习:小趣闻

--图文教学

--矢量图和位图有什么区别?

--2-6 巩固练习--作业

-本章小结

--知识点回顾

--习题与解析

--本章测验--作业

第三章 计算平台

-3.1 计算机系统构成

--计算机系统构成

--图文教学

--冯诺依曼原理的基本思想是什么?

--3-1 巩固练习--作业

-3.2 主板

--主板

--延伸学习:华硕游戏主板

--图文教学

--主板的作用

--3-2 巩固练习--作业

-3.3 接口与总线

--接口与总线

--图文教学

--总线和接口的区别

--3-3 巩固练习--作业

-3.4 CPU

--CPU

--李永乐老师讲“中国芯”

--延伸学习:局座召忠谈芯片-01

--延伸学习:局座召忠谈芯片-02

--延伸学习:局座召忠谈芯片-03

--延伸学习:从沙子到CPU的制造过程告诉你造芯片到底有多难

--图文教学

--什么是超频?如何来进行超频?

--什么是主频?

--3-4 巩固练习--作业

-3.5 内存

--内存

--图文教学

--主流内存类型

--3-5 巩固练习--作业

-3.6 外存

--外存

--图文教学

--硬盘类型

--3-6 巩固练习--作业

-3.7 输入输出设备

--输入输出设备

--延伸学习:极光尔沃3D打印机

--延伸学习:卢秉恒院士谈走进神奇的3D打印世界

--延伸学习:李永乐老师讲传感器与鼠标

--图文教学

--微机故障检测

--I/O设备

--3-7 巩固练习--作业

-3.8 计算机工作原理

--计算机工作原理

--延伸学习:计算机工作原理

--延伸学习:计算机工作原理

--延伸学习:微机维护专题之预防性维护

--延伸学习:微机维护专题之故障排除

--延伸学习:微机维护专题之PC常见问题

--图文教学

--人类与计算机

--3-8 巩固练习--作业

-3.9 操作系统1

--操作系统之处理机功能

--延伸学习:操作系统革命

--图文教学

--虚拟内存?

--3-9 巩固练习--作业

-3.10 操作系统2

--操作系统之其他功能

--延伸学习:Windows发展历史

--图文教学

--操作系统

--3-10 巩固练习--作业

-实验3-1 计算机原理与硬件组装

--延伸学习:微机组装

--延伸学习:计算机拆解

--上机实验3-1:计算机工作原理与硬件组装

-本章小结

--知识点回顾

--习题与解析

--章节自测--作业

第四章 网络技术与数据共享

-4.1 初识网络

--初识网络

--延伸学习:邬贺铨院士谈互联网改变了我们什么?

--延伸学习:美国分分钟让中国断网?

--图文教学

--互联网改变了我们什么?

--4.1 巩固练习--作业

-4.2 网络分类

--网络分类

--延伸学习:李永乐老师讲GPS与手机定位

--延伸学习:什么是VPN?

--图文教学

--校园网

--4.2 巩固练习--作业

-4.3 网络体系结构

--网络体系结构

--图文教学

--TCP/IP协议和OSI协议的异同点

--4.3 巩固练习--作业

-实验4-1:简单网络布线

--实操:简单网络布线 - 1

--实操:简单网络布线 - 2

--实操:简单网络布线 - 3

-4.4 网络设备

--网络设备

--延伸学习:网线制作

--图文教学

--路由器的作用是什么?

--4.4 巩固练习--作业

-实验4-2:将计算机添加到现有网络中

--实操:将计算机添加到现有网络中 - 1

--实操:将计算机添加到现有网络中 - 2

--实操:将计算机添加到现有网络中 - 3

-4.5 局域网搭建

--局域网搭建

--延伸学习:无线局域网的搭建

--延伸学习:共享文件夹设置

--图文教学

--有线局域网和无线局域网

--4.5 巩固练习--作业

-实验4-3 无线路由器连接与设置

--实操:无线路由器连接与设置 - 1

--实操:无线路由器连接与设置 - 2

--实操:无线路由器连接与设置 - 3

-4.6 IP与域名系统

--IP与域名系统

--延伸学习:IPV4与IPV6

--延伸学习:网络 CLI 命令

--图文教学

--一台电脑可以同时有两个IP吗,怎样设置?

--4.6 巩固练习--作业

-实验4-4:测试无线连接

--实操:测试无线连接

-4.7 划分子网

--划分子网

--图文教学

--子网掩码

--4.7 巩固练习--作业

-4.8 Internet 服务

--Internet 服务

--延伸学习:吴建平院士谈中国互联网的新时代

--延伸学习:苏恒谈5D

--工信部部长谈5G

--延伸学习:局座召忠谈华为与5G

--延伸学习:互联网+

--图文教学

--您最常用的Web服务是什么?

--4.8 巩固练习--作业

-4.9 数字公民与网络安全

--数字公民与网络安全

--延伸学习:李永乐老师谈数字签名

--延伸学习:李永乐老师讲RSA加密算法

--延伸学习:Dos攻击

--延伸学习:DDos攻击

--延伸学习:云计算与数据中心

--延伸学习:网络维护专题

--图文教学

--数字签名

--4.9 巩固练习--作业

-本章小结

--知识点回顾

--习题与解析

--章节自测--作业

第五章 数据库技术与数据管理

-5.1 数据库基本概念

--数据库基本概念

--图文教学

--细数你身边的数据库系统

--5.1 巩固练习--作业

-5.2 数据库的设计方法

--数据库的设计方法1

--数据库的设计方法2

--数据库的设计方法3

--图文教学

--数据库的设计步骤

--5.2 巩固练习--作业

-5.3 数据库的规范化设计1

--数据库的规范化设计(1)

--数据库规范化设计(2)

--图文教学

--为什么要规范化数据库设计?如果不规范化设计会有什么问题?

--5.3 巩固练习--作业

-5.4 数据库的规范化设计2

--数据库规范化设计(3)

--数据库规范化设计(4)

--图文教学

--规范化设计数据库

--5.4 巩固练习--作业

-5.5 ACCESS数据库的创建与查询

--ACCESS数据库的创建与查询

--图文教学

--主键与外键

--5.5 巩固练习--作业

-5.6 关系代数理论

--关系代数理论

--延伸学习:浪漫的爱情故事

--图文教学

--为什么关系代数是一种抽象的查询语言?

--5.6 巩固练习--作业

-5.7 SQL语句查询

--SQL语句查询

--图文教学

--简述SQL语句的特点

--5.7 巩固练习--作业

-实验5-1:数据库设计与实现(PBL直播课)

--PBL直播课:数据库设计与实现

--延伸学习:王小云教授讲密码学与系统安全

--延伸学习:悲观锁和乐观锁

-本章小结

--知识点回顾

--习题与解析

--章节自测--作业

第六章 逻辑思维

-6.1 逻辑思维及其训练方法

--逻辑思维及其训练方法

--延伸学习:逻辑训练之李永乐老师讲皇帝新装

--延伸学习:逻辑训练之李永乐老师讲三姬分金

--图文教学

--白马非马论

--6-1 巩固练习--作业

-6.2 命题及命题判断

--命题及命题判断

--延伸学习:什么是悖论?

--延伸学习:十大悖论

--图文教学

--命题判断条件

--6.2 巩固练习--作业

-6.3 命题符号化

--命题符号化

--延伸学习:WORD文档中逻辑符号的录入

--图文教学

--蕴含运算符

--6-3 巩固练习--作业

-6.4 布尔代数与真值表

--布尔代数与真值表

--图文教学

--构造真值表

--6-4 巩固练习--作业

-6.5 命题演算和逻辑推理

--命题演算和逻辑推理

--图文教学

--永真式和永假式

--6-5 巩固练习--作业

-实验6-1:用真值表进行逻辑推理(PBL录屏课)

--PBL录屏课:用真值表进行逻辑推理

-本章小结

--知识点回顾

--习题与解析

--章节自测--作业

第七章 问题求解

-7.1 什么是问题求解

--什么是问题求解

--图文教学

--传统思维模式与计算思维模式

--7-1 巩固练习--作业

-7.2 算法与算法描述

--算法与算法描述

--延伸学习:算法接管世界

--图文教学

--算法描述方法

--7-2 巩固练习--作业

-7.3 顺序结构设计

--顺序结构设计

--图文教学

--温度转换问题

--7-3 巩固练习--作业

-7.4 选择结构设计

--选择结构设计

--图文教学

--细数一下我们身边的选择

--7-4 巩固练习--作业

-7.5 循环结构设计

--循环结构设计

--图文教学

--细数一下我们身边的循环

--7-5 巩固练习--作业

-7.6 算法策略基础之数组

--算法策略基础之数组

--图文教学

--为什么要引入数组?

--7.6 巩固练习--作业

-7.7 算法策略基础之函数

--算法策略基础之函数

--图文教学

--用户自定义函数

--7.7 巩固练习--作业

-实验7-1:Raptor的基本操作(PBL录屏课)

--PBL录屏课:Raptor软件基本操作

--延伸学习:李永乐老师讲鸡兔同笼

--延伸学习:李永乐老师讲闰年

-7.8 算法策略之枚举法

--算法策略之枚举法

--图文教学

--细数一下我们身边的枚举?

--7-8 巩固练习--作业

-7.9 算法策略之递归法

--算法策略之递归法

--图文教学

--德罗斯特效应

--7.9 巩固练习--作业

-7.10 算法策略之递推法

--算法策略之递推法

--延伸学习:斐波那契数列

--图文教学

--举例说明,如何由递推法推导出通项公式

--7-10 巩固练习--作业

-7.11 算法策略之迭代法

--算法策略之迭代法

--延伸学习:辗转相除法是什么鬼?

--图文教学

--细数生活中的迭代现象

--7-11 巩固练习--作业

-实验7-2:算法设计与分析(PBL直播课)

--PBL直播课:算法设计与分析

-7.12 算法策略之分治法

--算法策略之分治法

--图文教学

--分治法思想

--7-12 巩固练习--作业

-7.13 算法策略之动态规划

--算法策略之动态规划

--延伸学习:什么是动态规划?

--图文教学

--什么是动态规划?

--7-13 巩固练习--作业

-7.14 算法策略之贪心算法

--算法策略之贪心算法

--图文教学

--贪心策略

--7.14 巩固练习--作业

-7.15 算法策略之回溯法

--算法策略之回溯法

--图文教学

--回溯现象

--7-15 巩固练习--作业

-7.16 算法策略之查找算法

--算法策略之查找算法

--图文教学

--二分查找方法的先决条件是什么?

--7-16 巩固练习--作业

-7.17 算法策略之排序算法

--算法策略之排序算法

--延伸学习:舞动的排序算法(冒泡法)

--图文教学

--冒泡排序

--7-17 巩固练习--作业

-本章小结

--知识点回顾

--习题与解析

--章节自测--作业

第八章 数据分析与数据挖掘

-8.1 数据挖掘概述

--数据挖掘概述

--延伸学习:梅宏院士谈大数据时代

--延伸学习:十个有趣的“大数据”经典数据挖掘案例

--图文教学

--数据挖掘案例

--8-1 巩固练习--作业

-8.2 数据采集

--数据采集

--图文教学

--数据采集

--8-2 巩固练习--作业

-8.3 数据探索之数据质量分析

--数据探索之数据质量分析

--图文教学

--异常值处理

--8-3 巩固练习--作业

-8.4 数据探索之数据特征分析

--数据探索之数据特征分析

--图文教学

--帕累托法则

--8-4 巩固练习--作业

-8.5 数据特征分析之分布分析

--数据特征分析之分布分析

--图文教学

--分组方法

--8-5 巩固练习--作业

-8.6 数据特征分析之统计分析

--数据特征分析之统计分析

--图文教程

--加权平均数

--8-6 巩固练习--作业

-8.7 数据特征分析之统计分析(续)

--数据特征分析之统计分析(续)

--图文教学

--无量纲数

--8-7 巩固练习--作业

-8.8 数据预处理

--数据预处理

--图文教学

--数据预处理

--8-8 巩固练习--作业

-8.9 数据挖掘之分类

--数据挖掘之分类

--延伸学习:李永乐老师讲概率与三门问题

--李永乐老师讲贝叶斯概率与酒鬼问题

--图文教学

--加法原理和乘法原理

--8-9 巩固练习--作业

-8.10 数据挖掘之预测

--数据挖掘之预测

--图文教学

--分类与预测

--8-10 巩固练习--作业

-8.11 数据挖掘之聚类分析

--数据挖掘之聚类分析

--图文教学

--聚类和分类

--8-11 巩固练习--作业

-8.12 数据挖掘之关联规则

--数据挖掘之关联规则

--图文教学

--智能推荐系统

--8-12 巩固练习--作业

-本章小结

--知识点回顾

--习题与解析

--章节自测--作业

期中考试(1-4章)

-期中考试(1-4章)

期末考试(5-8章)

-期末考试(5-8章)

图文教学笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。