Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СУБД.docx
Скачиваний:
6
Добавлен:
27.11.2019
Размер:
159.24 Кб
Скачать

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

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

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

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

БД – упорядоченная совокупность данных.

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

Функции СУБД:

  1. Управление буферами ОП

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

  3. Защита от отказов и восстановление данных

  4. Обеспечение различных уровней доступа к данным

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

Выделяют следующие модели данных:

  1. Инфологические

  2. Даталогические

  3. Физические

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

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

Пример семантической сети:

Хищники

Лес

Вода

Щука

Йаааааааааазь

Медведь

Лиса

Животные

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

Раб_телефон

Сорт_имя

Сорт_номер

Нач_телеф

Нач_имя

Нач_Номер

Отдел_зарплата

Отдел_размер

Отдел_номер

Пример иерархической модели.

О.3

О.6

О.5

О.2

О.8

О.7

О.4

О.1

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

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

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

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

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

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

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

Имя



Запись

Поле

Поля – это различные характеристики (атрибуты объекта). Значение полей в одной строчке(записи) относятся к одному объекту. Разные поля отличаются именами, разные записи различаются значениями ключей. Главным ключом в БД называется поле или совокупность полей, которые не могут повторятся у разных записей.

Табличная организация данных

Игрушки

Название

Материал

Цвет

Количество

Мячи

Дерево

Красный

75

Кубики

Дерево

Голубой

20

Куклы

Пластмасса

Зеленый

34

Объекты

Игрушки (мячи, кубики, куклы)

Запись

Информация об одном объекте (кубики, дерево, голубой)

Поле

Характеристика (атрибуты) объекта (резина, дерево, пластмасса)

Имя поля

Название поля, вынесенное в заголовок (материал)

Простой ключ – ключ, определяющийся по одному полю.

Составной ключ – по совокупности полей (два или более).

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

  1. Числовой

  2. Символьный

  3. Дата

  4. Логический

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

Характеристики компьютера: тактовая частота процессора, объем ОП, объем жесткого диска.

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

Автомобиль: марка, страна изготовитель, тип кузова.

Тап дата имеют поля, содержащие календарные даты в форме дд.мм.гггг или мм.дд.гггг.

Логический тип соответствует полю, которое может принимать всего 2 значения: да, нет, или, истина, ложь (true, false) иногда удобно использовать значение 1 и 0.

Требования к организации БД:

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

  2. Минимальные затраты. Низкая стоимость хранения и использования данных и минимальные затраты на внесение изменений.

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

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

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

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

  7. Безопасность и секретность. Защита от случайного или преднамеренного доступа к данным лиц, не имеющих на это право.

Отсутствующие данные

В СУБД для определения отсутствующих данных описаны 2 вида значений: пустое значение и неопределенной (NULL).

Пустые значения – это в первую очередь одно из множества возможных значений какого-то вполне определенного типа данных, например 0 является пустым значением для числового типа данных, false является пустым для логического типа данных, «» - пустое значение для строки. В приведенных случаях можно определить пустое значение путем сравнения имеющегося значения с константой пустого значения, определенной для типа данных. Но СУБД в силу реализованных в них схем долговременного хранения работают только со строками постоянной длинны, поэтому строку, относящуюся к символьному типу и состоящую из набора пробелов следует относить к пустой строке. Операция сравнения будет подтверждать это. Во многих СУБД для проверки на пустоту реализована логическая функция и записан ISEMPTY, оператор указывается в скобках. Если такой функции в СУБД нет, то применяется простая функция сравнения.

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

  1. В течении времени понимание этого значения может меняться, например, если указать в рассмотренной выше таблице поле «номер паспорта», то до наступления совершеннолетия значение NULL будет рассматриваться как отсутствует, после наступления – как не указано.

  2. NULL значение может быть присвоено переменой или константе любого типа

  3. Результатом в любых операциях над выражением с NULL значением, будет NULL значение.

NULL значение и общие правила вычисления выражений с ним: общее правило вычисления с NULL значениями, применятся в следующих случаях:

  1. К арифметическим

  2. К побитным операциям

  3. К операциям над строками

  4. К операциям сравнения

При сложении числового значения со значением NULL будет получаться NULL. При делении числового значения на NULL получается NULL. При сложении строки и значения NULL будет получаться NULL.

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

Логические операции с неопределенном значении. При сравнении 2-х значений типа NULL результатом сравнения будет не true, не false, а неизменная неопределенность. При сравнении NULL значений с какими-либо определенными значениями результатом также будет являться неопределенное значение. Для проверки выражений данного значения используется специальная функция ISNULL.

Требования к табличной форме предоставления данных в реляционной БД:

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

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

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

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

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