数据库表结构设计

展开阅读全文

数据库表结构设计??????

08-17

现在准备设计一个系统是关于汽车工厂内部管理系统?主要实现以下功能:记录生产车辆基本信息,在每个车间记录每道工序是由谁来做的,时间是多少。现在有两种数据库设计方法,请各位高手分析那种思路更好!谢谢!rn方法一:rn有三个表构成:rn表一:车辆信息表。主要字段包括:车辆ID、车辆颜色、车型、生产年份、发动机号、变速箱号等等10个以上车辆属性信息rn表二:车间主表。主要字段包括:车间主表ID、车辆ID、接收时间、接受员工、是否合格rn表三:车间从表。主要字段包括:车间从表ID、车间主表ID(父层ID)、工序ID、作业员工、作业时间rnrn方法二:rn有三个表构成:rn表一:车辆信息表。主要字段包括:车辆ID、车辆颜色、车型、生产年份、发动机号、变速箱号等等10个以上车辆属性信息rn表二:车间主表。主要字段包括:车间主表ID、接收时间、接受员工、是否合格、车辆ID、车辆颜色、车型、生产年份、发动机号、变速箱号等等10个以上车辆属性信息rn表三:车间从表。主要字段包括:车间从表ID、车间主表ID(父层ID)、工序ID、作业员工、作业时间rnrn方法一和方法二的不同点:rn方法一:在车间主表中只记录车辆ID,如果要进行报表查询则需要把“车辆信息表”和“车间主表”通过车辆ID进行关联。rn方法二:在车间主表中记录“车辆信息表”里所有车辆属性信息,如果要进行报表查询则不需要把“车辆信息表”和“车间主表”通过车辆ID进行关联,直接查询车间主表中信息,“车辆信息表”只作为信息维护时使用。rnrn设计思路:rn方法一:用到了数据库外键进行表与表之间关联,可能由于表之间的关联查询速度下降,但是不会产生数据冗余。rn方法二:由于没有表之间的关联,车辆信息都在“车间主表”中所以查询速度可能更快,但是会产生数据冗余。rnrn现在我想问问大家哪种方法更适合数据量大的系统?数据量在多少范围内用什么方法更好? 论坛

数据库表结构设计与平均转发的问题

08-31

问题1:rn现在有这样一些记录:rnID NAME STATUS UPDATE_TIMErn1 a b ...rn2 c d ...rn...rn2 f g ...rn1 k j ...rn1 p q ...rn...rnrn即ID号可能一段时间后会重复,但对应不同的记录,这里不用担心一个ID对应多条记录的冲突,只是想存储这些数据,然后可以比如按照ID查出其对应的时间名称等等。rnrn但现在如果存储一个月的数据就有几百万,想做切分表,分成多个表来存储,开始想的是:rn表1:存储IDrn表2:存储ID和其它所有字段,并且将ID作为外键关联到表1的ID。rn这样在检索ID时就可以现在表1中检索,然后再到表2。rnrn但有两个问题不太清楚:rn1、若检索时间范围,则只能在表2检索,是否会有性能影响?rn2、表1和表2的ID都不能作为主键,因为可能有重复的值,这种情况下,用表2的ID座位表1的外键是否合适呢?rnrn这种数据库结构的设计以前接触的不多,还请高手指点!谢谢! rnrnrn问题2:rn有个表:rnID DATErn1 10:10rn2 10:15rn3 10:50rn4 10:05rn5 10:10rn1 9:45rn3 9:50rn2 10:00rn...rnrn然后要做的是在proc中先按照时间顺序排列select出这些记录,然后有5个地址,要求:rn1、相同ID的要发到同一个地址rn2、尽量保证不同ID平均发到5个地址,例如发送到地址1的有5个ID,发送到地址2的有5个ID,发送到地址3的有5个ID,发送到地址4的有5个ID,发送到地址5的有4个ID。rnrn之前我的想法:rn1、如果不考虑相同ID必须发到同一个地址,我可以在一个ID发到地址1时加个变量,例如ind=2,这样处理下一个ID时就会进入地址2,在地址2中指定变量ind=3,下一个ID处理时就进入地址3,以此类推。rn2、如果相同ID发到同一个地址,可以对ID%5取模,例如模是0的发到地址1,模是1的发到地址2,以此类推。rnrn但现在的情况是以上两种的合体,所以思路还不是很清晰,大家讨论下,谢谢高手指点! 论坛

求助:数据库表结构设计与平均转发的问题

09-02

问题1:rn现在有这样一些记录:rnID NAME STATUS UPDATE_TIMErn1 a b ...rn2 c d ...rn...rn2 f g ...rn1 k j ...rn1 p q ...rn...rnrn即ID号可能一段时间后会重复,但对应不同的记录,这里不用担心一个ID对应多条记录的冲突,只是想存储这些数据,然后可以比如按照ID查出其对应的时间名称等等。rnrn但现在如果存储一个月的数据就有几百万,想做切分表,分成多个表来存储,开始想的是:rn表1:存储IDrn表2:存储ID和其它所有字段,并且将ID作为外键关联到表1的ID。rn这样在检索ID时就可以现在表1中检索,然后再到表2。rnrn但有两个问题不太清楚:rn1、若检索时间范围,则只能在表2检索,是否会有性能影响?rn2、表1和表2的ID都不能作为主键,因为可能有重复的值,这种情况下,用表2的ID座位表1的外键是否合适呢?rnrn这种数据库结构的设计以前接触的不多,还请高手指点!谢谢! rnrnrn问题2:rn有个表:rnID DATErn1 10:10rn2 10:15rn3 10:50rn4 10:05rn5 10:10rn1 9:45rn3 9:50rn2 10:00rn...rnrn然后要做的是在proc中先按照时间顺序排列select出这些记录,然后有5个地址,要求:rn1、相同ID的要发到同一个地址rn2、尽量保证不同ID平均发到5个地址,例如发送到地址1的有5个ID,发送到地址2的有5个ID,发送到地址3的有5个ID,发送到地址4的有5个ID,发送到地址5的有4个ID。rnrn之前我的想法:rn1、如果不考虑相同ID必须发到同一个地址,我可以在一个ID发到地址1时加个变量,例如ind=2,这样处理下一个ID时就会进入地址2,在地址2中指定变量ind=3,下一个ID处理时就进入地址3,以此类推。rn2、如果相同ID发到同一个地址,可以对ID%5取模,例如模是0的发到地址1,模是1的发到地址2,以此类推。rnrn但现在的情况是以上两种的合体,所以思路还不是很清晰,大家讨论下,谢谢高手指点! 论坛

没有更多推荐了,返回首页