Внешняя библиотека или мини-язык для чтения схемы базы данных? - PullRequest
2 голосов
/ 07 декабря 2008

Я планирую написать простое приложение для базы данных для своей жены, но я зациклен на хорошей практике программирования и хочу иметь удобный для чтения источник для хранения схемы базы данных.

Только я не знаю каких-либо инструментов для работы, и я не могу поверить, что они не существуют - вероятно, я просто не знаю, что спросить в Google, но я не нахожу им.

Итак, какие библиотеки или другие инструменты для поддержки чтения схемы базы данных из текстовых файлов.


На вопрос Invenetix: я рассчитываю сгенерировать код создания базы данных во время сборки или включить описание схемы в выпуск и построить базу данных на основе описания во время выполнения. Предложение Дремона было бы хорошо, но я не хочу, чтобы я был привязан к заранее определенной СУБД, если смогу помочь.

Возможно, я должен сказать, что раньше я использовал базы данных в проектах программирования, но никогда не отвечал за создание кода.

Возможно, я закончил разработку проблемы на этом этапе.

Ответы [ 5 ]

4 голосов
/ 07 декабря 2008

Просто используйте SQL. SQL - это не только язык запросов, но и DDL (язык определения данных). Если, например, вы используете mysql; Вы можете создать свою схему так, как хотите, запустите mysqldump, который создаст файл SQL с инструкциями DDL. Приведите в порядок схему, затем вы можете загрузить ее в любое время, используя файл SQL. Лично я просто пишу схему SQL в текстовом редакторе и загружаю ее в mysql.

Это будет работать для mysql, postgresql, oracle и, возможно, любой другой БД.

1 голос
/ 05 августа 2009

Вы можете проверить http://www.codesmithtools.com/. Инструмент предназначен для чтения схемы базы данных и позволяет создавать шаблоны кода на основе этой схемы. Он имеет абстрактную библиотеку для доступа к данным схемы.

1 голос
/ 07 декабря 2008

SQLite не хранит свои данные в текстовом формате, но, вероятно, будет делать то, что вам нравится.

Идеально подходит для встроенной базы данных - здесь нет серверов, нет настроек, а база данных находится в одном файле, которым может управлять ваше приложение.

http://www.sqlite.org/

1 голос
/ 07 декабря 2008

Кажется, теперь я немного лучше понимаю.

Несмотря на то, что каждое имеющееся на рынке решение SQL должно соответствовать определенному уровню соответствия стандартам ANSI SQL, все они будут предоставлять некоторый тип пользовательских данных, которые могут не использоваться / использоваться / не распознаваться в другом решении SQL Server.

Как, например, в MySQL 4 у вас будет достаточно выбора для использования (DATE, DATETIME, TIME, YEAR и TIMESTAMP), тогда как в MS SQL 2000 у вас будет только пара (DATETIME или SMALLDATETIME). Вы должны убедиться, что схема, которую вы в конечном итоге генерируете, является общей для решений, которые вы готовы поддерживать.

Типы данных MySQL

Типы данных MS SQL 2000

Помогает ли это?

0 голосов
/ 07 декабря 2008

Я пока не могу комментировать, но если я правильно понимаю, вы хотите, чтобы приложение или библиотека создавали схему в зависимости от данных, представленных в текстовом файле?

Не могли бы вы предоставить пример рабочего процесса, который вы хотите выполнить? С каким шагом у вас возникла проблема?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...