powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Прошу помощь в реализации системы фильтрации данных
23 сообщений из 48, страница 2 из 2
Прошу помощь в реализации системы фильтрации данных
    #38463394
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинЯ выше постил ссылку на обсуждение - там, в частности, есть моя схема реализации произвольных условий.
5 страниц?
На конкретное сообщение никак?
...
Рейтинг: 0 / 0
Прошу помощь в реализации системы фильтрации данных
    #38463406
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Модернизируюсь...

Код: xml
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.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
<?xml version="1.0" encoding="utf-8" ?>
<!-- SQL XML created by WWW SQL Designer, http://code.google.com/p/wwwsqldesigner/ -->
<!-- Active URL: http://ondras.zarovi.cz/sql/demo/ -->
<sql>
<datatypes db="mysql">
	<group label="Numeric" color="rgb(238,238,170)">
	 	<type label="TINYINT" length="0" sql="TINYINT" quote=""/>
	 	<type label="SMALLINT" length="0" sql="SMALLINT" quote=""/>
	 	<type label="MEDIUMINT" length="0" sql="MEDIUMINT" quote=""/>
	 	<type label="INT" length="0" sql="INT" quote=""/>
		<type label="Integer" length="0" sql="INTEGER" quote=""/>
		<type label="BIGINT" length="0" sql="BIGINT" quote=""/>
		<type label="Decimal" length="1" sql="DECIMAL" re="DEC" quote=""/>
		<type label="Single precision" length="0" sql="FLOAT" quote=""/>
		<type label="Double precision" length="0" sql="DOUBLE" re="DOUBLE" quote=""/>
	</group>

	<group label="Character" color="rgb(255,200,200)">
		<type label="Char" length="1" sql="CHAR" quote="'"/>
		<type label="Varchar" length="1" sql="VARCHAR" quote="'"/>
		<type label="Text" length="0" sql="MEDIUMTEXT" re="TEXT" quote="'"/>
		<type label="Binary" length="1" sql="BINARY" quote="'"/>
		<type label="Varbinary" length="1" sql="VARBINARY" quote="'"/>
		<type label="BLOB" length="0" sql="BLOB" re="BLOB" quote="'"/>
	</group>

	<group label="Date &amp; Time" color="rgb(200,255,200)">
		<type label="Date" length="0" sql="DATE" quote="'"/>
		<type label="Time" length="0" sql="TIME" quote="'"/>
		<type label="Datetime" length="0" sql="DATETIME" quote="'"/>
		<type label="Year" length="0" sql="YEAR" quote=""/>
		<type label="Timestamp" length="0" sql="TIMESTAMP" quote="'"/>
	</group>
	
	<group label="Miscellaneous" color="rgb(200,200,255)">
		<type label="ENUM" length="1" sql="ENUM" quote=""/>
		<type label="SET" length="1" sql="SET" quote=""/>
		<type label="Bit" length="0" sql="bit" quote=""/>
	</group>
