Внешнии ключи. Связь МНОГО к МНОГИМ

FedY@

Новичок
Внешнии ключи. Связь МНОГО к МНОГИМ

Например:

name,
adress,
phone - а вот тут "загвоздка", мы не знаем сколько у него телефонов, тоесть может быть 1 или даже 5!!!

Так вот решается эта проблема с помощью внешних ключей!
В MS SQL SERVER там все это решается "промежуточной" таблицей. Получается связь "много к многим"!
НО КАК ЭТО ЗДЕЛАТЬ В MySQL я не могу понять, обрыл все что есть на сайте и так далее...
 

FedY@

Новичок
В MS SQL SERVER получается:) а вот как мне зделать в Мускуле??
 

alpine

Новичок
FedY@
Не пойму. Зачем промежуточная таблица, что она у тебя хранит?
 

svetasmirnova

маленький монстрик
FedY@
А почему нельзя сделать промежуточную таблицу в MySQL?
alpine
удивил
 

alpine

Новичок
svetasmirnova
объясни

-~{}~ 27.11.05 00:54:

ты имеешь ввиду что телефоны бывают одинаковые у разных name и поэтому для полной нормализации их нужно хранить в отдельной таблице, присваивать phone_id и делать промежуточную таблицу с name_id и phone_id?
 

alpine

Новичок
Так вот я именно не понимаю зачем для телефонов нужно создавать отдельные таблицы а не хранить их например через запятую в поле varchar?(с практической точки зрения)
И хочу об этом поинтересоваться.
 

svetasmirnova

маленький монстрик
Целостность базы прежде всего. Потом выборка мне кажется удобнее, чем при помощи like; удаление позиций проще; но главное целостность.
 

Frol

Новичок
точно.
а потом при добавление номера выводить все и предлагать выбрать?

зачем именно _многие_ко_многим_?
 

alpine

Новичок
svetasmirnova
Тоесть для быстрого поиска по номеру телефона? Других плюсов пока не вижу.
 

svetasmirnova

маленький монстрик
Frol,alpine
Вы что, правда "через запятую" "многие ко многим" храните? Мда....
Целостность базы прежде всего
Какие ещё плюсы нужны? Или хранение данных в поле varchar через запятую поможет поддерживать целостность?
 

Frol

Новичок
нет.
я против запятых.
мой вопрос, кажется, четко задан.
 

alpine

Новичок
Frol
Поправь меня если я не прав.
Единственный практический плюс выносить номера в таблицу name_id | phone это поиск по номеру телефона. Потому что phone без name мало кому интересен.

-~{}~ 27.11.05 02:00:

И как я себе представляю поиск по номеру телефона это достаточно редкое явление.
 

SelenIT

IT-лунатик :)
Имхо, достаточно редкое явление уже
телефоны бывают одинаковые у разных name
А если следовать такой логике до конца, то связь name с адресами должна тоже быть m:n - ведь и адресов может быть несколько, а уж повторяться они будут (опять же имхо) гораздо чаще, чем телефоны...
 

alpine

Новичок
Frol
возможно ...

-~{}~ 27.11.05 02:12:

SelenIT
А у телефонов есть еще код города! Почему его не вынести во внешнюю/ие таблицу/ы?
 

alpine

Новичок
Frol
Насчет кода я "согласная" ;)

-~{}~ 27.11.05 02:23:

Телефон может быть домашним, рабочим, мобильным и если это фиксируется то есть смысл в отдельной таблице.
 
Сверху