CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

大家帮我设计个数据库,要好的。

楼主fangtaohbjjxy(想学单片机)2006-09-14 17:46:26 在 MS-SQL Server / 基础类 提问

一个宿舍财产管理系统,楼梯间里有一些公共的财产,损坏了  
   
  由学校维修。每个房间有一些公共的财产。但是是寝室的人公  
   
  用的,如果损坏是需要寝室的人集体出钱赔偿的。  
  每个人也有一些个人的财产,比如床,柜子,桌子。损坏了是  
   
  需要个人赔偿的。维修需要登记,需要添加维修记录。  
  数据库怎么设计,尽量的优化,减少冗余。  
  我有个办法可以设计,但是感觉不是最优的 问题点数:40、回复次数:46Top

1 楼abc_sk()回复于 2006-09-14 17:49:31 得分 5

财产信息表,房间信息表,维修记录表,赔偿记录表,人员信息表Top

2 楼fangtaohbjjxy(想学单片机)回复于 2006-09-14 18:00:20 得分 0

。。。。。。感觉楼上的设计的不怎么样Top

3 楼fangtaohbjjxy(想学单片机)回复于 2006-09-15 10:43:47 得分 0

我的方案  
  公共财产表,(好像里面都是000000000000000,是好的就是0,坏了就是1,字段是各种财产类型)  
  私人财产表   (类似公共财产表)  
  维修登记表   (日期,内容,studentid)  
  学生表   (studentid,   name   ,sex   ,class,   grade,   floor   ,buildingnumber,bednumber   ,room   number   broken(有无财产损坏))  
  还需要设置一些存储过程做下关联。  
  公共财产表    
  私人财产表  
  有不少的冗余,我觉得。。。。。应该有些办法修改下Top

4 楼ww3347(新来的)回复于 2006-09-15 11:04:59 得分 0

。。。。。。感觉楼上的设计的不怎么样   ^-^  
   
  你先说说二楼的有什么不好。就你描述的需求我觉得蛮好:)  
   
  Top

5 楼guan0616(还想着管周周)回复于 2006-09-15 11:18:03 得分 0

我觉得2楼的挺好   你的才冗余了Top

6 楼fangtaohbjjxy(想学单片机)回复于 2006-09-15 11:21:16 得分 0

顶起来Top

7 楼fangtaohbjjxy(想学单片机)回复于 2006-09-15 11:21:59 得分 0

赔偿记录表可以不要把。。。。Top

8 楼ww3347(新来的)回复于 2006-09-15 12:12:33 得分 1

一个桌子昨天坏了,明天修好了,后天又坏了。你准备怎么体现?  
  一个桌子要三个人赔偿,2个交钱了,一个没交钱,你怎么体现?Top

9 楼dingjie007()回复于 2006-09-15 14:49:19 得分 1

好贴啊    
  怎么就没人来呢    
  帮一下忙Top

10 楼fangtaohbjjxy(想学单片机)回复于 2006-09-15 16:52:12 得分 0

我先声明一下,桌子是私有财产的范围,会在私人财产表里。  
   
  一个桌子昨天坏了,明天修好了,后天又坏了。你准备怎么体现?  
  这是两件事情。  
  是两条记录。  
  维修登记表   (日期,内容,studentid)  
  有日期记录的啊。  
   
  一个桌子要三个人赔偿,2个交钱了,一个没交钱,你怎么体现?  
  这就不用管了,只要学生把钱交齐了就够了,不齐,在room里设置一个字段。停电。呵呵。  
   
  Top

11 楼fangtaohbjjxy(想学单片机)回复于 2006-09-15 17:06:23 得分 0

自己顶起来!Top

12 楼ww3347(新来的)回复于 2006-09-15 17:09:38 得分 0

哦,原来你不需要所有东西都靠这个系统来管理的。Top

13 楼MakeToday(改变)回复于 2006-09-16 15:53:34 得分 5

资产字典(资产编号,名称)  
  公有资产(公有id,资产编号,价格)  
  寝室资产(寝室id,资产编号,价格,使用人数,性质)   性质0   公有   1   个人  
  学生(学号,姓名,...   寝室id)  
  维修(维修id,寝室id,维修日期,性质)   性质0   公有   1   个人  
  赔偿(赔偿id,寝室id,日期,赔偿金额,交款人,性质)性质0   公有   1   个人  
  报修表()Top

14 楼MakeToday(改变)回复于 2006-09-16 15:56:12 得分 0

资产字典(资产编号,名称)  
  公有资产(公有id,资产编号,价格)  
  寝室资产(寝室id,资产编号,价格,使用人数,性质)   性质0   公有   1   个人  
  学生(学号,姓名,...   寝室id)  
  维修(维修id,寝室id,维修日期,性质)   性质0   公有   1   个人  
  赔偿(赔偿id,寝室id,日期,赔偿金额,交款人)    
  Top

15 楼fangtaohbjjxy(想学单片机)回复于 2006-09-18 10:19:19 得分 0

