Файл: Лабораторные работы по курсу Базы данных Введение.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 11.01.2024

Просмотров: 208

Скачиваний: 5

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Лабораторные работы по курсу «Базы данных»
Введение
Данный курс лабораторных работ предназначен для студентов специальностей 010503, 230401, 230105, 090102.
Цель лабораторного практикума – практическое изучение не менее двух СУБД, хотя бы одна из которых должна иметь в качестве языка SQL.
Основные задачи практикума:
– обеспечить студентов конкретным инструментарием для практической реализации методов проектирования БД в курсовой работе;
– изучение современных СУБД
Лабораторный практикум является достаточно самостоятельной частью данного курса.
Предметная область для лабораторных работ должна быть понятной студентам и не требовать специальных знаний. При организации лабораторных работ следует уделять внимание методам реализации в выбранной СУБД следующих задач:
- организация пользовательского интерфейса;
- гибкая система формирования пользователем запросов;
- сетевая и многопользовательская реализация;
- физическая и логическая независимость данных;
- конфигурирование разрабатываемой системы и ведение словаря БД;
- использование генератора отчетов;
- протоколирование проведенных в БД изменений и возможность отката.
При оценке лабораторных работ необходимо учитывать:
- стиль программирования;
- использование современных технологий программирования;
- рациональность принятых решений;
- прозрачность и самодокументируемость программ;
- самостоятельность написания программы.

Лабораторная работа №1
Тема: Основы проектирования структуры БД.
Цель: вводная работа, дающая студентам общие представления о моделировании структуры БД, в частности, построении ER-моделей.
Навыки и умения: практическое структурирование предметной области, абстрагирование, использование прикладных программных пакетов моделирования структур, использование MS Access для создания БД.
Теоретический базис
Общие понятия
База данных – структурированная совокупность данных.
Система баз данных - это компьютеризированная система хранения баз данных, основная цель, которой содержать информацию и предоставлять её по требованию.
Основное назначение СУБД – обеспечить пользователя инструментом, позволяющим оперировать данными в терминах, не связанных с особенностями их хранения в ЭВМ.
Важнейшим понятием, используемым при проектировании любых информационных систем, является понятие
«абстрагирование».
Абстрагирование – это отбрасывание лишних элементов с выделением основных. Существует несколько уровней абстракции в структурных данных, а именно: функциональный, логический, физический.
С процессом проектирования структуры базы данных связывают следующие уровни абстракции:
• Внешняя модель или уровень представления (описание в терминах пользователей БД);
• Логический или концептуальный уровень (обобщенное описание предметной области, разрабатывается прикладными программистами);
• Внутренний или физический уровень (описание концептуальной модели на языке некоторой СУБД).
Так как на текущий момент наиболее распространенными являются реляционные БД, то упор в курсе сделан именно на БД этого класса.
В качестве концептуальной модели выступает ER-модель.
ER-модель (с англ. «сущность/связь») позволяет достаточно легко описать условия целостности, но вместе с тем, для этих моделей сложно проводить формальную оптимизацию.
Основные понятия реляционной модели
В соответствии с реляционной моделью, БД является совокупностью отношений.


Отношение – это некоторое подмножество прямого произведения. В качестве альтернативного определения применимо: отношение – это множество кортежей. Размер кортежа называют арностью отношения.
На практике рассматривается только конечное множество кортежей.
Естественно конечное множество кортежей записывается в виде таблиц, т.е. таблица – это отношение.
Столбцу таблицы соответствует некоторый атрибут (объекта). Значение этого атрибута выбирается из некоторого множества, которое называется
доменом. Строку таблицы образует некоторое упорядоченное множество значений всех атрибутов таблицы, взятых из своих доменов.
Альтернативное название атрибутов – поле. На физическом уровне строка таблицы (некоторый кортеж) называется хранимой записью. Хранимая запись, состоит из хранимых полей (значение атрибутов, взятых из своих доменов). Совокупность хранимых записей (таблица) называется хранимый
файл (хранимая БД).
Атрибуты или множество атрибутов значения, которых уникальным образом идентифицируют экземпляр объекта, называются первичным ключом, т.к. все экземпляры объекта должны быть различны, то каждый объект должен иметь ключ.
Потенциальный ключ – это обобщение понятия первичного ключа.
Потенциальные ключи также как и первичный обладают свойством уникальной идентификации кортежа в отношении, но если первичный ключ в отношении должен быть выбран только один, то потенциальных ключей может быть несколько (первичный ключ выбирается из потенциальных).
Внешний ключ – это множество атрибутов объекта; каждому значению внешнего ключа соответствует значение потенциального ключа. Внешние ключи используются для связывания кортежей в реляционных базах данных.
Общий подход к ER-моделированию
Для того, чтобы представить как устроена предметная область нужно задать множество объектов реального мира (главная проблема что считать объектом). Объект – семантическое понятие, которое может быть полезно при обсуждении устройств реального мира. Сущность реального мира – объекты – не обязательно материальны – важно понятие существенно и различимо для других.
Пример: объектами являются: студент, человек, преподаватель, аудитория
Различают тип объекта и экземпляр объекта
Пример: тип – аудитория; экземпляр – 358.
Объект обладает рядом свойств, которые иногда называют атрибутами объекта (набор атрибутов одноименных объектов в различных прикладных задачах может разниться).
Пример: человек обладает атрибутами фамилия, имя, отчество, дата рождения.


