|
|
|
Удобный готовый интерфейс для наполнения таблиц-связок
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Нужна помощь опытных людей. Есть в БД таблицы (движок 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 . Есть ли другие админки БД, которые смогут позволить это сделать? Альтернатива использованию интерфейсов админок - это написание собственного интерфейса наполнения, но этот вариант пока откладывается как слишком времязатратный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 18:46:46 |
|
||
|
Удобный готовый интерфейс для наполнения таблиц-связок
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 18:47:20 |
|
||
|
Удобный готовый интерфейс для наполнения таблиц-связок
|
|||
|---|---|---|---|
|
#18+
vitkorobАльтернатива использованию интерфейсов админок - это написание собственного интерфейса наполнения, но этот вариант пока откладывается как слишком времязатратный.Некоторые на Access-е лепят такое вполне шустро. На Delphi/C++ Builder тоже, вроде бы, не долго. vitkorobВ каждой из таблиц есть поля manufacturer и part_number , они одновременно уникальны (образуют естественный ключ)Если задача учебная и если я правильно понял, что это автозапчасти, то сойдет. Если задача реальная и это автозапчасти, то не сойдет, ибо у многих запчастей более одного номера производителя. А иногда и ни одного. vitkorobВ каждой из таблиц есть поля manufacturer и part_number , они одновременно уникальны (образуют естественный ключ) и человекопонятны. Есть также в каждой таблице суррогатный ключ id . Между элементами этих таблиц существуют связи "многие ко многим". Для хранения этих связей используется соответствующая промежуточная таблица-связка (см. рисунок). Таблица-связка хранит пары соответствующих id . Всё связи, с моей точки зрения, грамотно оформлены через FORING KEY (ссылаются на суррогатный ключ id исходных таблиц), что удобно позволяет отслеживать целостность данных.Как manufacturer+part_number в одной таблице соответствуют этим же полям в другой таблице? Тоже образуют связь? Какова вообще задача продемонстрированного фрагмента БД ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 19:02:48 |
|
||
|
Удобный готовый интерфейс для наполнения таблиц-связок
|
|||
|---|---|---|---|
|
#18+
vitkorobВ каждой из таблиц есть поля manufacturer и part_number , они одновременно уникальны (образуют естественный ключ) и человекопонятны. Почему тогда они не лежат в отдельной таблице? vitkorobЕсть ли удобный интерфейс записи в такие таблицы? На Аксе делается форма с двумя листбоксами за пару минут. Дольше будешь соединение с таблицами настраивать... Вот только я не понимаю, что мешает заполнить всю эту фигню одним тривиальным запросом? Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 19:20:13 |
|
||
|
Удобный готовый интерфейс для наполнения таблиц-связок
|
|||
|---|---|---|---|
|
#18+
Akina Код: sql 1. 2. Что-то я в это не верю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 19:22:06 |
|
||
|
Удобный готовый интерфейс для наполнения таблиц-связок
|
|||
|---|---|---|---|
|
#18+
miksoftКак manufacturer+part_number в одной таблице соответствуют этим же полям в другой таблице? Тоже образуют связь? Говоря более человеческим языком, есть таблица с моторами (motors), есть таблица с редукторами (gears). Конструктивно некоторые моторы совместимы с некоторыми типами редукторов. Это надо показать в БД. Для этого и используется таблица-связка. С точки зрения организации БД manufacturer+part_number редуктора никак не соответствует manufacturer+part_number мотора. Таких связок (CONSTRAINT) нет . Они чисто человечески соответствуют, имея ввиду конструктивную совместимость. Связки (CONSTRAINT) только по id . miksoftКакова вообще задача продемонстрированного фрагмента БД ? Этот кусок показывает таблицу-связку, которую нужно заполнить. Таблица-связка показывает конструктивную совместимость деталей. Прошу обратить большее внимание на обсуждение интерфейсов ввода (админок БД), т.к. задача: vitkorobЗадача состоит в том, что нужно удобным способом заполнить таблицу-связку. Критерий удобства я попытался сформулировать в первом посте. Это наличие подсказок в виде других полей текущей записи, а не только id . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 19:24:55 |
|
||
|
Удобный готовый интерфейс для наполнения таблиц-связок
|
|||
|---|---|---|---|
|
#18+
Ааа... ну тогда берите Аксесс, стопудово. На форме два комбо/листбокса и кнопка, плюс 4 подчинённых формы. Выбираем что-то в одном боксе - в одной субформе отображается соотв. запись таблицы, в другой - имеющиеся пары к этой записи из таблицы соответствий. То же для другого бокса и пары форм. Подобрали пару - по кнопке данные бросаются в таблицу, форма чистится. Работы минут на 15, все формы построит мастер, только чутка подрихтовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 19:33:26 |
|
||
|
Удобный готовый интерфейс для наполнения таблиц-связок
|
|||
|---|---|---|---|
|
#18+
vitkorob, Если вариант с Access-ом устраивает, то могу перенести топик в соответствующий подфорум. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 19:37:34 |
|
||
|
Удобный готовый интерфейс для наполнения таблиц-связок
|
|||
|---|---|---|---|
|
#18+
miksoftvitkorob, Если вариант с Access-ом устраивает, то могу перенести топик в соответствующий подфорум. Спасибо, я рассмотрю Access, но я всё-таки хочу ещё послушать мнения опытных людей. Может есть другие админки для MySQL, и кто-то порекомендует ещё один хороший вариант. Поэтому прошу пока не переносить. phpMyAdmin никто не использовал для работы (наполнения базы со связями FOREIGN KEY) так как я хочу это попробовать? Он совсем в этом плох? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 20:03:14 |
|
||
|
Удобный готовый интерфейс для наполнения таблиц-связок
|
|||
|---|---|---|---|
|
#18+
vitkorobМожет есть другие админки для MySQLКаких-то MySQL-специфичных, насколько я в курсе, нет. Есть немного общего применения. Например, тот же MS Access и LibreOffice Base. vitkorobphpMyAdmin никто не использовал для работы (наполнения базы со связями FOREIGN KEY) так как я хочу это попробовать? Он совсем в этом плох?Он просто не для этого. Он для админов и разработчиков, а не для пользователей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 20:18:54 |
|
||
|
Удобный готовый интерфейс для наполнения таблиц-связок
|
|||
|---|---|---|---|
|
#18+
Всем спасибо! C помощью LibreOffice Base и видоса с YouTube удалось решить поставленную задачу. Правда рабочего времени ушло всё равно относительно много ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2015, 13:40:25 |
|
||
|
Удобный готовый интерфейс для наполнения таблиц-связок
|
|||
|---|---|---|---|
|
#18+
vitkorobВсем спасибо! C помощью LibreOffice Base и видоса с YouTube удалось решить поставленную задачу. Правда рабочего времени ушло всё равно относительно много это даже лучше. через офис сделать. зачем тебе ещё с чем-то мучатся. Вполне нормальное решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2015, 09:01:17 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38981532&tid=1833049]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
40ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 291ms |

| 0 / 0 |
