Добавил:
СПбГУТ * ИКСС * Программная инженерия Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основное / Письменные лекции по дисциплине «Базы данных»

.pdf
Скачиваний:
98
Добавлен:
29.01.2021
Размер:
939.56 Кб
Скачать

Письменные лекции по дисциплине «Базы данных»

Лекция 1. Понятие СУБД. Модели данных. Реляционная модель 1.1. БД и СУБД 1.2. Классификация БД

1.3. Классификация СУБД 1.3.1. Состав СУБД и работа БД

1.4. Язык SQL

1.5. Основные типы SQL запросов по их видам 1.6. Основные функции СУБД 1.7. Модели данных 1.8. Реляционная модель данных

1.9. Информационный объект

1.10. Нормализация отношений

1.10.1. Первая нормальная форма

1.10.2. Вторая нормальная форма

Лекция 2. Продолжение прошлой лекции 2.1. Третья нормальная форма 2.2. Отношения

2.3. Ключ

2.4. Пример выгрузки данных

2.5. Заполнение таблиц

2.6. Реляционные операции

2.7. Соединение таблиц

2.7.1. INNER JOIN

2.7.2. FULL OUTER JOIN

2.7.3. LEFT JOIN

2.7.4. RIGHT JOIN

2.8. Изменение таблицы

2.9. Типы данных MySQL

2.10. Параллелизм

Лекция 3. Хранимые процедуры и функции 3.1. Хранимая процедура MySQL

3.2. Переменные

3.3. Параметры процедуры

3.4. Операторы IF и CASE

3.5. Оператор RETURN

Лекция 4. Транзакции. Уровни изоляции. Блокировки. 4.1. Понятие транзакции 4.2. Операторы транзакции

4.3. Уровни изоляции (изолированности) транзакций

4.4. Тест ACID

4.5. Механизм блокировок

4.6. Взаимоблокировки

4.7. Ведение журнала транзакций

Лекция 5. Ссылочная целостность данных. Внешние ключи. Индексирование.

5.1. Ссылочная целостность данных

5.2. Внешний ключ

5.2.1. Условия обеспечения целостности данных при помощи внешнего ключа

5.2.2. Практический пример 5.2.3. Синтаксис объявления внешнего ключа

5.3. Индекс 5.3.1. Для каких полей нужно создавать индексы

5.3.2. Принцип работы индексов

5.3.3. Виды индексов

5.3.4. Индексирование таблиц MySQL 5.3.5. Создание индекса в MySQL 5.3.6. Типы индексов в MySQL

5.3.7. Удаление индекса в MySQL

5.3.8. Преимущества использования индексов

5.3.9. Недостатки использования индексов

5.3.10. Практический пример

5.4. Курсор

Лекция 6. Администрирование баз данных 6.1. Резервирование и восстановление вручную

6.2. Команды GRANT и REVOKE

6.3. Утилита mysqldump

6.3.1. Создание дампа

6.3.2. Развертывание дампа

6.4. Утилита mysqlhotcopy

6.5. Утилита mysqlcheck

Лекция 7. Администрирование БД 7.1. Администрирование базы данных 7.2. Задачи АБД 7.3. Команды для работы с БД

7.4. Просмотр сведений о таблице

7.5. Утилита MySQLAdmin

7.6. Получение информации о БД

7.7. Статус таблиц 7.8. Просмотр таблиц, доступных в БД

7.9. Получение информации о статусе сервера

7.10. Получение информации о переменных

7.11. Получение информации о процессах

7.12. Получение информации о привилегиях

7.13. Структура SQL

7.14. Завершение потока

7.15. Очистка КЭША MySQL

7.16. Файлы журналов

7.17. Как обезопасить MySQL от хакеров

Указатели на страницы с ответами

Лекция 1. Понятие СУБД. Модели данных. Реляционная модель

БД и СУБД;

Классификация БД;

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

Язык SQL;

Основные типы SQL запросов по их видам;

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

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

Реляционная модель данных;

Информационный объект;

Нормализация отношений.

1.1. БД и СУБД База данных (БД) — это поименованная совокупность данных,

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

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

1.2. Классификация БД

Примеры СУБД: MySQL, Firebird, PostgreSQL.

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

По технологии обработки данных БД подразделяются на централизованные и распределенные.

Централизованная БД хранится в памяти одной вычислительной системы (применяется в локальных сетях ПК).

Централизованные БД могут быть с сетевым доступом.

Архитектуры систем централизованных БД с сетевым доступом подразделяется на файл-сервер и клиент-сервер.

БД с сетевым доступом файл-сервер

БД с сетевым доступом клиент-сервер Отличия: в архитектуре «файл-сервер» файловый сервер принимает

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

Архитектура «файл-сервер» предполагает выделение одной из машин сети в качестве центральной (сервер файлов). На ней хранится совместно используемая централизованная БД. Все другие машины сети являются рабочими станциями. Файлы БД в соответствии с пользовательскими запросами передаются на рабочие станции, где и производится обработка. При большой интенсивности доступа к одним и тем же данным производительность системы падает.

В архитектуре «клиент-сервер» подразумевается, что помимо хранения централизованной БД центральная машина (сервер базы данных) должна обеспечивать выполнение основного объема обработки данных. Запрос на данные клиента, порождает поиск и извлечение данных на сервере. Извлеченные данные (но не файлы) транспортируются по сети от сервера к клиенту.

Распределенная БД состоит из нескольких частей, хранимых в различных ЭВМ вычислительной сети (работа с такой БД происходит с помощью СУБД).

По способу доступа к данным БД разделяются на БД с локальным и удаленным доступом.

БД с локальным доступом называется, если эта вычислительная система является компонентом сети ЭВМ, возможен распределённый доступ к такой базе. Такой способ использования БД часто применяют в локальных сетях ПК.

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

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

словарем данных (депозитарием, словарем-справочником, энциклопедией). Описание БД относится к метаинформации.

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

Пример информационной БД — БД сотового оператора. Пример операционной БД — БД банка.

1.3.1. Состав СУБД и работа БД

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

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

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

1.Язык описания данных (ЯОД), называемый также языком описания схем, — для построения структуры ("шапки") таблиц БД;

2.Язык манипулирования данными (ЯМД) — для заполнения БД данными и операций обновления (запись, удаление, модификация);

3.Язык запросов — язык поиска наборов величин в файле в соответствии с заданной совокупностью критериев поиска и выдачи затребованных данных без изменения содержимого файлов и БД (язык преобразования критериев в систему команд).

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

1.4.Язык SQL

Язык SQL является языком запросов. Он содержит специальные средства определения ограничений целостности БД.

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

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

Для пользователя представление является такой же таблицей, как любая базовая таблица, хранимая в БД, но с помощью представлений

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

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

Схема базы данных (от англ. Database schema) — ее структура,

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

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

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

Задачи СУБД:

поддержание логически согласованного набора файлов;

обеспечение языка манипулирования данными;

восстановление информации после разного рода сбоев;

реальная параллельная работа нескольких пользователей.