powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / База данных с изменчивой структурой
16 сообщений из 16, страница 1 из 1
База данных с изменчивой структурой
    #32404663
Vadimkp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, Гуру.
Хочу узнать ваше мнение.
Нужно спроектировать базу данных, структура которой может меняться. Если точнее о целях, то БД нужна для хранения информации о прайсах на услуги компании. Услуги различаются довольно сильно. Кроме того, со временем могут появляться новые услуги, со своими атрибутами (полями). Или изменяться структура старых. И все это без привлечения программиста для работы над изменениями.
Хотелось бы узнать, с какой стороны подойти к реализации такой БД, с какими методами и инструментарием.

Заранее благодарен.
...
Рейтинг: 0 / 0
База данных с изменчивой структурой
    #32404681
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторИ все это без привлечения программиста для работы над изменениями.
Так не бывает. Вернее бывает 2 варианта:
1. Простой - каждый раз когда изменяется ТЗ привлекается программист, который доделывает то, что нужно
2. Сложный - делается супер-пупер движок и при каждом новом его глюке или расширении ТЗ, которое он не способен нормально обработать привлекается программист, который доделывает движок, чтобы он потом мог доделать то, что нужно
Других вариантов я не видел. Если бы видел, то уже не работал бы программистом :)
...
Рейтинг: 0 / 0
База данных с изменчивой структурой
    #32404683
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ставите Enterprise Manager - и пусть себе меняют структуру

P.S> хочу программу - чтоб ее один раз написать и она потом без програмиздов (C) будет сама меняться и т.д.
...
Рейтинг: 0 / 0
База данных с изменчивой структурой
    #32404691
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прежде всего, необходимо потратить время на логическое проектирование БД. Определить сущности и связи. Как правило, в результате такого проектирования окажется, что задачу можно свести к структуре, которая уже не будет "изменчивой". ;-)
...
Рейтинг: 0 / 0
База данных с изменчивой структурой
    #32404702
Vadimkp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дело в том, что столкнулся я со структурой, где общего в таблицах есть только поле цены :)
...
Рейтинг: 0 / 0
База данных с изменчивой структурой
    #32404713
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так не бывает...
*нас не догонят*
ИМХО структура должна быть гибкой (то бишь правильной)
а ежедневно менять модель...
тоже хорошо.))) без работы не останешься..)))
...
Рейтинг: 0 / 0
База данных с изменчивой структурой
    #32404731
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
храни структуру таблицы в XML. Но придется использовать механизм модифицирующий таблицу при изменениях и форма для поиска и ввода.
...
Рейтинг: 0 / 0
База данных с изменчивой структурой
    #32404732
Vadimkp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попутный вопрос - используется ли для таких или аодобных целей XML?
...
Рейтинг: 0 / 0
База данных с изменчивой структурой
    #32404857
Фотография sparrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadimkp >
Вам не "Гуру" нужны.
Не понятно, что за бизнес такой, что структуры должны меняться бесплатно?
Обычно или своих братков держат, или килеров нанимают. :)

А сколько "прайсов" вы посмотрели? Что это? По конкреней об "услугах" можно?
Тогда может кто и ответит.
sparrow
...
Рейтинг: 0 / 0
База данных с изменчивой структурой
    #32404875
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Примерно так

Таблица "Прайс"
(
Название праса
Код услуги
)

Таблица "Услуги"
(
Код услуги
Название услуги
)

Таблица "Услуги-Атрибуты"
(
Код услуги
Код атрибута
)

Таблица "Атрибуты"
(
Код атрибута
Название атрибута
Цена
)

Могут быть вариации, в зависимости от конкретной задачи. И никаких меняющихся структур.
...
Рейтинг: 0 / 0
База данных с изменчивой структурой
    #32405409
Vadimkp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за отзывы и советы.
Точнее об услугах. Контора занимается услугами связи: интернет, линии и т.в.т. (типа все такое :) Но это для отдела, далекого от технической реализации - они только оформляют прайсы. До сих пор делали это в Word'е. Попросили это сделать как БД, "и чтобы можно было отслеживать изминения тарифов во времени".

Почему я поднял вопрос о изминени структуры:
1. Чтобы с добавлением новой услуги, меня не дергали. Но с этим более-менее понятно. Главное вот что...
2. Например, для выделенок существуют градации по трафику: до 1Гб - столько, от 1Гб до 2Гб - столько, от 2Гб - вот столько (данные абстрактны)
А с некоторого времени вводиться такое условие: на каждый интервал трафика нужно фиксировать сколько Мб из них бесплатно - получается нужно добавить поле.
Собсно, вот в чем дело...
...
Рейтинг: 0 / 0
База данных с изменчивой структурой
    #32405829
Petr Chulkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как два бита ... вынести услуги отдельным списком (таблицей).. а далее через связь много-к-много .... недавно давал пример в топике про "разношёрстные товары" ... принцип один и тот же - услуга - это тот же товар..

С уважением, Petr@Chulkov.NET
Microsoft
Certified Professional
Chulkov.Net - Trustworthy Knowledge
...
Рейтинг: 0 / 0
База данных с изменчивой структурой
    #32407790
Фотография UK0IAI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Vadimkp

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

Я не Гуру, и не хотел бы я этим заниматься в серьез :-) но это вполне возможно.

Например, в 93 г. я на заводе внедрял некую бух_систему. "Турбосальдо". Она была написана на foxbase. Испрользуя по полной программе механизм макро_подстановок foxbase (когда для получения значения переменной - можно динамически задавать ее ИМЯ ) - авторы "Турбосальдо" сотворили чудо.

