2010-05-26 3 views
0

У меня есть программа Windows, которая генерирует формы PGP, которые будут заполнены позже.ODBC: когда самое лучшее время для создания моей базы данных?

Эти формы PHP заполнят базу данных. Он очень похож на MySql, но я не могу быть уверенным, поэтому назовем его ODBC.

И, да, это должна быть программа для окон.

Будут также формы PHP, которые запрашивают базу данных - изучают, какие таблицы и поля они содержат, а затем генерируют формы, которые могут использоваться для поиска в базе данных (например, он находит таблицу с полями «имя_компьютера» и т. Д. И генерирует форма, которая позволяет осуществлять поиск на основе имени сотрудника.


Давайте назовем это время проектирования и времени выполнения.

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

Вот мой вопрос: учитывая, что база данных определена в «время разработки» (и заполняется во время выполнения), где и как это лучше всего сделать?

1 Я мог бы использовать интерфейс ODBC из оконной программы, но мне трудно найти что-то хорошее для работы с Delphi. Такие вещи, как ADO и firebird, как правило, ожидают, что у вас уже есть база данных и вы сможете манипулировать ею, но я не могу найти код примера создания базы данных и некоторых таблиц, поэтому ...
2 Я мог бы использовать команды DOS от Delphi в моей программе windows. Я просто попробовал и получил ответ на MySql --version, но не уверен, что MySql и т. Д. Более интерактивны. То есть, могу ли я использовать файл сценария или очень длинную команду stacked с точкой с запятой и возвращает разделитель? например, 'CREATE DATABASE db; CREATE TABLE t1; '
3) Поскольку лучший способ работать с базами данных, похоже, является PHP, возможно, моя программа Windows может выплеснуть страницу PHP, которая при запуске в браузере создаст базу данных.


Я попытался сделать это как можно более простым, но, пожалуйста, не стесняйтесь задавать вопросы. Возможно, существует несколько допустимых способов, но есть, вероятно, одно «лучшее» решение с точки зрения простоты внедрения или обслуживания.


Лучшая опция царапин 3. Что, если пользователь позже захочет вернуться и изменить программу ввода окон? Он также должен обновить базу данных.

+1

* Поскольку лучший способ работать с базами данных, кажется, PHP * - где вы это получили? php работает хорошо вместе с mysql, потому что LAMP/WAMP-архитектуры используются LOT, но это не обязательно лучше любого другого решения. – Konerak

+0

ОК, я отступлю от этого утверждения. – Mawg

ответ

0

Создание базы данных обычно является задачей администратора базы данных. Если это не локальная база данных, возможно, встроенная, пользователю необходимо знать, где и как создать базу данных на удаленном сервере, и она не может ничего об этом знать. Где хранить файлы базы данных? Какие диски доступны? И может быть еще множество параметров для установки (размер буфера памяти и т. Д.), Создаваемых пользователей и т. Д. А также вам нужно очень повысить привилегии, чтобы иметь возможность создавать базу данных, а не то, что вы даете средним пользователям или приложениям. Обычно вы попросите администратора базы данных создать вашу базу данных/схему, он предоставит вам учетные данные, необходимые для подключения, а затем ваше приложение (или его настройка) создаст и инициализирует необходимые объекты (таблицы и т. Д.). Создание таблицы (и другого объекта) обычно выполняется так же просто, как выполнение операторов «CREATE TABLE ....».Просто помните, что SQL принимает только одну команду, если вам нужно запустить несколько команд, вам нужно отправить их один за другим самостоятельно, хотя есть компоненты Delphi, которые могут разделить скрипт в командах и запускать один за другим.

+0

Извините, хотя я согласен с тем, что то, что вы описали, может быть нормальным, это не то, как это будет с этим проектом. «Лицо управления» будет использовать программу Windows для создания форм, используемых для ежедневных отчетов (скажем, отчетов о продажах), а нетехнические пользователи заполнят их в браузере. Это означает, что программа Windows определит базу данных, установит разрешения и пароли и т. Д. И т. Д. У меня нет выбора. – Mawg

+1

Не нужно «определять базу данных» каждый раз, когда программы генерируют формы, а пользователь заполняет их. Вы должны определить * один раз * набор таблиц, в которых будут храниться метаданные и данные форм. То же самое и для пользователей приложений. База данных обычно не предназначена для динамических структур, а для обработки динамических данных. – 2010-05-27 09:04:32

+0

+1 и я дам вам ответ, так как никто больше не заинтересован. Однако ... «Нет необходимости« определять базу данных »каждый раз, когда программы генерируют формы, а пользователь заполняет их». Я, очевидно, плохо объяснил ... «каждый раз, когда программы генерируют формы», это «время разработки», и может быть только один раз (если они сначала попадают в первый раз), но «и пользователь заполняет их» - это «время выполнения» и должно будь то каждый день, по крайней мере. «База данных обычно не предназначена для создания очень динамичных структур». Согласен, мне просто интересно, что я делаю, если клиент решает переименовать поле или добавить/удалить один ... – Mawg

Смежные вопросы