Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
База данных с изменчивой структурой
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Гуру. Хочу узнать ваше мнение. Нужно спроектировать базу данных, структура которой может меняться. Если точнее о целях, то БД нужна для хранения информации о прайсах на услуги компании. Услуги различаются довольно сильно. Кроме того, со временем могут появляться новые услуги, со своими атрибутами (полями). Или изменяться структура старых. И все это без привлечения программиста для работы над изменениями. Хотелось бы узнать, с какой стороны подойти к реализации такой БД, с какими методами и инструментарием. Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2004, 17:55 |
|
||
|
База данных с изменчивой структурой
|
|||
|---|---|---|---|
|
#18+
авторИ все это без привлечения программиста для работы над изменениями. Так не бывает. Вернее бывает 2 варианта: 1. Простой - каждый раз когда изменяется ТЗ привлекается программист, который доделывает то, что нужно 2. Сложный - делается супер-пупер движок и при каждом новом его глюке или расширении ТЗ, которое он не способен нормально обработать привлекается программист, который доделывает движок, чтобы он потом мог доделать то, что нужно Других вариантов я не видел. Если бы видел, то уже не работал бы программистом :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2004, 18:05 |
|
||
|
База данных с изменчивой структурой
|
|||
|---|---|---|---|
|
#18+
ставите Enterprise Manager - и пусть себе меняют структуру P.S> хочу программу - чтоб ее один раз написать и она потом без програмиздов (C) будет сама меняться и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2004, 18:06 |
|
||
|
База данных с изменчивой структурой
|
|||
|---|---|---|---|
|
#18+
Прежде всего, необходимо потратить время на логическое проектирование БД. Определить сущности и связи. Как правило, в результате такого проектирования окажется, что задачу можно свести к структуре, которая уже не будет "изменчивой". ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2004, 18:11 |
|
||
|
База данных с изменчивой структурой
|
|||
|---|---|---|---|
|
#18+
Дело в том, что столкнулся я со структурой, где общего в таблицах есть только поле цены :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2004, 18:18 |
|
||
|
База данных с изменчивой структурой
|
|||
|---|---|---|---|
|
#18+
так не бывает... *нас не догонят* ИМХО структура должна быть гибкой (то бишь правильной) а ежедневно менять модель... тоже хорошо.))) без работы не останешься..))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2004, 18:22 |
|
||
|
База данных с изменчивой структурой
|
|||
|---|---|---|---|
|
#18+
храни структуру таблицы в XML. Но придется использовать механизм модифицирующий таблицу при изменениях и форма для поиска и ввода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2004, 18:37 |
|
||
|
База данных с изменчивой структурой
|
|||
|---|---|---|---|
|
#18+
Попутный вопрос - используется ли для таких или аодобных целей XML? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2004, 18:39 |
|
||
|
База данных с изменчивой структурой
|
|||
|---|---|---|---|
|
#18+
Vadimkp > Вам не "Гуру" нужны. Не понятно, что за бизнес такой, что структуры должны меняться бесплатно? Обычно или своих братков держат, или килеров нанимают. :) А сколько "прайсов" вы посмотрели? Что это? По конкреней об "услугах" можно? Тогда может кто и ответит. sparrow ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2004, 21:20 |
|
||
|
База данных с изменчивой структурой
|
|||
|---|---|---|---|
|
#18+
Примерно так Таблица "Прайс" ( Название праса Код услуги ) Таблица "Услуги" ( Код услуги Название услуги ) Таблица "Услуги-Атрибуты" ( Код услуги Код атрибута ) Таблица "Атрибуты" ( Код атрибута Название атрибута Цена ) Могут быть вариации, в зависимости от конкретной задачи. И никаких меняющихся структур. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2004, 22:08 |
|
||
|
База данных с изменчивой структурой
|
|||
|---|---|---|---|
|
#18+
Спасибо за отзывы и советы. Точнее об услугах. Контора занимается услугами связи: интернет, линии и т.в.т. (типа все такое :) Но это для отдела, далекого от технической реализации - они только оформляют прайсы. До сих пор делали это в Word'е. Попросили это сделать как БД, "и чтобы можно было отслеживать изминения тарифов во времени". Почему я поднял вопрос о изминени структуры: 1. Чтобы с добавлением новой услуги, меня не дергали. Но с этим более-менее понятно. Главное вот что... 2. Например, для выделенок существуют градации по трафику: до 1Гб - столько, от 1Гб до 2Гб - столько, от 2Гб - вот столько (данные абстрактны) А с некоторого времени вводиться такое условие: на каждый интервал трафика нужно фиксировать сколько Мб из них бесплатно - получается нужно добавить поле. Собсно, вот в чем дело... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2004, 12:28 |
|
||
|
База данных с изменчивой структурой
|
|||
|---|---|---|---|
|
#18+
как два бита ... вынести услуги отдельным списком (таблицей).. а далее через связь много-к-много .... недавно давал пример в топике про "разношёрстные товары" ... принцип один и тот же - услуга - это тот же товар.. С уважением, Petr@Chulkov.NET Microsoft Certified Professional Chulkov.Net - Trustworthy Knowledge ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2004, 15:17 |
|
||
|
База данных с изменчивой структурой
|
|||
|---|---|---|---|
|
#18+
2 Vadimkp Нужно спроектировать базу данных, структура которой может меняться. Я не Гуру, и не хотел бы я этим заниматься в серьез :-) но это вполне возможно. Например, в 93 г. я на заводе внедрял некую бух_систему. "Турбосальдо". Она была написана на foxbase. Испрользуя по полной программе механизм макро_подстановок foxbase (когда для получения значения переменной - можно динамически задавать ее ИМЯ ) - авторы "Турбосальдо" сотворили чудо. 1. Они один раз написали оболочку. 2. Они завели свои журналы ...Задач, Таблиц, Полей таблиц. 3. Они на АВТОМАТЕ !!! для любого описалово_любая_таблица_бд = автоматически выдавали ИНТЕРФЕЙС для ввода данных. 4. Они на АВТОМАТЕ для любого описалово_любая_таблица_бд = выдвали отчет. Собственно, оболочка - и была единым инструменом - для системщика и для бухгалтера. Когда я при внедрении вдруг понимал что мой ID (артикул например) - надо увеличить длину поля - я просто в журнале менял атрибут. и ВСЕ!!!! Если я при внедрении вдруг понимал - что нужна ИЩО одна поляна....я просто добавлял строку в журнал таблиц. И ВСЕ!!! А еще я мог у любой поляны изменить ее ТИП ДАННЫХ.!!!!!!!!!!!!!!!!!!!!!!!!! Если мне нужен был свой алгоритм - я просто писал на foxbase свой *.prg и под своим именем - прописывал его в журнале задач (расчетов). и ВСЕ!!! Сегодня можно смотреть идею реализованную в КИС "Альфа". Там можно "на лету" создавать любой состав и уровень аналитики ( в части например, товаров). Другой пример - это идея ....от виндов. Иконки. То бишь - ярлыки. ЛИНКИ. Данные могут храниться в БД один раз и в одном месте. Но для представления - можно создать любое кол-во Ярыков к ним, с любым кол-вом собственных групировок....(ЯРЛЫК на ЯРЛЫК). Грубо говоря - можно иметь всего одно "деревяное табло". Где сущности - это строки. Где Узлы - имеют свои строки + АТРИБУТ. Если интересно - можно продолжить..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2004, 20:34 |
|
||
|
База данных с изменчивой структурой
|
|||
|---|---|---|---|
|
#18+
и все это страшно медленно работало на более-менее приличных обьемых данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2004, 21:30 |
|
||
|
База данных с изменчивой структурой
|
|||
|---|---|---|---|
|
#18+
Интереснаую систему описал UK0IAI, спасибо. Одно ясно, что сделать можно, но сложно. Т.е. нужно разработать свою СУБД. Скорее всего, игра не стоит свеч без соответствующего финансирования :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 10:38 |
|
||
|
База данных с изменчивой структурой
|
|||
|---|---|---|---|
|
#18+
2 Vadimkp Это все работало быстро!. Ибо на диске всегда лежала коллекция dbf файлов, с которыми (в расчетных програмах) система работала напрямую, минуя какие либо соглашения. Оболочка - она токо "автоматизировала" сам процес разработки/модификации БД. Про интерфейс. Тут вообще интересно. В цехе 1000 рабочих, зарплату надо "вогнать" быстро, наряды, табели, премии... И их интерфейс - это чудо. Я сам набивал списки - и удивлялся - как как это так, на экране чисто - даже не бланковка - а просто - поля ввода - сверху в них, в две колонки типа так Имя поля по русски Поле ввода -------------------- ------------ Табельный номер......ХХХХХХХХХ Номер цех................ХХХ Номер участка..........ХХ Вид оплаты...............ХХХ .............. И если полей ввода много - то все в две колонки. (все это для одного рекорда естественно) И вот фишка - (для массового ввода) механизм "закрепления" (дублирования полей) - ввел первую строку, запомнил там че надо - и вперед, на следущей строке уже поля частично заполнены...типа токо таб_номер + сумма вводить надо всего.... ...что то мне еще захотелось "потрепаться"... Таким образом - предметом системного программирования является сама Оболочка. Вот вам готовое решение - три компонента. 1. FormBulder 2. FormRuntime 3. ORACLE. Если вы это юзаете + ведете свой в БД "тупой" словарь имен рантаймов - то получаете в свою систему ВСТРОЕННЫЙ ГЕНЕРАТОР ЭКАННЫХ ФОРМ. Ибо вашей системе будет все равно что запускать - рантайм или билдер с исходником. (это вообще то и для других справедливо) (вчера буквально, я по телефону....подвинтил маргинсы у печатной бланковки....юзеры у меня ....по телефону...открыли генератор отчетов и мышой там по кликали...) Теперь про словарь БД. когда мне надо было довести до ума подстему доступа.... за 2 дня создал ....почти "кэйз"...журнал объектов БД + русские имена + скрипты генерации..чего_то_там..... Это лобовое решение - когда вы в своей системе реализуете механизм (интерфейс) модификации структуры БД + юзаете (интегрируете) уже готовые билдеры. (типа дать стринг на ALTER TABLE ADD name_field....) на каждый интервал трафика нужно фиксировать сколько Мб из них бесплатно - получается нужно добавить поле. Другое решение - вы можете - реализовать механизм типа ПРОВОДОК. Если в первичный документ юзер вводит (в 1 строку) 100 рублей, то по вашей гибкой настройке, эти 100 рублей могут быть разложены на произвольные "ячейки" путем создания (произвольно) дополнительных строк в ДРУГОЙ таблице. Так же и аналитикой - каждая строка документа - может быть "привязана" к произвольному кол-ву аналитик - через дополнительное табло. (В КИС АЛЬФА так и поступили....токо их интерфейс подводит). Имея соглашения, модель БД в системных журналах, можно абстрагироваться от типов данных....и все "ПРОВОДКИ" хранить типа тупо в CHAR (2000).... Или - в NUMBER и CHAR появляться новые услуги, со своими атрибутами (полями). путь ваши атрибуты - это строки в справочнике. Услуги - это узлы дерева, в узле перечисленны атрибуты. Остается токо решить как хранить валуе. Для всех типов валуе - достаточно всего одной поляны.... так примерно можно здесь рассуждать.... . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 13:55 |
|
||
|
|

start [/forum/topic.php?fid=32&gotonew=1&tid=1546630]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
171ms |
get topic data: |
13ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 15ms |
| total: | 304ms |

| 0 / 0 |
