powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Одна ссылка для 2х разных сущностей
25 сообщений из 53, страница 1 из 3
Одна ссылка для 2х разных сущностей
    #38748577
lemurry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Проектирую первую в своей жизни базу. Предметная область - общество защиты животных, точнее его отчетная сторона.
Большинство животных находятся на передержке у людей дома. Имеются следующие сущности: сбор на пожертвование, человек и животное. Животное имеет ссылку на человека (куратора). Планировалось у сбора сделать ссылку на животное. Но затем я осознала, что нужно добавить такую сущность, как приют. На приют также собираются пожертвования (например, сбор на корм). Вопрос - как спроектировать базу, чтобы в сборе указывать, куда идут деньги (приют или отдельное животное)? Была идея объединить приют и человека, как одну сущность, но на человека не должны идти пожертвования, только на животное. Объединить животное и приют также нельзя, т.к. у них абсолютно разные атрибуты. Создавать в таблице сбора несколько полей также не представляется мне хорошим вариантом.

Очень надеюсь на помощь. Заранее спасибо!
...
Рейтинг: 0 / 0
Одна ссылка для 2х разных сущностей
    #38748582
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сбор идёт на конкретное животное?
С одного сбора могут кормиться несколько животных?
Может с одного сбора кормиться и животное и приют?
Связаны животные с приютами?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Одна ссылка для 2х разных сущностей
    #38748591
lemurry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

Сбор идет либо на животное, либо на приют.
Нет, один сбор - одно животное\приют.
Животные, обитающие в приюте, связаны с ним. Остальные животные на передержке. Еще есть состояния: потерян, нуждается в передержке и т.д.
...
Рейтинг: 0 / 0
Одна ссылка для 2х разных сущностей
    #38748595
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lemurryНет, один сбор - одно животное\приют.
Конкретное животное или "какое-нибудь животное"?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Одна ссылка для 2х разных сущностей
    #38748597
lemurry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

Сбор идет на конкретное животное.
...
Рейтинг: 0 / 0
Одна ссылка для 2х разных сущностей
    #38748601
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lemurryОбъединить животное и приют также нельзя, т.к. у них абсолютно разные
атрибуты.
Но можно ввести новую сущность "получатель денег", на которую и будут ссылаться и животные
и приюты.
Другой вариант: два поля в таблице сборов "тип получателя" и "ссылка". Вряд ли у тебя
будет конкурентная нагрузка, так что ведение ссылочной целостности триггерами возможно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Одна ссылка для 2х разных сущностей
    #38748605
lemurry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

Большое спасибо за помощь. Я склонялась к первому варианту, но думала, что может кто посоветует как-нибудь изменить структуру базы.
...
Рейтинг: 0 / 0
Одна ссылка для 2х разных сущностей
    #38749275
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lemurryЗдравствуйте!

Проектирую первую в своей жизни базу. Предметная область - общество защиты животных, точнее его отчетная сторона.
Большинство животных находятся на передержке у людей дома. Имеются следующие сущности: сбор на пожертвование, человек и животное. Животное имеет ссылку на человека (куратора). Планировалось у сбора сделать ссылку на животное. Но затем я осознала, что нужно добавить такую сущность, как приют. На приют также собираются пожертвования (например, сбор на корм). Вопрос - как спроектировать базу, чтобы в сборе указывать, куда идут деньги (приют или отдельное животное)? Была идея объединить приют и человека, как одну сущность, но на человека не должны идти пожертвования, только на животное. Объединить животное и приют также нельзя, т.к. у них абсолютно разные атрибуты. Создавать в таблице сбора несколько полей также не представляется мне хорошим вариантом.

Очень надеюсь на помощь. Заранее спасибо!
Пока еще не поздно, задумайтесь о том, что существует теория баз данных. И проектирование баз данных)) Животное может иметь вес, но не может иметь ссылку на человека))) Перестаньте употреблять слово "ссылка", так как это просто неудачный способ моделирования связей между сущностями. Вы же говорите "имеются следующие сущности". Точно так же нужно говорить и о связях между сущностями.

Сущности:

Человек {Фамилия, ...}
Животное {Кличка, ...}
Приют {Название, ...}
Тип пожертвования {Наименование}
Вид животного {Наименование}
Пожертвование {Сумма, ...}

Связи:

