关系数据库设计理论中,起核心作用的是_关系数据库设计理论主要包括

关系数据库设计理论中,起核心作用的是_关系数据库设计理论主要包括关系数据库设计理论设计一个好的关系数据库系统,关键是要设计一个好的数据库模式(数据库逻辑设计问题)数据库逻辑设计主要解决的问题关系数据库应该组织成几个关系模式关系模式中包括哪些属性“不好”的数据库设计举例:为学校设计一个关系数据库关系模式:UN(Sno,Cno,G,Sdept,MN)Sno:描述学生Sdept:描述系名MN:描述系…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

关系数据设计理论

设计一个好的关系数据库系统,关键是要设计一个好的数据库模式(数据库逻辑设计问题)

数据库逻辑设计主要解决的问题

关系数据库应该组织成几个关系模式

关系模式中包括哪些属性

“不好”的数据库设计

举例:为学校设计一个关系数据库

关系模式: UN(Sno,Cno,G,Sdept,MN)

  • Sno:描述学生
  • Sdept:描述系名
  • MN:描述系主任
  • Cno:描述课程
  • G:描述学习成绩
  • 根据对现实世界的分析,可得出:Sno,Cno是码
  • 按照关系模式UN装入部分数据

对数据库操作时,会出现以下问题

    1. 数据冗余(系主任名的存储次数)
      • 数据重复存储:浪费存储空间,数据库维护困难(更新异常)
    1. 插入异常(一个系刚成立)
      • 主码为空的记录不能存在与数据库,导致不能进行插入操作
    1. 删除异常(一个系的学生全部毕业)
      • 删除操作后,一些相关信息无法保存在数据库中

要消除以上的“弊病”,把上面的关系数据库模式分解为三个关系模式

  • S(Sno,Sdept)
  • SG(Sno,Cno,G)
  • Dept(Sdept,MN)

函数依赖

类似于变量之间的单值函数关系

Y=F(X),其中自变量X的值,决定一个唯一的函数值Y

在一个关系模式里的属性,由于它在不同元组里属性值可能不同,由此可以把关系中的属性看作变量

一个属性与另一个属性在取值上可能存在制约关系

函数依赖就是属性间的逻辑依赖关系

定义1 设R(U)是一个关系模式,U是R的属性集合,X和Y是U的子集.对于R(U)的任何一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称X函数决定Y,或Y函数依赖于X,记作:X Y.

X通常称为“决定因素”

几点说明

    1. 函数依赖是语义范畴的概念.它反映了一种语义完整性约束,只能根据语义来确定一个函数依赖.
    1. 函数依赖是指关系R模式的所有关系元组均应满足的约束条件,而不是关系模式中的某个或某些元组满足的约束条件
    1. 函数依赖与属性间的联系类型有关
      • (1)若属性X和Y之间有“一对一”的联系,
      • (2)若属性X和Y之间有“多对一”的联系,
      • (3)若属性X和Y之间有“多对多”的联系,
    1. 如果X Y,并且Y不是X的子集,则称X Y是非平凡的函数依赖;如果Y是X的子集,则称X Y是平凡的函数依赖;

完全函数依赖与部分函数依赖

完全函数依赖

部分函数依赖

码的形式定义

候选码的两个性质

    1. 标识的唯一性: 对于R(U)中的每一元组,K的值确定后,该元组就相应确定了.
    1. 无冗余性: K是属性组的情况下,K的任何一部分都不能唯一标识该元组(定义中的完全函数依赖的意义)

规范化

简介

  • 用几个简单的关系去取代原来结构复杂的关系的过程叫做关系规范化.
  • 规范化理论是研究如何把一个不好的关系模式转化为好的关系模式的理论
  • 规范化理论是E.E.Codd在1971年首先提出的
  • 规范化理论是数据库设计过程中的一个非常有用的辅助工具

