首页  > 数据库 > 数据库试验六,数据库规划与完成

数据库试验六,数据库规划与完成

数据库 2025-01-07 5

依据查找成果,数据库试验六的内容首要触及存储进程和触发器的创立和运用。以下是几个具体试验的介绍和意图:

试验六:存储进程和触发器的创立和运用

试验意图1. 了解触发器的概念2. 把握创立触发器的办法3. 把握检查、删去触发器信息的办法4. 了解存储进程的概念5. 把握创立、履行存储进程的办法6. 了解检查、修正和删去存储进程的办法

试验内容1. 无参数的存储进程 界说一个存储进程,更新开销表中的教材总费用。 示例代码: ```sql DELIMITER $ CREATE PROCEDURE proc_calTextBookExpense BEGIN UPDATE expenditure SET amount = FROM textbook_order qwe2 WHERE expenditure_type = textbook; END$ DELIMITER ; ``` 履行存储进程: ```sql CALL proc_calTextBookExpense; ```

2. 有参数的存储进程 界说一个存储进程,更新特定课程的容量。 示例代码: ```sql DELIMITER $ CREATE PROCEDURE proc_updateCourseCapacity, newCapacity SMALLINTqwe2 BEGIN UPDATE sc_summary SET capacity = newCapacity WHERE cno = sc_summary.cno; END$ DELIMITER ; ``` 履行存储进程: ```sql call proc_updateCourseCapacity; ```

3. 有局部变量的存储进程 界说一个存储进程,更新某个学生的成果信息。 示例代码: ```sql /成果表,记载成果信息/ create table grade PRIMARY KEY, avg_grade FLOAT, avg_weight_grade FLOAT qwe2; /存储进程/ DELIMITER $ CREATE PROCEDURE proc_updateGradeqwe2 BEGIN DECLARE sno CHAR; DECLARE avg_grade SMALLINT; DECLARE avg_weight_grade FLOAT; SELECT student.sno INTO sno FROM student WHERE student.sname = sname; SELECT SUM / COUNT INTO avg_grade FROM SC WHERE SC.sno = sno; SELECT SUM / SUM INTO avg_weight_grade FROM SC,course WHERE SC.sno = sno AND SC.cno = course.cno; INSERT INTO grade VALUES ON DUPLICATE KEY UPDATE grade.avg_grade = avg_grade, grade.avg_weight_grade = avg_weight_grade; END$ DELIMITER ; ``` 履行存储进程: ```sql call proc_updateGrade; ``` 检查履行成果: ```sql SELECT FROM grade; ```

4. 有输出参数的存储进程 界说一个存储进程,更新某个学生的加权均匀成果信息并回来该成果。 示例代码: ```sql DELIMITER $ CREATE PROCEDURE proc_updateAvgWGrade, out result REALqwe2 BEGIN DECLARE sno CHAR; DECLARE avg_weight_grade FLOAT; SELECT student.sno INTO sno FROM student WHERE student.sname = sname; SELECT SUM / SUM INTO avg_weight_grade FROM SC,course WHERE SC.sno = sno AND SC.cno = course.cno; SELECT avg_weight_grade INTO result; INSERT INTO grade VALUES ON DUPLICATE KEY UPDATE grade.avg_grade = avg_grade, grade.avg_weight_grade = avg_weight_grade; END$ DELIMITER ; ``` 履行存储进程并得到回来成果: ```sql set @result = 0; call proc_updateAvgWGrade; select @result; ```

5. 修正存储进程 示例代码: ```sql DELIMITER $ CREATE PROCEDURE proc_calTextBookExpense BEGIN UPDATE expenditure SET amount = FROM textbook_order qwe2 WHERE expenditure_type = textbook; END$ DELIMITER ; ``` 履行存储进程: ```sql CALL proc_calTextBookExpense; ```

更多具体内容能够参阅以下

试验六:数据库规划与完成

跟着信息技能的飞速发展,数据库技能在各行各业中的运用越来越广泛。为了更好地把握数据库规划的基本原理和完成办法,咱们展开了数据库试验六——数据库规划与完成。本次试验旨在经过实践操作,加深对数据库规划进程的了解,进步数据库运用才能。

一、试验意图

1. 了解数据库规划的基本原理和进程。

2. 把握数据库规划东西的运用办法。

3. 能够依据实践需求规划合理的数据库结构。

4. 进步数据库运用才能,为后续课程学习打下根底。

二、试验内容

本次试验以一个简略的图书办理体系为例,进行数据库规划与完成。首要内容包含:

1. 需求剖析:清晰图书办理体系的功用需求,如图书借阅、偿还、查询等。

2. 概念结构规划:依据需求剖析,规划图书办理体系的概念结构,包含实体、特点和联系。

3. 逻辑结构规划:将概念结构转换为逻辑结构,如E-R图转换为联系形式。

4. 物理结构规划:依据逻辑结构,规划数据库的物理存储结构,如数据表、索引等。

5. 数据库完成:运用数据库规划东西(如MySQL、Oracle等)创立数据库,并完成数据表、索引等物理结构。

6. 数据库测验:对数据库进行测验,保证其功用契合需求。

三、试验进程

1. 需求剖析

(1)清晰图书办理体系的功用需求,如图书借阅、偿还、查询等。

(2)剖析用户人物,如办理员、读者等。

(3)确认数据项,如图书信息、借阅信息等。

2. 概念结构规划

(1)依据需求剖析,确认实体,如图书、读者、借阅信息等。

(2)确认实体的特点,如图书的ISBN、书名、作者等。

(3)确认实体之间的联系,如借阅联系、分类联系等。

3. 逻辑结构规划

(1)将概念结构转换为E-R图。

(2)将E-R图转换为联系形式。

4. 物理结构规划

(1)依据联系形式,规划数据表结构。

(2)规划索引,进步查询功率。

5. 数据库完成

(1)运用数据库规划东西创立数据库。

(2)创立数据表、索引等物理结构。

6. 数据库测验

(1)对数据库进行功用测验,保证其功用契合需求。

(2)对数据库进行功用测验,保证其功用满足要求。

四、试验成果与剖析

经过本次试验,咱们成功规划并完成了图书办理体系数据库。试验成果表明,所规划的数据库结构合理,功用完善,功用杰出。在试验进程中,咱们把握了数据库规划的基本原理和进程,进步了数据库运用才能。

五、试验心得

1. 数据库规划是一个杂乱的进程,需求充分考虑需求、功用、安全性等要素。

2. 在规划数据库时,要遵从规范化准则,防止数据冗余和更新反常。

3. 运用数据库规划东西能够进步规划功率,但更重要的是把握数据库规划的基本原理和办法。

4. 数据库规划是一个不断迭代的进程,需求依据实践情况进行调整和优化。

经过本次试验,咱们对数据库规划有了更深化的了解,为后续课程学习和实践运用打下了坚实的根底。


Copyright © 2016-2028零基础教程 Rights Reserved. XML地图