Вы находитесь на странице: 1из 16

Введение в БД.

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

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

ИС вкл в себя :

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

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


данных определенной предметной области.

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

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

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

По степени структурированности ин-и различают:

 Документо-ориентированные
 Фактографические базы данных

Документо-ориентированные бд содержат слабо структурированные данные, обычно представленные


ввиде текстовых док-ов различных форматов.

Фактографические базы данных содержат четко структурированную совокупность данных.

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

БД в месте с поддерживающим ее програмным обеспечением образуют информационную систему


(ИС).

БД+ПО=ИС

Классификация ИС

По назначению:
 ИПС-информационно поисковые системы
 УИС(ЭИС)-управляющие(экономические) ИС
 ЭС-экспертные системы

ЭС- способны на самостоятельное принятие решений, т.е имеют в своем составе базу знаний,
позволяющую получать новые знания на основе уже имеющихся.

По предметной области:

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


военном дел, соц. сфере и др.

Состав ИС

Базовое Прикладное

ОС СУБД Приложения БД

Базовое ПО включает операционную систему (ОС), которая непосредственно осуществляет доступ к


данным на диске.

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

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

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

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

База данных и СУБД

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


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

Словарь данных в том или ином виде присутствует в любой базе


данных, независимо от используемой модели данных.

Для каждого элемента данных в СД хранится его уникальное имя,


тип, размер и некоторые другие свойства.

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


использования базы данных.

Таблица 1 Функции СУБД и средства для их реализации

Функции СУБД: Языковые средства Программные средства


1) создание БД и язык DDL (data Процессор DDL
модификация метаданных definition language) в
переводе ЯОД (язык
определения данных)
2) Заполнение БД и язык DML (data Оптимизатор запросов (Query
обновление данных 3) manipulation language) в Optimizer)— разработка
Извлечение данных (выборка) переводе ЯМД (язык оптимального плана исполнения
манипулирования данными) запроса пользователя, процессор
базы данных (DB Engine)—
исполнение запроса по плану
4) Обработка данных Средства разработки Компилятор языка
хранимого кода - язык программирования, процессор
высокого уровня, базы данных
дополненный командами
DML или встроенный язык
СУБД
5) Обеспечение Правила поддержки Процессор базы данных,
целостности данных целостности (ограничения) в встроенные средства проверки
языке DDL, возможность целостности
встраивать поддержку
целостности в хранимый код
5) Обеспечение Система команд Подсистема безопасности
безопасности управления доступом к
данных(разграничение данным
доступа пользователей и
аудит их действий)
6) Организация Система команд для Монитор транзакций,
коллективного доступа к поддержки транзакций и подсистема блокировок
данным (параллелизм) управления блокировками
7) Резервное Утилиты резервного
копирование и копирования, встроенные средства
восстановление восстановления БД
Принципы построения информационных систем.

1. Принцип интегрированности.

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

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

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


одном месте».
 непротиворечивости (целостности) данных, т.к. ввиду отсутствия дублирования данных нет и
их нестыковок.
 повышается быстродействие при поиске и обработке данных.
 резервное копирование данных и восстановление поврежденных данных.

2. Принцип независимости прикладного программного обеспечения от способа организации данных.

Различают следующие уровни независимости:

а) логическая независимость – можно вносить некоторые изменения в структуру уже


заполненной базы данных без коренной переделки прикладного программного обеспечения;

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

3. Принципы масштабируемости и переносимости

Принцип масштабируемости:

а) возможность неограниченного наращивания размеров БД;

б) неограниченное увеличение количества пользователей;

в) неограниченное увеличение количества приложений.

Принцип масштабируемости – это свойство инфор-ой системы при переносе на новую платформу не
происходит потерь ин-ии и коренной переделке прикладного ПО.

Архитектуры информационных систем

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


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

Выбор архитектуры ИС влияет на следующие характеристики:

1. Производительность ИС – количество работ, выполняемых в ИС за единицу времени.

2. Время реакции системы на запросы пользователя (время отклика системы).

3. Надёжность – способность к безотказному функционированию в течение определенного


периода времени.

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

Централизованная БД - целиком хранится в одном узле сети, поддерживается одним сервером и


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

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


две основных архитектуры – «файл-сервер» и «клиент-сервер».

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

Клиентом – наз процесс, который пользуется услугами сервера.

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

Типы серверов:

1. сервер 3W- хранилище информационных ресурсов, которые предоставляются


пользователем в соответствии с стандартами и интернет.
2. Сервер баз данных – выполняет обработку запросов к базам данных.
3. Сервер защиты информации – предназначен для обеспечения безопасности данных.
4. Сервер приложений- предназначен для выполнения прикладных процессов.
5. Сервер удаленного доступа – обеспечивает коллективный доступ к данным.
6. Файловый сервер- обеспечивает функционирование распределительных ресурсов,
предоставляет для поиска, хранения, активирования данных и возможность одновременного доступа
к ним нескольким пользователям.

