文档章节

创建BankDB银行数据库,创建表,插…

杨润康Bla
 杨润康Bla
发布于 2016/05/18 18:03
字数 855
阅读 19
收藏 0
use master
if exists (select * from sysdatabases where name='BankDB')
drop database BankDB
go
create database BankDB
on primary
(
name='BankDB_data',
filename='E:\BankDB_data.mdf',
size=20MB,
maxsize=550MB,
filegrowth=15MB
)
log on 
(
name='BankDB_log',
filename='E:\BankDB_log.ldf',
size=20MB,
maxsize=550MB,
filegrowth=15MB
)
go
use BankDB
if exists (select * from sysobjects where name='UserInfo')
drop table UserInfo
go
create table UserInfo
(
customerID int identity(1,1) primary key,--客户编号
customerName varchar(5) not null,--客户姓名
PID varchar(20) not null,--身份证号
telephone varchar(20) not null, --联系电话
address varchar(100) --地址 
)
go
alter table UserInfo
add constraint ck_PIDLength check(len(PID)=18 or len(PID)=15),
constraint uq_PID unique(PID),
constraint ck_telephone check(len(telephone)=11 or telephone like '[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9][0-9]' or telephone like '[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')
go
if exists (select * from sysobjects where name='Deposit')
drop table Deposit
go
create table Deposit
(
savingID int identity(1,1) primary key,--存款类型编号
savingName varchar(20) not null,--存款类型名称
descrip   varchar(50)--描述
)
go
if exists (select * from sysobjects where name='CardInfo')
drop table CardInfo
go
create table CardInfo
(
cardID char(20) primary key,--卡号
curID varchar(20) not null,--货币种类 --无外键
savingID int not null,--存款类型
opendate datetime not null,--开户日期
openMoney decimal not null,--开户金额
balance decimal not null,--余额
password varchar(20) not null,--密码
isReportLoss bit not null,--是否挂失
customerID int not null--客户编号
)
go
alter table CardInfo
add constraint ck_cardID check(cardID like '1010 3576 [0-9][0-9][0-9][0-9] [0-9][0-9][0-9][0-9]'),
constraint df_curID default('RMB') for curID,
constraint fk_savingID foreign key(savingID) references Deposit(savingID),
constraint df_openDate default(getdate()) for opendate,
constraint ck_openMoney check(openMoney>=1),
constraint ck_balance check(balance>=1),
constraint ck_password check(len(password)=6),
constraint df_password default('888888') for password,
constraint df_isReportLoss default('0') for isReportLoss,
    constraint fk_customerID foreign key(customerID) references UserInfo(customerID)
go
if exists (select * from sysobjects where name='TradeInfo')
drop table TradeInfo
go
create table TradeInfo
(
transDate datetime not null,--交易日期
cardID char(20) not null,--卡号
transType int not null,--交易类型
transMoney decimal not null,--交易金额
remark varchar(50)--备注
)
go
alter table TradeInfo
add constraint df_transDate default(getdate()) for transDate,
constraint fk_cardID foreign key(cardID) references CardInfo(cardID),
constraint ck_transType check(transType in (1,0)),
constraint ck_transMoney check(transMoney>0)
go


--插入数据Deposit
INSERT INTO deposit (savingName,descrip) VALUES ('活期','按存款日结算利息')
INSERT INTO deposit (savingName,descrip) VALUES ('定期一年','存款期是1年')
INSERT INTO deposit (savingName,descrip) VALUES ('定期二年','存款期是2年')
INSERT INTO deposit (savingName,descrip) VALUES ('定期三年','存款期是3年')
INSERT INTO deposit (savingName) VALUES ('定活两便')
INSERT INTO deposit (savingName) VALUES ('通知')
INSERT INTO deposit (savingName,descrip) VALUES ('零存整取一年','存款期是1年')
INSERT INTO deposit (savingName,descrip) VALUES ('零存整取二年','存款期是2年')
INSERT INTO deposit (savingName,descrip) VALUES ('零存整取三年','存款期是3年')
INSERT INTO deposit (savingName,descrip) VALUES ('存本取息五年','按月支取利息')


---UserInfo
INSERT INTO userInfo(customerName,PID,telephone,address )
      VALUES('张三','123456789012345','010-67898978','北京海淀')

INSERT INTO userInfo(customerName,PID,telephone)
      VALUES('王五','567891234532124670','010-44443333')
     
     
INSERT INTO userInfo(customerName,PID,telephone)
      VALUES('李四','321245678912345678','0478-4444333')--号码11位,要符合约束

INSERT INTO userInfo(customerName,PID,telephone)
      VALUES('丁六','567891321242345618','0752-4334554')
     
--CardInfo
INSERT INTO cardInfo(cardID,savingID,openMoney,balance,customerID)
      VALUES('1010 3576 1212 1130',2,1,1,3)
