Форум переехал и обновился!

Для первого входа необходимо установить новый пароль через «Забыли пароль?». Укажите email, использованный при регистрации. Теперь вход выполняется по email, ваш ник на форуме сохранён.

Не помните адрес регистрации? Проверьте свои почтовые ящики: найдите старые письма по запросам club-nikon.ru или Клуб Nikon. Если восстановить доступ не получается, напишите на club-nikon@deesy.com.

Если вы уже установили новый пароль, повторять восстановление не нужно.

Каталог

Аватара пользователя
Philipp K
Сообщения: 15538
Зарегистрирован: Чт апр 07, 2005 19:46

Re: Каталог

Сообщение Philipp K »

продолжение мыслей про объективы.
Спасибо. Буду пробовать. Буду смотреть на скорость реагирования. Если система начнет зависать, буду облегчать, вплоть до статики. sad


а ведь еще надо, наверное, внести как отдельную сущность "макро-объективы".
Естественно. smile
Аватара пользователя
Philipp K
Сообщения: 15538
Зарегистрирован: Чт апр 07, 2005 19:46

Re: Каталог

Сообщение Philipp K »

phis писал(а): Мне видится это так:

Сущности:

1) "Object" - какой-либо объект: объектив, камера, аксессуар и т.п.;

2) "Category" - категория, например: "Фокусировка";

3) "Type" - тип, например (применительно к п.2), "Авто" или "Ручная".



Таблица Catalogue - связь между объектами (например, камерой) и их типами (например, "электронный затвор"). Тип связи "многие-ко-многим", т.е. один объект может обладать набором типов, либо один тип может быть у многих объектов.

Поле "Name" у таблиц - наименования. Например, "AF Micro-Nikkor 200mm f / 4D IF-ED" для Object.

"*_id" - идентификаторы записей.
Понятно. Впишется это в готовую систему, так же будем смотреть. smile
Аватара пользователя
Sandro
Сообщения: 3565
Зарегистрирован: Чт апр 20, 2006 12:51

Re: Каталог

Сообщение Sandro »

Уже третий день строю таблицы. Крыша едет. Кто-то подскажет?
Ага, это ты так отпуск проводишь ? smile
phis писал(а): Мне видится это так:

Сущности:

1) "Object" - какой-либо объект: объектив, камера, аксессуар и т.п.;

2) "Category" - категория, например: "Фокусировка";

3) "Type" - тип, например (применительно к п.2), "Авто" или "Ручная".



Таблица Catalogue - связь между объектами (например, камерой) и их типами (например, "электронный затвор"). Тип связи "многие-ко-многим", т.е. один объект может обладать набором типов, либо один тип может быть у многих объектов.

Поле "Name" у таблиц - наименования. Например, "AF Micro-Nikkor 200mm f / 4D IF-ED" для Object.

"*_id" - идентификаторы записей.
Зачем такая сложная структура ? Любая база SQL позволяет все это свести в три таблицы.



Таблица "Объективы", где каждое классифицируемое свойство объектива хранится в виде перечислимого значения соответствующей колонки (например, тип объектива - "Широкоугольник" или "Нормальный" или "Телевик"). Если объектив может при этом обладать несколькими значениями одного свойства, то для этого есть тип данных "SET".



Аналогично - таблица "Камеры"



