laitaogood 2008-11-10 20:48
浏览 150
已采纳

数据库表这样写行不?

需求是这样的:

一个用户对应多个账单,账单对应多个账单分组和账单类型,一个用户又有多个账单分组,一个账单分组又有多个账单类型。



我设计的表结构:

--用户

create table users

(

userId int auto_increment primary key,

userName varchar(50) not null ,

userPass varchar(50) not null

)



--账单分组

create table billGroup

(

groupId int auto_increment primary key,

groupName varchar(50) not null,

userId int not null,

foreign key(userId) references users(userId)

)



--账单类型

create table billType

(

typeId int auto_increment primary key,

typeName varchar(50) not null,

isIncome varchar(20) not null,

groupId int not null,

foreign key(groupId) references billGroup(groupId)

)



--账单

create table bill

(

billId int auto_increment primary key,

amount varchar(20) not null,

content varchar(100) ,

groupId int not null,

typeId int  not null,

billDate varchar(30) not null,

userId int not null,

foreign key(groupId) references billGroup(groupId),

foreign key(typeId) references billType(typeId),

foreign key(userId) references users(userId)

)





欢迎大家提出改正的建议,谢谢~~
问题补充:
需求是这样的:


一个用户对应多个账单,账单对应多个账单分组和账单类型,一个用户又有多个账单分组,一个账单分组又有多个账单类型。





我设计的表结构:


--用户


create table users


(


userId int auto_increment primary key,


userName varchar(50) not null ,


userPass varchar(50) not null


)





--账单分组


create table billGroup


(


groupId int auto_increment primary key,


groupName varchar(50) not null,


userId int not null,


foreign key(userId) references users(userId)


)





--账单类型


create table billType


(


typeId int auto_increment primary key,


typeName varchar(50) not null,


isIncome varchar(20) not null,


groupId int not null,


foreign key(groupId) references billGroup(groupId)


)





--账单


create table bill


(


billId int auto_increment primary key,


amount varchar(20) not null,


content varchar(100) ,


groupId int not null,


typeId int? not null,


billDate varchar(30) not null,


userId int not null,


foreign key(groupId) references billGroup(groupId),


foreign key(typeId) references billType(typeId),


foreign key(userId) references users(userId)


)








欢迎大家提出改正的建议,谢谢~~





-----------------------补充---------------------

有朋友问账单分组和账单类型的关系,我解释下哦。

账单分组就是说,比如,固定收入是一个分组,

那个属于这个组的类型就有:工资,奖金,兼职赚的外快等



可能这样的设计不是很好,希望有朋友能提出更好得建议~~~
问题补充:


-----------------------补充---------------------

有朋友问账单分组和账单类型的关系,我解释下哦。

账单分组就是说,比如,固定收入是一个分组,

那个属于这个组的类型就有:工资,奖金,兼职赚的外快等



可能这样的设计不是很好,希望有朋友能提出更好得建议~~~



再补充一点:每个用户都有自己的账单分组,即这个分组是可以自己设置修改的

  • 写回答

4条回答 默认 最新

  • linpyi 2008-11-10 21:02
    关注

    我觉的你还是解释下
    帐单和帐单分组之间的业务关系
    帐单和帐单类型,帐单和帐单分组之间的业务关系

    举些实体的例子,如果只是看一对多的话,看不出什么

    我个人理解,帐单类型应该还可以分为2个表
    一个是帐单类型表,一个是帐单分组类型表,

    麻烦解释下帐单分组的概念

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?