数据库期末作业之银行ATM存取款机系统

--一、建库、建表、建约束
--1、使用SQL创建表
--客户信息表userinfo
--字段名称	说明	备注
--customerID	顾客编号	自动编号(标识列),从1开始,主键	
--用序列sequence实现,用其属性:nextval
--customerName	开户名	必填	
--PID	身份证号	必填,智能是18位或15位,唯一约束	check约束len()函数
--telephone	联系电话	必填,11位手机号	check约束,’[0-9]’
--address	居住地址		
create table userinfo
(
customerID int identity(1,1),
customerName char(10),
PID char(18) ,
telephone char(11),
address char(30)
)
--银行卡信息表cardinfo
--字段名称	说明
--cardID	卡号	必填,主键,
--银行的卡号规则和电话号码一样,一般前8位代表特殊含义,如某综合某支行等,
--假定该行要求其营业厅的卡号格式为10103576**** ***开始,
--每4位号码后有空格,卡号一般是随机产生。
--curType	货币种类	必填,默认为RMB
--savingTate	存款类型	活期/定活两便/定期
--openDate	开户日期	必填,默认为系统当前日期
--openMoney	开户金额	必填,不低于1元
--balance	余额	必填,不低于1元,否则将销户
--pass	密码	必填,6位数字,开户时默认为6个“6”
--IsReportloss	是否挂失	必填,是/否值,默认为“否”
--customerID	顾客编号	外键,必填,表示该卡对应的顾客编号,一位顾客允许办理多张卡号
create table cardinfo
(
cardID char(19) not null,
curType char(10),
savingTate char(10) ,
openDate datetime,
openMoney money,
balance money,
pass char(6),
IsReportloss char(2) ,
customerID int
)
--交易信息表transinfo
--字段名称	说明
--transDate	交易日期	必填,默认为系统当前日期
--cardID	卡号	必填,外键
--transType	交易类型	必填,只能是存入/支取
--transMoney	交易金额	必填,大于0
--remark	备注	可选,其他说明
create table transinfo
(
transDate datetime,
cardID char(19),
transType char(4),
transMoney money,
remark varchar(100)
)
--2、使用SQL语言在每个表上添加约束
--主键约束、外键约束、CHECK约束、默认约束、非空约束
--①
--客户信息表userinfo

--customerID	顾客编号	自动编号(标识列),从1开始,主键	
alter table userinfo
add constraint PK_userinfor primary key(customerID)

--customerName	开户名	必填	
alter table userinfo
add constraint CK_cn check(customerName is not null)

--PID	身份证号	必填,智能是18位或15位,唯一约束	check约束len()函数

alter table userinfo
add constraint CK_PID check(len(PID)=18 or len(PID)=15 )
alter table userinfo
add constraint CK_pn check(PID is not null)
alter table userinfo
add constraint UK_pid unique(pid)

--telephone	联系电话	必填,11位手机号	check约束,’[0-9]’

alter table userinfo
add 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

教书酱老张

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值