Запросы, планы, оптимизация запросов, ...
Модераторы: kdv, CyberMax
-
Bocman
- Сообщения: 15
- Зарегистрирован: 17 авг 2006, 10:38
Сообщение
Bocman » 21 авг 2006, 10:51
Перечень приборов вынесен в другую таблицу
связана она с другими таблицами (наименование, местонахождение и тд) как многие к одному
виды работ (К, т...) берется при помощи триггера из другой таблицы
ну а план жестко привязан к каждому прибору, имеет ли смысл делить таблицу на две, если связь будет один к одному, да и кроме плана, дат выполнения и кодов для связи с другими таблицами как многие к одному там почти ничего нет. Примерно это выглядит следующем образом: Ремонтные организации->Наименование прибора->Тип прибора->модель прибора->экземпляр прибора(здесь план);
Так же еще несколько веток - местонахождение, ед. измерения и тд
-
WildSery
- Заслуженный разработчик
- Сообщения: 1738
- Зарегистрирован: 05 июн 2006, 16:19
Сообщение
WildSery » 21 авг 2006, 11:02
Всё ещё пытаешься мыслить кросс-таблицей.
Месяца должны быть не полями, а строками. Ещё и потому, что у тебя сейчас фиксировано 2 года, а ну будет 25 месяцев? И не говори "так будет всегда", это слишком долго.
-
Bocman
- Сообщения: 15
- Зарегистрирован: 17 авг 2006, 10:38
Сообщение
Bocman » 21 авг 2006, 13:45
А как в строке указать все месяца, если у некоторых приборов есть различная работа в каждом месяце?
-
WildSery
- Заслуженный разработчик
- Сообщения: 1738
- Зарегистрирован: 05 июн 2006, 16:19
Сообщение
WildSery » 21 авг 2006, 14:56
Например,
Код: Выделить всё
CREATE TABLE WORKS (
PRIBOR_ID INTEGER,
MONTH_NUM SMALLINT,
WORKTYPE_ID INTEGER
);
Не важно, сколько там работ и вообще есть ли они по конкретному прибору.
-
Bocman
- Сообщения: 15
- Зарегистрирован: 17 авг 2006, 10:38
Сообщение
Bocman » 21 авг 2006, 15:33
Большое спасибо за подсказку, я до этого не додумался, когда проектировал БД. Теперь придется все переделывать
Раз не умею думать головой придется работать руками. Осталось придумать как пользователю все это отобразить в горизонтальном положении, но думаю разберусь.