Описание структуры бд. Основы построения реляционных баз данных. Манипулирование данными посредством форм

Инфологическая модель

Инфологическая модель - это описание предметной области, выполненное без ориентации на используемые в дальнейшем программные и технические средства. Инфологическая модель является моделью ориентированной на человека, полностью независимой от физических параметров среды, способа хранения данных. Инфологическая модель изменяется только в том случае, когда изменения в реальном мире потребуют изменений основной модели. Основные преимущества ER-моделей:

· наглядность;

· модели позволяют проектировать базы данных с большим количеством объектов и атрибутов;

Основные элементы ER-моделей:

· объекты (сущности);

· атрибуты объектов;

· связи между объектами.

Сущность - объект предметной области, имеющий атрибуты.

Связь между сущностями характеризуется:

· типом связи (1:1, 1:N, N:М);

· классом принадлежности. Класс может быть обязательным и необязательным. Если каждый экземпляр сущности участвует в связи, то класс принадлежности - обязательный, иначе - необязательный.

В данном дипломном проекте ER-модель реализована в системе автоматизированного проектирования баз данных ERWin, и изображена на рисунке №2.3.


Рисунок №2.3. Инфологическая модель


Даталогическая модель

Даталогическая модель это отображение логических связей между элементами данных безотносительно их содержанию и среде хранения. Эта модель базируется на языке описания данных (ЯОД), используемом в той конкретной СУБД, в среде которой проектируется БД. Этап создания даталогической модели называется даталогическим проектированием. Описание логической структуры БД на языке СУБД называется даталогической схемой базы данных.

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

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



Рисунок №2.3. Даталогическая модель.


Программное обеспечение задачи (комплекса задач)

Общие положения (дерево функций и сценарий диалога)

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

Схема сценариев диалога представляет собой пути диалога пользователя программы с самим программным продуктом. В данной схеме отображается то, как пользователь может дойти до определённого документа или вызвать требуемую функцию. Схема сценариев диалога изображена на рисунке № 2.5.

Введение

Глава1. Основы баз данных

1.1.Классификация баз данных

1.3Модели описания баз данных

1.4. Основы работы настольных СУБД

1.5.Требования и стандарты, предъявляемые к базам данных

Глава 2. Работа с базой данных Microsoft Access

2.1. Основы работы настольной СУБД Microsoft Access

2.2. Работа с базой данных Microsoft Access

Заключение

Список использованной литературы

Введение

Потоки информации, циркулирующие в мире, который нас окружает, огромны. Во

времени они имеют тенденцию к увеличению. Поэтому в любой организации, как

большой, так и маленькой, возникает проблема такой организации управления

данными, которая обеспечила бы наиболее эффективную работу. Некоторые

организации используют для этого шкафы с папками, но большинство предпочитают

компьютеризированные способы – базы данных, позволяющие эффективно хранить,

структурировать и систематизировать большие объемы данных. И уже сегодня без баз

данных невозможно представить работу большинства финансовых, промышленных,

торговых и прочих организаций. Не будь баз данных, они бы просто захлебнулись в

информационной лавине.

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

оптимальным для пользователя образом. Данная тема актуальна в настоящее время, т.к. использование клиент/серверных технологий позволяют сберечь значительные средства, а главное и время для получения необходимой информации, а также упрощают доступ и ведение, поскольку они основываются на комплексной обработке данных и централизации их хранения. Кроме того ЭВМ позволяет хранить любые форматы данных, текст, чертежи, данные в рукописной форме, фотографии, записи голоса и т.д.

Для использования столь огромных объемов хранимой информации, помимо развития

системных устройств, средств передачи данных, памяти, необходимы средства

обеспечения диалога человек - ЭВМ, которые позволяют пользователю вводить

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

созданы специализированные средства – системы управления базами данных (СУБД).

Целью данной работы является раскрыть понятие базы данных и системы управления базами данных, а также рассмотреть на конкретном примере работу настольной СУБД.

1.1.Классификация баз данных

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

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

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

Классификация СУБД:

· по выполняемым функциям СУБД подразделяются на операционные и информационные;

· по сфере применения СУБД подразделяются на универсальные и проблемно-ориентированные;

· по используемому языку общения СУБД подразделяются на замкнутые, имеющие собственные самостоятельные языки общения пользователей с базами данных, и открытые, в которых для общения с базой данных используется язык программирования, расширенный операторами языка манипулирования данными;

· по числу поддерживаемых уровней моделей данных СУБД подразделяются на одно-, двух-, трехуровневые системы;

· по способу установления связей между данными различают реляционные, иерархические и сетевые базы данных;

· по способу организации хранения данных и выполнения функций обработки базы данных подразделяются на централизованные и распределенные.

