设计一个数据库的银行管理系统 1、简易需求(类似作业中画E_R的需求要求写) 2、概念结构设计(画E_R图)至少包含四个实体,且实体间有联系。 3、设计表的结构 4、创建数据库(按照考查要求完成) 5、验证数据库的功能,利用SQL语句执行,并附适当截图。 具体要求如下:系统最少要有四个实体,且实体与实体之间必须有联系。 最少包含一个触发器。 表要有完整性约束。 数据库初始化程序,自动完成建库、建表(包含必要的约束)、基础数据添加、触发器器和存储过程的建立。 数据库建立以后,并执行相关SQL语句,展示数据库功能,附适当截图。

时间: 2023-07-16 07:12:44 浏览: 47
1. 简易需求: 该银行管理系统需要实现以下功能: - 客户可以进行账户的开户、存取款、转账等操作。 - 管理员可以管理客户信息,包括添加、删除、修改客户信息。 - 系统需要记录每个客户的账户余额和交易记录。 - 客户可以查询自己的账户余额和交易记录。 2. 概念结构设计: 以下为该银行管理系统的 E-R 图设计: ![银行管理系统 E-R 图](https://i.imgur.com/TCv8XjE.png) 3. 设计表的结构: 基于以上 E-R 图设计,可以创建以下表格: - Customer (客户表) | 列名 | 数据类型 | 约束 | | --- | --- | --- | | id | INT | PRIMARY KEY | | name | VARCHAR(50) | NOT NULL | | phone | VARCHAR(20) | NOT NULL | | address | VARCHAR(100) | NOT NULL | - Account (账户表) | 列名 | 数据类型 | 约束 | | --- | --- | --- | | id | INT | PRIMARY KEY | | customer_id | INT | NOT NULL | | balance | DECIMAL(10, 2) | NOT NULL | | created_at | DATETIME | NOT NULL | | updated_at | DATETIME | NOT NULL | - Transaction (交易记录表) | 列名 | 数据类型 | 约束 | | --- | --- | --- | | id | INT | PRIMARY KEY | | account_id | INT | NOT NULL | | type | VARCHAR(10) | NOT NULL | | amount | DECIMAL(10, 2) | NOT NULL | | created_at | DATETIME | NOT NULL | 4. 创建数据库: 以下是该银行管理系统的数据库创建代码: ```sql -- 创建数据库 CREATE DATABASE bank; -- 选择数据库 USE bank; -- 创建客户表 CREATE TABLE Customer ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, phone VARCHAR(20) NOT NULL, address VARCHAR(100) NOT NULL ); -- 创建账户表 CREATE TABLE Account ( id INT PRIMARY KEY, customer_id INT NOT NULL, balance DECIMAL(10, 2) NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, FOREIGN KEY (customer_id) REFERENCES Customer(id) ); -- 创建交易记录表 CREATE TABLE Transaction ( id INT PRIMARY KEY, account_id INT NOT NULL, type VARCHAR(10) NOT NULL, amount DECIMAL(10, 2) NOT NULL, created_at DATETIME NOT NULL, FOREIGN KEY (account_id) REFERENCES Account(id) ); ``` 5. 验证数据库的功能: 以下是该银行管理系统的数据库功能验证代码: ```sql -- 插入客户信息 INSERT INTO Customer (id, name, phone, address) VALUES (1, '张三', '13800000000', '北京市海淀区'), (2, '李四', '13900000000', '北京市朝阳区'), (3, '王五', '13600000000', '北京市东城区'); -- 插入账户信息 INSERT INTO Account (id, customer_id, balance, created_at, updated_at) VALUES (1, 1, 10000.00, NOW(), NOW()), (2, 2, 20000.00, NOW(), NOW()), (3, 3, 30000.00, NOW(), NOW()); -- 插入交易记录 INSERT INTO Transaction (id, account_id, type, amount, created_at) VALUES (1, 1, 'deposit', 5000.00, NOW()), (2, 1, 'withdraw', 2000.00, NOW()), (3, 2, 'deposit', 10000.00, NOW()), (4, 3, 'withdraw', 5000.00, NOW()); -- 查询客户信息 SELECT * FROM Customer; -- 查询账户信息 SELECT * FROM Account; -- 查询交易记录 SELECT * FROM Transaction; -- 查询账户余额 SELECT Account.id, Customer.name, Account.balance FROM Account LEFT JOIN Customer ON Account.customer_id = Customer.id; -- 查询账户交易记录 SELECT Account.id, Transaction.type, Transaction.amount, Transaction.created_at FROM Account LEFT JOIN Transaction ON Account.id = Transaction.account_id; ``` 以下是该银行管理系统的数据库功能验证截图: ![银行管理系统数据库功能验证截图](https://i.imgur.com/7QUlVJZ.png)

最新推荐

recommend-type

学生成绩管理系统——数据库课程设计2.doc

本数据库设计是为简单的课程设计探讨 | 对数据库系统的设计初学者 简单 | 容易模仿 | 能提供作业思路 不需积分即可下载
recommend-type

网上书店管理系统 数据库系统设计

借书------根据您提供的图书条形码和图书编号确认图书...《网上书店管理系统》正是基于这种市场潜力,面向全国中小型图书销售商而开发的,力争为全国的中小型书店提供一款功能完善、界面友好、性能可靠的网上销售系统。
recommend-type

论坛管理信息系统数据库系统设计

1设计内容及要求 1.1作者信息模块 用来管理作者信息,包括作者昵称、贴子编号、性别、年龄、职业、爱好等; 1.2贴子信息模块 用来管理贴子信息,包括贴子编号、发贴日期、时间、等级等; 1.3回复日期模块 用来管理...
recommend-type

宾馆管理系统《数据库系统及应用》课程设计.docx

一份完整的大学酒店管理系统课程设计,有代码,E-R图,建表,关系图,结构图,采用SQLyog编写。
recommend-type

某景点门票销售管理系统数据库系统设计

景点门票销售管理系统,其实现功能主要是景点售票、退票、查询、统计及票务管理等,同时还可以对优惠活动及门票类型进行设置。使售票员操作简单,便于理解。该系统能够实现景点售票管理的系统化、规范化和自动化;...
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB柱状图在信号处理中的应用:可视化信号特征和频谱分析

![matlab画柱状图](https://img-blog.csdnimg.cn/3f32348f1c9c4481a6f5931993732f97.png) # 1. MATLAB柱状图概述** MATLAB柱状图是一种图形化工具,用于可视化数据中不同类别或组的分布情况。它通过绘制垂直条形来表示每个类别或组中的数据值。柱状图在信号处理中广泛用于可视化信号特征和进行频谱分析。 柱状图的优点在于其简单易懂,能够直观地展示数据分布。在信号处理中,柱状图可以帮助工程师识别信号中的模式、趋势和异常情况,从而为信号分析和处理提供有价值的见解。 # 2. 柱状图在信号处理中的应用 柱状图在信号处理
recommend-type

解释这行代码 c = ((double)rand() / RAND_MAX) * (a + b - fabs(a - b)) + fabs(a - b);

这行代码是用于生成 a 和 b 之间的随机数。首先,它使用 rand() 函数生成一个 [0,1) 之间的随机小数,然后将这个小数乘以 a、b 范围内的差值,再加上 a 和 b 中的较小值。这可以确保生成的随机数大于等于 a,小于等于 b,而且不会因为 a 和 b 之间的差距过大而导致难以生成足够多的随机数。最后,使用 fabs() 函数来确保计算结果是正数。
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。