powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Проектирование БД
3 сообщений из 3, страница 1 из 1
Проектирование БД
    #38594635
crause
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.

Столкнулся с не большой задачкой.
Не могу принять решение какой вариант использовать.

Есть таблица с перечислением продаваемых продукции
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
CREATE TABLE store_group_facture
(
  id serial NOT NULL,     //порядковый номер
  group_id integer NOT NULL,   //группа товаров
  label text NOT NULL,   // название позиции
  vis integer,   // здесь стоят цифры как и где отображать
  size_id integer DEFAULT 0,   //размер продукции
  plast integer,   // не обращайте внимание временные значения
  liner integer,    // не обращайте внимание временные значения
  stock integer,  // не обращайте внимание временные значения
  CONSTRAINT store_group_facture_pkey PRIMARY KEY (id)
)


при проектировании забыл что некоторые позиции имеют несколько вариаций, т.е. ДЛИНУ, ШИРИНУ, и соответственно цену.
на текущую таблицу товаров есть таблица с ценами
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
CREATE TABLE price
(
  id bigserial NOT NULL,
  facture_id integer,
  cur integer,
  money numeric,
  CONSTRAINT price_pkey PRIMARY KEY (id),
  CONSTRAINT price_fkey FOREIGN KEY (facture_id)
      REFERENCES store_group_facture (id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION
)



Выход из ситуации вижу в 2 вариациях.
1. В текущей store_group_facture продублировать N раз нужные позиции и забыться раз и на всегда.
2. Создать еще N групп group_id и использовать общее значение facture_id. Я думаю Вы поняли мою мысль.

Есть еще один вариант, но я считаю он в корне не правильный и поэтому его не озвучиваю.

Как бы сделали Вы? Как было бы правильно сделать?
...
Рейтинг: 0 / 0
Проектирование БД
    #38594845
Hawkmoon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
0. Вам сюда: http://www.sql.ru/forum/db-design
1. Коли вы тут, то чем не подойдет варианта

alter table store_group_facture
drop column size_id --ну или без этой строки
add column width int
add column height int
add column etc


Пока что мысли, почему не так, не озвучены, => задача проектировки непонятна
...
Рейтинг: 0 / 0
Проектирование БД
    #38594969
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crause,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
product (facture)
    id
    label

modification
    id
    product_id
    size_id
    price


Hawkmoonзадача проектировки непонятнанаверное задача в том, что label одинаковый у всех размеров товара: "Все модификации 12"
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Проектирование БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]