|
лабы-информатика. Санктпетербургский государственный университет аэрокосмического приборостроения
Лабораторная работа № 11. Знакомство с системой управления базами данных Microsoft Access Цель работы: получение начального представления о реляционной СУБД ACCESS, создание БД.
1. Методические указания Информационные технологии повсеместно внедряются во все сферы человеческой деятельности. Одной из самых распространенных современных технологий является использование баз данных (БД). Базы данных создаются и используются с помощью специальных программных средств, называемых системами управления базами данных (СУБД).
Существует большое разнообразие типов СУБД. Наиболее распространенными в настоящее время являются реляционные СУБД, к которым относится Access. Access работает под управлением операционной системы Windows и входит в состав Microsoft Office вместе с Excel, Word и PowerPoint. Access относится к классу «настольных» СУБД, которые имеют высоко развитые языковые средства, предназначенные для работы с ними пользователей различной квалификации, в том числе и пользователей, не являющихся специалистами в этой области. С помощью Access можно создать: локальную БД, общую БД в сети с сервером или создавать приложения, работающие с БД на SQL-сервере.
Для работы с любой СУБД необходимо иметь определённый уровень теоретической подготовки, в противном случае эта работа сведётся к нажиманию кнопок и непредсказуемым последствиям.
БД для реляционных СУБД хранится в двумерных таблицах, связанных между собой. Для осознанной работы с Access необходимо знать элементы реляционной теории, в частности определять «ключи» таблиц и понимать, как и зачем осуществляются связи между таблицами
Сколько таблиц в БД, структура информации в каждой из них, как таблицы связаны между собой – все эти вопросы решаются на этапе проектирования БД.
От того, насколько удачно выполнен проект БД, зависит её функционирование.
Известный американский мыслитель, признанный авторитет в области технологии БД Крис Дейт сказал следующее: «Проектирование БД – это скорее искусство, чем наука». Теоретические вопросы проектирования БД изучаются в отдельной дисциплине «Проектирование БД»
Для более эффективной работы с СУБД Access важно знать терминологию и понимать принцип построения реляционной базы данных. СУБД поддерживает в памяти ЭВМ модель предметной области. Под предметной областью принято понимать часть реального мира, подлежащего изучению для организации управления. Допустимая организация данных определяется разнообразием и количеством типов объектов модели данных, ограничениями на структуру данных.
Реляционная база данных представляет собой множество взаимосвязанных двумерных таблиц, каждая из которых содержит сведения об одной сущности предметной области.
Структура таблицы определяется составом и последовательностью полей, соответствующих её столбцам, с указанием типа данного, размещаемого в поле. Каждое поле отражает определенную характеристику сущности, а соответствующий столбец содержит данные одного типа.
Содержание реляционной таблицы заключено в её строках. Каждая строка таблицы содержит данные о конкретном экземпляре сущности и называется записью. Для однозначного определения каждой записи таблица должна иметь уникальный ключ (первичный ключ). Ключ может состоять из одного или нескольких полей (составной ключ). По значению ключа в таблице базы данных однозначно определяется запись. Связи между таблицами БД дают возможность совместно использовать данные из разных таблиц. Связь каждой пары таблиц обеспечивается одинаковыми в них полями. Первичный ключ главной таблицы повторяется в подчиненной таблице и называется в ней внешним или вторичным ключом. Access поддерживает связи между таблицами двух типов: один к одному, и один ко многим. Связь один к одному означает, что каждой записи главной таблицы может соответствовать только одна запись в подчинённой. Связь типа один ко многим означает, что записи главной таблицы может соответствовать много записей в подчинённой. СУБД поддерживает ссылочную целостность, при которой невозможно существование записи в подчиненной таблице без соответствующей записи в главной таблице.
Размещение сведений о каждой сущности в отдельной таблице и связывание таблиц позволяет избежать повторения данных, противоречивости, упрощает обновление информации и поиск в БД.
. Каждое поле в таблице имеет определенный формат и заданный по умолчанию тип. Access поддерживает все необходимые типы полей: Текстовый — для хранения одной строки текста, Числовой — для чисел. Денежный — для представления денежных величин. Дата/время — для времени, MEMO — для хранения произвольной информации. Логический — для логических значений, Поле объекта OLE — для хранения объектов из других приложений, поддерживающих технологию OLE, Гиперссылка – для перехода к объектам той же самой или другой базы данных, к документам, созданным в MS Word, MS Excel и MS PowerPoint, а также к документам, расположенным в глобальной сети Интернет, Мастер подстановок – для создания списка значений из ссылочной таблицы.
Важной характеристикой СУБД является поддержка целостности ( корректности информации) БД. Поддержка целостности может реализовываться в СУБД различными способами, что позволяет выделить несколько её видов:
после определения типа поля БД СУБД контролирует вводимые в них значения
свойство поля – размер является дополнением к ограничению по типу
условие на вводимые значение
маска
индексирование поле служит для контроля уникальности
Ссылочная целостность данных означает систему правил, используемых в Access для поддержания связей между записями в связанных таблицах, а также обеспечивает защиту от случайного удаления или изменения связанных данных. Установить ссылочную целостность данных можно, если выполнены следующие условия:
связанное поле главной таблицы является ключевым полем или имеет уникальный индекс;
·связанные поля имеют один тип данных. Здесь существует исключение. Поле счетчика может быть связано с числовым полем, если в последнем в свойстве Размер поля указано значение «Длинное целое»;
В СУБД Access процесс создания реляционной БД включает создание схемы данных. Схема данных наглядно отображает таблицы и связи между ними.
Базой данных в СУБД Access является совокупность таблиц, форм, отчетов, запросов, макросов, хранящихся в одном файле типа .mdb.
2. Порядок выполнения работы Создайте базу данных ДЕКАНАТ, выполнив следующие действия:
загрузите Access, в появившемся окне в меню ФАЙЛ / СОЗДАНИЕ / НОВАЯ БАЗА ДАННЫХ.
в окне ФАЙЛ НОВОЙ БАЗЫ ДАННЫХ укажите вашу папку для размещения базы данных и укажите имя БД -- Деканат-«Ваша фамилия» -. По умолчанию Access предлагает вам имя базы db1., а тип файла – mdb. (Выбор диска для хранения БД, уточняется у преподавателя)
нажмите кнопку СОЗДАТЬ.
Создайте структуру таблицы ПРЕПОДАВАТЕЛИ. Для этого:
в окне базы данных выберите вкладку Таблицы, а затем нажмите кнопку Создать;
в окне НОВАЯ таблицА выберите пункт КОНСТРУКТОР и нажмите кнопку OK. В результате проделанных операций открывается окно таблицы в режиме конструктора, в котором следует определить поля таблицы.
Определите поля таблицы в соответствии с табл 9.
Таблица 9 Структура таблицы Преподаватели
Имя поля | Тип данных | Размер поля | Код преподавателя
| Числовой
| целое
| Фамилия
| Текстовый
| 15
| Имя
| Текстовый
| 13
| Отчество
| Текстовый
| 15
| Дата рождения
| Дата/время
| (маска)
| Должность
| Мастер подстановок
| 25 поле со списком
| Стаж
| Числовой
| Целое(условие на значение >0, вывод соответствующего сообщения об ошибке)
| Кафедра
| Текстовый
| 11
| Телефон
| Текстовый
| 9 (маска)
| Зарплата
| Денежный
|
| При определении поля ДАТА РОЖДЕНИЯ используем маску для удобного ввода даты (т.е. в датах точки будут вводится автоматически). Для этого в Свойства полей на вкладке Общие установите курсор на поле маска, справа появится кнопка с тремя точками – нажмите на неё. В появившемся окне создания масок выбирайте КРАТКИЙ ФОРМАТ ДАТЫ.
В поле ДОЛЖНОСТЬ используем мастер подстановок для того, чтобы не вводить, а выбирать из списка нужную должность, с возможностью ввода должности, которой нет в списке. В режиме СОЗДАНИЯ ПОДСТАНОВОК выбираем ФИКСИРОВАННЫЙ НАБОР ЗНАЧЕНИЙ, далее создаем 1 столбец с должностями: профессор доцент старший преподаватель ассистент Закончив создание списка в режиме конструктора на вкладке ПОДСТАНОВКА посмотрите появившиеся изменения после работы мастера. Проверьте строку ОГРАНИЧИТСЯ СПИСКОМ, в котором должно стоять слово НЕТ.
В поле СТАЖ в общих свойствах поля установите УСЛОВИЕ НА ЗНАЧЕНИЕ >0, СООБЩЕНИЕ ОБ ОШИБКЕ введите - стаж должен быть больше 0.
В поле ТЕЛЕФОН наберите маску для ввода 999-99-99, которая позволит не набирать тире в номере телефона при вводе в поле.(подробнее о маске см. help)
В качестве ключевого задайте поле КОД ПРЕПОДАВАТЕЛЯ.
Таблица СТУДЕНТ будет импортирована из таблицы EXCEL ( файл студент.xls местонахождение таблицы узнать у преподавателя)
Меню ФАЙЛ/ВНЕШНИЕ ДАННЫЕ/ИМПОРТ
Отредактируйте структуру созданной таблицы в режиме конструктора
Таблица 10 Структура таблицы Студент
Имя поля | Тип данных | Размер поля | Код студента
| Числовой
| целое
| Фамилия
| Текстовый
| 15
| Имя
| Текстовый
| 12
| Отчество
| Текстовый
| 15
| Номер группы
| Числовой
| Целое
| Адрес
| Текстовый
| 30
| Телефон
| Текстовый
| 9 (маска)
| Медалист
| Текстовый
| 4 Поле со списком(Да/Нет)
по умолчанию нет
| В качестве ключевого задайте поле КОД СТУДЕНТА. Для этого щелкните по полю КОД СТУДЕНТА и выполните команду ПРАВКАКЛЮЧЕВОЕ ПОЛЕ;
Для удобства ввода телефона задайте маску 999-99-99
В поле МЕДАЛИСТ создайте ПОЛЕ СО СПИСКОМ без ввода новых значений, а также задайте ЗНАЧЕНИЕ ПО УМОЛЧАНИЮ “нет” ( кавычки обязательны)
Создайте структуру таблицы ДИСЦИПЛИНЫ в соответствии с табл.11.
Таблица 11 Структура таблицы Дисциплины
Имя поля | Тип данных | Размер поля | Код дисциплины
| Числовой
| целое
| Название дисциплины
| Текстовый
| 30
| Номер семестра
| Числовой
| целое
| Код преподавателя
| Числовой
| Целое (мастер подстановок)
| Экзамен
| Текстовый
| 4 (поле со списком экз/зач)
| В качестве ключевого задайте поле КОД ДИСЦИПЛИНЫ.
Поле КОД ПРЕПОДАВАТЕЛЯ будет заполняться при помощи мастера подстановок из таблицы ПРЕПОДАВАТЕЛИ. Из доступных полей таблицы ПРЕПОДАВАТЕЛИ выберите, КОД ПРЕПОДАВАТЕЛЯ ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, скройте ключевое поле. После работы мастера при заполнении поля КОД ПРЕПОДАВАТЕЛЯ таблицы будут отображатся ФИО преподавателя для выбора, но в таблице ДИСЦИПЛИНЫ поле КОД ПРЕПОДАВАТЕЛЯ будет оставаться числовым целым
Поле ЭКЗАМЕН заполняйте при помощи поля со списком двух значений Экз или Зач
Таблица ОЦЕНКИ будет импортирована из базы данных ОЦЕНКИ ( файл оценки.mdb) Местонахождение файла узнать у преподавателя)
Меню ФАЙЛ/ВНЕШНИЕ ДАННЫЕ/ИМПОРТ
Отредактируйте структуру таблицы ОЦЕНКИ в соответствии с табл. 12.
Таблица 12Структура таблицы Оценки
Имя поля | Тип данных | Размер поля | Код студента
| Числовой
| Целое (мастер подстановок
| Код дисциплины
| Числовой
| Целое (мастер подстановок Целое
| Номер семестра
| Числовой
| Целое
| Оценки
| Числовой
| Байт
| ключ будет составной: код студента (подстановка ФИО СТУДЕНТА), код дисциплины (подстановка название дисциплины), номер семестра. (в режиме конструктора выделите три поля и задайте ключ)
Эта таблица уже заполнена .
Разработайте схему данных, т.е. создайте связи между таблицами. Для этого:
Выполните команду СЕРВИССХЕМА ДАННЫХ. На экране появится окно СХЕМА ДАННЫХ;
Выполните команду СВЯЗИДОБАВИТЬ ТАБЛИЦУ;
В появившемся окне будет выделено название одной таблицы. Нажмите кнопку ДОБАВИТЬ;
Переведите выделение на имя следующей таблицы и нажмите кнопку ДОБАВИТЬ. Аналогично добавьте оставшиеся две таблицы;
Закройте окно нажав кнопку ЗАКРЫТЬ;
Создайте связь между таблицами ДИСЦИПЛИНЫ и ОЦЕНКИ. Для этого подведите курсор мыши к полю КОД ДИСЦИПЛИНЫ в таблице дисциплины, нажмите левую клавишу мыши и, не отпуская ее, перетащите курсор на поле КОД ДИСЦИПЛИНЫ в таблице ОЦЕНКИ, а затем отпустите левую клавишу мыши. На экране откроется окно СВЯЗИ;
Щелкните по ячейке ОБЕСПЕЧЕНИЕ ЦЕЛОСТНОСТИ ДАННЫХ – в ней должна появиться галочка;
Щелкните по ячейкам КАСКАДНОЕ ОБНОВЛЕНИЕ СВЯЗАННЫХ ПОЛЕЙ и КАСКАДНОЕ УДАЛЕНИЕ СВЯЗАННЫХ ЗАПИСЕЙ.
Информация. Задание каскадного обновления связанных полей и каскадного удаление связанных записей позволит вам редактировать записи только в таблице ДИСЦИПЛИНЫ, а в таблице ОЦЕНКИ эти действия будут со связанными записями выполняться автоматически. Например, если вы удалите из таблицы ДИСЦИПЛИНЫ один предмет, то в таблице оценки удалятся все строки, связанные с этим предметом.
Нажмите кнопку СОЗДАТЬ. Связь будет создана;
Аналогично создайте связи между полем КОД ПРЕПОДАВАТЕЛЯ в таблице ПРЕПОДАВАТЕЛИ и полем КОД ПРЕПОДАВАТЕЛЯ в таблице ДИСЦИПЛИНЫ, а также между полем КОД СТУДЕНТА в таблице СТУДЕНТЫ и полем КОД СТУДЕНТА в таблице ОЦЕНКИ; ![](13840_html_763cc59b.png)
Рисунок 42 Схема БД
Сверьте полученную схему с рис. 42.
Закройте окно схемы данных, ответив ДА на вопрос о сохранении макета.
3. Порядок оформления отчета Подготовьте отчет о выполненной лабораторной работе. Отчет о лабораторной работе должен содержать: титульный лист (с действующим вариантом титульного листа можно ознакомиться на http://standarts.guap.ru), цель лабораторной работы, полученные в ходе выполнения работы схема БД с указанием видов связей между таблицами. Разработка структуры таблиц Преподаватели, Студенты, Дисциплины, Оценки. На компьютере представляются файл с результатами работы, записанные в папку с номером вашей группы/ваша фамилия/№ лабораторной работы. Сформулируйте выводы, которые можно сделать по результатам выполненной работы.
4.Контрольные вопросы Что называется базой данных?
СУБД это – ?
К какому классу относится СУБД Access?
Что такое ключ таблицы?
Какие бывают ключи в БД?
Является ли наличие ключа в таблице Access обязательным?
Какие виды связей поддерживает СУБД Access?
Какие типы полей допустимы в Access?
Какие способы создания полей подстановки Вы знаете?
Какие виды ограничения целостности Вы знаете?
|
|
|