Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вопрос по организации БД / 3 сообщений из 3, страница 1 из 1
18.06.2003, 23:03
    #32186002
mazzi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по организации БД
sorry, если offtopic.

Вообщем дали мне задание - запихнуть справочник по измерительным датчикам в БД. Полистал я справочник, оказалось, что во-первых существует несколько основных типов датчиков, различающихся по принципам измерения.
А среди каждого типа еще разделение по разным признакам. В результате оказалось, что общих характеристик в рамках одного типов (по принципам измерения) не более 25-30 %. Остальная информация совершенно не структурированна, т.е. какие-то таблицы и характеристики есть у одних датчиков, а какие-то у других. Вот хотел бы я попросить совета у профессионалов, как в таких ситуациях поступают ? С одной стороны вроде и справочник и, казалось бы, синоним БД, но все так трудно организовать, потому что не хочется хранить неполную информацию, но и реляционность не хотелось бы терять.

Может кому приходилось подобные справочники в БД заточать ?

Спасибо.
...
Рейтинг: 0 / 0
18.06.2003, 23:27
    #32186009
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по организации БД
Вариант 1. Все-таки хранить неполную информацию.

Код: plaintext
1.
2.
Имя Кау Парам1 Парам2 Парам3 Парам4
А    101   10       20 
Б    102                 30       40 


Вариант 2. Кривой, но экономичный. В главной таблице всего несколько полей: название датчика, потом каунтер какой-нибудь, потом (возможно) несколько параметров, которые общие для всех, а потом - внимание! - тип с точки зрения того, какие еще параметры у него есть. Остальные данные сидят в других таблицах. Их количество равно количеству разных значений вышеупомянутого типа . Структура у всех разная. В каждой таблице первое поле - каунтер для связи с главной таблицей. Связь главной таблицы с остальными - один-к-одному, но для каждой записи в главной существует запись только в одной из остальных в зависимости от типа записи.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Имя Кау Тип
А    101   1 
Б    102   2 

Таблица для типа  1 
Кау Парам1 Парам2
 101   10       20 

Таблица для типа  2 
Кау Парам3 Парам4
 102   30       40 


Вариант 3. Тоже кривой. Таблица одна, полей мало. Тоже есть тип записи, но он обозначает, каков смысл остальных полей. Отдельно системная таблица с соответствиями между полями и параметрами для разных типов.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Имя Кау Тип Поле1 Поле2
А    101   1     10      20 
Б    102   2     30      40 

Тип Поле  Парам
 1    Поле1 Парам1
 1    Поле2 Парам2
 2    Поле1 Парам3
 2    Поле2 Парам4


А теперь пусть All расскажет, чем плох каждый вариант...
...
Рейтинг: 0 / 0
20.06.2003, 08:19
    #32187008
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по организации БД
Вариант 4. Самый экономичный и самый гибкий. Таблица датчиков, таблица разных параметров, таблица значений параметров для датчиков.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
ИмяДатч КодДатч
А        101 
Б        102 

ИмяПарам КодПарам ЕдИзм
Парам1    201       м
Парам2    202       м2
Парам3    203       с
Парам4    204       м/с

КодДатч КодПарам Значение
 101       201        10 
 101       202        20 
 102       203        30 
 102       204        40 
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вопрос по организации БД / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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