上课总结-数据库Chapter2: 关系数据库
Chapter2: 关系数据库
一.搞懂主键 外键关系
主键(主码):能唯一标识一个元组的某一属性组。
外键:不是这组数据的主键 但是另一组数据的唯一主键(当这组数据的主键有2个时 可以作为外键)
例 1 找出所有外键
1. 学生S(学号,姓名,性别,系号,出生年月)
2. 系DEPT(系号,系名,负责人)
3. 课程C(课程号,课程名,学分)
4. 选课SC(学号,课程号,成绩)
答:1的系号(1==>2) 4的学号(4==>1) 4的课程号(4==>3)
============================================
二.理解关系性质
1.列是同质的。 //同一数据类型
2.关系中行的顺序、列的顺序可以任意互换,不会改变关系的意义。即行、列无序
3关系中的任意两个元组不能相同。 //元组:二维表中的行称为元组(记录值)。
4.关系中的元组分量具有原子性,即每一个分量都必须是不可分的数据项。
5.不同的列可出自同一个域 //定义域可以一样
===============================================
三.关系的完整性
1.主键上的元素不能为空!(非主键可以)
2.外键元素两表的域必须相同 或者空
3.其作用就是要保证数据库中的数据是正确的,提高了数据库的正确度 .
==============================================
四.关系运算
1.选择 σ //挑出符合的行
2.投影 兀 //挑出符合的列(会去重)
上两个简单理解 不列举例子
3.等值连接R ⋈S //两表有公共属性 对相同属性的化简表 笛卡儿积后 去重
例: R⋈S



解释:R与S相同属性B有b1,b2,b3,提出后笛卡儿积 再去重
4.除法 R ÷S //含有关键词:全部 需进行÷操作
例: R÷S:查询选修了全部课程的同学学号
R S R÷S



关键词:“的”后面是被除数的表
“全部”是除数的表
R÷S的属性:是“的”后面的 R-S的属性名
R÷S=满足所有S主键的 + R÷S的属性
例题:
S C SC



Q1:查询选修了“程军”老师课程的学生学号
ПSno(ПCno,Sno ( SC ) ∞ ПCno (σTeacher=‘程军’ (C))
Q2:查询选修了“程军”老师全部课程的学生学号。
ПSno,Cno ( SC ) ПCno (σTeacher=‘程军’ (C))
Q3:查询全部学生都选修的课程号和课程名。
ПCno,Cname(C∞ ( ПSno,Cno ( SC) ÷ ПSno(S)) )
上课总结-数据库Chapter2: 关系数据库的更多相关文章
- 数据库的范式,第一、二、三、四、五范式、BC范式
数据库的规范化(上一篇博客有写到)的程度不同,便有了这么多种范式.数据库范式是数据库设计必不可少的知识,没有对范式的理解,就无法设计出高效率.优雅的数据库,甚至设计出错误误的数据库.课本中的定义比较抽 ...
- 全自动迁移数据库的实现 (Fluent NHibernate, Entity Framework Core)
在开发涉及到数据库的程序时,常会遇到一开始设计的结构不能满足需求需要再添加新字段或新表的情况,这时就需要进行数据库迁移. 实现数据库迁移有很多种办法,从手动管理各个版本的ddl脚本,到实现自己的mig ...
- 数据库 之MySQL 简单教程
So Easy系列之MySQL数据库教程 1. 数据库概述 1.1. 数据库概述 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和 ...
- Jena学习笔记(2)——利用数据库保存本体
注明:本文档是使用Jena2.6.4,数据库为MySQL,数据库驱动版本为mysql-connector-java-5.1.13-bin.jar. 1 Jena的数据库接口 Jena提供了将RDF数据 ...
- Postgres数据库基本介绍
最近一直在做一个和PostgreSQL数据库相关的项目,把自己在这个过程中学习的知识记录下来.关于PostgreSQL数据库网上已经有太多的相关介绍了,为了博文的系统性还是先看一下维基百科对Postg ...
- 各种主流数据库的比较(所以说我觉得Oracle这个keng?入的不错?)
随着计算机技术不断发展,各种数据库编程工具也随着发展,使当今的大多数程序开发人员可以摆脱枯燥无味的用计算机指令或汇编语言开发软件,而是利用一系列高效的.具有良好可视化的编程工具去开发各种数据库软件,从 ...
- 关于NoSQL数据库你应该知道的10件事
关系数据库模型已经流行了几十年了,但是一种新类型的数据库——被称为NoSQL,正在引起企业的注意.下面是关于它的优势和劣势的一个概述.二十多年以来,对数据库管理来说,关系数据库(RDBMS)模型一直是 ...
- 数据库及SQL----常用知识点总结
数据库也是计算机类笔试面试中不可避免会遇到的考点,尤其是银行和部分传统软件类公司.这里根据整理的资料,对数据库的相关知识也做个总结吧.希望学过数据库但长时间不用的同学根据这些知识能够回忆和重拾,没学过 ...
- 关系型数据库和NOSQL数据库对比
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt328 关系型数据库,是建立在关系模型基础上的数据库,其借助于集合代数等数学概 ...
随机推荐
- [置顶]
STM32的ADC1采集多条通道,可以不使用DMA功能吗?
类似的问题 为什么我采集5条通道的电压,而采集到的值却都是第一条的呢? 我什么时候需要使用DMA功能? Ⅰ关于ADC的一些知识 STM32的ADC是一种12位逐次逼近型的模拟数字转换器.它有多达18条 ...
- [置顶]
STM32 输入捕获的脉冲宽度及频率计算
输入捕获模式可以用来测量脉冲宽度或者测量频率.STM32 的定时器,除了 TIM6 和 TIM7,其他定时器都有输入捕获功能.以下是对脉冲宽度及频率的计算. 1.脉冲宽度 如下图所示,采集该高电平脉冲 ...
- springboot成神之——spring的文件上传
本文介绍spring的文件上传 目录结构 配置application DemoApplication WebConfig TestController 前端上传 本文介绍spring的文件上传 目录结 ...
- stm32中断 抢占优先级 和 响应优先级 有什么区别
与51不同,stm32的中断分类更灵活.51只是按先后顺序大小排列互相打断. stm32中多了响应优先级这一概念. stm32的中断分为 1.抢占(占先)优先级. 2.响应优先级. 1.抢占优先级.抢 ...
- angularJS笔记之过滤器
angular的过滤器用法: 1.模板中使用 {{expression|filter}} 也可以多个filter连用 {{expression|filter1|filter2|...}} filter ...
- 10 个你需要了解的 Linux 网络和监控命令
我下面列出来的10个基础的每个linux用户都应该知道的网络和监控命令.网络和监控命令类似于这些: hostname, ping, ifconfig, iwconfig, netstat, nsloo ...
- 【290】Python 模块
参考:Python 模块 目录: 1. import 语句(模块的引入) 2. from...import 语句 3. from...import * 语句 4. dir() 函数 5. Python ...
- mysql之提示符
MySQL常用的简单的命令: mysql> PROMPT \u@\h \d> PROMPT set to '\u@\h \d>' root (none)>USE test Da ...
- python数据字典的操作
一.什么是字典? 字典是Python语言中唯一的映射类型. 映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关系,通常被认为是可变的哈希表. 字典对象是可变的,它是一个容器 ...
- JanusGraph : 图和图数据库的简介
JanusGraph:图数据库系统简介 图(graph)是<数据结构>课中第一次接触到的一个概念,它是一种用来描述现实世界中个体和个体之间网络关系的数据结构. 为了在计算机中存储图,< ...