Хранение данных

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

Наборы полей

Каждый набор полей может иметь произвольное количество полей и произвольное количество записей. На пересечении поля и записи находится значение, которое в свою очередь может состоять из нескольких значений. Таким образом получается трехмерная модель данных.

Трехмерная модель данных

Набор полей это список, составленный из однородных данных. Например можно создать набор полей клиенты. При этом сотрудники будут другим набором полей. В этом случае логическое разделение очевидно. Однако если нужно хранить документы клиентов, то в зависимости от ситуации это может быть как отдельный набор полей документы клиентов, так и один набор полей клиенты.

Ассоциации

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

Ассоциации между записями

Типы полей

В настоящий момент система поддерживает следующие типы полей:

Тип
Описание
Текст
Однострочный или многострочный обычный текст
Выпадающий список
Выпадающий список с фиксированными значениями
Целое число
Целое число в произвольном либо ограниченном диапазоне значений
Дробное число
Дробное число с фиксированным количеством знаков после запятой в произвольном либо ограниченном диапазоне значений
Денежный
Целое или дробное число с фиксированным количеством знаков после запятой в произвольном либо ограниченном диапазоне значений в определенной валюте
Дата
Календарная дата в произвольном либо ограниченном диапазоне значений
Время
Время дня в произвольном либо ограниченном диапазоне значений
Дата и время
Совмещенные дата и время в произвольном либо ограниченном диапазоне значений
Форматированный текст
Текст с настройками шрифтов, параграфов и с возможностью вставки элементов, например изображений
Автозаполняемый текст
Однострочный текст с фиксированными всплывающими подсказками
Кнопка-флажок с 3 состояниями
Флажок с тремя именованными состояниями - выбран, не выбран, сброшен
Список из кнопок-флажков
Список из кнопок-флажков - выбор одного или нескольких значений
Список из переключателей
Радио переключатель - выбор одного значения
Файл
Файл с произвольным либо определенным расширением
Электронная почта
Адрес электронной почты
Ссылка в интернет
Ссылка в сеть интернет
Цвет
Цвет из предустановленной палитры цветов
Пароль
Пароль
Переключатель из иконок
Одна выбранная иконка из предустановленного набора иконок
Тулбар из иконок
Несколько выбранных иконок из предустановленного набора иконок

Обязательные поля

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

Обязательное поле

Уникальные поля

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

Уникальное поле

Сайт работает на движке ShareMine © 2014 ShareMine.net Все права защищены. Иконки http://led24.de/iconset