软件设计师12-数据库(数据操作)

简介: 数据操作二目运算1)并   RUS R U S={t|t∈R v t∈S}2)差:R-SR-S={t|t∈R v t∉ S}3)交: R ∩ SR ∩ S={t|t∈R^t∈S}3)笛卡儿积关系运算1)投影   从关系R中选择出若干属性列组成新的关系(垂直分割,消除列),去除重复元组   例:下图表示 从Student中查询学生的姓名和所在地。


img_2ea159161269a9a95e2aae120d7c9ec7.png

数据操作

img_edf6d200688ea638bb98ad8601284fe5.jpe

二目运算

1)并   RUS

 R U S={t|t∈R v t∈S}

img_ac115c6ae5d5b1501b0cafdba56b3f9c.png

2)差:R-S

R-S={t|t∈R v t∉ S}


img_01c73dfb394f249674224f1bb08c2212.png

3)交: R ∩ S

R ∩ S={t|t∈R^t∈S}

img_cc2339dbba18c0a32d8f800264601cef.png

3)笛卡儿积

img_5664adf0f28349a68f6499db1d8a9b72.png

关系运算

1)投影

   从关系R中选择出若干属性列组成新的关系(垂直分割,消除列),去除重复元组

   例:下图表示 从Student中查询学生的姓名和所在地。2、5代表Sname和Sdept所处下标

img_06a60d6f4a529b01e29b6aa37c7f2203.jpe

2)选择

 选择操作所在关系R中满足给定条件的所有元组

 从Student中查询IS系的学生 5 代表第五列

img_982f3ab617ffc1e5241dd99596e0fb06.jpe

3)连接

从两个关系的笛卡尔积中选择满足一定条件的元组


img_84d8596d3f7d86c3f83025e7f5900852.jpe

  1)一般连接 

  R和S的广义笛卡儿积中C<E的

img_dc9ef56ed26ee20ffbd3b924ddc8eb9f.jpe

  2)等值连接

  从R与S的广义笛卡儿积中选取A B 相同的元组

img_5ba93c6d10df131d7972232e02ce56bb.jpe
img_016e231b6f8538f11df97547b2b639ed.jpe

  3)自然连接

  特殊的等值连接(比较的必须是相同属性值、去掉其中一个相同列)

     4)外连接

      R与S进行自然连接时,舍弃的元组处填NULL

          5)左外连接

           R与S进行自然连接时,把左边关系中R要舍弃的保留下来

           S中为NULL的元组不清除,清除R为NULL

 6)右外连接

与上面相反,舍左留右

R为NULL的元组不清除,清除S中为NULL的元组


img_f6ab8135132859a3cc796e78672e334b.jpe

7)除

R的B与S的B 、R的C与S的C需来自同一个域

img_8121f090b4e63814e38e8e4993144a82.jpe

基本表

独立存在,一个关系对应一个基本表,一个或多个基本表对应一个存储文件

1)定义基本表

CREATE TABLE <表名>

(<列名>{,<列名>|<表约束>})

img_ba98a79a3d38d05f13e445e97adedd2b.jpe

2)修改基本表

ALTER TABLE <表名>

[ADD <新列名> <数据类型>[完整性约束]]:增加新列和新的完整性约束条件

[ALTER COLUMN <列名><数据类型>]:

修改列

[DROP <COLUMN 列名>|<完整性约束名>]:删除指定列或完整性约束条件

例:ALTER TABLE S ADD CLASS_NO CHAR(6)

为表s添加属性CLASS_NO ,类型为char,长度为6

3)删除表

DROP TABLE<表名> drop table s 数据删除,视图仍在,但无用

视图

一个虚拟表,从一个或多个基本表导出,存放视图定义,随基本表改变

1)定义视图

    CREATE VIEW<视图名>[(<列名>[,<列名>]......)]

    AS

    <子查询>

     [with check option]

   例:CREATE VIEW IS_Student

           AS

           SELECT Sno,Sname,Sage FROM Student

            where Sdept='IS' With CheckOption

             创建视图IS_Student,数据来源:Student表的IS 系 的学生的Sno ,Sname, Sage信息

2)删除视图

DROP VIEW <视图名> DROP VIEW S

数据查询 SELECT


img_2c43aabc699e0753709334123ed11f93.jpe

3 按照 SELECT语句指定列,得到投影结果集

2 从FROM子句指定的基本表或视图中,3

SELECT Sno,Sname,Age FROM Student

1 根据WHERE子句的检索条件,2,选取满足条件元祖,3

SELECT Sno,Cno,Score FROM SC WHERE Score>85

WHERE Tname LIKE '__力%' 查询姓名中第二个汉字是“力”的

WHERE Cno IN ('c1','c2') 查询Cno是c1和c2其中一个的

GROUP 将查询结果按照<列名1>相同的值进行分组;后加HAVING,只输出满足其条件的元组

