Тема №1 в формате ppt

advertisement
Принципы построения и
работы баз данных
Тема 01: Введение
Тема 1
1
Реализация реляционных баз
данных кажется на первый взгляд
довольно простой
Отношения
Операторы
Тема 1
Результаты
2
Рассмотрим
Система Управления Базами Данных
• Последние достижения Megatron Labs
• Включает новейшие реляционные технологии
• UNIX совместимая
Тема 1
3
Megatron 3000
Детали реализации
• Отношения хранятся в текстовых (ASCII) файлах,
например, отношение R хранится в /usr/db/R
Smith # 123 # CS
Jones # 522 # EE
..
.
Тема 1
4
Megatron 3000
Детали реализации
• Сами отношения описаны в текстовом файле
/usr/db/directory – описания БД
R1 # A # INT # B # STR …
R2 # C # STR # A # INT …
..
.
Тема 1
5
Megatron 3000
Сеанс работы
% MEGATRON3000
Welcome to MEGATRON 3000!
&
.
..
& quit
%
Тема 1
6
Megatron 3000
Сеанс работы
& select *
from R #
Relation R
A
SMITH
B
123
C
CS
&
Тема 1
7
Megatron 3000
Сеанс работы
& select A,B
from R,S
where R.A = S.A and S.C > 100 #
A
123
522
B
CAR
CAT
&
Тема 1
8
Megatron 3000
Сеанс работы
& select *
from R
where R.A < 100 | T #
&
Создается новое отношение Т.
Тема 1
9
Megatron 3000
• Для выполнения “select * from R
where <условие>”:
(1) Прочитать файл описания БД для получения
аттрибутов R
(2) Читать файл R , для каждой строки:
(a) Проверить условие
(b) Если выполняется – вывести строку
Тема 1
10
Megatron 3000
• Для выполнения “select * from R
where condition | T”:
(1) Обработать select как описано выше
(2) Записать результат в новый файл T
(3) Добавить новую строку в файл описания БД
Тема 1
11
Megatron 3000
• Для выполнения ”select A,B from R,S
where <условие>”
(1) Прочитать файл описания БД для
получения аттрибутов R,S
(2) Читать файл R , для каждой строки:
(a) Читать файл S, для каждой строки:
(i) Создать соединенный кортеж
(ii) Проверить условие
(iii) Если выполняется – вывести
Тема 1
12
Что не удовлетворяет нас в СУБД
Megatron 3000 ?
• Размещение кортежей на диске
- Для того, чтобы изменить ‘Cat’ на ‘Cats’, мы
должны переписать весь файл
- Хранение кортежей в текстовом виде (ASCII) не
эффективно
- Удаление кортежей не эффективно
Тема 1
13
Что не удовлетворяет нас в СУБД
Megatron 3000 ?
• Поиск не эффективен, нет индексов
- Нельзя быстро найти кортеж с заданным ключом
- Всегда необходимо прочитывать весь файл
отношения
Тема 1
14
Что не удовлетворяет нас в СУБД
Megatron 3000 ?
• Метод «грубой силы» для обработки запросов
select *
from R,S
where R.A = S.A and S.B > 1000
- Выполнить вначале select?
- Более эффективные методы соединения?
Тема 1
15
Что не удовлетворяет нас в СУБД
Megatron 3000 ?
• Нет управления буферами
• Нет параллельного доступа к данным
• Нет надежности
– Данные могут быть потеряны
– Возможно частичное завершение операции
•
•
•
•
Нет средств поддержки секретности
Нет программного интерфейса
Нет связи с другими СУБД
Бедные средства описания БД
Тема 1
16
Обзор курса
• Структура файлов и системы. Хранение записей в
блоках, управление буферами,…
• Индексация и хешигование, двоичные деревья
• Обработка запросов, цена запроса, стратегии
соединения,...
• Восстановление при сбоях
• Параллельный доступ
• Обработка транзакций
• Безопасность и целостность данных
• Распределенные базы данных
Тема 1
17
Детали
• Лекции/Консультации: Tuesday, Thursday 11:00am to
12:15pm, HP Auditorium (Gates B01)
• Литература: Garcia-Molina, Ullman, Widom;
“DATABASE SYSTEM IMPLEMENTATION”
или “DATABASE SYSTEMS, THE COMPLETE BOOK”
• Дом.Задания: 7 письменных д.з. Без программирования. Обязательное чтение книги.
• Оценка: Д.з.: 20%, промеж.экз.: 30%, экзамен: 50%.
• WEB страница: Краткие конспекты лекций и
дом.задания с решениями будут размещены на
http://kek.ksu.ru/…
Тема 1
18
Для чтения: Главы 11-20
• Исключая факультативный материал
– Разделы 11.7.4, 11.7.5
– Разделы 14.3.6, 14.3.7, 14.3.8
– Разделы 14.4.2, 14.4.3, 14.4.4
– Разделы 15.7, 15.8, 15.9
– Разделы 16.6, 16.7
– В главах 15, 16: материал по операторам удаления
дубликатов, группирования, аггрегирования
– Разделы 18.8
– Разделы 19.4, 19.5, 19.6, 19.7
Тема 1
19
Download