Теория баз данных · 2015-05-20 · 3. 4-8 лекции. Логическое...

31
© 2014, Незнанов А.А. 1 Теория баз данных

Upload: others

Post on 26-Apr-2020

21 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Теория баз данных · 2015-05-20 · 3. 4-8 лекции. Логическое проектирование БД – реляционная модель данных

© 2014, Незнанов А.А. 1

Теория баз данных

Page 2: Теория баз данных · 2015-05-20 · 3. 4-8 лекции. Логическое проектирование БД – реляционная модель данных

Теория баз данных Информация, данные, документы Информационные системы (ИС) и обработка данных Базы данных (БД) Системы управления базами данных (СУБД) Модели данных

Концептуальные (например, Entity-Relationship (ER-диаграммы)) Логические (например, реляционная) Физические (например, b -деревья)

Языки манипулирования данными Structured Query Language (SQL): ISO/IEC 9075-1:2011

Information technology – Database languages – SQL Проектирование доступа к данным в ИС

Архитектуры ИС и Рефакторинг БД, оптимизация БД

© 2014, Незнанов А.А. 2

Page 3: Теория баз данных · 2015-05-20 · 3. 4-8 лекции. Логическое проектирование БД – реляционная модель данных

Цели и задачи дисциплины Проанализировать причины возникновения и цели создания БД и

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

используемых терминов Понять, какие проблемы приходится решать при создании и

эксплуатации БД Прояснить процесс перехода от неформального описания

предметной области к формальной модели данных Подробно рассмотреть принципы построения и реализацию

реляционных БД, использующих язык структурированныхзапросов SQL

На лабораторных занятиях предметно исследовать проблемыконцептуального, логического и физического моделированияпредметной области в виде БД

© 2014, Незнанов А.А. 3

Page 4: Теория баз данных · 2015-05-20 · 3. 4-8 лекции. Логическое проектирование БД – реляционная модель данных

Трёхуровневая модель абстракцииданных

Концептуальныйуровень

(сущности)

Логическийуровень (типы)

Физическийуровень

(форматы)

© 2014, Незнанов А.А. 4

Инфологическаямодель

Даталогическаямодель

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

Page 5: Теория баз данных · 2015-05-20 · 3. 4-8 лекции. Логическое проектирование БД – реляционная модель данных

Абстракция в информационных системах

Абстракция

Процессов(подпрограммы)

Данных(структуры

данных)

Того и другого(объекты)

© 2014, Незнанов А.А. 5

Page 6: Теория баз данных · 2015-05-20 · 3. 4-8 лекции. Логическое проектирование БД – реляционная модель данных

Пример ER-диаграммы

© 2014, Незнанов А.А. 6

Page 7: Теория баз данных · 2015-05-20 · 3. 4-8 лекции. Логическое проектирование БД – реляционная модель данных

Пример элементов оператора SQL

UPDATE paymentsSET salary = salary * 1.12WHERE pid = '24835'

© 2014, Незнанов А.А. 7

UPDATEclause

SET clause

WHEREclause

Statement

Expression

Expression

Predicate

Page 8: Теория баз данных · 2015-05-20 · 3. 4-8 лекции. Логическое проектирование БД – реляционная модель данных

Структура банка данных

© 2014, Незнанов А.А. 8

Page 9: Теория баз данных · 2015-05-20 · 3. 4-8 лекции. Логическое проектирование БД – реляционная модель данных

Информация Информация

это базовое понятие, не определяемое конструктивно безиспользования рекурсии из-за проблемы герменевтического круга

от лат. informatio – разъяснение, изложение, осведомленность сведения, воспринимаемые человеком и (или) спец. устройствами как

отражение фактов материального или духовного мира в процессекоммуникации (ГОСТ 7.0-99)

информации – это то, что снижает неопределённость (К. Шеннон) информация – это не материя и не энергия (Н. Винер) Информация – это свойство материи быть организованной, иметь

