数据库原理-期末重要概念总结
1、数据模型组成三要素
数据结构 数据操作 数据完整性约束
2、数据的物理独立性
用户的应用程序与存储在磁盘上数据库中的数据是相互独立的
3、关系规范化中的插入异常操作是指
应该插入的数据未被插入
4、事务的四个特性
隔离性:一个事务内部的操作及使用的数据对并发的其他事务是隔离的
一致性:事务必须是使数据库从一个一致性状态变到另一个一致性状态
原子性:事务中的操作要么都做要么都不做
持续性:事务一旦提交,对数据库的改变是永久的
5、分ER图之间的冲突主要有
属性冲突、命名冲突、结构冲突
6、DBMS的基本单位
事务,是用户定义的一个数据库操作序列
7、视图的作用
1、简化用户操作 2、使用户能以多种角度看待同一数据 3、对重构数据库提供了一定的逻辑独立性 4、能对机密数据提供安全保护
8、登记日志文件时必须遵从的原则
两条:1、登记的次序严格按照并发事务执行的时间顺序 2、必须先写日志文件,后写数据库。
9、更新语句的SQL写法
UPDATE 表名
SET 属性名=(操作)
WHERE 条件
10、DBMS中实现事务一致性的子系统是
完整性管理子系统
11、数据库安全性中存取控制包括
定义用户权限和合法权限两部分
12、数据库并发控制能够保证事务的
一致性和原子性
13、SQL设计题
数据库stu中共有三张表,关系模式分别为
student(sno,sname,ssex.sage,sdept)
course(cno,cname,credit,semester)
sc(sno,cno,grade)
其中sage,credit,semester,grade的属性为整形,其余均为字符串类型
(1)查找每门课程成绩不及格的学生人数
SELECT c.cno, c.cname, COUNT(*) AS fail_count
FROM sc
JOIN course c ON sc.cno = c.cno
WHERE sc.grade < 60
GROUP BY c.cno, c.cname;
(2)查找学生选修总学分低于20学分的学生学号、姓名、所在系、总学分
SELECT s.sno, s.sname, s.sdept, SUM(c.credit) AS total_credit
FROM student s
JOIN sc ON s.sno = sc.sno
JOIN course c ON sc.cno = c.cno
GROUP BY s.sno, s.sname, s.sdept
HAVING SUM(c.credit) < 20;
(3)创建一个名为V_SSC的视图,用于查询每个学生的每门课程成绩,视图包含:学号、姓名、课程号、成绩等字段
SELECT s.sname, s.sdept, SUM(c.credit) AS total_credit
FROM student s, course c, sc
WHERE sc.cno = c.cno AND sc.sno = s.sno
GROUP BY s.sno
HAVING SUM(c.credit) < 20;
(4)用存储过程avegrade完成从视图V_SSC中查询平均成绩在90分以上的学生姓名、课程号和成绩
CREATE PROCEDURE avegrade()
BEGIN
SELECT sname,cno,grade FROM V_SSC
GROUP BY cno
HAVING avg(grade)>90;
END;
CALL PROCEDURE avegrade()