INSERT INTO cardInfo(cardID,savingID,openMoney,balance,customerID)
      VALUES('1010 3576 1234 5678',1,1000,1000,1)
     
INSERT INTO cardInfo(cardID,savingID,openMoney,balance,customerID)
      VALUES('1010 3576 1212 1134',2,1,1,2)--customerID要表里有才能插入成功
INSERT INTO cardInfo(cardID,savingID,openMoney,balance,customerID)
      VALUES('1010 3576 1212 1004',2,1,1,4)


--TradeInfo
INSERT INTO tradeInfo(transType,cardID,transMoney) 
      VALUES(0,'1010 3576 1234 5678',900) 
INSERT INTO tradeInfo(transType,cardID,transMoney) 
      VALUES(1,'1010 3576 1212 1130',300)  
INSERT INTO tradeInfo(transType,cardID,transMoney) 
      VALUES(1,'1010 3576 1212 1004',1000) 
INSERT INTO tradeInfo(transType,cardID,transMoney) 
      VALUES(0,'1010 3576 1234 5678',900)  
INSERT INTO tradeInfo(transType,cardID,transMoney) 
      VALUES(1,'1010 3576 1212 1134',5000)  
     
select * from CardInfo
select * from Deposit
select * from TradeInfo
select * from UserInfo

本文转载自:http://blog.csdn.net/yangrunkangbla/article/details/45134269

共有 人打赏支持
杨润康Bla
粉丝 14
博文 76
码字总数 0
作品 0
合肥
后端工程师
Oracle12C中scott账户与表问题

安装了12c版本,发现没有scott用户和11g自带的emp,dept等等的表。于是尝试解锁用户,发现用户不存在。 手动创建用户,出错,和11g不太一样: 原因和pdb,cdb有关。Oracle 12C引入了CDB与PDB...

pmos
2016/11/23
77
0
mysql之数据备份还原

场景: ①由于权限控制,远程数据库在外网不能访问; ②远程数据库连接和查询比较慢,影响工作效率; ③即将发布生产时,验证数据库更新脚本是否无遗漏(如字段是否完整); 分析: 对于①、...

Ye_Kwii
2016/11/24
0
0
求助,oracle创建一个简单的触发器报错

一共2张表, TRIGGERTEST、TRIGGERTEST_BK。 现在我创建一个触发器, 只要TRIGGERTEST表有update操作或者delete操作,就插旧记录到TRIGGERTEST_bk表。 下面是表定义和触发器。 报错信息: OR...

大头仔_EE
06/21
0
0
关系数据库SQL之可编程性函数(用户自定义函数)

前言 在关系型数据库中除了前面几篇基本的数据库和数据表操作之外,还提供了可编程性的函数、存储过程、事务、触发器及游标。 本文介绍的是函数。 函数分为两种: 系统函数 用户自定义函数 ...

seayxu
2016/05/08
52
0
jfinal框架中类文件的热加载

在搞cms 框架用Jfinal的, 遇到一个技术问题 就是cms的模块作为拔插式的 我若想要使用某个模块我就在后台的一个页面上点击按钮运行解析一个xml文件 这个xml文件里面存放着该模块的所有资源文...

lpfreesky
2014/11/24
671
5

没有更多内容

加载失败,请刷新页面

加载更多

下一页

最全最强解析:支付宝钱包系统架构内部剖析(架构图)

支付宝系统架构概况 典型处理默认 资金处理平台 财务会计 支付清算 核算中心 交易 柔性事务 支付宝的开源分布式消息中间件–Metamorphosis(MetaQ) Metamorphosis (MetaQ) 是一个高性能、高可...

晨猫
29分钟前
4
0
竞品分析

那什么样的场景需要用关键纬度分析法分析竞品呢? 竞品分析的目的是为了看竞品们和自己产品重合的业务都具备哪些功能点,以及这些功能是怎么做的,以此确定自己产品的优化方向。 竞品们的业务...

于谦老师
36分钟前
1
0
OSChina 周三乱弹 —— 公司女同事约我

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子:分享水木年华的单曲《蝴蝶花(2002年大提琴版)》 《蝴蝶花(2002年大提琴版)》- 水木年华 手机党少年们想听歌,请使劲儿戳(这里) ...

小小编辑
今天
1K
16
Linux环境搭建 | VMware下共享文件夹的实现

在进行程序开发的过程中,我们经常要在主机与虚拟机之间传递文件,比如说,源代码位于虚拟机,而在主机下阅读或修改源代码,这里就需要使用到 「共享文件」 这个机制了。本文介绍了两种共享文...

良许Linux
今天
9
0
JUC锁框架——AQS源码分析

JUC锁介绍 Java的并发框架JUC(java.util.concurrent)中锁是最重要的一个工具。因为锁,才能实现正确的并发访问。而AbstractQueuedSynchronizer(AQS)是一个用来构建锁和同步器的框架,使用A...

长头发-dawn
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部