DATABASE复习

(声明:禁止转载)

【简答题】 

1.请简要回答数据库设计的几个步骤。

  • 需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护

2.简述数据字典是什么,包含那些内容?

  • 数据字典:是关于数据库中数据的描述,即元数据而不是数据的本身。
  • 数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程几部分。数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。

3. 数据库系统如何保证数据和程序的物理和逻辑独立性?

  • 数据库的三级模式中提供了两层映像: 外模式/模式,内模式/模式映像 ,分别为数据库系统实现数据和程序之间的独立性提供了保证。 1、逻辑独立性:用外模式/模式的映像 保证了数据的 逻辑独立性 ,将由概念模式变化所带来的影响与外模式隔离开来。 即一个模式可以有任意多个外模式,对于每一个外模式,数据库系统都有一个外模式/模式映像。 当模式改变时,由数据库管理员对各个外模式/模式的映像做相应改变,可以实外模式保持不变。 应用程序从而保持不变,因此保证了数据的逻辑独立性。 2、物理独立性:用模式/内模式映像 保证了数据的 物理独立性 ,将由内模式变化所带来的影响与概念模式隔离开来。

4. 简要介绍满足1NF-BCNF范式要求的关系模式特点?

  • 1NF不能表中有表,即数据项不能再分
  • 2NF消除非主属性对码的部分函数依赖
  • 3NF消除非主属性对码的传递函数依赖
  • BCNF消除主属性对码的部分和传递函数依赖

 5.数据库编程,游标实现的步骤?

  • 定义游标:DECLARE
  • 打开游标:OPEN
  • 提取游标:FETCH
  • 关闭游标:CLOSE
  • 释放游标:DEALLOCATE
  • 6.事务的ACID特性是什么?

原子性,一致性,隔离性,持久性。

【应用题1参考】 

【应用题2参考】

--1
SELECT SNAME, AGE
FROM S
WHERE AGE BETWEEN 18 AND 19;
--2 


SELECT S#, SNAME, SEX
FROM S
WHERE DEPARTMENT = '计算机系'; -- 假设DEPARTMENT是S表的一个属性

--3
SELECT COUNT(*) 
FROM S;
--4
SELECT S.S#, S.SNAME, SC.GRADE
FROM S
JOIN SC ON S.S# = SC.S#;

--5
SELECT S.SNAME, C.CNAME, SC.GRADE
FROM SC
JOIN S ON SC.S# = S.S#
JOIN C ON SC.C# = C.C#;
--6
SELECT S.S#
FROM S
GROUP BY S.S#
HAVING COUNT(*) > 3;
 
 

--7
CREATE PROCEDURE GetStudentGrades(IN student_id INT,OUT max_grade sc.grade%type,OUT min_grade  sc.grade%type)
as
BEGIN
    SELECT MAX(GRADE) AS MaxGrade, MIN(GRADE) AS MinGrade
    FROM SC
    WHERE S# = student_id;
    max_grade:=MaxGrade;
    min_grade:=MinGrade;
END;


--8
CREATE PROCEDURE PrintAverageGrade()
as
AverageGrade SC.GRADE%type;
BEGIN
    SELECT AVG(GRADE) 
    into  AverageGrade
    FROM SC;
    dbms_output.put_line(AverageGrade||',');
END;

--9
CREATE TRIGGER AfterInsertStudent
AFTER INSERT ON S
FOR EACH STATEMENT
row_count INT;
BEGIN
    SELECT COUNT(*) INTO  row_count  
    FROM S;
    dbms_output.put_line(row_count||',');
END;
//细节修改后

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

多想一想

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值