Основы конструирования баз данных

Содержание

Слайд 2

Основы конструирования баз данных Основные понятия Модели данных Программное обеспечение Взаимодействие

Основы конструирования баз данных

Основные понятия
Модели данных
Программное обеспечение
Взаимодействие клиента и сервера
Создание реляционной

базы данных
Связывание таблиц
Конструирование запросов по образцу
Конструирование запросов на языке SQL
Слайд 3

Основные понятия База данных — именованная совокупность данных, отображающая состояние изучаемых

Основные понятия

База данных — именованная совокупность данных, отображающая состояние изучаемых объектов

(предметов, явлений и т.д.).
Актуальность базы данных — постоянное изменение, пополнение данных в соответствии с изменением состояния изучаемых объектов и наших знаний о них.
Предметная область — изучаемая совокупность логически связанных объектов.
СУБД — система управления базами данных — совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования баз данных.
Банк данных — система специально организованных данных, программных, языковых, организационных и технических средств, предназначенных для централизованного накопления и коллективного многоцелевого использования данных.
Слайд 4

Требования к банкам данных Многократное использование данных Простота и легкость использования

Требования к банкам данных

Многократное использование данных
Простота и легкость использования
Гибкость использования
Быстрота обработки

запросов пользователей
Разграничение прав пользователей
Функционирование в условиях вычислительных сетей
Контроль за целостностью данных
Восстановление данных после сбоя
Средства администрирования и оптимизации работы системы
Слайд 5

Компоненты банка данных Информационная база Языковые средства Программные средства Технические средства Организационно-административные подсистемы Нормативно-методическоеобеспечение

Компоненты банка данных

Информационная база
Языковые средства
Программные средства
Технические средства
Организационно-административные подсистемы
Нормативно-методическоеобеспечение

Слайд 6

Модели данных Иерархические (IMS, IBM, 1968) Сетевые (ИСУБД Cronos Pro, Россия)

Модели данных

Иерархические (IMS, IBM, 1968)
Сетевые (ИСУБД Cronos Pro, Россия)
Реляционные
Иерархическая модель данных
Структура

данных: дерево
Факультет
Специальность
Группа
Студент
Слайд 7

Для связи элементов данных использует указатели Структура данных: граф Сетевая модель данных

Для связи элементов данных использует указатели
Структура данных: граф

Сетевая модель данных

Слайд 8

Реляционная модель данных Предложена: Е. Кодд, 1970 год Логическая модель, использует

Реляционная модель данных
Предложена: Е. Кодд, 1970 год
Логическая модель, использует математическую теорию

отношений (relation)
Математический аппарат: теория множеств, логика первого порядка, реляционная алгебра
Модель не зависит от физической организации данных
Модель не использует указатели
Отношение — таблица данных
Слайд 9

Примеры реляционных СУБД Oracle Microsoft SQL MySQL PostgreSQL SQLite Языковые средства:

Примеры реляционных СУБД

Oracle
Microsoft SQL
MySQL
PostgreSQL
SQLite
Языковые средства:
SQL (Strutured Query Language)
Интерфейс пользователя:
Web-приложение

Слайд 10

Основные понятия реляционных баз данных Тип данных Домен Отношение Атрибут отношения

Основные понятия реляционных баз данных

Тип данных
Домен
Отношение
Атрибут отношения
Кортеж
Первичный ключ
Внешний ключ

Ключ

Отношение

Слайд 11

Разработка базы данных Дано: информация о преподавателях Фамилия преподавателя Имя преподавателя

Разработка базы данных

Дано: информация о преподавателях
Фамилия преподавателя
Имя преподавателя
Должность преподавателя
Предмет
Специальность
Курс
Кол-во часов

лекций,
Кол-во часов упражнений
1 вариант структуры данных:
Слайд 12

Этапы проектирования базы данных Разработка инфологической модели Разработка даталогической модели Разработка физической модели

Этапы проектирования базы данных

Разработка инфологической модели
Разработка даталогической модели
Разработка физической модели

Слайд 13

1. Разработка инфологической модели Анализ предметной области: выявление объектов и их

1. Разработка инфологической модели

Анализ предметной области: выявление объектов и их атрибутов
Преподаватель

(фамилия, имя, должность)
Предмет (название предмета, семестр, специальность, кол-во часов лекций, упражнений)
Нормализация модели (объектная декомпозиция)
Выявление связей между объектами: построение ER-модели (Entity-Relation)
N N