范式

  • 简介
    • 规范化理论是围绕着范式建立的.
    • 满足不同程度要求的约束集则称为不同的范式.
    • 如果一个关系满足某个指定的约束集,则称它属于某个特定的范式.
    • 较高层次的范式比较低层次的范式具有“更合乎要求的性质”
    • 一个低一级范式的关系模式,通过投影运算可以转化为若干个高一级范式的关系模式的集合,这个过程叫做规范化.
    • 如果一个关系满足某个范式要求,则它也会满足较其级别低的所有范式的要求
  • 范式层次
  • 第一范式(1NF)
    • 定义5: 在关系模式R中的每一个具体关系r中,如果每个属性值都是不可再分的最小数据单位,则称R是第一范式的关系,记作R∈1NF.
    • 数据库理论研究的是规范化关系.
    • 1NF规范化: 把非规范化关系规范提高到1NF关系模式的集合.
  • 第二范式(2NF)
    • 定义6: 若关系模式R∈1NF,且每个非主属性都完全依赖于R的任意候选码,则关系模式R属于第二范式,记作R ∈2NF.
    • 2NF规范化是把1NF关系模式规范提高到变成2NF关系模式的集合.
    • 从1NF中消除非主属性对候选码的部分函数依赖,则获得2NF关系.
    • 举例:UN(Sno,Cno,G,SDN,MN)
  • 第三范式(3NF)
    • 定义7: 若关系模式R∈2NF,且每个非主属性都不传递依赖于R的任意候选码,则R∈3NF.
    • 从2NF关系中,消除非主属性对码的传递依赖函数而获得3NF关系
    • R∈3NF,则每个非主属性既不部分依赖,也不传递依赖于R的任何候选码.
    • 3NF的规范化
  • BCNF范式
    • 3NF的不完善性
      • 定义8: 若R∈1NF,且R中每个决定因素都是候选码,则R ∈BCNF.
      • 满足BCNF的关系将消除任何属性对候选码的部分依赖与传递依赖
      • 应用BCNF定义时,可直接判断1NF是否属于BCNF
      • BCNF规范化
        这里写图片描述
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/181256.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 计算机网络双绞线和交叉线的区别,交叉线-什么是交叉线、直通线和双绞线?各有什么区别 – 手机爱问…「建议收藏」

    计算机网络双绞线和交叉线的区别,交叉线-什么是交叉线、直通线和双绞线?各有什么区别 – 手机爱问…「建议收藏」2018-11-08简述制作双绞线两种标准的线排序和直通线网线由一定距离长的双绞线与RJ45头组成。双绞线由8根不同颜色的线分成4对绞合在一起,成队扭绞的作用是尽可能减少电磁辐射与外部电磁干扰的影响,双绞线可按其是否外加金属网丝套的屏蔽层而区分为屏蔽双绞线(STP)和非屏蔽双绞线(UTP)。在EIA/TIA-568A标准中,将双绞线按电气特性区分有:三类、四类、五类线。网络中最常用的是三类线和…

    2022年6月19日
    29
  • query.php?sl=,stripslashes_deep().?php stripslashes?php stripslashes和addsl

    query.php?sl=,stripslashes_deep().?php stripslashes?php stripslashes和addsl你是否正在寻找关于stripslashes的内容?让我把最简洁的东西奉献给你:phpstripslashes和addslashes的区别作者:字体:[]类型:转载时间:2014-02-03这篇文章主要介绍了phpstripslashes和addslashes的区别,特分享下方便需要的朋友。我们在向mysql写入数据时,比如:复制代码代码如下:mysql_query(“update…

    2022年10月9日
    2
  • iframe标签(页面嵌套)

    开发工具与关键技术:VS<iframe>作者:听民谣的老猫撰写时间:2019/6/1018:15上面两张图是两个不同的页面但是它们的基本框架都是一样,每点击一次左边的导航栏改变的都是中间的内容区域。也就是说共同的框架都是没有改变的,改变的是中间的内容。有没有什么方法可以不改变外面的基本框架只改变中间的内容???我们可以用页面嵌套方法来达到这一要求。页面嵌…

    2022年4月8日
    81
  • 【实用软件】局域网传输神器-LANDrop[通俗易懂]

    【实用软件】局域网传输神器-LANDrop[通俗易懂]软件介绍LANDrop是一款开源免费的支持跨平台的「局域网文件传输工具」 它的使用体验上可以媲美苹果生态的“隔空投送”功能! 能超级快速方便地将各种设备上的照片、视频、文档、文件发送到别的设备去软件功能LANDrop完全依靠局域网WIFI进行无线传输,速度极快 而且这款软件完全免费,并不限制任何平台 即便发送体积巨大的视频文件也完全没有问题,比起使用微信、QQ、网盘更加方便,速度更快,也不必担心图片/视频画质被压缩的烦恼下载地址下载地址https://url37.ctfile

    2022年5月4日
    229
  • win10重置网络命令_WIN10重置网络的操作方法

    win10重置网络命令_WIN10重置网络的操作方法近日有一些小伙伴咨询小编关于 WIN10 怎样重置网络呢 下面就为大家带来了 WIN10 重置网络的具体方法 有需要的小伙伴可以来了解了解哦 WIN10 重置网络的操作方法操作方法一 通过设置重置网络除可以通过命令重置网络 也可以在 Win10 设置中进行网络设置 具体操作如下 从 Win10 左下角的开始菜单中 点击打开 设置 然后进入 网络和 internet 设置 在网络设置界面的 右侧 状态 界面下拉

    2025年10月21日
    3
  • nginx正向代理(超简单)

    正向代理是一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。环境192.168.153.179:正向代理192.168.153.178:客户端CentOSLinuxrelease7.5.1804(Core)关闭防火墙和selinux开始部署:首先,两台服务器安装nginx源码安装:1、安装启动安装依赖yum-yinstallwgetgcc

    2022年4月5日
    35

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号