CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他数据库开发 >  SQL Anywhere Studio

征求数据库设计方案

楼主zzzl(不拉拉链)2002-06-27 08:28:00 在 其他数据库开发 / SQL Anywhere Studio 提问

比如,销售员,会员,等人员都有各自的属性(姓名,年龄...),但同时也有公共的属性(性别,职位...)  
  那么,是应该在每种人员的表里都设置这些公共属性呢还是把公共属性单拿到一张表里让人员表和它关联呢?  
  谢谢 问题点数:50、回复次数:7Top

1 楼xg_delayth(铁鹰)回复于 2002-06-27 08:36:28 得分 10

我认为放在一张表中比较好,因为具我的经验来看,以后要对这些记录进行频繁的查询时,一张表的查询速度肯定要比多张的连接查询速度上要快,而且维护相对比较容易,索引也比较好建!Top

2 楼hainiao1979(hainiao1979)回复于 2002-06-27 08:48:20 得分 5

楼上说的也对,不过两种方案各有利弊,把表模型设计成面向对象的继承的关系,可以在你统计,某些查询的时候非常方便,但可能更多的地方会带来复杂性。Top

3 楼penitent(只取一瓢)回复于 2002-06-27 08:53:01 得分 5

这个应当建在一张表中,从数据库设计的范式来看,建立在一张表是符合数据库设计范式的,性别,职位其实也并不是公用啊,它也是从属于人员(编号,假定为主键)Top

4 楼mycode(不写代码)回复于 2002-06-27 09:10:38 得分 20

这种情况,涉及一个父类(人员),两个子类(销售员,会员).如果不考虑两个子类在系统中的其他方面,父类和子类之间是继承关系,一般转化为关系模型是这样的:  
          它们之间的关系是一对一,因此,既可以是一张表,也可以两张表或三张表。  
   
          一张表的写法:对象标识(主键)、父类属性(性别、职位),子类类别(会员、销售员)、会员属性(),销售员属性。  
          两张表的写法:会员表(对象标识,父类属性、会员属性)、销售员表(对象标识,父类属性,销售员属性),两个表之间没有任何关系  
          三张表的写法:普通人员表(父类属性,对象标识)、会员表(对象标识,会员属性)、销售员表(对象标识,销售员属性)。会员表与普通人员表之间是一对一关系,销售员表和普通人员表之间也是一对一关系,会员表与销售员表之间的对象标识没有相同的数据,但两者的数据的集合等于普通人员的数据。  
   
          随着子类的增加,三种方案,一张表就是增加字段;两张表就是再增加一张表;三张表的写法,也是增加一张表,但需要注意关系。  
   
          具体采用哪种方案,还需要看这些类在整个系统中的用法。  
   
          还有其他的采用纵表方式设计,则是另一种方式,只是听说过,从没有见有在大型系统中用过。Top

5 楼hillhx(曾经的曾经)回复于 2002-06-27 13:00:47 得分 4

我建议使用楼上的3表写法,比较符合关系数据库的逻辑,但3表写法在修改与编辑时比较麻烦,如果你想当专家,那使用3表法,也就是说,对每个可以认为是类的事物生成一张表,另外3表写法最好可以搭配视图使用,才比较清楚,否则外行容易弄乱了。  
  如果仅仅是个一般的系统,你又不想炫耀你对关系数据库的深刻理解,那还是用1表写法或2表写法吧,编程非常容易,也好懂好维护,就是多点空余,记住是空余而不是臃余,因为你只是多了空字段,并没有多保存无用数据:)Top

6 楼Michaelyfj(星星还是那颗星星)回复于 2002-06-27 13:08:35 得分 3

放在一起好啊Top

7 楼zhoubf725(zhoubf725)回复于 2002-06-27 13:35:49 得分 3

主要还是要看全局应用来考虑,单纯的从这两个表看问题的话,会被范式所累,我们容易只见树木不见森林。两种方案的利弊,都在上面,还是楼主结合具体应用的灵活性来全局考虑。Top

相关问题

  • 征求数据库设计方案:怎样设计表示单位换算关系的表?
  • 征询数据库设计方案
  • ------考勤系统数据库设计方案。-----
  • 大家讨论一个数据库设计方案。
  • 求学生考勤系统报表/数据库设计方案
  • 关于仓库库位置的数据库设计方案
  • 求数据库设计方案,分期付分,谢谢了
  • 请教数据库设计方案,请畅所欲言
  • 数据库设计
  • 数据库设计

关键词

  • 属性
  • 销售员
  • 数据库设计
  • 范式
  • 查询
  • 数据
  • 普通
  • 系统
  • 表
  • 写法

得分解答快速导航

  • 帖主:zzzl
  • xg_delayth
  • hainiao1979
  • penitent
  • mycode
  • hillhx
  • Michaelyfj
  • zhoubf725

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo