Преимущества и недостатки СУБД.

Конспекты лекций

По дисциплине: Базы данных

 

Студента 2-го курса

Группы РПО 10 1/9

Кулика Романа Васильевича

 

 

Преподаватель: Дворянова Татьяна Николаевна

Лекция 1-2

Основные понятия систем БД

База данных – совместно используемый набор логически связанных данных и их описаний, предназначенный для удовлетворения информационных потребностей пользователей. Базу данных иногда называют набором интегрированных данных с само описанием. Описание данных называют системным каталогом (system catalog) или словарем данных(data dictionary). Элементы описания данных называют метаданными(meta-data) или данными о данных. Наличие описания данных в БД обеспечивает независимость между данными и программами.

Телефон сущность

Модель Цена Цвет Размер
Nokia C7 белый 110х80х10
Motorola Droid V3 черный 110х80х10
LG P500 серый 100х60х10

ИмяСущности (атрибуты1, атрибуты2,…)

Телефон (номер, модель, цена, цвет, размер)

Сущность(entity) – отдельный тип объекта (человек, место, вещь, событие), который нужно представить в базе данных.

Атрибут – свойство, которое описывает некоторую характеристику сущности.

Сущности могут связаны некоторым образом между собой.

Связь(relationship) – то что объединяет несколько сущностей. Сущность имеет имя уникальное в пределах моделируемой системы.

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

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

Возможности СУБД

1. Определение БД с помощью языка определения данных (DLL–Data Definition Language), т.е. указания типа данных и их структуры

2. позволяет вставлять, обновлять, удалять и извлекать информацию из БД с помощью языка управления данными (DML – Data manipulation Language), который иногда называют языком запросов. Существуют две разновидности DML: процедурные – обрабатывают данные последовательно, запись за записью, используются для указания, как можно получить желаемый результат; непроцедурные – оперируют сразу с целыми наборами записей, используются для описания, что нужно получит (SQL – Structured Query Language язык структурированных запросов)

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

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

 

 

Компоненты среды СУБД

Пользователи
Процедуры
Программное обеспечение
Аппаратное обеспечение
Да Данные

 

 

 


компьютер человек

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

Программное обеспечение охватывает программное обеспечение сомой СУБД и прикладных программ, вместе с ОС, включая и сетевое программное обеспечение, если СУБД используется в сети. Обычно СУБД создаются на языках третьего поколения С, Cobol, Fortran, Ada, Packal или на языках четвертого поколения SQL, операторы которого внедряются в программы на языке 3-го поколения. СУБД может иметь свои собственные инструменты четвертого поколения с использованием встроенных непроцедурных языков запросов, генераторов отчетов, форм, графических изображений и даже полномасштабных приложений.

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

Процедуры. К процедурам относятся инструкции и правила, которые должны учитываться при проектировании и использовании БД

· регистрация СУБД;

· запуск и останов СУБД;

· использование инструментов и приложений СУБД;

· создание резервных копий;

· обработка сбоев аппаратного и программного обеспечения, восстановление базы после устранения неисправности;

· реорганизация БД;

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

· процедуры использования и сопровождения.

Пользователи.

Четыре группы.

1. Администраторы

Администратор данных (ДА – Data Administrator) отвечает за управление данными: планирование баз данных, разработка и сопровождение стандартов, бизнес – правил и деловых процедур, концептуальное и логическое проектирование баз данных, контроль соответствия общего направления развития баз данных установленным корпоративным целям

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

2. Разработчики

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

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

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

4. Пользователи – клиенты баз данных.

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

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

Преимущества и недостатки СУБД.

Преимущества

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

2. Непротиворечивость данных – если элемент данных хранится только в одном экземпляре, то при его обновлении, новое значение становиться доступным всем пользователям. Если элемент хранится в нескольких экземплярах, то система следит, чтобы копии не противоречили друг другу. (В большинстве систем не поддерживается).

3. Больше полезной информации при том же объеме данных.

4. Совместное использование данных.

5. Поддержка целостности данных – корректность и непротиворечивость данных. (Т.е. номер отдела должен быть только такой, какой есть в данной организации)

6. Повышенная безопасность защита баз данных от несанкционированного доступа.

7. применение стандартов –можно регламентировать формат данных, соглашения об именах, форму представления документации. процедуры обновления и правила доступа.

8. Повышение эффективности с ростом масштабов системы.

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

10. Повышение доступности баз данных и их готовности к работе возможность задавать не предусмотренные заранее вопросы.

11. Улучшение показателей производительности.

12. Упрощение сопровождения системы за счет независимости данных: описания данных отделены от приложений, следовательно приложения защищены от изменений в описании данных.

13. Улучшенное управление параллельностью: предусмотрены возможности параллельного доступа к данным.

14. Развитые службы резервного копирования и восстановления.

Недостатки.

1. Сложность.

2. Размер.

3. Стоимость.

4. Дополнительные затраты на аппаратное обеспечение.

5. Затраты на преобразование

6. Производительность.

7. Серьезные последствия при выходе системы из строя: централизация ресурсов повышает уязвимость.

 

Продолжение

ANSI – American National Standard Institute (Национальный Институт Стандартизации США)

SPARC – Standards Planning and Requirements committee (Комитет планирования стандартов и норм)

1975г. – комитет ANSI-SPARC признал необходимость использования трехуровневой архитектуры системы БД.

Предствление N
Предствление2
Предствление1
1 уровень: внешний пользователь1 пользователь2 пользователь N

 

 


Концептуальная схема
2 уровень: концептуальный

 

Внутренняя схема


3 уровень: внутренний

 

БД
Физическая реализация

 

 

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

Модели данных

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

