新手向,一个MySQL银行数据库的建表,想请各位大佬看看有没有什么问题,麻烦了

CREATE TABLE userInfo(
    customerID INT PRIMARY KEY ,
    customerName VARCHAR(10) ,
    customerBorn VARCHAR(50) ,
    customerIncome VARCHAR(20),
    customerBalance VARCHAR(20),
    PID CHAR(18) ,
    telephone CHAR(11) ,
    address VARCHAR(50) 
)
INSERT INTO userInfo
  Values('11111111','XXX','1111年11月11日','2000','1500','123456789012345678','12345678901','XXXXXX')

 

CREATE TABLE workerInfo(  
    workerID INT PRIMARY KEY,
    workerName VARCHAR(10) ,
    workerBorn VARCHAR(50) ,

    
    
)
INSERT INTO workerInfo
  Values('1001','小明','2001年01月01日')

 


CREATE TABLE accessInfo(  
    workerID INT PRIMARY KEY,
    service CHAR(3) ,
    servemonth CHAR(5) ,
    FOREIGN KEY(workerID)REFERENCES workerinfo(workerID),

    
    
)
INSERT INTO accessInfo
  Values('1001','15',1)

CREATE TABLE tradeinfo(  
    tradeID INT ,
    tradetime VARCHAR(50) ,
    trademoney VARCHAR(20) ,
    workerID INT,
    PRIMARY KEY(tradeID)
    
    
)
INSERT INTO tradeInfo
  Values('100001','2021年6月10日20:32:34','30000','1001')

 

 CREATE TABLE bankInfo(
    customerID INT  ,
    tradeID INT ,
    workerID INT ,
    belongBank VARCHAR(50),
    PRIMARY KEY(customerID,tradeID,workerID),
    FOREIGN KEY(customerID)REFERENCES userinfo(customerID),
    FOREIGN KEY(workerID)REFERENCES workerinfo(workerID),
    FOREIGN KEY(tradeID)REFERENCES tradeinfo(tradeID)
 
    
)
INSERT INTO bankInfo
  Values('11111111','100001','1001','中国银行XXXX支行')

根据您提供的信息,我对您的MySQL银行数据库建表提出以下建议和修改意见:

  1. 对于userInfo表,将customerID字段的数据类型改为自增的INT类型,以避免手动输入主键值时出现冲突问题。
  2. 对于workerInfo表,缺少了工作岗位信息,建议添加一个字段来描述每个工作人员的具体岗位。
  3. 对于accessInfo表,服务类型和服务月份数量的数据类型建议修改为INT类型,以方便计算和处理。
  4. 对于tradeinfo表,缺少了交易类型的字段信息,建议添加一个字段来描述交易的具体类型,如存款、转账、取款等。
  5. 对于bankInfo表,可以考虑添加一个时间戳字段来描述每笔交易的具体时间,以便后续分析统计。

另外,对于数据表的INSERT INTO语句,需要注意字段和值的对应关系,应该按照表中字段的顺序依次对应对应的值,否则会出现数据插入错误的情况。