- •Содержание
- •Введение
- •1 Организация систем управления базами данных
- •1.1 Базы данных и системы управления базами данных
- •1.2 Модели данных
- •1.3 Реляционная база данных
- •1.4 Связи между таблицами
- •1.4 Манипулирование реляционными данными
- •2 Объекты базы данных ms access
- •2.1 Таблицы
- •2.2 Запросы
- •2.3 Формы
- •2.4 Отчеты
- •2.5 Макросы
- •2.6 Модули
- •2.7 Web-страницы
- •2.8 Sql – запросы
- •2.8.1 Структура языка sql
- •Dcd (Data Control Language) – язык управления данными состоит из операторов контроля данных, защиты и управления данными:
- •2.8.2 Выборка данных из таблиц
- •2.8.3 Операторы sql
- •3 Лабораторный практикум
- •3.1 Применение кейс-метода при создании реляционной базы данных ms access
- •1. Кейс-компонент Открытие бд
- •2. Кейс-компонент Закрытие бд
- •3. Кейс-компонент Создание бд
- •4. Кейс-компонент Создание таблиц
- •5. Кейс-компонент Формирование связей между таблицами
- •6. Кейс-компонент Создание форм
- •7. Кейс-компонент Ввод данных
- •8. Кейс-компонент Организация данных
- •9. Кейс-компонент Создание запросов
- •10. Кейс-компонент Представление информации
- •11. Кейс-компонент Изменение структуры объектов бд
- •12. Кейс-компонент Импорт данных
- •3.2 Иллюстративные учебные кейсы
- •1. Работа с субд Microsoft Access на примере бд «Борей»
- •Задания и алгоритм реализации кейс-ситуации
- •Задания для самостоятельной работы
- •2. Создание однотабличной бд и работа с ней в различных режимах
- •Задания и алгоритм реализации кейс-ситуации
- •3. Создание и работа по запросам с двухтабличной бд «Авто»
- •Задания и алгоритм реализации кейс-ситуации
- •4. Разработка составной формы на основе двух таблиц для бд «Авто»
- •Задания и алгоритм реализации кейс-ситуации
- •Задания и алгоритм реализации кейс-ситуации
- •6. Создание структуры реляционной бд торговой фирмы
- •Задания и алгоритм реализации кейс-ситуации
- •7. Редактирование и обработка данных. Формирование сложных запросов
- •8. Создание форм для работы с данными. Разработка кнопочной формы
- •Задания и алгоритм реализации кейс-ситуации
- •9. Формирование отчетов и почтовых наклеек
- •Задания и алгоритм реализации кейс-ситуации
- •10. Интеграция баз данных ms Access и SharePoint
- •Задания и алгоритм реализации кейс-ситуации
- •3.3 Учебные кейсы. Создание запросов к бд «Фирма» с использованием языка sql
- •1. Создание простых запросов
- •2. Получение обобщенных данных для формирования отчетов и создание запросов с данными из нескольких таблиц и подзапросами
- •3. Создание объединения запросов и запросов с соотнесенными подзапросами для учебной и индивидуальной бд
- •4. Создание запросов на модификацию данных
- •1. Гостиница
- •2. Прокат спортивного оборудования
- •3. Платный абонемент
- •4. Подписка
- •5. Реклама в газете
- •6. Справочная сети аптек
- •7. Фирма добрых услуг
- •8. Продажа музыкальных альбомов
- •9. Транспортные перевозки
- •10. Ремонт компьютеров
- •Лебедева Татьяна Фёдоровна солопова Алла Николаевна
- •650942, Г. Кемерово, пр. Кузнецкий, 39. Тел. 75-75-00
1.3 Реляционная база данных
MS Access является персональной СУБД реляционного типа. Достоинством Access является простой графический интерфейс, который позволяет не только создавать собственную БД, но и разрабатывать простые и сложные приложения.
MS Access хранит все данные в одном файле, хотя и распределяет их по разным таблицам. Для версии 2003 это файл вида – имя_БД.mdb; для версии 2007 – имя_БД.accdb.
Все версии Access имеют в своем арсенале средства, значительно упрощающие ввод обработку, поиск данных, предоставление информации в виде таблиц, графиков и отчетов. Начиная с версии Access 2000, были добавлены Web-страницы доступа к данным, которые пользователь может просматривать с помощью программы Internet Explorer. Помимо этого, Access позволяет использовать электронные таблицы и таблицы других персональных и серверных БД для обмена и хранения информации, необходимой приложению.
Реляционная база данных воспринимается пользователем как совокупность таблиц, прошедших процедуру нормализации – разбиения логически связанной информации по отдельным отношениям.
Отношения обладают следующими свойствами:
каждый элемент таблицы – один элемент данных;
каждый кортеж таблицы – данные об одном экземпляре объекта предметной области, например, в таблице «Сотрудники» строка сведений о конкретном сотруднике;
все элементы поля имеют одинаковый тип и длину, определёны на одном домене;
каждое поле имеет уникальное имя;
одинаковые строки в таблице отсутствуют;
порядок следования строк и столбцов может быть произвольным.
Для приведения отношения ко второй нормальной форме следует разбить его на проекции, при этом должно быть соблюдено условие восстановления исходного отношения без потерь. Такими проекциями могут быть два отношения Должности и Оклады (таблицы 2 – 3)
Таблица 2 – Отношение Должности
Должность |
Подразделение |
Директор |
Администрация |
Менеджер по продажам |
РабочийПерсонал |
Менеджер по закупкам |
РабочийПерсонал |
Таблица 3– ОтношениеОклады
Оклад |
ТарифныйРазряд |
3500 |
6 |
4000 |
7 |
4500 |
8 |
Таблица 3 задаёт размеры окладов, каждому окладу поставлен в соответствие определённый разряд.
В таблице 2 показаны должности, каждая должность относится к той или иной категории, представленной в виде подразделения.
В таблице 1 отражены данные о сотрудниках с возможностью выбора Должности и Оклада из списка Подстановки. Назначение таблицы Сотрудники в том, чтобы связать между собой две другие таблицы. При этом появляется возможность сопоставить одну запись из таблицы 3 списку записей сотрудников с определённым окладом, и одну запись из таблицы 2 – списку записей сотрудников с определённой должностью.
Таким образом, в реляционной базе данных средством, соединяющим одну таблицу с другой, является также таблица, в которой предусмотрены такие возможности, как ключевые поля.
Ключевые поля используются для быстрого поиска и связи данных из разных таблиц при помощи запросов, форм и отчетов. Если для таблицы определены ключевые поля, то MS Access предотвращает дублирование или ввод в них пустых значений. Ключевые поля бывают двух типов – первичные и внешние.
Первичные ключи используются для создания связей между таблицами. В этом случае первичному ключу одной таблицы соответствует внешний ключ второй таблицы. Например, поле Должность является первичным ключом в таблице Должности и внешним ключом в таблице Сотрудники; поле Оклад является первичным ключом в таблице Оклады и внешним ключом в таблице Сотрудники.
Внешний ключ содержит значения связанного с ним поля, являющегося первичным ключом, и никаких других значений содержать не может, воизбежании нарушения целостности данных.
Ключ, состоящий из одного поля, называется простым. В случае, когда ни одно из полей таблицы не гарантирует уникальности записи, можно создать составной ключ, состоящий из нескольких полей.
Например, в таблице Сотрудники поля Должность и Оклад образуют составной ключ, т. к. ни одно из этих полей в отдельности не представляет полную индивидуальность записи. Оба поля могут содержать повторяющиеся значения. Так, одинаковую должность могут иметь несколько сотрудников, а должность может иметь различные оклады в зависимости от квалификационного разряда. В то же время сочетание полей Оклад и Должность однозначно определяет каждую запись таблицы Сотрудники.
Для пользователя важно, чтобы БД отражала предметную область автоматизируемого процесса однозначно и непротиворечиво, т.е. удовлетворяла условиям целостности. В связи с этим, на БД накладываются два основных вида ограничений:
Целостность по сущностям. Не допускается, чтобы какой-либо атрибут, участвующий в первичном ключе базового отношения, принимал неопределенные значения. Базовым отношением называют независимое именованное отношение (для БД Сотрудники – это отношения Должности, и Оклады). Мотивировка этого правила определяется тем, что базовые отношения соответствуют сущностям в реальном мире, следовательно, они отличимые, т.е. имеют уникальную идентификацию. В реальной же модели функцию уникальной идентификации выполняют первичные ключи, и, таким образом, ситуация, когда первичный ключ принимает неопределенное значение, является противоречивой и говорит о том, что некоторая сущность не обладает индивидуальностью, а значит, не существует. Отсюда и название – целостность по сущностям.
Целостность по ссылкам. Если базовое отношение включает некоторый внешний ключ (ВК), соответствующий некоторому первичному ключу (ПК), то каждое значение ВK должно быть либо равным значению ПК, либо полностью неопределенным. Неопределенность внешнего ключа может возникнуть в ситуации, когда, например, имеется вакансия на должность в некоторый отдел.
В MS Access для ускорения сортировки и поиска записей используются индексы – это структура подобна предметному указателю книги. Любая таблица, содержащая ключевое поле, автоматически индексируется по полю ключа, такой индекс называется первичным. Индекс может создаваться по запросу пользователя для полей, в которых часто производится поиск. Индексы, как и первичные ключи, могут быть простыми и составными. В индексе значения атрибута хранятся упорядоченно (по возрастанию или убыванию), каждому значению соответствует указатель на строку отношения, которое его содержит (аналог номера страницы в предметном указателе). Индекс занимает значительно меньший, чем таблица, объем, поэтому даже полный перебор значений в нем потребует меньше времени, чем считывание информации и поиск в отношении. В таблице может быть сколько угодно индексов, однако слишком большое их количество существенно замедляет работу системы.