数据库原理
文章平均质量分 57
数据库原理
雾喔
一个积极向上的00后,喜欢折腾一些有趣的东西。
展开
-
详解drop,delete,truncate区别
在SQL中,"DROP"、"DELETE"和"TRUNCATE"是用于删除数据的不同命令,它们之间有一些重要的区别:DROP:DROP用于删除数据库对象,例如删除表、视图、索引、触发器等。使用DROP删除的对象将完全从数据库中删除,包括其定义和所有相关的数据。DROP是一种不可逆操作,执行后无法恢复。原创 2024-05-11 22:06:55 · 339 阅读 · 0 评论 -
MySQL-记
多条sql语句,要么全部成功,要么全部失败。原创 2024-03-22 11:19:14 · 893 阅读 · 0 评论 -
数据库往年试卷
隐藏复杂性:数据库中有时候存在多个关联表,为了查询这些表的数据需要编写复杂的 SQL 语句,使用视图可以将这些关联表的查询逻辑隐藏起来,简化了用户对数据库的操作。隐藏复杂性:数据库中有时候存在多个关联表,为了查询这些表的数据需要编写复杂的 SQL 语句,使用视图可以将这些关联表的查询逻辑隐藏起来,简化了用户对数据库的操作。简化查询操作:通过创建视图,可以将多个表的数据组合成一个逻辑上的整体,减少了用户在查询时需要编写复杂的 SQL 语句。是指关系中的元组在组成主码的属性上是不能为空值的。原创 2024-02-25 17:40:14 · 363 阅读 · 0 评论 -
数据库范式例题
满足3NF,该关系的码是AB或AC AB(都是主属性,故R 属于3NF;满足2NF,该关系的码是AB,AC,AC->B,B->C,存在部分函数依赖。满足BCNF,因为该关系的码是A或C,符合每一个决定属性因素都包含码。满足1NF,该关系的码是AB,B->D存在非主属性对码的部分函数依赖。满足BCNF,该关系的码是AB,符合每一个决定属性因素都包含码。满足1NF,该关系的码是AB,非主属性D部分函数依赖于码。满足3NF,该关系的码是A,C。满足3NF,该关系的码是AB。原创 2024-01-16 20:17:10 · 510 阅读 · 0 评论 -
数据库往年试卷
隐藏复杂性:数据库中有时候存在多个关联表,为了查询这些表的数据需要编写复杂的 SQL 语句,使用视图可以将这些关联表的查询逻辑隐藏起来,简化了用户对数据库的操作。在标准的SQL语句中,条件语句可以使用多种关键字引导,其中包括WHERE、HAVING和CASE等。简化查询操作:通过创建视图,可以将多个表的数据组合成一个逻辑上的整体,减少了用户在查询时需要编写复杂的 SQL 语句。提高数据安全性:视图可以对底层表进行过滤和限制访问,可以对用户提供必要的访问权限,可以保护数据的隐私和安全。原创 2024-01-16 20:15:11 · 367 阅读 · 0 评论 -
数据恢复与并发控制例题
已知有三个事务的一个调度R3(B)R1(A)W3(B)R2(B)R2(A)W2(B)R1(B)W1(A),试问该调度是否是冲突可串行化调度?如果故障发生在14之后,通过表格可以看到T1,T2,T3已经提交,T4还没有提交,所以T1,T2,T3需要重做,T4需要回滚。(1)重做(REDO):T1,T2,T3;撤销(UNDO):T4。看2,3,4,5,因为T1是提交了的,所以A,C都是有了值的。看6,因为在T1是在5之后提交的,所以ABC都为0.(2)重做:T1,T2;看是否提交,没有提交就是没有保存。原创 2024-01-07 08:58:17 · 569 阅读 · 1 评论 -
数据库基本知识2
读“脏”数据只得是事务T1修改了某一数据,并将其写回磁盘,事务T2读取某一数据后,T1由于某种原因撤销了操作,恢复原值,这时T2读到的数据就和数据库中的数据不一致,称为读“脏”数据。数据与程序的独立,把数据的定义从程序中分离出去,加上数据的存取又由DBMS负责,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。两读之间的增删改操作是不可重复读,两读之后的一前一后修改是丢失修改,有回滚的一定是读“脏”数据。在第一个事务以共享锁方式读数据A时,第二个事务对数据A的读方式会遭到失效的是实现排他锁的读。原创 2024-01-05 15:05:10 · 1178 阅读 · 0 评论 -
数据库基础知识1
有R,S和T三个关系:R(A,B,C)={(a,1,2),(b,2,1),(c,3,1)} S(A,B,C)={(a,1,2),(d,2,1)} T(A,B,C)={(b,2,1),(c,3,1)} 则由关系R和S得到关系T的操作差。这是最基本的也是很有效的优化策略。关系R(A,B)和S(B,C)中分别有10个和15个元组,属性B是R的主码,则R与S进行自然连接计得到的元组数目的范围是。给定关系模式R(A,B,C,D)和关系S(A,C,D,E),对其进行自然连接运算,后的属性列为___5__个。原创 2024-01-04 11:53:11 · 1036 阅读 · 0 评论 -
数据库 范式
在关系 R(U) 中, 若 X→Y,且对于 X 的任何真子集 X‘ 都有 X’ ↛ Y,则称 Y 完全函数依赖于 X,记为:X-f->Y。否则称 Y函数部分依赖于 X,记为 X-p->Y。完全函数依赖就是说。原创 2023-12-31 11:01:28 · 436 阅读 · 2 评论 -
数据库实验报告(十)
(1) 使用SQL创建存储过程,该存储过程接收两个参数分别是学生姓名和课程名称,根据这两个参数查询该生选修该课程的成绩,使用case语句根据成绩将其转换为等级,60分以下“不及格”,60-69为“及格”,70-79为“中等”,80-89为“良好”,90-100为“优秀”,没有成绩为“没有选修”,最后将该等级返回给调用者。(2) 创建一个名为page_proc的存储过程,该存储过程接收两个参数分别为当前的页码数以及每页显示的最大记录数,根据这两个参数显示选课表上指定页的内容。(2)创建、管理存储过程的语法。原创 2023-12-29 11:09:13 · 816 阅读 · 2 评论 -
数据库密码加密处理
根据以上代码,可以用这行代码就行加密,即将用户数据存入数据库库时。当需要登录时,可以用下面这行代码进行解密。MD5&MD5盐值加密。原创 2023-07-22 15:32:30 · 171 阅读 · 0 评论 -
mysql一些小知识点
因此,在进行select查询时,如果查询到的值有为空的时候,在where语句中我们就需要再做一。在sql中的意思是 a / b 的余数,如果某个字段需要是偶数或者奇数时就可以使用mod。expr为一个表达式,表达式expr结果为ture,返回v1的值,为flase返回v2。函数是一个字符串函数,它返回具有指定长度的字符串的左边部分。个额外的条件判断 ,比如:'name is null';mod(id,2)=1 是指id是奇数。mod(id,2)=0 是指id是偶数。语法结构是if(exer,v1,v2)原创 2022-12-27 17:10:40 · 598 阅读 · 0 评论 -
修改mysql密码与mac中mysql的启动与终止
就可以看到你电脑上所有的mysql文件与目录了。之后进入你mysql下的bin目录下,输入会提示你输入密码,输入完了密码之后回车即可。原创 2023-05-30 15:22:46 · 571 阅读 · 0 评论 -
mysql课堂笔记 mac
回车意味着这一句语句还没有结束,当加上;的时候才意味着这一句话的结束。直接输入你的开机密码即可。(mysql不区分大小写)(root为你的用户名)原创 2023-09-09 10:36:13 · 686 阅读 · 0 评论 -
数据库原理与分析实验三
查询每门课程的课程号,选修该课程学生的学号,以及该生该课程的最终成绩(最终成绩。并将结果按课程编号升序显示,同一课程内的学生按最终成绩降序显示。子句中各种运算符及其组合表示各种逻辑条件的方法。查询每个学生的学号,姓名,班级编号,入学成绩和。查询教师的部门有哪些,结果只显示部门名称。本博客为数据库课布置的实验二的作业。子句的功能和检索数据的方法。掌握对查询结果排序的方法。对指定属性查询的方式。原创 2023-09-25 22:33:17 · 279 阅读 · 1 评论 -
数据库实验9
a) 视图v_course,包含学分大于3的课程的编号,课程名称,课程学分,课程学时,学期,并将对应视图的列名分别改为no,name,credit,hour,term。b) 视图v_select中的数据为每个学生的学号、姓名、班级编号、院系、选修课程号,课程名及期末成绩。该课程信息是否能添加到视图中,如果能添加,则添加后通过视图是否能查询到该课程信息。c) 视图v_credit,包含每个班级的编号和该班级学分最大值;(2) 创建与更新视图的SQL语句。原创 2023-12-15 10:53:04 · 830 阅读 · 0 评论 -
数据库实验八
8) 利用SQL语句给score表的cno和sno列分别设置恰当的外键,要求当更新course表上的课程编号时,score表上的课程编号也随之更新,当删除student表中的学生时,该学生的在score表中的选课信息也随之删除。3) 利用SQL语句为class表的clname与department增加UNIQUE约束,以保证同一个院系的班级不会重名。4) 利用SQL语句为student表的point列创建CHECK约束,规定入学成绩的取值范围为200~900。原创 2023-12-08 10:58:44 · 1664 阅读 · 0 评论 -
数据库实验7
从score表和student表中分别删除学号为:0922221326学生的选课信息和学生基本信息。表,并在创建表的同时将学生学号、姓名、班级编号和选修课程名以及平时成绩、期末成绩,存入新表。掌握插入、更新和删除表数据的方法。掌握更新操作与子查询结合的用法。数据库中按下列要求修改表中数据。表中删除你自己的基本信息。表中计算机学院的学生信息。实验报告(七)数据更新。命令中嵌入子查询的用法。的学生的性别改为‘女’的学生相关信息复制到。不存在的情况下,利用。原创 2023-11-24 11:37:22 · 723 阅读 · 1 评论 -
数据库实验报告(六)
(9)查询没有任何学生选修的课程编号和课程名称及学分(写出使用外连接, in+非关联子查询和exists+关联子查询三种方法)(3) 查询至少选修了姓名为“耿明”的学生所选修课程中一门课的学生的学号和姓名(使用Exists)查询既选修了“大学英语”又选修了“金融学”的学生学号(至少写出使用连接查询、嵌套查询两种方法。查询入学成绩比本班平均入学成绩高的学生学号,姓名,班级和入学成绩(使用关联子查询)(5) 查询入学成绩最高的和最低的学生的学号、姓名和入学成绩(集合查询)了解关联子查询的特点。原创 2023-11-17 13:06:05 · 728 阅读 · 3 评论 -
数据库实验报告(五)
查询“数据库原理”课程期末成绩高于该课程平均成绩的学生学号、姓名和期末成绩(使用子查询)(1) 查询每个班学生入学成绩最高分和最低分的差距,列名为“最大分差”)查询与“秦建兴”籍贯相同的学生学号、姓名和电话(使用子查询)显示学分最高的学生的学号、姓名和入学成绩(使用子查询)以上的女学生学号、姓名和出生日期及其期末成绩的最高分。(5) 查询有至少两门课的成绩在90以上的学生姓名。”号班级入学平均成绩高的学生姓名(使用子查询)班”入学成绩平均值的班级编号(使用子查询))查询选修人数最多的课程号和人数(选做)原创 2023-11-03 10:38:52 · 473 阅读 · 0 评论 -
数据库实验4作业
查询邮箱不为空并且 “数据库原理”课程期末成绩在80分以上的学生学号、姓名和院系,并按学生院系升序排列,同一院系的学生按出生日期降序排列。查询与“耿娇”同年出生的学生学号、姓名和电话(求出生年份:year(birth))查询计算机学院的女生姓名,及其所选的课程名以及该课程的平时成绩,期末成绩。查询所有姓“王”的学生姓名及其所选的课程号,课程名和期末考试成绩。查询“100101”课程比“200101”课程成绩高的学生学号。查询和“张丹丹”老师同一个院系的学生的姓名和院系名称。掌握自连接的形式和应用场合。原创 2023-10-20 10:56:16 · 316 阅读 · 1 评论