
- •Общие характеристики:
- •Основные функции субд:
- •2 Вариант: бд размещаются на сервере сети (удаленные), а приложения - на компьютере пользователя. Такая архитектура называется клиент – сервер.
- •Файл-сервер
- •Клиент-сервер.
- •Исследование предметной области
- •Типы денормализации
- •Язык структурированных запросов sql, общие характеристики.
- •Основы синтаксиса sql.
- •Типы данных sql.
- •Interval - тип данных для хранения временного интервала.
- •Архитектура Microsoft sql Server
Информационные системы, базы данных, основные понятия; базы и банки данных. Системы управления базами данных (СУБД). Классификация СУБД. Общие характеристики сетевой, иерархической, реляционной моделей данных. Основные объекты СУБД, функции СУБД.
Информационные системы - это ресурсы, которые позволяют выполнять сбор, корректировку и распределение информации внутри организации. Типичная ИС включает следующие компоненты:
- БД
- ПО БД
- Прикладное ПО
- Аппаратное обеспечение, в том числе и устройства хранения
- Персонал
БД является основным компонентом ИС, жизненный цикл ИС обычно состоит из нескольких этапов:
- Планирование
- Сбор и анализ требований
- Проектирование
- Преобразование данных и сопровождение
Банк данных - автоматизированная информационная система централизованного хранения и коллективного использования данных. В состав банка данных входят одна или несколько баз данных, справочник баз данных, СУБД, а также библиотеки запросов и прикладных программ.
База Данных – обеспечивает хранение информации и представляет собой совокупность данных, организованных по определенным правилам. БД позволяет структурировать, хранить и обрабатывать данные различного типа.
Основными функциями банка данных (БнД) являются:
Хранение информации, ее защита и восстановление после сбоев в работе.
Периодическое изменение хранимых данных.
Поиск и отбор необходимых данных по запросам пользователей и прикладных программ.
Обработка найденных данных и вывод результатов в заданной форме.
Основными особенностями банков данных являются многократное использование одной и той же информации для решения различных задач, независимость данных от прикладных программ.
Структуру банка данных можно представить в виде рис. 1:
Следовательно, банк данных состоит из следующих компонентов:
1. Базы данных – именованной совокупности данных, организованных по определенным правилам, предусматривающим общие принципы описания, хранения и манипулирования данными.
2. Системы управления базами данных (СУБД) – комплекса программных и языковых средств, предназначенных для создания, ведения и использования баз данных.
3. Словаря (справочника) базы данных – информации о базе данных, используемой СУБД для доступа к хранимой в ней информации
БД – обеспечивает хранение информации и представляет собой совокупность данных, организованных по определенным правилам. БД позволяет структурировать, хранить и обрабатывать данные различного типа.
СУБД – совокупность языковых и программных средств, предназначенных для создания, ведения и использования баз данных (БД). СУБД могут быть персональными, которые обеспечивают ведение локальных БД (такие как dBase, FoxPro, Paradox и др.), и многопользовательскими, которые позволяют создать информационные системы, функционирующие в архитектуре клиент – сервер (такие как Oracle, InterBase, SQL – Server и др.).
Разные СУБД по-разному организуют и хранят БД.
Языковые средства СУБД включают:
язык описания данных (для описания логической структуры данных);
язык манипулирования данными – обеспечивает основные операции над данными;
структурированный язык запросов (SQL) – обеспечивает управление структурой БД, манипулирование данными и доступ к удаленным БД;
язык запросов по образцу (QBE) – обеспечивает визуальное конструирование запросов к БД.
Общие характеристики:
Сетевая - в сетевой модели данные организуются в виде графа; сетевая модель характерна внутренними ссылками. Недостатком является жесткость структуры и сложность ее организации.
И
ерархическая
- в иерархических моделях данные
представляются в виде древовидной
структуры; удобна для работы с данными,
упорядоченными иерархически. При
оперировании данными со сложными
логическими связями оказывается слишком
громоздкой.
Реляционная: реляционная модель БД – это совокупность таблиц, связанных отношениями; достоинствами являются: простота и гибкость структуры.
Таблица – это совокупность строк, имеющих строго определенную структуру в виде последовательности столбцов (полей). Каждая таблица состоит из однотипных строк и имеет уникальное имя. Строки имеют фиксированное число полей (столбцов) и значений, т.е. на пересечении строки и столбца всегда имеется только одно значение или ничего. Строка соответствует одному экземпляру объекта, поля представляют характеристику объекта. Строки таблицы отличаются друг от друга хотя бы одним значением, что позволяет однозначно идентифицировать строку. Каждый столбец имеет уникальное имя (в пределах одной таблицы) и в них размещаются однородные данные. При выполнении операций с таблицей ее строки и столбцы можно обрабатывать в любом порядке. Этому способствует наличие имен таблиц и столбцов, а также возможность выделения любой строки или набора строк по заданному критерию. При вводе значения в поле выполняется автоматическая проверка соответствия типа значения и типа поля, и в случае не совпадения, генерируется исключительная ситуация. Для таблиц могут определяться ключи и индексы. Ключ – комбинация полей, однозначно определяющих запись в таблице.
Основные функции субд:
управление данными во внешней памяти (на дисках);
управление данными в оперативной памяти с использованием дискового кэша;
журнализация изменений, резервное копирование и восстановление базы данных после сбоев;
поддержка языков БД (язык определения данных, язык манипулирования данными).
«Толковый словарь по вычислительным системам»:
Банк данных – это система, предоставляющая услуги по хранению и поиску данных определенной группе пользователей и по определенной тематике (например, биологические виды, статистика торговли, цены на товары).
Государственного комитета по науке и технике (ГКНТ):
Банк данных – это система специальным образом организованных данных (баз данных), программных, технических, языковых, организационно-методических средств, предназначенных для обеспечения централизованного накопления и коллективного многоцелевого использования данных.
Сущность и принципы реляционной модели данных. Реляционные таблицы; домены, кортежи, атрибуты. Логические связи в реляционной модели. Схема отношения. Виды ключей в реляционной модели данных. Первичные и внешние ключи. Логические части реляционной модели; ограничения целостности.
Реляционная модель БД – это совокупность таблиц, связанных отношениями; достоинствами являются: простота и гибкость структуры. Таблица – это совокупность строк, имеющих строго определенную структуру в виде последовательности столбцов (полей). Каждая таблица состоит из однотипных строк и имеет уникальное имя. Строки имеют фиксированное число полей (столбцов) и значений, т.е. на пересечении строки и столбца всегда имеется только одно значение или ничего. Строка соответствует одному экземпляру объекта, поля представляют характеристику объекта. Строки таблицы отличаются друг от друга хотя бы одним значением, что позволяет однозначно идентифицировать строку. Каждый столбец имеет уникальное имя (в пределах одной таблицы) и в них размещаются однородные данные. При выполнении операций с таблицей ее строки и столбцы можно обрабатывать в любом порядке. Этому способствует наличие имен таблиц и столбцов, а также возможность выделения любой строки или набора строк по заданному критерию. При вводе значения в поле выполняется автоматическая проверка соответствия типа значения и типа поля, и в случае не совпадения, генерируется исключительная ситуация. Для таблиц могут определяться ключи и индексы. Ключ – комбинация полей, однозначно определяющих запись в таблице.
Домен – это описание какого-либо столбца; абстрактное понятие; физически как такового домена не существует. Если в таблице БД или в нескольких таблицах БД присутствуют столбцы, обладающие одними и теми же характеристиками, можно предварительно описать тип такого столбца и его поведение через домен, а затем поставить в соответствие каждому из одинаковых столбцов имя домена.
Атрибут – это свойство сущности. Каждая сущность должна иметь свойства, которые ее описывают. Некоторые свойства не только описывают сущность, но и уникальным образом ее идентифицируют. Их называют первичными ключами. Следует различать атрибуты и экземпляр атрибута, например, регистрационный номер автомобиля – это атрибут, а 180 EOD – это экземпляр атрибута.
Картеж- строка таблицы.
Таким образом, в реляционной модели отношение можно представить как произвольное подмножество декартового произведения доменов атрибутов. Тогда как таблицы - это лишь физическое представление такого отношения.
Сущность – это особый класс реальных вещей или явлений (объектов); свойство сущности называется атрибутом; некоторые свойства не только описывают сущность, но и уникальным образом идентифицируют ее, их называют первичными ключами.
Отношение - связь между двумя сущностями. Реляционная модель поддерживает единственную логическую структуру, которая называется отношением. Это двумерная структура данных, соответствующая таблице, где не повторяется ни одна строка. Поля характеризуют неделимые элементы данных, которые связаны отношением. М/ду отношениями (таблицами) через общие атрибуты формируются связи. Эти общие атрибуты называют ключами. Механизм для реализации отношений – это ограничение целостности по внешнему ключу.
М/ду таблицами БД м/т существовать отношения подчиненности. Они определяют, что для каждой записи главной (родительской) таблицы может существовать одна или несколько записей в подчиненной (дочерней или вспомогательной) таблице.
Связь «один – ко – многим» - когда одной записи родител таблицы может соответствовать несколько записей в дочерней таблице. «Один – к – одному» - когда одной записи родит таблицы соответствует одна запись дочерней. «Многие – ко – многим» - когда одной записи родит таблицы соот-ет несколько записей дочерней таблицы и одной записи дочерней таблицы соответствует несколько записей родительской. М/ду записями одной таблицы также может сущ-ть связь, т.е. одни записи могут ссылаться на другие.
Между сущностями существуют реальные отношения. Например, Вы и ваш автомобиль связаны: Вы для него владелец.
На диаграммах сущности представляются в виде прямоугольника с именем в верхней части.
Автомобиль
А1
А2
А3
В прямоугольнике могут быть перечислены атрибуты сущности. Первичный ключ подчеркивается. Отношения изображаются линией между двумя сущностями.
«
один»; (обязательная сторона);
«
много»;
- необязательная сторона.
Автомобиль может быть зарегистрирован только на одно лицо, но на одно лицо может быть зарегистрировано несколько автомобилей.
Если атрибут имеет для сущности особое значение, он делится на ее типы, а сущность делится по этим категориям. Полученные в результате сущности называют подтипами, а исходная сущность – супертипом. Чем меньше подтипы имеют одинаковых свойств, тем необходимее супертип. Если сущность можно включить в более чем один подтип, то считается использование подтипов недопустимым. Подтипы должны быть атомарными сущностями супертипа. Подтипы должны быть взаимоисключающими, и не может существовать экземпляр подтипа, не принадлежащий супертипу.
Супертип
подтипы
Владелец автомобиля является супертипом. Его можно разбить на подтипы: физическое лицо и юридическое лицо. Такие отношения называются «наследованием», т.к. сущности-подтипы наследуют характеристики супертипа.
Приведенная диаграмма реализует отношение «один-ко-многим».
Отношение «многие-ко-многим» в реляционной модели реализовать нельзя!.
Для
ее реализации вводится промежуточная
сущность: «сущность-пересечение». Ее
первичный ключ образуется из атрибутов
связываемых ею кардинальных сущностей.
Большое значение имеет порядок составления
ключа. Эта сущность не имеет атрибутов,
только отношения. Такое отношение
называется зависимым.
Рассмотрим страховку водителя. С одной стороны страховка водителя может предусматривать управление несколькими автомобилями, а с другой стороны страховка автомобиля может предусматривать управление им несколькими водителями.
Такая сущность не живет самостоятельно. Если удаляется одна из ее частей, то сущность теряет смысл. Для реализации удаления нужно определить правила, например, ограничение по внешним ключам препятствует удалению владельца, если есть дочерние элементы. Правило каскадного удаления приведет к удалению дочерних элементов вместе с их родителями.
Первичный ключ – атрибут или группа атрибутов, который уникально идентифицирует строку в таблице. Каждая таблица имеет первичный ключ и, причем, единственный. Внешние ключи используются в таблице, которая является подчиненной по отношению к другой таблице. Связь между таблицами обычно организуется с помощью атрибута, общего для таблиц. Этот общий атрибут является первичным ключом для одной таблицы и внешним ключом для другой. В дополнение к первичным ключам можно определять вторичные ключи. Их применение повышает производительность. При наличии таких ключей поиск строк в таблицах происходит не последовательно, а с использованием алгоритма бинарного дерева. Запись в таблице, таким образом, может идентифицироваться по любому из ключей: первичному или вторичному.
Индексы – это упорядоченный список содержимого столбца или группы столбцов таблицы. Индексы предназначены обеспечить проблему поиска по значению какого-либо из полей. При индексации по нескольким полям, они должны быть указаны в порядке приоритета. Сущность индекса состоит в том, что они хранят значения индексных полей и указатель на запись в таблице.
Каждый столбец таблицы БД обладает рядом свойств, которые диктуют, что в нем может храниться. Этими свойствами являются: тип, размер и ограничения. Самое главное при выборе типа данных – обеспечение непротиворечивости. Реком-тся исп-ть для целых чисел NUMBER(nn), а для чисел с плавающей точкой – FLOAT(nn). Char – строка фиксированной длины (от 1 до 255); рек-ся использовать для одно-символьных строк. VarChar2 – строка переменной длины; максимальное значение 2000 символов.Для хранения больших текстов, графиков, звука и др. используется тип BLOB. Строки нулевой длины Oracle трактует как ошибочные.
Модель данных имеет управляющую часть которая определяет типы дополнительных операций над данными и набор ограничений целостности которые гарантируют корректность данных. Рассмотрим ограничение целостности данных т.к каждый атрибут связан с некоторым доменом для множества доп. Значений каждого атрибута определяется так называемые ограничения домена кроме того задаются 2 важных правила целостности.
Целостность сущности
Ссылочная целостность
Первое ограничение целостности касается первичных ключей баз. отношений.
Базовое отношение- поименованное отношение соот-ее сущности в концептуальной схеме, картежи которого физически хранятся в БД. Целостность сущностей- это когда в баз. Отношении ни один атрибут первичного ключа не может содержать отсутствующих значений обозначаемых определителем NULL.
Второе ограничение целостности касается внешних ключей.
Ссылочная целостность- это если в отношении сущ-ет внешний ключ, то значении внешнего ключа должно либо соот-ть значению первичного ключа его базового отношения либо задаваться определителем NULL. Ссылочная целостность - это механизм, обеспечивающий актуальность данных, которые содержатся во внешних ключах подчиненных таблиц и первичных ключах главных таблиц. Ссылочная целостность контролирует правильность ссылки и блокирует выполнение ошибочных операций. Поддержание целостности БД рассматривается как защита данных от неверных изменений или разрушений. Чтобы предотвратить потерю ссылочной целостности, используется механизм каскадных воздействий. Он состоит в обеспечении следующих требований: запрет на изменение «поля связи» в дочерней таблице без синхронного изменения «поля связи» в родит; при изменении значения «поля связи» родит таблицы следует синхронно изменить значение «поля связи» в соотв-их записях дочерних таблиц; при удалении записи в родит таблице следует удалить соответствующие записи в дочерних таблицах.
Архитектуры файл-сервер, клиент-сервер, основные принципы и характеристики. Примеры серверных СУБД.
В зависимости от расположения таблиц и приложений БД могут быть локальными и удаленными. Локальные БД располагаются на том же компьютере, что и приложения; работа происходит в однопользовательском режиме
При многопользовательском режиме рассматриваются два варианта работы с БД:
1 вариант: БД и приложения располагаются на сервере, при этом на компьютере «запускается» копия приложения. Такой вариант соответствует архитектуре файл – сервер. Когда пользователь работает с БД, на его компьютере появляется локальная копия, которая периодически обновляется. Такая архитектура используется, когда в сети немного рабочих станций.
Н
едостатки
такого варианта:
каждый пользователь работает со своей локальной копией. При каждом запросе с сервера пересылается новая копия всей БД, даже если нужны всего несколько записей. В результате возникает перегрузка в сети, что снижает быстродействие и производительность;
изменения, сделанные одним пользователем, в течение некоторого времени неизвестны другим пользователям. Кроме того необходима синхронизация работы отдельных пользователей, связанная с блокировкой редактируемых записей;
затрудняется организация контроля доступа, соблюдение конфиденциальности и поддержания целостности БД.
Для управления совместным доступом к БД необходимы специальные средства контроля и защиты.