Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / fishhook или сущность, ссылающаяся на себя / 8 сообщений из 8, страница 1 из 1
19.08.2008, 17:47
    #35495609
ineedhelp
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
fishhook или сущность, ссылающаяся на себя
немного терминологии:fishhook(фишхук) - ситуация, когда одна сущность является суперсущностью для себя же(подтип является своим супертипом). Например: сущность человек. человек являеца чьим то ребенком, но так же может являться и чьим то родителем.
Вопрос: как при переходе к физической модели разорвать эту связь?(желательны ответы людей разбирающихся, тк создать копию сущности я и сам могу - это не вариант)
...
Рейтинг: 0 / 0
19.08.2008, 17:51
    #35495616
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
fishhook или сущность, ссылающаяся на себя
ineedhelp wrote:

> немного терминологии:fishhook(фишхук) - ситуация, когда одна сущность
> является суперсущностью для себя же

(подтип является своим супертипом).

Вот про "подтип/супертип" здесь не надо. Это здесь ни при чём.

> Например: сущность человек. человек являеца чьим то ребенком, но так же
> может являться и чьим то родителем.
> Вопрос: как при переходе к физической модели разорвать эту
> связь?(желательны ответы людей разбирающихся, тк создать копию сущности
> я и сам могу - это не вариант)

Ключ к пониманию проблемы тут лежит в осознании того, что
не сущность "человек" является ребёнком или родителем, а
экземпляр этой сущности "человек" является ребёнком или родителем.

Так что ничего разрывать не надо, у тебя просто в мозгах что-то запудрилось.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
19.08.2008, 17:58
    #35495637
ineedhelp
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
fishhook или сущность, ссылающаяся на себя
>Ключ к пониманию проблемы тут лежит в осознании того, что
>не сущность "человек" является ребёнком или родителем, а
>экземпляр этой сущности "человек" является ребёнком или родителем.

как тогда при разработке конкретной бд мне указать что этот экземпляр сущности является родителем для других?
...
Рейтинг: 0 / 0
19.08.2008, 18:49
    #35495738
Bely
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
fishhook или сущность, ссылающаяся на себя
ineedhelpкак тогда при разработке конкретной бд мне указать что этот экземпляр сущности является родителем для других?Обычный FK на себя.
Стандартный вариант представления иерархических структур.

При необходимости отслеживать неопределенное кол-во связей между объектами - делаем связь "многие-ко-многим" на эту же таблицу.

Пример, odnoklasniki.ru

Структуры данных, надеюсь, понятны?
Рисовать не надо?
...
Рейтинг: 0 / 0
19.08.2008, 18:59
    #35495747
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
fishhook или сущность, ссылающаяся на себя
ineedhelp wrote:

> как тогда при разработке конкретной бд мне указать что этот экземпляр
> сущности является родителем для других?

Путём оператора insert или update, наверное. Я не понимаю вопроса.
Экземпляр сущности - запись в таблице.
У вас будет таблица с Foreign Key самой на себя (неключевое поле
типа parent int null будет ссылаться на ключевое типа
id int not null). Чего ещё непонятно ?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
19.08.2008, 19:27
    #35495773
ineedhelp
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
fishhook или сущность, ссылающаяся на себя
BelyСтруктуры данных, надеюсь, понятны?
Рисовать не надо?

структуры не нада, не совсем понял как таблицу создать такую(код)
у меня дольжны быть поля ( для упрощения ) id name
то есть еще нужно одно поле reference создать?или 2 если для меня есть разница между child и parent?

очень буду благодарен если отпишешь в 654ноль семь ноль (ася)
...
Рейтинг: 0 / 0
19.08.2008, 23:57
    #35495941
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
fishhook или сущность, ссылающаяся на себя
ineedhelp wrote:

> структуры не нада, не совсем понял как таблицу создать такую(код)
> у меня дольжны быть поля ( для упрощения ) id name
> то есть еще нужно одно поле reference создать?или 2 если для меня есть
> разница между child и parent?


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
create table PERSON
(
   person_id int not null PRIMARY KEY,
   -- ...

   parent_id int null,
   constraint FK_PERSON_in_PERSON_as_parent
   foreign key (parent_id) references PERSON

   --...
)

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
20.08.2008, 09:53
    #35496162
_мод
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
fishhook или сущность, ссылающаяся на себя
ineedhelpесли для меня есть разница между child и parent?
Направленный граф - две таблицы: вершины и дуги :)
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / fishhook или сущность, ссылающаяся на себя / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]