Человек --- Сделал/Сделано от --> Пожертвование
Приют --- Для которого сделано/Для --> Пожертвование
Животное --- Для которого сделано/Для --> Пожертвование
Тип пожертвования --- Относится к/Имеет --> Пожертвование
Вид животного --- Относится к/Имеет --> Животное
Приют --- В котором содержится/Содержится в --> Животное
Человек --- У которого содержится/Содержится у --> Животное
...
Рейтинг: 0 / 0
Одна ссылка для 2х разных сущностей
    #38749287
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Кто тебя учил? Покажи мне. И я разорву его, как Тузик грелку." )))
YouTube Video
...
Рейтинг: 0 / 0
Одна ссылка для 2х разных сущностей
    #38749405
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Чал, вы уже когда-нибудь заткнёте фонтан? Дебил - это оптимистичная оценка ваших способностей.
...
Рейтинг: 0 / 0
Одна ссылка для 2х разных сущностей
    #38749511
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621Чал, вы уже когда-нибудь заткнёте фонтан? Дебил - это оптимистичная оценка ваших способностей.
)))) Дебилы, как раз, не переживают так, как Вы из-за отсутсвия знаний. А Вы очень переживаете, что у Вас были такие вот учителя. Но, есть другой вариант - учиться у профессионалов. Вопросы задавать, если что-то не понятно. А Вы просто обижаетесь все время на свои незнания. И пишите глупости) Пожалуйста, пишите по существу, если есть что сказать.
...
Рейтинг: 0 / 0
Одна ссылка для 2х разных сущностей
    #38749559
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> не переживают так, как Вы

Тебя не остановило даже то, что ТС открыто написала, что это её первая база данных. Скажи, где ты работаешь, я, вопреки природной лени, лично приду к твоему непосредственному начальнику и расскажу о твоей квалификации. Быдло должно подметать трамвайные пути, а не гадить в форумах.
...
Рейтинг: 0 / 0
Одна ссылка для 2х разных сущностей
    #38749566
lemurry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Бредятина,

Я обязательно учту. Вы правы, нужно называть вещи своими именами, и делать это грамотно, по крайней мере, стремиться. Простите, если Ваши глаза полезли на лоб от моей некомпетентной речи, я только учусь, и всегда буду рада Вашей критике. Спасибо.

И если по сабжу, Вы не могли бы чего-нибудь посоветовать? Я была бы очень признательна.
...
Рейтинг: 0 / 0
Одна ссылка для 2х разных сущностей
    #38749575
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lemurry,

Вам Сибиряков посоветовал разумную вещь - ввести супертип для всех потенциальных получателей пожертвований.
Вам в этом предложении что-то непонятно? Или Вы хотите собрать разные мнения?
Ждать от Бредятины практических советов не рекомендую ;)
...
Рейтинг: 0 / 0
Одна ссылка для 2х разных сущностей
    #38749632
lemurry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кот МатроскинВам Сибиряков посоветовал разумную вещь - ввести супертип для всех потенциальных получателей пожертвований.
Вам в этом предложении что-то непонятно? Или Вы хотите собрать разные мнения?
Я последовала его совету). Но тем не менее, интересно было бы узнать и другие мнения, если они конечно есть.

Кот Матроскин Ждать от Бредятины практических советов не рекомендую ;)
Да, мне говорили, что этот персонаж здесь широко известен не благодаря практическим советам)
...
Рейтинг: 0 / 0
Одна ссылка для 2х разных сущностей
    #38749633
1001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
lemurryЗдравствуйте!

Проектирую первую в своей жизни базу. Предметная область - общество защиты животных, точнее его отчетная сторона.
Большинство животных находятся на передержке у людей дома. Имеются следующие сущности: сбор на пожертвование, человек и животное. Животное имеет ссылку на человека (куратора). Планировалось у сбора сделать ссылку на животное. Но затем я осознала, что нужно добавить такую сущность, как приют. На приют также собираются пожертвования (например, сбор на корм). Вопрос - как спроектировать базу, чтобы в сборе указывать, куда идут деньги (приют или отдельное животное)? Была идея объединить приют и человека, как одну сущность, но на человека не должны идти пожертвования, только на животное. Объединить животное и приют также нельзя, т.к. у них абсолютно разные атрибуты. Создавать в таблице сбора несколько полей также не представляется мне хорошим вариантом.

Очень надеюсь на помощь. Заранее спасибо!чот не верицца..))


имхо в Вашем случае

животное
место
человек

все остальное - производное
время в т.ч.


16586087
...
Рейтинг: 0 / 0
Одна ссылка для 2х разных сущностей
    #38749649
lemurry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1001,

1001животное
место
человек

все остальное - производное
время в т.ч.


16586087
Если честно, я не поняла, что вы имеете ввиду. Время? Какое время?

1001чот не верицца..))
Почему не верится?
...
Рейтинг: 0 / 0
Одна ссылка для 2х разных сущностей
    #38749652
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lemurry Но тем не менее, интересно было бы узнать и другие мнения, если они конечно есть.Конечно есть и даже на этой же странице
http://www.sql.ru/forum/67152/nasledovanie-v-baze-dannyh
...
Рейтинг: 0 / 0
Одна ссылка для 2х разных сущностей
    #38749668
1001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
lemurry1001,

1001животное
место
человек

все остальное - производное
время в т.ч.


16586087
Если честно, я не поняла, что вы имеете ввиду. Время? Какое время?

1001чот не верицца..))
Почему не верится?


время
С...По
...
Рейтинг: 0 / 0
Одна ссылка для 2х разных сущностей
    #38749678
lemurry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SERG1257,

Спасибо)
...
Рейтинг: 0 / 0
Одна ссылка для 2х разных сущностей
    #38749724
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lemurryБредятина,

