数据库原理-期末重要概念总结

发布于:2024-11-29 ⋅ 阅读:(12) ⋅ 点赞:(0)

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()