Технология разработки и защиты баз данных 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Технология разработки и защиты баз данных



ТЕХНОЛОГИЯ РАЗРАБОТКИ И ЗАЩИТЫ БАЗ ДАННЫХ

дисциплина разработана на основе Федерального государственного стандарта среднего профессионального образования по специальности 09.02.03 Программирование в компьютерных системах.

ЛЕКЦИИ

 

Краснодар

2020 г.


 

ЛЕКЦИЯ № 1

ВВЕДЕНИЕ В БАЗЫ ДАННЫХ

 

Базы данных – именованная совокупность данных, отображающих состояние объектов и их отношений в рассматриваемой предметной области.

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

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

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

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

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

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

Основная особенность СУБД – это наличие процедур для ввода и хранения не только самих данных, но и описаний их структуры.

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

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

Требования к базам данным:

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

-обеспечение уровня достоверности хранимой информации;

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

-обеспечение возможности поиска информации по группе признаков;

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

-наличие возможности реорганизации и расширения при изменении границ предметной области;

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

-обеспечение простоты и удобства обращения внешних пользователей за информацией;

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

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

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


 

 

ЛЕКЦИЯ № 2

ЛЕКЦИЯ № 3

ЛЕКЦИЯ № 4

ЛЕКЦИЯ № 5

ЛЕКЦИЯ № 6

Типы связей:

Связь ОДИН-К-ОДНОМУ (1:1): в каждый момент времени каждому экземпляру сущности А соответствует не более одного экземпляра сущности В.

Связь ОДИН-КО-МНОГИМ(1:М): каждому экземпляру сущности А соответствуют 0, 1 или несколько представителей сущности В.

Рекурсивная связь – связь, в которой одни и те же сущности участвуют несколько раз в разных ролях.

Показатель кардинальности указывает количественное соотношение экземпляров сущностей для каждой связи

Связь МНОГИЕ-КО-МНОГИМ (М:М): каждому экземпляру сущности А соответствуют 0, 1 или несколько представителей сущности В, каждому экземпляру сущности В соответствуют 0, 1 или несколько представителей сущности А.

Примеры основных типов связей приведены на рисунке 6.

 

 

Рисунок 6 – Примеры связей

ЛЕКЦИЯ № 7

 ПРОБЛЕМЫ ER-МОДЕЛИРОВАНИЯ

 

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

Ловушка разветвления имеет место в том случае, если модель отображает связь между сущностями, но путь между отдельными экземплярами этих сущностей однозначно не определяется. Ловушка разветвления возникает в случае, когда две или больше связей ОДИН-КО-МНОГИМ разветвляются из одной сущности.  Потенциальная ловушка разветвления показана на примере связи типа 1:М выходящих из одной и той же сущности ФАКУЛЬТЕТ. Проанализировав модель, можно сделать вывод, что на одном факультете осуществляется обучение по нескольким специальностям, и на факультете учится множество студентов. Проблема может возникнуть при попытке выяснить, по какой специальности обучается каждый из студентов факультета. Проанализировав модель, можно сделать вывод, что на одном факультете осуществляется обучение по нескольким специальностям, и на факультете учится множество студентов. Проблема может возникнуть при попытке выяснить, по какой специальности обучается каждый из студентов факультета.

Рисунок 7 – Пример ловушки разветвления

 

Ловушка разрыва появляется в том случае, если в модели предполагается наличие связи между сущностями, но не существует пути между отдельными экземплярами этих сущностей. Ловушка разрыва возникает при наличии связи, образующей часть пути между связанными сущностями. Потенциальная ловушка разрыва показана на примере связей между сущностями ОБЩЕЖИТИЕ, СТУДЕНТ и КОМНАТА.

Устранить эту проблему можно только путем перестройки ER-модели для представления правильного взаимоотношения между этими сущностями. В модель добавлена связь Размещение между сущностями ОБЩЕЖИТИЕ и КОМНАТА.

Рисунок 8 – Пример ловушки разрыва

 


ЛЕКЦИЯ №8

НОРМАЛИЗАЦИЯ БАЗЫ ДАННЫХ

 

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

Нормальная форма — требование, предъявляемое к структуре таблиц в теории реляционных баз данных для устранения из базы избыточных функциональных зависимостей между атрибутами (полями таблиц). Нормализация может применяться к таблице, первоначально отвечающей следующим требованиям: таблица содержит нуль или более записей, все записи таблицы имеют одно и то же множество полей, причём одноимённые поля относятся к одинаковым типам данных, таблица не может содержать двух полностью идентичных записей.

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

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

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

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