структуру и свойства, быть определяемой. Любая информацияматериальна по форме существования и нематериальна посодержанию. Материальность формы обнаруживается органами чувствчеловека, а содержание – его сознанием (Б. Коллендер)

Пояснение Понятие передачи информации предполагает наличие по крайней мере

трех объектов: источника, потребителя и среды передачи Таким образом, информация в «чистом» виде – это идея

© 2014, Незнанов А.А. 9

Page 10: Теория баз данных · 2015-05-20 · 3. 4-8 лекции. Логическое проектирование БД – реляционная модель данных

Данные Данные [data] (здесь) – любая информация,

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

Информационные процессы, использующие данные,называются обработкой данных [data processing] иизучаются информатикой

Многие задачи обработки данных ставятся в различныхобластях практически идентичны и могут быть решеныодин раз для последующего использования Например, в виде модуля программно-аппаратного комплекса

© 2014, Незнанов А.А. 10

Page 11: Теория баз данных · 2015-05-20 · 3. 4-8 лекции. Логическое проектирование БД – реляционная модель данных

Обработка данных Обработка данных разбивается на несколько областей

1. Ввод/вывод – извлечение информации из внешней среды и еёформализация в виде данных или сохранение данных во внешнейсреде

2. Преобразование форматов – изменение способа представленияданных

3. Телекоммуникации – передача данных между компонентамираспределённых информационных систем

4. Хранение – обеспечение долговременной доступности, целостности изащищенности данных

5. Поиск данных – выполнение поисковых запросов к массивам данных6. Переработка – существенное преобразование содержания и/или

формы данных, выполняемое на основе анализа и/или синтеза

Данные различаются по подходам к их обработке на:1) числовые (параметры простых математических моделей)2) текстовые (цепочки символов некоторого алфавита)3) структурные (графы, описывающие структуру систем)4) мультимедийные (аудиовизуальные и др.)

© 2014, Незнанов А.А. 11

Page 12: Теория баз данных · 2015-05-20 · 3. 4-8 лекции. Логическое проектирование БД – реляционная модель данных

Системный подходСистема [system] – такое объединение множества элементов

некоторыми связями, у которого появляются свойства,отсутствующие у любого элемента по отдельности

Системный подход – основа развития современныхтехнологий

Иерархия систем Надсистемы и подсистемы

Синергия и эмерджентность! Система интегративное свойство Система структура Система иерархия (стратификация и классификация подсистем и

надсистем) Система антагонистические свойства и диалектика

© 2014, Незнанов А.А. 12

Page 13: Теория баз данных · 2015-05-20 · 3. 4-8 лекции. Логическое проектирование БД – реляционная модель данных

Системы и принцип абстракции Абстракция [abstraction] –

Разграничение внешних (существенных с точки зрения надсистем)свойств системы и внутренних деталей её строения ифункционирования

Принцип моделирования, заключающийся в игнорировании аспектовпроблемы, не оказывающих существенного влияния на её решение

Иерархия систем => иерархия абстракций Именно абстракция позволяет использовать специализацию

и модуляризацию См. программный интерфейс (API – Application Programming

Interface) Закон дырявых абстракций (Джоэл Сполски):

все нетривиальные абстракции дырявы Следствие – при ошибке в интерфейсе для её исправления может

потребоваться знание как минимум трёх смежных уровнейабстракций

© 2014, Незнанов А.А. 13

Page 14: Теория баз данных · 2015-05-20 · 3. 4-8 лекции. Логическое проектирование БД – реляционная модель данных

Информационная система Информационная система (ИС) [information system]

(по законодательству РФ) – организационно упорядоченнаясовокупность документов (массивов документов) и информационныхтехнологий, в том числе с использованием средств вычислительнойтехники и связи, реализующих информационные процессы

Система, предназначенная для хранения, обработки, поиска,распространения, передачи и предоставления информации

ИС работают не с информацией, а с данными в видедокументов

© 2014, Незнанов А.А. 14

Page 15: Теория баз данных · 2015-05-20 · 3. 4-8 лекции. Логическое проектирование БД – реляционная модель данных

