公共图书馆数据的时间

我正在努力创造一个更好的方式来查看在我工​​作的公共图书馆举行的项目的历史。 我一直在使用SirsiDynix(我们的图书馆软件),Excel和Autohotkey的内置函数的组合来提取,处理和显示数据。 我目前一直在devise一种方法来查看一个项目的状态随着时间的推移,因为它只是基于最后一个交易显示。 例如,如果我有以下项目:

0000519227318 005.54 WAL 101 EXCEL 2013 TIPS, TRICKS & TIMESAVERS Walkenbach, John, author WE-WH 2013 7 7/13/2013 6/29/2015 35 

我可以告诉你,它是在2013年7月13日创build的,最后一次在6/29/2015检出,共被检出7次。 但是我无法告诉你任何关于这些结账的时间长短,或者是什么时候发生的,或者是在这段时间里书本失踪了一年。

借助Autohotkey和SirsiDynix Director的工作站,我可以创build“每日快照”csv文件,以指示项目每天的位置。 但是,我很难弄清楚如何合并这些信息。 本来我打算每天在logging末尾添加一个额外的列,这样在一般项目信息之后,您将有一系列数字列出变化的位置。 我为AHK编写的代码有点慢,而且我仍然在研究如何最好地在Excel中显示它。 但是,我想到可能有一个更好的方法来处理这个可以完全自动化的过程。

所以我问是否有build议要么使用简单的数据库系统,要么改进我现有的方法可以帮助我。 我打算做的查询只是能够主要键入一个项目编号,并有一个图表显示项目的状态,希望随着东西,也可以显示,每当总结帐增加。 我一直在看股票图表作为例子,但许多人似乎想要开放,closures,嗨,低价值他们得到的反应似乎超出了我可能需要的。 相对于总时间在货架上具有最长时间的项目的附加查询将是有用的,尽pipe不是最初需要的。

任何帮助,我可能想要去什么方向,将不胜感激。 我对AutoHotKey和Excel有基本的了解,几年前我简单地使用了MySQL,所以我对数据库的使用有一般的感觉。

考虑到任何types的关系数据库pipe理系统 (RDMS),包括服务器级别的企业系统(一些开源或专有),Oracle和SQL Server都不太了解特定的软件或Autohotkey,但是对于高效,安全和可伸缩的解决scheme, DB2,PostgreSQL,MySQL; 或文件级数据库,包括SQLite和MS Access。 一个主要的事情是试图摆脱flatfile电子表格和应用程序的概念。 Excel不是一个数据库,只能使用一个最终使用的文件来报告或使用检索的数据库内容的graphics/分析。

使用关系数据库,您可以维护通过主键和外键链接在一起的标准化相关表中的数据。 本质上,你要build立一个图书馆pipe理系统,它可以包括下列表格:

  1. 项目 –独特的项目的国际标准书号,目录,标题,作者,出版商,类别(小说,非小说,参考,媒体)列表; 主键: ItemID (自动编号/自动增量)
  2. 项目,条件,缺失/损坏状态,成本和库存数量的库存; 与Items表的一对多关系; 主键: StockID ,外键: ItemID
  3. 结帐 – 结帐logging的无限历史包括库存项目,CheckoutDate,CheckinDate,Notes; 与股票的多对多关系; 主键: CheckoutID ,外键: StockID

现在,通过这种模式,您可以更好地pipe理每个项目的整个生命周期(新的或到达的项目,检出期间和退休/丢弃/地下室存储)与实时报告的简单查询。 此外,您可以使用任何types的通用语言(Java,C#,PHP,Python,Perl,VB),它们可以连接到任何上述的RDMS,为后端系统构build界面或工具。 还提供一系列免费的游戏机,包括:

  • PhpMyAdmin (PHP / MySQL)
  • PgAdmin (PostgreSQL)
  • SQLitepipe理器 (Firefox插件/ SQLite)
  • Management Studio (SQL Server)
  • MS Access (Jet / ACE Engine和MS Office) 经常会误导MS Access作为一个数据库,当它实际上是一个默认连接到Windows技术的JET / ACE SQL引擎的GUI时,这个默认值可以被切换到任何上述的RDMS

在这里,Excel可以通过ODBC / OLEDB VBA进行连接,用于报告检出项目状态,历史logging和当前货架库存。 根据RDMS,您甚至可以构build触发器,只要检出项目,logging就会添加到CheckOut表格中,或者在工具或脚本中进行编码。 最后,输出到txt,csv,xml,pdf报告,电子邮件附件给同事,董事会等可以被整合。