【精编_推荐】关于银行系统的数据库课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
一、目的与意义1
二、设计内容与要求1
三、设计原理2
1、数据库基本操作:2
Ⅰ、定义基本表2
Ⅱ、修改基本表2
III、删除基本表2
IV、数据查询3
V、插入元组3
VI、修改数据3
VII、删除数据4
2、数据库完整性4
I、实体完整性定义4
II、参照完整性定义4
3、触发器5
I、定义触发器5
II、激活触发器5
III、删除触发器5
4、存储过程6
I、PL/SQL的块结构6
II、变量常量的定义6
III、控制结构7
IV、存储过程的用户接口8
四、总体设计方案9
五、详细设计9
1、需求分析9
2、流程图9
3、E-R图9
4、设计表9
5、关系图10
6、编码10
六、测试与调试15
七、收获与体会15
八、主要参考资料16
一、目的与意义
本课程设计是在学完《数据库系统与应用》课程之后,让学生综合应用数据库知识,设计数据库,进行调试与测试,以加深对数据库基本知识及SQL语言的理解,提高综合应用知识的能力、分析解决问题的能力,加强数据库知识的实践技能,初步培养开发实用数据库系统的能力。
二、设计内容与要求
设计一个银行账户管理系统,至少能够实现存款、取款、查询、转账等基本功能,要求在在数据库实现过程中至少建立三张表、不得少于四个查询、三个触发器、使用至少一个存储过程。
三、设计原理
SQL是一种介于关系代数与关系演算之间的结构化查询语言,其功能并不仅仅是查询。SQL是一个通用的、功能极强的关系数据库语言。它之所以能够为用户和业界所接受,并成为国际标准,是因为它是一个综合的、功能极强同时又简捷易学的语言。SQL语言集数据查询(DataQuery)、数据操纵(DataManipulation)、数据定义(DataDefinition)和数据控制(DataControl)功能于一体。
1、数据库基本操作:
Ⅰ、定义基本表
语句格式:
CREATETABLE<表名>
(<列名><数据类型>[<列级完整性约束条件>]
[,<列名><数据类型>[<列级完整性约束条件>]]…
[,<表级完整性约束条件>]);
如果完整性约束条件涉及到该表的多个属性列,则必须定义在表级上,否则既可以定义在列级也可以定义在表级。
Ⅱ、修改基本表
语句格式:
[ADD<新列名><数据类型>[完整性约束]]
[DROP<完整性约束名>]
[ALTERCOLUMN<列名><数据类型>];
III、删除基本表
语句格式:
DROPTABLE<表名>[RESTRICT|CASCADE];
RESTRICT:删除表是有限制的。欲删除的基本表不能被其他表的约束所引用,如果存在依赖该表的对象,则此表不能被删除。
CASCADE:删除该表没有限制。在删除基本表的同时,相关的依赖对象一起删除。
IV、数据查询
语句格式:
SELECT[ALL|DISTINCT]<目标列表达式>
[,<目标列表达式>]…
FROM<表名或视图名>[,<表名或视图名>]…
[WHERE<条件表达式>]
[GROUPBY<列名1>[HAVING<条件表达式>]]
[ORDERBY<列名2>[ASC|DESC]];
V、插入元组
语句格式:
INSERT
INTO<表名>[(<属性列1>[,<属性列2>…)]
VALUES(<常量1>[,<常量2>]…)
功能:将新元组插入指定表中。
VI、修改数据
语句格式:
UPDATE<表名>
SET<列名>=<表达式>[,<列名>=<表达式>]…
[WHERE<条件>];
功能:修改指定表中满足WHERE子句条件的元组。
VII、删除数据
语句格式:
DELETE
FROM<表名>
[WHERE<条件>];
功能:删除指定表中满足WHERE子句条件的元组。
WHERE子句:指定要删除的元组。
缺省表示要删除表中的全部元组,表的定义仍在字典中。
2、数据库完整性
I、实体完整性定义
单属性构成的码有两种说明方法:定义为列级约束条件;定义为表级约束条件。
对多个属性构成的码只有一种说明方法:定义为表级约束条件。
插入或对主码列进行更新操作时,RDBMS按照实体完整性规则自动进行检查。包括:
①.检查主码值是否唯一,如果不唯一则拒绝插入或修改。
②.检查主码的各个属性是否为空,只要有一个为空就拒绝插入或修改。
II、参照完整性定义
在CREATETABLE中用FOREIGNKEY短语定义哪些列为外码,用REFERENCES短语指明这些外码参照哪些表的主码。
参照完整性违约处理:
①.拒绝(NOACTION)执行----默认策略
②.级联(CASCADE)操作
③.设置为空值(SET-NULL)
对于参照完整性,除了应该定义外码,还应定义外码列是否允许空值。
3、触发器
触发器(Trigger)是用户定义在关系表上的一类由事件驱动的特殊过程,由服务器自动激活,可以进行更为复杂的检查和操作,具有更精细和更强大的数据控制能力。
I、定义触发器
语法格式:
CREATETRIGGER<触发器名>
{BEFORE|AFTER}<触发事件>ON<表名>
FOREACH{ROW|STATEMENT}
[WHEN<触发条件>]
<触发动作体>
II、激活触发器
触发器的执行,是由触发事件激活的,并由数据库服务器自动执行,一个数据表上可能定义了多个触发器。
同一个表上的多个触发器激活时遵循如下的执行顺序:
①.执行该表上的BEFORE触发器;
②.激活触发器的SQL语句;
③.执行该表上的AFTER触发器。
III、删除触发器
语法格式: