ПРИНЦИПЫ ПОСТРОЕНИЯ БАЗ ДАННЫХ

Таблица имеет имя – идентификатор, по которому на нее можно сослаться. Пример таблицы данных о сотрудниках Pers:

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

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

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

При построении таблиц баз данных важно обеспечить непротиворечивость информации. Обычно это делается введением ключевых полей – обеспечивающих уникальность каждой записи. Ключевым может быть одно или несколько полей. В приведенном примере можно было бы сделать ключевыми совокупность полей Fam, Nam, Par. Но в этом случае нельзя было бы заносить в таблицу сведения о полных однофамильцах, у которых совпадают фамилия, имя и отчество. Поэтому в таблицу введено первое поле Num – номер, которое можно сделать ключевым, обеспечивающим уникальность каждой записи.

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

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

Индексы могут быть первичными и вторичными. Например, первичным индексом могут служить поля, отмеченные при создании базы данных как ключевые. А вторичные индексы могут создаваться из других полей как в процессе создания самой базы данных , так и позднее в процессе работы с ней. Вторичным индексам присваиваются имена – идентификаторы, по которым их можно использовать.

 

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

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

В примере головной может быть таблица Dep, вспомогательной Pers, а связываться они могут по полю Dep, присутствующему в обеих таблицах.

Каждой записи в главной таблице Dep соответствуют те записи вспомогательной таблицы Pers, в которых ключевое поле Dep с названием отдела совпадает с названием отдела в текущей записи главной таблицы. Иначе говоря, если в текущей записи главной таблицы в поле Dep написано «Бухгалтерия», то во вспомогательной таблицеPers выделяются все записи сотрудников бухгалтерии.

Для упорядочения обращения к базам данных используют псевдонимы баз данных.

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

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

ТИПЫ БАЗ ДАННЫХ