Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Помогите совет по проектированию БД

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Базы данных
Предыдущая тема :: Следующая тема  
Автор Сообщение
the_Serge



Зарегистрирован: 26.02.2003
Сообщения: 4
Откуда: Moscow

СообщениеДобавлено: Ср Фев 26 2003 20:15    Заголовок сообщения: Помогите совет по проектированию БД Ответить с цитатой

Человеки! Помогите советом, как лучше спроектировать БД (сервер MySQL) с такими условиями: Есть статья, есть категории, есть подкатегории у подкатегорий есть подкатегории и так до ... вообщем кол-во подкатегорий N и заранее не известно. Сильней всего интересует хранение и привязка всяких там категорий и подкатегорий к статье. Кто чем сможет
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
and3008



Зарегистрирован: 12.10.2001
Сообщения: 14893
Откуда: Н.Новгород

СообщениеДобавлено: Ср Фев 26 2003 23:07    Заголовок сообщения: Предлагаю сделать 20-ти кратную вложенность и не мучиться. Дальше все равно никто не забредёт. Личный опыт. (-) Ответить с цитатой

-
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
the_Serge



Зарегистрирован: 26.02.2003
Сообщения: 4
Откуда: Moscow

СообщениеДобавлено: Чт Фев 27 2003 11:20    Заголовок сообщения: OK спасибо, положусь на Ваш опыт:) (-) Ответить с цитатой

OK спасибо, положусь на Ваш опытSmile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
DrBorman
Гость





СообщениеДобавлено: Чт Фев 27 2003 13:36    Заголовок сообщения: Сделай отдельную таблицу, в которой храни все разделы. Свяжи таблицы первичными ключами.(-) Ответить с цитатой

-
Вернуться к началу
the_Serge



Зарегистрирован: 26.02.2003
Сообщения: 4
Откуда: Moscow

СообщениеДобавлено: Чт Фев 27 2003 13:51    Заголовок сообщения: тоже пришел к такому выводу + parent_id для учета вложенности (-) Ответить с цитатой

тоже пришел к такому выводу + parent_id для учета вложенности.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
the_Serge



Зарегистрирован: 26.02.2003
Сообщения: 4
Откуда: Moscow

СообщениеДобавлено: Чт Фев 27 2003 13:58    Заголовок сообщения: А если вот так (+) Ответить с цитатой

т.е. одна и та-же подкатегория может принадлежать нескольким категориям
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
and3008



Зарегистрирован: 12.10.2001
Сообщения: 14893
Откуда: Н.Новгород

СообщениеДобавлено: Пт Фев 28 2003 10:28    Заголовок сообщения: Ну не парься, а (+) Ответить с цитатой

Сделай жесткую 20-ти кратную вложенность и хороший поиск по всей базе.

20-ти кратная вложенность обеспечит хорошую каталогизацию, удобный поиск обеспечит безбедную жизнь для пользователей.

Всякие "если и почему" рекомендую отправить в сад. Либо жесткая иерархия (классическая реляционная модель), либо слабо связанная база (типа базы какого-нибудь Яндекса или Google).

Рекомендую не заморачиваться на бесконечную вложенность. Иначе структура база дико усложнится и скорость обработки запросов упадет в 10-100 раз.

Подойди трезво к проблемме. С достаточной долей прагматизма, а не философствования на тему "а что если...".
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Key
Гость





СообщениеДобавлено: Пт Фев 28 2003 17:46    Заголовок сообщения: Re: А если вот так (+) Ответить с цитатой

Тогда делаешь таблицу привязок то бишь отношений между родительскими и дочерними ключами. Классическая система отношений многие ко многим.
1 таблица содержит записи этой твоей древовидности ну типа Rec_Id, Namе
А вторая таблица связок.
Rel_Id,Rec_Rec_id,Parent_Rec_Id,Child_Rec_Id.
Прев ый ID для уникальности записи Дальше код из первой таблицы код ее родителя и потомка.
Таким образом можно описать сколь угодно разветвленную структуру но запаришься искать, строить анализировать.
Лучше стандартную древовидность один ко многим
тогда эдементарно делается бесконечная древовидность одно таблице как и предлагали
Id, Name,Parent_Id может еще Level засадить для красоты показывать уровень вложенности.
И дерево по такой структуре беспроблемнно строится даже если автоматически все. А по одной ветке так вообще без проблем.
Вернуться к началу
I_one
Гость





СообщениеДобавлено: Пн Мар 03 2003 01:18    Заголовок сообщения: Решение для неогланиченного числа потомков есть. Ответить с цитатой

http://www.rsdn.ru/article/default.asp?db/Hierarchy.xml#IDA1 3AVC

http://www.delphikingdom.com/helloworld/dbtreeview.h tm
Вернуться к началу
Andy-C
Гость





СообщениеДобавлено: Вт Мар 04 2003 17:38    Заголовок сообщения: Re: Решение для неогланиченного числа потомков есть. Ответить с цитатой

см. www.citforum.ru/database/articles/tree.shtml
Моделирование иерархических объектов.
Интересные мысли
Вернуться к началу
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Базы данных Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...