- Структурная часть, то есть набор правил, по которым может быть построена БД.

- Управляющая часть, определяющая типы допустимых операций с данными.

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

Модели данных подразделяются на три категории:

- Объектные (object-based) модели данных,

- Модели данных на основе записей (record-based),

- Физические модели данных.

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

Объектные модели данных

Основные понятия:

Сущность, атрибут, связь.

Типы объектных моделей данных:

-Модель типа «сущность-связь», или ER-модель (Entity-Relationship model).

-Семантическая модель.

-Функциональная модель.

-Объектно-ориентированная модель.

Модели данных на основе записей

-Реляционная модель данных (relational data model).

-Сетевая модель данных

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

 

 

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

 

 


Сетевая модель данных

 


 

Лекция 3

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

Согласно Дейту, реляционная модель состоит из трех частей:

· Структурной части

· Целостной части

· Манипуляционной части

Структурная часть описывает, какие объекты рассматриваются реляционной моделью. Постулируется, что единственной структурой данных, используемой в реляционной модели, являются нормализированные n-арные отношения.

А1 А2 А3 Аn
D11 D12 D13 D1n
D21 D22 D23 D2n
D31 D32 D33 D3n
Dm1 Dm2 Dm3 dmn
         
D1 D2 D3 dn

Атрибут – имя столбца или заголовок столбца.

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

1.Имеет уникальное имя в пределах текущей БД.

2.Определен на некотором простом типе данных или на другом домене.

3.Может иметь некоторое логическое условие, позволяющее описать допустимое значение для данного домена.

4.Несет определенную смысловую нагрузку.

Кортеж – строка отношения.

Степень отношения – количество атрибутов которые содержат отношения.

Кардинальность(мощность) – количество кортежей.

Схема отношений:

ИмяОтнош(Атр1,Атр2….)

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

ИмяБД(ИмяОтн1, ИмяОтн2…)

Свойства отношений:

1.В отношении нет одинаковых кортежей.

2.Кортежы не упорядочены сверху вниз

3.Атрибуты не упорядочены.

4.Значение атрибутов атомарны(простые неделимые)

Самостоятельная работа

Виды отношений

Именованная, базовая, производная, преставление, результат запроса, хранимое отношение.

Лекция 4

Целостность реляционных баз данных

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

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

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

Оставшиеся ключи называют альтернативными.

Номер Дисцип.
Номер ФИО
Студент Дисциплина

 


Номер В Номер Номер Д Оценка
Ведомость

 

М

М

 

 

Если ключ состоит из одного атрибута его называют простым. Если ключ состоит из нескольких атрибутов, его называют составным. Для одного студента с указанным номером в отношении «ведомость» найдется много записей с таким же значением поля «ном», так как один студент сдаёт много дисциплин. Отношение, которое вступает в связь со стороны 1, то есть к которому не идут связи, называют родительским или базовым. Отношение, которое вступает в связь со стороны «М», то есть к которому идет связь, называют дочерним или подчиненным. Виды связей:

1:М

1:1

М:1

М:М

Различают 2 вида целостности: 1-й целостность сущностей; 2-й ссылочная целостность

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

Целостность сущности: значение первичного ключа не может быть пустым или неопределенным.

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

Операции родительское дочернее

Вставка – ссылочная

Обновление сущ, ссылочная ссылочная

Удаление ссылочная –

 

 

Самостоятельная работа: стратегии поддержки целостности

Лекция 5-6

Реляционная алгебра

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

Фактическим стандартом доступа к реляционным данным стал язык SQL (Structured Query Language).

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

Коддом предложено 8 реляционных операторов, объединенных в 2 группы:

1.Теоретико-множественные включают объединение, пересечение, разность (вычитание), декартово произведение.

2.Специальные включает выборка, проекция, соединение, деление.

Соединение

Объединением R1 с R2 есть отношение R каждый кортеж которого принадлежит множеству R1 или R2.

Разность

R1 MINUS R3

Декартово произведение

R1=(A1,A2,..AN)

R2=(B1,B2,..,BN)

Отношение, заголовок которого является сцеплением заголовком R1 и R2 и телом, состоящем из кортежей, являющихся сцеплением кортежей отношения R1 и R2.

Операции теоретико-множественные бинарные, так как требуют двух аргументов.

2.1 Выборка (селекция, фильтрация, ограничение)

Выборкой на отношении R с условие A(альфа) называют отношение с тем же заголовком что и отношение R и телом, состоящим из кортежей, значение которых при подстановке в условие A(альфа) приводят его в состояние «истина».

R[A(r)] = {r|r е R^A(r) = ‘истина’}

R where (условие)

2.2 Проекция

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

R = {r[B]}

R [атрибуты]

2.3 Соединение

 

Лекция 7

Самостоятельная работа

Лекция 15-16 дописать с электронного ресурса

 

Лекция 8

1.Уточним предметную область. Системный анализ ПО.

-ПО представлена документом «Журнал зав. отделением»

-в журнале должно быть отражено: ФИО студента, список дисциплин, оценка каждого студента по дисциплинам.

-в журнале есть списки всех групп одной специальности.

-в одной группе много студентов.

-список группы может изменяться.

-1 студент получает оценки по многим дисциплинам.

-оценка может корректироваться.

-БД для 2 курса.

-ФИО студентов могут совпадать.

 

 

2.ИЛМ

1NF

Группа КодГруппы

ФИО Группа

Дисциплина КодСтудента

Оценка ФИО

КодДисциплины

Дисциплина

Оценка

 

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

 

Кол-во студентов*кол-во дисциплин

 

Поэтому есть необходимость разделить исходное отношение (этот процесс называется декомпозицией) на несколько отношений.