|
MySQL.RU - Webboard
Вернуться
нуждаюсь в советах! (Олег) 28/03/2003 - 20:51:49
Re: нуждаюсь в советах! (Dinky) 28/03/2003 - 21:57:53
Re: нуждаюсь в советах! (victorb) 28/03/2003 - 22:00:01
Re: нуждаюсь в советах! (walrus) 28/03/2003 - 22:23:49
Re: нуждаюсь в советах! (Олег) 28/03/2003 - 22:38:50
Re: нуждаюсь в советах! (Олег) 28/03/2003 - 23:03:54
Re: нуждаюсь в советах! (Dinky) 28/03/2003 - 23:06:32
Re: нуждаюсь в советах! (Валентин) 31/03/2003 - 11:40:26
> Original message text:
> From: Олег - 28/03/2003 - 20:51:49
> Subject:нуждаюсь в советах!
> -----------------
> очень хочется узнать мнение опытных специалистов, чтобы чувствовать себя увереннее и свести в будущем ошибки проектирования к минимуму.
>
> База данных по организациям и их представителям.
> Создаю две таблицы:
> 1. для данных об организациях
>
> CREATE TABLE `members` (
> `member_id` smallint(4) NOT NULL auto_increment,
> `member_name` char(160) NOT NULL default '',
> `member_status` char(10) default NULL,
> `member_country` char(40) NOT NULL default '',
> `member_city` char(40) NOT NULL default '',
> `member_index` char(10) default NULL,
> `member_address` char(70) default NULL,
> `member_tel` char(40) default NULL,
> `member_fax` char(40) default NULL,
> `member_email` tinyint(4) default NULL,
> PRIMARY KEY (`member_id`)
> ) TYPE=MyISAM
>
> 2. для данных о представителях организаций
>
> CREATE TABLE `persons` (
> `member_id` smallint(4) NOT NULL default '0',
> `person_name` char(70) NOT NULL default '',
> `person_post` char(200) NOT NULL default '',
> `person_email` char(40) default NULL,
> PRIMARY KEY (`member_id`),
> UNIQUE KEY `member_id` (`member_id`)
> ) TYPE=MyISAM
>
> Возникшие вопросы:
> Чтобы связать записи в обоих таблицах создаю колонки member_id.
> member_id должно быть уникальным поэтому создаю с параметрами (auto_increment, PRIMARY KEY)
> - правилен ли и насколько рационален такой подход?
> - нужно ли указывать уникальность поля везде? даже где уникальность очевидна (например member_name)
> - как правильнее выбирать ограничение по длине?
>
From: Олег - 28/03/2003 - 23:03:54
Subject:нуждаюсь в советах!
-----------------
прошу прощения если ввел в заблуждение (на всякий случай поменял member на company - более понятный вид)
c учетом внесенных изменений:
1. для данных об организациях
CREATE TABLE `company` (
`company_id` smallint(4) NOT NULL auto_increment,
`company_name` char(160) NOT NULL default '',
`company_status` char(10) default NULL,
`company_country` char(40) NOT NULL default '',
`company_city` char(40) NOT NULL default '',
`company_index` char(10) default NULL,
`company_address` char(70) default NULL,
`company_tel` char(40) default NULL,
`company_fax` char(40) default NULL,
`company_email` char(40) default NULL,
PRIMARY KEY (`company_id`)
) TYPE=MyISAM
2. для данных о представителях организаций
CREATE TABLE `persons` (
`company_id` smallint(4) NOT NULL default '0',
`person_name` char(70) NOT NULL default '',
`person_post` char(200) NOT NULL default '',
`person_email` char(40) default NULL,
PRIMARY KEY (`company_id`),
) TYPE=MyISAM
walrus, прямо в точку все то что меня и интересовало :)
1) с уникальностью разобрался
2) если же написать varchar(200) то поле будет занимать столько места сколько требуется для конкретной записи?
3) действительно можно было бы обойтись одной таблицой (две таблицы сделал для себя (практикуюсь:)))
4) member_name - и правда возможны случаи когда название разных компании или организации совпадают (изменю).
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
7487
|
|