【序言】
很久没到这边 ,上周为了应付学校的技能抽查,对数据库的基本操作进行整理,放到这边,主要是一些简单的数据库的操作
[正文]
1. 数据库的创建
create database BankCreditLoanDB
on primary(
name=BankCreditLoanDB,
Filename='E:\银行信贷管理系统\BankCreditDB.mdf',
size=3, --大小
maxsize=100,
filegrowth=10% -- 文件的增长率
)
log on(
name=BankCredloanDB_log,
filename='E:\银行信贷管理系统\BankCreditloanDB.ldf',
size=1,
maxsize=2,
filegrowth=10%
)
2. 表的的创建
2.1 客户基本信息表
create table T_customer_info(
Cust_id char(10) primary key ,
Cust_name varchar(60),
Legal_name varchar(10),
Reg_address varchar(60),
Post_code char(6) --邮政编码
)
2.2 客户信用等级表
create table T_cust_credit_level(
Cust_id char(10) primary key ,
Credit_level char(2), -- 信用级别
Begin_date datetime, --评级有效的开始日期
End_date datetime
)
2.3 客户信用等级历史表
create table T_his_cust_credit_level(
id integer primary key ,
Cust_id char(10),
Credit_level char(2), --信用等级
Begin_date datetime, --评级有效的开始日期
End_date datetime
)
3. 主外键约束
4. 将信用级别字段的默认值设置为01,
5. 根据对数据的数据模型的理解,分别向三个表中插入一条测试数据
5.1 insert into T_customer_info(
Cust_id,Cust_name,Legal_name,Reg_address,Post_code
)values(
'A001B00101','李勇军','xx公司','长沙市雨花区XX路号','410001'
)
5.2
insert into T_cust_credit_level(
Cust_id,Begin_date,End_date
)values(
'A001B00101','2010-01-01','2011-12-31'
)
5.3
insert into T_his_cust_credit_level(
id, Cust_id,Credit_level,Begin_date,End_date
)values(
'01','A001B00101','01','2010-01-01','2011-12-31'
)
6. 查询客户名称为“XX公司”的信用等级
Select Credit_Level
From T_customer_info ,T_his_cust_credit_level
Where T_customer_info.Cust_id=T_his_cust_credit_level.Cust_id –主外键连接
AND T_his_cust_credit_level.Cust_name=’xx公司’
7. 创建视图V_His_cust_credit_level用于查询客户的信用级别历史记录,视图列名显示为客户名称 ,信用级别、评级的有效日期、评级有效中止日期
Create view V_His_cust_credit_level --视图名
AS
Select * from T_his_cust_credit_level
8. 创建带输入参数的存储过程P_cust_credit_level,根据输入参数更新客户信用等级表,并将更新前的记录插入到客户信用等级历史表
Create procedure P_cust_credit_level(@Cust_id CHAR(10)),@Credit_lever CHAR(2))
AS
BEGIN
INSERT INTO T_his_cust_credit_level
(Cust_id,Credit_level,begin_date,End_date)
Select Cust_id,Credit_level,Begin_date,End_date FROM T_Cust_credit_level WHERE Cust_id=@Cust_id
Update T_cust_credit_lever SET Credit_level=@Credit_level
WHERE Cus_id=@Cust_id
END
GO
【联系方式】
mail:[email protected]
QQ:527582451