powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Удобный готовый интерфейс для наполнения таблиц-связок
12 сообщений из 12, страница 1 из 1
Удобный готовый интерфейс для наполнения таблиц-связок
    #38981530
vitkorob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Нужна помощь опытных людей.

Есть в БД таблицы (движок InnoDB). В каждой из таблиц есть поля manufacturer и part_number , они одновременно уникальны (образуют естественный ключ) и человекопонятны. Есть также в каждой таблице суррогатный ключ id . Между элементами этих таблиц существуют связи "многие ко многим". Для хранения этих связей используется соответствующая промежуточная таблица-связка (см. рисунок). Таблица-связка хранит пары соответствующих id . Всё связи, с моей точки зрения, грамотно оформлены через FORING KEY (ссылаются на суррогатный ключ id исходных таблиц), что удобно позволяет отслеживать целостность данных.

Задача состоит в том, что нужно удобным способом заполнить таблицу-связку. Человеку легко понятны соответствия пары полей manufacturer и part_number из одной таблицы паре полей manufacturer и part_number второй таблицы, но записывать то получается только "непонятные" id . Есть ли удобный интерфейс записи в такие таблицы?

Я пробовал phpMyAdmin , но он при записи в таблицу-связку предлагает варианты суррогатных ключей и никак не подсказывает manufacturer и part_number им соответсвующие. Настроить такие подсказки в phpMyAdmin у меня не получилось. Возможно ли это там вообще? Т.е. хочеться выбирать пары manufacturer и part_number , а по факту будет формироваться запрос на запись пары id .

Есть ли другие админки БД, которые смогут позволить это сделать?

Альтернатива использованию интерфейсов админок - это написание собственного интерфейса наполнения, но этот вариант пока откладывается как слишком времязатратный.
...
Рейтинг: 0 / 0
Удобный готовый интерфейс для наполнения таблиц-связок
    #38981532
vitkorob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Удобный готовый интерфейс для наполнения таблиц-связок
    #38981547
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vitkorobАльтернатива использованию интерфейсов админок - это написание собственного интерфейса наполнения, но этот вариант пока откладывается как слишком времязатратный.Некоторые на Access-е лепят такое вполне шустро. На Delphi/C++ Builder тоже, вроде бы, не долго.
vitkorobВ каждой из таблиц есть поля manufacturer и part_number , они одновременно уникальны (образуют естественный ключ)Если задача учебная и если я правильно понял, что это автозапчасти, то сойдет. Если задача реальная и это автозапчасти, то не сойдет, ибо у многих запчастей более одного номера производителя. А иногда и ни одного.
vitkorobВ каждой из таблиц есть поля manufacturer и part_number , они одновременно уникальны (образуют естественный ключ) и человекопонятны. Есть также в каждой таблице суррогатный ключ id . Между элементами этих таблиц существуют связи "многие ко многим". Для хранения этих связей используется соответствующая промежуточная таблица-связка (см. рисунок). Таблица-связка хранит пары соответствующих id . Всё связи, с моей точки зрения, грамотно оформлены через FORING KEY (ссылаются на суррогатный ключ id исходных таблиц), что удобно позволяет отслеживать целостность данных.Как manufacturer+part_number в одной таблице соответствуют этим же полям в другой таблице? Тоже образуют связь?
Какова вообще задача продемонстрированного фрагмента БД ?
...
Рейтинг: 0 / 0
Удобный готовый интерфейс для наполнения таблиц-связок
    #38981564
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vitkorobВ каждой из таблиц есть поля manufacturer и part_number , они одновременно уникальны (образуют естественный ключ) и человекопонятны.
Почему тогда они не лежат в отдельной таблице?

vitkorobЕсть ли удобный интерфейс записи в такие таблицы?
На Аксе делается форма с двумя листбоксами за пару минут. Дольше будешь соединение с таблицами настраивать...

Вот только я не понимаю, что мешает заполнить всю эту фигню одним тривиальным запросом?

Код: sql
1.
2.
3.
4.
5.
insert ignore into link_table(id1, id2)
select t1.id, t2.id 
  from table1 t1, table2 t2 
  where t1.manufacturer = t2.manufacturer
    and t1.part_number = t2.part_number