Системы централизованных баз данных с сетевым доступом предполагают две основные архитектуры – файл-сервер или клиент-сервер.

Архитектура файл-сервер. Предполагает выделение одной из машин сети в качестве центральной (главный сервер файлов), где хранится совместно используемая централизованная база данных. Все другие машины исполняют роль рабочих станций. Файлы базы данных в соответствии с пользовательскими запросами передаются на рабочие станции, где в основном и производится их обработка. При большой интенсивности доступа к одним и тем же данным производительность информационной системы падает.

Архитектура клиент-сервер. Эта модель взаимодействия компьютеров в сети для современных СУБД фактически стала стандартом. Каждый из подключенных к сети и составляющих эту архитектуру компьютеров играет свою роль: сервер владеет и распоряжается информационными ресурсами системы, клиент имеет возможность пользоваться ими. Помимо хранения централизованной базы данных сервер базы данных обеспечивает выполнение основного объема обработки данных. Запрос на данные, выдаваемый клиентом (рабочей станцией), порождает поиск и извлечение данных на сервере. Извлеченные данные транспортируются по сети от сервера к клиенту. Спецификой архитектуры клиент-сервер является использование языка запроса SQL.

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

1.2. Функциональные возможности СУБД

Характеристиками СУБД являются:

· производительность;

· обеспечение целостности данных на уровне баз данных;

· обеспечение безопасности данных;

· возможность работы в многопользовательских средах;

· возможность импорта и экспорта данных;

· обеспечение доступа к данным с помощью языка SQL;

· возможность составления запросов;

· наличие инструментальных средств разработки прикладных программ.

Производительность СУБД оценивается:

· временем выполнения запросов;

· скоростью поиска информации;

· временем импортирования баз данных из других форматов;

· скоростью выполнения операций (таких как обновление, вставка, удаление);

· временем генерации отчета и другими показателями.

· Безопасность данных достигается:

· шифрованием прикладных программ;

· шифрованием данных;

· защитой данных паролем;

· ограничением доступа к базе данных (к таблице, к словарю и т.д.).

Обеспечение целостности данных подразумевает наличие средств, позволяющих удостовериться, что информация в базе данных всегда остается корректной и полной. Целостность данных должна обеспечиваться независимо от того, каким образом данные заносятся в память (в интерактивном режиме, посредством импорта или с помощью специальной программы). Используемые в настоящее время СУБД обладают средствами обеспечения целостности данных и надежной безопасности.

Система управления базами данных управляет данными во внешней памяти, обеспечивает надежное хранение данных и поддержку соответствующих языков базы данных. Важной функцией СУБД является функция управления буферами оперативной памяти. Обычно СУБД работают с базами данных больших размеров, часто превышающими размеры оперативной памяти ЭВМ. В развитых СУБД поддерживается свой набор буферов оперативной памяти с собственной дисциплиной их замены.

Наибольшее распространение в настоящее время получили системы управления базами данных Microsoft Access и Oracle.

Этапами работы в СУБД являются:

· создание структуры базы данных, т.е. определение перечня полей, из которых состоит каждая запись таблицы, типов и размеров полей (числовой, текстовый, логический и т.д.), определение ключевых полей для обеспечения необходимых связей между данными и таблицами;

· ввод и редактирование данных в таблицах баз данных с помощью представляемой по умолчанию стандартной формы в виде таблицы и с помощью экранных форм, специально создаваемых пользователем;

· обработка данных, содержащихся в таблицах, на основе запросов и на основе программы;

· вывод информации из ЭВМ с использованием отчетов и без использования отчетов.

Реализуются названные этапы работы с помощью различных команд.

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

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

1.3.Модели описания баз данных

Известны три типа моделей описания баз данных – иерархическая, сетевая и реляционная, основное различие между которыми состоит в характере описания взаимосвязей и взаимодействия между объектами и атрибутами базы данных.

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

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

В этой статье:

Что представляет собой база данных?

Базы данных - это инструмент для сбора и структурирования информации. В базе могут храниться данные о людях, товарах, заказах и о многом другом. Многие базы данных изначально представляют собой небольшой список в текстовом редакторе или электронной таблице. По мере увеличения объема данных в списке постепенно появляются несоответствия и излишняя информация. Информация, отображенная в виде списка, становится непонятной. Кроме того, ограничены способы, с помощью которых можно искать и отображать подмножества данных. Как только начинают появляться эти проблемы, мы рекомендуем перенести всю информацию в базу данных, созданную в системе управления базами данных (СУБД), такой как Access.

