【问题标题】:Large sample database for HSQLDB?HSQLDB 的大型示例数据库?
【发布时间】:2011-09-23 16:16:50
【问题描述】:

我正在学习一个数据库课程,我想要一个大型示例数据库来进行试验。我在这里对大的定义是数据库中有足够的数据,因此如果我尝试一个效率非常低的查询,我将能够通过执行所需的时间来判断。我对此进行了谷歌搜索,但没有找到任何特定于 HSQLDB 的内容,但也许我使用了错误的关键字。基本上,我希望找到一些已经设置好的东西,包括表、主键等,并且规范化等等,所以我可以在一个有点现实的数据库上尝试一下。对于 HSQLDB,我猜这只是 .script 文件。无论如何,如果有人知道这方面的任何资源,我将不胜感激。

【问题讨论】:

    标签: database dataset hsqldb test-data


    【解决方案1】:

    您可以使用 MySQL Sakila 数据库架构和数据(开源,在 MySQL 网站上),但您需要修改架构定义。您可以删除视图和触发器定义,这对您的实验来说不是必需的。例如:

    CREATE TABLE country (
      country_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
      country VARCHAR(50) NOT NULL,
      last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      PRIMARY KEY  (country_id)
    )ENGINE=InnoDB DEFAULT CHARSET=utf8;
    

    修改:

    CREATE TABLE country (
      country_id SMALLINT GENERATED BY DEFAULT AS IDENTITY,
      country VARCHAR(50) NOT NULL,
      last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
      PRIMARY KEY  (country_id)
    )
    

    HSQLDB的MYS语法模式支持部分MySQL DDL语法,例如AUTO_INCREMENT翻译成IDENTITY,但其他需要手动编辑。数据大多兼容,除了一些二进制字符串。

    您需要使用报告查询时间的工具来访问数据库。当查询输出处于文本模式时,HSQLDB DatabaseManager 会执行此操作。

    【讨论】:

    • 谢谢,我去看看!我希望偷懒,只使用完全现成的东西,但这听起来还不错。
    猜你喜欢
    • 2013-06-23
    • 1970-01-01
    • 2012-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多