</datatypes><table x="45" y="37" name="Оборудование">
<row name="id" null="1" autoincrement="1">
<datatype>TINYINT</datatype>
<default>NULL</default></row>
<row name="Куплен" null="1" autoincrement="0">
<datatype>DATE</datatype>
<default>NULL</default></row>
<row name="Марка" null="1" autoincrement="0">
<datatype>MEDIUMTEXT</datatype>
<default>NULL</default></row>
<key type="PRIMARY" name="">
<part>id</part>
</key>
</table>
<table x="463" y="36" name="Деталь">
<row name="id" null="1" autoincrement="1">
<datatype>TINYINT</datatype>
<default>NULL</default></row>
<row name="Название" null="1" autoincrement="0">
<datatype>MEDIUMTEXT</datatype>
<default>NULL</default></row>
<key type="PRIMARY" name="">
<part>id</part>
</key>
</table>
<table x="254" y="39" name="Элемент">
<row name="id" null="1" autoincrement="1">
<datatype>TINYINT</datatype>
<default>NULL</default></row>
<row name="Деталь" null="1" autoincrement="0">
<datatype>TINYINT</datatype>
<default>NULL</default><relation table="Деталь" row="id" />
</row>
<row name="Оборудование" null="1" autoincrement="0">
<datatype>TINYINT</datatype>
<default>NULL</default><relation table="Оборудование" row="id" />
</row>
<row name="Показание счетчика" null="1" autoincrement="0">
<datatype>INTEGER</datatype>
<default>NULL</default></row>
<row name="Установлен" null="1" autoincrement="0">
<datatype>DATE</datatype>
<default>NULL</default></row>
<row name="Дата выпуска" null="1" autoincrement="0">
<datatype>DATE</datatype>
<default>NULL</default></row>
<key type="PRIMARY" name="">
<part>id</part>
</key>
</table>
<table x="21" y="190" name="Показание счетчика">
<row name="id" null="1" autoincrement="1">
<datatype>TINYINT</datatype>
<default>NULL</default></row>
<row name="Оборудование" null="1" autoincrement="0">
<datatype>TINYINT</datatype>
<default>NULL</default><relation table="Оборудование" row="id" />
</row>
<row name="Месяц" null="1" autoincrement="0">
<datatype>DATE</datatype>
<default>NULL</default></row>
<row name="Показание счетчика" null="1" autoincrement="0">
<datatype>INTEGER</datatype>
<default>NULL</default></row>
<key type="PRIMARY" name="">
<part>id</part>
</key>
</table>
<table x="449" y="128" name="Предельная выработка">
<row name="id" null="1" autoincrement="1">
<datatype>TINYINT</datatype>
<default>NULL</default></row>
<row name="Деталь" null="1" autoincrement="0">
<datatype>TINYINT</datatype>
<default>NULL</default><relation table="Деталь" row="id" />
</row>
<row name="Начало" null="1" autoincrement="0">
<datatype>DATE</datatype>
<default>NULL</default></row>
<row name="Окончание" null="1" autoincrement="0">
<datatype>DATE</datatype>
<default>NULL</default></row>
<row name="Максимальное число страниц" null="1" autoincrement="0">
<datatype>INTEGER</datatype>
<default>NULL</default></row>
<row name="Максимум за месяц" null="1" autoincrement="0">
<datatype>INTEGER</datatype>
<default>NULL</default></row>
<key type="PRIMARY" name="">
<part>id</part>
</key>
</table>
</sql>

...
Рейтинг: 0 / 0
Прошу помощь в реализации системы фильтрации данных
    #38463413
JamDepot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsaКрест, так крест...
Не обижайтесь, возможно я не совсем точно пояснил задачу.
Я ценю любую поддержку.

krvsaВ моем варинтре тостаточно ввести показания счетчиков для всех штук оборудования.
Ваше решение рабочее, только немного в другом контексте.
Мы не знаем показаний счетчиков для всех едениц оборудования, мы знаем только значение счетчика для своего оборудования, которое как две капли воды похоже на один из экземпляров из таблицы оборудование.
...
Рейтинг: 0 / 0
Прошу помощь в реализации системы фильтрации данных
    #38463437
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JamDepotНе обижайтесь ...
Я же не девачка чтобы обижаться...

Мне интересен сам предмет "проектирование БД". И обсуждение конкретной задачи представляю как некий "парад" моделей, которые показывают участники обсуждения.

Т.е. один показал "так", другой "эдак"... Это нормальный рабочий процесс.

Простое разглагольствование или фразы типа "это бред" считаю просто не конструктивными. Да и ссылку на тему с 5 страниц не приветствую...
...
Рейтинг: 0 / 0
Прошу помощь в реализации системы фильтрации данных
    #38463441
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JamDepotМы не знаем показаний счетчиков для всех едениц оборудования, мы знаем только значение счетчика для своего оборудования, которое как две капли воды похоже на один из экземпляров из таблицы оборудование.
Так в "своем" так же могут стоять меняные деталюшки...
Как тогда определить сколько "намотало" за месяц на этом оборудовании?
...
Рейтинг: 0 / 0
Прошу помощь в реализации системы фильтрации данных
    #38463455
JamDepot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa, Могут, но это нам не интересно. Наша задача выдать список, что надо менять по регламенту. Пользователь же может хоть каждый день их по своему желанию менять.

