Слайд 1Информатика. Спецглавы
Направление: Инфокоммуникационные технологии и системы связи
2012 год
Лекция 7
Слайд 2Основы конструирования баз данных
Основные понятия
Модели данных
Программное обеспечение
Взаимодействие клиента и сервера
Создание
реляционной базы данных
Связывание таблиц
Конструирование запросов по образцу
Конструирование запросов на языке
SQL
Слайд 3Основные понятия
База данных — именованная совокупность данных, отображающая состояние изучаемых
объектов (предметов, явлений и т.д.).
Актуальность базы данных — постоянное изменение,
пополнение данных в соответствии с изменением состояния изучаемых объектов и наших знаний о них.
Предметная область — изучаемая совокупность логически связанных объектов.
СУБД — система управления базами данных — совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования баз данных.
Банк данных — система специально организованных данных, программных, языковых, организационных и технических средств, предназначенных для централизованного накопления и коллективного многоцелевого использования данных.
Слайд 4Требования к банкам данных
Многократное использование данных
Простота и легкость использования
Гибкость использования
Быстрота
обработки запросов пользователей
Разграничение прав пользователей
Функционирование в условиях вычислительных сетей
Контроль за
целостностью данных
Восстановление данных после сбоя
Средства администрирования и оптимизации работы системы
Слайд 5Компоненты банка данных
Информационная база
Языковые средства
Программные средства
Технические средства
Организационно-административные подсистемы
Нормативно-методическоеобеспечение
Слайд 6Модели данных
Иерархические (IMS, IBM, 1968)
Сетевые (ИСУБД Cronos Pro, Россия)
Реляционные
Иерархическая модель
данных
Структура данных: дерево
Факультет
Специальность
Группа
Студент
Слайд 7
Для связи элементов данных использует указатели
Структура данных: граф
Сетевая модель данных
Слайд 8Реляционная модель данных
Предложена: Е. Кодд, 1970 год
Логическая модель, использует математическую
теорию отношений (relation)
Математический аппарат: теория множеств, логика первого порядка, реляционная
алгебра
Модель не зависит от физической организации данных
Модель не использует указатели
Отношение — таблица данных
Слайд 9Примеры реляционных СУБД
Oracle
Microsoft SQL
MySQL
PostgreSQL
SQLite
Языковые средства:
SQL (Strutured Query Language)
Интерфейс пользователя:
Web-приложение
Слайд 10Основные понятия реляционных баз данных
Тип данных
Домен
Отношение
Атрибут отношения
Кортеж
Первичный ключ
Внешний ключ
Ключ
Отношение
Слайд 11Разработка базы данных
Дано: информация о преподавателях
Фамилия преподавателя
Имя преподавателя
Должность преподавателя
Предмет
Специальность
Курс
Кол-во
часов лекций,
Кол-во часов упражнений
1 вариант структуры данных:
Слайд 12Этапы проектирования базы данных
Разработка инфологической модели
Разработка даталогической модели
Разработка физической модели
Слайд 131. Разработка инфологической модели
Анализ предметной области: выявление объектов и их
атрибутов
Преподаватель (фамилия, имя, должность)
Предмет (название предмета, семестр, специальность, кол-во часов
лекций, упражнений)
Нормализация модели (объектная декомпозиция)
Выявление связей между объектами: построение ER-модели (Entity-Relation)
N N
Лекц. часы
Слайд 14Разработка даталогической модели
Логическое проектирование данных
Выбор СУБД определяет модель данных
Описание данных
— в терминах выбранной модели
Реляционная модель:
Сущность — таблица, имя сущности
— имя таблицы.
Атрибут — столбец таблицы.
Уникальный идентификатор — первичный ключ.
Связи «много-к-одному» и «один-к-одному» становятся внешними ключами
Связь «много-ко-многим» превращается в таблицу с двумя связями «много-к-одному»
Слайд 15Пример даталогической модели
ID_преподавателя и ID_предмета — ключевые поля
primary
primary
key key
foreign key
foreign key
Слайд 16Физическая модель данных
Определяет способ размещения данных на носителях (устройствах внешней
памяти):
структура записи в файле данных,
количество файлов данных,
местоположение файлов данных.
Определяет способ
и средства организации эффективного доступа к данным:
способы адресации и методы поиска записей в файлах.
Слайд 17Средства управления данными
Запросы
запросы по образцу
SQL-запросы
Формы
Отчеты
Слайд 18Язык SQL
Structured Query Language
Первый стандарт 1989 года
Текущий стандарт 2008 года
Логический
(декларативный) язык
Использует исчисление кортежей (раздел реляционной алгебры)
Содержит
средства управления таблицами,
средства
отбора данных,
средства модификации данных.
Слайд 19Команды SQL
CREATE - создать
INSERT - вставить
SELECT - выбрать
DELETE - удалить
Предложения,
используемые в командах:
WHERE - где
FROM - откуда
INTO — куда
SELECT Фамилия
FROM Преподаватели WHERE Должность= «Доцент»
Слайд 20Оператор LIKE
Стандарт SQL:
SELECT Фамилия, Имя, Должность FROM Преподаватели WHERE Фамилия
LIKE '%ро-'
Windows:
SELECT Фамилия, Имя, Должность FROM Преподаватели WHERE Фамилия LIKE
'*ро?'
ответ: Петров, Сидоров, Крот, Рой.
Не будет отобрано: Сидорова
Слайд 21INNER JOIN
связывает две таблицы: левую и правую, при этом в
запросе не участвуют строки из правой таблице, не имеющие продолжение
в левой, и наоборот.
SELECT <список полей из правой и левой таблицы>
FROM левая_таблица INNER JOIN правая_таблица
ON <условия связывания> WHERE <условия отбора>
Слайд 22Запрос по двум таблицам
SELECT Преподаватели.Фамилия, Нагрузка.ID_предмет FROM Преподаватели INNER JOIN
Нагрузка ON Преподаватели.ID_преподаватель=Нагрузка.ID_преподаватель WHERE Нагрузка.ID_предмет>1 AND Нагрузка.ID_предмет
Слайд 23Статистическая обработка в запросе
Статистические функции (функции агрегирования): count, sum, min,
max, avg (среднее арифметическое)
SELECT AVG(Часы_лекций) FROM Предметы
Ответ: среднее арифметическое по
всей таблице
Слайд 24Группировка в запросе
Предложение GROUP BY
SELECT AVG(Часы_лекций) FROM Предметы GROUP BY
Название
SELECT Название, AVG(Часы_лекций) FROM Предметы GROUP BY Название
Слайд 25Вложенный запрос
SELECT Название FROM Предмет WHERE Часы_упражнений =(SELECT MAX(Часы_упражнений) FROM
Предмет)