Рисунок 9 – Процесс нормализации БД

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

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

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

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

ЛЕКЦИЯ №9

 МОДЕЛИ ДАННЫХ

 

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

Иерархическая модель данных

Иерархическая БД состоит из упорядоченного набора деревьев; более точно, из упорядоченного набора нескольких экземпляров одного типа дерева. Тип дерева состоит из одного «корневого» типа записи и упорядоченного набора из нуля или более типов поддеревьев (каждое из которых является некоторым типом дерева). Тип дерева в целом представляет собой иерархически организованный набор типов записи. Пример модели приведен на рисунке 11.

Рисунок 11 – Иерархическая модель данных

 

Сетевая модель

Сетевой подход к организации данных является расширением иерархического. В иерархических структурах запись-потомок должна иметь в точности одного предка; в сетевой структуре данных потомок может иметь любое число предков.

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

Рисунок 12 – Сетевая модель данных

 

Реляционная модель

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

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

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

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

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

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

 

 


ЛЕКЦИЯ №10

Распределённые базы данных (РБД)

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

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

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

OLAP

OLAP (on-line analytical processing) — набор технологий для оперативной обработки информации, включающих динамическое построение отчётов в различных разрезах, анализ данных, мониторинг и прогнозирование ключевых показателей бизнеса. В основе OLAP-технологий лежит представление информации в виде OLAP-кубов.

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

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

Хранилище данных

Хранилище данных — это предметно-ориентированная, интегрированная, вариантная по времени, не разрушаемая совокупность данных, предназначенная для поддержки принятия управленческих решений.

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

Хранилища данных (Datawarehouse) и оперативный анализ данных (On-LineAnalyticalProcessing, OLAP) – новые информационные технологии, которые обеспечивают аналитикам, управленцам и руководителям высшего звена возможность изучать большие объемы взаимосвязанных данных при помощи быстрого интерактивного отображения информации на разных уровнях детализации с различных точек зрения в соответствии с представлениями пользователя о предметном пространстве. Основная цель хранилищ — создание единого логического представления данных, содержащихся в разнотипных БД или в единой модели корпоративных данных.

 


Список литературы

 

1. Голицына О.Л., Максимов H.B., Попов И.И. Базы данных: учеб. пособие. - М.: ФОРУМ: ИНФРА-М, 2010.

2. Кренке Д. Теория и практика построения баз данных: [пер.с англ] / Д. Кренке. - 9 - е изд. - СПб.: Питер, 2009. - 858 с.

3. Диго СМ. Базы данных. - М.: Финансы и статистика, 2009.

4. Марков А.С., Лисовский К.Ю. Базы данных. Введение в теорию и методологию: учебник. - М.: Финансы и статистика, 2014.

5. Когаловский М.Р. Энциклопедия технологий баз данных. – М.: Фи­нансы и статистика, 2012.

6. Базы данных: учебник для высших заведений /Под ред. проф. А.Д. Хомоненко. – СПб.: Корона принт, 2010. – 416 с.

7. Хансен Г., Хансен Д. Базы данных: разработка и управление. – М.: Бином, 2010. – 704 с.

8. Дэйт. К. Введение в системы баз данных. – М.: Наука, 2009.

 

ТЕХНОЛОГИЯ РАЗРАБОТКИ И ЗАЩИТЫ БАЗ ДАННЫХ

дисциплина разработана на основе Федерального государственного стандарта среднего профессионального образования по специальности 09.02.03 Программирование в компьютерных системах.

ЛЕКЦИИ

 

Краснодар

2020 г.


 

ЛЕКЦИЯ № 1

ВВЕДЕНИЕ В БАЗЫ ДАННЫХ

 

Базы данных – именованная совокупность данных, отображающих состояние объектов и их отношений в рассматриваемой предметной области.

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

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

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

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

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

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

Основная особенность СУБД – это наличие процедур для ввода и хранения не только самих данных, но и описаний их структуры.

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

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

Требования к базам данным:

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

-обеспечение уровня достоверности хранимой информации;

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

-обеспечение возможности поиска информации по группе признаков;

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

-наличие возможности реорганизации и расширения при изменении границ предметной области;

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

-обеспечение простоты и удобства обращения внешних пользователей за информацией;

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

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

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


 

 

ЛЕКЦИЯ № 2



Поделиться:


Последнее изменение этой страницы: 2021-04-12; просмотров: 797; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.166.98 (0.063 с.)