powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / нужен совет по проектированию небольшой Б.Д.
3 сообщений из 53, страница 3 из 3
нужен совет по проектированию небольшой Б.Д.
    #36421973
lagorue
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsaТебе уже много раз и не я один, писали - расскажи про "жизнь" твоих картриджей. После этого тебе предложат варианты хранения.
Поскольку без знания предметной области структуру хранения путёво не построить.
Да всё просто у меня.
Пришёл катридж , израсходовали - заправили.
Учёт и списание их не нужно, отслеживать их перемещение нет физ. возможности.
Сейчас сижу думаю сколько таблиц сделать и связывать ключами.
...
Рейтинг: 0 / 0
нужен совет по проектированию небольшой Б.Д.
    #36422030
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lagorueДа всё просто у меня.
Так все думают сначала...

Как вариант така схема...

ОтделыКодНазвание
ПринтерыКодНазваниеИнвентарный номер
Распределение принтеровКодДата поступлениеКод отделаКод принтера
"Состояние" картриджаКодНазвание
"Движение" картриджа в принтереКодДатаКод принтераКод состояния
И то, если сам картридж не интересен как "элемент системы"...
...
Рейтинг: 0 / 0
нужен совет по проектированию небольшой Б.Д.
    #36422455
A1ek5andr0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A1ek5andr0lagorue,

WAREHOUSEIDCART_IDDEPT_ID

DEPARTMENTIDNAME

PRINTERIDNAME

CARTRIGEIDNAMEPRINTER_IDACTIVEDATE

Как-то так. и связать форейн кеями.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
WITH 
WAREHOUSE AS
   (
      SELECT  1  id,  1  cart_id,  1  dept_id FROM dual UNION ALL
      SELECT  2  id,  1  cart_id,  1  dept_id FROM dual UNION ALL
      SELECT  3  id,  2  cart_id,  2  dept_id FROM dual UNION ALL
      SELECT  4  id,  2  cart_id,  2  dept_id FROM dual UNION ALL
      SELECT  5  id,  3  cart_id,  3  dept_id FROM dual
   ), 

DEPARTMENT as
  (
    select  1  id, 'OTK' nname from dual union all
    select  2  id, 'ROOM 4' nname from dual union all
    select  3  id, 'ROOM 6' nname from dual
  ),

PRINTER as
  (
    select  1  id, 'HP' nname from dual union all
    select  2  id, 'CANON' nname from dual
  ),

CARTRIGE as
  (
    select  1  id, 'cart1' nname,  1  printer_id, 'Y' active, trunc(sysdate) DDATE from dual union all
    select  2  id, 'cart2' nname,  2  printer_id, 'Y' active, trunc(sysdate) DDATE from dual union all
    select  3  id, 'cart3' nname,  2  printer_id, 'Y' active, trunc(sysdate) DDATE from dual union all
    select  4  id, 'cart4' nname,  3  printer_id, 'Y' active, trunc(sysdate) DDATE from dual
  )

select 
  (select DEPARTMENT.nname from DEPARTMENT where DEPARTMENT.id = WAREHOUSE.dept_id) dep,
  PRINTER.nname,
  CARTRIGE.DDATE,
  count( 1 ) as koll_vo
from WAREHOUSE, CARTRIGE, PRINTER
where WAREHOUSE.cart_id = CARTRIGE.id
  and PRINTER.id = CARTRIGE.printer_id
  and CARTRIGE.DDATE BETWEEN to_date('01.01.2010','dd.mm.yyyy') and to_date('31.01.2010','dd.mm.yyyy')
group by WAREHOUSE.dept_id, CARTRIGE.DDATE, PRINTER.nname
...
Рейтинг: 0 / 0
3 сообщений из 53, страница 3 из 3
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / нужен совет по проектированию небольшой Б.Д.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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