Я пытаюсь создать базу данных для веб-сайта frienship, который я создаю. Я хочу, чтобы хранить несколько атрибутов о пользователе, такие как пол, образование, домашние животные и т.д.Дизайн сайта базы данных Дружбы
Решение # 1 - User
стол:
id | age | birth day | City | Gender | Education | fav Pet | fav hobbie. . .
--------------------------------------------------------------------------
0 | 38 | 1985 | New York | Female | University | Dog | Ping Pong
Проблема у меня есть список атрибутов продолжается и и сейчас моя таблица пользователя имеет 20 столбцов.
Я чувствую, что могу нормализовать это, создав другую таблицу для каждого атрибута, как показано ниже. Однако это создало бы много соединений, и я все еще остаюсь с большим количеством столбцов в таблице пользователей.
Решение # 2 - User
стол:
id | age | birth day | City | Gender | Education | fav Pet | fav hobbies
--------------------------------------------------------------------------
0 | 38 | 1985 | New York | 0 | 0 | 0 | 0
Pets
стол:
id | Pet Type
---------------
0 | Dog
Кто-нибудь есть какие-либо идеи, как подойти к этой проблеме он чувствует, как оба ответа неверны. Каков правильный дизайн таблицы для этой базы данных?
Посмотрите «объект значение атрибута» , В принципе, некоторые из ваших атрибутов не «заслуживают» столбца, они могут быть просто строкой в таблице пар ключ-значение. – IMSoP
Но как насчет значений из выпадающего меню, в котором пользователь может вводить только выбранный список, можно сказать, что 4 варианта для домашних животных (собака, кошка, птица, рыба). Будет ли это заслуживать колонку? –