Файл: Проектирование баз данных для домашней библиотеки.pdf

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

Категория: Курсовая работа

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

Добавлен: 29.03.2023

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

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

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

Ниже данного будет находиться физический уровень. Его контролирует уже операционная система, однако все же под контролем СУБД.

Элементы внутреннего уровня

Внутренний уровень архитектуры приложения, базы данных хранит в себе следующую информацию:

•О распределении дискового пространства для сохранения индексов и сведений.

•Подробное описание сохранения записи (где указываются реальные объемы сохраняемых данных).

•Информация о размещении записей.

•Сведения о сжатии данных, избранных методик их шифрования.

Вы познакомились с распространенными типами, видами архитектур систем баз данных. Также мы представили уровни архитектуры СУБД - внешний, внутренний и концептуальный, их характеристики и элементы

2. Схема данных в Access: создание, редактирование, обновление

Практически в любой организации существует своя база данных. Да что уж там, даже сайты используют их, чтобы работать с информацией было легче и проще. Действительно, базы данных позволяют безо всяких проблем делать расчеты, быстро находить нужные данные, да и вообще, просто создают порядок в любой информации[3].

MS Access представляет собой систему управления базами данных, которая поставляется в комплекте с распространяемым пакетом программ Microsoft Office. И хоть функционал у нее несколько ниже, чем у специализированных программ, многие пользуются приложением за простоту в работе. Создание отчетов в Access – необходимый процесс для осуществления работы. Отчеты являются способом выборки данных с готовой базой данных по одному или нескольким заданным параметрам.

Зачастую их созданием занимаются программисты, ведь это сложный процесс, которому обучаются в высших учебных заведениях. Также существует множество уроков, курсов и наборов программ для создания баз данных. Софта для разработки баз данных действительно великое множество, можно легко запутаться. В этой статье речь пойдет о некоторых основных программах для разработки баз данных.

Между таблицами БД существуют связи, позволяющие избегать избыточности при проектировании. То есть не вносить одни и те же значения в несколько объектов, а создать только один и использовать в других, добавляя в них ссылку на основной. При этом необходимо соблюдать требование целостности БД.


В качестве примера рассмотрим связи в БД туристического агентства. В ее состав входит таблица гостиниц Таиланда – страны, в которую турагентство отправляет гостей. Отели расположены в различных регионах Королевства.

Если компания работает с отелями только нескольких регионов, а в каждой из областей находятся десятки или сотни гостиниц, то заполнять каждый раз поле региона для каждого отеля – пустая работа. Поэтому в базе создается отдельная таблица, содержащая только список регионов, а при вводе отеля пользователь просто выбирает нужный из выпадающего списка.

Преимущества СУБД Microsoft Access:

- Простой и понятный интерфейс. Приступить к работе с данной СУБД можно, не имея никаких особых навыков. Кроме того, на помощь новичку приходят многочисленные справочные пособия, онлайн- и офлайн-курсы.

- СУБД MS Access общеизвестна и очень популярна в настольных ПК. Это значит, что вы всегда можете обратиться за помощью к знакомому, уже давно использующему данную СУБД, за советом, а также вместе работать с одной базой данных по сети.

- Практически безграничные возможности экспорта данных: данные из таблиц щелчком одной клавиши мыши можно перенести в Excel, Word, экспортировать в XML, опубликовать в PDF, не говоря уже о том, чтобы без проблем перенести выбранные объекты в другую базу данных.

- Невысокая цена. Если покупать MS Access в составе полного пакета Microsoft Office, то, по сравнению с другими платными СУБД, цена окажется очень заманчивой.

- Широкий выбор конструкторов для построения форм, отчетов и запросов, с помощью которых можно отфильтровать данные и вывести их в удобном виде.

- Широкие возможности импорта данных: если у вас есть табличные данные, созданные при помощи текстового процессора MS Word или табличного процессора MS Excel, вы с помощью мастера без труда перенесете их в свою базу. Импорт, кроме того, можно выполнить из простого текстового документа, из документа XML, а также из файлов баз данных, созданных в других СУБД (таких как dBASE, PARADOX).