Компьютерная база данных - это хранилище объектов. В одной базе данных может быть больше одной таблицы. Например, система отслеживания складских запасов, в которой используются три таблицы, - это не три базы данных, а одна. В базе данных Access (если ее специально не настраивали для работы с данными или кодом, принадлежащими другому источнику) все таблицы хранятся в одном файле вместе с другими объектами, такими как формы, отчеты, макросы и модули. Для файлов баз данных, созданных в формате Access 2007 (который также используется в Access 2016, Access 2013 и Access 2010), используется расширение ACCDB, а для баз данных, созданных в более ранних версиях Access, - MDB. С помощью Access 2016, Access 2013, Access 2010 и Access 2007 можно создавать файлы в форматах более ранних версий приложения (например, Access 2000 и Access 2002–2003).

Использование Access позволяет:

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

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

    удалять информацию, например если артикул был продан или утилизирован;

    упорядочивать и просматривать данные различными способами;

    обмениваться данными с другими людьми с помощью отчетов, сообщений электронной почты, внутренней сети или Интернета.

Элементы базы данных Access

Ниже приведены краткие описания элементов стандартной базы данных Access.

Таблицы

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

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

Строки в таблице называются записями. В записи содержатся блоки информации. Каждая запись состоит по крайней мере из одного поля. Поля соответствуют столбцам в таблице. Например, в таблице под названием "Сотрудники" в каждой записи находится информация об одном сотруднике, а в каждом поле - отдельная категория информации, например имя, фамилия, адрес и т. д. Поля выделяются под определенные типы данных, например текстовые, цифровые или иные данные.

Записи и поля можно описать по-другому. Представьте старый библиотечный карточный каталог. Каждой карточке в шкафу соответствует запись в базе данных. Блоки информации на карточке (автор, название книги и т. д.) соответствуют полям в базе данных.

Дополнительные сведения о таблицах см. в статье Общие сведения о таблицах .

Формы

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

С помощью кнопок команд задаются данные, которые должны появляться в форме, открываются прочие формы и отчеты и выполняется ряд других задач. Например, есть "Форма клиента", в которой вы работаете с данными о клиентах. И в ней может быть кнопка, нажатием которой открывается форма заказа, с помощью которой вы вносите информацию о заказе, сделанном определенным клиентом.

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

Дополнительные сведения о формах см. в статье Формы .

Отчеты

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

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

Запросы

Запросы могут выполнять множество функций в базе данных. Одна из их основных функций - находить информацию в таблицах. Нужная информация обычно содержится в нескольких таблицах, но, если использовать запросы, ее можно просматривать в одной. Кроме того, запросы дают возможность фильтровать данные (для этого задаются критерии поиска), чтобы отображались только нужные записи.

Используются и так называемые "обновляемые" запросы, которые дают возможность редактировать данные, найденные в основных таблицах. При работе с обновляемым запросом помните, что правки вносятся в основные таблицы, а не только в таблицу запроса.

Есть два основных вида запросов: запросы на выборку и на изменение. Запрос на выборку только находит данные и предоставляет к ним доступ. Результаты такого запроса можно просмотреть на экране, распечатать или скопировать в буфер обмена, а также использовать в качестве источника записей для формы или отчета.

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

Дополнительные сведения о запросах см. в статье Знакомство с запросами .

Макросы

Макросы в Access - это нечто вроде упрощенного языка программирования, с помощью которого можно сделать базу данных более функциональной. Например, если к кнопке команды в форме добавить макрос, то он будет запускаться всякий раз при нажатии этой кнопки. Макросы состоят из команд, с помощью которых выполняются определенные задачи: открываются отчеты, выполняются запросы, закрывается база данных и т. д. Используя макросы, можно автоматизировать большинство операций, которые в базе данных вы делаете вручную, и, таким образом, значительно сэкономить время.

Дополнительные сведения о макросах см. в статье Общие сведения о программировании в Access .

Модули

Подобно макросам, модули - это объекты, с помощью которых базу данных можно сделать более функциональной. Но если макросы в Access составляются путем выбора из списка макрокоманд, модули создаются на языке Visual Basic для приложений (VBA). Модули представляют собой наборы описаний, инструкций и процедур. Существуют модули класса и стандартные модули. Модули класса связаны с конкретными формами или отчетами и обычно включают в себя процедуры, которые работают только с этими формами или отчетами. В стандартных модулях содержатся общие процедуры, не связанные ни с каким объектом. Стандартные модули, в отличие от модулей класса, перечисляются в списке Модули в области навигации.

База данных составлялась на основе реляционной системы. Реляционная модель данных основывается на математических принципах, вытекающих непосредственно из теории множеств и логики предикатов. Эти принципы впервые были применены в области моделирования данных в конце 1960-х гг. доктором Е.Ф. Коддом, в то время работавшим в IBM, а впервые опубликованы - в 1970 г.

