Member
Статус: Не в сети Регистрация: 23.03.2003 Откуда: Belgium Фото: 31
Здравствуйте !!!
Меня замучала одна проблема. Немогу решиться как лутше сделать столы и рационально использовать внешний ключ. Есть набор аппаратов : Мультиметр, Трансформатор, Паяльная станция и так далее. У каждого аппарата есть свой идентификационный код над которым я сейчас и бьюсь. А точнее он состоит из 3 букв и 3 цифр.
Аппаратами пользуются рабочие, у каждого рабочего есть свой номер состоящий из 5и цифр.
Стол "Аппарат" : - аббревиатура ( 3 буквы ), - полное название.
Стол "Трансформатор" : - ID ( 3 цифры ), - другие столбцы не имеют значения...
Стол "Аппарат одолжен" : - номерной знак рабочего ( 5 цифр ), - идентификационный номер аппарата ( 3 цифры и 3 буквы ).
Как это всё работает : 1. Из номера аппарата, беру 3 буквы (аббревиатура), иду в стол "Аппарат", нахожу полное название аппарата. 2. С полным названием аппарата нахожу нужный мне стол содержащий информацию об аппаратах данного типа 3. С помощью 3ёх цифр, нахожу нужный мне аппарат. 4. Считываю информацию об аппарате. 5. В столе "Аппарат одолжен", цепляю номер рабочего к полному номеру аппарата ( 3 буквы и 3 цифры )
Проблема, между столами нет ассоциации на уровне базы данных !!! Всё происходит на программном уровне !
Member
Статус: Не в сети Регистрация: 23.03.2003 Откуда: Belgium Фото: 31
Iton писал(а):
зачем именно так? почему не проще использовать обычные id , + простое поле содержащие вот эти самые"3 буквы и 3 цифры"?
В смысле, так ? id | 3 буквы и 3 цифры | ... | номер рабочего
Можно подробнее ?
Добавлено спустя 10 часов 20 минут 10 секунд: Iton И так, немного поспав, голова совсем не варила... Пересмотрел свой пост, освежил свою память золотыми правилами реляционных баз данных и ... акуел. Какую куету я здесь наплёл ... :facepalm Прыгая с одной базы данных на другую (Оракл, МайСикюэл, Аксесс ), меня стали терзать смунтные сомнения на счёт ЕНУМа. Зачем создавать новый стол и внешние ключи, когда есть такая прекрасная вещь как ЕНУМ ! Но терятся портативность базы данных
В итоге : Создал один стол для аппаратов. Аппараты приобрели ID smallint primary key auto-increment unsigned, а так же ENUMы для : названий, марки, модели... Половина столов и внешних ключей сразу отвалились за не надобностью.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения