文档章节

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

非著名程序员Bla
 非著名程序员Bla
发布于 2016/05/18 18:03
字数 855
阅读 22
收藏 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
粉丝 15
博文 75
码字总数 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张表, TRIGGER_TEST、TRIGGER_TEST_BK。 现在我创建一个触发器, 只要TRIGGER_TEST表有update操作或者delete操作,就插旧记录到TRIGGER_TEST_bk表。 下面是表定义和触发器。 报错信息:...

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

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

seayxu
2016/05/08
52
0
mysql学习笔记一

数据库操作 登录数据库系统 mysql –h localhost –uroot -p 创建数据库 create database 数据库名 显示已存在的数据库 show databases; 删除数据库 drop database example; 注:删除数据库,...

独特55
2016/03/09
24
0

没有更多内容

加载失败,请刷新页面

加载更多

Flink-数据流编程模型

1、抽象等级 Flink提供了不同级别的抽象来开发流/批处理应用程序。 1) 低层级的抽象 最低层次的抽象仅仅提供有状态流。它通过Process函数嵌入到DataStream API中。它允许用户自由地处理来自一...

liwei2000
20分钟前
1
0
Java开发Swing实战JFrame和JTabbedPane容器的用法详细解析

概述: 项目是一个桌面程序,涉及标签和按钮组件、布局管理器组件、面板组件、列表框和下拉框组件等组件,以及Swing事件处理机制。 下面先从最基础的界面开始。 /** * @author: lishuai * @...

金铭鼎IT教育
26分钟前
7
0
flask 之旅

环境 为了正确地跑起来,你的应用需要依赖许多不同的软件。 就算是再怎么否认这一点的人,也无法否认至少需要依赖Flask本身。 你的应用的运行环境,在当你想要让它跑起来时,是至关重要的。 ...

hblt-j
26分钟前
5
0
easyui的上传文件

记录一下自己亲手操刀easyui的心得:不用不知道,一用就问题多,网上查资料,有用的真的太少了 ——————————————————正文 FileBox,还是不错的讲真,至少我去自己写就gaga了...

anlve
27分钟前
4
0
如何做好SQLite 使用质量检测,让事故消灭在摇篮里

本文由云+社区发表 SQLite 在移动端开发中广泛使用,其使用质量直接影响到产品的体验。 常见的 SQLite 质量监控一般都是依赖上线后反馈的机制,比如耗时监控或者用户反馈。这种方式问题是: ...

腾讯云加社区
29分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部