Техническая статья «Реляционная модель данных для больших разделяемых банков данных» доктора Е.Ф. Кодда, опубликованная в 1970 г., является родоначальницей современной теории реляционных БД. Доктор Кодд определил 13 правил реляционной модели (которые называют 12 правилами Кодда).

  • 12 правил Кодда:
  • 1. Реляционная СУБД должна быть способна полностью управлять базой данных через ее реляционные возможности.
  • 2. Информационное правило - вся информация в реляционной БД (включая имена таблиц и столбцов) должна определяться строго как значения в таблицах.
  • 3. Гарантированный доступ - любое значение в реляционной БД должно быть гарантированно доступно для использования через комбинацию имени таблицы, значения первичного ключа и имени столбца
  • 4. Поддержка пустых значений (null value) - СУБД должна уметь работать с пустыми значениями (неизвестными или неиспользованными значениями), в отличие от значений по умолчанию и независимо для любых доменов.
  • 5. Онлайновый реляционный каталог - описание БД и ее содержания должны быть представлены на логическом уровне как таблицы, к которым можно применять запросы, используя язык базы данных.
  • 6. Исчерпывающий язык управления данными - по крайней мере, один из поддерживаемых языков должен иметь четко определенный синтаксис и быть всеобъемлющим. Он должен поддерживать описание структуры данных и манипулирование ими, правила целостности, авторизацию и транзакции.
  • 7. Правило обновления представлений (views) - все представления, теоретически обновляемые, могут быть обновлены через систему.
  • 8. Вставка, обновление и удаление - СУБД поддерживает не только запрос на отбор данных, но и вставку, обновление и удаление
  • 9. Физическая независимость данных - на программы-приложения и специальные программы логически не влияют изменения физических методов доступа к данным и структур хранилищ данных.
  • 10. Логическая независимость данных - на программы-приложения и специальные программы логически не влияют, в пределах разумного, изменения структур таблиц.
  • 11. Независимость целостности - язык БД должен быть способен определять правила целостности. Они должны сохраняться в онлайновом справочнике, и не должно существовать способа их обойти.
  • 12. Независимость распределения - на программы-приложения и специальные программы логически не влияет, первый раз используются данные или повторно.
  • 13. Неподрывность - невозможность обойти правила целостности, определенные через язык базы данных, использованием языков низкого уровня

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

В реляционной модели данные разбиваются на наборы, которые составляют табличную структуру. Эта структура таблиц состоит из индивидуальных элементов данных, называемых полями. Одиночный набор или группа полей известна как запись.

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

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

  • 1. все данные представляются в виде упорядоченной структуры, определенной в виде строк и столбцов и называемой отношением;
  • 2. все значения являются скалярами. Это означает, что для любой строки и столбца любого отношения существует одно и только одно значение;
  • 3. все операции выполняются над целым отношением, и результатом их выполнения также является целое отношение. Этот принцип называется замыканием

Реляционная БД на физическом уровне состоит из таблиц, между которыми могут существовать связи по ключевым значениям. Одновременно с таблицами и информацией о связях в реляционной базе данных могут присутствовать «хранимые процедуры» и, в частности, «триггеры», обеспечивающие соблюдение условий ссылочной целостности базы. База данных, содержащая информацию о проектной организации состоит из нескольких таблиц. Таблица, содержащая информацию о заключенных договорах называется dogovor и содержит следующий список полей:

  • · D_id - № по порядку
  • · D_name - № договора
  • · Stoimost - стоимость договора
  • · Obor - оборудование
  • · Data_zakl - дата заключения договора
  • · Srok_deistv - срок действия договора

Таблица dogovor_dop - дополнительная информация по договорам:

  • · P_name - №-ра проектов
  • · Zakazchik - заказчик
  • · Rukovoditel - руководитель договора
  • · Ispolnitel - исполнители договора

Таблица proekt:

  • · P_name - № проекта
  • · Stoimost - стоимость
  • · Data - дата исполнения проекта

Таблица proekt_dop:

  • · P_name - № проекта
  • · D_name - №-ра договоров
  • · Zakazchik - заказчик
  • · Rukovoditel - руководитель проекта
  • · Ispolnitel - исполнители проекта

Таблица obor:

  • · Otdel_id - № отдела
  • · Ob_name - название оборудования
  • · P_name - №-ра проектов
  • · Data - дата эксплуатации

Таблица otdel_dop:

  • · Otdel_id - № отдела
  • · Prinadlegn - принадлежность отделу
  • · Ispolzovanie - пользование отделом

Таблица otdel_dop:

  • · Otdel - название отдела
  • · Dolznost - должность
  • · Familia - фамилия
  • · Name - имя
  • · Otchestvo - отчество
  • · God_rozden - год рождения
  • · Zarplata - заработная плата

Таблица kontragenti:

  • · Kg_name - название организации
  • · Specifik - спецификация
  • · Adres - адрес
  • · Tel - телефон
  • · Bank_rekv - банковские реквизиты