...
Рейтинг: 0 / 0
Удобный готовый интерфейс для наполнения таблиц-связок
    #38981568
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina
Код: sql
1.
2.
 where t1.manufacturer = t2.manufacturer
    and t1.part_number = t2.part_number

Что-то я в это не верю.
...
Рейтинг: 0 / 0
Удобный готовый интерфейс для наполнения таблиц-связок
    #38981572
vitkorob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftКак manufacturer+part_number в одной таблице соответствуют этим же полям в другой таблице? Тоже образуют связь?

Говоря более человеческим языком, есть таблица с моторами (motors), есть таблица с редукторами (gears). Конструктивно некоторые моторы совместимы с некоторыми типами редукторов. Это надо показать в БД. Для этого и используется таблица-связка. С точки зрения организации БД manufacturer+part_number редуктора никак не соответствует manufacturer+part_number мотора. Таких связок (CONSTRAINT) нет . Они чисто человечески соответствуют, имея ввиду конструктивную совместимость. Связки (CONSTRAINT) только по id .

miksoftКакова вообще задача продемонстрированного фрагмента БД ?

Этот кусок показывает таблицу-связку, которую нужно заполнить. Таблица-связка показывает конструктивную совместимость деталей.

Прошу обратить большее внимание на обсуждение интерфейсов ввода (админок БД), т.к. задача:

vitkorobЗадача состоит в том, что нужно удобным способом заполнить таблицу-связку.

Критерий удобства я попытался сформулировать в первом посте. Это наличие подсказок в виде других полей текущей записи, а не только id .
...
Рейтинг: 0 / 0
Удобный готовый интерфейс для наполнения таблиц-связок
    #38981579
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ааа... ну тогда берите Аксесс, стопудово. На форме два комбо/листбокса и кнопка, плюс 4 подчинённых формы. Выбираем что-то в одном боксе - в одной субформе отображается соотв. запись таблицы, в другой - имеющиеся пары к этой записи из таблицы соответствий. То же для другого бокса и пары форм. Подобрали пару - по кнопке данные бросаются в таблицу, форма чистится. Работы минут на 15, все формы построит мастер, только чутка подрихтовать.
...
Рейтинг: 0 / 0
Удобный готовый интерфейс для наполнения таблиц-связок
    #38981583
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vitkorob,

Если вариант с Access-ом устраивает, то могу перенести топик в соответствующий подфорум.
...
Рейтинг: 0 / 0
Удобный готовый интерфейс для наполнения таблиц-связок
    #38981598
vitkorob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftvitkorob,

Если вариант с Access-ом устраивает, то могу перенести топик в соответствующий подфорум.

Спасибо, я рассмотрю Access, но я всё-таки хочу ещё послушать мнения опытных людей. Может есть другие админки для MySQL, и кто-то порекомендует ещё один хороший вариант. Поэтому прошу пока не переносить.

phpMyAdmin никто не использовал для работы (наполнения базы со связями FOREIGN KEY) так как я хочу это попробовать? Он совсем в этом плох?
...
Рейтинг: 0 / 0
Удобный готовый интерфейс для наполнения таблиц-связок
    #38981605
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vitkorobМожет есть другие админки для MySQLКаких-то MySQL-специфичных, насколько я в курсе, нет.
Есть немного общего применения. Например, тот же MS Access и LibreOffice Base.
vitkorobphpMyAdmin никто не использовал для работы (наполнения базы со связями FOREIGN KEY) так как я хочу это попробовать? Он совсем в этом плох?Он просто не для этого. Он для админов и разработчиков, а не для пользователей.
...
Рейтинг: 0 / 0
Удобный готовый интерфейс для наполнения таблиц-связок
    #38983945
vitkorob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо! C помощью LibreOffice Base и видоса с YouTube удалось решить поставленную задачу. Правда рабочего времени ушло всё равно относительно много

YouTube Video
...
Рейтинг: 0 / 0
Удобный готовый интерфейс для наполнения таблиц-связок
    #38985390
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vitkorobВсем спасибо! C помощью LibreOffice Base и видоса с YouTube удалось решить поставленную задачу. Правда рабочего времени ушло всё равно относительно много



это даже лучше. через офис сделать. зачем тебе ещё с чем-то мучатся. Вполне нормальное решение.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Удобный готовый интерфейс для наполнения таблиц-связок
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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