
- •Часть 1. Практические задания 2
- •Часть 2. Основы теории 37
- •Часть 1. Практические задания Общие указания по выполнению практикума
- •1. Базы данных ms Excel
- •I. Подготовительные действия
- •II. Простейшие запросы на выборку данных из списка (автофильтр)
- •III. Контрольное задание
- •V. Контрольное задание
- •2. Создание базы данных ms Access
- •I. Создание файла базы данных
- •I. Создание таблицы в режиме конструктора
- •II. Создание таблицы путем ввода данных
- •III. Создание таблицы бд путем импорта данных из таблицы ms Excel
- •I. Контрольное задание
- •3. Ввод, изменение, удаление и отображение данных
- •I. Использование режима таблица
- •II. Контрольное задание
- •4. Просмотр и выбор информации из таблиц
- •I. Использование режима «Таблица»
- •I. Контрольное задание
- •II. Использование мастера запросов для создания простых запросов на выборку
- •IV. Создание запросов на выборку в режиме конструктора
- •IV. Контрольное задание
- •5. Вычисления в ms access
- •Использование в запросах вычисляемых полей
- •Быстрый подсчет
- •Контрольное задание
- •Вычисления с группировкой значений
- •Использование мастера запросов для создания простых запросов с группированием данных
- •Вычисления с группировкой значений (Создание запросов с использованием конструктора)
- •VI. Контрольное задание
- •6. Подготовка отчетов
- •I. Формирование автоотчетов
- •II. Использование мастера отчетов
- •III. Использование конструктора отчетов
- •IV. Контрольное задание
- •7. Связывание таблиц
- •7.I. Связь 1:1
- •7.II. Связь 1:m
- •7.III. Связь m:n
- •Часть 2. Основы теории Некоторые термины и определения, используемые при работе с базами данных
- •Введение
- •Классификация бд
- •Классификация субд
- •Модели представления данных
- •Иерархическая модель
- •Сетевая модель
- •Реляционная модель Определение
- •Груз (Номер, Тип, Вес, Трюм, Код)
- •Операция связывания
- •Связь вида 1:1
- •Связь вида 1:м
- •Связь вида m:n
- •Ссылочная целостность реляционной базы данных
- •Основные стратегии поддержания ссылочной целостности
- •Постреляционные модели данных
Классификация субд
Полнофункциональные СУБД
Отличает развитый, удобный для пользователя интерфейс (меню, команды, графические средства управления и т.п.), используются специальные языки описания и манипулирования данными, модули для досдупа к данным, созданным под управлением других СУБД
Примеры: Microsoft Access, Borland Paradox.
Серверы база данных
Полнофункциональные СУБД способные выполнять задания по обработке данных, формируемым клиентскими программами. Обычно задания формируются с использованием специального языка манипулирования данными SQL (Structured query language). Отличает высокое быстродействие, оптимизация и параллельное выполнение операций по обработке данных, а также высокая безопасность хранимых.
Примеры: Firebird, Interbase, MS SQL Server, Sybase, Oracle, MySQL.
Встраиваемые СУБД
Отдельным классом можно выделить так называемые встраиваемые СУБД, которые представляют собой библиотеку, к функциям и процедурам которой может обращаться прикладная программам для создания и ведения базы данных. Доступ к данным производится путем передачи прикладной программой инструкций на языке SQL. Встраиваемые СУБД быстрее обычных клиент-серверных и не требуют установки сервера,
Примеры: MS Jet (Майкрософт), BDE (Борланд) и др.
Модели представления данных
БД хранит сведения о некоторой предметной области. Предметная область, как правило, бывает сложной и состоит из нескольких объектов и/или процессов (сущностей, как принято их называть в теории баз данных). Например, предметная область, которая используется в лабораторном практикуме, включает две сущности: судно и груз, который перевозит судно.
Каждая сущность предметной области характеризуется набором свойств (атрибутов – в теории баз данных). Атрибут – это наименьший элемент данных, характеризующий какое либо свойство сущности.
Модели данных определяют способы описания сущностей предметной области и их взаимосвязи.
Иерархическая модель
Объекты, связанные иерархическими отношениями, образуют дерево (ориентированный связный граф), у которого один узел не имеет входящих дуг (корень дерева), а все остальные узлы имеют по одной входящей дуге. Узлы дерева - это объекты, а дуги - это связи между ними. Тип связи в этой модели «один ко многим» (1:М).
Иерархическая структура должна удовлетворять условиям:
существует только один корневой узел;
узел содержит один или несколько атрибутов, описывающих объект в данном узле;
доступ к порожденным узлам возможен только через исходный узел (существует только один путь доступа к каждому узлу).
В БД может быть несколько деревьев, порожденных различными корневыми записями. Корневая запись должна содержать ключ. Ключи некорневых записей должны быть уникальны только в пределах своего уровня иерархии того дерева, которому они принадлежат. Каждая запись идентифицируется полным сцепленным ключом, под которым понимается совокупность ключей всех записей от корневой по иерархическому пути, ведущему к данной записи.
Основная единица обработки - запись. Операции над записями:
Добавить - новую запись в БД;
Обновить - изменить значения данных предварительно извлеченной записи;
Удалить - исключает из БД некоторую запись и все ей подчиненные;
Извлечь – поиск начинается с корневой записи (по ее уникальному ключу), затем находится следующий в контексте левостороннего обхода дерева.
Классическим примером иерархической базой данных является файловая система, состоящая из корневой директории, в которой имеется иерархия поддиректорий и файлов.
П
ример
простой БД. Пусть база данных должна
содержать сведения об учебных группах
и студентах, которые в них обучаются.
БД будет состоять из двух объектов –
Группа (корневой узел) и Студент
(порожденный узел).
В
такой БД могут храниться, например,
следующие записи о студентах группы
А-999:
В этой модели запрос, направленный вниз по иерархии, прост (например, получить сведения о студентах, обучающихся в конкретной группе). Однако, запрос направленный вверх по иерархии (например, узнать в какой группе обучается студент) вложен и требует просмотра записей обо всех группах учебного заведения, пока не будет найден нужный нам студент.
Для реализации связь типа М:N необходимо дублирование данных, т.к. эта связь непосредственно не поддерживается.
Пример. Пусть требуется построить иерархическую модель о студентах и дисциплинах, которые студенты изучают.
Каждый студент должен изучить несколько дисциплин, сдать экзамен и получить оценку. Каждая дисциплина, очевидно, изучается несколькими студентами. Таким образом, модель должна реализовать связь М:N между объектами Студент и Дисциплина.
1-й вариант. Корневым узлом является Студент (Номер студента, ФИО, Номер группы). Для каждого студента при данном представлении имеется экземпляр корневого узла. Дисциплина (Название, Количество часов, Дата экзамена, Оценка) представляется порожденным узлом корневого узла Студент.
При такой организации данных достаточно легко получать ответы на запросы типа "выдать информацию о сдаче экзаменов конкретным студентом по различным дисциплинам". Однако при ответе на вопрос, какие оценки получены на экзаменах по тому или иному предмету, необходимо просмотреть все записи порожденных узлов для каждого корневого узла. Для ответа на такие вопросы более подходит следующая модель
2-й вариант. Корневым узлом является Дисциплина(Название, количество часов), а порожденным является Студент (Номер студента, ФИО, Номер группы, Дата сдачи, Оценка).
Таким образом, в первом варианте модели для каждого студента дублируется информация (в экземпляре порожденного узла) о дисциплине, а во втором - для каждой дисциплины дублируется информация о студентах.
Типичным представителем иерархических СУБД является Information Management System (IMS) фирмы IBM (http://www-306.ibm.com/software/data/ims/ims/). Первая версия появилась в 1968 г. До сих пор поддерживается некоторое количество баз данных этой системы.