Артефакт и документ Артефакт (от лат. Arte – искусственный и Factus –

сделанный) – искусственно созданный с некоторой цельюматериальный или нематериальный (информационный)объект

Документ [document] – артефакт, являющийся средствомзакрепления различным способом на материальномносителе сведений о фактах, событиях, явленияхобъективной действительности и мыслительнойдеятельности человека Документы принято условно разделять на первичные (содержащие

запись фактов) и вторичные (содержащие результаты анализа этихфактов)

© 2014, Незнанов А.А. 15

Page 16: Теория баз данных · 2015-05-20 · 3. 4-8 лекции. Логическое проектирование БД – реляционная модель данных

Стандартизация документов В соответствии с ГОСТ Р 51141-98 «Делопроизводство и

архивное дело. Термины и определения» документ –зафиксированная на материальном носителе информация среквизитами, позволяющими ее идентифицировать, адокументирование – это запись информации на различныхносителях по установленным правилам

Базовые правила документирования устанавливает ГОСТ Р6.30 2003 «Унифицированные системы документации.Унифицированная система организационно-распорядительной документации. Требования коформлению документов» Стандарт вводит 30 реквизитов

(от «подписи» до «Государственного герба Российской Федерации»)

© 2014, Незнанов А.А. 16

Page 17: Теория баз данных · 2015-05-20 · 3. 4-8 лекции. Логическое проектирование БД – реляционная модель данных

Интерфейсы и протоколы

Уровень 5 (низший)

Уровень 4

Уровень 3

Уровень 2

Уровень 1 (высший)

© 2014, Незнанов А.А. 17

Уровень 5 (низший)

Уровень 4

Уровень 3

Уровень 2

Уровень 1 (высший)

I1 I2

Возр

аста

ние

уров

ня а

бстр

акци

и

ПротоколыСистема 1 Система 2

Page 18: Теория баз данных · 2015-05-20 · 3. 4-8 лекции. Логическое проектирование БД – реляционная модель данных

Открытые системы и OSI Открытая система (по IEEE POSIX 1003.0, 1988 г.)–

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

Семиуровневая модель OSI (Open Systems Interconnection) дляформализации взаимодействия открытых систем. Проект: 1982-1996 гг. Огромный вклад в концепцию современных телекоммуникаций Основной методологический результат – эталонная модель Технологические результаты уже практически не используются

Переусложнённые, трудные для реализации, использующие концепциителекоммуникаций 1980-х годов

Сетевые интерфейсы и протоколы Стек TCP/IP как победитель в борьбе за существование

© 2014, Незнанов А.А. 18

Page 19: Теория баз данных · 2015-05-20 · 3. 4-8 лекции. Логическое проектирование БД – реляционная модель данных

Базовые принципы абстракции данных Разделение концептуального, логического и физического

представления данных Логическая независимость

Возможность изменять приложения без необходимости изменениядругих приложений, использующих те же форматы и модели данных

Физическая независимость Возможность изменять физическое расположение и формат данных

без необходимости изменения приложений, которые их используют Возможность формального описания «моделей данных» с

помощью стандартов на метаданные

© 2014, Незнанов А.А. 19

Page 20: Теория баз данных · 2015-05-20 · 3. 4-8 лекции. Логическое проектирование БД – реляционная модель данных

Недостатки файловых систем Файловая система является уже знакомой вам

абстракцией внешней памяти Файловая система, как абстракция физического доступа к

носителям информации не обеспечивает Структуризацию данных на уровне отдельных файлов Контроль полноты и целостности данных Способов описания данных (метаданных – «данных о данных» или

«словаря данных»), что необходимо для обеспечения целостности иполноты

Способов поиска данных с учётом метаданных

© 2014, Незнанов А.А. 20

Page 21: Теория баз данных · 2015-05-20 · 3. 4-8 лекции. Логическое проектирование БД – реляционная модель данных

База данных База данных (БД) [database (DB )] – структурированная

