Задание:
Пусть у нас есть юзеры. Каждый юзер имеет отца и мать. Распишите структуру хранения.
SQL
PHP & MySQL Помогите разобраться, как это решать. У меня голова уже опухла.
можно разделить на отдельные таблицы father и mother, тогда получится три таблицы, при этом у usera в таблице будут колонки father_id и mother_id...
Хотя, многое зависит от того, будут ли эти данные как-то еще использоваться.
Так как данные отцов и матерей неизменные для детей, то можно было это все свести в одну таблицу.
Хотя, многое зависит от того, будут ли эти данные как-то еще использоваться.
Так как данные отцов и матерей неизменные для детей, то можно было это все свести в одну таблицу.
Евгений Болушевский
по условию задачи 2 таблицы должно быть
Евгений Болушевский
первая таблица

Таблица «Человек» у него есть понятно поле ID и поле отец и мать. Так как на западе разрешено уже не учитывать пол, то можно в матери и отцы выбрать кого угодно :)
Так что вносите в поле отец и мать любые два существующих человека. Все хранится в одной таблице. Но что делать для 1 записи? Если ограничение поставить, что нельзя сохранить запись с пустыми отец и мать. Видно null надо для этих полей, вдруг нашли тебя :) так что без отца и матери...а точнее два null - отец и мать твой БОГ.
Прикол потом при изменениях, если я возьму и укажу у A что отец B а у B что отец A :) тут триггер ставить надо.
Так что вносите в поле отец и мать любые два существующих человека. Все хранится в одной таблице. Но что делать для 1 записи? Если ограничение поставить, что нельзя сохранить запись с пустыми отец и мать. Видно null надо для этих полей, вдруг нашли тебя :) так что без отца и матери...а точнее два null - отец и мать твой БОГ.
Прикол потом при изменениях, если я возьму и укажу у A что отец B а у B что отец A :) тут триггер ставить надо.
Евгений Болушевский
извини но я тебя плохо понял. видимо после лоботомии не могу прийти в себя
Ты слишком заморочился:
User:
name: str
mother_id fk(User)
father_id fk(User)
вот и все.
Либо если нужно больше родственных связей то:
User:
name
UserRelative:
user_from_id -> fk(User)
user_to_id -> fk(User)
relation_type: Enum (father, mother, sister, brother)
User:
name: str
mother_id fk(User)
father_id fk(User)
вот и все.
Либо если нужно больше родственных связей то:
User:
name
UserRelative:
user_from_id -> fk(User)
user_to_id -> fk(User)
relation_type: Enum (father, mother, sister, brother)
Евгений Болушевский
Для father, mother, sister, brother надо отдельно таблицу сделать?
1 табл. id, users
2 табл. id, mother, father, childrens
> 1 табл
77 Alex Rofl
88, Kenny Star
99, Armen Armenov
100, Max Armenov
> 2 табл
1, мать1, отец1, Alex Rofl
2, мать2, null, Kenny Star
3, мать3, отец3, Armen Armenov,Max Armenov
на выходе получаем id у 2 таблицы как ячейку семи общества
2 табл. id, mother, father, childrens
> 1 табл
77 Alex Rofl
88, Kenny Star
99, Armen Armenov
100, Max Armenov
> 2 табл
1, мать1, отец1, Alex Rofl
2, мать2, null, Kenny Star
3, мать3, отец3, Armen Armenov,Max Armenov
на выходе получаем id у 2 таблицы как ячейку семи общества
Евгений Болушевский
childrens нет такого слова. есть children. единственное число child. мн.ч children
Это так для кругозора. Всегда поражался тому насколько матерые программисты есть, но совершенно не знают английского языка.
Мне наоборот Английский намного легче зашёл чем программирование.
Это так для кругозора. Всегда поражался тому насколько матерые программисты есть, но совершенно не знают английского языка.
Мне наоборот Английский намного легче зашёл чем программирование.
Завьялов Владислав
а у меня привычка всё что в множественном числе должно быть с окончанием s
Похожие вопросы
- Помогите разобраться с синтаксисом, серверный MySQL на PHP.
- Какой тип данных использовать для хранения времени в секундах (php time()) mySQL
- Друзья пожалуйста скажите любой бесплатный хостинг чтобы работал и поддерживал PHP + MySQL.
- Форма ввода в базу данных MySQL через Php
- Под каким пользователем нужно работать в MySQL?
- MySQL Truncate/Delete - как это работает?
- Почему так нужен mysql?
- Не отрабатывает вложенный MySQL запрос
- Помогите решить 2 проблемы с Mysql
- Как в Mysql поставить, что бы при регистрации пароль содержал не меньше 8 символов?