crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Проектирование универсальной структуры БД
Litkevich Yuriy
  опции профиля:
сообщение 20.11.2009, 13:51
Сообщение #1


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Задался вопросом как бы так запроектировать структуру БД, чтобы её для всех задач использовать.
За основу взял такую задачу - справочник по радиоэлектронным компонентам.
Суть его такова, есть типы компонентов (конденсаторы, резисторы, ...). У каждого типа есть обязательный набор характеристик (для конденсаторв: Напряжение и ёмкость, для резисторов: сопротивление и мощьность). Также у каждого типа есть специфические характеристики, но необязательные (для конденсаторов: ТКЕ-температурный коэфициент ёмкости, для резисторов: ТКС - температурный коэфициент сопротивления).
Плюс к этому у каждого компонента может быть уникальная, важная характеристика.
Разумеется у каждого элемента есть марка (наименование)

Дерево элементов можно представить так:
|
|-конденсаторы
|    |- К50-35 16В  100мкФ ±20% (ёмкость-100мкФ, напряжение-16В, допуск по ёмкости ±20%)
|    |- К50-35 35В  2200мкФ ±20% (ёмкость-2200мкФ, напряжение-35В, допуск по ёмкости ±20%)
|-Резисторы
|    |- С2-32-1 100 ±5% (сопротивление-100 Ом, мощьность 1Вт, допуск по сопротивлению ±5%)
|    |- С2-29-0,5 1к ±0,5% (сопротивление-1 кОм, мощьность 0,5Вт, допуск по сопротивлению ±0,5%)


В интернете встречал такие термины - "сущьности" и "свойства сущьностей", вроде как такими терминами оперируют при проектировании БД.
Видимо это какой-то подход, на манер шаблонов проектирования программ.

Где-то так должен выглядеть процесс настройки заготовки БД:
Прикрепленное изображение


вот с типами и элементами вроде реализация сравнительно простая, а со свойствами не совсем понятно, т.к. тип данных может быть разный.
И ещё, хотелось бы для каждого свойства задавать, некое связанное свойство, например, для "напряжения" - еденицу измерения - "Вольты" (тип: "строка")

Может кто-нибудь подсказать, где про такие вещи почитать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 2.12.2009, 11:37
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Tonal @ 2.12.2009, 14:24) *
что реляционный подход в ОО напрямую не переводится, и хорошо спроектированная реляционная база довольно криво выглядит с точки зрения объектного дизайна и наоборот.
да про это я уже довольно много прочитал. Собственно в книге Хелен Бри написано, что хорошая модель данных не значит хорошая структура БД, если пытаться эту модель один к одному перенести в БД.

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

Ещё в исходном я не указал необходимость хранения в БД формул, для вычисления некоторых величин, но пока это для меня не самое главное.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- Litkevich Yuriy   Проектирование универсальной структуры БД   20.11.2009, 13:51
- - Litkevich Yuriy   Немного усовершенствовал диалог настройки патрахов...   20.11.2009, 14:55
- - BRE   Что почитать не подскажу. Пока в голову пришла мы...   20.11.2009, 15:23
- - Litkevich Yuriy   Цитата(BRE @ 20.11.2009, 18:23) для каждо...   20.11.2009, 15:51
- - Elfinit   Когда-то на прежней работе подобная задача ставила...   30.11.2009, 23:54
- - Elfinit   Цитата(Litkevich Yuriy @ 20.11.2009, 15:5...   1.12.2009, 9:54
- - Litkevich Yuriy   Цитата(Elfinit @ 1.12.2009, 12:54) Зачем?...   1.12.2009, 11:51
- - Elfinit   Есть таблички: db_tables(id, name, description), ...   1.12.2009, 21:40
- - Litkevich Yuriy   Цитата(Elfinit @ 2.12.2009, 0:40) При вст...   1.12.2009, 21:52
- - trdm   может хватит велик изобретать, а стоит посмотреть ...   2.12.2009, 1:43
- - Tonal   Не бывает "универсальной структуры БД". ...   2.12.2009, 11:24
- - Litkevich Yuriy   Цитата(Tonal @ 2.12.2009, 14:24) что реля...   2.12.2009, 11:37
- - Tonal   Сходного везде очень много. Но и различий тоже хва...   2.12.2009, 11:50
- - Elfinit   Цитата(trdm @ 2.12.2009, 1:43) может хват...   2.12.2009, 19:58
- - Litkevich Yuriy   Цитата(Elfinit @ 2.12.2009, 22:58) Firebi...   2.12.2009, 20:44
- - Novak   А всё же не легче какую-нибудь систему ORM использ...   3.12.2009, 13:35
- - Litkevich Yuriy   Цитата(Novak @ 3.12.2009, 16:35) систему ...   3.12.2009, 15:26
- - Iron Bug   я на заре своей рабочей карьеры разрабатывала круп...   3.12.2009, 15:32
- - Novak   Цитата(Litkevich Yuriy @ 3.12.2009, 15:26...   3.12.2009, 16:32
- - Litkevich Yuriy   вот если взять системы сбора и обработки данных, т...   3.12.2009, 16:59
- - Sokoloff   Как уже сказали это будет медленнее чем база напис...   4.12.2009, 1:41
- - Novak   А смысл создавать новый язык, если уже есть готовы...   4.12.2009, 11:48
- - Sokoloff   Цитата(Novak @ 4.12.2009, 11:48) А смысл ...   4.12.2009, 12:54


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


7 чел. читают эту тему (гостей: 7, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.12.2024, 18:45