Для определения нового объекта иногда используют понятие подтипа
(пилот – есть подтип сотрудник, обладает всеми свойствами сотрудника и, кроме того, свойствами: список разрешенных самолетов).
Между объектами могут возникать связи трех видов:
• один к одному 1:1 (пациент: место в палате);
• один к многим 1:n и многие к одному n:1;
• многие ко многим n:n (пациент : хирург).
При построении моделей используются следующие геометрические фигуры:
Объект - Связь- Атрибут -
В настоящее время существует большое множество прикладных программ для создания графического представления структуры БД. При этом могут быть использованы как специализированные средства (например,
Visio), так и средства построения графических образов (Umbrello, OO Draw).
Основы работы с MS Access
Создание новой БД в среде MS Access
MS Access является частью пакета MS Office и представляет собой СУБД.
Запустите MS Access, используя команды меню «Пуск» -> «Программы» ->
«Microsoft Office» -> «Access». Перед вами откроется основное окно программы. Выполните пункты меню «Файл» - «Создать», после чего из вариантов выберите «Новая база данных» и сохраните вашу БД на диск.
Открывшееся окно представляет собой новую БД.
Объекты БД в среде MS Access
MS Access поддерживает следующие объекты:
• Таблица – отношение в реляционной терминологии;
• Запрос – сохраненный текст (модель) запроса на языке SQL к таблицам БД;
• Формы – конструирование интерфейса пользователя;
• Отчеты – конструирование выходной информации БД;
• Страницы – страницы доступа через web;
• Макросы – группы макрокоманд;
• Модули – программные модули на языке VBA, которые могут быть использованы в запросах, формах, отчетах, макросах.
Создание таблиц в среде MS Access
СУБД MS Access поддерживает различные варианты создания таблиц.
Рассмотрим наиболее часто используемый вариант создания – в режиме конструктора. Для этого среди объектов БД выберите «Таблицы», после чего выполните пункт «Создание таблицы в режиме конструктора».

В появившемся окне предлагается ввести имена атрибутов таблицы с указанием их типов. Типы атрибутов выбираются из выпадающего списка вариантов, а конкретные характеристики указываются на панели внизу
(например, для текстового формата можно указать максимальный размер).
Третий столбец на форме конструирования отношений – описание атрибутов.
При создании сложных БД с большим числом отношений и атрибутов в них обязательно описывайте логику, которую вы закладываете в тот или иной атрибут.
После создания всех атрибутов не забудьте указать ключевое поле вашего отношения. Для этого выделите нужные поля и нажмите на иконку
«ключевое поле» изображающую ключ на панели конструктора.
Создание схем данных в среде MS Access
СУБД MS Access реализует инструмент проектирования связей между таблицами (объектами) БД. Этот инструмент называется «Схема данных».
Для вызова этого инструмента можете воспользоваться соответствующей кнопкой на панели «База данных» (рис. 1.1)
Рисунок 1.1 – Панель «База данных»
В рабочую область схемы можно добавлять и удалять таблицы, а также связи между ними. Для добавления связи между таблицами выберите необходимое поле (внешний ключ) и использую Drag’n’Drop протяните его до нужного поля связанной таблицы (потенциальный ключ). После чего, в появившемся окне свойств вновь созданной связи, можете выставить необходимые настройки (рис. 1.2).
Рисунок 1.2 – Редактирование связей в MS Access
После окончания редактирования не забудьте сохранить схему.


Задание на лабораторную работу №1
Часть I
Выбрать предметную область (например: склад, больница, аптека, аэропорт и т.д.) и составить для нее: а) описание предметной области (от имени конечного пользователя); б) ER-диаграмму.
Ограничение: от 5ти до 10ти сущностей для описания области. Каждый объект должен иметь хотя бы один атрибут.
Описание и диаграмма включается в отчет по лабораторной работе. Отчет выполняется в печатном виде на листах формата A4 согласно общепринятым правилам оформления лабораторных работ.
Часть II
Используя MS Access перенести полученную модель в БД, используя таблицы и схему данных.
Прием работы
Прием происходит при наличии оформленного отчета и работающей БД, созданной в среде MS Access.
Вопросы
1. Что такое база данных?
2. Что такое система баз данных?
3. Что такое система управления базами данных?
4. Основное назначение?
5. Основные компоненты СУБД?
6. Что подразумевает понятие абстрагирование в СУБД?
7. Какие существуют уровни абстракции в структурных данных?
8. Опишите уровень представления
9. Опишите концептуальный уровень
10. Опишите физический уровень
11. Виды связей
12. Что такое отношение (таблица) в реляционной модели СУБД?
13. Что такое домен в реляционной модели СУБД?
14. Что такое атрибут (поле) в реляционной модели СУБД?
15. Что такое картеж (хранимая запись) в реляционной модели СУБД?
16. Что такое первичный ключ?
17. Что такое потенциальный ключ?
18. Что такое внешний ключ?

