|
|
|
| Есть несколько таблиц, главная:
CREATE TABLE `user`(
`id` INT(10) UNSIGNED NOT NULL auto_increment,
`login` VARCHAR(25) NOT NULL,
`pass` VARCHAR(14) NOT NULL,
PRIMARY KEY (`id`, `login`)
)ENGINE=MyISAM
DEFAULT CHARSET=utf8
AUTO_INCREMENT=1
COMMENT = "Таблица юзеров";
|
Осталные:
CREATE TABLE `info`(
`id` INT(10) UNSIGNED NOT NULL,
`name` VARCHAR(20) DEFAULT '',
`surn` VARCHAR(25) DEFAULT '',
PRIMARY KEY (`id`)
)ENGINE=MyISAM
DEFAULT CHARSET=utf8
COMMENT = "Инфа";
|
и так несколько штук....
CREATE TABLE `.....`(
`id` INT(10) UNSIGNED NOT NULL,
.......
.......
.......
PRIMARY KEY (`id`)
)ENGINE=MyISAM
DEFAULT CHARSET=utf8
COMMENT = "......";
|
собственно думаю смысл понятен, в главной хранятся регистрационны даные, в остальных прочая инфа. Во всех таблицах обязательно должны быть записи по конкретному id.
Мне подсказали что нужно сделать связи таблиц или внешние ключи.. но я новичек, не знаю как сделать лучше и правельнее.
Вобщем буду рад любым советам и замечаниям по поводу этой схемы. | |
|
|
|
|
|
|
|
для: mr.artek
(07.12.2009 в 12:05)
| | Если связь в таблицах жестко 1:1 , то отдельных полей для чужого ключа делать не нужно.
Единственное, что имеет смысл снять признак автоинкремента с подчиненных таблиц. Собственно, у Вас он и не стоит. | |
|
|
|
|
|
|
|
для: Trianon
(07.12.2009 в 12:14)
| | спасибо за ответ.
А не подскажите можно как нибудь за один запрос добавить записи во все таблицы?
И прочие операциии, я щас делаю так:
SELECT .... FROM user, info, ... WHERE user.id = info.id AND user.id = `.....`.id AND еще много таблиц. Получается длинное перечисление, можно как либо от этого избавиться? | |
|
|
|
|
|
|
|
для: mr.artek
(07.12.2009 в 12:21)
| | 1. да простым способом - никак, собственно.
Из сложных можно попробовать хранимой процедурой.
2. Я бы предпочел цепочку LEFT JOIN ... ON ... но смысл особо не изменится - только наглядность. | |
|
|
|
|
|
|
|
для: Trianon
(07.12.2009 в 12:25)
| | А что скажите насчет типа innodb?
Есть смысл в данном случае использовать её? | |
|
|
|
|
|
|
|
для: mr.artek
(07.12.2009 в 12:30)
| | в каком - данном? | |
|
|
|
|
|
|
|
для: Trianon
(07.12.2009 в 12:31)
| | Ну при таком построении таблиц 1:1 ) | |
|
|
|
|
|
|
|
для: mr.artek
(07.12.2009 в 12:37)
| | никак не связанные вещи. | |
|
|
|