Основные понятия систем базы данных

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

Рубрика Программирование, компьютеры и кибернетика
Вид лекция
Язык русский
Дата добавления 18.09.2016
Размер файла 29,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

БЕЗОПАСНОСТЬ СИСТЕМ БАЗ ДАННЫХ

Лекция 1. Основные понятия систем базы данных

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

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

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

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

I. По модели данных.

1. Иерархические;

2. Сетевые;

3. Реляционные;

4. Объектно-ориентированные;

5. Обьектно-реляционные;

II. По способу доступа БД.

1. Файлсерверный;

2. Клиентсерверный;

3. Встраиваемые.

Основные функции СУБД

1. Непосредственное управление файлами БД.

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

2. Управление буферами оперативной памяти.

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

3. Управление транзакциями.

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

4. Журнализация.

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

5. Поддержка языков БД.

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

Типовая организация современной СУБД

1. Ядро.

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

2. Компилятор языка.

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

3. Утилиты БД.

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

Лекция 2. Введение в реляционную модель данных

Реляционный подход к организации БД был заложен в конце 1960-х годов Эдгаром Коддом. В современности данных подход является одним из распространенных.

Достоинствами реляционного подхода являются:

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

Основные понятия реляционных баз данных

1. Тип данных;

2. Домен;

3. Атрибут;

4. Кортеж;

5. Отношение;

6. Первичный ключ.

Тип данных

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

Домен

В общем виде домен определяется путем задания некоторого базового типа данных, к которому относятся элементы домена и произвольного логического выражения, применяемого элементу этого типа данных (ограничение домена). Элемент будет являться элементом домена только в том случае, если вычисления ограничения домена дает результат ИСТИНА. С каждым доменом связываются Имя уникальной среди имен всех доменов и соответствующей базе данных.

Заголовок отношения, кортеж, тело отношения, значение отношения, переменная отношения

Заголовком схемы отношения r отношение (Hr) называется конечное множество <A, T>, где A - имя атрибута, Т обозначает имя некоторого базового типа или ранее определенного домена. По определению требуется, чтобы все имена атрибутов в заголовке были различны.

Кортежем tr соответствующим заголовку Hr называется множество упорядоченных триплетов вида: <A, T, v>, где v должен являться допустимым значением типа данных или домена.

Телом Br называется произвольное множество кортежей tr.

Значением Vr называется пара множества Hr и Br. Заголовок и тело данных.

Первичный ключ

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

Фундаментальные свойства отношений

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

2. Отсутствие упорядоченности кортежей.

3. Отсутствие упорядоченности атрибутов.

4. Атомарность значения атрибутов. Значения всех атрибутов являются атомарными. Это следует из определения домена, как потенциального множества значений скалярного типа. То есть среди значений домена не могут содержаться значения с видимой структурой, в том числе множества значений. Главное в атомарности значений атрибутов состоит в том, что реляционная СУБД не должна обеспечивать пользователю явновидимой структуры внутренних данных.

Типы данных

Целые числа Строки символов Деньги Номера отделов

Домены (кроме первичного ключа)

Перв.ключ и номера проп-ов. Имена Размеры зарплат Номера отделов

Атрибуты

СЛУ_НОМЕР

СЛУ_ИМЯ

СЛУ_ЗАРП

СЛУ_ОТД_НОМЕР

<- Заголовок отношения

2934

Иванов

22000.00

310

Кортеж

Тело

2935

Петров

30000.00

310

Кортеж

Данных

2936

Сидоров

18000.00

313

Кортеж

Отношения

Лекция 3. Реляционная алгебра и нормализация

Базисные средства манипулирования реляционными данными составляющие определяются 2 базовых механизма манипулирования реляционными данными.

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

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

В состав теоретико-множественных операций входят:

объединение

пересечение

разность

прямое произведение

Специальные операции:

ограничение отношений

проекция отношений

соединение отношений;

деление отношений;

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

Общая интерпретация рел. операций:

1) При выполнении операции объединения двух отношений, производится отношение, включающих все кортежи, входящее в хотя бы одно из отношений операндов.

2) Операция пересечений двух отношений производит отношение, включающее все кортежи, входящие в оба отношений операндов.

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

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

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

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

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

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

9) Операция переименования производит отношение, тело которого совпадает с телом операнда, но имена атрибутов изменены.

10) Операция присваивания позволяет сохранить результат вычисления рел выражения, в существующем отношении БД.

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

Понятие совместимости отношений об объединений

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

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

Специальные реляционные операции

