【精编_推荐】关于银行系统的数据库课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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、删除触发器

语法格式:

相关文档
最新文档