数据库试验六,数据库规划与完成
时间:2025-01-07阅读数:14
依据查找成果,数据库试验六的内容首要触及存储进程和触发器的创立和运用。以下是几个具体试验的介绍和意图:
试验六:存储进程和触发器的创立和运用
试验意图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. 数据库规划是一个不断迭代的进程,需求依据实践情况进行调整和优化。
经过本次试验,咱们对数据库规划有了更深化的了解,为后续课程学习和实践运用打下了坚实的根底。
本站所有图片均来自互联网,一切版权均归源网站或源作者所有。
如果侵犯了你的权益请来信告知我们删除。邮箱:[email protected]
猜你喜欢
-
mysql增加一列
要在MySQL中增加一列,您可以运用`ALTERTABLE`句子。以下是一个根本的语法示例:```sqlALTERTABLEtable_nameADDcolumn_namecolumn_type;````table_name`是您要修正的表的称号。`column_name`是您...。
2025-02-24数据库 -
oracle刺进当时时刻,Oracle数据库中刺进当时时刻的具体攻略
在Oracle数据库中,你能够运用`SYSDATE`函数来获取当时体系日期和时刻,然后将其刺进到表中。以下是一个示例,展现了如安在Oracle中刺进当时时刻:```sqlINSERTINTOyour_table_nameVALUES;```请将`your_table_name`替换...。
2025-02-24数据库 -
全球数据库,全球数据库工业现状与开展趋势
1.EPSDATA:供给高校、科研安排的数据服务,年度数据下载量达10亿条。数据被广泛引用于国内外尖端期刊,具有高学术价值。供给时刻序列剖析办法和计量经济东西箱,如Granger因果查验和协整查验。2.国际核算数据:由国家核算局供给,包含200多个经济体和区域的...。
2025-02-24数据库 -
oracle用户,从创立到权限装备的全面攻略
Oracle用户一般指的是运用Oracle数据库的用户。Oracle数据库是由Oracle公司开发的一种联系型数据库办理体系,广泛用于企业级运用。作为Oracl...
2025-02-24数据库 -
大数据技能的开展,引领数字化年代的革新力气
大数据技能是近年来信息技能范畴的重要开展方向之一,其中心是经过对海量数据的搜集、存储、处理、剖析和发掘,发现数据背面的价值,为企业、政府和社会供给决议计划支撑。...
2025-02-24数据库