Базы данных. Самостоятельная работа студента ЕКАТЕРИНБУРГ
1 Министерство образования и науки Российской Федерации Федеральное государственное образовательное учреждение высшего профессионального образования Уральский государственный лесотехнический университет Институт экономики и управления Екатеринбург, Сибирский тракт, 37, оф Тел. +7 (343) Сайт: Самостоятельная работа студента Базы данных ЕКАТЕРИНБУРГ 2015
2 Цели и задачи дисциплины, сфера профессионального применения Курс «Базы данных» в конкретных областях деятельности преследует несколько целей: показать особенности технологии банков данных как одной из основных новых информационных технологий, с тем, чтобы студенты понимали тенденции развития новых информационных технологий, видели их преимущества и недостатки, особенности работы в условиях конкретных технологий в их профессиональной деятельности; помочь ориентировать студентов во множестве современных СУБД и связанных с ними технологий; познакомить с теоретическими и организационно-методическими вопросами построения и функционирования систем, основанных на концепции баз данных; научить практической работе (проектирование, ведение и использование баз данных) в среде одной из настольных СУБД; показать возможности современных высокоуровневых языков и средств создания приложений. После изучения данного курса студент должен знать: основные понятия и компоненты банков данных, разновидности банков данных и их особенности, подходы к проектированию БД и сферы их применимости, особенности реляционной модели и их влияние на проектирование БД, языки описания и манипулирования данными разных классов (QBE, SQL), технологии организации БД; определить предметную область, спроектировать реляционную базу данных (определить состав каждой таблицы, типы полей, ключ для каждой таблицы), определить ограничения целостности, получать результаты в виде ответов на запросы, экранных форм, отчетов. Приобрести навыки в описании БД (таблиц и связей между ними), вводе данных в БД, реализации запросов, создании экранных форм и отчетов в среде конкретной СУБД (в настоящее время рекомендуется использовать СУБД Access как одну из самых распространенных, простых и в то же время достаточно мощных настольных СУБД). Сфера профессионального использования: Знания и навыки, полученные в результате изучения данной дисциплины могут быть применены: при самостоятельном создании информационных систем с использованием настольных СУБД для выполнения своих профессиональных функций; при формировании запросов к уже существующей информационной базе; 2
3 для создания документов различной формы, сформированных на основе информации, хранящейся в БД; при формулировании технического задания при создании ИС силами профессиональных разработчиков. Для изучения данной дисциплины студент должен знать: Основой курса можно считать школьный курс «Информатика». Элементы данного курса используются при изучении следующих дисциплин: «Информационные системы», «Проектирование экономических информационных систем», «Проектный практикум». Содержание дисциплины «Базы данных» Раздел 1. Введение в банки данных Тема 1. Структура и задачи курса. Развитие технологии банков данных. Файловые системы. Тема 2. Типология БД. Документальные БД. Фактографические БД. Принципы построения систем банков данных. Состав банков данных. Основные функции. Модели организации данных: иерархическая, сетевая, реляционная. Реляционная модель данных: основные понятия, нормализация. Тема 3. Жизненный цикл базы данных. Предварительное планирование. Проверка осуществимости. Определение требований. Концептуальное (инфологическое) проектирование. Реализация. Оценка работы и поддержка БД. Тема 4. Трехуровневая архитектура БД. Концептуальный уровень. Внешний уровень. Внутренний уровень. Два подхода, положенных в основу проектирования: «от предметной области» (ориентированный на данные) и «от запроса» (функционально-ориентированный). Этапы проектирования структуры БД: концептуальное проектирование (создание инфологической модели), выбор СУБД, даталогическое проектирование, проектирование на физическом уровне. При изучении темы 1 необходимо: 1. Читать лекции, включенные в данный образовательный комплекс по дисциплине «Базы данных». Акцентировать внимание на следующих понятиях: банк данных; база данных; СУБД. Определить основные особенности технологии баз данных и выявить преимущества, вытекающие из них. Уяснить основные особенности и сферы применения банков данных разных классов, тенденции развития СУБД и технологии БнД. 3
4 2. Для самооценки по теме 1 необходимо ответить на следующие вопросы. Дайте определение банка данных. Назовите основные преимущества БнД. Каковы предпосылки создания БнД? Какие требования предъявляются к БнД? Какие компоненты включаются в состав БнД? Что называется Системой Управления Базой Данных? Что называется базой данных? Перечислите основные признаки классификации БнД. В чем разница между системами со структурированными и неструктурированными базами данных? Перечислите этапы проектирования баз данных. Что называется схемой, подсхемой и внешней схемой базы данных? Какую роль играет подсхема? Какие преимущества дает ее использование? Что называется словарем данных, репозитарием? Что называется инфологической моделью? Является ли инфологическое моделирование этапом, присущим только проектированию баз данных? Какая информация является исходной для построения концептуальной модели? Кто должен создавать концептуальную модель и почему? Какие требования предъявляются к концептуальной модели? Что называется даталогической моделью? Какая информация является исходной для даталогической модели? Какие вопросы решаются на стации даталогического проектирования? Что называется физической моделью? Какая информация является исходной для физической модели? Какие вопросы решаются на стадии физического проектирования? Перечислите основные категории пользователей банков данных. Кого называют конечными пользователями? Кого называют администраторами банков данных? Перечислите основные функции администратора банка данных. В каком порядке должны выполняться этапы проектирования БнД? 4
5 Раздел 2. Проектирование реляционной базы данных Тема 5. Концептуальное (инфологическое) проектирование. Информационный анализ. Основные понятия. Информационные переменные. Отношения. Объекты. Описание связей между объектами. Тема 6. Выбор системы управления базами данных. Определение ключевых критериев оценки при выборе СУБД. Сравнительные характеристики некоторых СУБД. Тема 7. Даталогическое моделирование. Отражение общего содержания баз данных, структурированное на логическом уровне и ориентированное на конкретную СУБД. Основные конструкции перехода от инфологической к реляционной модели в четвертой нормальной форме (4НФ). Тема 8. Проектирование на физическом уровне. Средства физического моделирования: структура хранения (организация файлов), поисковая структура (способы доступа), язык описания данных. Последовательная организация файлов, последовательный доступ к файлу. Индекснопоследовательная организация файлов, прямой доступ к файлу. Прямая организация файлов, хеширование. Реализация логических структур данных: связанные списки, индексные файлы, инвертированные списки. Тема 9. Защита и целостность данных. Уровни защиты. Условия целостности (ограничения). Типы целостности данных (целостность таблицы, целостность столбцов, ссылочная целостность). Поддержка целостности в SQL. Декларативная целостность данных как часть определения базы данных. Процедурная целостность (использование триггеров, хранимых процедур, правила для столбцов, использование значений по умолчанию) в SQL Server для технологии Клиент-сервер. При изучении темы 2 необходимо: 1. Читать материалы лекций. Акцентировать внимание на следующих понятиях: класс объектов; тип и экземпляр объекта; виды объектов; виды свойств; виды связей между объектами; отношение; ключ (первичный, простой, составной, внешний); домен; целостность; ограничение целостности; целостность связи. Уяснить особенности реляционной модели и их влияние на проектирование реляционной БД. Уяснить суть и значение нормализации реляционной модели. 5
6 Уяснить суть алгоритма перехода от концептуальной модели к реляционной. Определить виды ограничений целостности и способы их задания. Уяснить, что изменится при работе системы при задании разных ограничений целостности. Научиться определять, когда и какие ограничения целостности следует задавать. 2. Для самооценки по теме 1 необходимо ответить на вопросы: Что называется предметной областью? Что называется концептуальной моделью? Для каких целей она служит? Перечислите основные компоненты концептуальной модели? Какие требования предъявляются к концептуальной модели? Что называется классом объектов? Как называется графическое средство, используемое для отображения концептуальной модели? Какие разновидности объектов выделяются в базовой ERDмодели? Какие графические обозначения используются для изображения каждого из видов объектов? Приведите примеры из любых предметных областей для каждой из разновидностей объектов. Какие разновидности свойств объектов выделяются в базовой ERD модели? Какие графические обозначения используются для изображения каждого из видов свойств? Приведите примеры из любых предметных областей для каждого из разновидностей свойств. Что называется даталогическим проектированием? Какая информация является исходной для даталогического проектирования? Все ли показатели, отображенные в инфологической модели, должны включаться в базу данных? Дайте классификацию языковых средств СУБД. Охарактеризуйте основные классы СУБД. СУБД каких классов в настоящее время являются более распространенными? Как Вы понимаете целостность данных? Что означает термин «Доступ на чтение»? Какие способы поддержания целостности данных Вы знаете? Что такое триггер? 6
7 Раздел 3. Организация процессов обработки данных в базах данных Тема 10. Работа в среде СУБД ACCESS Создание структуры БД. Ввод и редактирование данных. Схемы данных. Технология работы с реляционной БД. Разработка форм. Простые запросы. Многотабличные запросы. Отчеты. Экранные формы. Источники данных для экранных форм. Создание многотабличных форм. Вычисляемые поля в форме. Виды управляющих элементов в экранной форме и способы их создания. Изменение типа элемента управления. Создание формы в режиме «Мастера». Корректировка форм в режиме «Конструктора». Тема 10. Управление реляционной базой данных с помощью SQL. Определение схемы и таблиц. Простые запросы. Многотабличные запросы. Встроенные функции. Операции изменения данных. Табличные языки запросов. Язык Query-by-Example (QBE)- табличный (графический) язык. Основные понятия: таблица-образец, целевая таблица, элемент образец. Манипуляция данными: простые запросы, многотабличные запросы, встроенные функции, группировка, операции изменения базы данных. Тема 11. Табличные языки запросов. Язык Query-by-Example (QBE)- табличный (графический) язык. Основные понятия: таблица-образец, целевая таблица, элемент образец. Манипуляция данными: простые запросы, многотабличные запросы, встроенные функции, группировка, операции изменения базы данных. Вычисляемые поля. Упорядочение данных в ответе. Состав и порядок следования полей в ответе. Использование агрегатных функций. Параметрические запросы. Перекрестные вопросы. Запросы на изменение данных в таблицах. Использование выборки по запросу при последующей обработке данных. Табличные языки запросов как «построители» SQL запросов. При изучении темы 3 необходимо: 1. Читать материалы лекций, а также дополнительную литературу, указанную ниже. 2. Читать учебное пособие по выполнению лабораторно практического цикла. Акцентировать внимание на следующих вопросах: Как задаются запросы каждого из классов? Определите классы экранных форм. 7
8 Уяснить возможности создания отчетов: задание формы и состава документы; введение вычисляемых полей; получение документов, включающих несколько степеней итогов; получение документов на основе нескольких связанных файлов. Для самостоятельной проверки знаний необходимо ответь на вопросы: В какой последовательности выполняются работы по созданию базы данных в среде СУБД? Что такое структура таблицы? Как назначаются свойства полям таблицы? Что такое схема данных? Как реализовать в среде СУБД Access Правила поддержания целостности данных? Перечислите классы запросов. Кем и в каких целях применяется язык SQL в реляционных СУБД? В чем преимущества и недостатки представления и отображения данных в табличном виде и в виде экранных форм? В чем сходства и различия фильтрации данных и запросов на выборку данных? Что такое экспорт данных? Раздел 4. Современные направления развития и использования баз данных Тема 12. Гипертекстовые и мультимедийные БД. XML-серверы. Коммерческие БД. Определения гипертекста и гипермедиа. Архитектура гипермедийных систем. Перспективные направления в гипермедиа. Модель организации данных в гипертекстовых БД. XML-серверы -средства передачи данных по сети Internet. Тема 13. Распределенные базы данных Обработка данных в различных архитектурах: локальная БД, архитектура «ФАЙЛ- СЕРВЕР», архитектура «КЛИЕНТ-СЕРВЕР». Основные понятия, сущность. Общая модель РСУБД. Тема 14. Объектно-ориентированные БД. Характеристика и мотивация объектно-ориентированных баз данных. Концепции объектно-ориентированных баз данных. Тема 15. Технология оперативной обработки транзакции (ОLТР технология). 8
9 Принципы и модели транзакций. Атомарность. Целостность. Изолированность. Долговременное хранение. Плоские транзакции. Контрольные точки. Многозвенные транзакции. Вложенные транзакции. Характеристики средств обработки транзакций. Тема 16. Информационные хранилища. ОLАР-технология. Принципы построения хранилищ баз данных: предметная ориентация, возможности интеграции, неизменчивость данных, изменения во времени. Базовая архитектура хранилищ данных. Агрегирование данных. OLAP технология технология комплексного многомерного анализа данных. Многомерные кубы. Тема 17. Проблема создания и сжатия больших информационных массивов, информационных хранилищ и складов данных. Требования, предъявляемые к алгоритмам сжатия данных. Преимущества, достигаемые за счет хранения сжатых данных. При изучении темы 3 необходимо: 1. Читать материалы лекций, а также дополнительную литературу, указанную ниже. Акцентировать внимание на следующих вопросах: понятие распределенных баз данных; классификация распределенных бах данных; различие между централизованными и распределенными базами данных; особенности работы с базами данных в многопользовательском режиме; проблемы, связанные с параллельным доступом и пути их решения; работа с распределенными базами данных в режимах «файлсервер» и «клиент-сервер»; обеспечение целостности БД в распределенных системах; протокол двухфазной фиксации, технологии тиражирования, репликации; особенности создания баз данных, функционирующих в локальных и глобальных сетях; различие между OLAP и OLTP технологиями; суть идеи хранилищ данных; понятие коммерческих баз данных. Для самостоятельной проверки знаний необходимо ответь на вопросы: Что «распределено» в распределенных информационных системах и каковы основные принципы создания и функционирования распределенных информационных систем? 9
10 Поясните суть техники «представлений» в базах данных и задачи, которые решаются на основе техники «представлений». Какой из основных принципов распределенных информационных систем принесен в «жертву» в системах «Клиент-сервер»? Поясните преимущества и недостатки такого подхода. На какие компоненты подразделяется программное обеспечение систем «Клиент сервер»? Какие функции выполняются каждым компонентом? Поясните принципы и схемы RDA, DBS, и AS моделей систем «Клиент-сервер» и дайте их сравнительную характеристику. Какие системы называются системами с «тонкими» («толстыми») клиентами, с 2- или 3- уровневой (2- или 3- звенной) архитектурой? Охарактеризуйте роль и место монитора транзакций в СУБД систем «Клиент-сервер». Какие издержки совместной обработки общих данных предотвращает монитор транзакций в системах «Клиент-сервер»? Дайте определение сериальному плану выполнения транзакций и охарактеризуйте основные подходы к механизмам построения таких планов. Поясните суть двухфазного протокола синхронизационных захватов объектов и механизм возможного образования тупиковых ситуаций. Как распознаются и разрушаются тупиковые ситуации в технике двухфазного протокола синхронизационных захватов? В чем заключается гранулирование объектов захватов и почему такой подход обеспечивает более эффективные стратегии построения сериальных планов выполнения транзакций? Каковы достоинства и недостатки техники временных меток при синхронизационных захватах объектов? В чем заключается суть и механизм объектного связывания данных при построении распределенных информационных систем из разрозненных локальных баз данных? Существует ли системный каталог распределенной базы данных, построенной на основе технологии объектного связываия, и каким образом выражается логическая схема такой базы данных? В чем достоинства и недостатки такого подхода? Какие функции, кроме традиционных, выполняют локальные («настольные») СУБД при использовании технологий объектного связывания? Охарактеризуйте главную идею и основные подходы к построению распределенных информационных систем в технологиях реплицирования данных? 10
11 Поясните принцип отложенных обновлений и процессов синхронизации реплик. Чем главная реплика отличается от остальных? Как наличие главной реплики соотносится с принципами распределенных систем? Что обеспечивается возможностью создания частичных реплик? Какие стандарты представления слабоструктурированных данных Вы знаете? Для каких целей предназначены XML серверы? Перечислите основные концепции объектно-ориентированных баз данных. Какую роль играют хранилища информации? Можно ли утверждать, что хранилища данных построены по принципу реляционной модели организации данных? Задания для самостоятельной работы студентов Для проведения итогового контроля необходимо выполнить следующее типовое задание: 1. Разработать базу данных для хранения следующих сведений о работниках предприятия: 1.1. Библиографические данные: фамилия, имя, отчество, дата рождения, пол, место рождения, адрес, отношение к воинской обязанности, автобиография Сведения о работе: отдел, должность, оклад Информация о владении иностранными языками Состав семьи. 2. Описать базу данных. 3. Задать связь между таблицами (определить схему). 4. Определить ограничения целостности, выбрать способы их задания и реализовать их. 5. Спроектировать экранные формы для ввода данных в базу данных. 6. Реализовать следующие запросы: 6.1. Определить среднюю зарплату по каждому из отделов Какими языками владеет конкретный сотрудник Создать параметрический запрос для формирования списков сотрудников конкретного отдела Выдать список женщин, имеющих детей Определить, какую зарплату будут получать сотрудники, если произойдет ее увеличение на 20%. 7. Получить выходной документ «Ведомость для получения премии». 11
12 Способ проверки знаний Раздел Содержание Способ проверки знаний Раздел 1. Введение в банки данных тестирование Раздел 2. Проектирование реляционной базы данных Раздел 3. Организация процессов обработки данных в базах данных Раздел 4. Современные направления развития и использования баз данных тестирование Тестирование, выполнение лабораторных работ тестирование 12