И, наконец, таблица совместимости, представляющая собой реляционную таблицу "Камеры - объективы", где обязательно помимо колонок-ссылок (индексов) таблиц "Камеры" и "Объективы" должны быть колонки, в которых отмечается поддержка тех или иных свойств (например, поддержка экспозамера или его отсутствие в данной комбинации камера-объектив.



В дальнейшем можно достроить таблицы различных аксессуаров (вспышки, синхрокабели и т.д.) и соответствующие таблицы реляций между аксессуарами и камерами.



Не знаю, какой движок выбрал Филипп, но исходя их общих соображений и опыта работы с различными видами SQL БД считаю данный подход наиболее оптимальным. Тем более, что при необходимости в таблицы "Камеры", "Объективы" и т.д. можно вводить новые колонки свойств, вводя дополнительное категорирование и не нарушая при этом старое.
<!--coloro:#006600--><span style="color:#006600"><!--/coloro--><i><b>Бывает все на свете хорошо - в чем дело, сразу не поймешь ! !</b></i><!--colorc--></span><!--/colorc-->
Аватара пользователя
phis
Сообщения: 335
Зарегистрирован: Пн апр 03, 2006 19:03

Re: Каталог

Сообщение phis »

Sandro писал(а): ...



Зачем такая сложная структура ? Любая база SQL позволяет все это свести в три таблицы.



Таблица "Объективы", где каждое классифицируемое свойство объектива хранится в виде перечислимого значения соответствующей колонки (например, тип объектива - "Широкоугольник" или "Нормальный" или "Телевик"). Если объектив может при этом обладать несколькими значениями одного свойства, то для этого есть тип данных "SET".



Аналогично - таблица "Камеры"



И, наконец, таблица совместимости, представляющая собой реляционную таблицу "Камеры - объективы", где обязательно помимо колонок-ссылок (индексов) таблиц "Камеры" и "Объективы" должны быть колонки, в которых отмечается поддержка тех или иных свойств (например, поддержка экспозамера или его отсутствие в данной комбинации камера-объектив.

...


Любой объектив или камера могут обладать какими-либо свойствами (характеристиками). Например, AF 50 1.4: фокусировка = автофокус, тип = фикс, угол поля зрения (?) = нормальный и т.п. то же и для камер и для любых аксессуаров, поэтому я и предложил хранить объекты (камеры, объективы, аксессуары) в одной куче (таблице Objects), а с помощью остальных таблиц обеспечить соответствие заданным характеристикам.

На самом деле структура крайне проста и в рамках поставленной задачи очень даже масштабируема (если в дальнейшем придется классифицировать другие сущности, например, фильтры или вспышки, - не придется добавлять дополнительных таблиц в базу).

Все это ИМХО.



P.S.Может быть я Вас не совсем правильно понял, - черканите схему, чтобы было яснее.
Аватара пользователя
Sandro
Сообщения: 3565
Зарегистрирован: Чт апр 20, 2006 12:51

Re: Каталог

Сообщение Sandro »

phis писал(а): Любой объектив или камера могут обладать какими-либо свойствами (характеристиками). Например, AF 50 1.4: фокусировка = автофокус, тип = фикс, угол поля зрения (?) = нормальный и т.п. то же и для камер и для любых аксессуаров, поэтому я и предложил хранить объекты (камеры, объективы, аксессуары) в одной куче (таблице Objects), а с помощью остальных таблиц обеспечить соответствие заданным характеристикам.

На самом деле структура крайне проста и в рамках поставленной задачи очень даже масштабируема (если в дальнейшем придется классифицировать другие сущности, например, фильтры или вспышки, - не придется добавлять дополнительных таблиц в базу).

Все это ИМХО.



P.S.Может быть я Вас не совсем правильно понял, - черканите схему, чтобы было яснее.
Вы просто предлагаете построить объектно-ориентированную базу. Это я понял. Но в данном случае в этом нет никакой необходимости. Все прекрасно решается с помощью реляционной БД (которая так же может восприниматься и как ОО). Просто у нас разный подход в реализации. Вы предлагаете хранить все объекты (экземпляры классов) в одной куче (таблице), а их свойства - в другой. Правда, Вам без реляционной таблицы все равно не обойтись - надо же, например, как-то показать, с какими камерами какие объективы совместимы, с какими камерами будет работать 3д экспозамер и т.д. Т.е. одну табличку Вам все равно придется добавлять.



У меня каждый класс представлен отдельной табличкой, каждая строка которой соответствует одному экземпляру класса (объекту), а каждый столбец - одному свойству. Как показывает мой опыт разработок, такой вариант более логически понятен для других и позволяет делать большинство выборок по одному классу объектов, обращаясь только к одной таблице.



Ваш вариант удобен в том случае, когда свойства объекта сильно разрежены или представляют собой массивы переменной длины - в этом случае существенно экономится дисковая память, но замедляются выборки при больших таблицах или больших списках свойств.



Схемку нарисовать сейчас не могу - нет под рукой соответствующего инструментария. Но думаю, Вы и так все поймете.
<!--coloro:#006600--><span style="color:#006600"><!--/coloro--><i><b>Бывает все на свете хорошо - в чем дело, сразу не поймешь ! !</b></i><!--colorc--></span><!--/colorc-->
Аватара пользователя
phis
Сообщения: 335
Зарегистрирован: Пн апр 03, 2006 19:03

Re: Каталог

Сообщение phis »

Sandro писал(а): Вы просто предлагаете построить объектно-ориентированную базу. Это я понял. Но в данном случае в этом нет никакой необходимости. Все прекрасно решается с помощью реляционной БД (которая так же может восприниматься и как ОО). Просто у нас разный подход в реализации. Вы предлагаете хранить все объекты (экземпляры классов) в одной куче (таблице), а их свойства - в другой. Правда, Вам без реляционной таблицы все равно не обойтись - надо же, например, как-то показать, с какими камерами какие объективы совместимы, с какими камерами будет работать 3д экспозамер и т.д. Т.е. одну табличку Вам все равно придется добавлять.



У меня каждый класс представлен отдельной табличкой, каждая строка которой соответствует одному экземпляру класса (объекту), а каждый столбец - одному свойству. Как показывает мой опыт разработок, такой вариант более логически понятен для других и позволяет делать большинство выборок по одному классу объектов, обращаясь только к одной таблице.



Ваш вариант удобен в том случае, когда свойства объекта сильно разрежены или представляют собой массивы переменной длины - в этом случае существенно экономится дисковая память, но замедляются выборки при больших таблицах или больших списках свойств.



Схемку нарисовать сейчас не могу - нет под рукой соответствующего инструментария. Но думаю, Вы и так все поймете.


Про совместимость как-то вопрос по началу не стоял... huh

Ваш подход понятен, для конечного пользователя (админа) он, конечно, удобнее. smile

Но вот если и свойств и классов очень много, то добавлять кучу столбцов (и таблиц) не всегда удобно (и не экономно), да еще и свойства могут "пересекаться", т.е. быть у разных сущностей (пример выше - "фокусировка").

Как вариант (если будет использоваться MS SQL Server 2005) можно описать собственный тип данных на .NET и хранить его, либо XML.
Аватара пользователя
Philipp K
Сообщения: 15538
Зарегистрирован: Чт апр 07, 2005 19:46

Re: Каталог

Сообщение Philipp K »

Ага, это ты так отпуск проводишь ? smile
А когда еще занимается? Но я много не успел. Надо еще неделю брать. Благо она есть. Но отпустят?



И потом я еще не въехал в идеологию программы (инструмента). Из-за этого и время теряю.


Не знаю, какой движок выбрал Филипп, но исходя их общих соображений и опыта работы с различными видами SQL БД считаю данный подход наиболее оптимальным. Тем более, что при необходимости в таблицы "Камеры", "Объективы" и т.д. можно вводить новые колонки свойств, вводя дополнительное категорирование и не нарушая при этом старое.
Дело в том, что любой движок делает свои таблицы. Не один не позволяет работать с произвольными данными.

Тут то же. Единственное что могу добавить это поля по которым производить сортировки. Или не добавлять. smile Что ускорить работу, уменьшив число запросов к базе.




Как вариант (если будет использоваться MS SQL Server 2005) можно описать собственный тип данных на .NET и хранить его, либо XML.
Ага. И кто этим будет занимается? Я хоть раньше занимался программированием и писал базы данных под заказ, но это было давно. А по основном специальности я фотограф. И хочу фотографировать. Но после того как я занялся форумом, я забыл, что такое фотоаппарат.



Хотя под .NET в Дельфи или ВБ мне писать легче чем в php (на котором я не когда не работал раньше).
Аватара пользователя
phis
Сообщения: 335
Зарегистрирован: Пн апр 03, 2006 19:03

Re: Каталог

Сообщение phis »

Philipp (Arkady) писал(а): ...

Ага. И кто этим будет занимается? Я хоть раньше занимался программированием и писал базы данных под заказ, но это было давно. А по основном специальности я фотограф. И хочу фотографировать. Но после того как я занялся форумом, я забыл, что такое фотоаппарат.



Хотя под .NET в Дельфи или ВБ мне писать легче чем в php (на котором я не когда не работал раньше).


Ну если ASP.NET, то я могу поучаствовать на добровольных началах smile , правда много времени обещать не могу... unsure

Недостаток - искать хостера, поддерживающего Windows-хостинг.
Аватара пользователя
Philipp K
Сообщения: 15538
Зарегистрирован: Чт апр 07, 2005 19:46

Re: Каталог

Сообщение Philipp K »

Ну если ASP.NET, то я могу поучаствовать на добровольных началах smile ,
Спасибо. Но опасаюсь переходить под Windows. Хотя бы из-за того же форума который работает на PHP. А оно под Windows имеет свои глюки.


Недостаток - искать хостера, поддерживающего Windows-хостинг.
Их уже очень много. Но они солидно дороже. И не уверен, что будет лучше.
Аватара пользователя
Forkoss
Сообщения: 310
Зарегистрирован: Чт окт 19, 2006 14:15

Re: Каталог

Сообщение Forkoss »

Филип,

Простите, но к чему такие сложности? dunno



Обьективы - разбить по типу фикс, зум и AF, AF-S, AI, AIS....., а дальше по фокусному. Или еще проще, фикс, зум, и дальше просто по фокусному.

Камеры - пленка, цифра.

Вернуться в «Просто обо всем»

Кто сейчас на конференции

Сейчас этот форум просматривают: ClaudeBot [Bot] и 0 гостей