性质0   公有   1   个人  
  是什么意思?  
  麻烦解释一下,不是很懂我。Top

16 楼windbey(北风)回复于 2006-09-18 13:24:09 得分 0

性质——  
  公有:0  
  个人:1Top

17 楼fangtaohbjjxy(想学单片机)回复于 2006-09-18 14:19:13 得分 0

o   了解了Top

18 楼fangtaohbjjxy(想学单片机)回复于 2006-09-18 14:33:55 得分 0

资产字典(资产编号,名称)中包括一个价格怎么样那。既然是资产就放到一起。  
  MakeToday(改变)   的设计有点面向对象的数据库设计的味道也。。。。Top

19 楼fangtaohbjjxy(想学单片机)回复于 2006-09-18 14:36:51 得分 0

有资产表是好的。通用性会比较强一点。  
   
  Top

20 楼MakeToday(改变)回复于 2006-09-18 16:53:42 得分 0

 
  同是桌子   根据新旧程度的不同   在   公有资产   和   寝室公有资产   中价格有可能不同  
   
  在   公有资产   和   寝室公有资产   中的价格只是供参考,看上去表更清楚一些(可以不用).因为他不等于实际的赔偿价格(物品坏了可能再买一个时的价格,也可能是维修的花费价格)  
   
  在   公有资产   和   寝室公有资产   中可以加入   '数量'   字段   有可能有几个相同资产   如两个桌子  
  Top

21 楼fangtaohbjjxy(想学单片机)回复于 2006-09-19 09:40:53 得分 0

还有新的要求,比如寝室新安装了空调,是不是要留个字段在后面,免得以后出现问题??  
  或是....  
   
  楼上的说新旧程度,那不是我们要考虑的范围,因为,那样的话,我们做的就是会计的报表了。  
  什么固定资产折旧等等。。。  
  数量字段是要加的。Top

22 楼MakeToday(改变)回复于 2006-09-19 15:40:43 得分 0

寝室新安装了空调,是不是要留个字段在后面,免得以后出现问题??  
   
  是什么意思?  
    直接在   寝室公有资产   增加一条空调的资产记录   不行吗  
    当然有的表可以加一些附助的字段如备注等Top

23 楼qsc800528(星空)回复于 2006-09-19 15:56:12 得分 1

哈哈,顶下Top

24 楼red_fish(红鱼)回复于 2006-09-19 16:58:36 得分 1

还挺复杂的,把业务流程写出来,数据库就出来了。  
  Top

25 楼fangtaohbjjxy(想学单片机)回复于 2006-09-19 17:57:57 得分 0

流程啊,不好画啊。需要考虑升级的部分啊。  
  MakeToday说:  
    当然有的表可以加一些附助的字段如备注等  
  和我想的一样啊。需要添加备注字段。  
  我还有个想法,不知道如何就是业务逻辑可能以后都比较麻烦。  
  把公共财产设置为一个备注类  
  中间用符号隔开,取的时候再分开  
  比如12,33,13,33,122,23,131,87  
  这样可以设置很大的范围。而且也比较方便,就是处理业务的时候可能比较麻烦了。Top

26 楼ww3347(新来的)回复于 2006-09-20 11:51:35 得分 0

真的越来越晕,楼主到底要实现哪些功能?或扩展功能。再来设计数据库吧Top

27 楼notruiyi(什么乱七八糟的)回复于 2006-09-25 10:13:38 得分 0

资产类别居然没做,真是一帮SBTop

28 楼fangtaohbjjxy(想学单片机)回复于 2006-09-26 11:45:44 得分 0

........  
  notruiyi(什么乱七八糟的)  
  资产类别居然没做,真是一帮SB  
   
   
   
  你好牛啊,佩服佩服啊!  
  我上数据库的时候在睡觉,所以学的很烂,这只能怪我们老师,谁叫他上课那么没有激情拉。死胖子!  
  没办法。帮帮忙拉。  
  不要光骂撒,骂是没用的,说哈怎么做撒!如果真的是很牛!  
  (我靠   ,我也是计算机本科毕业地)Top

29 楼FoveverSql()回复于 2006-09-26 12:49:44 得分 0

.........复杂啊.真的是太复杂了Top

30 楼bigben2008(ben)回复于 2006-09-26 13:50:08 得分 5

固定资产类别表,资产类型,型号,尺寸,估价  
  固定资产登记表,资产编号,初购日期,折旧算法,状态  
  组织机构人员关系表,说明人员与组织机构之间的对应关系  
  固定资产领用登记表  
  维修记录表,报修日期,损失评估,修复状态,赔偿状态(每个维修记录只限制一件固定资产)  
   
  关键在于组织机构人员关系表,要采用树型结构,并需要列出每行记录的存在日期(当发生人员调动时,可以追溯正确的责任人)。Top

31 楼sanwawa(笨笨)回复于 2006-09-26 17:48:23 得分 1

我个人觉得不用过于考虑冗余问题,实现起来方便就好。谁还吝啬那么一点点空间。Top

