文档章节

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

非著名程序员Bla
 非著名程序员Bla
发布于 2016/05/18 18:03
字数 855
阅读 238
收藏 0

精选30+云产品,助力企业轻松上云!>>>

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

非著名程序员Bla
粉丝 15
博文 75
码字总数 0
作品 0
合肥
后端工程师
私信 提问
加载中
请先登录后再评论。
ATM取款机数据库设计

创建文件夹 USE master GO EXEC xpcmdshell 'mkdir d:bank', NOOUTPUT 建库 --检验数据库是否存在,如果为真,删除此数据库-- IF exists(SELECT * FROM sysdatabases WHERE name='bankDB') ......

osc_klnoz5bx
2018/01/30
7
0
mysql数据库_关系的创建

一对多关系建立  以部门表与员工表为例 create table dep(    ); create table emp( 插入部门数据 insert into dep(depname, depdesc) values('销售部', '买卖'),('技术部','搞技术'),('......

osc_3rgq3dae
2019/08/20
2
0
《深入理解Oracle 12c数据库管理(第二版)》PDF

一:下载获取位置: 二:本书图样: 三:本书目录: 图书目录: 第1章 安装Oracle  1.1 了解OFA  1.1.1 Oracle清单目录  1.1.2 Oracle基础目录  1.1.3 Oracle主目录  1.1.4 Oracl...

osc_dh0xu7zu
2018/01/07
8
0
mysql高级四之用户与权限管理

创建用户 create user zhang3 identified by '123123'; 表示创建名称为zhang3的用户,密码设为123123; 查看用户 select host,user,authenticationstring,selectpriv,insertpriv,droppriv f......

Sugar-xu
2019/09/09
34
0
Mysql 的用户与权限管理

mysql5.7 centos7.2安装点击 创建用户 create user zhang3 identified by '123123'; 表示创建名称为zhang3的用户,密码设为123123; 查看用户 select host,user,authenticationstring,select......

architect刘源源
2019/07/30
38
0

没有更多内容

加载失败,请刷新页面

加载更多

O2OA开源免费开发平台:启用Eruda进行移动端调试

O2OA平台启用Eruda进行移动端调试 Eruda 是一个专为前端移动端、移动端设计的调试面板,类似Chrome DevTools 的迷你版(没有chrome强大 这个是可以肯定的),其主要功能包括:捕获 console ...

O2OA企业信息化平台
43分钟前
18
0
将敏感数据移动到云平台更安全

云栖号资讯:【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 公共云在一段时间内一直是存储关键任务和敏感数据的安全场所,但要使大多数企业超过...

osc_oq0m8kxk
43分钟前
0
0
服务器被挂码-门罗币挖矿程序

照例巡视服务器,查看cpu,内存,硬盘,系统日志。 GameServer的机器,cpu 和 内存 使用上有点不对,进程数有点多了, 但是cpu和内存却很平稳,没有波动! 另外系统日志中出现了之前没有见过...

DEPAKIN
45分钟前
0
0
机器人守护人类生命线,六大趋势凸显前景无限

云栖号资讯:【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 近段时间以来,梅雨季的到来让我国不少城市进入汛期,大部分南方城市更是面临严重暴...

osc_bwwgdzfr
45分钟前
19
0
IP-guard与Ping32基本功能对比

企业中因终端管理需求会采购终端管理软件,用来管控员工终端,通过管理软件查看一些终端信息,并进行相应的控制操作。IP-guard和Ping32是市面上比较好用的终端安全管理软件,两款软件都可以满...

osc_1b9czlr5
46分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部