好久没怎么用了,本来就不是很扎实的sql知识更加模糊了,特作文予以记录。
http://www.chinesewalker.ik8.com/teacher/databaselesson/index.htm
1、下载了 SQL循序渐进教程 [CHM].rar
2、http://sql.1keydata.com/cn/sql-links.php 这个网站还不错
3、http://www.chinesewalker.ik8.com/teacher/databaselesson/chapter01.htm
关系数据库的一些基本知识
4、http://www.chinesewalker.ik8.com/teacher/databaselesson/chapter02.htm
5、第三章 关系数据库标准语言SQL http://www.chinesewalker.ik8.com/teacher/databaselesson/chapter03.htm#node1
与 是两个都为1时 返回1
或 是两个有一个为1时 返回1
异或 是两个不同时 返回1
非 是单目 是0就返回1 是1就返回0
按位的意思是转换成二进制形式 然后对每一位进行运算后返回
逻辑的意思是转换成Boolen形式 然后进行运算
逻辑与 &&
逻辑或 ||
逻辑异或 (bool)num1 != (bool)num2
逻辑非 !
按位与 &
按位或 |
按位异或 ^
按位非 ~
二、传统的关系运算
(集合运算)
1、简述
⑴交、差、并、笛卡儿积(二目运算)涉及两个关系的运算。在做交
、差
、并
操作时,必须保证两个关系相容
,即:两个关系有相同的目或度,也就是有相同的属性个数,并且对应的属性取自相同的域。
⑵关系运算还涉及到比较运算和逻辑运算,其运算符分别是
比较运算符:>
、≥
、<
、≤
、=
、≠
逻辑运算符:┐
(非)、∧
(与)、∨
(或)
⑶我们以下列两个关系来说明传统的关系运算
◎篮球兴趣小组(设为关系R
)
姓名 |
系名 |
性别 |
王捷 |
数学系 |
男 |
张炎 |
物理系 |
男 |
陈仪 |
外语系 |
女 |
●计算机兴趣小组(设为
关系S
)
姓名 |
系名 |
性别 |
赵铭 |
中文系 |
男 |
陈仪 |
外语系 |
女 |
孙森茂 |
法律系 |
男 |
王捷 |
数学系 |
男 |
2、并操作∪(或)UNION
⑴返回的关系由两个指定关系中所有的元组构成。
⑵重复元素的处理,由属于关系R或
属于关系S的元组组成,其运算结果仍为关系。
⑶关系代数中的并,不是通常数学中的并;它是一种特殊类型的并,要求两个参与操作的关系是同一类型。如果两个关系属于同一类型,那就可以进行并操作,得到的结果是一个相同类型的关系;封闭的特性被保持了下来。
例 :篮球兴趣小组(关系R)∪计算机兴趣小组(关系S)的结果是
姓名 |
系名 |
性别 |
赵铭 |
中文系 |
男 |
陈仪 |
外语系 |
女 |
张炎 |
物理系 |
男 |
孙森茂 |
法律系 |
男 |
王捷 |
数学系 |
男 |
3、交操作∩(且)INTERSECT
⑴返回关系由同时出现在两个指定关系中的元组构成。
⑵由属于关系R同时又
属于关系S的元组组成,其运算结果是关系。
例:篮球兴趣小组(关系R)∩计算机兴趣小组(关系S)的结果是
姓名 |
系名 |
性别 |
王捷 |
数学系 |
男 |
陈仪 |
外语系 |
女 |
4、差操作-MINUS
⑴R-S返回的关系由那些属于第一个关系却不属于第二个关系的元组构成。
⑵如果是R-S,则由属于关系R而不属于关系S的元组组成,其运算结果是关系。
例:篮球兴趣小组(关系R)-计算机兴趣小组(关系S)的结果是
⑶差操作要注意注意次序,如果是S-R,则由属于关系S而不属于关系R的元组组成,其运算结果也是关系,就像通常数学中的减法(“5-2”和“2-5”不是同一件事情)。
例:计算机兴趣小组(关系S)-篮球兴趣小组(关系R)的结果是
姓名 |
系名 |
性别 |
赵铭 |
中文系 |
男 |
孙森茂 |
法律系 |
男 |
5、笛卡儿积×TIMES
返回一个关系,包含任意两个分别来自两个指定关系的元组组合的所有可能的元组。
例: 计算机兴趣小组(关系S)×篮球兴趣小组(关系R)的结果是
R.姓名 |
R.系名 |
R.性别 |
S.姓名 |
S.系名 |
S.性别 |
王捷 |
数学系 |
男 |
赵铭 |
中文系 |
男 |
王捷 |
数学系 |
男 |
陈仪 |
外语系 |
女 |
王捷 |
数学系 |
男 |
孙森茂 |
法律系 |
男 |
王捷 |
数学系 |
男 |
王捷 |
数学系 |
男 |
张炎 |
物理系 |
男 |
赵铭 |
中文系 |
男 |
张炎 |
物理系 |
男 |
陈仪 |
外语系 |
女 |
张炎 |
物理系 |
男 |
孙森茂 |
法律系 |
男 |
张炎 |
物理系 |
男 |
王捷 |
数学系 |
男 |
陈仪 |
外语系 |
女 |
赵铭 |
中文系 |
男 |
陈仪 |
外语系 |
女 |
陈仪 |
外语系 |
女 |
陈仪 |
外语系 |
女 |
孙森茂 |
法律系 |
男 |
陈仪 |
外语系 |
女 |
王捷 |
数学系 |
男 |
我们可以观察到,笛卡儿积会产生大量无实际意义的元组,可以利用专门的关系运算产生符合实际需要的关系。
三、专门的关系运算
1、选择、投影、连接和除法
2、
选择运算(Selection)
⑴返回一个关系,其中的元组来自指定关系中所有满足指定条件的元组。
⑵选择运算是从关系的水平方向进行运算,是从关系中选择满足给定条件的元组,记作
。
⑶例:求
,其结果为
姓名 |
系名 |
性别 |
赵铭 |
中文系 |
男 |
孙森茂 |
法律系 |
男 |
王捷 |
数学系 |
男 |
3、投影运算(Projection)
⑴返回一个关系,由去掉若干属性列后的指定关系中剩余的所有(子)元组组成。
⑵投影关系是从关系的垂直方向进行运算,即在关系R中选择出若干属性列A组成新的关系,记作
。
⑶例:求
,其结果为
姓名 |
系名 |
王捷 |
数学系 |
张炎 |
物理系 |
陈仪 |
外语系 |
⑷投影运算后,不仅取消了关系中的某些列,还可以取消某些元组,因为当取消了某些属性之后,就可能出现重复元组,投影运算将自动取消这些相同的元组。
4、连接运算(Join)
⑴连接分为θ连接
、等值连接
和自然连接
三种。鉴于自然连接在实际操作中的重要性,以下面三个关系为例集中阐述自然连接的具体使用。由于连接运算的目的是操作不同的关系从而求出所需的数据,相对来说复杂些。
关系S
学号
|
姓名
|
性别
|
系名
|
年龄
|
3001 |
王平 |
女 |
计算机 |
18 |
3002 |
张勇 |
男 |
计算机 |
19 |
4003 |
黎明 |
女 |
机械 |
18 |
4004 |
刘明远 |
男 |
机械 |
19 |
1041 |
赵国庆 |
男 |
通信 |
20 |
1042 |
樊建玺 |
男 |
通信 |
20 |
关系C
课程号
|
课程名
|
学分
|
1 |
数据库 |
3 |
2 |
数学 |
4 |
3 |
操作系统 |
4 |
4 |
数据结构 |
3 |
5 |
数字通信 |
3 |
6 |
信息系统 |
4 |
7 |
程序设计 |
2 |
关系SC
学号
|
课程号
|
成绩
|
3001 |
1 |
93 |
3001 |
2 |
84 |
3001 |
3 |
84 |
3002 |
2 |
83 |
3002 |
3 |
93 |
1042 |
1 |
84 |
1042 |
2 |
82 |
⑵连接运算是从两个关系R和S的笛卡儿积中选取满足条件的元组。可以认为笛卡儿积是无条件连接,其他连接是有条件连接。
⑶θ连接
:从R与S的笛卡儿积中选取属性间满足一定条件的元组,记作
,其中,XθY为连接的条件,θ是比较运算符,X和Y分别为R和S上度数相等,且可比的属性组。
⑷等值连接
:当θ为=时,称之为等值连接,记为
。
⑸自然连接
:是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组
,并且在结果集中将重复属性列去掉
。一般连接是从关系的水平方向运算,而自然连接不仅要从关系的水平方向,而且要从关系的垂直方向运算。自然连接记为
。
例1:求
的结果
学号
|
姓名
|
性别
|
系名
|
年龄
|
课程号
|
成绩
|
3001 |
王平 |
女 |
计算机 |
18 |
1 |
93 |
3001 |
王平 |
女 |
计算机 |
18 |
2 |
84 |
3001 |
王平 |
女 |
计算机 |
18 |
3 |
84 |
3002 |
张勇 |
男 |
计算机 |
19 |
2 |
83 |
3002 |
张勇 |
男 |
计算机 |
19 |
3 |
93 |
1042 |
樊建玺 |
男 |
通信 |
20 |
1 |
84 |
1042 |
樊建玺 |
男 |
通信 |
20 |
2 |
82 |
例2:求
的结果
课程号
|
课程名
|
学分
|
学号
|
成绩
|
1 |
数据库 |
3 |
3001 |
93 |
1 |
数据库 |
3 |
1042 |
84 |
2 |
数学 |
4 |
3001 |
84 |
2 |
数学 |
4 |
3002 |
83 |
2 |
数学 |
4 |
1042 |
82 |
3 |
操作系统 |
4 |
3001 |
84 |
3 |
操作系统 |
4 |
3002 |
93 |
例3:求
的结果
学号
|
姓名
|
性别
|
系名
|
年龄
|
课程号
|
成绩
|
课程名
|
学分
|
3001 |
王平 |
女 |
计算机 |
18 |
1 |
93 |
数据库 |
3 |
3001 |
王平 |
女 |
计算机 |
18 |
2 |
84 |
数学 |
4 |
3001 |
王平 |
女 |
计算机 |
18 |
3 |
84 |
操作系统 |
4 |
3002 |
张勇 |
男 |
计算机 |
19 |
2 |
83 |
数学 |
4 |
3002 |
张勇 |
男 |
计算机 |
19 |
3 |
93 |
操作系统 |
4 |
1042 |
樊建玺 |
男 |
通信 |
20 |
1 |
84 |
数据库 |
3 |
1042 |
樊建玺 |
男 |
通信 |
20 |
2 |
82 |
数学 |
4 |
5、除法(Division)
⑴映射是指两个非空集合A、B之间的一种对应法则,若对应法则f使得A中任一元素与B中唯一元素对应,则f叫作A到B的映射,记作f:A→B,A叫作这个映射的原象集
,B叫作象集
。
⑵在关系中对于象集
:给定一个关系R(X,Z),X和Z为属性组。我们定义,当t[X]=x时,x在R中的象集(Images
Set)为:Zx
={t[Z]|t∈R, t[X]=x},它表示R中属性组X上值为x的诸元组在Z上分量的集合。
⑶除运算是同时从关系的水平方向和垂直方向进行运算。给定关系R(X,Y)和S(Y,Z),X、Y、Z为属性组。R÷S应当满足元组在X上的分量值x的象集Yx
包含关系S在属性组上投影的集合。
⑷在进行运算时,将被除关系R的属性分成两部分:与除关系相同的部分Y和不同的部分X。在被除关系R中,按X的值分组,即相同X值的元组分为一组。除法的运算是求包括除关系中全部Y值的组,这些组中的X值将作为除结果的元组。
⑸除法含有“for all
”的语义,这个含义非常重要。
⑹例1:设有如下关系R、S,求R÷S的结果
关系R:
X
|
Y
|
X1
|
Y1
|
X2
|
Y1
|
X2
|
Y2
|
X2
|
Y3
|
关系S:
解题过程如下:
被除数R中有X1,X2两个值,X1的象集是{Y1};X2的象集是{Y1,Y2,Y3}
除数S在Y上的投影为{Y1,Y2}
只有X2的象集包含了S在Y上的投影
所以R÷S的结果是:
⑺例2:设有如下关系R、S,求R÷S的结果
关系R:
学号
|
课程号
|
3001
|
1
|
3001
|
3
|
3002
|
2
|
3003
|
1
|
3003
|
2
|
3003
|
3
|
关系S:
解题过程如下:
被除数R中有3001、3002、3003三个值,3001的象集是{1,3};3002的象集是{2};3003的象集是{1,2,3}
除数S在课程号上的投影为{1,2,3}
只有3003的象集包含了S在课程号上的投影
所以R÷S的结果是
请思考本例R÷S结果的实际意义,在实际应用中,该结果其实常被描述成“查询选修了所有课程的学生学号
”
⑻例3:求SC÷C的结果。
备注:
单个关系:[选择运算:水平,投影运算:垂直]
多个关系:【无条件:笛卡尔乘积,有条件:连接运算(连接运算>@连接>等值连接>自然连接)】
分享到:
相关推荐
labview源码参考示例,可供参考学习使用
labview源码参考示例,可供参考学习使用
混合策略改进的麻雀搜索算法 matlab代码 改进1:佳点集种群初始化 改进2:采用黄金正弦策略改进发现者位置更新公式 改进3:采用Levy飞行策略增强算法跳出局部最优的能力 - 仿真图中包含改进后的ISSA算法与原始SSA算法的比较 - 包含23种测试函数
1. 用户角色 普通用户 交通执法人员 管理员 2. 功能描述 普通用户功能 账号注册与登录 支持使用邮箱、手机号或社交媒体账户进行注册和登录。 提供个人资料管理功能,包括姓名、联系方式、车辆信息等。 交通信息查询 实时查询交通路况,包括拥堵情况、事故报告和施工信息。 查询公交、地铁等公共交通的实时到站信息和运营时间。 导航与路线规划 提供最优路线规划功能,根据实时交通数据优化行车路线。 支持多种出行方式选择(驾车、步行、公共交通等)。 违章查询与处理 查询个人车辆的违章记录,查看详细信息。 提供在线支付违章罚款的功能,简化处理流程。 交通安全举报 提供交通违法行为的在线举报功能,附带照片和位置标注。 跟踪举报处理进度,获取反馈信息。 活动与公告信息 查看交通管理部门发布的最新公告、政策和交通活动信息。 参与公众咨询和意见征集,提升参与感。 社区互动 提供讨论区,让用户分享出行经验、提供建议和交流信息。 用户可以互相解答问题,增强社区氛围。 交通执法人员功能 执法管理 登录系统后可查看自己负责区域的交通动态和违章记录。 在现场执法过程中,能够实时更新违章信息并生成执法记
1. 用户角色 管理员 养老服务人员 老年人 家属/亲友 2. 功能描述 管理员功能 用户管理 管理各类用户(老年人、家属、服务人员)的注册、审核和信息维护。 设置不同角色的权限,确保系统安全性。 服务项目管理 创建、编辑和删除养老服务项目,包括护理服务、陪伴、康复、餐饮等。 审核新增服务内容,确保服务质量和合规性。 预约管理 管理老年人的服务预约,包括预约确认、修改和取消。 跟踪服务人员的工作安排和服务记录。 数据统计与分析 生成各类统计报告,如服务使用频率、用户满意度等,帮助优化服务。 分析老年人需求趋势,为决策提供数据支持。 财务管理 管理服务费用及收费记录,支持发票开具和支付管理。 预算编制和财务报表生成,确保资金透明。 养老服务人员功能 个人资料管理 注册并创建个人账户,填写基本信息(如姓名、专业技能、联系方式等)。 上传相关资格证明和培训证书。 服务项目查看 查看可提供的养老服务项目及相关要求。 跟进服务需求,了解老年人的具体需要。 预约服务 接受老年人的服务预约请求,确认服务时间和内容。 记录每次服务的具体情况和反馈。 沟通与反馈 与老年人及其家属保持沟
ONE·ONE,图文微信小程序-开源代码_ eapp ONE
古月居ROS机械臂开发代码和笔记_Development-of-robot-with-ROS
主播运营拉爆自然流,做懂流量的主播.mp4
将多个图像显示为子图的蒙太奇Matlab代码.rar
基于WordPress小程序API插件创建的WordPress小节目旅游主题,包括微信小程序、QQ小程序、百度智能小程序、今日头条小程序_旅游小程序
python数据挖掘分析可视化-武汉市出租车轨迹的数据挖掘与分析(数据集+源码+分析结果),个人大四毕业设计项目、经导师指导并认可通过的高分设计项目,评审分99分,代码完整确保可以运行,小白也可以亲自搞定,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 python数据挖掘分析可视化-武汉市出租车轨迹的数据挖掘与分析(数据集+源码+分析结果)python数据挖掘分析可视化-武汉市出租车轨迹的数据挖掘与分析(数据集+源码+分析结果)python数据挖掘分析可视化-武汉市出租车轨迹的数据挖掘与分析(数据集+源码+分析结果)python数据挖掘分析可视化-武汉市出租车轨迹的数据挖掘与分析(数据集+源码+分析结果)python数据挖掘分析可视化-武汉市出租车轨迹的数据挖掘与分析(数据集+源码+分析结果)python数据挖掘分析可视化-武汉市出租车轨迹的数据挖掘与分析(数据集+源码+分析结果)python数据挖掘分析可视化-武汉市出租车轨迹的数据挖掘与分析(数据集+源码+分析结果)python数据挖掘分析可视化-武汉市出租车轨迹的数据挖掘与分
springboot183基于java的公寓报修管理系统,含有完整的源码和报告文档
基于蚁群算法的路径规划算法matlab代码,求解常见的路径规划问题。 内含算法的注释,模块化编程,新手小白可快速入门。 ACO算法,路径规划算法。
labview源码参考示例,可供参考学习使用
Java小程序项目源码,该项目包含完整的前后端代码、数据库脚本和相关工具,简单部署即可运行。功能完善、界面美观、操作简单,具有很高的实际应用价值,非常适合作为Java毕业设计或Java课程设计使用。 所有项目均经过严格调试,确保可运行!下载后即可快速部署和使用。 1 适用场景: 毕业设计 期末大作业 课程设计 2 项目特点: 代码完整:详细代码注释,适合新手学习和使用 功能强大:涵盖常见的核心功能,满足大部分课程设计需求 部署简单:有基础的人,只需按照教程操作,轻松完成本地或服务器部署 高质量代码:经过严格测试,确保无错误,稳定运行 3 技术栈和工具 前端:小程序 后端框架:SSM/SpringBoot 开发环境:IntelliJ IDEA 数据库:MySQL(建议使用 5.7 版本,更稳定) 数据库可视化工具:Navicat 部署环境:Tomcat(推荐 7.x 或 8.x 版本),Maven
windows 11系统打印机共享修复工具
汽车lar lqg 半主动 主动悬架 simulink
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
springboot182基于springboot的网上服装商城,含有完整的源码和报告文档
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。