当前位置: 首页 > news >正文

【数据库篇】关系模式的表示——(1)问题的提出

1、关系模式的表示 

R:表示关系的名字比如:sc选课表,student学生表。

U:表示一个关系模式的所有属性,比如student表:U(sno,sname,sage,ssex)。

D:表示属性的取值范围比如:性别的取值范围为“男”或“女”。

DOM:表示属性到取值范围的依赖。

F:为属性U上的一组数据依赖。

比如:知道学号sno可以推测出sname,sage,ssex。

 2、数据依赖

比如:学号sno可以推测出sname,sage,ssex。

这就是一种数据依赖。

sname函数依赖于sno。

sage函数依赖与sno。

ssex函数依赖于sno。

3、函数依赖在现实生活中的体现

【例】描述一个学生关系,可以有学号、姓名、系名等属性。

一个学号只对应一个学生,一个学生只在一个系中学习,学号确定之后学生所在的系的值就被唯一确定。

Sno函数决定Sname,Sno函数决定Sdept。

sno -> Sname,Sno -> Sdept。

4、数据依赖存在的问题

比如一个选课表:

U(sno,cno,sdept,mname,grade) 

sno:学号,cno:课号,sdept:系名,mname:系主任名,grade:学生成绩

(1)数据冗余

        浪费大量储存空间,每一个系主任的姓名重复出现,重复次数与该系所有学生的所有课程成绩出现次数相同。

(2)更新异常

        数据冗余,更新的时候。维护数据完整性代价太大。如果某系更换系主任后,必须更改与该系学生有关的每一个元组,否则会出现数据不一致的异常。

(3)插入异常

        如果一个系刚成立,尚无学生,则无法把这个系及其系主任的信息存入数据库。

(4)删除异常

        如果某个系的学生毕业了,则删除该系学生信息的同时,把这个系及其主任信息也丢掉了。

5、函数依赖的解决方式

        把单一的模式分为多个关系模式,使得每个模式只存在一个函数依赖。

http://www.dtcms.com/a/4587.html

相关文章:

  • 目标检测 详解SSD原理,数据处理与复现
  • SparkSession介绍
  • mysql 性能参数调优详解
  • 随便问问webtab的记录(1)
  • HTML网站稳定性状态监控平台源码
  • Log4j2.xml不生效:WARN StatusLogger Multiple logging implementations found:
  • 【C++初阶】STL详解(五)List的介绍与使用
  • Java核心知识点整理大全9-笔记
  • 【计算机网络】(网络层)定长掩码和变长掩码
  • 华为云cce健康检查有什么用?配置需要注意什么?
  • Spark的通用运行流程与Spark YARN Cluster 模式的运行流程
  • Vue使用基本教程(基本介绍及对比,初步使用,构建项目,编辑器等)
  • 探究Kafka原理-1.初识Kafka
  • AI原生应用为百度带来新增量
  • 如何使用Mondo Rescue备份及恢复Linux系统(制作ISO镜像,成功恢复)
  • Android扫码ZXing
  • msvcp71.dll,msvcr71.dll丢失怎么办?教你如何快速解决此问题
  • webpack external 详解
  • Twincat使用:EtherCAT通信扫描硬件设备链接PLC变量
  • Python Opencv实践 - 二维码和条形码识别
  • 模拟shell小程序
  • 【Linux】共享内存
  • Fiddler 无法抓包手机 https 报文的解决方案来啦!!
  • 如何应用ChatGPT撰写、修改论文及工作报告,提供写作能力及优化工作??
  • 微软离Altman越近,离OpenAI就越远!
  • OpenAI 曾收到 AI 重大突破警告;半独立的 OpenAI 比与微软合并更好丨 RTE 开发者日报 Vol.91
  • 网络安全(黑客)-自学手册
  • Mistral 7B 比Llama 2更好的开源大模型 (四)
  • sql添加索引
  • python之pyqt专栏2-项目文件解析