close

Вход

Забыли?

вход по аккаунту

?

Семинар 1

код для вставки
Организация курса
Фомин Алексей Владимирович
afomin@hse.ru – все вопросы)
кафедра бизнес-аналитики (руководитель – проф., д.э.н.,
Кравченко Татьяна Константиновна)
Bi.hse.ru/analytics
Управление Данными. НИУ ВШЭ 2014
1
Организация курса
Мы будем работать с
Системой управления базой данных MS SQL Server.
Вам понадобится:
1.
Microsoft SQL Server 2012 Developer Edition (качайте с
DreamSpark)
2.
Microsoft SQL Server Management Studio 2012
3.
ERWin (лежит на сетевой папке)
4.
Visual Studio 2013 Professional (качайте с DreamSpark)
Управление Данными. НИУ ВШЭ 2014
2
Организация курса
Оценка за полугодие:
0.7 * Накопленная оценка + 0.3 * Экзамен
Накопленная:
0.3 * Контрольная 1 + 0.3 * Контрольная 2 + 0.4 * Домашнее задание
Экзамен:
Устно-письменный экзамен по билетам
Управление Данными. НИУ ВШЭ 2014
3
Некоторые определения
База Данных (database) – структурно-упорядоченный набор хранимой
информации («данные + структура»)
Система управления базой данных (СУБД, DBMS) –
информационная система, предназначенная для выполнения операций
с базами данных (создание, изменение структуры, чтение, запись)
Реляционные БД, СУБД – базы данных, организованные в
соответствии с реляционной моделью Кодда:
- данные хранятся в виде логически связанных таблиц –
«отношений»
- обеспечивается целостность
- операции с данными осуществляются посредством
реляционной алгебры, которая реализуется операторами языка
запросов SQL
С 2000-х годов распространяются не реляционные СУБД (NoSQL – not
only SQL) – документные, XML, key-value, графовые и др.
Управление Данными. НИУ ВШЭ 2014
4
Отношения
Отношение - это подмножество декартового произведения множеств.
Отношения состоят из однотипных кортежей.
В Информационных системах:
Отношение – это таблица (хотя в теории – отношение не содержит
одинаковых кортежей, а таблица – может)
Множество – множество значений атрибута
Кортеж – строка таблицы
Отношения обладают степенью и мощностью. Степень отношения - это
количество элементов в каждом кортеже отношения (аналог количества
столбцов в таблице). Мощность отношения - это мощность множества
кортежей отношения (аналог количества строк в таблице).
Управление Данными. НИУ ВШЭ 2014
5
Этапы моделирования
1. Концептуальное моделирование
-
Выделение основных сущностей в предметной области
-
Выявление связей и между сущностями и их свойств
2. Логическое моделирование
- Нормализация
-
Выделение атрибутов сущностей
-
Определение типов
-
Определение ограничений
3. Физическое моделирование
-
Создание скрипта структуры базы данных (Data Definition
Language) под конкретную СУБД
-
Создание базы в СУБД
Управление Данными. НИУ ВШЭ 2014
6
Концептуальная модель
В начале моделирования необходимо проанализировать предметную область и определить список
ее сущностей.
Концептуальная модель обычно создаётся на «естественном языке», т.е. должна быть понятной и
очевидной
Упрощенно, каждая предметная область содержит сущности следующих типов:
1. События/Действия – сущности описывают операции, которые происходят в предметной области
Примеры: «Продажи», «Посещение лекций», «Звонок», «Выдача кредита» и др.
2. Действующие лица – сущности описывают субъекты (люди, организации, системы), которые
участвуют в действиях
Примеры: «Клиент», «Студент», «Платежный терминал» и др.
3. Объекты – сущности описывают места, предметы, время и др.
Примеры: «Товар», «Магазин», «Договор», «Адрес», и др.
4. Справочники – сущности, которые используются для классификации и группировки других
сущностей
Примеры: «Торговая марка товара», «Регион», «Группа студента», «Орг. Форма» и др.
Управление Данными. НИУ ВШЭ 2014
7
Логическая модель
Как правило, логическая модель создаётся в системах автоматизированного проектирования (CASE
– computer aided software engineering). Основными являются – SAP Sybase PowerDesigner, CA Erwin.
Логическая модель является детализацией концептуальной модели.
Для создания логической модели из концептуальной необходимо выполнить следующие действия:
1.
Определить все атрибуты сущностей
2.
Определить все связи между сущностями. Связи типа «Многие ко многим» необходимо выразить
через промежуточные сущности и связи «1:M»
3.
Провести нормализацию сущностей до 3НФ (для 90% случаев) или 2НФ (10% случаев - для
аналитических баз данных, ориентированных на построение отчётов).
4.
Задать системные имена сущностям, определить ключи
5.
Присвоить имена и типы данных для всех атрибутов
6.
Задать связи между сущностями, указать ключи связей
7.
Задать ограничения, условия ссылочной целостности и др.
Управление Данными. НИУ ВШЭ 2014
8
Физическая модель
Физическая модель – реализация логической модели в конкретной СУБД.
Как правило, CASE-средства позволяют генерировать набор команд (Data Definition Language) на
диалекте языка SQL характерном для каждой СУБД.
Выполнение скрипта DDL приводит к созданию базы данных и объектов в ней, т.е. пустых таблиц с
требуемыми колонками.
В корпоративных информационных системах как правило применяются промышленные СУБД:
-
Microsoft SQL Server
-
Oracle Database
-
IBM DB2
Для интернет-сайтов и простых задач применяются open-source СУБД
-
MySQL
-
PostgreSQL
Для работы с большими данными используются специальные реляционные СУБД (teradata, sybase),
а также нереляционные СУБД.
Управление Данными. НИУ ВШЭ 2014
9
Упражнение 1
-
Откройте MS Access
-
Создайте Базу Данных по заданию
Z:\Управление данными\2015-09-26\Задание 1.doc
Управление Данными. НИУ ВШЭ 2014
10
Ключи отношения
По определению, тело отношения есть множество кортежей, поэтому
отношения не могут содержать одинаковые кортежи. Это значит, что каждый
кортеж должен обладать свойством уникальности. На самом деле, свойством
уникальности в пределах отношения могут обладать отдельные атрибуты
кортежей или группы атрибутов. Такие уникальные атрибуты удобно
использовать для идентификации кортежей.
Потенциальный ключ – множество атрибутов PK отношения T, обладающих:
Свойством уникальности - в отношении не может быть двух различных
кортежей, с одинаковым значением PK
Свойством неизбыточности - никакое подмножество PK в не обладает
свойством уникальности.
Потенциальный ключ, состоящий из одного атрибута, называется простым.
Потенциальный ключ, состоящий из нескольких атрибутов,
называется составным.
Отношение может иметь несколько потенциальных ключей. Один из
потенциальных ключей объявляется первичным, а остальные альтернативными.
Управление Данными. НИУ ВШЭ 2014
11
Типы данных
Как правило, типы данных делятся на три группы:
•
Простые типы данных.
•
Структурированные типы данных.
•
Ссылочные типы данных.
Реляционная модель требует, чтобы типы используемых
данных были простыми.
Управление Данными. НИУ ВШЭ 2014
12
Простые типы данных
Простые типы данных
Вариации
• Логический.
•
• Строковый.
• Вещественный.
• Численный.
• Дата.
Целый.
• Время.
• Денежный.
• Перечислимый.
• Интервальный.
• И т.д.…
Управление Данными. НИУ ВШЭ 2014
13
Домен
Домен – логическое подмножество типа данных
•
Домен имеет уникальное имя
•
Домен определен на некотором простом типе данных или на другом
домене.
•
Домен имеет логическое условие
•
Домен несет определенную смысловую нагрузку.
Примеры:
Возраст клиента – целое число от 18 до 200
Пол – Строки из множества {М;Ж}
Управление Данными. НИУ ВШЭ 2014
14
Целостность сущностей
В реальном мире часть данных может быть неизвестна
Номер
пропуска
ФИО
Дата рождения
Адрес
Роль
1
Иванов
?
М.
Авиамоторная
Студент
2
Фомин
17.02.1987
М. Новые
черемушки
Преподаватель
3
Клепко
01.10.1975
?
Преподаватель
4
Сидорова
10.10.1994
М. Семеновская
?
Управление Данными. НИУ ВШЭ 2014
15
Целостность сущностей
Пустые значения и значения по умолчанию
Номер
пропуска
ФИО
Дата рождения
Адрес
Роль
1
Иванов
?
М.
Авиамоторная
Студент
2
Фомин
17.02.1987
М. Новые
черемушки
Преподаватель
3
Клепко
01.10.1975
4
Сидорова
10.10.1994
Управление Данными. НИУ ВШЭ 2014
Преподаватель
М. Семеновская
Студент
16
Целостность сущностей
Null-значение
Номер
пропуска
ФИО
Дата рождения
Адрес
Роль
1
Иванов
NULL
М.
Авиамоторная
Студент
2
Фомин
17.02.1987
М. Новые
черемушки
Преподаватель
3
Клепко
01.10.1975
4
Сидорова
10.10.1994
Преподаватель
М. Семеновская
Студент
Правило целостности сущностей. Атрибуты, входящие в состав
некоторого потенциального ключа не могут принимать null-значений.
Управление Данными. НИУ ВШЭ 2014
17
Связи между сущностями
Клиенты
Товары
Номер
клиента
ФИО
Дата
рождения
Код
товара
Наименова
ние
1
Иванов
NULL
A
Стекло
2
Фомин
17.02.1987
B
Олово
3
Клепко
01.10.1975
C
Дерево
4
Сидорова
10.10.1994
Заказы
Номер
заказа
Дата
заказа
Клиент
Товар
Количест
во
1
01.01.2013
1
A
3
2
01.02.2013
2
A
10
Управление Данными. НИУ ВШЭ 2014
18
Типы связей (Cardinality)
Связь типа один-к-одному означает, что один экземпляр первой сущности
(левой) связан с одним экземпляром второй сущности (правой).
Связь типа один-ко-многим означает, что один экземпляр первой сущности
(левой) связан с несколькими экземплярами второй сущности (правой). Это
наиболее часто используемый тип связи. Левая сущность (со стороны "один")
называется родительской, правая (со стороны "много") - дочерней.
Связь типа много-ко-многим означает, что каждый экземпляр первой сущности
может быть связан с несколькими экземплярами второй сущности, и каждый
экземпляр второй сущности может быть связан с несколькими экземплярами
первой сущности
Управление Данными. НИУ ВШЭ 2014
19
Модальность связей
Модальность "может" означает, что экземпляр одной сущности может
быть связан с одним или несколькими экземплярами другой сущности, а
может быть и не связан ни с одним экземпляром.
Модальность "должен" означает, что экземпляр одной сущности обязан
быть связан не менее чем с одним экземпляром другой сущности.
Управление Данными. НИУ ВШЭ 2014
20
План семинара 3
1
Типы данных
2
Целостность сущностей
3
Связи между сущностями
4
Ссылочная целостность
Управление Данными. НИУ ВШЭ 2014
21
Внешние ключи
Определение. Пусть дано отношения Child.
Подмножество атрибутов FK отношения Child будем
называть внешним ключом, если:
•
Существует отношение Parent (и не обязательно
различны) с потенциальным ключом PK .
•
Каждое значение FK в отношении Child всегда
совпадает со значением PK для некоторого кортежа
из Parent , либо является null-значением.
Отношение Parent называется родительским
отношением,
Отношение Child называется дочерним отношением.
Управление Данными. НИУ ВШЭ 2014
22
Внешние ключи
Клиенты
Номер
клиента
ФИО
Дата
рождения
1
Иванов
NULL
2
Фомин
17.02.1987
3
Клепко
01.10.1975
4
Сидорова
10.10.1994
Правило целостности внешних ключей.
Внешние ключи не должны быть
несогласованными, т.е. для каждого
значения внешнего ключа должно
существовать соответствующее
значение первичного ключа в
родительском отношении.
Заказы
Номер
заказа
Дата
заказа
Клиент
Товар
Количест
во
1
01.01.2013
1
A
3
2
01.02.2013
2
A
10
3
01.01.2014
5
C
100
Управление Данными. НИУ ВШЭ 2014
23
Нарушение ссылочной целостности
Клиенты
Номер
клиента
ФИО
Дата
рождения
1
Иванов
NULL
2
Фомин
17.02.1987
3
Клепко
01.10.1975
4
Сидорова
10.10.1994
Не могут нарушить целостность
Вставка в родительское отношение
Удаление в дочернем отношении
Могут нарушить целостность
Обновление кортежа в родительском отношении.
Удаление кортежа в родительском отношении.
Вставка кортежа в дочернее отношение.
Обновление кортежа в дочернем отношении.
Заказы
Номер
заказа
Дата заказа
Клиент
Товар
Количество
1
01.01.2013
1
A
3
2
01.02.2013
2
A
10
Управление Данными. НИУ ВШЭ 2014
24
Стратегии контроля ссылочной целостности
RESTRICT (ОГРАНИЧИТЬ)- не разрешать выполнение операции, приводящей к
нарушению ссылочной целостности.
CASCADE (КАСКАДИРОВАТЬ)- разрешить выполнение требуемой операции, но
внести при этом необходимые поправки в других отношениях так, чтобы не допустить
нарушения ссылочной целостности и сохранить все имеющиеся связи.
Номер
клиента
ФИО
Дата
рождения
5
Иванов
NULL
3
Клепко
01.10.1975
4
Сидорова
10.10.1994
1. При UPDATE – будет обновлено
дочернее отношение
2. При DELETE – в дочернем
отношении будет удаление
Номер
заказа
Дата
заказа
Клиент
Товар
Количеств
о
1
01.01.2013
5
A
3
2
01.02.2013
2
A
10
Управление Данными. НИУ ВШЭ 2014
25
Задание 2
Пуск –> CA -> Erwin Data Modeler
Z:\управление данными\2015-09-26\Задание
2.docx
Управление Данными. НИУ ВШЭ 2014
26
Документ
Категория
Без категории
Просмотров
25
Размер файла
91 Кб
Теги
семинар
1/--страниц
Пожаловаться на содержимое документа