最近在做一个记家庭流水帐的小系统,在设计数据库的时候碰到点问题,请大家指教一下
第一个表是记录用户信息的,用于登陆
有姓名(name),密码(password)第二个表记录购买的商品信息
比如商品名称,价格,购买时间,购买地点,所属分类等原本我是这么想的:我想每个用户对应一个表,在表中记录该用户所记录的商品信息,但是听说在程序运行中新建表不是很好,而且这个方法不是很好(虽然我这个系统是家庭用的,用户数目不会很大)另一个方法:想把两个表关联起来,不过就必须在第二个表中加一“用户姓名”属性与第一个表的用户姓名对应,然后把所有的商品信息都记录在一个表中,查询统计的时候根据“用户姓名”来筛选,但是这样做就只能把所有用户购买的所有物品都记录在同一个表中。不知道大家如果设计这个数据库会怎么设计,请指教,谢谢:)还有就是顺便问一下论文可以从哪些方面写?就拿我这个小系统来说,我觉得做出来就做出来了,不知道可以写点什么?而且论文一般都要2,3w字,大家指点一下啦:)

解决方案 »

  1.   

    第一个表是记录用户信息的,用于登陆
    有userid、姓名(name),密码(password)第二个表记录购买的商品信息
    比如userid、商品名称,价格,购买时间,购买地点,classid等
    三个表:商品分类表
    classid,类名,。
      

  2.   

    第一个表是记录用户信息的,用于登陆
    有userid、姓名(name),密码(password)第二个表记录购买的商品信息
    比如userid、商品ID,价格,购买时间,购买地点,classid等
    三个表:商品分类表
    classid,类名,。
    四个表:商品字典
    商品id,名称、规格、产地、。
      

  3.   


    --
    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
    价格,
    购买时间,
    购买地点....
    既然要写论文 那就小题大做吗!
    你还可以建立角色表!
    根据角色来分配权限等!!!
      

  4.   

    这是一个典型的多对多关系,第一个表为用户表,作用:记录需要用此系统的人,字段为:(userid,name,password,sex,birthday...)。第二个表为商品表,作用:记录商品类型的信息,字段为:(goodsid,goodsname...)。第三个表为购买表,作用:记录购买信息,字段为:(userid,goodsid,goodsdate,goodsprice,memo...)
    主键:在第一个表中,主键为:userid,第二个表中主键为goodsid,第三个表中主键为userid,goodsid。
    外键:第三个表的userid的外键是第一个表的userid,第三个表的goodsid的外键是第二个表的goodsid
    完毕。
    这样记录的好处:商品好多种,如果每种商品都记录所有信息于商品信息表中,那商品会有重名但价格不同等情况出现且不易分类。现在这样做的好处是主要维护的是物品种类,记录的时候可以在第三个即购买表中记录购买物品的种类/日期/价格及备注。备注中可以写明是什么物品等信息。
    ---------------------------------
    再说写论文:
    论文主要是写写开题报告,即开发这个系统的目的。然后是可行性分析。
    之后开始写需求分析,主要是数据库的分析,和功能分析。数据库分析为:1/建立E-R图2/转换关系模型3/建立数据库。功能分析为:1/数据字典2/DFD图3/功能层次图
    有了这些分析后就可以开始设计:概要设计和详细设计。这一步的效果是确定有多少模块以至于细化到函数。
    之后就是根据上面的设计报告写代码。
    然后是测试报告,如单元测试(跟据设计的模块测试)集成测试(全部功能成型的测试)
    成品后再写一个用户使用说明书。
    交附使用。完毕。
      

  5.   

    我觉得是不是还要加一个表来记录不同商品的分类?
    包括字段(ClassID,ClassName,GoodsID)
    因为在记帐的时候第一应该通过分类来筛选商品名称,正如你所说商品名称有很多很多(我用的是combo)可以让用户不输入而是通过下拉菜单来选。还有一个问题,日常生活买的最多的就是食物,而且食物还分荤菜,蔬菜,豆制品,水果等类别,不像水电煤这类支出没有更细化的分类了,我原本还想通过它们之间的比例来计算一个“健康指数”,大致就是控制荤菜和蔬菜之间比例,以达到各方面营养均衡。但是把这些分类放在哪个表我就搞不太清楚了,再次请教一下。
      

  6.   

    就像我前面所说的那样:
    第二个表为商品表,作用:记录商品类型的信息,字段为:(goodsid,goodsname...)。
    这里的这个表主要记录商品的类型。但就像你所说的那样,这个类型十在是太多了,所以要从大类来向小类细分。细分其实就是分级问题,我在这个论坛里已经解决过多次。
    你可以看看这些贴,主要办法就是做一个列,它的外键就是是指向自身主键。
    记住,不需要建其它的表,就在第二个表就可以解决了。
    http://community.csdn.net/Expert/topic/4545/4545429.xml?temp=7.505435E-02
    其它还有些贴,十在是不好找
    你可以自己看一下本专题的帖。
      

  7.   

    http://community.csdn.net/Expert/topic/4548/4548500.xml?temp=.7623407
      

  8.   

    你也可以到这儿看看,我在blog写得第一篇文章
    http://blog.csdn.net/geniusli/