Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 随时间推移的公共图书馆数据_Database_Excel_Csv_Autohotkey - Fatal编程技术网

Database 随时间推移的公共图书馆数据

Database 随时间推移的公共图书馆数据,database,excel,csv,autohotkey,Database,Excel,Csv,Autohotkey,我正在努力创造一种更好的方式来查看我所在的公共图书馆保存的物品的历史。我一直在使用SirsiDynix(我们的库软件)、Excel和Autohotkey的内置功能组合来提取、操作和显示数据。我目前一直在设计一种方法来查看项目状态随时间的变化,因为系统仅根据上次交易显示。例如,如果我有以下项目: 0000519227318 005.54 WAL 101 EXCEL 2013 TIPS, TRICKS & TIMESAVERS Walkenbach, John, author

我正在努力创造一种更好的方式来查看我所在的公共图书馆保存的物品的历史。我一直在使用SirsiDynix(我们的库软件)、Excel和Autohotkey的内置功能组合来提取、操作和显示数据。我目前一直在设计一种方法来查看项目状态随时间的变化,因为系统仅根据上次交易显示。例如,如果我有以下项目:

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日,最后一次签出于2015年6月29日,总共签出了7次。但是我无法告诉你这些结账的长度,或者发生的时间,或者这本书在那段时间内失踪了一年。

使用Autohotkey和SirsiDynix Director's Station,我能够创建“每日快照”csv文件,指示每天项目的位置。然而,我很难弄清楚如何整合这些信息。最初,我只是计划每天在记录的末尾添加一个额外的列,这样在一般项目信息之后,您将有一系列数字,列出更改的位置。我为AHK编写的代码有点慢,我仍在研究如何最好地在Excel中显示它。然而,我突然想到,可能有一种更好的方法来处理这个问题,可以完全自动化这个过程

所以我想问的是,对于使用一个简单的数据库系统或者改进我目前的方法,是否有一些建议可以帮助我。我计划做的查询主要是能够键入项目编号并用图表显示项目的状态,希望在总签出量增加时也能显示。我一直在以股市图表为例,但很多人似乎想要开盘、收盘、高、低的价值,他们得到的回答似乎超出了我的需要。对货架上最长时间的物品相对于总时间的额外查询是有用的,尽管最初并不需要


任何关于我想去哪个方向的帮助都将不胜感激。我对AutoHoKEY和Excel有基本的了解,几年前我简单地使用了MySQL,所以我对数据库的使用有一种大致的感觉。

< P>不太熟悉您的特定软件或AutoHooKi,但对于高效、安全和可扩展的解决方案,请考虑包括服务器级企业级系统在内的任何类型的(RDMS)。(一些开源或专有):Oracle、SQL Server、DB2、PostgreSQL、MySQL;或包括SQLite和MS Access在内的文件级数据库。一件主要的事情是尝试摆脱平面文件电子表格和应用程序的概念。Excel根本不是一个数据库,应仅用作使用检索到的数据库内容进行报告或图形/分析的最终用途文档

使用关系数据库,您可以维护通过主键和外键链接在一起的数据。基本上,您希望构建一个库管理系统,该系统可以由以下表组成:

  • 项目-项目的唯一列表ISBN、目录、标题、作者、出版商、类别(小说、非小说、参考、媒体);主键:
    项目ID
    (自动编号/自动递增)
  • 库存-项目、状况、丢失/损坏状态、成本和库存数量的副本;与项目表的一对多关系;主键:
    StockID
    ,外键:
    ItemID
  • 签出-签出记录的无限历史记录,包括库存项目、签出日期、签入日期、备注;与库存的多对多关系;主键:
    签出ID
    ,外键:
    库存ID
  • 现在有了这个模式,您可以通过简单的实时报告查询更好地管理每个项目的整个生命周期(新的或到达的项目、签出期和失效/放弃/存储库)。此外,您可以使用任何类型的通用语言(Java、C#、PHP、Python、Perl、VB)它可以连接到任何上述RDM以构建此后端系统的接口或工具。还提供了一系列免费控制台,包括:

    • (PHP/MySQL)
    • (PostgreSQL)
    • (Firefox插件/SQLite)
    • (SQL Server)
    • (Jet/ACE Engine和MS Office)当它实际上是一个默认连接到Windows技术(Jet/ACE SQL Engine)的GUI时,经常被误称为合二为一,在此默认情况下,可以切换到上述任何RDM

    在这里,Excel可以通过ODBC/OLEDB VBA进行连接,以报告已签出的项目状态、历史记录和当前货架库存。根据RDMS的不同,您甚至可以构建触发器,在该触发器中,项目一签出,记录就会添加到签出表中,或者在您的工具或脚本中对其进行编码。最后,输出为txt、csv、xml、pdf报告、电子邮件附件可以集成同事、董事会等的ENT。

    我不想创建数据库的唯一原因是SirsiDynix(供应商提供的库软件)一般来说,对于我需要的所有数据库功能都可以正常工作。然而,虽然我能够请求改进和更改,但我实际上无法修改程序,只能通过提供的表单访问和导出数据。基本上,数据库已经存在,我只是无法触摸它。我希望能够找到一个解决方案来解决问题无可否认,具体的问题。目前前两个项目显示SAMESS,这总是一个挑战。但最有可能像所有的软件和Web应用程序一样,它们使用后端数据库(可能是我上面提到的一个)。考虑建立一个外部的、个人使用的应用程序数据库(MS-Access是有好处的),每天从SrsiDyNyx导入数据。(可以是csv、txt、xml)并运行扩展需求以更好地分析签出。有了这些数据,您仍然可以