银行信贷管理系统质押信息子模块

一、概要

作为《银行信贷管理系统》项目开发组的程序员,按要求完成:
数据库的创建;
数据表的创建;
数据的操作。

二、实施步骤和内容

《银行信贷管理系统》的E-R图如图2.10 所示,逻辑数据模型、物理数据模型如图2.11和图2.12所示。数据表字段名定义见表2.6。按以下设计完成数据库创建、数据表创建和数据操作任务:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、代码

-- 创建数据表客户基本信息表: T_customer_info
CREATE TABLE IF NOT EXISTS T_customer_info(
	Cust_id CHAR(10) NOT NULL COMMENT '客户编号,主键',
	Cust_name VARCHAR(60) NOT NULL COMMENT '客户名称',
	Legal_name VARCHAR(10) NOT NULL COMMENT '法人代表',
	Reg_address VARCHAR(60) NOT NULL COMMENT '注册地址',
	Post_code CHAR(6) NOT NULL COMMENT '邮政编码',
	PRIMARY KEY(Cust_id)
)ENGINE=INNODB DEFAULT CHARSET=utf8;

-- 创建数据表客户经理信息表: T_agency_info    
CREATE TABLE IF NOT EXISTS T_agency_info(
	Agency_id CHAR(3) NOT NULL COMMENT '客户经理编号,主键',
	Agency_name VARCHAR(10) NOT NULL COMMENT '客户经理姓名',
	Agency_level CHAR(2) NOT NULL COMMENT '客户经理级别',
	Agency_phone VARCHAR(20) NOT NULL COMMENT '工作电话',
	PRIMARY KEY(Agency_id)
)ENGINE=INNODB DEFAULT CHARSET=utf8;

-- 创建数据表质押信息台帐: T_impawn_info
CREATE TABLE IF NOT EXISTS T_impawn_info(
	Borrow_id CHAR(12) NOT NULL COMMENT '借据号',
	Cust_id CHAR(10) NOT NULL COMMENT '客户编号',
	Agency_id CHAR(3) NOT NULL COMMENT '客户经理编号',
	Pawn_goods_name VARCHAR(60) NOT NULL COMMENT '押物名称',
	Pawn_goods_num INT NOT NULL COMMENT '押物数量',
	Contract_date DATETIME NOT NULL COMMENT '签订日期',
	PRIMARY KEY (Borrow_id)
)ENGINE=INNODB DEFAULT CHARSET=utf8;


-- 创建数据表之间的关系
ALTER TABLE T_impawn_info ADD CONSTRAINT FOREIGN KEY(Agency_id)
REFERENCES T_agency_info(Agency_id)

ALTER TABLE T_impawn_info ADD CONSTRAINT FOREIGN KEY(Cust_id)
REFERENCES T_customer_info(Cust_id)

-- 要求邮政编码6位数字组成
ALTER TABLE t_customer_info ADD CONSTRAINT 
CHECK(Post_code LIKE '[0-9][0-9][0-9][0-9][0-9][0-9]')

-- 向三个表中插入测试数据
INSERT INTO t_customer_info VALUES('A001B00101','xx公司','张三','长沙市雨花区xx路999号','410001')


INSERT INTO t_agency_info VALUES('001','李四','01','13154689521')

INSERT INTO T_impawn_info VALUES('202210260001','A001B00101','001','笔记本电脑',20,'2022-10-26')


-- 查询"XX公司"质押的物品及数量
SELECT a.Cust_name,b.Pawn_goods_name,b.Pawn_goods_num FROM t_customer_info AS a
INNER JOIN T_impawn_info AS b 
ON a.Cust_id = b.Cust_id WHERE a.Cust_name='xx公司'

-- 统计每个客户经理所经手的质押业务数,查询结果集包含字段: 
SELECT a.Agency_name AS '客户经理姓名',COUNT(b.Agency_id) AS '质押业务数' FROM t_agency_info AS a INNER JOIN 
T_impawn_info AS b ON a.Agency_id=b.Agency_id
GROUP BY a.Agency_name,b.Cust_id


-- 创建存储过程:P_customer_info,删除指定客户编号的客户基本信息  同时也删除该客户在质押信息台帐中的所有记录 
DELIMITER $$
CREATE PROCEDURE P_customer_info(IN CustId CHAR(10))
BEGIN
	DELETE FROM T_impawn_info WHERE Cust_id=CustId;
	DELETE FROM t_customer_info WHERE Cust_id=CustId;
END $$
DELIMITER ;

CALL P_customer_info('A001B00101')

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值