Архитектура «файл-сервер»

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


служит в качестве хранилища данных.

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

Недостаток архитектуры файл-сервер – большая нагрузка на сеть и клиентские компьютеры, поскольку


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

Количество пользователей системы в архитектуре файл-сервер обычно не должно превышать 10-15, в


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

Архитектура «клиент-сервер»

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


выполняться в разных узлах сети, - клиентскую и серверную части.

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


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

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


полученных сервером, поэтому клиент –толстый.

Взаимодействие сервера и клиента обеспечивает интерфейсный программный слой – язык SQL,


представляет собой стандарт интерфейса СУБД.

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

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

В трехзвенной архитектуре часто используется так называемый тонкий клиент (thin client), который
вообще не выполняет никаких функций обработки данных, а только обеспечивает представление данных и
взаимодействие с пользователем. В отличие от этого, клиента двухзвенной системы обычно называют
толстым клиентом (fat client).

web-архитектура

На веб сервере устанавливается прикладное программное обеспечение, обеспечивающее всю


необходимую функциональность ИС.

На клиентской стороне требуется только браузер (например, Internet Explorer) для отображения html-
страниц, принимаемых со стороны web-сервера, и взаимодействия с пользователем.

Преимуществом web-архитектуры является удобство администрирования ИС, возможность доступа


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

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


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

Информационные системы, функционирующие в терминальном режиме

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

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

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

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

Существует несколько видов моделей:

1. Иерархическая модель.
2. Сетевая модель
3. Реляционная модель
4. Объектно-реляционная модель
5. Объектно-ориентированная

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

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

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

Является расширением иерархического. Сетевые БД соответствуют широкому классу предметных


областей. Сетевая модель позволяет любому объекту быть связанным с любым другим объектом. Отношения
подчинённости: 1:1, 1:М, М:1, M:N.
Реляционная модель

РМ БД представляет объекты и взаимосвязи между ними в виде таблиц, а все операции над данными
сводятся к операциям над этими таблицами.

Отношение (Relation) можно представить в виде двумерной таблицы.

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

Таблица отношение

Отношения подчиненности: 1:1, 1:М, М:1.

Структура таблицы- совокупность имен полей.

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

Реляционная СУБД дополнена средствами доступа к сложным данным. Объектные расширения


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

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

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


наследование, полиморфизм.

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

Ключи и индексы

1. Ключ

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

 однозначную идентификацию записей таблицы;


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

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

Общие правила построения ключа:

 ключ должен быть уникальным (значение ключевого поля никогда не повторяются). У


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

2. Индекс

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

Создание индекса наз индексированием таблицы.

Поля, по которым построен индекс, наз индексными.

Ключ – это главный индекс.

Использование индекса обеспечивает:

 увеличение скорости доступа (поиска) к данным;


 сортировку записей;
 установление связи между таблицами БД;
 использование ограничений ссылочной целостности.

Индекс служит для сортировки таблицы по индексным полям.

Технология создания индекса идентична созданию ключа.

Реляционные отношения между таблицами (связи).

Организация связи (отношений) между таблицами называется связыванием или соединением таблиц.

Для связывания таблиц используются поля связи (иногда используется термин совпадающие поля).

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

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

различают следующие виды разновидности связи:

 1:1
 1: N
 N:1
 N:M

Отношение 1:1

Имеет место, когда одной записи в родительской таблице соответствует одна запись в дочерней.

Единственное отношение, где главная подчинённая таблицы связаны первичным ключом.

Отношение 1:N

Имеет место, когда одной записи родительской таблицы может соответствовать несколько записей
дочерней.

Отношение N:M

Отношение "многие–ко–многим" применяется в следующих случаях:

 одной записи в родительской таблице соответствует более одной записи в дочерней;


 одной записи в дочерней таблице соответствует более одной записи в родительской.
Целостность баз данных

|. Ограничение целостности.

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

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

Эта конфигурация должна подчинятся соответствующему набору правил (правил целостности),


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

Два общих правила целостности:

1. БД не должна содержать несогласованных значений внешних ключей. Иначе правило


говорит, что если b ссылается на a, то а должно существовать.
2. Не один элемент первичного ключа не может быть NULL значения(пустым).

||. Целостность данных.

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

В реляционной модели данных определены 2а базовых требования обеспечения целостности:

 целостность сущностей (категорная целостность);


 целостность ссылок.

1. Целостность сущностей

Объект реального мира представляется в реляционной базе данных, как запись некоторого отношения.

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

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


ограничений как:

 при добавлении в таблицу записей осуществляется проверка уникальности их первичных


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

Правило: атрибуты, которые входят в состав потенциального ключа не могут иметь null-значений.
2. Целостность ссылок.

