问题是这样的:
有N种产品,比如电灯、桌子、电脑。。
他们都有各自的属性:电灯是灯丝、功率、电压等
桌子是高度、宽度、长度等
电脑是显示器、键盘、CPU等。并且这些产品是可以随时增加的。
请问我要怎么设计这个数据库呢?不可能N钟产品就建立N张表吧?字段应该设置成什么呢?还有一点就是他们的属性个数还是不一样的。怎么办呢?望达人给与解答。
有N种产品,比如电灯、桌子、电脑。。
他们都有各自的属性:电灯是灯丝、功率、电压等
桌子是高度、宽度、长度等
电脑是显示器、键盘、CPU等。并且这些产品是可以随时增加的。
请问我要怎么设计这个数据库呢?不可能N钟产品就建立N张表吧?字段应该设置成什么呢?还有一点就是他们的属性个数还是不一样的。怎么办呢?望达人给与解答。
解决方案 »
- 如何监听session.getAttribute
- 无法加载JSP类 求帮组
- 关于影院在线订票系统的订座问题,请各位前辈指点小弟!
- struts2开发,比如用户登录数据,做一个全局的数据呢
- jsp + sqlserver (datetime类型) 问题 ?
- java连接Oracle出错
- 求javabean分页显示(分数大大给)
- JS代码为什么不执行!!求大神解释!
- 因为项目开发周期短,请大家帮忙推荐一个代码生成器
- 启动tomcat出错,下面是出错的信息,请大家帮忙看一下
- 在.java文件中同时引用java.bean.*和java.sql.*,statment报错
- 求助: 两个表单验证相同信息 DispatchAction+DynaValidatorActionForm+validation.xml
1张表的就不说了
2张表的就是:
一张放这个电器的名字和ID
一张表放这个电器的ID(第一张表里面的ID),功能、形状、电压。这些
这是我的想法~希望后面的能有更好的办法
不行吧,因为每个商品的字段都不一样,那后面一种设计方法的话,第二张表的字段岂不是很大了?而且冗余数据也很多,电灯有的属性桌子不一定有的,
感觉就应该多少商品多少表吧.
啊哦,楼下来.
其中goodsspecs存储各个goodsid的属性,多个属性用*号隔开,方便存储和读取
那这样的话,不是好像也不符合数据库的那个什么范式来着.
goodsspecs里面,重复数据和冗余数据不是挺多的么.
而且,如果数据量比较大的情况下,会不会慢的多?
其实数据库范式只是一种建议,并不是所有设计都会按照这种方式来实现,同时也要考虑程序的性能,然后,适当的冗余是允许的,现在存储介质允许这样做·想想范式出来时存储介质是有限的,而且现在一张表的速度肯定会比多表快,而且方便