- Возможность создания пароля на своей базе данных.

- Встроенный язык VBA высокого уровня.

- Возможность записи макросов.

- Редактор SQL.

По аналогии добавлен список стран для компании, работающей с несколькими государствами. Тогда к перечню регионов добавляется еще одно поле – «Страна», а в базу вносится справочник стран, наименования которых затем выбираются из списка[4].

Таблицы связаны по типу один-ко-многим. Это означает, что одна запись из таблицы «Регионы» встречается много раз в таблице «Отели». Кроме этого, существуют виды «многие-ко-многим» и «один-к-одному». Но последняя крайне редко применяется на практике. Ниже мы ознакомимся, как эти типы обозначаются на схемах данных в Access.


Схема данных БД

В приведенном примере «Отели» связаны с «Регионами», а те, в свою очередь, со «Странами». Эта информация, написанная текстом, не слишком наглядно показывает связи между объектами. И в нашей базе всего три таблицы, а их могут быть сотни. Держать в голове все соединения разработчику затруднительно.

В качестве вспомогательного средства в базах создаются схемы данных, которые наглядно визуально показывают все объекты и отношения между ними. В Access схемы данных создаются с помощью специального инструмента. Для нашей БД это выглядит так:

Прямоугольниками обозначены таблицы со списком полей, линии между ними – связи. На линии связи в местах примыкания к прямоугольникам таблиц сделаны обозначения: «1» и «∞». Они показывают, какой тип связи применен в этом отношении. Значок «1» у таблицы-источника со значком «∞» у приемника обозначают вид «один-ко-многим». Обе связи в нашей БД – такого типа.

Соответственно, две единицы у двух концов линии говорят о виде «один-к-одному», а два знака бесконечности – «многие-ко-многим».

Для создания схемы данных в Access добавлен инструмент на панели «Работа с базами данных». СУБД автоматически создает схему по тем таблицам и связям, что существуют в базе. Приведенная выше схема создана системой самостоятельно. Пользователь может внести изменения в макет. Некоторые из них не отразятся на структуре БД, только на отображении информации. А некоторые приведут к изменениям в структуре.

В режиме "Конструктора" доступна операция «Очистить макет». При ее выполнении экран схемы данных в Access очищается, а таблицы и отношения скрываются. Это не значит, что они пропадают из базы - просто не отражаются в макете схемы.

Операция «Скрыть таблицу» произведет то же действие над выделенным объектом. Он просто исчезнет с экрана вместе со своими линиями-отношениями. Вернуть скрытые таблицы поможет операция «Отобразить таблицу». Выбираются объекты, которые нужно добавить в макет. При этом связи с ним отображаются автоматически.

В нашем примере отношения между таблицами уже были определены во время создания. Остановимся более подробно на том, как это сделать. Как мы уже знаем, «Отели» содержит поле «Регион», данные для которого берутся из одноименной таблицы. При добавлении столбца «Регион» указывается тип поля «Подстановка и отношение».

Открывается мастер создания поля, в котором мы выбираем вариант получения значения ячеек из другого объекта. На втором шаге мастера выбираем объект, из которого будут подставляться значения. В нашем случае это таблица «Регионы». Из списка доступных для отображения полей нам нужно «Наименование» - в таблице отелей будут показаны названия регионов. При необходимости задаем порядок сортировки наименований и ширину столбца.


На последнем шаге даем имя новому полю и указываем параметр целостности. Подробнее на нем мы остановимся ниже. После нажатия на кнопку «Готово» в таблицу отелей добавлен столбец «Регион», значения для него берутся из указанного объекта.

Связь между таблицами отелей и регионов теперь отображается на схеме.

Изменение отношений

Если отношение не добавлено при добавлении столбца в объект, это делается непосредственно в макете схемы данных в Access. Как создать новую связь, покажем на примере. Нажмите кнопку «Изменить связи». В редактировании отношений для создания новой связи нажмите «Новое». В форме «Создание» выбираем таблицы для связи и поля, которые будут соответствовать друг другу.