Операция ограничения. Требует наличие двух операндов, ограничиваемых отношений и простого условного ограничения.

a comp-on b - ....

a comp-on const - литерально заданная константа

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

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

Операция деления отношений. Результатом деления а на b являются унарные отношения,состоящий из кортежей v таких что в отношении кортежей <v, W> множество {w}включает множество значений...

Проектирование реляционных БД

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

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

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

1 норм форма

2 норм форма

3 норм форма

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

4 нормальная форма

5 нормальная форма или нормальная форма проекции соединения.

Основные свойства норм форм:

каждая след нф в некотором смысле лучше предыдущей.

при переходе к след нф свойства предыдущих нф сохраняются.

Определение 1. Функциональная зависимость в отношении r атрибут y функционально зависит от атрибута х только в том случае, если каждому значению х соответствует в точности одно значение у.

Полная функциональная зав-ть r(x) r(y) если y не зависит функционально от любого точного значения х.

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

Неключевой атрибут - любой атрибут отношения, невходящий в состав первичного ключа.

Взаимнонезависимые атрибуты (2 или более) - если не один из этих атрибутов не является функционально зависимым от других.

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

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

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

СОТРУДНИК

ОТДЕЛ

ТЕЛЕФОН

ИВАНОВ

БУХГАЛТЕР

111-111

ПЕТРОВ

БУХГАЛТЕР

111-111

СИДОРОВ

СНАБЖЕНЕЦ

222-222

Лекция 4. Операторы языка SQL

SELECT служит для получения любого количества данных из одной или нескольких таблиц. В общем случае результатом выполнения предложения SELECT ЯВЛЯЕТСЯ ДРУГАЯ ТАБЛИЦА К этой новой таблице вновь может быть применена операция SELECT И так далее

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

2) как элемент WHERE или HAVING условия. Это называется ложным запросом

3) фраза выбора в командах CREATE VIEW DECLARE CURSOR INSERT

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

Имеет следующий формат.

SELECT [[ALL | DISTINCT] выбрать данные и выполнить перед их выводом преобразования в соответствии с указанными выражениями и или функциями

Элемент, -\\-} FROM перечисление.......

базовая таблица | представления],

--\--

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

[GROUP BY [HAVING] фраза]

GROUP BY - операция по группировке по указанному перечню столбцов, с тем, чтобы получить для каждой группы единственное агрегированное значение.

HAVING - условие фильтрации по группам.

5. Простая выборка.

* служит псевдонимом для

выбор конкретного поля

Исключение дубликатов. Для исключения дубликатов и одновременного упорядочивания перечня применяется запрос с ключевым словом DISTINCT.

Выборка вычисляемых значений.

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

p1 p2

4 5

6 8

SELECT P1*P2

FROM T;

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

WHERE P1 = 6 AND P2 = 8

Можно использовать BETWEEN для выборки значений в интервале.

BETWEEN 5

AND 10

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

Использование оператора IN.

IN (3, 4, 5) <=> P1= 3 OR P1 = 4 OR P1 = 5

Использование LIKE

Данный оператор позволяет отыскать все значения указанного столбца, соответствующий образцу.

_ - заменяет любой одиночный символ.

% - заменяет любую последовательность из n символов.

Вовлечение неопределенного значения (NULL). Для проверки неопределенного значения используется IS.

Выборка с упорядочиванием. Для сортировки данных используется оператор ORDER BY. Можно упорядочить по возрастанию по умолчанию. Ключевое слово ASC позволит сортировать по убыванию.

ORDER BY P1

ASC | DESC

ID f N

1 A C

2 B B

3 A B

SELECT * FROM t

ORDER BY f, N;

3 A B

1 A C

2 B B

Агрегирование данных

В SQL существует ряд стандартных функций. Кроме специального случая COUNT *, каждый из этих функций ... столбца некоторой таблицы и создаёт несколько значений.

COUNT - количество значений в столбце

SUM - сумма значений в столбце

AVG - среднее значение в столбце

MIN

MAX

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

А COUNT* служит для подсчета всех строк в таблице с дубликатами.

Если не используется фраза GROUP BY то в SELECT можно включать лишь SQL функции или выражения, содержащие такие функции.

SELECT SUM(P1),

MIN(P2)

FROM t;

Фраза GROUP BY

Инициирует перекомпоновку указанных во FROM таблицы по группам, каждая из которых имеет одинаковые значения в столбце, указанном в GROUP BY. Данная фраза не предполагает сортировки.

Фраза HAVING играет такую же роль для групп, что и WHERE для строк. Те используется для исключения групп.

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.