1. Они один раз написали оболочку.
2. Они завели свои журналы ...Задач, Таблиц, Полей таблиц.
3. Они на АВТОМАТЕ !!! для любого описалово_любая_таблица_бд = автоматически выдавали ИНТЕРФЕЙС для ввода данных.
4. Они на АВТОМАТЕ для любого описалово_любая_таблица_бд = выдвали отчет.

Собственно, оболочка - и была единым инструменом - для системщика и для бухгалтера.

Когда я при внедрении вдруг понимал что мой ID (артикул например) - надо увеличить длину поля - я просто в журнале менял атрибут. и ВСЕ!!!!

Если я при внедрении вдруг понимал - что нужна ИЩО одна поляна....я просто добавлял строку в журнал таблиц. И ВСЕ!!!

А еще я мог у любой поляны изменить ее ТИП ДАННЫХ.!!!!!!!!!!!!!!!!!!!!!!!!!

Если мне нужен был свой алгоритм - я просто писал на foxbase свой *.prg и под своим именем - прописывал его в журнале задач (расчетов). и ВСЕ!!!

Сегодня можно смотреть идею реализованную в КИС "Альфа". Там можно "на лету" создавать любой состав и уровень аналитики ( в части например, товаров).

Другой пример - это идея ....от виндов. Иконки. То бишь - ярлыки. ЛИНКИ.

Данные могут храниться в БД один раз и в одном месте. Но для представления - можно создать любое кол-во Ярыков к ним, с любым кол-вом собственных групировок....(ЯРЛЫК на ЯРЛЫК).

Грубо говоря - можно иметь всего одно "деревяное табло".

Где сущности - это строки. Где Узлы - имеют свои строки + АТРИБУТ. Если интересно - можно продолжить.....
...
Рейтинг: 0 / 0
База данных с изменчивой структурой
    #32407810
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и все это страшно медленно работало на более-менее приличных обьемых данных
...
Рейтинг: 0 / 0
База данных с изменчивой структурой
    #32408166
Vadimkp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Интереснаую систему описал UK0IAI, спасибо.
Одно ясно, что сделать можно, но сложно. Т.е. нужно разработать свою СУБД. Скорее всего, игра не стоит свеч без соответствующего финансирования :)
...
Рейтинг: 0 / 0
База данных с изменчивой структурой
    #32408689
Фотография UK0IAI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Vadimkp
Это все работало быстро!. Ибо на диске всегда лежала коллекция dbf файлов, с которыми (в расчетных програмах) система работала напрямую, минуя какие либо соглашения. Оболочка - она токо "автоматизировала" сам процес разработки/модификации БД.

Про интерфейс. Тут вообще интересно. В цехе 1000 рабочих, зарплату надо "вогнать" быстро, наряды, табели, премии... И их интерфейс - это чудо. Я сам набивал списки - и удивлялся - как как это так, на экране чисто - даже не бланковка - а просто - поля ввода - сверху в них, в две колонки

типа так

Имя поля по русски Поле ввода
-------------------- ------------
Табельный номер......ХХХХХХХХХ
Номер цех................ХХХ
Номер участка..........ХХ
Вид оплаты...............ХХХ
..............

И если полей ввода много - то все в две колонки. (все это для одного рекорда естественно)

И вот фишка - (для массового ввода) механизм "закрепления" (дублирования полей) - ввел первую строку, запомнил там че надо - и вперед, на следущей строке уже поля частично заполнены...типа токо таб_номер + сумма вводить надо всего....

...что то мне еще захотелось "потрепаться"...

Таким образом - предметом системного программирования является сама Оболочка.

Вот вам готовое решение - три компонента.

1. FormBulder
2. FormRuntime
3. ORACLE.

Если вы это юзаете + ведете свой в БД "тупой" словарь имен рантаймов - то получаете в свою систему ВСТРОЕННЫЙ ГЕНЕРАТОР ЭКАННЫХ ФОРМ. Ибо вашей системе будет все равно что запускать - рантайм или билдер с исходником. (это вообще то и для других справедливо)

(вчера буквально, я по телефону....подвинтил маргинсы у печатной бланковки....юзеры у меня ....по телефону...открыли генератор отчетов и мышой там по кликали...)

Теперь про словарь БД. когда мне надо было довести до ума подстему доступа.... за 2 дня создал ....почти "кэйз"...журнал объектов БД + русские имена + скрипты генерации..чего_то_там.....

Это лобовое решение - когда вы в своей системе реализуете механизм (интерфейс) модификации структуры БД + юзаете (интегрируете) уже готовые билдеры. (типа дать стринг на ALTER TABLE ADD name_field....)

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

Другое решение - вы можете - реализовать механизм типа ПРОВОДОК.
Если в первичный документ юзер вводит (в 1 строку) 100 рублей, то по вашей гибкой настройке, эти 100 рублей могут быть разложены на произвольные "ячейки" путем создания (произвольно) дополнительных строк в ДРУГОЙ таблице.

Так же и аналитикой - каждая строка документа - может быть "привязана" к произвольному кол-ву аналитик - через дополнительное табло.

(В КИС АЛЬФА так и поступили....токо их интерфейс подводит).

Имея соглашения, модель БД в системных журналах, можно абстрагироваться от типов данных....и все "ПРОВОДКИ" хранить типа тупо в CHAR (2000)....
Или - в NUMBER и CHAR

появляться новые услуги, со своими атрибутами (полями).

путь ваши атрибуты - это строки в справочнике. Услуги - это узлы дерева, в узле перечисленны атрибуты. Остается токо решить как хранить валуе. Для всех типов валуе - достаточно всего одной поляны....



так примерно можно здесь рассуждать....


















.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / База данных с изменчивой структурой
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]