Проектирование современных баз данных
Покупка
Основная коллекция
Тематика:
Системы управления базами данных (СУБД)
Издательство:
НИЦ ИНФРА-М
Автор:
Дадян Эдуард Григорьевич
Год издания: 2017
Кол-во страниц: 120
Возрастное ограничение: 16+
Дополнительно
Вид издания:
Учебно-методическая литература
Уровень образования:
Профессиональное образование
ISBN-онлайн: 978-5-16-106529-7
Артикул: 681798.01.99
В пособии рассмотрены и проанализированы концепции баз данных, архитектура реляционных баз данных, операции над таблицами реляционных баз, методы проектирования информационных систем, жизненный цикл ИС, модели жизненного цикла, методология RAD, структурный подход к проектированию, моделирование функций: методология SADT, моделирование потоков данных: методология DFD, моделирование данных: методология ERD, моделирование данных: методология IDEF1X. В книге нашли отражение такие вопросы, как объектно-ориентированный подход к проектированию, составные части объектно-ориентированной методологии, объектно-ориентированный анализ, система обозначений объектно-ориентированной методологии, язык UML, общие сведения и классификация CASE- средств, разработка инфологической модели данных; организация доступа к данным (средства ускоренного доступа к данным, язык запросов, обработка транзакций, средства восстановления после сбоев); построение систем, ориентированных на анализ данных (хранилища данных; модели данных, используемые при построении хранилищ данных).
Написано на основе учебно-методического пособия «Современные базы данных: основы» (М.: ФА, 2004).
Предназначено в качестве учебного пособия для студентов, обучающихся по специальностям «Финансы и кредит», «Бухгалтерский учет, анализ и аудит», «Мировая экономика», «Налоги и налогообложение», а также для магистрантов и слушателей ИПК.
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Э.Г. Дадян Проектирование современных баз данных Москва Инфра-М 2017
Э.Г. Дадян Проектирование современных баз данных Учебно-методическое пособие Москва Инфра-М; Znanium.com 2017
УДК 338.2(075.8) ББК 32.973.23 Д12 Дадян, Э.Г. Проектирование современных баз данных: Учебно-методическое пособие / Э.Г. Дадян. – М.: Инфра-М; Znanium.com, 2017. – 120 с. ISBN 978-5-16-106529-7 (online) В пособии рассмотрены и проанализированы концепции баз данных, архитектура реляционных баз данных, операции над таблицами реляционных баз, методы проектирования информационных систем, жизненный цикл ИС, модели жизненного цикла, методология RAD, структурный подход к проектированию, моделирование функций: методология SADT, моделирование потоков данных: методология DFD, моделирование данных: методология ERD, моделирование данных: методология IDEF1X. В книге нашли отражение такие вопросы, как объектно-ориентированный подход к проектированию, составные части объектно-ориентированной методологии, объектноориентированный анализ, система обозначений объектно-ориентированной методологии, язык UML, общие сведения и классификация CASE- средств, разработка инфологической модели данных; организация доступа к данным (средства ускоренного доступа к данным, язык запросов, обработка транзакций, средства восстановления после сбоев); построение систем, ориентированных на анализ данных (хранилища данных; модели данных, используемые при построении хранилищ данных). Написано на основе учебно-методического пособия «Современные базы данных: основы» (М.: ФА, 2004). Предназначено в качестве учебного пособия для студентов, обучающихся по специальностям «Финансы и кредит», «Бухгалтерский учет, анализ и аудит», «Мировая экономика», «Налоги и налогообложение», а также для магистрантов и слушателей ИПК. ISBN 978-5-16-106529-7 (online) © Э.Г. Дадян, 2007, 2017 (переизд.)
О гл а в л е н и е Введение............................................................................................................................ 5 1. Б а з ы д а н н ы х и С У Б Д .................................................................................... 7 1.1. Данные и ЭВМ.................................................................................................... 7 1.2. Концепция баз данных. Архитектура СУБД.................................................. 10 1.2.1. Мифологическая модель данных...................................................................... 11 1.2.2. Даталогическая модель данных......................................................................... 12 1.2.3. Физическая модель данных............................................................................... 13 1.3. Типы даталогических моделей данны х....................................................... 13 1.3.1. Иерархическая даталогическая модель............................................................ 13 1.3.2. Сетевая даталогическая модель...................................................................... 14 1.3.3. Даталогическая модель на основе инвертированных списков............................. 15 1.3.4. Реляционная даталогическая модель............................................................... 15 1.3.5. Объектно-реляционная даталогическая модель.............................................. 17 1.3.6. Постреляционная даталогическая модель........................................................ 18 2. Р е л я ц и о н н ы е б а з ы д а н н ы х .................................................................... 19 2.1. Основные понятия реляционных баз да нны х........................................... 19 2.1.1. Типданных.......................................................................................................... 19 2.1.2. Домен................................................................................................................... 20 2.1.3. Схема отношения, схема базы данных............................................................. 20 2.1.4. Кортеж, отношение.............................................................................................. 21 2.2. Целостность реляционных баз данны х....................................................... 22 2.3. Основные свойства отношений реляционных баз данных...................... 23 2.3.1. Отсутствие кортежей-дубликатов...................................................................... 23 2.3.2. Отсутствие упорядоченности кортежей............................................................. 23 2.3.3. Отсутствие упорядоченности атрибутов........................................................... 23 2.3.4. Атомарность значений атрибутов...................................................................... 24 3. О п е р а ц и и с т а б л и ц а м и р е л я ц и о н н ы х б а з д а н н ы х ................ 26 3.1. Некоторые операции теории множеств....................................................... 26 3.1.1. Ограничение отношения..................................................................................... 26 3.1.2. Проекция отношения........................................................................................... 27 3.1.3. Объединение отношений.................................................................................... 28 3.1.4. Пересечение отношений..................................................................................... 29 3.1.5. Разность отношений............................................................................................ 31 3.1.6. Произведение отношений................................................................................... 33 3.1.7. Деление отношений............................................................................................ 34 3.1.8. Соединение отношений...................................................................................... 36 3.2. Нормализация отношений реляционных баз данны х.............................. 36 3.2.1. Пример декомпозиции исходной «универсальной» таблицы на простые отношения............................................................................................................ 36 3
3.2.2. Проблемы, возникающие при использовании универсального отношения.... 38 3.2.3. Первая нормальная форма (1NF)...................................................................... 41 3.2.4. Вторая нормальная форма (2NF)....................................................................... 42 3.2.5. Третья нормальная форма (3NF)....................................................................... 44 3.2.6. Нормальная форма Бойса-Кодда (BCNF)........................................................ 46 3.2.7. Четвертая нормальная форма (4NF). Пятая нормальная форма (нормальная форма проекции-соединения (5NF или PJ/NF).......................... 47 4. М е т о д ы п р о е к т и р о в а н и я и н ф о р м а ц и о н н ы х с и с т е м ............. 48 4.1. Жизненный цикл ИС......................................................................................... 48 4.2. Модели жизненного цикла............................................................................... 48 4.3. Методология RAD............................................................................................. 50 4.4. Структурный подход к проектированию...................................................... 52 4.4.1. Моделирование функций: методология SADT................................................. 52 4.4.2. Моделирование потоков данных: методология DFD........................................ 53 4.4.3. Моделирование данных: методология ERD..................................................... 54 4.4.4. Моделирование данных: методология IDEF1X................................................ 60 4.5. Объектно-ориентированный подход к проектированию......................... 63 4.5.1. Составные части объектно-ориентированной методологии........................... 63 4.5.2. Объектно-ориентированный анализ.................................................................. 64 4.5.3. Система обозначений объектно-ориентированной методологии. Язык UML........................ 68 4.6. Общие сведения и классификация CASE-средств.................................... 71 4.7. Разработка инфологической модели данных............................................. 75 4.7.1. Анализ выходных форм..................................................................................... 75 4.7.2. Выделение сущностей....................................................................................... 77 5. О р г а н и з а ц и я д о с т у п а к д а н н ы м ........................................................... 79 5.1. Средства ускоренного доступа к данны м ................................................... 79 5.2. Язык запросов................................................................................................... 80 5.2.1. Язык SQL............................................................................................................ 80 5.2.2. Состав SQL-оператора....................................................................................... 81 5.2.3. SQL-оператор SELECT...................................................................................... 82 5.2.4. SQL-оператор DELETE...................................................................................... 98 5.2.5. SQL-оператор INSERT...................................................................................... 99 5.2.6. SQL-оператор UPDATE..................................................................................... 99 5.3. Обработка транзакций..................................................................................... 100 5.4. Средства восстановления после сбоев........................................................ 104 6. П р и н ц и п ы п о с т р о е н и я с и с т е м , о р и е н т и р о в а н н ы х н а а н а л и з д а н н ы х ........................................................................................... 105 6.1. Хранилища данны х......................................................................................... 105 6.2. Модели данных, используемые при построении хранилищ данных...... 107 Заключение........................................................................................................................ 113 Список литературы.......................................................................................................... 114 Приложение........................................................................................................................ 115 4
Введение О создании и функционировании систем управления базами данных (СУБД1) написано немало книг. Но большинство из н и х- англоязычные издания, вышедшие за рубежом и недостаточно знакомые российскому читателю. Литературы на русском языке, посвященной тематике СУБД, очень немного. Невозможно рекомендовать какое-либо издание, содержание которого покрывало бы весь материал курса «Базы данных». В числе лучших - книги К. Дейта «Введение в системы баз данных» (М.: Наука, 1980) и «Руководство по реляционной СУБД ОВ2» (М.: Финансы и статистика, 1988), а также книга Дж. Ульмана «Основы систем баз данных» (М.: Финансы и статистика, 1983). Хотя эти книги несколько устарели (на английском языке вышло уже несколько дополненных изданий), тем не менее они содержат информацию, которая будет интересна пользователям ПЭВМ, специализирующимся в области разработки и проектирования баз данных. Задача данного учебного пособия - систематизировать и представить в доступной для первоначального изучения и освоения форме материал, в объеме и по содержанию отвечающий требованиям программы курса «Базы данных». Пособие состоит из шести взаимосвязанных разделов, в которых последовательно, шаг за шагом, рассмотрены следующие вопросы: 1) концепция баз данных, архитектура СУБД (инфологическая модель данных, даталогическая модель данных, физическая модель данных, типы даталогических моделей данных, иерархическая даталогическая модель, сетевая даталогическая модель, даталогическая модель на основе инвертированных списков, реляционная даталогическая модель, объектно-реляционная даталогическая модель); 2) реляционные базы данных (основные понятия реляционных баз данных, тип данных, домен, схема отношения, схема базы данных, кортеж, отношение, целостность реляционных баз данных, основные свойства отношений реляционных баз данных); 1 Список сокращений, наиболее часто встречающихся в литературе по автома' тизации интеллектуальной деятельности, дан в приложении к данному пособию. 5
3) операции над таблицами реляционных баз данных (операции теории множеств, нормализация отношений реляционных баз данных); 4) методы проектирования информационных систем, жизненный цикл ИС, модели жизненного цикла, методология RAD, структурный подход к проектированию, моделирование функций: методология SADT, моделирование потоков данных: методология DFD моделирование данных: методология E R D , моделирование данных: методология ID E F 1X , объектно-ориентированный подход к проектированию, составные части объектно-ориентированной методологии, объектно-ориентированный анализ. Система обозначений объектно-ориентированной методологии, язык UM, общие сведения и классификация CASE-средств, разработка инфологической модели данных; 5) организация доступа к данным (средства ускоренного доступа к данным, язык запросов, обработка транзакций, средства восстановления после сбоев); 6) принципы построения систем, ориентированных на анализ данных (хранилища данных, модели данных, используемые при их построении). о<Х) 6
1. Базы данны х и СУБД 1.1. Д ан н ы е и ЭВМ Восприятие реального мира можно соотнести с последовательностью разных, хотя иногда и взаимосвязанных явлений. С давних времен люди пытались описать эти явления. Такое описание называют данными. Традиционно фиксация данных осуществляется с помощью конкретного средства общения (например, с помощью естественного языка или изображений) на конкретном носителе (например, камне или бумаге). Обычно данные (факты, явления, события, идеи или предметы) и их интерпретация (семантика) фиксируются совместно, так как естественный язык достаточно гибок для представления того и другого. Примером может служить утверждение «Стоимость авиабилета - 128 рублей». Здесь «128 рублей» - данное, а «Стоимость авиабилета» - его семантика. Нередко данные и интерпретация разделены. Например, «Расписание движения самолетов» может быть представлено в виде таблицы (рис. 1), в верхней части которой (отдельно от данных) приводится их интерпретация. Такое разделение затрудняет работу с данными (попробуйте быстро получить сведения из нижней части таблицы). Интерпретация Номер рейса Дни недели Пункт отправления Время вылета Пункт назначения Время прибытия Тип самолета Стоимость билета Данные 138 2_4_7 Баку 21.12 Москва 0.52 ИЛ-86 115.00 57 3_6 Ереван 7.20 Киев 9.25 ТУ-154 92.00 1234 2_6 Казань 22.40 Баку 23.50 ТУ-134 73.50 Рис. 1. Расписание движения самолетов. Данные и их интерпретация, оформленные в виде таблицы Применение ЭВМ для ведения (сопровождения, поддержки) и обработки данных обычно приводит к еще большему разделению данных и интерпретации. ЭВМ имеет дело главным образом с данными как таковыми. Большая часть интерпретирующей информации вообще не фиксируется в явной форме (ЭВМ не «знает», является ли «21.50» стоимостью авиабилета или временем вылета). Почему же это происходит? Существуют, по крайней мере, две исторические причины, по которым применение ЭВМ привело к отделению данных от интер 7
претации. Во-первых, ЭВМ не обладали достаточными возможностями для обработки текстов на естественном языке - основном языке интерпретации данных. Во-вторых, стоимость памяти ЭВМ была первоначально весьма велика. Память использовалась для хранения самих данных, а интерпретация традиционно возлагалась на пользователя. Пользователь закладывал интерпретацию данных в свою программу, которая «знала», например, что шестое вводимое значение связано с временем прибытия самолета, а четвертое - с временем его вылета. Это существенно повышало роль программы, так как вне интерпретации данные представляют собой не более чем совокупность битов на запоминающем устройстве. Жесткая зависимость мевду данными и использующими их программами создает значительные неудобства для их использования. Автоматизированные информационные технологии первоначально основывались на файловой организации данных (см.: Автоматизированные информационные технологии: Учебное пособие/ Под ред. Т.В. Воропаевой, В.Б. Либермана, А.И. Никифорова. М.: Финансовая академия, 2002). Каждый программный продукт работал с одним или несколькими файлами данных, структура которых находились в прямой зависимости от приложений. При этом существовал «примат» программного обеспечения: информационные возможности системы полностью определялись возможностями программ; любые изменения в структуре данных были возможны только при условии соответствующего изменения приложений; информация, содержащаяся в файлах данных, в большинстве случаев оказывалась недоступной для других программных средств. Схема такой организации программного и информационного обеспечения представлена на рис. 2. Рис. 2. Схема файловой организации данных 8
На схеме видно, что некоторые приложения могут использовать одни и те же файлы данных; в других случаях требуется специальная программа-конвертер для преобразования данных из одного формата в другой, доступный для использования другим программным средством. Каждое из приложений хранит внутри себя описание используемых данных. Однако такая организация программного и информационного обеспечения имеет свои недостатки. 1. Зависимость данных от приложений. Файлы данных обычно жестко привязаны к программному обеспечению. Использование их возможно только вместе с соответствующими приложениями. Это, во-первых, ограничивает сферу использования данных: они не могут использоваться в тех узлах вычислительной системы, где не установлено соответствующее программное обеспечение. Во-вторых, ограничены возможности обработки информации; они полностью исчерпываются алгоритмами, заложенными в материнской программе, а разработка нового программного обеспечения на базе существующих файлов весьма затруднено, так как описания данных и их структуры опять же хранятся внутри материнской программы. 2. Трудоемкость внесения изменений. Как уже говорилось, любые изменения в структуре информации требуют соответствующего изменения программного обеспечения, то есть, фактически, включают этап дополнительного программирования. Это ставит пользователя в зависимость от разработчиков программного обеспечения и в значительной мере увеличивает затраты на поддержание работоспособности автоматизированной информационной системы. Положение еще более усложняется, если одни и те же файлы используются несколькими приложениями - в этом случае потребуется переработка всех связанных программных средств. 3. Избыточность информации и дублирование данных. Очевидно, что разные программные средства могут использовать одну и ту же информацию, например, нормативно-справочные данные. Но, поскольку каждое приложение использует файлы данных собственного формата, приходится дублировать эту информацию для каждой из использующих программ. Это, с одной стороны, увеличивает непроизводительные затраты на хранение и использование излишней информации, с другой стороны, увеличивает расходы на программирование, поскольку в различных программах повторяются одни и те же процедуры обработки данных. Наконец, это приводит к дополнительным трудовым и материальным затратам при внесении любых изменений в данные, так как эту процедуру приходится повторять для каждого из приложений. 9