32 楼notruiyi(什么乱七八糟的)回复于 2006-09-27 08:18:29 得分 5

我来说给大家听听啊,  
  首先只要是资产肯定属于某一类,资产需要分类,  
  第二,每种资产肯定有信息,比如电脑是一种资产,但是也许并不是每一台电脑配置都一样,那么你需要一个资产信息表  
  第三,资产分布情况,也就是1台电脑分配给什么对象  
  第四,需要对象表格,比如宿舍,比如个人,那么这个地方应该说使用继承  
  第五,分配情况记录,包括分配,,收回  
  第六,维修与报损Top

33 楼baggio328(将狼踩尽)回复于 2006-09-27 08:38:31 得分 0

学生够倒霉的了  
  为什么设计个系统还是学生为了让学生倒霉  
  Top

34 楼fangtaohbjjxy(想学单片机)回复于 2006-09-27 10:14:33 得分 0

...........   什么学生倒霉拉?  
  真是的。Top

35 楼allright_flash()回复于 2006-09-27 10:19:12 得分 0

哎。。。。。。。。。。。  
  不说了。。。。。Top

36 楼marxix()回复于 2006-09-27 11:05:48 得分 5

兄弟,数据库用来做什么的,为应用服务的。只是为应用来持久化数据的。应用应根据需求、规模大小等限制来确定如何持久化数据的,如何设计数据库的。  
   
  总的来说,2楼的思路很不错,你的应用也就是那几个表:  
  财产信息表,房间信息表,维修记录表,赔偿记录表,人员信息表  
   
  至于怎么具体细粉,视你的应用具体而定。Top

37 楼kfarvid(傻小子)回复于 2006-09-27 11:20:56 得分 5

2楼列出的表是最基本的表了,楼主所说到的冗余,我想,应该是要注意下面一些东西吧:  
  状态表:描述的是每一个物件或者每一个个体的状态信息。  
  其它表里记录物件的状态用状态表中的标识来区分开吧?毕竟数字列比字符串列所消耗的空间少,是这样的意思么?  
  还有就是每一个表都有它的唯一的标识列,有关联的表之间通过标识列来进行数据的链接。  
  很多东西都是根据不同的人如何去把数据区分,每一种思路,它的设计都是不一样的,但是大体上还是一样的,最基本的东西还是按照对象的方式进行设计。Top

38 楼zyq_123(我们愿意和各界朋友,相聚珠海,拥有成功,拥抱明天。)回复于 2006-10-02 11:47:07 得分 1

结论只有两个选择的不相容选择:1、楼主以为我们是白痴;2、要么我们是白痴。  
   
  赠楼上各位“授之以渔,非授之以鱼”。Top

39 楼wisdomone()回复于 2006-10-02 13:45:01 得分 1

upTop

40 楼fangtaohbjjxy(想学单片机)回复于 2006-10-06 15:17:42 得分 0

zyq_123(我们愿意和各界朋友,相聚珠海,拥有成功,拥抱明天。)   (   )   信誉:97         Blog    
   
   
  结论只有两个选择的不相容选择:1、楼主以为我们是白痴;2、要么我们是白痴。  
   
  赠楼上各位“授之以渔,非授之以鱼”。  
   
   
   
  你有发表你的高见没~~  
  不要制造混乱。  
  授之以渔,非授之以鱼  
  我也会说。  
  不通过例子可以学的好数据库设计???~~~~  
  天方**  
  Top

41 楼xiaoku(野蛮人(^v^))回复于 2006-10-06 15:28:31 得分 1

热闹!Top

42 楼showoter()回复于 2006-10-09 09:35:17 得分 1

二楼的思路很是不错啊。。我怎么就看不出哪里有什么冗余啊。。请各位大虾指点指点偶。。Top

43 楼fangtaohbjjxy(想学单片机)回复于 2006-10-09 10:23:00 得分 0

我是想设计留出冗余来,以后如果有修改的地方可以不用改很多地方。比如我要用hibernate拉,就要改不少东西。Top

44 楼kdeeleven()回复于 2006-10-09 11:48:55 得分 1

楼主应该用纸笔画画写写…………Top

45 楼fangtaohbjjxy(想学单片机)回复于 2006-10-15 18:25:33 得分 0

我画了,也写了,Top

46 楼fangtaohbjjxy(想学单片机)回复于 2006-10-28 22:31:21 得分 0

讨论到此结束。现在发现好想休息啊,有点不想做拉,谢谢大家拉。散分拉,呵呵、Top

相关问题

关键词

得分解答快速导航

  • 帖主:fangtaohbjjxy
  • abc_sk
  • ww3347
  • dingjie007
  • MakeToday
  • qsc800528
  • red_fish
  • bigben2008
  • sanwawa
  • notruiyi
  • marxix
  • kfarvid
  • zyq_123
  • wisdomone
  • xiaoku
  • showoter
  • kdeeleven

相关链接

  • SQL Server类图书

广告也精彩

反馈

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