- •Определения
- •Типы информационных систем
- •Локальные ИС
- •Файл-серверные ИС
- •Клиент-серверные ИС
- •Типы баз данных
- •Табличные БД
- •Табличные БД
- •Ключевое поле (ключ таблицы)
- •Сетевые БД
- •Иерархические БД
- •Иерархические БД
- •Иерархические БД
- •Реляционные БД
- •Реляционные БД
- •Связи между таблицами
- •Связи между таблицами
- •Нормализация базы данных
- •Нормализация базы данных
- •Поиск в базах данных
- •Двоичный поиск
- •Поиск в базах данных
- •Поиск по индексам
- •Поиск по индексам
Иерархические БД |
12 |
|
Иерархическая БД – это набор данных в виде многоуровневой структуры (дерева).
Рабочий
стол
Мои |
Мой |
Сетевое |
документы |
компьютер |
окружение |
Моя |
Мои |
Мои |
A: С: D: |
Учебники Задания Рисунки |
музыка |
рисунки |
видеозаписи |
|
|
07/10/19
Иерархические БД |
|
|
|
13 |
|||
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
Прайс-лист: |
|
|
|
|
|
|
|
Продавец |
|
|
|
Кей |
|
|
|
(уровень 1) |
|
|
|
|
|
|
|
Товар |
|
Мониторы |
Принтеры |
||||
(уровень 2) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Изготовитель |
Sony |
Phillips |
Samsung |
||||
(уровень 3) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Модель S93 X93B
(уровень 4)
Цена |
$306 |
$312 |
(уровень 5)
07/10/19
Иерархические БД |
14 |
|
|
|
|
|
|
|
Приведение к табличной форме:
Продавец |
Товар |
Изготовитель |
Модель |
Цена |
Кей |
Монитор |
Sony |
S93 |
$306 |
Кей |
Монитор |
Sony |
X93B |
$312 |
Key |
Монитор |
Phillips |
190 B5 CG |
$318 |
Кей |
Монитор |
Samsung |
SyncMaster 193P |
$452 |
… |
|
|
|
|
дублирование данных
при изменении адреса фирмы надо менять его во всех строках
нет защиты от ошибок ввода оператора
(Кей – Key), лучше было бы выбирать из списка
07/10/19
Реляционные БД |
15 |
|
1970-е гг. Э. Кодд, англ. relation – отношение.
Реляционная база данных – это между которыми установлены помощью числовых кодов.
набор простых таблиц, связи (отношения) с
Изготовители 
Продавцы |
Прайс-лист |
Код |
Код записи |
Название |
Код продавца |
Адрес |
Код изготовителя |
Телефон |
Код товара |
Сайт |
Код модели |
Товары |
Цена |
|
|
Код |
|
Название |
|
07/10/19 |
|
Код
Название
Страна Сайт
Модели
Код 
Название 
Код изготовителя 
Реляционные БД |
16 |
|
нет дублирования информации;
при изменении адреса фирмы достаточно изменить его только в таблице Продавцы;
защита от неправильного ввода: можно выбрать только фирму, которая есть в таблице Продавцы;
механизм транзакций: любые изменения вносятся в базу только тогда, когда они полностью завершены.
сложность структуры (не более 40-50 таблиц);
при поиске надо обращаться к нескольким таблицам;
нужно поддерживать целостность: при удалении
фирмы-продавца надо удалять все связанные записи07/10/19(автоматически, каскадное удаление).
Связи между таблицами |
17 |
|
Один к одному («1-1») – одной записи в первой таблице соответствует ровно одна запись во второй. Применение: выделение часто используемых данных.
1 |
|
|
1 |
|
|
Код |
Фамилия |
Имя |
Код |
Год рожд. |
Адрес |
1 |
Иванов |
Кузьма |
1 |
1992 |
Суворовский, д.20, кв. 6 |
2 |
Петров |
Василий |
2 |
1993 |
Кирочная, д. 30, кв 18 |
… |
|
|
… |
|
|
Один ко многим («1- ») – одной записи в первой таблице соответствует сколько угодно записей во второй.
товары |
1 |
|
|
|
прайс- |
|
Код |
Название |
Код |
Код товара |
лист |
|
Цена |
||||
|
1 |
Монитор |
123 |
1 |
10 999 |
|
2 |
Винчестер |
345 |
1 |
11 999 |
|
07/10/19 |
|
… |
|
|
|
… |
|
|
|
Связи между таблицами |
18 |
|
Многие ко многим (« - ») – одной записи в первой таблице соответствует сколько угодно записей во
второй, и наоборот. |
|
|
|
предметы |
|||||
учителя |
Код |
Фамилия |
|
Код |
Название |
||||
1 |
История |
|
|||||||
|
|
|
|||||||
|
|
1 |
Иванов |
|
|
2 |
География |
||
|
|
2 |
Петров |
|
|
|
|||
|
|
|
|
|
3 |
Биология |
|||
|
|
… |
|
|
|
|
|||
|
|
|
|
|
|
… |
|
|
|
|
|
|
|
|
|
|
|
|
|
Реализация – через третью таблицу и две связи «1- ». |
|||||||||
1 |
|
|
|
|
|
|
|
|
1 |
Код |
Фамилия |
Код |
|
Код |
Код |
Класс |
Код |
Название |
|
1 |
Иванов |
|
учителя |
предмета |
|
1 |
История |
||
1 |
|
1 |
1 |
9-А |
|||||
2 |
Петров |
|
2 |
География |
|||||
2 |
|
1 |
2 |
8-Б |
|||||
… |
|
|
|
||||||
|
|
|
3 |
Биология |
|||||
|
|
|
3 |
|
2 |
3 |
7-В |
||
расписани |
|
… |
|
||||||
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|||
е
Нормализация базы данных |
19 |
|
Нормализация – это разработка такой структуры БД, в которой нет избыточных данных и связей.
Любое поле должно быть неделимым.
имя |
Фамилия |
Имя |
Иванов |
Иванов |
Петр |
Петров |
Петров |
Иван |
… |
… |
… |
|
Не должно быть полей, которые обозначают |
|
|||||
|
различные виды одного и того же, например, товаров. |
||||||
|
|
|
|
|
1 |
|
|
Год |
Киви |
Год |
Код |
Кол-во |
Код |
Товар |
|
2006 |
1200 |
товара |
1 |
Бананы |
|||
|
|
||||||
2006 |
1 |
1200 |
|||||
2007 |
1500 |
2 |
Киви |
||||
2007 |
2 |
1500 |
|||||
… |
|
… |
|
||||
|
… |
|
|
|
|||
|
|
|
|
|
|
||
Нормализация базы данных |
20 |
|
Любое поле должно зависеть только от ключа (ключ – это поле или комбинация полей, однозначно
определяющая запись). |
зависит не только |
||
|
|
||
товары Код |
Название |
от названия товара! |
|
1 |
Монитор |
|
прайс-лист |
2 |
Винчестер |
|
|
…
Не должно быть полей, которые могут быть найдены с помощью остальных.
Код |
Товар |
Цена за тонну |
Кол-во, тонн |
Стоимость |
1 |
Бананы |
1200 |
10 |
|
2 |
Киви |
1500 |
20 |
|
…
07/10/19
Поиск в базах данных |
21 |
|
Линейный поиск – это перебор всех записей до тех пор, пока не будет найдена нужная.
Код |
Фамилия |
|
1 |
Сидоров |
Иванов? |
2 |
Ветров |
|
… |
|
1024 сравнения! |
1024 |
Померанцев |
|
данные не надо предварительно готовить
низкая скорость поиска
07/10/19
