Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Подскажите как бы вы реализовывали такую БД ?

Антон Иванов Ученик (95), на голосовании 5 лет назад
Есть задача сделать БД "химические соединения и химические элементы". Суть в том что хим соединение состоит из хим элементов. И можно было бы производить поиск по соединениям вводя в поиск элементы. То есть допустим я в поисковик ввожу 2 элемента Na (натрий) CL(хлор), выводится ответ "поваренная соль". Я не прошу решать за меня задачу, просто идею какую нибудь подкинуть как подобную БД реализовать.
Голосование за лучший ответ
Galaxy Мудрец (19464) 5 лет назад
Я слишком плохо знаю химию, чтобы как-то себе это представить. Но дней за десять, при должной оплате, я бы решил эту задачу.
Антон ИвановУченик (95) 5 лет назад
Лол, это вроде не фриланс биржа. я не прошу решать за меня прошу совет просто. Представь тогда "машины и детали", каждая машина из каких то деталей состоит. Пример с химией это абстракция
Илья Чермошенцев Программист, стаж 8 лет 5 лет назад
him_soedineniya - таблица. в ней
id айди
name имя соединения
him_elements - таблица элементов
id айди
name название элемента
id_soedineniya айди соединения из табл выше
Драгомир Бутулисов Оракул (86593) 5 лет назад
Таблица Элементы: айди, имявтаблицемендлеева, название рус
Таблица Соединения: айди, название рус.
Таблица ЭлементыВСоединении: Айди элемента, Айди соединения, Псеводнним (необязат).

Индексы там шминдексы.

Поиск тогда сделать "жестким" не вводить элементы, а выбирать элементы.
Выбираете Na (натрий) и CL(хлор)
Запрос в БД:
СЕЛЕКТ * фром ЭлементыВСоединении
лефтджойн Элементы он ЭлементыВСоединении. АйдиЭлемента = Элементы. Айди
лефтджойн Соединения он ЭлементыВСоединении АйдиСоединения = Соединения. Айди
WHERE Элементы. имявтаблицемендлеева = 'Na' AND Элементы. имявтаблицемендлеева = 'Cl'

Есть таблица - есть соединение, нет ничего - нет соединения (или оператор БД который должен заполнить все три таблицы ленивая овца которую надо немедленно оштрафовать и выгнать к чертям).

Сори за ошибки я без гугля и мануалов навскидку.

UPD
Выбор элемента еще предпочтительнее потому что его можно запендюрить в виде Таблицы Менделеева :)
Антон ИвановУченик (95) 5 лет назад
спасибо большое, очень крутой ответ)
Драгомир Бутулисов Оракул (86593) На здоровье. :)
Jurijus Zaksas Искусственный Интеллект (445828) 5 лет назад
Таблица элементов, таблица веществ, таблица, показывающая, сколько атомов какого элемента входит в каждое вещество.
Похожие вопросы