Я проектирование базы данных, имеющие следующие объекты:
Student_detail
: имеет id
как PK и отдохнуть некоторые атрибуты.
Event
: Имеет сведения о различных событиях. event_no
- ПК. (есть около 32 событий)
Participates_in
: есть отношение между student_detail
и event
, имеет оба своих ПК как FKs.
Team_with
: это отношение от таблицы student_detail
к ней, она имеет столбцы 8participant
, одна колонка team_id
, одна колонка for_event_no
(FK to event_no). Все столбцы participant
являются FKs до student_detail.id
.
В одной строке этого столбца отображается команда для определенного события.
Число 8, потому что максимальный размер команды во всех случаях равен 8.
События имеют переменное количество разрешенных размеров команды.
Я разработал таблицу team_with, чтобы избежать создания 30 разных таблиц для разных событий.
В связи с этим длина запроса увеличивается. Это хороший дизайн? Я хотел бы предложить для этого предложения.Проблемы с Schema Design
0
A
ответ
0
Все ли члены команды имеют равное членство? Если в команде было 8 фиксированных ролей, я бы согласился с вашим дизайном. Если нет, я предлагаю:
teams (team_id PK, for_event_no FK)
team_members (team_id PK/FK, student_detail_id PK/FK)
Однако применение максимального размера команды в 8 может оказаться более сложным. Я не вижу в этом серьезной проблемы, так как вы говорите, что разные события допускают разные размеры команд, поэтому ограничение в 8 может быть включено в этот механизм, однако оно реализовано.
В чем разница между участием в событии и членством в команде, связанной с этим событием? Уже существует связь между Event
и Student_detail
- прямо в вашем Team_with
и транзитно в моем предложении. Participates_in
может быть избыточным, если участие не возможно без участия в команде.
Смежные вопросы
- 1. Mongo DB Schema Design
- 2. Neo4J Schema Design Query
- 3. Java xml schema design
- 4. User Roles DB Schema Design
- 5. Mongodb schema design meteor js
- 6. Orientdb User Friend design schema
- 7. MongoDB Schema Design - Новая коллекция?
- 8. MongoDB Schema Design - enable atomicity
- 9. Программное обеспечение Rails Schema Design?
- 10. MongoDB Schema Design для базы данных языков
- 11. MongoDB Schema Design - Голосование по сообщениям
- 12. MongoDB Schema Design - чат реального времени
- 13. Django Admin Inline and Schema Design
- 14. Graph db design to diagramQL schema
- 15. SQL Schema Design: Связано со многими таблицами?
- 16. solr schema design, multiple key/vals
- 17. Попытка Design Star Schema с участием «виды аренды»
- 18. Эффективного SQL Schema Design с нечетными один-к-многим
- 19. Проблемы с пространством имен XSD Schema
- 20. mongo schema design - ошибка в комбинации $ или и сортировка
- 21. Material Design Lite + React - Проблемы с подсказками
- 22. MongoDB Schema Design (вложенный массив против отдельной коллекции)
- 23. SQL Schema Design: отдельные таблицы или массовый стол Масштабируемость
- 24. MongoDB Schema Design - Много мелких документов или меньше крупных документов?
- 25. MongoDB Dynamic Schema
- 26. JSON Schema vs XML Schema
- 27. Design Проблема с светлячок
- 28. Проблемы Переплет MouseDoubleClick с помощью MV-MV Design Pattern
- 29. Material Design Lite проблемы рендеринга с угловым JS
- 30. Реализация проблемы с контуром Pattern, design and function pointer issue
Каждое мероприятие имеет разные размеры команды. Максимальный размер этих групп - 8 (есть событие с размером команды 8, остальные - меньше). Даже я начинал думать, что один из 'Participates_in' и' team_with' является избыточным. – klbm9999
Как насчет этого, в 'участвует_in', я бы включил столбцы' team_id (int) 'и и' is_leader (bool) 'и drop' team_with' – klbm9999
Может ли студент принадлежать более чем одной команде за событие? – reaanb