Содержание
-
БАЗЫ ДАННЫХ. ИНФОРМАЦИОННЫЕ СИСТЕМЫ
© К.Ю. Поляков, 2007-2008.
- Информационные системы
- Базы данных (БД)
- Реляционные БД
-
© К.Ю. Поляков, 2007-2008.
Тема 1. Информационные системы.
-
Определения
База данных (БД) – это хранилище данных о некоторой предметной области, организованное в виде специальной структуры.
Важно:
- данные о некоторой области (не обо всем)
- упорядоченные
Система управления базой данных (СУБД) – это программное обеспечение для работы с БД.
Функции:
- поиск информации в БД
- выполнение несложных расчетов
- вывод отчетов на печать
- редактирование БД
Информационная система = БД + СУБД!
-
Типы информационных систем
- локальные ИС БД и СУБД находятся на одном компьютере.
- файл-серверные БД находится на сервере сети (файловом сервере), а СУБД на компьютере пользователя.
- клиент-серверные БД и основная СУБД находятся на сервере, СУБД на рабочей станции посылает запрос и выводит на экран результат.
-
Локальные ИС
- автономность (независимость)
- с БД работает только один человек
- сложно обновлять при большом количестве пользователей
- практически невозможно «стыковать» изменения, вносимые несколькими пользователями
-
Файл-серверные ИС
- несколько человек работают с одной базой
- основную работу выполняют рабочие станции (РС), они должны быть мощными
- для поиска строки на РС копируется вся БД – нагрузка на сеть
- слабая защита от взлома (только на РС)
- проблемы при одновременном изменении с разных РС
-
Клиент-серверные ИС
SQL (Structured Query Language) – язык структурных запросов.
- основную работу выполняет сервер
- проще модернизация (только сервер)
- по сети идут только нужные данные
- защита на сервере (сложнее взломать)
- разделение доступа (очередь заданий)
- сложность настройки
- высокая стоимость ПО (тысячи $)
-
БАЗЫ ДАННЫХ. ИНФОРМАЦИОННЫЕ СИСТЕМЫ
© К.Ю. Поляков, 2007-2008.
Тема 2. Базы данных.
-
Типы баз данных
- табличные БД: данные в виде одной таблицы
- сетевые БД: набор узлов, в котором каждый может быть связан с каждым.
- иерархические БД: в виде многоуровневой структуры
- реляционные БД: (99,9%) набор взаимосвязанных таблиц
-
Табличные БД
Модель – картотека.
Примеры:
- записная книжка
- каталог в библиотеке
-
- Количество полей определяется разработчиком и не может изменяться пользователем.
- Любое поле должно иметь уникальное имя.
- Поля могут иметь различный тип:
- строка символов (длиной до 255 символов)
- вещественное число (с дробной частью)
- целое число
- денежная сумма
- дата, время, дата и время
- логическое поле (истина или ложь, да или нет)
- многострочный текст (МЕМО)
- рисунок, звук или другой объект (объект OLE)
- Поля могут быть обязательными для заполнения или нет.
- Таблица может содержать сколько угодно записей (это количество ограничено только объемом диска); записи можно добавлять, удалять, редактировать, сортировать, искать.
-
Ключевое поле (ключ таблицы)
Ключевое поле (ключ) – это поле (или комбинация полей), которое однозначно определяет запись.
В таблице не может быть двух записей с одинаковым значением ключа.
Могут ли эти данные быть ключом?
- фамилия
- имя
- номер паспорта
- номер дома
- регистрационный номер автомобиля
- город проживания
- дата выполнения работы
- марка стиральной машины
-
Сетевые БД
Сетевая БД – это набор узлов, в которых каждый может быть связан с каждым (схема дорог).
- лучше всего отражает структуру некоторых задач (сетевое планирование в экономике)
- сложно хранить информацию о всех связях
- запутанность структуры
Можно хранить в виде таблицы, но с дублированием данных!
-
Иерархические БД
Иерархическая БД – это набор данных в виде многоуровневой структуры (дерева).
-
Прайс-лист:
- Продавец (уровень 1)
- Товар (уровень 2)
- Модель (уровень 4)
- Цена (уровень 5)
- Изготовитель (уровень 3)
-
Приведение к табличной форме.
- дублирование данных
- при изменении адреса фирмы надо менять его во всех строках
- нет защиты от ошибок ввода оператора (Кей – Key), лучше было бы выбирать из списка
-
БАЗЫ ДАННЫХ. ИНФОРМАЦИОННЫЕ СИСТЕМЫ
© К.Ю. Поляков, 2007-2008.
Тема 3. Реляционные базы данных.
-
Реляционные БД
1970-е гг. Э. Кодд, англ. relation – отношение.
Реляционная база данных – это набор простых таблиц, между которыми установлены связи (отношения) с помощью числовых кодов.
-
- нет дублирования информации;
- при изменении адреса фирмы достаточно изменить его только в таблице Продавцы;
- защита от неправильного ввода: можно выбрать только фирму, которая есть в таблице Продавцы;
- механизм транзакций: любые изменения вносятся в базу только тогда, когда они полностью завершены.
- сложность структуры (не более 40-50 таблиц);
- при поиске надо обращаться к нескольким таблицам;
- нужно поддерживать целостность: при удалении фирмы-продавца надо удалять все связанные записи (автоматически, каскадное удаление).
-
Связи между таблицами
Один к одному («1-1») – одной записи в первой таблице соответствует ровно одна запись во второй.Применение: выделение часто используемых данных.Один ко многим («1- ») – одной записи в первой таблице соответствует сколько угодно записей во второй.
-
Многие ко многим – одной записи в первой таблице соответствует сколько угодно записей во второй, и наоборот.
Реализация – через третью таблицу и две связи.
-
Нормализация базы данных
Нормализация– это разработка такой структуры БД, в которой нет избыточных данных и связей.
- Любое поле должно быть неделимым.
- Не должно быть полей, которые обозначают различные виды одного и того же, например, товаров.
-
- Любое поле должно зависеть только от ключа (ключ – это поле или комбинация полей, однозначно определяющая запись).
- Не должно быть полей, которые могут быть найдены с помощью остальных.
-
Поиск в базах данных
Линейный поиск – это перебор всех записей до тех пор, пока не будет найдена нужная.
- данные не надо предварительно готовить
- низкая скорость поиска
-
Двоичный поиск
- Разделить область поиска на две равные части.
- Определить, в какой половине находится нужный объект.
- Перейти к шагу 1 для этой половины.
- Повторять шаги 1-3 пока объект не будет «пойман».
-
Поиск в базах данных
Двоичный поиск в БД – требует предварительной сортировки.
- записи надо отсортировать по нужному полю
- можно использовать только для одного поля.
- быстрый поиск
-
Поиск по индексам
Индекс – это вспомогательная таблица, которая предназначена для быстрого поиска в основной таблице по выбранному столбцу.
Индексы:
- по дате
- по товару
- по количеству
-
Алгоритм:
- двоичный поиск по индексу – найти номера нужных записей;
- выбрать эти записи по номерам из основной таблицы.
- индексы занимают место на диске;
- при изменении таблицы надо перестраивать все индексы (в СУБД – автоматически).
- двоичный поиск по всем столбцам, для которых построены индексы
-
Конец фильма
Конец фильма
Нет комментариев для данной презентации
Помогите другим пользователям — будьте первым, кто поделится своим мнением об этой презентации.