Навигация по лекциям
1
Лекция 1. Вводная лекция по дисциплине. Изучаемые темы, методическое и программное обеспечение дисциплины.
2
Лекция 2. Современное программное обеспечение и базы данных
Презентации:
управление данными_лекция 2_новая.pdf
3
Лекция 3. Концептуальная модель данных
4
Лекция 5. Физическое моделирование реляционных баз данных. Базовая семантика языка SQL.
5
Лекция 6. Поддержка разработки десктопных приложений баз данных
6
Лекция 7. Поддержка разработки web-приложений баз данных

Лекция 2. Современное программное обеспечение и базы данных

**1-й учебный вопрос: Информация и данные. Основные определения.** Информация – любые сведения о явлении, процессе. Данные – информация, представленная в определенной форме для обработки ее человеком или компьютером. Информация хранится в виде данных и извлекается из данных, чаще всего аналитическим или логическим путем. Информационная система – механизм для хранения, поиска, извлечения и модификации некоторой информации. Предметная область – часть реального мира, с которым имеет дело ИС в зависимости от своего назначения. Три этапа обработки информации в ИС (рис. 1) ![Рисунок 1. Три этапа обработки информации.](/uploads/msu_image/image/10083/1.jpg) База данных – совокупность специальным образом организованных и взаимосвязанных данных. Рассмотрим существующие варианты реализации БД. Наиболее актуальных и часто используемых в настоящее время два: технология веб-сервер и технология сервер приложений. Рассмотрим их отдельно. В упрощенном виде веб-серверная технология показана на рис. 2. ![Рисунок 2. Веб-серверная технология в общем виде.](/uploads/msu_image/image/10084/2.jpg) ПК браузер, в данном случае выступает источником API и необходимых библиотек, чтобы приложение, которое находится на веб-сервере или на стороне ПК могло как вести информационный обмен с БД, так и выдавать пользователю результаты его запросов к данным в удобном виде. Сервер приложений показан на рис. 3. ![Рисунок 3. Технология сервера приложений.](/uploads/msu_image/image/10085/3.jpg) В данном случае приложение находится на мобильном устройстве. Сервер приложений является связующим звеном между мобильным устройством и БД, принимая на себя основную процессорную нагрузку при переработке и выдаче результатов запросов пользователя. Используется API мобильных ОС (iOs, Android). **2-й учебный вопрос: Актуальные модели данных.** В настоящий момент времени актуальными моделями хранения данных являются реляционная модель, noSQL модель и модель хранилища данных. Большинство баз данных функционируют в одной из перечисленных моделей. Позже мы будем подробно говорить на каждой из них, пока же сфокусируемся на их принципиальных различиях. Реляционная модель хранения данных в общем, упрощенном виде показана на рис. 4. ![Рисунок 4. Упрощенная модель реляционной модели данных.](/uploads/msu_image/image/10086/4.jpg) По своей структуре данная модель представляет собой коллекцию из плоских двухмерных таблиц, каждая из которых хранит информацию о каком-нибудь объекте наблюдения. Например, одной из таблиц для рис. 4 могла бы быть таблица “Студент”, если тематика БД — это университет, и мы хотим наблюдать за успехами студентов, которые в нем учатся. Схема хранилищ данных также, как и реляционная модель работает по структуре связанных друг с другом таблиц. Однако таблицы содержат в себе уже не данные об объекте наблюдения, а точки зрения и показатели фактов. Накладывая точку зрения на факты, можно получить конкретные значения для требуемой сущности. noSQL модель работает принципиально иначе. Принцип показан на рис. 6. ![Рисунок 6. Модель noSQL.](/uploads/msu_image/image/10087/5.jpg) В данном случае понятие таблицы заменяется понятиями “дерево” и “лес”. Каждая сущность, или группа сущностей обозначается через ее “ствол”, который притягивает к себе все факты, возникающие от существования этой сущности. В зависимости от типа noSQL модели, деревья и лес могут также называться колонками или же мажорными и минорными ключами. **3-й учебный вопрос: Типы баз данных, компоненты баз данных.** На верхнем уровне группировки выделяют два основных типа организации баз данных: однопользовательские и многопользовательские. Наглядно различия между типами показаны на рис. 7. ![Рисунок 7. Примеры БД по типам.](/uploads/msu_image/image/10088/6.jpg) Однопользовательской тут считается база данных менеджера по продажам (очевидно, потому что у этой БД только и всегда один пользователь – менеджер, в данном случае). Остальные приведенные примеры относятся к многопользовательским. В общем виде подходы к этим типам БД похожие, но при администрировании их могут существенно различаться. Для всех типов данных структура компонентов будет одинакова, она приведена на рис. 8. ![Рисунок 8. Общая (типовая) структура компонентов базы данных.](/uploads/msu_image/image/10089/7.jpg) Пользователь, через приложение баз данных (программное средство, как правило обладающее упрощенным GUI, использующее при реализации своего функционала базу данных), с использованием средства под названием СУБД (DBMS) получает необходимые для своей работы данные. Основные функции приложения баз данных показаны в табл. 1. ![Таблица 1](/uploads/msu_image/image/10090/8.jpg) В наиболее известной реляционной модели данных к приведенной выше структуре компонентов добавится еще один слой в виде подъязыка запросов к БД SEQUEL или SQL (рис. 9). ![Рисунок 10. Структура компонентов реляционной базы данных.](/uploads/msu_image/image/10091/9.jpg) СУБД (система управления базами данных) – средство, предоставляющее пользователю инструментарий для взаимодействия с БД. Основные функции любой СУБД представлены в табл. 2. ![Таблица 2](/uploads/msu_image/image/10092/10.jpg) Основные и вспомогательные элементы БД показаны на рис. 10 ![Рисунок 11. Основные и вспомогательные элементы БД.](/uploads/msu_image/image/10093/11.jpg) Под вспомогательными элементами БД понимаются элементы оптимизации доступа и обработки данных, такие как: индексы, хранимые процедуры, триггеры, пользовательские представления; а также элементы организации безопасности данных, такие как данные безопасности, данные о восстановлении и метаданные. Модификация и чтение данных – это элементы операций, обычно называемые CRUD (от англ. CREATE, RENAME, UPDATE, DELETE – соответственно создание, переименование, изменение, удаление). Остальные 4 категории напрямую связаны с реализацией функции администратора БД и напрямую на саму структуру БД не влияют. **4-й учебный вопрос. Жизненный цикл и ресурсы БД.** Жизненный цикл базы данных – время эффективной работы сложившейся структуры данных. Состоит из следующих этапов: - проектирование; - реализация; - эксплуатация; - модернизация и развитие; - полная реорганизация. Организационные ресурсы БД (лица, организующие функционирование базы данных): - конечные пользователи; - администраторы БД; - разработчики приложений. Один из ключевых организационных ресурсов БД — это ее администратор. Основные функции администратора базы данных: - анализ предметной области; - проектирование структуры БД и связей между данными; - первоначальная загрузка и ведение БД; - защита данных; - обеспечение восстановления БД; - анализ обращений пользователей; - анализ эффективности функционирования БД; - работа с конечными пользователями; - подготовка и релизы системных средств. **5-й учебный вопрос: История развития технологий хранения данных.** Основные вехи истории показаны на рис. 11. ![Рисунок 12. Вехи истории развития БД](/uploads/msu_image/image/10094/12.jpg) 1. До 1970 года отдельных технологий по хранению данных не существовало. Взаимодействие с данными происходило на уровней файлов в специальных программах, файловых менеджерах на IBM PC. 2. 1980 год – первые программы, специализирующиеся на хранении и обработке данных: ADABAS, System2000. Принято считать, что данное ПО работало в рамках пререляционной модели данных. 3. 1978-85 год – появление первых реляционных СУБД (Oracle, IBM DB2). 4. 1992 год, появление первой однопользовательской СУБД MS Access. 5. С 1995 года, появление open source, freeware ПО СУБД MySQL и PostreSQL. Появление серверных web технологий хранения, обработки и выдачи данных (комплекс Apache, язык динамической разметки страниц интернета PHP). 6. 1998 год – изобретение удобных способов унификации данных через универсальный расширенный язык разметки XML. 7. 2010 год – появление noSQL технологий хранения данных.