Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Несколько значений в одной ячейке / 14 сообщений из 14, страница 1 из 1
02.10.2019, 16:50
    #39870670
KentoDuval
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько значений в одной ячейке
Всем привет! Нид Хэлп.

Пишу сайт о футбольной тематике и появился один вопрос. Он дилетантский - новичок и пишу для себя.


Есть таблица, упрощенный вариант которой:
Players
---------
Name
Surname
Country - гражданство
Position - основная позиция
ExtraPosition - дополнительные позиции.


1. Есть игроки, которые имеют двойное гражданство.
2. Дополнительные позиции - от 1 до 10

Как лучше реализовать данные пункты?

Самое простое, но не очень красивое, что пришло мне в голову:
1.Country и SecondCountry
2. ExtraPosition_1, ExtraPosition_2, ExtraPosition_3 и далее


Можно ли как-то сделать по типу:
Country: Russia, Brasil
ExtraPosition: ST, AMC

Заранее спасибо!
...
Рейтинг: 0 / 0
02.10.2019, 20:30
    #39870832
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько значений в одной ячейке
Связь M:N требует дополнительной таблицы
...
Рейтинг: 0 / 0
03.10.2019, 10:52
    #39871003
KentoDuval
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько значений в одной ячейке
Akina,
тоже думал о таком, но громоздко

Другого варианта нет?
...
Рейтинг: 0 / 0
03.10.2019, 12:19
    #39871059
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько значений в одной ячейке
KentoDuvalДругого варианта нет?Разумного - нет. А поле CSV/JSON/XML - имхо не является разумным решением.
...
Рейтинг: 0 / 0
03.10.2019, 13:08
    #39871116
MAPA3OT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько значений в одной ячейке
KentoDuval,

Как мне кажется, Гражданство и Позицию проще делать вообще проще делать отдельными таблицами, тогда по итогу получится:

Пример
PLAYER
ID NAME SURNAME1ИванИванов2ЖанБювье3ДиегоАрхипов


POSITION
ID TITLE1Нападающий2Защитник3Вратарь

COUNTRY
ID TITLE1Россия2Афганистан3Бразилия

PLAYER_TO_POSITION
PLAYER_ID POSITION_ID IS_MAIN111211230321

PLAYER_TO_COUNTRY
PLAYER_ID COUNTRY_ID11132233
...
Рейтинг: 0 / 0
03.10.2019, 15:41
    #39871197
KentoDuval
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько значений в одной ячейке
MAPA3OT,

понял, в итоге 5 таблиц?
...
Рейтинг: 0 / 0
03.10.2019, 16:30
    #39871230
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько значений в одной ячейке
KentoDuval , укажите точную версию своего сервера. А то на показанной товарищем структуре могут быть проблемы с контролем единственности основной позиции - запросто их можно ввести две. Если, конечно, основных позиций (как у гражданства) не может быть несколько...
...
Рейтинг: 0 / 0
03.10.2019, 16:51
    #39871247
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько значений в одной ячейке
KentoDuvalМожно ли как-то сделать по типу:
Country: Russia, Brasil
ExtraPosition: ST, AMC
Можно. Но нарушение первой НФ карается геморроем.
...
Рейтинг: 0 / 0
03.10.2019, 17:10
    #39871257
KentoDuval
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько значений в одной ячейке
Akina,

только сильно не бейте, делаю на xampp, последняя версия.


я думал просто в бэке прописать условие, когда добавляешь или изменяешь игрока, что главная позиция только одна.
...
Рейтинг: 0 / 0
03.10.2019, 17:11
    #39871258
KentoDuval
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько значений в одной ячейке
Dimitry Sibiryakov,

понимаю, гражданство у меня будет часто где-то всплывать, позиция не так
...
Рейтинг: 0 / 0
03.10.2019, 18:39
    #39871324
MAPA3OT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько значений в одной ячейке
Akina,
Не нравится IS_MAIN, всегда можно поменять на PRIORITY ;)
...
Рейтинг: 0 / 0
03.10.2019, 18:44
    #39871327
MAPA3OT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько значений в одной ячейке
KentoDuval,

Да, как мне кажется, 5 было бы логичнее + как заметил Akina, чтобы не было путанницы можно IN_USE заменить на PRIORITY, то есть такая внутренняя сортировка:
PLAYER_TO_POSITION
PLAYER_IDPOSITION_IDPRIORITY111122133221212331

Про XAMPP.

Этот? XAMPP release 7.1.32 , 7.2.22 , 7.3.9
Тогда под капотом - MariaDB 10.4.6
...
Рейтинг: 0 / 0
04.10.2019, 09:01
    #39871458
KentoDuval
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько значений в одной ячейке
MAPA3OT,
Да - этот


Спасибо всем за помощь)
...
Рейтинг: 0 / 0
04.10.2019, 11:52
    #39871562
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько значений в одной ячейке
KentoDuvalделаю на xampp, последняя версия.У Вас спросили версию MySQL-сервера. Я не полезу смотреть, какая у XAMPP версия крайняя, и какой в неё вкорячили MySQL...
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Несколько значений в одной ячейке / 14 сообщений из 14, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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