宜收藏:5款常用的数据分析工具,简单便捷!数据分析工具常见的有哪些?
726
2022-05-30
数据库试卷题型: 选择题 20*2 =40 填空题 10*1 =10 简答题 3*4 =12 SQL 30分+ 插入 2 建视图 2 单表查询条件 2 平均成绩avg 2 多表查询 4 触发器 存储函数 存储过程 设计题 20分+ 1. 画ER图 2. 写关系模式 3. 分析范式 4. 分解范式
一、概念题
数据库系统
数据库具有永久存储,有组织,可共享的特点。 (泳游课)
DBMS提供数据安全型保护,完整性保护,恢复策略,并发控制等功能。
数据库设计过程:需求分析,(概念,逻辑,物理)结构设计,数据库实施,数据库运行和维护。
SQL语言是集 数据定义,数据查询,数据操作,数据控制 于一体的。。
ER图的主要元素是 实体,联系, 关键词。
完整性控制包括:实体完整性,参照完整性,用户定义完整性。
违反三个完整性的时候怎么办:违反实体和用户自定义,一般拒绝执行。违反参照,一般根据语义附加操作,确保数据正确性。
关系规范化1NF问题:插入异常(无法插入),修改异常,删除异常(删了不改删的)
三级模式,两级映射,两个独立性。
关系的完整性原则是什么?:即主属性不可以取空值。若属性F是关系R的外码,当F不是主属性时可以取空值。
码是能唯一标识元组的属性集。候选码是能唯一标识,又不含多余属性的。主码是候选码中的一个。
主属性是主码中的每个属性。F是R的属性,不是R的主码,是S的主码,所以是R的外码。
视图的特点:与select语句一一对应,是虚表。
视图的优点:简化用户操作,使用户多个角度看问题,对重构数据库提供帮助。
索引的概念:关于物理结构设计的,聚簇索引可以影响记录表顺序,其他不行。
并发控制:
使用封锁技术,保证可串行化。
封锁类型:排它锁(X锁),共享锁(Share)锁。
避免三种数据不一致:丢失修改,不可重复读,读脏数据。
死锁是什么?两个事务各自锁定了数据,需要对方的数据,使用顺序封锁法避免。
存储过程与事务的区别: 事务是保存在项目里的,存储过程是保存在数据库里的。事务中编程语言(java,C++等),存储过程中只有SQL语言。
事务的特性:原子性,一致性,隔离性,持久性 (重点),,(愿一个吃)
实现事务持久性的子系统:恢复管理。
故障与恢复
故障的分类:事务内部故障,系统故障,介质故障**(重点)**
恢复技术的实现:数据转储和日志等级文件。
登记日志文件的原则:先写日志后写数据库,按照执行顺序登记。
日志是记录事务对数据库更新操作的文件。
日志文件的两种格式单位:记录和数据块。(重要)
关系代数
自然连接,等值连接区别:都是重要的连接运算,自然连接是特殊的等值连接,要求连接属性组中有相同的属性,并在结果中去掉该重复属性。
规范化理论的指导意义:为判断关系优劣提供标准,指导关系数据模型的优化,提供理论基础。
参考资料:
高数帮4小时数据库不挂科+微信公众号尚学青年不挂科期末试卷和复习资料+学校复习试卷
二、SQL题
插入 2 (重要) insert into student(Sno, Sname, Ssex, Sdept, Sage) values('201215128','陈冬','男','CS',18); 删除(与select语句格式相同) DELETE FROM sc WHERE Cno = 1; 增加列(alter对应改变,table对应from,改变类型) ALTER TABLE Student ADD Sbirthday datetime NULL; ALTER TABLE SC CHANGE Grade Grade INT; 更新 update sc SET Grade = 89 WHERE Cno = 3 AND Sno = 201215122; --------------------------------------------------------------------- 建视图 2(与select语句一一对应) create VIEW Boy_Student AS select * From student WHERE ssex='男'; 创建表(与创建视图一样,把as_select换成()即可 ) CREATE TABLE sc( Sno CHAR(9) NOT NULL, Cno CHAR(4) NOT NULL, Grade SMALLINT, PRIMARY KEY(Sno,Cno), FOREIGN KEY(Sno) REFERENCES Student(Sno), FOREIGN KEY(Cno) REFERENCES Course(Cno) ); 创建数据库(与创建表一样) CREATE DATABASE Student_DB; SHOW DATABASES; USE Student_DB; --------------------------------------------------------------------- 单表查询条件 2 SELECT * FROM Student WHERE Class=95031 OR Ssex='女' 平均成绩avg,子查询 2 (DISTINCT 可以消除重复数据,可以select DISTINCT sno from score;) (AVG计算的时候去掉重复数据,所以加一个distinct) SELECT AVG(DISTINCT Degree) FROM Score WHERE Sno IN( SELECT Sno FROM Student WHERE Class=95031 ) 函数查询 SELECT COUNT(DISTINCT Sno) //不能与*一起用,*可以单独用 FROM Student WHERE Class=95031; 分组查询 2 每组只选择一个显示, having判断是否显示该组(根据整租), where根据显示结果判断是否显示 SELECT Sno FROM Score GROUP BY Sno HAVING MIN(Degree)>70 AND MAX(Degree)<90 多表查询 4 因为可能有两个name列,所以多表的时候,用表名.列名区分 SELECT Teacher.Tname, Course.Cno, Score.Degree FROM Teacher, Course, Score WHERE Teacher.Tno= Course.Tno AND Course.Cno= Score.Cno AND Teacher.Tname='张旭' 连接查询 是多表查询的一种,多表基于笛卡尔积,连接以一张表全部数据为根基 等值连接即内连接(INNER JOIN),等价于where写法 自然连接(范围更大)即外连接,分为LEFT OUTER JOIN 和RIGHT OUTER JOIN SELECT s.id, s.name, s.class_id, c.name class_name, s.gender, s.score FROM students s LEFT OUTER JOIN classes c ON s.class_id = c.id; 字符串查询 "%":能匹配任意长度的字符,"_":只能匹配任意一个字符。 SELECT * FROM Student WHERE Sname LIKE '%王%'; 查询空值 SELECT * FROM 表名 WHERE 字段名 IS NULL; SELECT * FROM 表名 WHERE 字段名 IS NOT NULL; --------------------------------------------------------------------- 触发器 插入学生信息后,新建默认选课并给null成绩 Create trigger t2 AFTER delete ON student FOR EACH ROW BEGIN UPDATE course SET Tno = NULL WHERE Tno = old.Tno; END 存储函数 本质一样,存储函数的限制比较多,例如不能用临时表,只能返回一个变量,而存储过程的限制较少。 drop function if exists myfunc; create function myfunc(a int, b int) returns int begin declare str char(3); declare x int default 0; declare bir datetime default null; set x=a+b; return x; end select myfunc(2,3); 存储过程 drop procedure if exists myproce; Create procedure myproce() begin declare i int default 1; while i <> 10 do select i; set i = i+1; end while; end call myproce; 游标(指向一个select查询结果) declare mycursor CURSOR for SELECT `Sno`, `Sbirthday` FROM `Student` ORDER BY `Sno`; OPEN mycursor; //打开游标 FETCH mycursor INTO na, birth; //检索游标(拿出一行,把该行的各个列值保存到各个变量中) CLOSE mycursor; 参考资料: 结合实验1,2,3阅读
三、设计题
1. 画ER图 2. 写关系模式 3. 分析范式 4. 分解范式 E-R图 画E-R图(实体,关系,属性) 转关系模式: 对于[A]-n-
Mysql 数据库
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。