Целостность ссылок - сложный объект реального мира представляет в реляционной базе данных в виде
записей нескольких нормализованных отношений.

При этом:

 Отношения должны быть функционально зависимы.


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

Требования ссылочной целостности:

 Для каждого значения внешнего ключа, появляющегося в подчиненном отношении, в главном


отношении должная найтись запись с таким же значением первичного ключа.

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


удалений.

Транзакция

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

Нормализация

Нормализация- это метод организации реляционной базы данных с целью сокращения избыточности
данных.

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

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

Цель нормализации: структура базы данных должна обеспечивать принцип «По одному факту в одном
месте».

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

Нормализация определяется в виде наборов правил, известных как нормальные формы:

 1 НФ – первая нормальная форма


 2НФ
 3НФ
 НФБК- нормальная форма Бойса-Кодда (Рэй Бойс и Эдгард Кодд)
 4НФ

Каждая следующая нф основана на предыдущей форме.

Нормализация:

 Позволяет снизить избыточность данных


 Приводит к улучшению целостности данных
1НФ:
Требует:

 Любая запись таблицы должна содержать описание одной сущности


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

Дата Сотрудник 1 Сотрудник 2 Сотрудник 3

Дата Сотрудники
 Значения в ячейке не должно содержать групп значений

ФИО День недели Номер пары Дисциплина Группа


преподавателя
Миронов Илья Понедельник 1 Математика ЗИ-120
Ильич Вторник 1 Геометрия ЗИ-121
Котов Матвей Понедельник 2 Физика ЗИ-120
Иванович Среда 2 Физика КС-143

Фамилия Имя Отчество День недели Номер Дисциплина Группа


преподавателя преподавателя преподавателя пары
Миронов Илья Ильич Понедельник 1 Математика ЗИ-120
Миронов Илья Ильич Вторник 1 Геометрия ЗИ-121
Котов Матвей Иванович Понедельник 2 Физика ЗИ-120
Котов Матвей Иванович Среда 2 Физика КС-143

2НФ
2НФ требует, чтобы Отношение находилось в 1НФ и все столбцы зависели от полного первичного
ключа, а не от его частей.

Во 2нф подразумевается использование составного первичного ключа.

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

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

Фамилия 1 Первичный ключ


Имя 1
Отчество 1
Должность 2 Таблица во второй нф
Группа 2
Отдел 2 Т1= фамилия, имя, отчество, должность,
Раб телефон 2 дата устройства на работу
Зарплата 2 Т2= фамилия, имя, отчество, город,
Дата устройства адрес, дом телефон
на работу
Т3=должность, группа, отдел, раб
Город 1 телефон, зарплата
Адрес 1
Дом телефон 1
3НФ
Транзитивной зависимостью называется зависимость не ключевых полей от столбца не являющимся
первичным ключом.

Отношение находится в 3нф тогда и только тогда, когда оно находится во 2нф и не содержит
транзитивных отношений.

Пример нарушения 3нф.

№ студ билета ФИО Группа Специальность Отделение


101 Балуев Н.Д ПО-321 ПКС ОИТ
102 Валуев И.Б ПО-321 ПКС ОИТ
103 Конев М.З ПО-321 ПКС ОИТ
Для приведения отношения к 3нф следует разбить его на таблицы со структурой:

Т1= №с туд билета, фио, группа

Т2= группа, специальность, отделение

Т3=должность, группа, отдел, раб телефон, зарплата


Приведём к 3нф

Т3=должность, зп, группа

Т4= группа, Отдел, раб телефон

Нормальная форма Бойса-Кодда


Отношение находится в НФБК, если оно находится в 3нф и каждый детерминант является возможным
ключом отношения.

Детерминантом наз сложный потенциальный ключ.

Детерминанты в отношении должны иметь хотя бы один общий атрибут.

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

Пример:

Имеется отношение, отражающее сдачу студентами экзаменов сессии, со схемой = № зач книжки, №
студ билета, дисциплина, дата, оценка

Первичным ключом отношения может быть:

Ключ 1= № зач книжки, дисциплина, дата.

Ключ 2= № студ билета, дисциплина, дата.

Неизбежного повторения можно избежать, разделив это оношения на два других со схемами:

1 вариант:

Т1 = № зач книжки, дисциплина, дата, оценка.

Т2= № зач книжки, № студ билета.

2 вариант:

Т1 = № студ билета, дисциплина, дата, оценка.

Т2= № зач книжки, № студ билета.


4НФ
4НФ применяется лишь к промежуточным таблицам, создаваемым для преобразования отношений
«многие-ко-многим».

Таблица нарушает требованиям 4нФ, если служит мостом между более чем двумя таблицами.

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

Следствием полной нормализации является переизбыток таблиц.

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

Вам также может понравиться