SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 01.03.2011 13:27:25

Наташа
Участник
Зарегистрирован: 01.03.2011
Сообщений: 3

Помогите со структурой базы

Необходимо сделать базу для хранения информации о приходе товара на складе.

Пример прихода:
Молибденовый прутокЦM2отоженныйТУ48-19 30*400-800мм 50 кг
Молибденовый -тип металла
пруток-вид проката
ЦM2-марка
отоженный-состояние
ТУ48-19-Гост
30-диаметр
400-800мм-длина от 400 до 800 нет конкретной, те все прутки разные, а бываеют и одинаковые например просто 400
50 кг-колличество
-------------------------------------------------
создала такие таблицы
1)тип металла
CREATE TABLE `material` (
  `m_id` int(10) unsigned NOT NULL auto_increment,
  `m_name` varchar(250) NOT NULL default ' ',
  PRIMARY KEY  (`m_id`)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;

2)вид проката
CREATE TABLE `rolled` (
  `r_id` int(10) unsigned NOT NULL auto_increment,
  `r_name` varchar(250) NOT NULL default ' ',
  PRIMARY KEY  (`r_id`)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;

3)марка
CREATE TABLE `mark` (
  `mr_id` int(10) unsigned NOT NULL auto_increment,
  `mr_name` varchar(250) NOT NULL default ' ',
  `mr_m_id` int(10) unsigned NOT NULL,
  PRIMARY KEY  (`mr_id`),
  KEY `mr_m_id` (`mr_m_id`),
  CONSTRAINT `metal_mark_fk` FOREIGN KEY (`mr_m_id`) REFERENCES `material` (`m_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;

4) Приход
Пока еще не создана тк не знаю как писать размеры, подскажите как запоминать размеры, проблема в том что для каждого вида проката свои размеры
пример
лист-толщина, ширина, длина
фольга-толщина, ширина
проволока-диаметр,длин

Неактивен

 

#2 01.03.2011 19:41:32

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Помогите со структурой базы

Мне почему-то кажется, что тут самое место простому текстовому полю.
Или у Вас будут выборки вида «найди мне молибденовые прутки длиной
75 сантиметров»?

Неактивен

 

#3 02.03.2011 09:09:21

Наташа
Участник
Зарегистрирован: 01.03.2011
Сообщений: 3

Re: Помогите со структурой базы

paulus написал:

Мне почему-то кажется, что тут самое место простому текстовому полю.
Или у Вас будут выборки вида «найди мне молибденовые прутки длиной
75 сантиметров»?

Да такие выборки будут. вот уже всю голову сломала не могу ничего придумать

Неактивен

 

#4 02.03.2011 09:10:39

Наташа
Участник
Зарегистрирован: 01.03.2011
Сообщений: 3

Re: Помогите со структурой базы

Мало того что будет длиной 75 см, надо еще что бы можно было записать не только 75 но и 75-80. и что бы можно было найти 77, так как он входит в диапозон 75-80

Неактивен

 

#5 02.03.2011 14:13:33

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Помогите со структурой базы

Ну, тогда идеологически правильно делать отдельные таблички на
листы, фольгу и проволоку — чтобы правильно делать выборку по
их размерам.

Можно, конечно, сделать три поля — длина, ширина и толщина —
и использовать только те, которые имеют смысл для конкретного типа,
но вряд ли у Вас будут запросы вида «нужен молибденовый пруток
или алюминиевая фольга» smile

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson