powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как спроектировать
15 сообщений из 15, страница 1 из 1
Как спроектировать
    #38781973
Alex10001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте,
есть таблица Persons[id,fio], известно, что каждый день проходят встречи между какими-то людьми людьми, какие таблицы надо создать еще на уровне базы, чтобы это отследить?
...
Рейтинг: 0 / 0
Как спроектировать
    #38781996
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
например
Meeting (ID, Date, Description, Location, ... )
PersonOnMeeting (PersonID, MeetingID, Role, ....)
...
Рейтинг: 0 / 0
Как спроектировать
    #38782012
Alex10001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть 2 схемы грубо говоря, что лучше:

1) Человек[id,fio], Турнир[id,date], Встречи[встречи.id, человек1.id,человек2.id,турнир.id]
или
2) Человек[id,fio],Встречи[встречи.id,человек1.id,человек2.id,date]

напоминаю, что каждый день только один турнир
...
Рейтинг: 0 / 0
Как спроектировать
    #38782013
Alex10001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
какая из схем лучше?
...
Рейтинг: 0 / 0
Как спроектировать
    #38782032
WebSharper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Каждый ли день есть турнир?
Возможно ли изменение даты турнира и что должно происходить при этом о встречами?
Напишите user stories.
...
Рейтинг: 0 / 0
Как спроектировать
    #38782047
Alex10001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WebSharper,

турнир каждый день безо всяких переносов, могут быть дни когда турниров не бывает(очень редко до 10 дней в году), тут нет переносов также,
...
Рейтинг: 0 / 0
Как спроектировать
    #38782154
WebSharper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex10001,

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

Не очень понятно, какие виды запросов вы хотите получить от базы
...
Рейтинг: 0 / 0
Как спроектировать
    #38782677
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex10001напоминаю, что каждый день только один турнир
Это Вы сейчас с кем? Про турниры мы только в этом сообщении прочитали. А Вы уже напоминаете...
Про что будете напоминать в следующий раз?
...
Рейтинг: 0 / 0
Как спроектировать
    #38782928
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex10001какая из схем лучше?

Лучше всего -- схема от Кот Матроскин ...
...
Рейтинг: 0 / 0
Как спроектировать
    #38783539
Alex10001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос в том,где хранить дату: в таблице встреч или для этой цели заводить отдельную таблицу с полями (id,date) и передавать просто айдишник в таблицу встреч вместо повторения даты. А может заводить таблицу не стоит и хранение поля дата, даже если оно повторяется - нормальная практика?
...
Рейтинг: 0 / 0
Как спроектировать
    #38783584
Гхостик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex10001Вопрос в том,где хранить дату: в таблице встреч или для этой цели заводить отдельную таблицу с полями (id,date) и передавать просто айдишник в таблицу встреч вместо повторения даты. А может заводить таблицу не стоит и хранение поля дата, даже если оно повторяется - нормальная практика?Если в один день может быть более одного турнира и их нужно различать - тогда нужна отдельная таблица.
...
Рейтинг: 0 / 0
Как спроектировать
    #38783661
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex10001Вопрос в том,где хранить дату: в таблице встреч или для этой цели заводить отдельную таблицу с полями (id,date) и передавать просто айдишник в таблицу встреч вместо повторения даты. А может заводить таблицу не стоит и хранение поля дата, даже если оно повторяется - нормальная практика?Зависит от того, является ли турнир бизнес-сущностью.

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

Если ответы "да", то лучше вариант с отдельной таблицей турниров.

Я бы сделал отдельную таблицу, так как жизнь показывает, что если вы что то упоминаете в описании бизнес-процесса, то скорее всего это отдельная бизнес-сущность, и ответы будут "да", пусть и не с разу, а после внезапного "вспоминания" об этом заказчика.
...
Рейтинг: 0 / 0
Как спроектировать
    #38783910
Ы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ы
Гость
Господа, о чем вы?! ТС собирается хранить ID даты как таковой, т.е.

iddate1 1 августа 19882 3 сентября 19993 8 февраля 2017
...
Рейтинг: 0 / 0
Как спроектировать
    #38783995
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex10001Вопрос в том,где хранить дату: в таблице встреч или для этой цели заводить отдельную таблицу с полями (id,date) и передавать просто айдишник в таблицу встреч вместо повторения даты. А может заводить таблицу не стоит и хранение поля дата, даже если оно повторяется - нормальная практика?
Видели ли, в чём дело. Полной постановки задачи не видно. Потому мы отталкиваемся от теории. В теории конечно правильнее всего хранить как предложил Кот Матроскин, но оказывается, что вы говорите не о встречах как таковых (собраниях, совещаниях и т.д.) а под термином встреча, Вы имеете ввиду матч игры двух противников.
Но и в этом случае правильнее хранить информацию о турнирах в отдельной таблице. Хотя бы потому как при хранении даты в таблице матчей не видна связь что эта дата относится к конкретному турниру. Всё-таки связь матч с турниром лучше прописывать явно. Ибо уже завтра игра может стать настолько популярной, что в течении суток невозможно будет провести турнир чисто физически. И в случае хранения даты, как идентификатора турнира, в таблице матчей, информация будет некорректной (думаю догадаетесь, что тут может быть два варианта прочтения смысла этйо даты)
Потому примите для себя, что хранение информации о турнире отдельно от матчей, проходящих в рамках этого турнира - это вещь более правильная в общем понимании построения БД, но в каждом конкретном случае такое хранение может оказаться лишним. Как поступить решать Вам, тут уже много подсказок Вам сделали.
...
Рейтинг: 0 / 0
Как спроектировать
    #38784886
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivAlex10001какая из схем лучше?

Лучше всего -- схема от Кот Матроскин ...

+ на 100 % ибо она не тупиковая, наиболее универсальная и одновременно самая простая...
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как спроектировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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