ORDER 查询结果还按<列名>的值排序

连接查询

1)行连接

2)关键字JOIN连接


img_b55cc33d54838029a5a8b23b9c132f2d.jpe

嵌套查询


img_7859ec381ed06c18c405dd5f1ca3a6c1.jpe

例:

SELECT 部门, AVG(应发工资) AS平均工资 FROM 工资表 GROUP BY 部门 HAVING COUNT(姓名)>2

AVG(应发工资) AS平均工资 计算应发工资的平均值并将及返回给平均工资

查询人数大于二部门和部门员工的应发工资的平均工资

目录
相关文章
|
2月前
|
存储 JSON 关系型数据库
【干货满满】解密 API 数据解析:从 JSON 到数据库存储的完整流程
本文详解电商API开发中JSON数据解析与数据库存储的全流程,涵盖数据提取、清洗、转换及优化策略,结合Python实战代码与主流数据库方案,助开发者构建高效、可靠的数据处理管道。
|
6天前
|
SQL 存储 JavaScript
软考中级软件设计师专项-数据库篇
本资料涵盖数据库核心概念,包括结构数据模型(层次、网状、关系模型)、三级模式结构(概念模式、外模式、内模式)、关系模型术语与完整性约束(实体、参照完整性)、笛卡尔积及关系代数操作(投影、选择、连接)、SQL语言基础与查询优化、关系模式规范化(范式1NF、2NF、3NF、BCNF)、E-R图设计与数据库设计流程、事务管理(ACID特性)、并发控制与分布式数据库等内容,适合数据库学习与考试复习。
38 0
软考中级软件设计师专项-数据库篇
|
1月前
|
存储 数据管理 数据库
数据字典是什么?和数据库、数据仓库有什么关系?
在数据处理中,你是否常困惑于字段含义、指标计算或数据来源?数据字典正是解答这些问题的关键工具,它清晰定义数据的名称、类型、来源、计算方式等,服务于开发者、分析师和数据管理者。本文详解数据字典的定义、组成及其与数据库、数据仓库的关系,助你夯实数据基础。
数据字典是什么?和数据库、数据仓库有什么关系?
|
5月前
|
存储 缓存 数据库
数据库数据删除策略:硬删除vs软删除的最佳实践指南
在项目开发中,“删除”操作常见但方式多样,主要分为硬删除与软删除。硬删除直接从数据库移除数据,操作简单、高效,但不可恢复;适用于临时或敏感数据。软删除通过标记字段保留数据,支持恢复和审计,但增加查询复杂度与数据量;适合需追踪历史或可恢复的场景。两者各有优劣,实际开发中常结合使用以满足不同需求。
405 4
|
1月前
|
存储 关系型数据库 数据库
【赵渝强老师】PostgreSQL数据库的WAL日志与数据写入的过程
PostgreSQL中的WAL(预写日志)是保证数据完整性的关键技术。在数据修改前,系统会先将日志写入WAL,确保宕机时可通过日志恢复数据。它减少了磁盘I/O,提升了性能,并支持手动切换日志文件。WAL文件默认存储在pg_wal目录下,采用16进制命名规则。此外,PostgreSQL提供pg_waldump工具解析日志内容。
139 0
|
3月前
|
存储 SQL Java
数据存储使用文件还是数据库,哪个更合适?
数据库和文件系统各有优劣:数据库读写性能较低、结构 rigid,但具备计算能力和数据一致性保障;文件系统灵活易管理、读写高效,但缺乏计算能力且无法保证一致性。针对仅需高效存储与灵活管理的场景,文件系统更优,但其计算短板可通过开源工具 SPL(Structured Process Language)弥补。SPL 提供独立计算语法及高性能文件格式(如集文件、组表),支持复杂计算与多源混合查询,甚至可替代数据仓库。此外,SPL 易集成、支持热切换,大幅提升开发运维效率,是后数据库时代文件存储的理想补充方案。
|
8月前
|
数据采集 数据库 Python
有哪些方法可以验证用户输入数据的格式是否符合数据库的要求?
有哪些方法可以验证用户输入数据的格式是否符合数据库的要求?
373 75
|
6月前
|
数据库 Python
【YashanDB知识库】python驱动查询gbk字符集崖山数据库CLOB字段,数据被驱动截断
【YashanDB知识库】python驱动查询gbk字符集崖山数据库CLOB字段,数据被驱动截断
|
5月前
|
人工智能 关系型数据库 分布式数据库
让数据与AI贴得更近,阿里云瑶池数据库系列产品焕新升级
4月9日阿里云AI势能大会上,阿里云瑶池数据库发布重磅新品及一系列产品能力升级。「推理加速服务」Tair KVCache全新上线,实现KVCache动态分层存储,显著提高内存资源利用率,为大模型推理降本提速。