热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关系数据库(概念、关系操作、完整性、关系代数)

一、概念类东西关系模型三要素:关系数据结构、关系操作集合和关系完整性约束。用户角度:关系模型中数据的逻辑结构是一张扁平的二维表。(l )关系:一个
一、概念类东西

关系模型三要素:关系数据结构、关系操作集合和关系完整性约束。

用户角度:关系模型中数据的逻辑结构是一张扁平的二维表。

( l )关系:一个关系对应通常说的一张二维表;

( 2 )属性:表中的一列即为一个属性;

( 3 )域:属性的取值范围;(性别——男、女)

( 4 )笛卡尔积:所有域的所有取值的一个组合,不能重复。

( 5 )元组:表中的一行即为一个元组;

( 6 )主码:表中的某个属性组,它可以惟一确定一个元组;

( 7 )外码:F为关系R的一组属性(非主码),F是关系S中的主码,责称F为关系R的外码。

( 8 )分量:元组中的一个属性值;

( 9 )关系模式:对关系的描述,一般表示为关系名(属性 1 ,属性 2 , … ,属性 n )

 

关系的三种类型:基本表(真是存储的表)、查询表、视图(虚表)。

关系模式是型(静态)、关系是值(动态)。

关系数据库的型-----关系数据库模式        关系数据库的值----关系数据库

R(U,D,DOM,F)

R---关系名       U---属性集合     D---U中属性所来自的域     DOM---属性向域的映像集合    F---属性间数据的依赖关系

二、关系操作

分为查询操作和插入、删除、修改操作。

特点:操作对象和结果都是集合。

5种基本操作:选择、投影、并、差、笛卡尔积。(后面还有)

三、关系的完整性

三种完整性约束:实体完整性、参照完整性、用户定义完整性。(前两者必须满足)

1.实体完整性约束-----主属性不能为空

2.参照完整性约束-----外码(1)空值(2)等于对应关系中的主属性值

四、关系代数

关系代数运算符:

R∪S :由属于R或属于S的元组组成

R - S :由属于R而不属于S的所有元组组成

R∩S :由既属于R又属于S的元组组成

R × S:

   选择:σSdept = 'IS' (Student)

   投影:πSname,Sdept(Student)        投影针对的是列及属性,并在投影出来时删去重复值。

   除:设R与S的除运算结果为关系T,则T包含所有在R但不在S中的属性及其值,且T与S的元组的所有组合都在R。

   连接---在笛卡尔积的基础上做选择。(可进行两属性的比较进行连接)

   等值连接:从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组

   自然连接:去除等值中重复列。

外连接:左外连接(LEFT OUTER JOIN或LEFT JOIN) 只保留左边关系R中的悬浮元组。

              右外连接(RIGHT OUTER JOIN或RIGHT JOIN) 只保留右边关系S中的悬浮元组。

 

 

 

 


推荐阅读
  • SQL 连接详解与应用
    本文详细介绍了 SQL 连接的概念、分类及实际应用,包括内连接、外连接、自连接等,并提供了丰富的示例代码。 ... [详细]
  • 本文详细介绍了Java代码分层的基本概念和常见分层模式,特别是MVC模式。同时探讨了不同项目需求下的分层策略,帮助读者更好地理解和应用Java分层思想。 ... [详细]
  • 网络爬虫的规范与限制
    本文探讨了网络爬虫引发的问题及其解决方案,重点介绍了Robots协议的作用和使用方法,旨在为网络爬虫的合理使用提供指导。 ... [详细]
  • Spring 切面配置中的切点表达式详解
    本文介绍了如何在Spring框架中使用AspectJ风格的切面配置,详细解释了切点表达式的语法和常见示例,帮助开发者更好地理解和应用Spring AOP。 ... [详细]
  • [c++基础]STL
    cppfig15_10.cppincludeincludeusingnamespacestd;templatevoidprintVector(constvector&integer ... [详细]
  • 多线程基础概览
    本文探讨了多线程的起源及其在现代编程中的重要性。线程的引入是为了增强进程的稳定性,确保一个进程的崩溃不会影响其他进程。而进程的存在则是为了保障操作系统的稳定运行,防止单一应用程序的错误导致整个系统的崩溃。线程作为进程的逻辑单元,多个线程共享同一CPU,需要合理调度以避免资源竞争。 ... [详细]
  • 微软推出Windows Terminal Preview v0.10
    微软近期发布了Windows Terminal Preview v0.10,用户可以在微软商店或GitHub上获取这一更新。该版本在2月份发布的v0.9基础上,新增了鼠标输入和复制Pane等功能。 ... [详细]
  • 在使用 Cacti 进行监控时,发现已运行的转码机未产生流量,导致 Cacti 监控界面显示该转码机处于宕机状态。进一步检查 Cacti 日志,发现数据库中存在 SQL 查询失败的问题,错误代码为 145。此问题可能是由于数据库表损坏或索引失效所致,建议对相关表进行修复操作以恢复监控功能。 ... [详细]
  • 在分析和解决 Keepalived VIP 漂移故障的过程中,我们发现主备节点配置如下:主节点 IP 为 172.16.30.31,备份节点 IP 为 172.16.30.32,虚拟 IP 为 172.16.30.10。故障表现为监控系统显示 Keepalived 主节点状态异常,导致 VIP 漂移到备份节点。通过详细检查配置文件和日志,我们发现主节点上的 Keepalived 进程未能正常运行,最终通过优化配置和重启服务解决了该问题。此外,我们还增加了健康检查机制,以提高系统的稳定性和可靠性。 ... [详细]
  • Spring – Bean Life Cycle
    Spring – Bean Life Cycle ... [详细]
  • 双指针法在链表问题中应用广泛,能够高效解决多种经典问题,如合并两个有序链表、合并多个有序链表、查找倒数第k个节点等。本文将详细介绍这些应用场景及其解决方案。 ... [详细]
  • 探讨Redis的最佳应用场景
    本文将深入探讨Redis在不同场景下的最佳应用,包括其优势和适用范围。 ... [详细]
  • Redis 脑裂现象及其应对策略
    本文探讨了 Redis 集群中的脑裂现象及其解决方案,包括脑裂的成因、影响以及如何通过配置项防止脑裂的发生。 ... [详细]
  • 深入解析HTML5字符集属性:charset与defaultCharset
    本文将详细介绍HTML5中新增的字符集属性charset和defaultCharset,帮助开发者更好地理解和应用这些属性,以确保网页在不同环境下的正确显示。 ... [详细]
  • 本文详细介绍了MySQL数据库的基础语法与核心操作,涵盖从基础概念到具体应用的多个方面。首先,文章从基础知识入手,逐步深入到创建和修改数据表的操作。接着,详细讲解了如何进行数据的插入、更新与删除。在查询部分,不仅介绍了DISTINCT和LIMIT的使用方法,还探讨了排序、过滤和通配符的应用。此外,文章还涵盖了计算字段以及多种函数的使用,包括文本处理、日期和时间处理及数值处理等。通过这些内容,读者可以全面掌握MySQL数据库的核心操作技巧。 ... [详细]
author-avatar
雷雨点H
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有