Для уже созданной связи есть возможность изменять параметры объединения записей в запросах. Для этого вызываем диалоговое окно схемы данных MS Access «Изменение связей» и нажимаем кнопку «Объединение». В форме редактирования параметров предложены варианты объединений:

В первом случае в результатах запроса отображаются только те строки, в которых поля таблиц «Отели» и «Регионы» совпадают[5].

Во втором случае объединяются все строки «Регионов» и только совпадающие «Отелей».

В третьем ситуация обратна второму – все строки «Отелей» объединяются с совпадающими «Регионов».

Мы оставляем автоматический выбор системы – первый вариант.

Целостность данных БД

Связи между объектами БД на схеме данных в Access подводят нас к понятию целостности данных. Как было показано выше, при создании связей между полями объектов базы указывается параметр целостности. Если он включен, связи между объектами поддерживаются и охраняются системой.

Покажем это наглядно на примере базы туристической компании. В «Отелях» гостиница с наименованием Anantara Lawana Koh Samui Resort относится к региону Самуи. Предположим, мы удалили этот район из «Регионов». Теперь поле ссылается на запись, которой не существует. Это и есть нарушение целостности.

Аналогично при установленном требовании соблюдения целостности мы не сможем выбрать в этом поле район «Чианг Май», потому что его не существует в таблице регионов.

При необходимости схемы базы данных Access выгружаются в отчет и отправляются на печатное устройство, преобразуются в файл или отправляются по электронной почте.


3. Проектирование баз данных для домашней библиотеки

При выполнении практической части курсовой работы - создание базы данных «Домашняя библиотека» в приложении Microsoft Access - были созданы 2 основные таблицы: «Книги», «Журнал»; 3 вспомогательные: «Жанры», «Темы», «Издательства»; сделана схема данных, 2 запроса, 4 формы, 2 отчета. При создании таблицы «Журнал» были включены следующие имена полей: Номер_записи, Номер_книги, Кому_дана, Дата_выдачи, Дата_возврата. (Рисунок 1).

Рис.1. Таблица «Журнал»

Поле Номер_записи., определено как ключевое поле. Тип данных у поля-Номер_записи, Номер_книги - числовой; Кому_дана - текстовый; Дата_выдачи, Дат_возврата - Дата/Время. (Рисунок 2).

Такую таблицу можно рассмотреть как однотабличную базу данных. Однако при подобной организации в ней будет содержаться значительное количество повторяющейся информации. Например, сведения о конкретном читателе библиотеки будут дублироваться при регистрации каждого нового сделанного им заказа. То же самое можно сказать и о сведениях о книгах. Всё это приведет к тому, что придется тратить значительное время на ввод повторяющихся данных. При изменении какой-либо информации, например при изменении телефона читателя, придётся корректировать все записи, содержащие сведения о заказах этого читателя. Кроме того, наличие повторяющейся информации приводит к неоправданному увеличению размера базы данных[6].

Для решения подобных проблем используется процесс уменьшения избыточности информации в базе данных, который называется нормализацией.

Первое правило при проектировании базы данных: в таблице должны отсутствовать повторяющиеся группы полей. Это можно осуществить, переместив поля с повторяющейся информацией о читателях в отдельную таблицу «Читатели».

Таким образом можно избавиться от дублирования информации о читателях. Чтобы в таблице «Заказы» велась регистрация читателей, заказывающих книги, каждому читателю присваивается уникальный код, записываемый в поле Код читателя таблицы «Читатели», а в таблицу «Заказы» добавляется поле Читатели, где и будет указываться код читателя, сделавшего заказ. Так же мы выделили отдельную таблицу «Книги», а в таблице «Заказы» фиксировать только Код книги. Из таблицы «Книги» выделив в отдельную таблицу информацию о тематике книг. Поскольку в отдельный заказ может быть включено несколько книг, имеет смысл информацию о содержании заказа (заказанных книгах) также выделить в отдельную таблицу и фиксировать в ней код заказа. В результате новая таблица «Заказанные книги» будет содержать поля Код заказа, Код книги и дополнительное поле Отметка о возврате. Связь между таблицами «Заказа» и «Заказанные книги» осуществляется через совпадающие значения полей Код заказа. Результат подобного преобразования показан на