Как тогда определить сколько "намотало" за месяц на этом оборудовании?
Это нужно только если условие связано с кол-во страниц в месяц. Устроит среднее значение.
Делим показания счетчика на кол-во месяцев эксплуатации.
...
Рейтинг: 0 / 0
Прошу помощь в реализации системы фильтрации данных
    #38463505
JamDepot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно провести аналогию с любым другим оборудованием.
Например автомобилями: авто, деталь, условие, пробег.
...
Рейтинг: 0 / 0
Прошу помощь в реализации системы фильтрации данных
    #38463576
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JamDepotМогут, но это нам не интересно. Наша задача выдать список, что надо менять по регламенту. Пользователь же может хоть каждый день их по своему желанию менять.
Ну как же "не интересно"...
Если деталюшку заменили совсем недавно, как понять, что время ее еще не пришло, хотя счетчтк страниц уже зашкаливает?
...
Рейтинг: 0 / 0
Прошу помощь в реализации системы фильтрации данных
    #38463579
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JamDepotМожно провести аналогию с любым другим оборудованием.
Например автомобилями: авто, деталь, условие, пробег.
Я начинал трактористом - так там четко фиксировалось при каком значении счетчика моточасов был установлен тот или иной агрегат.
И его обслуга производилась из именно его "пробега".
...
Рейтинг: 0 / 0
Прошу помощь в реализации системы фильтрации данных
    #38463876
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я пытаюсь донести до вас мысль - задачу надо разбивать на две части
1 "Ведение" вашего справочника с материализацией всех условий для всех деталей и всего оборудования. Таблица при этом может быть очень большой и должна быть оборудована набором отчетов для того чтобы смотреть "что у нас есть"
2 Собственно работа, то бишь "пробивание" конкретного оборудования по базе на предмет не пора ли что либо менять при данном показании счетчика.
Я предполагаю что часть 2 будет работать гораздо чаще, чем часть 1 (в идеале часть 1 должна делаться один раз) и поэтому любые попытки съэкономить, упростить, облегчить часть 1 выльются в замедление работы для части 2.
Далее, если ваши условия настолько хитрые, что вы не можете составить запрос, чтобы он возвращал одну и только одну запись, то вытаскивайте несколько записей на клиент и уже на клиенте выбирайте лучшую.
...
Рейтинг: 0 / 0
Прошу помощь в реализации системы фильтрации данных
    #38464093
JamDepot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsaЕсли деталюшку заменили совсем недавно, как понять, что время ее еще не пришло, хотя счетчтк страниц уже зашкаливает...
И его обслуга производилась из именно его "пробега".
Наша задча донести до пользователя регламент рекомендуемый производителем.
Следовать ему или нет решает пользователь.
SERG1257Я предполагаю что часть 2 будет работать гораздо чаще, чем часть 1 (в идеале часть 1 должна делаться один раз) и поэтому любые попытки съэкономить, упростить, облегчить часть 1 выльются в замедление работы для части 2.
Вы все правильно поняли.
Так ведь я же как раз и пытаюсь максимально продумать часть 1, а не использовать сходу способ с кучей условий, хотя понятно что он рабочий.
Разве проверка всех фильтров для любой еденицы оборудования не замедление работы?

Хочется хоть какой-то альтернативы (система предфильтров, битовые маски, ... что-то еще), за тем сюда и пришел:)

SERG1257 то вытаскивайте несколько записей на клиент и уже на клиенте выбирайте лучшую.
Т.е. пользователь должен выбрать подходящую?
Если да, то пользователи не любят лишние вопросы, пользователи любят нажать пару кнопок и получить профит.
Вопросы их пугают, повергают в шок и недоумение.
...
Рейтинг: 0 / 0
Прошу помощь в реализации системы фильтрации данных
    #38464111
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JamDepot Разве проверка всех фильтров для любой еденицы оборудования не замедление работы? Хотя таблица пересечений всех деталей со всем оборудованием может быть большой, запрашиваете вы всегда конкретную деталь в конкретном девайсе, а это очень селективно. Короче не замедлит.
JamDepot Т.е. пользователь должен выбрать подходящую?Не пользователь, а прикладная программа (если писать на SQL не умеете)
...
Рейтинг: 0 / 0
Прошу помощь в реализации системы фильтрации данных
    #38464129