Лекц. часы

Слайд 14

Разработка даталогической модели Логическое проектирование данных Выбор СУБД определяет модель данных

Разработка даталогической модели

Логическое проектирование данных
Выбор СУБД определяет модель данных
Описание данных —

в терминах выбранной модели
Реляционная модель:
Сущность — таблица, имя сущности — имя таблицы.
Атрибут — столбец таблицы.
Уникальный идентификатор — первичный ключ.
Связи «много-к-одному» и «один-к-одному» становятся внешними ключами
Связь «много-ко-многим» превращается в таблицу с двумя связями «много-к-одному»
Слайд 15

Пример даталогической модели ID_преподавателя и ID_предмета — ключевые поля primary primary

Пример даталогической модели

ID_преподавателя и ID_предмета — ключевые поля
primary primary
key key
foreign

key
foreign key
Слайд 16

Физическая модель данных Определяет способ размещения данных на носителях (устройствах внешней

Физическая модель данных

Определяет способ размещения данных на носителях (устройствах внешней памяти):
структура

записи в файле данных,
количество файлов данных,
местоположение файлов данных.
Определяет способ и средства организации эффективного доступа к данным:
способы адресации и методы поиска записей в файлах.
Слайд 17

Средства управления данными Запросы запросы по образцу SQL-запросы Формы Отчеты

Средства управления данными

Запросы
запросы по образцу
SQL-запросы
Формы
Отчеты

Слайд 18

Язык SQL Structured Query Language Первый стандарт 1989 года Текущий стандарт

Язык SQL

Structured Query Language
Первый стандарт 1989 года
Текущий стандарт 2008 года
Логический (декларативный)

язык
Использует исчисление кортежей (раздел реляционной алгебры)
Содержит
средства управления таблицами,
средства отбора данных,
средства модификации данных.
Слайд 19

Команды SQL CREATE - создать INSERT - вставить SELECT - выбрать

Команды SQL

CREATE - создать
INSERT - вставить
SELECT - выбрать
DELETE - удалить
Предложения, используемые

в командах:
WHERE - где
FROM - откуда
INTO — куда
SELECT Фамилия FROM Преподаватели WHERE Должность= «Доцент»
Слайд 20

Оператор LIKE Стандарт SQL: SELECT Фамилия, Имя, Должность FROM Преподаватели WHERE

Оператор LIKE

Стандарт SQL:
SELECT Фамилия, Имя, Должность FROM Преподаватели WHERE Фамилия LIKE

'%ро-'
Windows:
SELECT Фамилия, Имя, Должность FROM Преподаватели WHERE Фамилия LIKE '*ро?'
ответ: Петров, Сидоров, Крот, Рой.
Не будет отобрано: Сидорова
Слайд 21

INNER JOIN связывает две таблицы: левую и правую, при этом в

INNER JOIN

связывает две таблицы: левую и правую, при этом в запросе

не участвуют строки из правой таблице, не имеющие продолжение в левой, и наоборот.
SELECT <список полей из правой и левой таблицы>
FROM левая_таблица INNER JOIN правая_таблица
ON <условия связывания> WHERE <условия отбора>
Слайд 22

Запрос по двум таблицам SELECT Преподаватели.Фамилия, Нагрузка.ID_предмет FROM Преподаватели INNER JOIN

Запрос по двум таблицам

SELECT Преподаватели.Фамилия, Нагрузка.ID_предмет FROM Преподаватели INNER JOIN Нагрузка

ON Преподаватели.ID_преподаватель=Нагрузка.ID_преподаватель WHERE Нагрузка.ID_предмет>1 AND Нагрузка.ID_предмет<5
Слайд 23

Статистическая обработка в запросе Статистические функции (функции агрегирования): count, sum, min,

Статистическая обработка в запросе

Статистические функции (функции агрегирования): count, sum, min, max,

avg (среднее арифметическое)
SELECT AVG(Часы_лекций) FROM Предметы
Ответ: среднее арифметическое по всей таблице
Слайд 24

Группировка в запросе Предложение GROUP BY SELECT AVG(Часы_лекций) FROM Предметы GROUP

Группировка в запросе

Предложение GROUP BY
SELECT AVG(Часы_лекций) FROM Предметы GROUP BY Название
SELECT

Название, AVG(Часы_лекций) FROM Предметы GROUP BY Название