совокупность данных, организованная по единым правилам,включающим принципы описания, хранения иманипулирования этими данными Как правило, БД является информационной моделью некоторой

предметной области БД можно рассматривать на различных уровнях абстракции, обычно

выделяют как минимум два: физический (способ представления данных с использованием конкретного

аппаратного и программного обеспечения) логический (способ представления данных с точки зрения пользователя)

Также обычно при проектировании БД выделяется верхний уровень– концептуальный, который позволяет не привязывать начальныйанализ предметной области и построение самой общей моделиданных к каким-либо конкретным инструментам последующейобработки данных

© 2014, Незнанов А.А. 21

Page 22: Теория баз данных · 2015-05-20 · 3. 4-8 лекции. Логическое проектирование БД – реляционная модель данных

СУБД Система управления базами данных (СУБД) [database

management system (DBMS)] – системное программноеобеспечение, служащее для абстракции физическогоуровня представления данными и управления доступом кданным Другой смысл – программно-аппаратный комплекс

Основные функции СУБД: определение данных (то есть работа с метаданными [metadata] –

данными, описывающими данные) хранение данных обработка данных обеспечение целостности и безопасности данных импорт/экспорт данных в различных форматах

© 2014, Незнанов А.А. 22

Page 23: Теория баз данных · 2015-05-20 · 3. 4-8 лекции. Логическое проектирование БД – реляционная модель данных

Цель создания БД и СУБД Главная цель – борьба со сложностью путём абстракции

способа доступа к данным СУБД позволяет рассматривать БД, абстрагируясь от

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

СУБД поддерживает высокоуровневые интерфейсывзаимодействия с клиентами (например, язык SQL, который будет изучаться в дальнейшем)

© 2014, Незнанов А.А. 23

Page 24: Теория баз данных · 2015-05-20 · 3. 4-8 лекции. Логическое проектирование БД – реляционная модель данных

Клиенты СУБД Клиент СУБД [DBMS client] – человек или программная система,

использующая СУБД для работы с данными. Пользователи [user] – клиенты-человеки:

Конечный пользователь [end user] Администратор [administrator]

Администратор данных [data administrator], обеспечивает качество, сохранность идоступность для использования в служебных целях информации, накопленной ворганизации

Администратор баз данных [database administrator], обеспечивает эффективноефункционирование СУБД и использование компьютерных баз данных, в том числеподдержку схем данных, надежность и отказоустойчивость технических средстввсех уровней, доступность и удобство ввода/вывода данных

Такое разделение пользователей вытекает из концепциицентрализованного управления данными [centralized datamanagement], когда администраторы держат в своих рукахконтроль над всеми действиями конечных пользователей всоответствие с политикой безопасности

© 2014, Незнанов А.А. 24

Page 25: Теория баз данных · 2015-05-20 · 3. 4-8 лекции. Логическое проектирование БД – реляционная модель данных

Банк данных Банк данных (БнД) – это система специальным образом

организованных данных – баз данных, программных,технических, языковых, организационно-методическихсредств, предназначенных для обеспеченияцентрализованного накопления и коллективногомногоцелевого использования данных Основы банка данных – СУБД и методика управления данными

© 2014, Незнанов А.А. 25

Page 26: Теория баз данных · 2015-05-20 · 3. 4-8 лекции. Логическое проектирование БД – реляционная модель данных

История развития СУБД 1968 г. – первая промышленная иерархическая СУБД IMS (Information

Management System) фирмы IBM 1975 г. – первый стандарт СУБД, разработанный ассоциацией по языкам

систем обработки данных – Conference of Data System Language(CODASYL)

1976 г. – Для СУБД System R создаётся язык SEQUEL 1979 г. – СУБД dBase-II фирмы Ashton-Tate

Затем куплена Borland, особенно популярной стала версия 4 1981 г. – Э. Кодд формализует реляционную модель данных 1985 г. – старт проекта ORION фирмы MCC 1986 г. – стандарт SQL 1.0, Конец 1980-ч годов – первые попытки создания распределённых СУБД 1992 г. – стандарт SQL92, начало нового этапа развития SQL-серверов