Я обязательно учту. Вы правы, нужно называть вещи своими именами, и делать это грамотно, по крайней мере, стремиться. Простите, если Ваши глаза полезли на лоб от моей некомпетентной речи, я только учусь, и всегда буду рада Вашей критике. Спасибо.

И если по сабжу, Вы не могли бы чего-нибудь посоветовать? Я была бы очень признательна.
Надеюсь Вы просто пошутили. А не поверили местным "профессионалам" о моей способности давать практические советы)) Я Вам дал схему БД, Вы заметили?

Теперь поясню чем это отличается от "двух полей в таблице", о которых Вам написал Дмитрий Сибиряков (в одном поле Вам предложили хранить имя одного из отношений, с помощью которых моделируются две сущности (Приют и Животное), а в другом (которое является внешним ключом) значение первичного ключа конкретного экземпляра этой сущности (можно использовать пару понятий "тип сущности" и "сущность" вместо "сущность" и "экземпляр сущности").

В случае классической БД нет никаких "полей в таблицах", а есть, как видите, две связи (попутно еще раз подчеркну, что у сущностей есть их собственные свойства, и никаких "ссылок" среди этих свойств нет). Важно, что и триггеры в этом случае не нужны. Вполне достаточно обойтись декларативными ограничениями целостности (запретить создавать связи со стороны Пожертвования). И просто пользоваться функцией "Создать новый экземпляр и связать" со стороны "субъекта" (Приюта или Животного).

Запомните несколько простых истин:
1) Связи всегда бинарные.
2) Связи всегда двухсторонние.
3) У связей нет никаких свойств (иначе они стали бы сущностями).
4) Чен серьезно заблуждается в своей статье о модели сущность-связь, то, что он называет связями, является сущностями.
...
Рейтинг: 0 / 0
Одна ссылка для 2х разных сущностей
    #38749728
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621> не переживают так, как Вы

Тебя не остановило даже то, что ТС открыто написала, что это её первая база данных. Скажи, где ты работаешь, я, вопреки природной лени, лично приду к твоему непосредственному начальнику и расскажу о твоей квалификации. Быдло должно подметать трамвайные пути, а не гадить в форумах.
Именно это и позволяет надеяться, что она не закончит процесс познания БД тем, что будет объявлять дебилами людей, которые понимают, что у собаки нет ссылки на человека)))... Теперь, что касается этого Вашего странного высказывания о ключах. Напомню, что "ключи" - это не элемент структуры, о ограничения целостности. Только первобытные люди могли создавать структуру с помощью не структуры, а ограничений целостности))) И еще нынешние специалисты в области "реляционных систем")))
...
Рейтинг: 0 / 0
Одна ссылка для 2х разных сущностей
    #38749736
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lemurryКот МатроскинВам Сибиряков посоветовал разумную вещь - ввести супертип для всех потенциальных получателей пожертвований.
Вам в этом предложении что-то непонятно? Или Вы хотите собрать разные мнения?
Я последовала его совету). Но тем не менее, интересно было бы узнать и другие мнения, если они конечно есть.

Кот Матроскин Ждать от Бредятины практических советов не рекомендую ;)
Да, мне говорили, что этот персонаж здесь широко известен не благодаря практическим советам)
Теперь, давайте я встану на Вашу сторону, и попробую объяснить зачем в самом начале пути Вы используете абсолютно бесперспективную технологию. Итак: "Да, может быть Вы и правы. Но, в моем приложении необходима алгебра! Поэтому я выбрала реляционную технологию." К сожалению, подкрепить это высказывание ничем невозможно. Ни я, ни Вы, ни Ваш преподаватель, никто не сможет объяснить зачем в этом приложении нужна алгебра))) Более того, еще никому (кроме меня) не удалось обнаружить ни одного приложения БД, для которого была бы нужна алгебра)...
...
Рейтинг: 0 / 0
Одна ссылка для 2х разных сущностей
    #38749742
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lemurryКот МатроскинВам Сибиряков посоветовал разумную вещь - ввести супертип для всех потенциальных получателей пожертвований.
Вам в этом предложении что-то непонятно? Или Вы хотите собрать разные мнения?
Я последовала его совету). Но тем не менее, интересно было бы узнать и другие мнения, если они конечно есть.

Кот Матроскин Ждать от Бредятины практических советов не рекомендую ;)
Да, мне говорили, что этот персонаж здесь широко известен не благодаря практическим советам)
Разумеется, lemurry, другие мнения касаются только выбранной Вашим преподавателем и навязанной Вам технологии) А от таких персонажей нужно держаться подальше - это Вам правильно объяснили)
...
Рейтинг: 0 / 0
Одна ссылка для 2х разных сущностей
    #38749748
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lemurryДа, мне говорили, что этот персонаж здесь широко известен не благодаря практическим советам)
А что же Вы не сказали - чем? Значит Вас, на самом деле, базы данных не интересуют, раз начинаете с каких-то тайн)))
...
Рейтинг: 0 / 0
25 сообщений из 53, страница 1 из 3
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Одна ссылка для 2х разных сущностей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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