JamDepot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SERG1257 Хотя таблица пересечений всех деталей со всем оборудованием может быть большой, запрашиваете вы всегда конкретную деталь
Это верно.
SERG1257если писать на SQL не умеете
Я вас понял, но ведь хочется же как лучше.

Думаете я загоняюсь, преждевременная оптимизация?
...
Рейтинг: 0 / 0
Прошу помощь в реализации системы фильтрации данных
    #38464491
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JamDepotведь хочется же как лучше.
Пжалста:

1. Оборудование и детали загнать в одну таблицу - Оборудование
2. Создать таблицу входимости Оборудования 1 в Оборудование 2
т.е. обычный граф
условие замены оформить функцией
...
Рейтинг: 0 / 0
Прошу помощь в реализации системы фильтрации данных
    #38464515
JamDepot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_мод Создать таблицу входимости Оборудования 1 в Оборудование 2
не понял
...
Рейтинг: 0 / 0
Прошу помощь в реализации системы фильтрации данных
    #38464621
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_модJamDepotведь хочется же как лучше.
Пжалста:

1. Оборудование и детали загнать в одну таблицу - Оборудование
2. Создать таблицу входимости Оборудования 1 в Оборудование 2

Если с точки зрения предметной области не бывает составных деталей - то непонятно зачем это нужно и что этим выигрывается.
...
Рейтинг: 0 / 0
Прошу помощь в реализации системы фильтрации данных
    #38464756
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кот МатроскинЕсли с точки зрения предметной области не бывает составных деталей - то непонятно зачем это нужно и что этим выигрывается.
Нет, так будут. Надо изначально делать правильно
...
Рейтинг: 0 / 0
Прошу помощь в реализации системы фильтрации данных
    #38464763
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JamDepot_мод Создать таблицу входимости Оборудования 1 в Оборудование 2
не понял
Какие детали в каком оборудавании используюся и с какими характеристиками.
...
Рейтинг: 0 / 0
Прошу помощь в реализации системы фильтрации данных
    #38464875
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_модКот МатроскинЕсли с точки зрения предметной области не бывает составных деталей - то непонятно зачем это нужно и что этим выигрывается.
Нет, так будут.

Мягко говоря, неочевидно.
чем для задачи ТС-а важно, что деталь B - это часть детали А, если у каждой свой независимый срок службы?
...
Рейтинг: 0 / 0
Прошу помощь в реализации системы фильтрации данных
    #38464890
JamDepot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_мод Оборудование и детали загнать в одну таблицу - Оборудование
Так:
id значение1 оборудование 12 оборудование 23 деталь 14 деталь 2
или так:
id_оборудование id_детальоборудование 1 деталь 1оборудование 1 деталь 2оборудование 2 деталь 1оборудование 2 деталь 3

_модКакие детали в каком оборудавании используюся и с какими характеристиками.
Характеристиками чего? Условия имеются ввиду?
...
Рейтинг: 0 / 0
Прошу помощь в реализации системы фильтрации данных
    #38464895
JamDepot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так детали друг в друга не входят.
Детали входят в оборудование и у одной и той же детали может быть разный срок на одном оборудовании (если есть уловие).
...
Рейтинг: 0 / 0
Прошу помощь в реализации системы фильтрации данных
    #38464955
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JamDepotТак детали друг в друга не входят.

Я про это и говорю - если они друг в друга не входят, то смысла обьединять детали и оборудование в одну таблицу никакого.
а _мод считает, что если даже сейчас не входят, то все равно когда-нибудь будут входить и надо сразу закладывать такую возможность.
...
Рейтинг: 0 / 0
Прошу помощь в реализации системы фильтрации данных
    #38465046
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JamDepotХарактеристиками чего? Условия имеются ввиду?
Так. Характеристики: количестово, срок службы, дата последней замены и прочие условия. На их основе и на основе параметров оборуд. и детали можно вычислить необходимость замены.
зы деталь вполне может входить в сборку а сборка в оборудование
...
Рейтинг: 0 / 0
23 сообщений из 48, страница 2 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Прошу помощь в реализации системы фильтрации данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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