как компонентов клиент-серверных систем Конец 1990-х годов – реальное внедрение распределённых СУБД Конец 2000-х годов – конвергенция технологий доступа к данным на

основе виртуализации и универсальных языков разметки (XML и др.)

© 2014, Незнанов А.А. 26

Page 27: Теория баз данных · 2015-05-20 · 3. 4-8 лекции. Логическое проектирование БД – реляционная модель данных

© 2014, Незнанов А.А. 27

Структура курса1. 1 - 2 лекции.

Введение в область абстракции данных и управления данными. Базыданных и системы управления ими. Терминология, классификация,принципы и подходы.

2. 2 - 3 лекции.Концептуальное проектирование БД – от анализа предметной области доинфологической модели данных.

3. 4-8 лекции.Логическое проектирование БД – реляционная модель данных и еёреализация на практике в SQL-серверах.

4. 9-11 лекции.Физическое проектирование БД – от даталогической модели дофизической реализации в некоторой СУБД. Работа с данными в различныхпроцессах жизненного цикла ПО. Эволюция БД.

5. 12-13 лекции.Корректность работы, отказоустойчивость и безопасность БД.

6. 14-15 лекции.Другие подходы к управлению данными (NoSQL, языки XML, JSON и др.).

7. 16-17 лекции.Анализ данных, управление знаниями и взгляд в будущее.

Page 28: Теория баз данных · 2015-05-20 · 3. 4-8 лекции. Логическое проектирование БД – реляционная модель данных

Следующая лекция Что же такое «модели данных» с формальной точки зрения

и на практике? Какие бывают модели данных, БД и СУБД? Как моделируют данные?

© 2014, Незнанов А.А. 28

Page 29: Теория баз данных · 2015-05-20 · 3. 4-8 лекции. Логическое проектирование БД – реляционная модель данных

© 2014, Незнанов А.А. 29

Источники информации (литература)1. Дейт К. Введение в системы баз данных, 8-е издание. — Вильямс, 2005. – 1328

с.2. Гарсиа-Молина Г., Ульман Дж., Уидом Дж. Системы баз данных. Полный

курс. – Вильямс, 2003. – 1088 с.3. Конноли Т., Бегг К. Базы данных. Проектирование, реализация и

сопровождение. Теория и практика. – Вильямс, 2003. – 1435 с.4. Кренке Д. Теория и практика построения баз данных. – Питер, 2005. – 864 с.5. Советов Б.Я., Цехановский В.В., Чертовской В.Д. Базы данных. Теория и

практика. – Высшая школа, 2007. – 463 с.6. Мирошниченко Г. Реляционные базы данных. Практические приемы

оптимальных решений. – БХВ-Петербург, 2005. – 400 с.7. Шаши Ш., Санжей Ч. Основы пространственных баз данных. – М: Кудиц-

Образ, 2004. – 336 с.

Page 30: Теория баз данных · 2015-05-20 · 3. 4-8 лекции. Логическое проектирование БД – реляционная модель данных

Источники информации (сайты)

© 2014, Незнанов А.А. 30

1. Упражнения по SQL (www.sql-ex.ru)2. CIT Forum: базы данных (www.citforum.ru/database)3. INTUIT.RU: Интернет-Университет Информационных Технологий: Базы данных

(www.intuit.ru/catalog/database/)4. Форум «Client/server technologies» (www.sql.ru)5. Справочник с примерами по языку SQL (sql.itsoft.ru)6. Cumming A. A Gentle Introduction to SQL (www.sqlzoo.net)7. The connection string reference (www.connectionstrings.com)8. Internetworking Technology Handbook

(http://docwiki.cisco.com/wiki/Internetworking_Technology_Handbook)

Page 31: Теория баз данных · 2015-05-20 · 3. 4-8 лекции. Логическое проектирование БД – реляционная модель данных

© 2014, Незнанов А.А. 31

Конец