Независимость от данных. Основным назначением трехуровневой архитектуры является обеспечение независимости от данных, которая означает, что изменения на нижних уровнях никак не влияют на верхние уровни. Различают два типа независимости от данных: логическую и физическую.
Логическая независимость от данных означает полную защищенность внешних схем от изменений, вносимых в концептуальную схему. Такие изменения концептуальной схемы, как добавление или удаление новых сущностей, атрибутов или связей, должны осуществляться без внесения изменений в уже существующие внешние схемы или переписывания прикладных программ.
Физическая независимость от данных означает защищенность концептуальной схемы от изменений, вносимых во внутреннюю схему. Такие изменения внутренней схемы, как использование различных файловых систем или структур хранения, разных устройств хранения, модификация индексов или хеширование, должны осуществляться без необходимости внесения изменений в концептуальную или внешнюю схемы. Пользователем могут быть замечены изменения только в общей производительности системы. На рис. 5.7 показано место перечисленных выше типов независимости от данных в трехуровневой архитектуре СУБД.
Принятое в архитектуре ANSI-SPARC двухэтапное отображение может сказываться на эффективности работы, но при этом оно обеспечивает более высокую независимость от данных.
Рис. 5.7 Реализация независимости от данных в трехуровневой архитектуре ANSI-SPARC
Уровни представления данных
Ядром любой БД является модель данных - множество структур данных, ограничений целостности и операций манипулирования данными. Модель данных — это совокупность структур данных и операций их обработки. С помощью модели данных могут быть представлены объекты предметной области и взаимосвязи между ними.
СУБД основывается на использовании иерархической сетевой или реляционной моделей, на комбинации эти^ моделей или на некотором их подмножестве.
Иерархическая модель данных. Иерархическая струкч тура — это совокупность элементов, связанных межд^, собой по определенным правилам. Объекты, связанны^ иерархическими отношениями, образуют ориентирован ный граф (перевернутое дерево), вид которого представлен на рис. 10.
Уровень 1 . А
Рис. 10. Графическое изображение иерархической структуры БД
К основным понятиям иерархической структуры относятся: уровень, узел (элемент), связь.
Узел — это совокупность атрибутов данных, описывающих некоторый объект. На схеме иерархического дереву узлы представляются вершинами графа. Каждый узел щ более низком уровне связан только с одним узлом, находящимся на более высоком уровне. Иерархическое дерево имеет только одну вершину (корень дерева), не подчиненную никакой другой вершине и находящуюся на самом верхнем (первом) уровне. Зависимые (подчиненные) узлы находятся на втором, третьем и т. д. уровнях. Количество деревьев в БД определяется числом корневых записей.
К каждой записи БД существует только один (иерархический) путь от корневой записи. Например, как видно из рис. 10, для записи С4 путь проходит через записи А и ВЗ.
Из приведенного на рис. 11 примера очевидно, что иерархическая структура правомерна, так как каждый студент учится в определенной (только одной) группе, которая относится к определенному (только одному) институту.
Сетевая модель данных. В сетевой структуре при тех же основных понятиях (уровень, узел, связь) каждый элемент может быть связан с любым другим элементом.
Пр имером сложной сетевой структуры может служить структура БД, содержащей сведения о работах, студентов учебных заведений. Возможно участие одного студента в нескольких разработках, а также участие нескольких студентов в разработке одной темы. Графическое изображение примера, состоящего только из двух типов записей, показано на рис. 12 и рис. 13. Единственное отношение представляет собой сложную связь между записями в обоих направлениях.
Реляционная модель данных.
Понятие «реляционный» (от англ. relation — отношение) связано с разработками известного американского специалиста в области систем баз данных Рис. 12. Графическое Е. Кодда. Реляционные модели изображение сетевой характеризуются простотой структуры в виде графа структуры данных, удобным для пользователя табличным представлением и возможностью использования формального аппарата алгебры отношений и реляционного исчисления для обработки данных.
Студент (номер зачетной книжки, фамилия, группа)
Рис. 13. Пример сетевой структуры БД
Реляционная модель ориентирована на организацию данных в виде двухмерных таблиц. Каждая реляционная таблица представляет собой двухмерный массив и обладает следующими свойствами:
— каждый элемент таблицы — один элемент данных;
— все столбцы в таблице однородны, т. е. все элементы в столбце имеют одинаковые тип (числовой, символьный и т. д.) и длину;
каждый столбец имеет уникальное имя;
одинаковые строки в таблице отсутствуют;
— порядок следования строк и столбцов может быть произвольным.
В качестве примера можно представить информацию о студентах вуза в виде реляционной таблицы:
Здесь отношения представлены в виде таблицы, строки которой соответствуют кортежам, или записям, а столбцы — атрибутам отношений, доменам, полям.
Поле, каждое значение которого однозначно определяет соответствующую запись, называется простым ключом (ключевым полем). Если записи однозначно определяются значениями нескольких полей, то такая таблица БД имеет составной ключ. В примере, показанном на рис. 14, ключевым полем таблицы является «Номер личного дела».
Рис. 14. Пример реляционной модели
Чтобы связать две реляционные таблицы, необходимо ключ первой таблицы ввести в состав ключа второй таблицы (возможно совпадение ключей), в противном случае нужно ввести в структуру первой таблицы внешний ключ — ключ второй таблицы. На рис. 14 показана реляционная модель, построенная на основе отношений «Студент, Сессия, Стипендия», где:
Студент — Номер, Фамилия, Имя, Отчество, Пол, Дата рождения, Группа;
Сессия — Номер, Оценка 1, Оценка 2, Оценка 3, Оценка 4, Результат;
Стипендия — Результат, Процент.
Таблицы СТУДЕНТ и СЕССИЯ имеют совпадающие ключи (Номер), что дает возможность легко организовать связь между ними. Таблица СЕССИЯ имеет первичный ключ Номер и содержит внешний ключ Результат, который обеспечивает ее связь с таблицей СТИПЕНДИЯ.
База данных — средство организации хранения и управления большим количеством упорядоченной разнородной информации.
Базу данных можно представить в виде таблицы с конечным числом столбцов и неопределённым числом строк. Примером базы данных может служить классный журнал или итоговая ведомость, куда заносятся оценки за четверть. Количество столбцов ограниченно — их столько, сколько предметов изучается, а количество учащихся может изменяться. Пустая ведомость — это база данных, из которой удалены все записи, но остаются названия полей базы, то есть её структура. При создании базы данных необходимо сначала разработать её структуру, а затем заполнить её информацией — эти функции и выполняются с помощью СУБД. Вторым этапом является ввод и редактирование записей в таблицу. БД считается созданной, даже если она пустая.
Столбцы в базе данных называют полями, а строки — записями. Каждое поле имеет своё имя и содержит отдельный элемент информации. Для каждого поля необходимо указывать его имя, тип данных, размер. От типа и размера поля зависит скорость доступа к БД и объём файла. Тип данных поля определяется значениями, которые предполагается вводить в поле.
Основные объекты окна БД имеют следующее назначение:
• таблица — основное средство для хранения информации в БД;
• запрос — это инструмент для извлечения необходимой информации из исходных таблиц и представления ее в удобной форме;
• форма — это основное средство для ввода данных, управления СУБД и вывода результатов на экран монитора;
• отчёт — это специальное средство для формирования выходных документов и вывода их на принтер;
• макросы в Access представляют собой совокупность внутренних команд, предназначенных для автоматизации работы с БД;
• модули являются программами, создаваемыми средствами языка VBA, и похожи на макросы в Word и Excel.
Работа с СУБД Access.
СУБД Access создаёт и обрабатывает реляционные базы данных, то есть она позволяет хранить данные не в одной, а в нескольких таблицах и устанавливать связь между ними. Такие таблицы называются связанными, т.е. объединёнными в единую базу. Для задания связи таблицы должны иметь поля с одинаковым типом данных. Связь между таблицами устанавливает отношение между совпадающими значениями в этих полях. Такая организация позволяет уменьшить избыточность хранимых данных, упрощает их ввод, удаление, поиск.
Для установления связи между таблицами необходимо, чтобы:
• связываемые поля имели одинаковый тип данных. Исключение составляет поле-счётчик, так как поле-счётчик может быть связано с числовым полем, имеющим размер «длинное целое».
• таблицы хранились внутри одной БД.
• главная таблица связывалась с подчинённой по ключу.
Для обеспечения целостности данных для связанных таблиц нужно помнить, что:
• в подчиненную таблицу не может быть добавлена запись с несуществующим в главной таблице ключом связи;
• в главной таблице нельзя удалить запись, если не удалены связанные с ней записи в подчиненной таблице;
• изменение значений ключа связи главной таблицы должно приводить к изменению соответствующих значений в записях подчиненной таблицы.
Та таблица, от которой идет связь, называется главной, а таблица, к которой эта связь ведёт, — подчинённой.
В каждой таблице должно быть уникальное поле, с помощью которого можно связать таблицы между собой. Такое поле называется полем первичного ключа, или первичным ключом.
Для того чтобы понять принципы разработки реляционных баз данных, требуется дать определения различных типов реляционных ключей и таблиц:
• Базовая таблица. В реляционной базе данных базовой таблицей называется таблица, которая включает один или несколько столбцов свойств объекта и содержит первичный ключ, который однозначно определяет этот объект. Более того, базовая таблица должна содержать первичный ключ. Базовые таблицы часто называют первичными, поскольку они имеют первичный ключ.
• Промежуточная таблица. Таблица, не являющаяся базовой (т. к. она не объединяет свойства объекта или не содержит поле первичного ключа), которая используется для обеспечения связей между другими таблицами, называется таблицей отношений. Ключевые поля в таблицах отношений должны бытьвнешними ключами, связанными с первичными ключами базовой таблицы. То есть, таблица отношений состоит только из внешних ключей и не содержит независимых элементов данных.
• Первичный ключ. Первичный ключ состоит из набора значений, которые однозначно определяют запись базовой таблицы. Любому значению первичного ключа должна соответствовать одна и только одна строка таблицы. Первичный ключ включает одно поле только в том случае, если это поле не содержит повторяющихся значений.
• Составные ключи. Если для выполнения условий, накладываемых на значения первичного ключа, заданный ключ включает несколько полей таблицы, то тогда он называется составным.
• Внешние ключи. Внешний ключ — это столбец, значения которого соответствуют значениям первичного ключа другой связанной таблицы.
В программе предусмотрены пять возможностей создания таблицы:
• Импорт таблиц из другой базы. В зависимости от обстоятельств из импортируемой таблицы может поступить структура полей, их названия и свойства, а также и содержимое базы. Необходимые правки вносят вручную.
• Режим Связь с таблицами применяется в тех случаях, когда речь идет о чужой таблице, которая находится на удаленном сервере и которую нельзя импортировать целиком. Это напоминает подключение к таблице для совместного использования её данных.
• Мастер таблиц. Это программа, ускоряющая создание структуры таблицы. Мастер задает ряд вопросов и, руководствуясь полученными ответами, создает структуру таблицы автоматически.
• Режим таблицы открывает заготовку, в которой все поля имеют формальные имена: Полег, Поле2... и т. д. — и один стандартный текстовый тип. Такую таблицу можно сразу наполнять информацией.
• Конструктор предоставляет возможность одновременно задавать поля будущей таблицы и устанавливать свойства этих полей.
Мощным средством обработки данных, хранимых в таблицах Access, являются запросы. С их помощью можно просматривать, анализировать и изменять данные из нескольких таблиц, а также можно использовать запросы в качестве источника данных для форм и отчётов. Запросы позволяют вычислять итоговые значения и выводить их в компактном формате, подобном формату электронной таблицы, а также выполнять вычисления над группами записей.
В Access можно создавать следующие типы запросов:
Запрос на выборку. При его выполнении данные, удовлетворяющие условиям отбора, выбираются из одной или из нескольких таблиц и выводятся в определённом порядке. Простые запросы на выборку практически не отличаются от фильтров, которые можно сохранять как запросы. Этот запрос можно использовать, чтобы сгруппировать записи для вычисления сумм, средних значений, пересчёта и других действий.
Запрос с параметрами. Это запрос, при выполнении которого в его диалоговом окне пользователю выдается приглашение ввести данные, на основе которых будет выполняться запрос.
Перекрёстный запрос. Перекрёстные запросы предназначены для группирования данных и представления их в компактном виде. Позволяют представить большой объем данных в виде, удобном для восприятия, анализа, сравнения. Могут использоваться в качестве базового при создании отчёта. Отчёты позволяют выбирать из базы данных нужную информацию, оформить её в виде документа и распечатать. Источником данных может быть таблица, запрос или несколько взаимосвязанных таблиц. Отчеты и формы похожи, разница в том, что, в отличие от форм, отчёты не предназначены для ввода и корректировки данных. Отчёты состоят из разделов, подобных разделам форм. В процессе конструирования отчета формируется состав и содержимое разделов отчёта, размещение в нём значений, выводимых из полей связанных таблиц баз данных, формируются заголовки, размещаются вычисляемые поля. Отчёт позволяет сгруппировать данные по нескольким уровням, для каждого из которых производится вычисление итогов, определяются заголовки и примечания.
Достарыңызбен бөлісу: |