Содержание
-
Базы данных
-
План
- Понятие БД
- Архитектура БД
- Модели данных
- Нормальные формы
- Операции реляционной алгебры
- Операции языка SQL
- СУБД
-
То, как человек собирает, управляет и использует информацию, будет определять, окажется ли он в выигрыше или в проигрыше.
Билл Гейтс, глава компании Microsoft.
-
Увеличение объемов данных на примере состояния морской среды
Рост потоков информации так велик, что его часто называют информационным взрывом.
-
Оценки объемов данных по некоторым разделам наук о земле в России
-
Общее определение базы данных
В широком смысле слова база данных – это совокупность сведений о конкретных объектах реального мира в какой-либо предметной области.
Предметная область – часть реального мира, подлежащего изучению для организации управления и автоматизации, например, предприятие, вуз и т.д.
-
Пример неструктурированных данных
Сложно организовать поиск необходимых данных, хранящихся в неструктурированном виде, а упорядочить подобную информацию практически не представляется возможным.
-
Пример структурированных данных
Структурирование– это введение соглашений о способах представления данных.
-
Определение базы данных
База данных (БД) – это поименованная совокупность структурированных данных, относящихся к определенной предметной области.
Система управления базами данных (СУБД) – это комплекс программных и языковых средств, необходимых для создания баз данных, поддержания их в актуальном состоянии и организации поиска в них необходимой информации.
-
Классификация баз данных
Технология обработки данных.
Централизованные:
хранится в памяти одной вычислительной системы, которая может быть мэйнфреймом (доступ с помощью терминалов) или файловым сервером локальной сети.
Распределенные:
состоит из нескольких частей, которые хранятся в различных ЭВМ вычислительной сети.
-
Способ доступа к данным:
- С локальным доступом
- С сетевым доступом
-
Централизованные базы данных с сетевым доступом могут иметь следующую архитектуру:
- файл-сервер
- клиент-сервер
- двухуровневая модель
- трехуровневая модель
-
Архитектура файл-сервер
-
1. Ввод и отображение данных2. Доступ к данным и поиск покритериям3. Реализация вычислительных функций над данными
Архитектура файл-сервер
-
Достоинства и недостатки архитектуры файл-сервер
Достоинства:
1. Отсутствие высоких требований к производительности сервера (главное – требуемый объем дискового пространства)2. На сервере СУБД не размещается и не инсталлируется
Недостатки:
1. Высокий сетевой трафик2. Отсутствие специальных механизмов безопасности файла (файлов) БД со стороны СУБД
Достоинства и недостатки архитектуры файл-сервер
-
Архитектура клиент-сервер
-
Последовательность действий при использовании архитектуры клиент-сервер
1. Регистрация на сервере при входе в клиентскую часть2. Формирование SQL-запроса и его отправка SQL-серверу3. Выполнение полученного SQL-запроса и отправка наборов данных серверу4. Реализация вычислительных функций над полученным набором данных
-
Архитектура клиент-сервер
1. Ввод и отображение данных2. Реализация вычислительных функций над наборами данных
1. Хранение файла БД2. Доступ к данным и поиск по определенным критериям
-
Достоинства и недостатки архитектуры клиент-сервер
Достоинства:
1. Более низкий трафик сети, чем в модели файл-сервер2. SQL-сервер обеспечивает функции по обеспечению целостности и безопасности данных
Недостатки:
1. В определенных случаях некоторые наборы данных могут занимать достаточно существенный объем
-
Двухуровневая архитектура
1. Ввод и отображение данных
3. Реализация вычислительных функций над наборами данных2. Доступ к данным и поиск по критериям1. Хранение файла БД
-
Достоинства и недостатки двухуровневой архитектуры
Достоинства:
1. Существенное снижение трафика сети по сравнению с моделью клиент-сервер2. Высокая надежность хранения и обработки данных
Недостатки:
1. Высокие требования к вычислительной установке сервера по объему дискового пространства и быстродействия
Достоинства и недостатки двухуровневой архитектуры
-
Трехуровневая архитектура
Трехуровневая архитектура
Трехуровневая архитектура (трёхзвенная архитектура) предполагает наличие следующих компонентов приложения: клиентское приложение ("тонкий клиент" или терминал), подключенное к серверу приложений, который в свою очередь подключен к серверу базы данных.
-
Достоинства трехуровневой архитектуры
1. Изолированность уровней друг от друга позволяет (при правильном развертывании архитектуры) быстро и простыми средствами переконфигурировать систему при возникновении сбоев или при плановом обслуживании на одном из уровней2. Высокая безопасность3. Низкие требования к скорости сети между терминалами и сервером приложений4. Низкие требования к производительности и техническим характеристикам терминалов, как следствие снижение их стоимости
-
Недостатки трехуровневой архитектуры
1. Высокие требования к производительности серверов приложений и сервера базы данных, а, значит, и высокая стоимость серверного оборудования2. Высокие требования к скорости сети между сервером базы данных и серверами приложений3. Более сложные операции разворачивания и администрирования
-
Модели данных
Хранимые в базе данные имеют определенную логическую структуру – описываются некоторой моделью представления данных (моделью данных), поддерживаемой СУБД.
Модель данных определяет способ организации данных, ограничения целостности и множество операций, допустимых над объектом.
Модели данных
-
К числу классических относятся следующие модели данных:
- иерархическая
- сетевая
- реляционная
Модели данных
-
Иерархическая модель данных
Иерархическая модель была разработана исторически первой.
На основе данной модели в конце 60 – начале 70 гг. была создана первая профессиональная СУБД IMS фирмы IBM.
Иерархическая модель данных
-
Связи между данными описываются с помощью упорядоченного графа или дерева.
-
Иерархическая модель данных
-
Достоинство и недостатки иерархической модели
Достоинство:
1. Достаточно высокие показатели времени выполнения операций над данными
Недостатки:
1. Сложность понимания для обычного пользователя2. Присутствие избыточности
-
Сетевая модель данных
Связи между данными описываются с помощью произвольного графа.
-
Сетевая модель данных
-
Достоинства и недостатки сетевой модели
Достоинства:
1. Минимальная избыточность2. В сравнении с иерархической моделью сетевая модель предоставляет большие возможности в смысле допустимости образования новых связей3. Эффективная реализация по показателям затрат памяти.
Недостатки:
1. Сложность понимания для обычного пользователя2. Ослаблен контроль правильности образования связей
-
Реляционная модель данных
Реляционная модель впервые предложена Эдгаром Коддом в 1970 г.Основывается на понятии отношение (relation). Графически отношение представляется в виде двумерной таблицы.В реляционной СУБД предполагается, что пользователь воспринимает БД как набор таблиц.
-
Примеры реляционных СУБД:
- MicroSoft Access
- Paradox
- dBASE
- FoxPro
- Clarion
- DB2
- Oracle
Последние версии реляционных СУБД имеют некоторые свойства объектно-ориентированных систем. Такие СУБД часто называют объектно-реляционными. Примером такой системы можно считать продукт Oracle 10g.
-
Реляционная модель данных
-
Достоинства и недостатки реляционной модели
Достоинство:
1. Простота и понятность для широкого пользователя, что явилось причиной ее широкого распространения.
Недостаток:
1. Необходимая избыточность из-за связей между таблицами.
Достоинства и недостатки реляционной модели
-
Реляционная модель данных
В реляционной модели существуют альтернативные варианты терминов.
-
Первичный ключ
Ключом отношения, или первичным ключом, называется атрибут отношения (набор атрибутов), однозначно идентифицирующий каждый из его кортежей.
Студент (№ личного дела, Фамилия, Имя, Отчество, Дата рождения, Группа).
-
Внешний ключ
Внешний ключ
Логические связи между отношениями устанавливаются с помощью внешних ключей.
Внешний ключ – это атрибут (набор атрибутов) одного отношения, являющийся ключом другого отношения.
-
Проблема: осуществить в таблице поиск по Фамилии.
-
Индексы
Индексы
Индекс – средство ускорения операции поиска записей в таблице, а также выполнения других операций, использующих поиск (извлечение, модификация, сортировка и т.д.)
-
Виды индексов
Индексы.
Первичный
- Ключевое поле таблицы всегда индексируется, поэтому для него не требуется дополнительно определять индекс.
Вторичный
- Используются для ускорения выполнения запросов.
- Может быть несколько.
- Может входить любое количество полей.
- Одно и то же поле может входить в разные индексы.
-
Проблема формирования отношений
Имена выделенных атрибутов и их краткие характеристики: № - номер личного дела студента Фамилия – фамилия студента Имя –имя студента Дата рождения – дата рождения студента Группа – номер группы, в которой учится студент Специальность – специальность, на которой обучается студент.
Пример: для учебной части факультета создать БД о студентах.
-
Проблема формирования отношений
-
Проблема формирования отношений
-
Нормализация
Нормализация
Нормализация отношений – правила формирования отношений (таблиц), которые позволяют устранить дублирование, противоречивость хранимых в базе данных.
-
Э.Коддом разработаны три нормальные формы отношений и предложен механизм,позволяющий любое отношение преобразовать к третьей нормальной форме.
Нормализация
-
Разбиение отношения
Разбиение отношения
-
Разбиение отношения
-
Проблема формирования отношений
Имена выделенных атрибутов и их краткие характеристики: № - номер личного дела студента Фамилия – фамилия студента Имя –имя студента Дата рождения – дата рождения студента Группа – номер группы, в которой учится студент Специальность – специальность, которой обучается студент Семестр – номера семестров обучения Предмет – предмет, изучаемый студентом Оценка –экзаменационная оценказа предмет.
Пример: для учебной части факультета создать БД о студентах.
-
Проблема формирования отношений
-
Проблема обновления данных.
-
Проблема вставки новых данных.
-
Первая нормальная форма (1НФ)
Первая нормальная форма (1НФ)
Отношение находится в 1НФ, если в каждой ячейке всегда находится единственное атомарное значение, и никогда не может быть множества таких значений.
-
Отношение не находится в 1НФ.
-
Отношение находится в 1НФ.
-
Функциональная зависимость
Функциональная зависимость
Нормализация основывается на наличии функциональной зависимости между атрибутами отношения.
-
Атрибут В отношения функционально зависит от атрибута А того же отношения в том и только томслучае, когда в любой заданный момент времени для каждого из различных значений атрибута А обязательно существует только одно значение поля В. (допускается, что атрибуты А и В могут быть составными)
Функциональная зависимость
-
Диаграмма функциональных зависимостей для примера БД «Студент».
-
Причина избыточности
Причина избыточности:
Фамилия, Имя, Дата рождения,Группа, Специальностьзависят от атрибута № личного дела,являющегося частью составного ключа
-
Вторая нормальная форма (2НФ)
Отношение находится в 2НФ, если оно не содержит неключевых атрибутов, функционально зависящих от части ключа.
-
Причина избыточности
Причина избыточности: транзитивная зависимость между атрибутами отношения№личного дела->Группа ->->Специальность.
-
Третья нормальная форма (3НФ)
Отношение находится в 3НФ, если оно не содержит неключевых атрибутов, транзитивно зависящих от части ключа.
-
Результат проектирования БД «Студент»
Результат проектирования БД «Студент»
-
SQL
Доступ к информации, содержащейся в реляционных базах данных, для пользователей, программ и вычислительных систем обеспечивает язык запросов SQL (Structured Query Language).
-
Достоинства SQL
- Независимость от конкретных СУБД – все распространенные СУБД используют SQL.
- Приложения, созданные с помощью SQL, допускают использование как для локальных БД, так и для клиент-серверных систем.
- Операторы SQL употребляются как для интерактивного, так и программного доступа, поэтому части программ, содержащие обращение к БД, можно вначале проверить в интерактивном режиме, а затем встраивать в программу.
-
Реляционная алгебра
SQL основан на операциях реляционной алгебры.
- Реляционная алгебра – набор операций, выполняемых над отношениями.
- Реляционная алгебра разработана Э.Коддом в рамках реляционной модели
Применяя операции реляционной алгебры к одним отношениям можно получить другие отношения
-
Основные операции реляционной алгебры
- Объединение
-
Объединением двух совместимых по типу отношений А и В называется отношение с тем же заголовком, что и у отношений А и В, и телом, состоящим из кортежей, принадлежащих или А, или В, или обоим отношениям.
Отношения называют совместимыми по типу, если они имеют идентичные заголовки, также атрибуты с одинаковыми именами определены на одних и тех же доменах.
Основные операции реляционной алгебры
-
- Пересечение
-
Пересечением двух совместимых по типу отношений А и В называется отношение с тем же заголовком, что и у отношений А и В, и телом, состоящим из кортежей, принадлежащих одновременно обоим отношениям А и В.
Основные операции реляционной алгебры
-
- Вычитание
-
Вычитанием двух совместимых по типу отношений А и В называется отношение с тем же заголовком, что и у отношений А и В, и телом, состоящим из кортежей, принадлежащих отношению А и не принадлежащих отношению В.
Основные операции реляционной алгебры
-
- Выборка
-
Выборкой на отношении А с условием с называется отношение с тем же заголовком, что и у отношения А, и телом, состоящем из кортежей, значения атрибутов которых при подстановке в условие с дают значение ИСТИНА.
Основные операции реляционной алгебры
-
Оператор выбора языка SQL
- SELECT [DISTINC] элементы
- FROM таблица(цы)
- [WHERE условие]
- [GROUP BY поле(я)[HAVING условие]]
- [ORDER BY поле(я)]
Производит выборку указанных элементов из указанных таблиц в соответствии с указанными условиями. Результатом является новая таблица.
-
- SELECT – выбрать
- DISTINC – устранить в результирующей таблице одинаковые строки
- FROM – из (таблиц)
- WHERE – где
- SELECT [DISTINC] элементы
- FROM таблица(цы)
- [WHERE условие]
- [GROUP BY поле(я)[HAVING условие]]
- [ORDER BY поле(я)]
Оператор выбора языка SQL
-
- GROUP BY – выборка с точностью до группы строк
- HAVING – условие выборки группы
- ОRDER BY – упорядочивание результата по указанным полям
- SELECT [DISTINC] элементы
- FROM таблица(цы)
- [WHERE условие]
- [GROUP BY поле(я)[HAVING условие]]
- [ORDER BY поле(я)]
Оператор выбора языка SQL
-
- SELECT Фамилия FROM Cтуденты
Выбрать фамилии всех студентов.
-
SELECT * FROM Cтуденты WHERE Группа=591ORDER BY Фамилия
Вывести все сведения о студентах 591 группы, упорядочив их по фамилии.
-
Вывести дату рождения студента Петрова
SELECT Дата рождения FROM CтудентыWHERE Фамилия=“Петров"
-
Возможности SQL
- Создание базы данных и таблицы с полным описанием их структуры
- Выполнение основных операций манипулирования данными, в частности, вставки, модификации и удаления данных из таблиц.
- Выполнение простых и сложных запросов, осуществляющих преобразование данных
-
Тенденции развития СУБД
Тенденции развития СУБД
Направление развития реляционных СУБД в последние годы заметно меняется. Если предыдущее десятилетие они развивались, чтобы обеспечить быстрый доступк данным, то теперь часто нужно хранить еще графику и звук. Существенно изменилась аппаратная среда - она стала сетевой. С развитием Web появилась необходимость поддерживать HTML - страницы.
-
Основные функции СУБД
- управление данными во внешней памяти (на дисках)
- управление данными в оперативной памяти
- журнализация изменений, резервное копирование и восстановление базы данных после сбоев
- поддержка языка манипулирования данными
-
В состав СУБД входят средства для:
- создания БД и модификации их структуры, создания индексных файлов
- работы с базами в табличном формате или в виде стандартной формы с расположением полей построчно
- разработки экранных форм
- генерации печатных форм
- генерации запросов очень сложной структуры
- в системах, ориентированных на разработчика, разработка меню, справочной системы и проекта, включающего все перечисленные выше компоненты и компилирующегося в исполняемую программу
-
СУБД
СУБД
Система управления базами данных (СУБД) – это комплекс программных и языковых средств, необходимых для создания баз данных, поддержания их в актуальном состоянии и организации поиска в них необходимой информации.
Термин "сервер баз данных" обычно используют для обозначения всей СУБД, основанной на архитектуре "клиент-сервер", включая и серверную, и клиентскую части.
-
СУБД
Cервер баз данных - СУБД, которая принимает запросы по сети и возвращает информацию, соответствующую запросу.
Наиболее распространенными серверами являются в настоящее время Interbase, Microsoft SQL Server, Oracle, IBM DB2, Informix
-
Классификация СУБД
По типу управляемой базы данных СУБД разделяются на:
- Сетевые (CronosPlus )
- Иерархические (IMS, System 2000)
- Реляционные (MS Access, Paradox, Interbase, FireBird, MySQL, DB2, Oracle, Ingres)
- Объектно-реляционные (Oracle Database, MicroSoft SQL Server 2005)
-
Сравнение СУБД
Сравнение СУБД
-
Возможности СУБД
Производительность СУБД оценивается:
- скоростью поиска информации;
- скоростью выполнения операций обновления, вставки, удаления данных;
- временем выполнения операций импортирования базы данных из других форматов;
- максимальным числом параллельных обращений к данным в многопользовательском режиме;
- временем генерации отчета.
-
Обеспечение целостности данных на уровне базы данных.
Эта характеристика подразумевает наличие средств, позволяющих удостовериться, что информация в базе данных всегда остается корректной и полной:
- проверка уникальности первичных ключей,
- ограничение операций над данными,
- каскадное обновление и удаление данных.
-
Обеспечение безопасности. Некоторые СУБД предусматривают средства обеспечения безопасности данных. Такие средства обеспечивают выполнение следующих операций:
- шифрование прикладных программ;
- шифрование данных;
- защиту паролем;
- ограничение уровня доступа (к базе данных, к таблице).
Возможности СУБД
-
Доступ к данным посредством языка SQL. Язык запросов SQL реализован в целом ряде популярных СУБД для различных типов ЭВМ либо как базовый, либо как альтернативный. В силу своего широкого использования является международным стандартом языка запросов.
Возможности СУБД
Нет комментариев для данной презентации
Помогите другим пользователям — будьте первым, кто поделится своим мнением об этой презентации.