помогите с алгоритмом.

  • Автор темы Автор темы dusya
  • Дата начала Дата начала

dusya

Guest
помогите с алгоритмом.

Есть каталог с неограниченным числом разделов и подразделов.
Как наиболее оптимально спроектировать базу если одна и та же запись
может относиться к нескольким разделам?

Например: каталог предприятий, одно предприятия может относиться
нескольким отраслям.

Я раньше в таблице предприятий делал поле текстовое "Разделы", где
через точки с запятыми пересчитывал ID разделов.

При просмотре раздела искал в таблице предприятий за выражением "LIKE
;ID раздела;". Очевидно, этот способ далек от оптимального, поэтому
интересует Ваше мнение как наилучшим способом это сделать.

Спасибо Всем за внимание к вопросу.
 
програмирую на PHP, а база Mysql .

> многие ко многим

это как? можно пример?
 
вот так
http://www.citforum.ru/database/dbguide/index.shtml
не прочитаешь - не приходи.
 
я что то там ничего о php или mysql неувидел.

"многие ко многим" - как это делать на php и чем мне это может помочь?
 
Конкретно тебе это помочь не может. Потому что для тебя существуют только PHP и MySQL. А "Многие ко многим" относится к Реляционным Базам Данных. Это теория. Которая помогает в практике.
Твой конкретный случай:

factory
id | attr1 | attr2..
-----------------------
10| ОАО "Вечерний благовест"
20| Комбинат эротических игрушек

branch
id | atrr1 | attr2...
----------------------------
5 | Пищевая промышленность
8 | Лёгкая промышленность
11| Светлое
29| Доброе
34| Вечное

link_factory_branch
id_factory | id_branch
----------------------------
10 | 11
10 | 29
10 | 34
20 | 8
20 | 34
-------------------
Если не хватит интеллекта додуматься к каким отраслям промышленности относятся какие фабрики... В общем дальше - за деньги ;).
 
хинт: почитай теорию баз данных, про "нормальные формы"
 
2 HEm: а можно попроще? что это такое и чем может помочь?


2 ForJest : большое спасибо за пример. я не программист за
образованием, поэтому теоретических основ к сожалению нету.
программирование в интернет это хобби - способ реализовать идеи.


Возможно, Вам известны вспомогательные классы для реализован
механизм управления связями между таблицами "factory" и "branch" ?

а как в английской терминологии звучит "многие ко многим" ?
 
собственно тебе и дали ссылку на классический пример по теоретическим основам
http://www.citforum.ru/database/dbguide/4-5.shtml - о нормальных формах

Мое мнение - если ты берешься за что-то, то надо вникать в это полностью, из-за того, что многие "хватают верхушки" страдает качество их проектов и страдают конечные пользователи. Это касается всех сфер деятельности, не только программирования.
 
Возможно, Вам известны вспомогательные классы для реализован
механизм управления связями между таблицами "factory" и "branch" ?
Есть такая штука SQL. Structured Query Language. Для него не нужны никакие классы. Классы пишут люди, которые понимают SQL. Пишут они для того, чтобы облегчить свою жизнь. Пока не будет основ - не будет и цельной картины.
 
ок. понятно :)

а как "многие ко многим" in english ?
 
Сверху