Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 3 
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 23.03.2003
Откуда: Belgium
Фото: 31
Здравствуйте !!! :beer:

Меня замучала одна проблема. Немогу решиться как лутше сделать столы и рационально использовать внешний ключ. :cry:
Есть набор аппаратов :
Мультиметр, Трансформатор, Паяльная станция и так далее.
У каждого аппарата есть свой идентификационный код над которым я сейчас и бьюсь.
А точнее он состоит из 3 букв и 3 цифр.

Аппаратами пользуются рабочие, у каждого рабочего есть свой номер состоящий из 5и цифр.

Стол "Аппарат" :
- аббревиатура ( 3 буквы ),
- полное название.

Стол "Трансформатор" :
- ID ( 3 цифры ),
- другие столбцы не имеют значения...

Стол "Аппарат одолжен" :
- номерной знак рабочего ( 5 цифр ),
- идентификационный номер аппарата ( 3 цифры и 3 буквы ).

Как это всё работает :
1. Из номера аппарата, беру 3 буквы (аббревиатура), иду в стол "Аппарат", нахожу полное название аппарата.
2. С полным названием аппарата нахожу нужный мне стол содержащий информацию об аппаратах данного типа
3. С помощью 3ёх цифр, нахожу нужный мне аппарат.
4. Считываю информацию об аппарате.
5. В столе "Аппарат одолжен", цепляю номер рабочего к полному номеру аппарата ( 3 буквы и 3 цифры )

Проблема, между столами нет ассоциации на уровне базы данных !!! Всё происходит на программном уровне ! :facepalm:


Есть идеи ?



Партнер
 

Member
Статус: Не в сети
Регистрация: 11.06.2006
зачем именно так? почему не проще использовать обычные id , + простое поле содержащие вот эти самые"3 буквы и 3 цифры"?


 

Member
Статус: Не в сети
Регистрация: 23.03.2003
Откуда: Belgium
Фото: 31
Iton писал(а):
зачем именно так? почему не проще использовать обычные id , + простое поле содержащие вот эти самые"3 буквы и 3 цифры"?

В смысле, так ?
id | 3 буквы и 3 цифры | ... | номер рабочего

Можно подробнее ?

Добавлено спустя 10 часов 20 минут 10 секунд:
Iton
И так, немного поспав, голова совсем не варила...
Пересмотрел свой пост, освежил свою память золотыми правилами реляционных баз данных и ... акуел. Какую куету я здесь наплёл ... :facepalm
Прыгая с одной базы данных на другую (Оракл, МайСикюэл, Аксесс ), меня стали терзать смунтные сомнения на счёт ЕНУМа.
Зачем создавать новый стол и внешние ключи, когда есть такая прекрасная вещь как ЕНУМ ! Но терятся портативность базы данных :cry:

В итоге :
Создал один стол для аппаратов.
Аппараты приобрели ID smallint primary key auto-increment unsigned, а так же ENUMы для : названий, марки, модели... Половина столов и внешних ключей сразу отвалились за не надобностью. :crazy:


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 3 
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan