最近在做一个记家庭流水帐的小系统,在设计数据库的时候碰到点问题,请大家指教一下
第一个表是记录用户信息的,用于登陆
有姓名(name),密码(password)第二个表记录购买的商品信息
比如商品名称,价格,购买时间,购买地点,所属分类等原本我是这么想的:我想每个用户对应一个表,在表中记录该用户所记录的商品信息,但是听说在程序运行中新建表不是很好,而且这个方法不是很好(虽然我这个系统是家庭用的,用户数目不会很大)另一个方法:想把两个表关联起来,不过就必须在第二个表中加一“用户姓名”属性与第一个表的用户姓名对应,然后把所有的商品信息都记录在一个表中,查询统计的时候根据“用户姓名”来筛选,但是这样做就只能把所有用户购买的所有物品都记录在同一个表中。不知道大家如果设计这个数据库会怎么设计,请指教,谢谢:)还有就是顺便问一下论文可以从哪些方面写?就拿我这个小系统来说,我觉得做出来就做出来了,不知道可以写点什么?而且论文一般都要2,3w字,大家指点一下啦:)
第一个表是记录用户信息的,用于登陆
有姓名(name),密码(password)第二个表记录购买的商品信息
比如商品名称,价格,购买时间,购买地点,所属分类等原本我是这么想的:我想每个用户对应一个表,在表中记录该用户所记录的商品信息,但是听说在程序运行中新建表不是很好,而且这个方法不是很好(虽然我这个系统是家庭用的,用户数目不会很大)另一个方法:想把两个表关联起来,不过就必须在第二个表中加一“用户姓名”属性与第一个表的用户姓名对应,然后把所有的商品信息都记录在一个表中,查询统计的时候根据“用户姓名”来筛选,但是这样做就只能把所有用户购买的所有物品都记录在同一个表中。不知道大家如果设计这个数据库会怎么设计,请指教,谢谢:)还有就是顺便问一下论文可以从哪些方面写?就拿我这个小系统来说,我觉得做出来就做出来了,不知道可以写点什么?而且论文一般都要2,3w字,大家指点一下啦:)
解决方案 »
- 简单问题
- |zyciis| 如何在插入记录的时候触发一个Windows服务呢 谢谢
- SQL 2005 有 insert into #T exec proc @kk,@MM #T定义的时候和存储过程的结果集不匹配的 方法么?
- 这道题关于数据库磁盘规划的RAID 1和RAID 5
- 关于用SQL script 实现replication的问题
- 创建SQL server认证登录用户的问题
- 问一个SQL,谢谢!
- 如何把一个十六进制的nvarchar型的数据转成十进制啊?
- 帮忙看一下SQl语句的错误出在那里
- 创建唯一索引时选择“忽略重复项“是什么意思?
- 高分求个SQL,这个用Group by该怎么弄呀?
- 我还是小鸟. 请问mysql 开放源代码有什么实在的好处呢? 我们一般做开发的,应该还是用不着动它的源代码吧? 还有它的源代码是用什么写的?
有userid、姓名(name),密码(password)第二个表记录购买的商品信息
比如userid、商品名称,价格,购买时间,购买地点,classid等
三个表:商品分类表
classid,类名,。
有userid、姓名(name),密码(password)第二个表记录购买的商品信息
比如userid、商品ID,价格,购买时间,购买地点,classid等
三个表:商品分类表
classid,类名,。
四个表:商品字典
商品id,名称、规格、产地、。
--
Tab_family
ID, --自己ID
Name, --
PF_ID, --父亲ID
PM_ID, --母亲ID
mate_ID, --配偶ID
Tab_family_i -表同级关系的
ID
ID_T_ID
ID_flag (哥,姐,弟,妹)
商品类别表
S_iD
S_p_id
S_name
购买的商品信息
ID
S_id
价格,
购买时间,
购买地点....
既然要写论文 那就小题大做吗!
你还可以建立角色表!
根据角色来分配权限等!!!
主键:在第一个表中,主键为:userid,第二个表中主键为goodsid,第三个表中主键为userid,goodsid。
外键:第三个表的userid的外键是第一个表的userid,第三个表的goodsid的外键是第二个表的goodsid
完毕。
这样记录的好处:商品好多种,如果每种商品都记录所有信息于商品信息表中,那商品会有重名但价格不同等情况出现且不易分类。现在这样做的好处是主要维护的是物品种类,记录的时候可以在第三个即购买表中记录购买物品的种类/日期/价格及备注。备注中可以写明是什么物品等信息。
---------------------------------
再说写论文:
论文主要是写写开题报告,即开发这个系统的目的。然后是可行性分析。
之后开始写需求分析,主要是数据库的分析,和功能分析。数据库分析为:1/建立E-R图2/转换关系模型3/建立数据库。功能分析为:1/数据字典2/DFD图3/功能层次图
有了这些分析后就可以开始设计:概要设计和详细设计。这一步的效果是确定有多少模块以至于细化到函数。
之后就是根据上面的设计报告写代码。
然后是测试报告,如单元测试(跟据设计的模块测试)集成测试(全部功能成型的测试)
成品后再写一个用户使用说明书。
交附使用。完毕。
包括字段(ClassID,ClassName,GoodsID)
因为在记帐的时候第一应该通过分类来筛选商品名称,正如你所说商品名称有很多很多(我用的是combo)可以让用户不输入而是通过下拉菜单来选。还有一个问题,日常生活买的最多的就是食物,而且食物还分荤菜,蔬菜,豆制品,水果等类别,不像水电煤这类支出没有更细化的分类了,我原本还想通过它们之间的比例来计算一个“健康指数”,大致就是控制荤菜和蔬菜之间比例,以达到各方面营养均衡。但是把这些分类放在哪个表我就搞不太清楚了,再次请教一下。
第二个表为商品表,作用:记录商品类型的信息,字段为:(goodsid,goodsname...)。
这里的这个表主要记录商品的类型。但就像你所说的那样,这个类型十在是太多了,所以要从大类来向小类细分。细分其实就是分级问题,我在这个论坛里已经解决过多次。
你可以看看这些贴,主要办法就是做一个列,它的外键就是是指向自身主键。
记住,不需要建其它的表,就在第二个表就可以解决了。
http://community.csdn.net/Expert/topic/4545/4545429.xml?temp=7.505435E-02
其它还有些贴,十在是不好找
你可以自己看一下本专题的帖。
http://blog.csdn.net/geniusli/