Лабораторная работа №2
Тема: Выполнение операций над данными с использованием операторов языка SQL.
Цель: научиться использовать операторы языка SQL для работы с данными БД.
Навыки и умения: составление и выполнение SQL-запросов в среде
MS Access.
Теоретический базис
Описание языка
Язык SQL – стандартный язык запросов по работе с реляционными базами данных. Язык SQL появился после реляционной алгебры, и его прототип был разработан в конце 70-х годов в компании IBM Research. В силу своего широкого распространения постепенно стал стандартом «де- факто» для языков манипулирования данными в реляционной СУБД.
Язык SQL предназначен для выполнения операций над таблицами
(создание, удаление, изменение структуры) и над данными таблиц (выборка, изменение, добавление и удаление), а также некоторых сопутствующих операций. SQL является непроцедурным языком и не содержит операторов управления, организации подпрограмм, ввода-вывода и т.п. В связи с этим
SQL автономно не используется, обычно он погружен в среду встроенного языка программирования СУБД.
Основным назначением языка SQL (как и других языков для работы с базами данных) является подготовка и выполнение запросов. В результате выборки данных из одной или нескольких таблиц может быть получено множество записей, называемое представлением.
Представление, по существу является таблицей, формируемой в результате выполнения запроса. Оно является разновидностью хранимого запроса. По одним и тем же таблицам можно построить несколько представлений.
Оператор SELECT
Язык запросов в SQL состоит из единственного оператора – SELECT.
Синтаксис оператора SELECT имеет следующий вид:
SELECT [ ALL| DISTINCT] <Список полей>|*
FROM <Список таблиц>
[WHERE <Предикат-условие выборки или соединения>]
[GROUP BY <Список полей результата>]


[HAVING <Предикат-условие для группы>]
[ORDER BY <Список полей, по которым упорядочить вывод>];
SELECT – ключевое слово, которое сообщает СУБД, что эта команда – запрос. Все запросы начинаются этим словом с последующим пробелом. За ним может следовать способ выборки.
Здесь ключевое слово ALL означает, что в результирующий набор строк включаются все строки, удовлетворяющие условиям запроса. Значит в результирующий набор могут попасть одинаковые строки. Это нарушение принципов теории отношений (в отличие от реляционной алгебры, где по умолчанию предполагается отсутствие дубликатов в каждом результирующем отношении).
Ключевое слово DISTINCT означает, что в результирующий набор включаются только различные строки, то есть дубликаты строк результата не включаются в набор.
Список полей – это список перечисленных через запятую столбцов, которые выбираются запросом из таблиц.
Символ * (звездочка) означает, что в результирующий набор включаются все столбцы из исходных таблиц запроса.
В разделе FROM задается перечень исходных отношений (таблиц) запроса. В случае, если указано более одного имени таблицы, неявно подразумевается, что над перечисленными таблицами осуществляется операция декартова произведения.
Разделы SELECT и FROM являются обязательными, все другие разделы являются необязательными.
Примечание: далее в рамках будут приводиться примеры SQL-запросов. Для
улучшения восприятия материала и понимания технологии написания SQL-запросов
студентам рекомендуется воссоздать описанную схему таблиц и попробовать все из
рассмотренных в примерах запросы прежде чем приступать к выполнению
лабораторной работы.
Допустимо в раздел SELECT включать не только имена полей и *, но также и функции языка SQL (стандартные, либо описанные в СУБД). Более подробную информацию о функциях вы можете получить в справке к конкретной СУБД. Кратко рассмотрим несколько из функций, доступных в
MS Access:
Ucase(выражение) – переводит значения поля «выражение» в верхний регистр;
Mid(строка, начало_поиска[, длина]) – возвращает строку из поля
«строка», начиная с позиции «начало_поиска» длинной – «длина». Если длина не указана, то до конца строки.
Round(выражение [,количество_десятичных _знаков]) – округляет
«выражение» с точностью «количество_десятичных_знаков». Если второй аргумент не указан, то округляет до целого.
IIF(выражение, truepart, falsepart) – возвращает одно из значений: truepart, если выражение истинно и falsepart – если ложно.