小弟接了一个项目,总是对设计的数据库不大满意,各位高手能给点意见吗? Haiwer(海阔天空)说得对此外,最好在外借表中添加一个字段:还碟日期,这样更便于数据统计和分析 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Haiwer(海阔天空):太对了!那这个问题该如何解决?请不吝赐教? arfeiz(凌飞):我只想在外借表中记录已借出的影片,如果加还碟日期的话,岂不是把在库的碟都包含在内了吗? 这个问题arfeiz(凌飞) 的方法可以解决!另外不知道你考虑过没有,一种碟可能会有多张,也就是说库存总表可能需要一个"数量"字段,但有了数量会冲击你的所有设计.(租碟的不太可能每种碟都只有一张!) 这个问题arfeiz(凌飞) 的方法可以解决!外借表应该相当于流水帐另外不知道你考虑过没有,一种碟可能会有多张,也就是说库存总表可能需要一个"数量"字段,但有了数量会冲击你的所有设计.(租碟的不太可能每种碟都只有一张!) Haiwer(海阔天空):您这个问题我考虑过,我是为每部影片编条码ID而不管它是否为相同的影片。也就是一部片,就一个唯一的条码ID。这样是否可以? 外借表应该相当于流水帐,这是不是说,它记录的是所有流通过的影片。 bluepower2008(蓝色力量)(男)(真的是男的):您分析得很对,我的这个这个客户只有1~3个操作员,负责数据的录入和日常的业务及数据的维护。是否这个表可以省略。活动日志是否就是存放每天的业务状况。那么,数据量必然会越来越大,请问:加两个备份表,定期将数据从日志表导入备份表。这样的操作,是如何完成的(从技术上讲)? 给你一些建议:数据库(有四张表): 库存(影片ID,片名,购价,影片类型,租金,在库与否)。 //“押金”不是库存的属性,每一张影片的押金不一定一样 归还日志(流水号,操作员ID,影片ID,出租日期,归还日期,押金/押证,实收租金)。 //“片名”属性放在这里会有冗余;一定要有属性“归还日期”; //除了押金还要考虑押证的情况; //流水号标志一个操作,形式为99999999_99,若同一人次借n张则为99999999_n, //这样还碟时可一次调出n条记录。 外借日志(流水号,操作员ID,影片ID,出租日期,押金/押证)。 //与你的外借表一样 系统用户(操作员ID,姓名,操作登录密码,.......) //客户表,鉴于很不固定也不需要就不要了。 业务流程:租碟:使用条码输入器对每部影片扫描,自动填写流水号、操作员ID、出租日期, 手工填写押金,然后收取押金。 还碟:扫描后,计算实收金额,应收金额,找钱等。数据处理流程: 录入影片信息 录入系统用户信息 租碟:录入流水号,操作员ID,影片ID,出租日期,押金/押证, 在库存总表里找到影片的信息,设置'在库与否'字段为false。 还碟:在外借日志中找出对应记录,录入归还日期、实收租金,一并加入归还日志表中, 并删除外借日志中的对应记录。 在库存总表里找到影片的信息。设置'在库与否'字段为true。 日志:归还日志表会越来越大,可手工清空归还日期为某日以前的记录。 外借日志大小基本稳定,且不大。辅助功能:查询影片:基于库存表 系统用户管理:基于系统用户表 统计营业额、进碟决策等:基于归还日志表。 weixxxp(想一想):感谢您如此细致的解释。恕我愚钝,如您所说的流水号,有何作用?99999999_99中的9999999意味着什么?日志中一条记录是表示一张碟的流通情况,而‘同一人次借n张’又如何理解? 你的数据库是什么,只要不是access,能支持存储过程和定时任务就行,自己编一个存储过程,将指定日期以前的记录插入备份表,然后删除就行了。如果没有那样的数据库,就只好靠客户端的程序实现了。让操作人员自己定时备份日志。 我感觉是不是缺少了对那些借出后丢失的DISK的管理,至少要修改修改相应的TABLE吧。 丢失的disk只是一种状态,在disk信息表中就可以存储了。 wz_zj_woniu(蜗牛):流水号,标志一条记录,即一张碟被一个人借这个动作。一个人一次往往借n张碟,99999999_99中的9999999表示这一次,99表示第N张。恕我没有说清楚。 如何分组? 电脑断电了SQL2005 语句保存在哪里 请教关于两个表中数据的查询 问个sqlserver2005的安装问题,怎么把它完全装在D盘 而不是系统盘C盘 输出的记录有重复的 求各位帮忙解决,谢谢 求一SQL语句,关于换行显示的 请教BCP导出数据到文本文件问题 设计人员资料信息表,“性别”一栏如何处理? 数据库设计学习中 这个添加的语句 对吗? 一個有趣的問題---關於字串函數 如何把sql server 中image字段的tif格式的图像读出到TImage显示
外借表应该相当于流水帐,这是不是说,它记录的是所有流通过的影片。
活动日志是否就是存放每天的业务状况。那么,数据量必然会越来越大,请问:加两个备份表,定期将数据从日志表导入备份表。这样的操作,是如何完成的(从技术上讲)?
库存(影片ID,片名,购价,影片类型,租金,在库与否)。
//“押金”不是库存的属性,每一张影片的押金不一定一样
归还日志(流水号,操作员ID,影片ID,出租日期,归还日期,押金/押证,实收租金)。
//“片名”属性放在这里会有冗余;一定要有属性“归还日期”;
//除了押金还要考虑押证的情况;
//流水号标志一个操作,形式为99999999_99,若同一人次借n张则为99999999_n,
//这样还碟时可一次调出n条记录。
外借日志(流水号,操作员ID,影片ID,出租日期,押金/押证)。
//与你的外借表一样
系统用户(操作员ID,姓名,操作登录密码,.......)
//客户表,鉴于很不固定也不需要就不要了。
业务流程:租碟:使用条码输入器对每部影片扫描,自动填写流水号、操作员ID、出租日期,
手工填写押金,然后收取押金。
还碟:扫描后,计算实收金额,应收金额,找钱等。
数据处理流程:
录入影片信息
录入系统用户信息
租碟:录入流水号,操作员ID,影片ID,出租日期,押金/押证,
在库存总表里找到影片的信息,设置'在库与否'字段为false。
还碟:在外借日志中找出对应记录,录入归还日期、实收租金,一并加入归还日志表中,
并删除外借日志中的对应记录。
在库存总表里找到影片的信息。设置'在库与否'字段为true。
日志:归还日志表会越来越大,可手工清空归还日期为某日以前的记录。
外借日志大小基本稳定,且不大。
辅助功能:查询影片:基于库存表
系统用户管理:基于系统用户表
统计营业额、进碟决策等:基于归还日志表。
如果没有那样的数据库,就只好靠客户端的程序实现了。让操作人员自己定时备份日志。