За последние 24 часа нас посетили 17713 программистов и 1619 роботов. Сейчас ищут 1796 программистов ...

Связывание таблиц в phpMyAdmin

Тема в разделе "MySQL", создана пользователем joost, 7 май 2008.

  1. joost

    joost Guest

    существует ли система администрирования, подобная phpMyAdmin в которой можно задать связи между таблицами и гибко её администрировать?

    Замечания к вышесказанному.
    Предполагаю что неполно объяснил, что именно нужно, поэтому дополню примером.

    Например есть табличка учета пользователей `USERS` с полями:
    `ID` - уникальный идентификатор пользователя,
    `NAME`- имя пользователя,
    `AGE`- возраст,
    `STREETS_ID` - идентификатор улицы на которой живет.

    И есть табличка учета городских улиц, где эти пользователи живут `STREETS` с полями:
    `ID` - уникальный идентификатор улицы,
    `NAME` - название улицы.

    Поэтому хочу спросить - существует ли движок управления базами данных, который позволит учесть эти связи. Чтобы во время добавления пользователя появлялось выподающее меню, которое бы подхватило список имеющихся улиц.

    Возможно сам phpMyAdmin может такое делать?
    Если да, то где почитать?
     
  2. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    это уже твой скрипт делает. С такими связями, как тебе надо.
     
  3. joost

    joost Guest

    а phpMyAdmin не умеет такого делать?
     
  4. joost

    joost Guest

    пробовал - получить список удалось, но много в списке лишнего и того, что надо нет.

    там связывать надо через join-ы, но как правильно незнаю. Подскажите!
     
  5. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    В mysql нельзя связать таблицы непосредственно. Их можно связать только запросами. В чем проблема выводить список улиц из базы?
     
  6. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    joost снова в моей подписи.
     
  7. joost

    joost Guest

    проблемы нет. хочу все это организовать в PhpMyAdmine

    посмотрите что имено в теме
     
  8. joost

    joost Guest

    реально ли это организовать в phpMyAdmin или только своими скриптами?
     
  9. BS

    BS Активный пользователь

    С нами с:
    10 апр 2008
    Сообщения:
    149
    Симпатии:
    0
    joost, складывается впечатление, что вы переоцениваете возможности PhpMyAdmine.
    PhpMyAdmine - это всего лишь средство для работы с mysql базой. Проще сказать - редактор этой самой базы.
    Если в mysql нет foreign ключей, то PhpMyAdmine вам никак не поможет.
     
  10. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Правильнее даже сказать - визуальный редактор.
     
  11. BS

    BS Активный пользователь

    С нами с:
    10 апр 2008
    Сообщения:
    149
    Симпатии:
    0
    joost, а если по теме, то связывание нескольких таблиц - это самая распространенная задача, возлагаемая на sql

    как правило решается двумя путями:

    1. если у вас для каждой записи в таблице a находятся записи в таблице b то самый простой будет запрос типа:

    [sql]
    select b.name from a,b where b.id = a.detail_id
    [/sql]

    2. если в дочерней таблице b может не найтись соответствующих записей, то такой запрос
    [sql]
    select b.name from a left join b on (b.id = a.detail_id)
    [/sql]

    Ну и есть еще всякие разновидности join-ов, если надо, изучите самостоятельно :)
     
  12. joost

    joost Guest

    а если есть foreign ?
     
  13. joost

    joost Guest

    Из запросами sql, я разобрался. Интересует как в phpMyAdmine сделать
    подробней в теме
     
  14. BS

    BS Активный пользователь

    С нами с:
    10 апр 2008
    Сообщения:
    149
    Симпатии:
    0
    Тогда действуем в зависимости от СУБД, создаем или ключ или констрэйнт

    смешались вместе, люди, кони...

    при чем тут phpmyadmin?

    опишите задачу подробно, где и как должен добавляться пользователь, а там уж и подумаем :)
     
  15. nimistar

    nimistar Активный пользователь

    С нами с:
    30 май 2007
    Сообщения:
    919
    Симпатии:
    0
    BS - у меня в phpMyAdmine как раз так все и происходит :)
     
  16. joost

    joost Guest

  17. joost

    joost Guest

    типа
    например
    ?
     
  18. nimistar

    nimistar Активный пользователь

    С нами с:
    30 май 2007
    Сообщения:
    919
    Симпатии:
    0
    угу - объяснять не буду .. ибо замучаюсь описывать интерфейсы ... можно просто поучить Мускул - а там окажется что ПМА все сам неплохо понимает ...
     
  19. joost

    joost Guest

    ну может обясни? плиз! очень надо!
     
  20. joost

    joost Guest

    несколько принт-скринов сделай - если не трудно!
     
  21. nimistar

    nimistar Активный пользователь

    С нами с:
    30 май 2007
    Сообщения:
    919
    Симпатии:
    0
    [​IMG]

    Собственно первое
    Установить и настроить ПМА вмест с базой потдержки
    $cfg['Servers'][$i]['pmadb'], тоесть разобратся как это базу создать .. и т.д. ... документация к ПМА прилогается наиполнейшая ;-)

    потом
    создаем таблицу а1(id[PK],name) и указываем в пункте "Связи" (есть там такой значек - очень необходим будет в дальнейшем) что показывать поле `name`
    создаем таблицу а2(id[PK],name) и указываем в пункте "Связи" что показывать поле `name`
    создаем таблицу _a(id[PK],a1_id,a2_id) и в "связях" указываем какие поля чем являются ...

    собственно все .. дальше все "само" подхватывается и работает