
РЕЛЯЦИОННАЯ БАЗА ДАННЫХ
Определения и понятия
База данных является организованной на машинном носителе совокупностью взаимосвязанных данных и содержит сведения о различных сущностях одной предметной области – реальных объектах, процессах, событиях или явлениях.
Система управления базой данных (СУБД) СУБД является универсальным инструментом создания и обслуживания баз данных и приложений пользователя в самых разных предметных областях. СУБД обеспечивает многоаспектный доступ к данным и использование одних и тех же данных различными задачами и приложениями пользователей.
В СУБД поддерживаются различные модели данных.
Модель данных – это метод (принцип) логической организации данных, используемый СУБД. Наиболее известными являются иерархическая, сетевая и реляционная модели.
В СУБД для персональных компьютеров (настольных СУБД) поддерживается преимущественно реляционная модель, которую отличает простота и единообразие представления данных простейшими двумерными таблицами. Реляционная модель обеспечивает возможность использования в разных СУБД операций обработки данных, имеющих единую основу – алгебру отношений (реляционную алгебру), и универсального языка структурированных запросов SQL (Sequential Query Language).
СУБД Microsoft Access является системой управления реляционной базой данных, включающей все необходимые инструментальные средства для создания локальной базы данных, общей базы данных в локальной сети с файловым сервером или базы данных или базы данных на SQL-сервере, а также для создания приложения пользователя, работающего с этими базами данных.
Реляционная база данных представляет собой множество взаимосвязанных двумерных таблиц – реляционных таблиц, называемых также отношениями, в каждой из которых содержатся сведения об одной сущности автоматизируемой предметной области.
Логическую структуру реляционной базы данных образует совокупность реляционных таблиц, между которыми установлены связи.
В таблицах базы должны сохраняться все данные, необходимые для решения задач предметной области. Причем каждый элемент данных должен храниться только в одном экземпляре.
Для создания таблиц, соответствующих реляционной модели данных, используется процесс, называемый нормализацией данных. Нормализация - это удаление из таблиц повторяющихся данных путем их переноса в новые таблицы, записи которых не содержат повторяющихся значений.
Минимальное дублирование данных в реляционной базе обеспечивает высокую эффективность поддержания базы данных в актуальном и непротиворечивом состоянии, однократный ввод и корректировку данных.
Структура реляционной таблицы определяется составом полей. Каждое поле отражает определенную характеристику сущности. Для поля указывается тип и размер элементарного данного, помещаемого в нем, и ряд других свойств. Содержимое поля отображается в столбце таблицы. Столбец таблицы содержит данные одного типа.
Содержание таблицы заключено в ее строках, однотипных по структуре. Каждая строка таблицы содержит данные о конкретном экземпляре сущности и называется записью. Структура записи определяется составом входящих в нее полей. Для однозначного определения (идентификации) каждой записи таблица должна иметь уникальный (первичный) ключ. По значению ключа таблицы отыскивается единственная запись в таблице. Ключ может состоять из одного или нескольких полей таблицы. Значение уникального ключа не может повторяться в нескольких записях.
Логические связи между таблицами дают возможность объединять данные из разных таблиц. Связь каждой пары таблиц обеспечивается одинаковыми полями в них – ключом связи. Так обеспечивается рациональное хранение недублированных данных и их объединение в соответствии с требованиями решаемых задач.
В нормализованной реляционной базе данных связь двух таблиц характеризуется отношениями записей типа один-к-одному (1:1) или один-ко-многим (1:М). Отношение 1:1 предполагает, что каждой записи одной таблицы соответствует одна запись в другой. Отношение 1:М предполагает, что каждой записи первой таблицы соответствует много записей во второй, но каждой записи второй таблицы соответствует только одна запись в первой.
Для двух таблиц, находящихся в отношении типа 1:М устанавливается связь по уникальному ключу таблицы, представляющей в отношении сторону «один» - главной таблицы в связи. Во второй таблице, представляющей в отношении сторону «многие» и именуемой подчиненной, этот ключ связи может быть либо частью уникального ключа, либо не входить в состав ключа. В подчиненной таблице ключ связи называется еще внешним ключом.
На рис.1 показаны две таблицы с перечнем кафедр и списком преподавателей, которые находятся в отношении типа 1:М и логически связаны с помощью общего поля (столбца) Код кафедры – ключа связи. Это поле является уникальным ключом в главной таблице Кафедра, и неключевым в подчиненной таблице – Преподаватель.
Размещение сведений о каждой сущности в отдельной таблице и связывание таблиц позволяет избежать повторения значений данных в разных таблицах. При этом обеспечивается однократный ввод данных при загрузке и корректировке базы данных. Если данные двух таблиц в приведенном примере разместить в одной таблице, то каждая запись должна соответствовать одному преподавателю. Причем данные о кафедре (наименование, телефон и др.) будут повторяться во всех записях о преподавателях одной кафедры, что усложняет ввод, корректировку и обеспечение актуального состояния базы данных. При хранении данных в двух таблицах повторяются только значения ключевых полей.
Уникальный ключ
Главная таблица
Подчиненная
таблица
поле
Связь 1:М по
одинаковому полю
запись
ОБЪЕКТЫ ACCESS
База данных Access включает следующие сохраняемые в одном MDB-файле объекты:
-
Таблицы, запросы, схемы данных, имеющие непосредственное отношение к базе данных;
-
Формы, отчеты, станицы доступа к данным, макросы и модули, называемые объектами приложения.
Формы, отчеты и страницы доступа к данным предназначены для типовых процессов обработки данных – просмотра, обновления, поиска по заданным критериям, получения отчетов. Эти объекты приложений конструируются из графических элементов, называемых элементами управления. Основные элементы управления служат для связи объектов с записями таблиц, являющихся источниками данных.
Для автоматизации доступа к объектам и их взаимодействия используется программный код. Только с помощью программного кода получается полноценное приложение пользователя, функции которого доступны через меню, панели инструментов и формы. Для создания программного кода используются модули на языке программирования Visual Basic for Applications (VBA) и макросы.
Каждый объект и элемент управления имеет набор свойств. Определяя свойства, можно настраивать объекты и элементы управления. С каждым объектом и элементом управления связывается набор событий, которые могут обрабатываться макросами или процедурами на VBA, входящими в состав модулей.
Объекты представлены в окне базы данных Access, вызываемом автоматически при открытии файла, либо при нажатии кнопки Окно базы данных, если это окно не открыто.
Все операции по работе с объектами базы данных и приложений происходят в Окне базы данных.
Таблицы (Tables) создаются пользователем для хранения данных об одной сущности – одном информационном объекте модели данных предметной области. Таблица состоим из полей (столбцов) и записей (строк). Каждое поле содержит одну характеристику информационного объекта предметной области. В записи собраны сведения об одном экземпляре информационного объекта.
База данных Ассеss может включать до 32768 объектов (включая формы, отчеты и т.д.). Одновременно может открываться до 2048 таблиц. Таблицы можно импортировать из баз данных dBase, FoxPro, Paradox и других приложений, из баз данных архитектуры клиент-сервер, таких как Microsoft SQL Server, или из электронных таблиц, таких как Excel и Lotus 1-2-3. База данных Ассеss позволяет работать с таблицами перечисленных источников путем организации связи с ними.
Запросы (Queries). Запросы на выборку служат для выборки нужных данных из одной или нескольких связанных таблиц. Результатом выполнения запроса является таблица, которая может быть использована наряду с другими таблицами базы данных при обработке данных. В запросе можно указать, какие поля выбранных таблиц нужно выбрать, как на их основе сформировать записи и выбрать нужные. Запрос может формироваться с помощью QBE-запросов (Query By Example, Запрос по образцу) или непосредственно инструкции SQL. Запросы действия позволяют обновлять, удалять или добавлять данные в таблицы, а также создавать новые таблицы на основе уже существующих.
Схемы данных (Relationships) определяют, с помощью каких полей таблицы связываются между собой, как будет выполняться объединение данных этих таблиц, нужно ли проверять связную целостность при добавлении и удалении записей, изменении ключей таблиц.
Формы (Forms) являются основным средством создания диалогового интерфейса приложения пользователя. Форма может создаваться для ввода и просмотра взаимосвязанных данных базы на экране в удобном виде, соответствующем привычному для пользователя документу. Разновидность формы – Главные кнопочные формы могут использоваться для создания панелей управления в приложении. В формы могут вставляться рисунки, диаграммы, звуковые фрагменты, видео. Форма может включать подчиненные формы. В форму могут включаться процедуры обработки событий, которые позволяют управлять процессом ввода, просмотра и корректировки данных. Такие процедуры хранятся в модуле формы.
Отчеты (Reports) предназначены для формирования выходных документов любых форматов, содержащих результаты решения задач пользователя, и вывода их на печать. Как и формы, отчеты могут включать процедуры обработки событий. Использование графических объектов позволяет дополнять данные отчета иллюстрациями.
Страницы доступа к данным (Data Access Pages) являются диалоговыми Web-страницами, которые поддерживают динамическую связь с базой данных и позволяют просматривать, редактировать и вводить данные в базу, работая в окне браузера.
Макросы (Macros) позволяют автоматизировать некоторые действия в приложении пользователя. Макрос является программой, состоящей из последовательности макрокоманд, которая выполняется при наступлении некоторого события в окне приложения или его элементе управления. Создание макросов осуществляется в диалоговом режиме путем выбора нужных макрокоманд и задания параметров, используемых ими при выполнении.
Модули (Modules) содержат процедуры на языке Visual Basic for Applications. Могут создаваться процедуры-подпрограммы, процедуры-функции, которые разрабатываются пользователем для реализации нестандартных функций в приложении пользователя, и процедуры для обработки событий. Использование процедур позволяет создавать законченное приложение, которое имеет собственный графический интерфейс пользователя, позволяющий запросить выполнение всех функций приложения.
Лабораторная работа №1.
Тема: СОЗДАНИЕ БАЗЫ ДАННЫХ, СОСТОЯЩЕЙ ИЗ ОДНОЙ ТАБЛИЦЫ.
Цели работы:
-
Познакомиться с основными понятиями базы данных;
-
Научиться создавать таблицу базы данных в режиме Конструктор;
-
Освоить переход из режима Конструктор в режим Таблица;
-
Освоить основные приемы заполнения и редактирования таблицы базы данных;
-
Познакомиться с простой сортировкой значений таблицы;
-
Познакомиться с поиском записей по образцу;
-
Научиться сохранять загружать базу данных.
ЭТАПЫ РАБОТЫ
-
Проектирование структуры базы данных.
-
Конструирование будущих таблиц базы данных.
-
Создание схемы базы данных.
-
Ввод данных в таблицы.
ХОД РАБОТЫ.
Задание №1. Создайте новую базу данных и изготовьте структуру таблицы с информацией о студентах вашей группы.
Последовательность выполнения работы.
-
Вызовите программу Access
-
Включите мышкой переключатель Новая база данных и щелкните по кнопке ОК. Появится диалоговое окно. В поле Имя файла в качестве имени введите свою фамилию. И сохраните в папке УИТ – 41, предварительно создав ее.
-
Щелкните по кнопке Создать.
-
В следующем окне выберите тип создаваемого документа, в нашем случае, это Таблица. Щелкните по кнопке Создать.
-
В следующем диалоговом окне: Новая таблица имеется несколько вариантов. Выберите Конструктор и щелкните по кнопке ОК. Появится окно Конструктора.
-
В верхней левой клетке введите имя поля (слово Фамилия) и нажмите кнопку Enter. В соседней клетке появится тип данных, по умолчанию появится Текстовый. Любой другой выбирается с помощью ниспадающего меню.
-
Заполните поля в Конструкторе данными из таблицы 1.Общие свойства поля оставляем по умолчанию.
Таблица 1
Имя поля |
Тип данных |
Фамилия |
Текстовый |
Имя |
Текстовый |
Отчество |
Текстовый |
Год рождения |
Числовой |
Факультет |
Текстовый |
Курс |
Числовой |
Группа |
Числовой |
Подгруппа |
Числовой |
-
Сохраните таблицу.
-
В появившемся окне наберите имя таблицы Список и щелкните по кнопке ОК. появится запрос на создание ключевого поля – уникального поля записи, по которому удобно связывать таблицы. В нашем случае будут самостоятельно появляться числа – номера записей.
-
Ответьте Да.
-
Перейдите в режим работы Таблица, щелкнув по кнопке Вид.
-
Ввод данных Вы будете производить в этом режиме, заполняя клетки таблицы. Значение поля Код будет меняться автоматически. Если закончить ввод в ячейку нажатием на кнопку Enter, то маркер перейдет в следующую ячейку.
-
Заполните базу данных значениями, то есть введите данные о ваших однокурсниках.
-
Сохраните введенные данные. В результате Вы получили таблицу, с которой можно будет работать.
Задание №2. Выполните редактирование ячеек.
-
Внимательно просмотрите таблицу и исправьте свои ошибки.
Задание №3. Отсортируйте значения таблицы.
-
Отсортируйте:
-
фамилии - по алфавиту;
-
имя - по алфавиту;
-
год рождения – по убыванию.
Задание №4 . Выполните функции сохранить, закрыть, открыть.
Последовательность выполнения работы.
-
Сохраните текущую таблицу.
-
Закройте текущую таблицу.
-
Откройте снова свою базу данных с помощью команд Файл- Открыть - Имя своей базы данных – Открыть.
-
Откройте таблицу Список.
Задание №5. Выполните поиск записей по образцу.
Последовательность выполнения работы.
-
Установите текстовый курсор в поле Фамилия;
-
Щелкните по кнопке Найти, которая позволит найти запись по введенному значению.
-
В появившемся диалоговом окне наберите в поле Образец фамилию, которую необходимо найти и щелкните по кнопке Найти.
Задание №6. Распечатайте таблицу Список.
Задание №7. Создайте новую базу данных и изготовьте структуру таблицы с информацией, предметная область и наименования полей которой предложены преподавателем.
Ход работы аналогичен вышеизложенному.
Варианты заданий.
-
Таблица Видеокассеты содержит 6 полей (название фильма, жанр, исполнитель главной роли, страна, язык, длительность).
-
Таблица Аудиокассеты содержит 5 полей (название альбома, исполнитель, стиль, автор музыки, длительность).
-
Таблица Фонотека содержит 6 полей (название альбома, исполнитель, стиль, автор музыки, длительность, носитель).
-
Таблица Косметика содержит 5 полей (название товара, фирма производитель, цвет, дата изготовления, стоимость).
-
Таблица Моюшие средства содержит 5 полей (название товара, фирма производитель, назначение, дата изготовления, стоимость).
-
Таблица Посуда содержит 6 полей (наименование, фирма производитель, материал, назначение, поставщик, цена).
-
Таблица Одежда содержит 6 полей (наименование, фирма производитель, материал, назначение, поставщик, цена).
-
Таблица Хлебобулочные изделия содержит 5 полей (наименование, завод-изготовитель, сорт, поставщик, цена).
-
Таблица Кондитерские изделия содержит 6 полей (наименование, фабрика-изготовитель, сорт, поставщик, цена).
-
Таблица Библиотека содержит 6 полей (автор, наименование, жанр, издательство, год издания, объем).
-
Таблица Автомобили содержит 5 полей (наименование, фирма изготовитель, страна, тип автомобиля, поставщик).
-
Таблица Канцелярские товары содержит 6 полей (наименование, фирма изготовитель, страна, оформление, цвет, поставщик).
-
Таблица Фототовары содержит 5 полей (наименование, фирма изготовитель, назначение, страна, тип, поставщик).
-
Таблица Аптека содержит 5 полей (наименование, фирма изготовитель, страна, форма, цена).
-
Таблица Мебель содержит 5 полей (наименование, фирма изготовитель, страна, материал, комплектация).
Задание №8. Создайте новую базу данных и изготовьте структуру таблицы с информацией, предметная область которой предложена преподавателем. Наименования полей таблицы и их количество дать самостоятельно.
Ход работы аналогичен вышеизложенному.
Варианты заданий.
-
Таблица Континенты.
-
Таблица Страны Азии.
-
Таблица Страны Европы.
-
Таблица Видеокамеры.
-
Таблица Фотоаппараты.
-
Таблица Ваши преподаватели.
-
Таблица Вузы Балакова.
-
Таблица Страны Африки.
-
Таблица Видеоигры.
-
Таблица Цветы.
-
Таблица Художники Балакова.
-
Таблица Предприятия Балакова.
-
Таблица Танцевальные коллективы Балакова.
-
Таблица Питание.
-
Таблица Знаменитые люди Балакова.
Предъявите преподавателю созданные таблицы на экране и на бумаге.
Задание №9. Завершите работу с Access.
Последовательность выполнения работы.
-
Выберите пункт меню Файл-Выход.
-
Если вы производили какие-либо действия в базе данных, не забудьте сохранить изменения.