【序言】
很久沒到這邊 ,上周為了應付學校的技能抽查,對資料庫的基本操作進行整理,放到這邊,主要是一些簡單的資料庫的操作
[正文]
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 [email protected]_id
Update T_cust_credit_lever SET [email protected]_level
WHERE [email protected]_id
END
GO
【聯系方式】
mail:[email protected]
QQ:527582451