用于读取数据库模式的外部库或迷你语言?

时间:2008-12-07 02:56:24

标签: database schema mini-language

我正在考虑为我的妻子编写一个简单的数据库应用程序,但是我已经习惯了良好的编程习惯,并希望拥有一个用于存储数据库模式的人类可读源。

只是,我不知道这项工作的任何工具,我不敢相信它们不存在 - 可能我只是不知道该问什么google,但我找不到它们。

那么,有哪些库或其他工具可以支持从纯文本文件中读取数据库模式。


to invenetix的问题:我希望在构建时生成数据库创建代码,或者在发布中包含模式描述,并在运行时根据描述构建数据库。 Draemon的建议没问题,但如果我能提供帮助,我不想被锁定在预定的RDBMS中。

也许我应该说我之前在编程项目中使用过数据库,但从未对创建代码负责。

此时我可能已经过度设计了这个问题。

5 个答案:

答案 0 :(得分:4)

只需使用SQL。 SQL不仅是一种查询语言,而且是一种DDL(数据定义语言)。例如,如果您使用的是mysql;您可以根据需要设计架构,运行mysqldump,它将创建一个带有DDL语句的SQL文件。整理模式,然后您可以通过获取SQL文件随时加载模式。就个人而言,我只是在文本编辑器中编写SQL模式并将其加载到mysql中。

这适用于mysql,postgresql,oracle以及任何其他数据库。

答案 1 :(得分:1)

我想我现在明白了一点。

尽管市场上的每个SQL解决方案都应遵守某些级别的ANSI SQL标准,但它们都会提供某种自定义数据类型,这些类型可能无法在另一个SQL Server解决方案中共享/使用/识别。

例如,在MySQL 4中你可以选择使用(DATE,DATETIME,TIME,YEAR和TIMESTAMP),而在MS SQL 2000中,你只有一对(DATETIME或SMALLDATETIME)。您必须确保在您愿意支持的解决方案之间,您最终生成的哪种架构是常见的。

MySQL Data Types

MS SQL 2000 Data Types

这有帮助吗?

答案 2 :(得分:1)

SQLite不会将其数据保留为文本格式,但它可能会按照您的喜好进行。

它非常适合嵌入式数据库 - 没有服务器,没有设置,数据库位于可由应用程序管理的单个文件中。

http://www.sqlite.org/

答案 3 :(得分:1)

您可能需要查看http://www.codesmithtools.com/。该工具旨在读取数据库的模式,并允许您基于该模式创建代码模板。它有一个用于访问模式数据的抽象库。

答案 4 :(得分:0)

我还无法发表评论,但如果我理解这一点,您希望应用程序或库根据文本文件中提供的数据构建架构吗?

您能否提供一份您想要完成的样本工作流程?您遇到问题的步骤是哪一步?