Нижегородский государственный университет им. Н.И.Лобачевского
Опубликован: 04.06.2009 | Доступ: свободный | Студентов: 16026 / 5002 | Оценка: 4.34 / 4.09 | Длительность: 14:55:00
Лекция 1:

Введение в базы данных. Общая характеристика основных понятий

Лекция 1: 123 || Лекция 2 >

Задача 3. Учет экономии фонда оплаты труда (ФОТ) в связи с болезнью сотрудников.

Обрабатываются сведения, представленные записями ЭКОНОМИЯ ФОТ:

Фамилия, имя, отчество Оклад Количество дней на больничном листе Невыплаченная сумма
FIO O Kдв SN
SN=KдвO/Kr.

Программа решения задачи 3 аналогична программе решения задачи 1.

Рассмотрим типичный случай, когда все три вышеуказанные программные системы функционируют в одной организации. Отметим следующие принципиальные эксплуатационные недостатки:

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

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

FIO D O G Ko M Kдв S SN

Дублирование информации полностью убрано. Расход памяти минимален. Недостатки устранены. Рассмотрим, как в этом случае изменится время решения задач 1–3. Время решения задачи прямо пропорционально объему считываемых из внешней памяти данных.

Обозначим Ti, li, Ni соответственно время решения, длину записи, число записей i -й задачи ( i = 1, 2, 3) при использовании отдельных файлов для каждой задачи:

T_{i}\approx C \times l_{i} \times N_{i}

где C – некоторый коэффициент пропорциональности.

Обозначим Ri, d, N соответственно время решения i -й задачи ( i = 1, 2, 3) при использовании файла объединенных записей, длину записи, число записей:

R_{i}\approx C \times d \times N

Заметим, что N1 = N2 = N, N3 << N.

Тогда время решения i -й задачи ( i = 1, 2) при использовании объединенного файла увеличится в R_{i}/T_{i}\approx d/l_{i} раз. Для нашего примера время решения задач в зависимости от выбранной длины полей может изменяться в 2–3 раза. Таким образом, платой за исключение дублирования информации является увеличение времени решаемых задач. Заметим, что такое увеличение, как правило, допустимо.

Время решения задачи 3 увеличится в R3/T3\approx d \times N/l3 \times N3 раз. Так как для данного примера N3 << N, то R3 >> T3. Время решения задачи 3 может увеличиться на несколько порядков, что совершенно недопустимо.

Рассмотрим другой вариант построения единой информационной базы. Объединим записи задач 1 и 2, запись задачи 3 оставим отдельно. Получим два типа записей:

FIO D O G Ko S M
FIO O Kдв SN

В этом случае дублирование остается (дублируются поля FIO, O ). Но так как N3<<N, то общий объем дублирования незначителен. Время решения задачи 1 и 2 в этом случае незначительно возрастет по сравнению с вариантом отдельных файловых систем, время решения задачи 3 такое же, как и в начальном варианте отдельного файла. Такое объединение позволяет значительно уменьшить влияние недостатков и в то же время существенно увеличивает время решения всех задач. Все три задачи можно решать, используя общую информационную базу из двух типов записей. Отметим, что два приведенных типа записей связаны друг с другом по полю FIO (находятся в некотором отношении). Отметим, что приведенные варианты интеграции не исчерпывают все возможные способы интеграции данных для приведенных задач и к вопросу выбора наилучшего варианта вернемся в последующих лекциях.

Здесь очень важно, что в этом случае для решения вышеуказанных задач используется некоторый новый вид данных, формируемый на основе интеграции записей.

Для описания этого вида данных вводится новое понятие " База данных " [ [ 1.1 ] ].

База данных – совокупность экземпляров различных типов записей и отношений между записями и элементами.

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

Таким образом, появление понятия "Базы данных" обусловлено возникновением нового класса невычислительных задач, при решении которых используются общие данные. В качестве основного критерия оптимальности функционирования базы данных, как правило, используются временные характеристики реализации запросов пользователей прикладными программами.

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

Лекция 1: 123 || Лекция 2 >
Александра Каева
Александра Каева
Карина Максутова
Карина Максутова