生成代码三、银行卡信息表,表名为cardInfo ( 银行卡号:cardID,数据类型为CHAR(19),非空。6216 6653 xxxx xxxx 货币类型:curType,数据类型为 CHAR(5),非空,默认值为RMB 存款种类:savingType,数据类型为CHAR(8),非空,存款种类取值只能为活期/定活两便/定期三种 开户日期:openDate,数据类型为DATETIME,非空,默认为系统当前日期 开户金额:openMoney,数据类型为MONEY,非空,开户金额不低于1元 银行卡余额:balance,数据类型为 MONEY,非空。 银行卡密码:pass,数据类型为CHAR(6),只能是6位,非空,默认值为’888888’ 银行卡是否挂失:IsReportLoss,数据类型为BIT, 必填,取值只能为true或false 顾客编号:customerID,数据类型为INT,非空,外键,表示该卡对应的顾客编号,一位顾客可办理多张卡 是否VIP:IsVIP,数据类型为BIT, 必填,取值只能为true或false,默认值为false 银行卡号和存款种类共同构成主键:Primary key(cardID,savingType) ) 四、交易信息表,表名为transInfo ( 交易编号:transID,数据类型为INT,主键,自动编号(标识列),从1开始,增量为1 操作员编号:userID,数据类型为uniqueidentifier,非空,外键 操作员类型: userType ,数据类型为VARCHAR(20),非空,取值只能为:ATM或营业员两种 交易时间:transDate,数据类型为DATETIME,非空,默认为系统当前日期 交易类型:transType,数据类型为VARCHAR(20),非空,取值只能为存入或支取 银行卡号:cardID,数据类型为CHAR(19),非空。 交易金额:transMoney,数据类型为 MONEY,非空,交易金额必须大于0 交易号:curTransID,数据类型为VARCHAR(500),允许空,转帐操作对应的交易号 备注:remark,数据类型为VARCHAR(50),允许空 )
时间: 2024-04-05 10:32:02 浏览: 176
以下是根据您提供的需求生成的银行卡信息表和交易信息表的SQL语句:
银行卡信息表:
```sql
CREATE TABLE cardInfo (
cardID CHAR(19) NOT NULL,
curType CHAR(5) NOT NULL DEFAULT 'RMB',
savingType CHAR(8) NOT NULL,
openDate DATETIME NOT NULL DEFAULT GETDATE(),
openMoney MONEY NOT NULL CHECK (openMoney >= 1),
balance MONEY NOT NULL,
pass CHAR(6) NOT NULL DEFAULT '888888',
IsReportLoss BIT NOT NULL,
customerID INT NOT NULL,
IsVIP BIT NOT NULL DEFAULT 0,
PRIMARY KEY (cardID, savingType),
FOREIGN KEY (customerID) REFERENCES customerInfo (customerID)
);
```
交易信息表:
```sql
CREATE TABLE transInfo (
transID INT IDENTITY(1,1) PRIMARY KEY,
userID UNIQUEIDENTIFIER NOT NULL,
userType VARCHAR(20) NOT NULL CHECK (userType IN ('ATM', '营业员')),
transDate DATETIME NOT NULL DEFAULT GETDATE(),
transType VARCHAR(20) NOT NULL CHECK (transType IN ('存入', '支取')),
cardID CHAR(19) NOT NULL,
transMoney MONEY NOT NULL CHECK (transMoney > 0),
curTransID VARCHAR(500),
remark VARCHAR(50),
FOREIGN KEY (userID) REFERENCES userInfo (userID),
FOREIGN KEY (cardID, savingType) REFERENCES cardInfo (cardID, savingType)
);
```
阅读全文