热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

关系数据库概念辨析❤️

 文章目录1主码2范式3关系4关系代数运算数据库系统DBS(DataBaseSystem,简称DBS)通常由软件、数据库和数据管理员组成。 1主码2范式第一范式:简单说列不能再分第

 


文章目录


  • 1 主码

  • 2 范式

  • 3 关系

  • 4 关系代数运算


数据库系统DBS(Data Base System,简称DBS)通常由软件、数据库和数据管理员组成。

 


1 主码

在这里插入图片描述


2 范式

第一范式:简单说 列不能再分

第二范式:简单说 建立在第一范式基础上,消除部分依赖

第三范式:简单说 建立在第二范式基础上,消除传递依赖。

BCNF:主属性包含码


3 关系

在这里插入图片描述
做表时,1方主键要加入到多方。


4 关系代数运算

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
e.g S: A B R:B C

1 2 2 1
3 3 7 2
5 9 3 5

等值连接(S.A=R.C)

A S.B R.B C
1 2 2 1
5 9 3 5

等值连接(S.B=R.B)

A S.B R.B C
1 2 2 1
3 3 3 5

自然连接

A B C
1 2 1
3 3 5

总结:1)等值连接必须要有等值的条件,当条件不同时连接的结果也不相同,两个关系可以没有相同的属性列

2)自然连接必须要有相同的属性列才能进行,即等值连接之后要去除相同的属性列

我们从自然连接中又发现了一个问题,如下图:
在这里插入图片描述
就是图中标记为红色的地方,因为不符合我们的条件在自然连接和等值连接的时候都会被丢弃,这种连接叫做内连接,而与内连接相反的就叫外连接

外连接:把R表和S表被丢弃的红色的元组捡了回来,并且在最终连接的表中没有的值用NULL替代,最终结果如下  (全外连接)

在这里插入图片描述

左外连接:因为R表在左边,所以最终的结果只保留R表中被丢弃的,S表的仍然丢弃

右外连接:因为S表在右边,所以最终的结果只保留S表中被丢弃的,R表的仍然丢弃
除运算太复杂 我总忘。不说了❤️

在这里插入图片描述
在这里插入图片描述
投影会去重。

 


推荐阅读
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 本文详细介绍了如何通过多种编程语言(如PHP、JSP)实现网站与MySQL数据库的连接,包括创建数据库、表的基本操作,以及数据的读取和写入方法。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 图数据库中的知识表示与推理机制
    本文探讨了图数据库及其技术生态系统在知识表示和推理问题上的应用。通过理解图数据结构,尤其是属性图的特性,可以为复杂的数据关系提供高效且优雅的解决方案。我们将详细介绍属性图的基本概念、对象建模、概念建模以及自动推理的过程,并结合实际代码示例进行说明。 ... [详细]
  • 本文详细探讨了JDBC(Java数据库连接)的内部机制,重点分析其作为服务提供者接口(SPI)框架的应用。通过类图和代码示例,展示了JDBC如何注册驱动程序、建立数据库连接以及执行SQL查询的过程。 ... [详细]
  • 本文探讨了MariaDB在当前数据库市场中的地位和挑战,分析其可能面临的困境,并提出了对未来发展的几点看法。 ... [详细]
  • PostgreSQL 10 离线安装指南
    本文详细介绍了如何在无法联网的服务器上进行 PostgreSQL 10 的离线安装,并涵盖了从下载安装包到配置远程访问的完整步骤。 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 探讨如何从数据库中按分组获取最大N条记录的方法,并分享新年祝福。本文提供多种解决方案,适用于不同数据库系统,如MySQL、Oracle等。 ... [详细]
  • 20100423:Fixes:更新批处理,以兼容WIN7。第一次系统地玩QT,于是诞生了此预备式:【QT版本4.6.0&#x ... [详细]
  • 本文详细介绍了 MySQL 数据库中的基础操作,包括创建、查询、修改和删除数据库、表及数据的命令。通过具体的 SQL 语句示例,帮助读者快速掌握 MySQL 的基本操作。 ... [详细]
  • 本文详细介绍如何利用已搭建的LAMP(Linux、Apache、MySQL、PHP)环境,快速创建一个基于WordPress的内容管理系统(CMS)。WordPress是一款流行的开源博客平台,适用于个人或小型团队使用。 ... [详细]
  • 本文介绍了Oracle和IBM DB2数据库管理系统当前的最新版本,包括它们的主要特点、功能改进以及发布日期。文章详细探讨了两个系统在企业级应用中的表现,并提供了对各自版本更新的重点解析。 ... [详细]
  • 方法:1 配置数据库basediros.path.abspath(os.path.dirname(__file__))  #获取当前文件的绝对路径appFlask(__name__ ... [详细]
author-avatar
cl357_475
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有