![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SQL
文章平均质量分 82
小子挺不错
这个作者很懒,什么都没留下…
展开
-
【数据库系统】数据库完整性和安全性
利用存储在系统特定部分的冗余数据来重建数据库中被破坏的数据 冗余恢复技术、检查点恢复技术、数据库镜像恢复技术。安全性是指保护数据库以防不合法的使用造成数据的泄露、更改或破坏,确保只有授权的用户使用数据库中数据和执行操作。每次单独设置用户的权限麻烦,SQL提供了角色的用户分组,将具有相同权限的角色分配到一个组中。数据库完整性就是保证数据库中的数据的正确性和一致性,防止数据库中出现不符合要求的数据。可以定义的数据对象的范围,如果粒度越细,可以定义的数据对象范围越小,授权系统就越灵活。原创 2024-03-21 13:47:31 · 1729 阅读 · 0 评论 -
【数据库系统】查询语句性能优化
对两个表连接属性进行排序,采用两个指针,指针一不动,指针二向下扫描,扫描到相同的元素进行连接,扫描到不同的元素,指针二下移。若两个条件作用属性都有索引可以优化,取并集,否则只能顺序扫描法。将两个表的连接属性分别散列到一个Hash数组中,然后对散列到同一位置的元素进行连接。使用多个索引,在多个属性上建立索引,然后分别查找,取交集。访问存储器代价、存储代价、计算代价、内存使用代价、通信代价。和连接操作实现一样,有排序合并、索引连接、Hash连接法。DBMS查询处理步骤;列不同值的个数、选择率、最值、索引类型。原创 2024-03-21 13:44:15 · 541 阅读 · 0 评论 -
【数据库系统】SQL和T-SQL
和数据库架构和表紧密关联,当数据库架构发生变化或表的结构发生变化(增、删、修改)时,触发器自动运行,一个表可以有多个触发器。存储过程经数据库编译后存储在数据库服务端,应用程序只需要调用一次代码便可以执行存储过程的所有代码,类似于程序设计语言中的函数。是SQL中的一种对象,封装了可重用的模块和子程序,可以接受、输出参数,返回单个或多个结果集以及返回值。提供了变量定义,赋值操作,流程控制,函数等语句,供用户使用。在终端使用得交互式SQL 在高级语言中使用的嵌入式SQL,高级语言称作宿主语言,原创 2024-03-21 09:49:29 · 1319 阅读 · 0 评论 -
【数据库系统】第三章 关系数据库
基本思想:一个集合,施加一个操作后得到一个集合,依次施加关系代数操作,最终得到结果集合,核心是集合。外码可以是空值,若是非空值则一定是另一个作为主码的关系中的域值,可以有多个外码,DBMS自动支持。笛卡尔积:一个关系中所有元组和另一个关系中所有元组的所有可能得拼接构成的结果集合,基数是。等值连接:特殊的theta连接,条件是两个属性值相等,保留重复的属性列。一个关系中的非候选码是另一个关系中的候选码,一般用于连接这两个关系。基本操作:并,差,笛卡尔积,选择,投影;的元组构成新的集合,是特殊的等值连接,原创 2024-03-20 15:36:05 · 833 阅读 · 0 评论 -
【数据库系统】第二章 数据库系统的结构
用户和DBAP,用户可以看到和进行处理全局数据中的一部分,但是一些细节无法看到,因此也提供了安全性保护。描述了数据如何存储在DB中,以及数据之间的关系,独立于物理存储和应用程序。DB,存储在计算机内部介质上的数据,包含存储路径,存储方式,索引方式等。共享同样属性和方法的所有对象的集合,也就是Java中的类。和Java中对象一样,包含了数据结构和此数据结构上的方法。实体内部和实体之间的联系,有一对一、一对多,多对多联系。实例:在一个具体数据库中,在一个具体时间点的数据内容。数据库的物理结构和存储方式的描述。原创 2024-03-20 15:26:28 · 866 阅读 · 0 评论 -
【数据库系统】第一章 绪论
数据模型就是将事务的主要特征抽象出来,用一种形象化的特征描述出,得以简化问题,便于处理。描述现实世界的各种信息的符号记录,是信息的载体,是信息的具体表现形式。常见DBMS:My SQL,Oracle,SQL Server等。数据库的工作环境,由硬件系统和软件系统组成,具体包括。利用数据库管理语言SQL在DBMS中管理数据。DBA开发的程序,提供给用户使用数据库。逻辑结构改变不需要改变应用程序视图层。物理结构改变不需要改变逻辑结构。管理数据的一种软件,是由。,检索统计等管理数据等。原创 2024-03-20 15:15:39 · 884 阅读 · 0 评论 -
数据库理论:查询优化
数据库理论学习,查询优化原创 2022-03-24 09:04:00 · 386 阅读 · 0 评论 -
【SQL】数据库安全性、完整性、数据库恢复技术
一、基本内容| 安全性;完整性;数据库恢复技术;SQL Server的数据恢复机制;二、完整性,完整性约束| 数据库完整性就是保证数据库中的数据的正确性和一致性,防止数据库中出现不符合要求的数据实现完整性| 约束、默认、规则、触发器、存储过程违反完整性当操作违反实体和用户自定义完整性时,一般DBMS都拒绝执行操作当操作违反参照完整性时,还要根据应用执行一些语句,保证数据安全性约束表级约束| 若干元组间以及关系之间联系的数据约束。例如:选课表中,每个人最多能选 10 门课;学生表原创 2022-03-10 10:12:35 · 2800 阅读 · 0 评论 -
【SQL】连接操作详解
一、为什么使用连接操作?在关系数据库中,一个表中的属性往往并不能解决所有问题,所以需要我们对多个表进行联动处理问题。例如: 有student(sno,sname,sage,cno)和course(cno,cname)表,如果我们想获取选修c01数据库课程的学生姓名和课程名称,那么仅仅使用student和course都无法满足,这时就需要对两表进行连接处理。二、连接操作原理关系数据库中的操作都是根据关系代数(基于集合)进行操作得到目标结果。而关系代数也分成基本操作和拓展操作,拓展操作都可以根据基本操原创 2022-03-07 09:22:28 · 1933 阅读 · 0 评论 -
【SQL】数据库完整性使用实例
一、本文提供了数据库完整性的实例以及相应操作背景知识一、数据库完整性就是保证数据库中的数据的正确性和一致性,不会出现非法数据二、数据库实现完整性:约束、默认、规则、触发器。触发器实现完整性请看之前的文章链接: link.名称解释(不区分大小写)student学生表:包含属性列:sno学号、sname学生姓名、age年龄、sex性别、dno学院编号、birthday生日sc选课信息表:包含属性列:sno学号、cno课程号、grade成绩dept学院信息表:包含属性列:原创 2020-12-16 16:11:33 · 1544 阅读 · 1 评论 -
【T-SQL】存储过程和触发器使用实例
一、本文列举了一些T-SQL存储过程和触发的例题以及解答背景知识:存储过程:封装了可重用的代码块和模块,通过接收参数然后返回结果集来执行。存储过程经过数据库编译后存储在服务器端。触发器:由SQL自动执行,当发生特定操作(update、delete、insert)时自动执行事前编辑好的代码块。原理是使用两个临时表inserted、deleted进行操作。二、名称解释(不区分大小写)student学生表:包含属性列:sno学号、sname学生姓名、age年龄、sex性别、dno学院编号、bi原创 2020-12-16 12:15:20 · 4727 阅读 · 3 评论 -
【T-SQL】功能使用实例(变量定义赋值、函数、游标、流程控制)
T-SQL:transact SQL,提供了变量定义,赋值操作,流程控制,函数等语句供用户使用名称解释(不区分大小写)student学生表:包含属性列:sno学号、sname学生姓名、age年龄、sex性别、dno学院编号、birthday生日sc选课信息表:包含属性列:sno学号、cno课程号、grade成绩dept学院信息表:包含属性列:dno学院编号、dname学院名称、dean学院负责人course课程信息表:包含属性列:cno课程号、cname课程名称、tn原创 2020-12-15 15:47:27 · 5366 阅读 · 9 评论 -
【T-SQL】set赋值和select赋值区别
问题:在TSQL中,对于一个已经声明的变量,进行赋值有两种方法,那么二者有什么区别?下面从四种情况进行分析区别一、set只可以赋值一个变量,而select可以赋值多个set @变量1 = value1set @变量2 = value2等同于:select @变量1 = value1,@变量2 = value2二、当表达式返回多个值时,set会报错,select则会返回最后一个值set @变量1 = 属性 from 表(报错)select @变量 2= 属性 from 表三、原创 2020-12-14 15:57:39 · 3040 阅读 · 1 评论 -
【SQL】:空值null判断和操作
一、SQL中空值判断使用is null还是= null?首先先给出答案,使用select 属性 from 表 where 字段 is null。那么为什么不使用 = 呢?在SQL逻辑中包含三种逻辑值,true、false、unknown。任何值(包括null本身)与null进行逻辑判断时都会返回结果unknown。接着,在where和having’子句中unknown结果会被视作false,这也就是为什么使用 = null的时候什么结果都没有的原因。当然,并非所有的unknown都会被当作fal原创 2020-12-14 10:54:24 · 15056 阅读 · 10 评论 -
【SQL】数据库更新语句操作实例
SQL Server数据库更新操作名称解释(不区分大小写)student:学生表,属性分别为sno学号、sname学生姓名、age年龄、sex性别、dno学院编号、birthday生日sc选课信息表:sno学号、cno课程号、grade成绩dept学院信息表:dno学院编号、dname学院名称、dean学院负责人course课程信息表:cno课程号、cname课程名称、tname老师名称、credit学分、room教室下面语句可以直接复制到SQL Server运行方法不唯一select原创 2020-12-13 14:56:09 · 18292 阅读 · 8 评论 -
【SQL】多表查询语句(嵌套子查询,多表连接)操作实例
SQL Server多表查询,包括连接操作和嵌套子查询名称解释(不区分大小写)student:学生表,属性分别为sno学号、sname学生姓名、age年龄、sex性别、dno学院编号、birthday生日sc选课信息表:sno学号、cno课程号、grade成绩dept学院信息表:dno学院编号、dname学院名称、dean学院负责人course课程信息表:cno课程号、cname课程名称、tname老师名称、credit学分、room教室下面语句可以直接复制到SQL Server运行方法不原创 2020-12-13 11:29:30 · 21538 阅读 · 2 评论 -
【SQL】简单查询语句操作实例
SQL Server简单查询语句名称解释(不区分大小写)student:学生表,属性分别为sno学号、sname学生姓名、age年龄、sex性别、dno学院编号、birthday生日sc选课信息表:sno学号、cno课程号、grade成绩dept学院信息表:dno学院编号、dname学院名称、dean学院负责人course课程信息表:cno课程号、cname课程名称、tname老师名称、credit学分、room教室下面语句可以直接复制到SQL Server运行方法不唯一--1.求学院编原创 2020-12-13 11:27:21 · 2809 阅读 · 1 评论 -
【SQL】group by中属性为什么一定要出现在select语句中?
问题:按授课班号统计选修该课程的人数,并按照人数升序排列。--cno是课程号,sno是学号,sc是选修课程表select cno,COUNT(distinct sno) as 人数 from scgroup by cnoorder by 人数 ASC上面的select语句中包含了cno以及聚集函数,最后的运行结果如下图:下面看看删去cno 改成sno的运行结果:****当select语句中出现了不在group by语句中的字段就会报错,错误信息也表示是这个错误。个人理解,原因如下.原创 2020-12-09 16:18:48 · 11085 阅读 · 7 评论