За последние 24 часа нас посетили 17298 программистов и 1719 роботов. Сейчас ищут 1509 программистов ...

Один автоинкремент на несколько таблиц

Тема в разделе "Вопросы от блондинок", создана пользователем Diver, 7 ноя 2007.

Статус темы:
Закрыта.
  1. Diver

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

    С нами с:
    19 фев 2006
    Сообщения:
    144
    Симпатии:
    0
    Адрес:
    Владивосток
    Здраствуйте.
    Можно ли сделать один автоинкремент на несколько таблиц? В пределах одной бд.
    Или создавать отдельную таблицу со ссылками на другие?

    Различный по типу материал раскидан по разным таблицам, а доступ к конкретному материалу идет типо www.site.ru/21/
    где 21 - уникальный номер материала.
     
  2. Anonymous

    Anonymous Guest

    Тут нарушен один из принципов доступа к данным - либо данные ошибочно разнесены по различным таблицам. либо навигация неправильная.

    Самым разумным выходом при невозможности переделать по уму это -
     
  3. Diver

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

    С нами с:
    19 фев 2006
    Сообщения:
    144
    Симпатии:
    0
    Адрес:
    Владивосток
    Чем неправильна навигация?
    Сваливать разные данные в одну таблицу - не намного умнее чем сваливать разные данные по разным таблицам.
     
  4. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Насколько эти данные разные? Если вобще не схожи, то почему бы не юзать для каждой таблицы свой автоинкремент, а в URI добавлять префикс, который скажет скрипту, что за данные надо получить?
     
  5. Diver

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

    С нами с:
    19 фев 2006
    Сообщения:
    144
    Симпатии:
    0
    Адрес:
    Владивосток
    это еще один вариант ответа. не умнее не глупее.
    потому что так не надо.
    остается завести отдельную таблицу.
     
  6. Anonymous

    Anonymous Guest

    Какой вопрос, такой и ответ.
    Для нормального ответа нужно информация - со своими супер секретными тайнами, опередившими время на пару геологических периодов, разбирайтесь тогда сами.
     
  7. Diver

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

    С нами с:
    19 фев 2006
    Сообщения:
    144
    Симпатии:
    0
    Адрес:
    Владивосток
    какая же вам нужна информация для нормального ответа?
     
  8. Dagdamor

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

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    Горбунов Олег
    +1. Видел я одну систему, где использовался такой подход (общий ID для сущностей разного типа). Это был Ужос :) Имхо, гораздо разумнее для каждого типа сущности (т.е. для каждой таблицы) использовать свой счетчик, и передавать тип сущности вместе с ID.

    Diver
    Опиши словами, что ты пытаешься реализовать, какую задачу.
     
  9. Diver

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

    С нами с:
    19 фев 2006
    Сообщения:
    144
    Симпатии:
    0
    Адрес:
    Владивосток
    да вот и есть вся задача.
    есть разные "типы сущностей" (не важно какие), которые хранятся в разных таблицах. почему в разных? есть сущность с тремя полями. а есть с тридцать тремя. зачем сущности с тремя полями, остальные тридцать?
    и передовать имя сущности в гет запросе тоже не вижу смысла. зачем если можно без него?
     
  10. Anonymous

    Anonymous Guest

    Если сущности абсолютно разные - для навигации по ним должно быть два параметра - id сущности, и id категории сущности.
     
  11. Diver

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

    С нами с:
    19 фев 2006
    Сообщения:
    144
    Симпатии:
    0
    Адрес:
    Владивосток
    почему так? что мешает не указывать категорию?
     
  12. Anonymous

    Anonymous Guest

    Здравый смысл. Потому что если сразу сделать так, вопросы как у тебя не возникают. Да и десяток других вопросов тоже.
     
  13. Diver

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

    С нами с:
    19 фев 2006
    Сообщения:
    144
    Симпатии:
    0
    Адрес:
    Владивосток
    Скажи сразу что тебе так больше нравится и все. Зачем прикрываться здравым смыслом? Пока что все твои доводы на уровне первого класса средней школы. Так все-таки есть здравые причины или только личная неприязнь?
     
  14. Anonymous

    Anonymous Guest

    Блин... Если все равно сделаешь по своему, зачем спрашиваешь?

    Это опыт. Опыт разработчика биллинговых систем. Это 8 с лишним лет программинга. Это куча статей, это лекции по теории БД, которые и слушал, и сам читал. Это теория управления производством, и еще много чего. Я всего лишь советую. Если интересно - почему так - пройди так же свой путь, что бы иметь свое мнение и не считаться с чужим.

    И все.
    Тему закрываю в связи ее вырождением в бессмыслицу.
    Ответ Как сделать был дан, с перечислением вариантов. На вопрос почему была попытка ответить в общих чертах. Думаю, этого достаточно.
     
Статус темы:
Закрыта.