Цитата: Сообщение от
pitman
Хм

Ошибаетесь, очень популярный язык. Можно посмотреть
статистику.
Посмотрел. 4,6% это мало. Очень мало.
Цитата: Сообщение от
pitman
Желание есть, но нет возможности. Питон - это не мое.
С точки зрения UI оптимален был бы VB.
MySQL, на мой взгляд, для такой задачи громоздка.
Платформонезависимость... ну, не знаю. Много ли филателистов сидит на юнихе?
Теперь немного конструктива.
В свое время у меня тоже была мысль сделать что-то подобное, при этом пара вариантов даже прорисовалась.
В т.ч. была разработана и структура БД.
Может, из этого что-то Вам и пригодится.
Итак, таблицы (только основные, справочные как правило состоят из двух полей: идентификатор, наименование).
STAMPS - марки.
Поля:
- идентификатор
- первичный идентификатор (для разновидностей, марок с надпечатками и т.п. равен идентификатору основной марки, для основных = null)
- идентификатор страны (территории), выпустившей марку (ссылка на справочник)
- дата выпуска
- дата изъятия из обращения
- номинал основной
- номинал добавочный
- идентификатор валюты (ссылка на справочник)
- идентификатор типа перфорации (ссылка на справочник)
- размер перфорации
- идентификатор основного цвета (ссылка на справочник)
- идентификатор типа бумаги (ссылка на справочник)
- идентификатор цвета бумаги (ссылка на справочник)
- идентификатор типа водяного знака (ссылка на справочник)
- идентификатор способа печати (ссылка на справочник)
- дополнительные сведения
- комментарий
WATERMARKS - водяные знаки
Поля:
- идентификатор
- имя файла изображения
PICTURE_TYPES - типы изображений
Поля:
- идентификатор
- описание
Возможные варианты: "малое", "увеличенное", "на конверте", FDC и т.п.
PICTURES - иллюстрации.
Поля:
- идентификатор марки (FK STAMPS)
- тип изображения (FK PICTURE_TYPES)
- имя файла
- описание
STAMPS_TYPES - типы марок
Поля:
- идентификатор
- идентификатор основного типа (для подтипов: FK STAMPS_TYPES ID)
- описание
STAMPS_BY_TYPES - связка марок с типами марок, "один ко многим"
Поля:
- идентификатор марки (FK STAMPS)
- идентификатор типа (FK STAMPS_TYPES)
SETS - серии
Поля:
- идентификатор серии
- идентификатор марки (FK STAMPS)
- описание
ISSUE_FORMS - формы выпуска
Поля:
- идентификатор
- наименование формы выпуска
Возможные варианты: листы, рулоны, буклеты и т.п.
STAMPS_BY_ISSUE_FORMS - связка марок с формами выпуска, "один ко многим".
Поля:
- идентификатор марки (FK STAMPS)
- идентификатор формы выпуска (FK ISSUE_FORMS)
- тираж
COUNTRIES - страны
Поля:
- идентификатор
- идентификатор вышестоящего элемента - это может быть не только страна, но и, например, часть света, когда справочник строится от единого корня "Весь мир" (FK COUNTRIES ID)
- название (на языке страны)
- название (на русском языке)
- дополнительная информация
- комментарий
TOPICS - темы
- идентификатор
- идентификатор подтемы (FK TOPICS ID)
- описание
STAMPS_BY_TOPICS - связка марок с темами, "один ко многим".
- идентификатор марки
- идентификатор темы
PERSONS - персоны
- идентификатор
- имя, фамилия
- дата рождения
- дата смерти
- национальность
- место рождения (можно сделлать ссылку на географич. справочник, но от этого больше вреда, чем пользы)
- место смерти
- биографические данные
- комментарий
PERSON_ROLES - роли персон. Это могут быть "автор изображения", "гравер", "изображен на марке" и т.п.
Поля:
- идентификатор
- описание
PERSONS_AND_STAMPS - связь марок с персонами ("один ко многим"). Это позволяет вести единый справочник персон, используя их при необходимости в разных ролях. Например, один и тот же человек мог быть автором рисунка одной марки, гравером для другой и изображен сам на третьей.
- идентификатор марки (FK STAMPS)
- идентификатор роли (FK PERSON_ROLES)
- идентификатор персоны (FK PERSONS)
То же самое делается для организаций: три таблицы ORGANIZATIONS, ORGANIZATION_ROLES и ORGANIZATIONS_AND_STAMPS дает возможность указывать производителей, заказчиков и т.п.
CATALOGS - каталоги
- идентификатор
- название
- название русское
STAMPS_BY_CATALOGS - связка марок с каталогами ("один ко многим"). Позволяет для каждой марки задать несколько номеров по любым каталогам.
Поля:
- идентификатор марки (FK STAMPS)
- идентификатор каталога (FK CATALOGS)
- номер марки по заданному каталогу.
STAMPS_SORTS - виды состояния марок
Поля:
- идентификатор
- описание
- файл изображения условного обозначения
Возможные варианты: чистая, гашеная, чистая с наклейкой, FDC и т.п.
STAMP_PRICES - цены.
Поля:
- идентификатор марки (FK STAMPS)
- дата
- вид состояния (FK STAMPS_SORTS)
- цена за единицу (абсолютная величина)
- валюта (FK CURRENCIES)
- количество экземпляров в коллекции
- количество экземпляров для обмена/продажи
- примечание (здесь можно давать цену за квартблок и т.п.)
Если что-то из заложенных в структуру идей пригодится, буду рад.