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




