Похожие презентации:
1e6dd1ebbcbe4537b86c8b287ace9ad1
1.
Базыданных
2.
Информационные системыПервоначально
вычислительные
машины
разрабатывались для выполнения расчётных задач. В
настоящее время компьютеры заняты еще и обработкой
нечисловых данных (текст, изображение, звук, видео).
Информационная система (ИС) в широком смысле —
это аппаратные и программные средства,
предназначенные для того, чтобы своевременно
обеспечить пользователей нужной информацией.
Задачи:
•хранение данных
•доступ к данным
3.
БД и СУБДБаза данных (БД) — это специальным образом
организованная совокупность данных о некоторой
предметной области, хранящаяся во внешней
памяти компьютера.
База данных (БД) – это информационная модель,
позволяющая в упорядоченном виде хранить данные о
группе объектов, обладающих одинаковым набором
свойств.
Для разработки программ, систем программ, работающих
с базами данных, используются специальные средства –
системы управления базами данных (СУБД).
Система управления базой данных (СУБД) — это
программные средства, которые позволяют
выполнять все необходимые операции с базой
данных.
БД + СУБД = информационная система
4.
БД и СУБДЗадачи СУБД:
• ввод, выбор данных
• редактирование данных
• поиск данных и формирование запросов
• выполнение несложных расчетов
• обеспечение целостности (корректности,
непротиворечивости) данных
• восстановление данных после сбоев
прикладная
программа
СУБД
БД
Переносимость – это возможность использовать БД в
других информационных системах.
5.
Классификация СУБДИС
локальные
удалённые
БД и СУБД на компьютере пользователя
БД на удалённом
компьютере (в сети)
нужно обновлять БД на каждом
компьютере
как учесть изменения, внесённые
пользователями
все работают с одной БД
автономность
зависимость от сети
Файл-серверные СУБД
Клиент-серверные СУБД
Информационная система - ИС
6.
Файл-серверные СУБДрабочие станции
сервер
СУБД
БД
СУБД
рабочие станции должны быть мощными
высокая нагрузка на сеть
слабая защита данных
ненадежность при большом количестве
пользователей
7.
Клиент-серверные СУБДрабочие станции (клиенты)
прикладная
программа
запрос
ответ
сервер
СУБД
БД
прикладная
программа
Задачи клиента:
Задачи сервера:
• отправить серверу запрос
• при получении запроса
на языке SQL *
• принять ответ сервера
поставить его в очередь
• выполнить запрос
• вывести результаты
• отправить ответ клиенту
(*) SQL = Structured Query Language – язык структурных
запросов для управления данными
8.
Клиент-серверные СУБДобработка данных на сервере
рабочие станции могут быть маломощными
проще модернизация
надежная защита данных (на сервере)
снижается нагрузка на сеть
надежная работа при большом количестве
пользователей
нужен мощный сервер
высокая стоимость коммерческих СУБД
MS SQL Server
бесплатно!
Firebird (www.firebirdsql.org)
PostgreSQL (www.postgresql.org)
MySQL (www.mysql.com)
9.
ТранзакцииЗадача: перевести 100 000 рублей со счета 12345 на
счет 54321.
• прочитать сумму на счету 12345
• уменьшить ее на 100 000 рублей
• прочитать сумму на счету 54321
• увеличить ее на 100 000 рублей
сбой питания!
Транзакция – это группа операций, которая
представляет собой одно законченное действие.
Транзакция должна быть выполнена целиком или
не выполнена вообще.
10.
Основные классификации БД (модели данных)Реляционная - база данных, которую можно представить в виде
набора таблиц .
Реляционная модель баз данных была предложена Эдгаром Коддом
в конце 70-х годов. В рамках этой модели база данных
представляет собой набор таблиц, связанных друг с
другом отношениями.
11.
Иерархические. Существует строгая подчиненностьэлементов: один главный, остальные подчиненные.
Например, система каталогов на диске.
Сетевая БД более гибкая: нет явно выраженного
главного элемента и существует возможность
установления горизонтальных связей. Например,
организация информации в Интернете ( WWW).
Наиболее распространенными являются
реляционные БД.
Реляционной (от английского “ relation” - отношение)
называется БД , которая содержит информацию,
организованную в виде прямоугольной таблицы.
Каждая строка таблицы содержит информацию об
одном конкретном объекте БД (книге, сотруднике,
товаре), а каждый столбец – конкретную
характеристику этого объекта (фамилия, название,
цена). Строки такой таблицы называются записями,
столбцы – полями.
12.
Среди программ, которые устанавливаются в небольшихорганизациях и ориентированы на работу с таблицами,
наиболее популярна Access.
Таблицы
13.
ТАБЛИЧНЫЕ БД№ Фамилия
Имя
Дата
класс
адрес
З А Г О
Л О В О К
рождения
П
1 Борискин Данил
12.05.2005 11
Степанца 10 кв 172
О
З А П И С Ь
2 Зингер
Олег З 05.11.2014
А П И 1 С Ь Заречная 5 кв 4
Л
3 Клюмина Зоя
31.12.2004 11
Мира 186 кв 54
З
А
П
И
С
Ь
4Е Тырин
МаксимЗ 01.04.2009
А П И 6 С Ь Ляпидевского 3
Поле БД (атрибут) – это столбец таблицы, содержащий
значения определенного свойства (характеристика
объекта).
Имя поля – название поля, вынесенное в заголовок. Оно
должно быть уникальным, неповторяющимся.
Запись БД (кортеж)– это строка таблицы, содержащая
набор значений свойств об одном объекте.
Количество полей таблицы фиксировано разработчиком,
количество записей – нет, пользователи могут их удалять,
вставлять, изменять. Каждое поле имеет имя и может хранить
данные определенного типа: текст, дата, число и т.д. Записи
могут номероваться с использованием счетчика.
14.
КлючКлючевое поле – это поле или комбинация полей,
однозначно определяющие запись в таблице.
Поле, каждое значение которого однозначно
определяет
соответствующую
запись,
называется простым ключом (ключевым полем).
Если записи однозначно определяются значениями
нескольких полей, то такая таблица базы данных
имеет составной ключ.
№
Фамилия
Имя
Дата
рождения
класс
1
Борискин
Данил
12.05.2005
11
Степанца 10 кв 172
2
Зингер
Олег
05.11.2014
1
Заречная 5 кв 4
3
Клюмина
Зоя
31.12.2004
11
Мира 186 кв 54
4
Тырин
Максим 01.04.2009
6
Ляпидевского 3
?
адрес
Какое поле является ключом?
Код участника таблицы имеет уникальные значения, поэтому будет иметь статус ключевого
поля.
15.
КлючКлюч – это поле или
определяющие запись.
комбинация
полей,
однозначно
Первичный ключ – это ключ, выбранный в качестве основного.
Суррогатный ключ – это дополнительное поле,
которое служит первичным ключом.
?
Могут ли эти данные быть ключом?
• фамилия
• имя
• номер паспорта
• номер дома
• регистрационный номер автомобиля
• город проживания
• адрес электронной почты
• дата выполнения работы
• марка стиральной машины
16.
ВАРИАНТЫ ТИПОВ СВЯЗЕЙБаза данных – это совокупность данных и связей
между ними.
Для связанных таблиц возможно три варианта типа
связи:
«один к одному»;
«один ко многим»;
«многие ко многим».
17.
1. Связь «один к одному».Наиболее простой способ указать связь между данными – поместить данные совместно, например,
в одной строке ведомости о заработной плате. Тогда наглядно видно, на какой должности работает
сотрудник фирмы (фамилия) и какую заработную плату он получает (зарплата). Все строки
ведомости имеют один шаблон, столбцы содержат данные одного типа.
2. Связь «один ко многим».
Любому элементу, рассматриваемому как объект, свойство или атрибут в информационной
системе, может соответствовать несколько других объектов, свойств или атрибутов. Подобная
структура имеет несколько уровней. Каждый ее элемент может быть связан с несколькими
другими, находящимися на нижнем уровне, и только с одним из более высокого (верхнего) уровня.
Такая структура называется древовидной или деревом. Каталоги, подкаталоги и содержащиеся в
них файлы образуют древовидную структуру. Такую же структуру имеют практически все
министерства, ведомства, армия, предприятия различных отраслей.
3. Связь «многие ко многим».
Производственные отношения между предприятиями часто имеют сложный характер, который
отражается в сетевых структурах. Сеть – многоуровневая структура, каждый элемент которой
может быть связан как с несколькими элементами нижнего уровня, так и с несколькими
элементами верхнего уровня. Например, супермаркет получает товары от нескольких поставщиков.
Может быть, что один вид товара поставляют разные поставщика и одновременно один поставщик
обеспечивает несколькими товарами. Если рассмотреть связи «товар–поставщик», то они
представляют собой сеть. Также сетевая модель получится и при рассмотрении связей «учитель –
класс».
18.
СТРУКТУРА БДОсновной элемент БД – таблица
Каждая таблица должна иметь своё имя.
Запись – это строка таблицы.
Поле – это столбец таблицы.
Таблица – информационная модель реальной системы.
Запись содержит информацию об одном конкретном объекте.
Поле содержит определённые характеристики объектов.
ЗАПИСЬ
ПОЛЕ
19.
20.
21.
ОСНОВНЫЕ ТИПЫ ДАННЫХтекстовый
одна строка текста (до 255 символов)
поле MEMO
текст, состоящий из нескольких строк, который можно
посмотреть при помощи полос прокрутки (до 65535
символов)
числовой
число любого типа (можно использовать в вычислениях)
денежный
поле, выраженное в денежных единицах (рубли, доллары и
т.д.)
дата/время
поле, содержащее дату или время
счётчик
поле, которое вводится автоматически с вводом каждой
записи
логический
поле объекта
OLE
содержит одно из значений True (истина) или False (ложно) и
применяется в логических операциях
содержит рисунки, звуковые файлы, таблицы Excel,
документ Word и т. д.
22.
В Access можно определитьследующие типы полей:
•Текстовый – текстовая строка; максимальная длина задаётся
параметром «размер», но не может быть больше 255
•Поле МЕМО – позволяет хранить текстовые фрагменты
любой длины в отдельных файлах; текст длиной до 65535
символов
•Числовой – в параметре «Размер поля» можно задать поле:
байт, целое, дейсвительное и т.п.; длина – полное количество
символьных позиций; точность – количество позиций для
записи дробной части числа;
•Дата/время – поле, хранящее данные о ДАТЕ (длина записи
8 символов ДД/ММ/ГГ или ДД:ММ:ГГ) или ВРЕМЕНИ
(краткий формат ЧЧ:ММ, полный формат ЧЧ:ММ:СС);
•Денежный – специальный формат для финансовых нужд, по
сути являющийся числовым
23.
В Access можно определитьследующие типы полей:
•Счётчик – целые числа (задаются автоматически при вводе
записей, не могут быть изменены пользователем). При
добавлении новой записи внутренний счётчик таблицы
увеличивается на единицу и записывается в данное поле
новой записи. Таким образом, значения этого поля
гарантированно различны для разных записей и вводить не
нужно. Тип предназначен для ключевого поля
•Логический –1 символ, значения T – true (ИСТИНА - Да) или
F – false (ЛОЖЬ - Нет); да или нет, правда или ложь, включен
или выключен
•Объект OLE– в этом поле могут храниться документы,
картинки, звуки и т.п.
•Гиперссылка – используется для хранения ссылок на
ресурсы Интернета. Встречается не во всех форматах баз
данных.
24.
Основные свойства полей таблицбаз данных Access:
•имя поля – определяет, как следует обращаться к данным этого
поля при автоматических операциях с базой;
•тип поля – определяет тип данных, которые могут содержаться
в данном поле;
•размер поля – определяет предельную длину (в символах)
данных, которые могут размещаться в данном поле;
•сообщение об ошибке – текстовое сообщение, которое выдается
автоматически при попытке ввода в поле ошибочных данных;
•обязательное поле – свойство, определяющее обязательность
заполнения данного поля при наполнении базы;
•пустые строки – свойство, разрешающее ввод пустых
строковых данных (в основном это касается текстовых данных);
•индексированное поле – если поле обладает этим свойством,
все операции, связанные с поиском или сортировкой записей по
значению, хранящемуся в данном поле, существенно
ускоряются. По этому полю также проверяются значения
записей на наличие повторов.
25.
Поиск в БДЛинейный поиск – это перебор всех записей до тех
пор, пока не будет найдена нужная.
Код
Фамилия
1
Сидоров
2
Ветров
…
1024 Померанцев
Иванов?
Иванов?
1024 сравнения!
данные не надо предварительно готовить
низкая скорость поиска
26.
Двоичный поиск1.Разделить область поиска на две равные части.
2.Определить, в какой половине находится нужный объект.
3.Перейти к шагу 1 для этой половины.
4.Повторять шаги 1-3 пока объект не будет «пойман».
27.
Двоичный поиск в БДтребуется предварительная сортировка
Иванов?
Иванов?
1
Андреев
1
2
Барсуков
…
255
…
512
Ковалев
Андреев
…
255
Журов
…
383
…
Ковалев
Игнатьев
…
…
512
1023 Юрьев
…
512
1024 Яшин
1024 Яшин
…
? Сколько сравнений?
Журов
Ковалев
11 сравнений!
быстрый поиск
записи надо отсортировать по нужному полю
можно использовать только для одного поля
28.
Индексный поиск в БДИндекс – это вспомогательная таблица, которая
служит для ускорения поиска в основной
таблице.
код
1
2
3
Фамилия
Иванов
Петров
Васильев
Имя
Петр
Василий
Иван
Адрес
Суворовский пр., д. 32, кв. 11
Кутузовский пр., д. 12, кв. 20
Нахимовский пр., д. 23, кв. 33
отсортированы!
Фамилия
Васильев
Иванов
Петров
Телефон
275-75-75
276-76-76
277-77-77
Номера записей
3
1
2
двоичный поиск по всем столбцам, для которых
построены индексы
индексы занимают место на диске
при изменении таблицы надо перестраивать все
индексы (в СУБД – автоматически)
29.
Этапы создания базы данных1) Проектирование БД - теоретический этап работы:
- какие таблицы будут входить в состав БД,
- структура таблиц (из каких полей, какого типа и размера
будет состоять каждая таблица),
- какие поля будут выбраны в качестве первичных
(главных) ключей каждой таблицы и т.д.
2) Создание структуры - описывается структура таблиц,
входящих в состав БД.
3) Ввод записей - заполнение таблиц БД
Нормализация – это изменение структуры БД, которое
устраняет избыточность и предотвращает
возможные нарушения целостности.
Целостность БД означает, что БД содержит полную и
непротиворечивую информацию и удовлетворяет
всем заданным ограничениям (правильность
связей между таблицами, правильный ввод
данных).
Избыточность – повторяющиеся данные.
30.
Некоторые принципынормализации:
1. Любое поле должно быть неделимым
Здесь поле Сотрудник нужно
разделить на три поля, а поле
Телефон на два.
2. Любое неключевое поле должно зависеть от ключа таблицы.
Телефон не зависит от регистрационного номера
автомобиля, а зависит от владельца. Поэтому его можно
вынести в другую таблицу.
3. Не должно быть одинаковых по смыслу полей.
4. Не нужно хранить данные, которые могут быть
вычислены.
31.
Домашнее задание:Сделать конспект презентации
Базы данных