- •Оглавление
- •Введение
- •Лекция 1. Основные понятия баз данных и стстем управления базами данных
- •Лекция 2. Схема базы данных и модели данных
- •Лекция 3. Технология проектирования баз данных
- •Лекция 4. Предпроектное обследование (системный анализ) предметной области
- •7. Нужно ли обновлять технические средства? и если нужно, то каким образом?
- •Лекция 5. Инфологичфеское проектирование баз данных
- •Лекция 6. Реляционная модель данных
- •Лекция 7. Даталогическое проектирование (на примере реляционных баз данных)
- •Лекция 8. Технологии манипулирования данными в базах данных. Основы sql
- •Лекция 9. Физическое проектирование базы данных
- •Список рекомендуемой литературы
Лекция 1. Основные понятия баз данных и стстем управления базами данных
Ключевые понятия курса. Понятие информации, данных и семантики данных. Разделение данных и их семантики, понятие базы данных и прикладной программной системы (приложения).
Базы данных. Две точки зрения на сущность базы данных: инфологическая и даталогическая. Классификация баз данных. Требования к организации базы данных: неизбыточность, непротиворечивость, независимость от приложений. Жизненный цикл базы данных.
Системы управления базами данных. Понятие и функции систем управления базами данных. Средства поддержки баз данных в системах управления базами данных. Режимы работы систем управления базами данных. Классификация систем управления базами данных.
Первая лекция курса «Основные понятия баз данных и систем управления базами данных» посвящена знакомству с базами данных и системами управления базами данных. В данной лекции приводятся определение ключевых понятий, общие сведения о базах данных и системах управления базами данных.
Основные понятия и термины базы данных.
К базовым понятиям, используемым в курсе «Базы данных», относятся: информация и данные.
Информация – знания относительно фактов, событий, вещей, идей и понятий, которые в определённом контексте имеют конкретный смысл (ISO/IEC 2382-1:1993). Для того, что бы информацией можно было обмениваться, интерпретировать и обрабатывать она должна приобрести определенную форму представления, т.е. превратиться в данные.
Данные – зарегистрированная информация, т.е. представление фактов, событий, вещей, идей и понятий в форме, приемлемой для общения, интерпретации, или обработки человеком или с помощью автоматических средств (ISO/IEC/IEEE 24765:2010).
Интерпретацию смысла данных называют семантикой данных. Данные и их семантика могут фиксироваться совместно или раздельно.
Пример 1.1 Совместная фиксация данных и их семантики.
-
Стоимость киносеанса – 200 руб. («Стоимость киносеанса в рублях» - это семантика; «200» - данные) – совместная фиксация.
Пример 1.2 Раздельная фиксация данных и их семантики
-
Время сеанса
Зал
Наименование фильма
Стоимость, руб.
11:00
Зал №1
«Шрек-10»
150
11:30
Зал №2
«Титаник-3»
250
12:00
Зал №3
«Аватар-5 »
250
12:30
Зал №1
«Шрек-10»
300
13:00
Зал №2
«Титаник-3»
300
Применение ЭВМ для ведения (сопровождения, поддержки) и обработки данных обуславливает более высокий уровень разделения данных и их семантики: данные хранятся в памяти ЭВМ, а их интерпретация возложена на пользователя (или созываемые пользователем программы).
Причины высокого уровня разделения данных и их семантики являются историческим и заключаются в следующем: 1) ЭВМ не обладала достаточными возможностями для обработки текстов на естественном языке; 2) стоимость памяти ЭВМ была первоначально весьма велика.
Данные, которые хранятся в памяти ЭВМ и организованны определенным образом, называют базой данных, а программы, с помощью которых пользователь работает с данными (в т.ч. интерпретирует и обрабатывает), называют прикладными программными системами (приложениями).
При этом доступ к данным, которые хранятся в памяти ЭВМ, может осуществляться сразу несколькими пользователями одновременно (так называемое корпоративное или коллективное использование) на периодической основе (многократное использование) с различными целями (многоцелевое использование).
Таким образом, база данных рассматривается как некое хранилище данных, которые предназначены для коллективного (корпоративного), многократного и многоцелевого использования. Так как данные используется многократно и для разных целей, то они должен быть определенным образом структурированы. Структурированность подразумевает явное выделение составных частей (элементов), связей между ними, а также типизацию элементов и связей, при которой с типом элемента (связи) соотносится определённая семантика и допустимые операции. Такая точка зрения к пониманию баз данных получила название даталогический подход.
Однако существует и иная точка зрения, в соответствии с которой база данных рассматривается как динамически обновляемая информационная модель части реального мира (предметной области), данные о которой хранятся в памяти ЭВМ. Объектом моделирования являются информационные процессы, протекающие в предметной области. Всякое моделирование предполагает абстрагирование и отражение самого существенного (основного), поэтому в базе данных подлежат хранению только базовые данные, из которых можно получить другие. Такая точка зрения к пониманию баз данных получила название инфологический подход.
Объединим две точки зрения в рамках одного определения: база данных – организованная в соответствии с определёнными правилами и поддерживаемая в памяти компьютера совокупность данных, характеризующая актуальное состояние некоторой предметной области и используемая для удовлетворения информационных потребностей пользователей.
Классификация баз данных осуществляется по нескольким признакам: 1) по типу модели данных (иерархические, сетевые, реляционные, объектно-реляционные, объектно-ориентированные, многомерные); 2) по характеру организации хранения данных и обращения к ним (персональная (локальная), общая (централизованная), распределенная); 3) по типу хранимой информации (документальные, фактографические и лексикографические); 4) по характеру организации данных (неструктурированные, частично структурированные и структурированные) и др.
К организации базы данных предъявляются определённые требования: неизбыточность, непротиворечивость, независимость от приложений (правило «Три НЕ»).
База данных неизбыточна, если удаление какого-либо элемента данных ведет к потере информации о предметной области. Избыточность базы данных проявляется в возникновении дублирования (повторения) данных. Различают избыточное и неизбыточное дублирование данных. При избыточном дублировании повторяются не просто данные, а информация о предметной области. Избыточное дублирование относится к нежелательным свойствам базы данных. Оно ведет к увеличению объема памяти, необходимого для физического хранения базы данных, и времени обработки. Но самое неприятное последствие избыточного дублирования – появление проблем, связанных с обновлением базы данных. Эти проблемы называют аномалиями актуализации
База данных непротиворечива, если все хранящиеся в ней данные удовлетворяют определенным условиям. Условия, которым должны удовлетворять хранимые в базе данные, называют ограничениями целостности. Всякое ограничение целостности задает некоторое логико-семантическое свойство данных и определяется спецификой предметной области. Если база данных содержит противоречивые данные, и они со временем накапливаются, то, в конце концов, база данных разрушается как единое целое. Она перестает быть адекватной информационной моделью предметной области. Такая база данных теряет практическую значимость и полезность.
База данных независима от приложений, если существует возможность осуществлять реструктуризацию базы данных или ее реорганизацию, не меняя при этом приложения.
Различают логическую и физическую независимость. Логическая независимость предполагает возможность изменения логического уровня представления данных одного приложения без корректировки других приложений (логический уровень − это то, как видит данные пользователь: ему не важны детали представления данных в памяти системы). Физическая независимость предполагает возможность изменения физического уровня представления данных (физический уровень – это то, как «видит» данные компьютер: особенности структур и расположения данных на внешних носителях).
Для обеспечения независимости базы данных от приложений используют системы управления базами данных (СУБД).
Система управления базами данных (СУБД) – совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования базы данных многими пользователями (ГОСТ Р ИСО МЭК ТО 10032-2007).
СУБД обеспечивает выполнение двух групп функций: 1) предоставление среды взаимодействия пользовательского приложения и базы данных; 2) поддержка базы данных на всех этапах ее жизненного цикла.
СУБД должна предоставлять возможность доступа к данным любым пользователям, включая и тех, которые практически не имеют и (или) не хотят иметь представления о: физическом размещении в памяти данных и их описаний; механизмах поиска запрашиваемых данных; проблемах, возникающих при одновременном запросе одних и тех же данных многими пользователями (прикладными программами); способах обеспечения защиты данных от некорректных обновлений и (или) несанкционированного доступа; поддержании баз данных в актуальном состоянии и множестве других функций СУБД.
В общем случае с одной базой данных могут работать множество различных приложений (именно СУБД призвана обеспечить работу множества приложений с единой базой данных таким образом, чтобы каждое из них выполнялось корректно, но учитывало все изменения в базе данных, вносимые другими приложениями).
Жизненный цикл базы данных – непрерывный процесс, началом которого становится момент принятия решения о необходимости базы данных, а завершением – ее изъятие из эксплуатации. Поддержка базы данных на всех этапах ее жизненного цикла предполагает возможность проектирования, создания и эксплуатации (ведения, использования, модернизации и развития).
Таким образом, СУБД имеет два режима работы: 1) проектировочный - предназначен для создания или изменения структуры базы и создания её объектов; 2) пользовательский - использование ранее подготовленных объектов для наполнения базы или получения данных из нее.
Для указанных целей СУБД предоставляет пользователям разнообразные языковые средства: 1) язык описания данных (язык высокого уровня декларативного типа, предназначенный для описания логической структуры (схемы) базы данных); 2) языки манипулирования данными (языки высокого уровня, предназначенные для определения действий над данными: ввод, модификацию и выборку данных по запросам); 3) язык определения доступа к данным; 4) языки управления транзакциями и др.
Классификация систем управления базами данных осуществляется по нескольким признакам: 1) по типу модели данных (иерархические, сетевые, реляционные, объектно-реляционные, объектно-ориентированные, многомерные); 2) по числу конечных пользователей (однопользовательские и многопользовательские); 3) по степени универсальности (общего и специального назначения); 4) по масштабу решаемых задач (профессиональные (промышленные) и персональные (настольные)).
В качестве заключения приведем выдержку из ГОСТ Р ИСО МЭК ТО 10032-2007, в которой в лаконичной форме представлен сущность ключевых понятий курса и их взаимосвязь: «постоянные данные в среде базы данных включают в себя схему и базу данных. Схема включает в себя описания содержания, структуры и ограничений целостности, используемые для создания и поддержки базы данных. База данных включает в себя набор постоянных данных, определённых с помощью схемы. Система управления данными использует определения данных в схеме для обеспечения доступа и управления доступом к данным в базе данных».
Подробное изложение теоретических вопросов, затронутых в первой лекции, можно найти в литературе [1,3,5,6]. Практические аспекты этих вопросов можно отыскать в работах [2,4].
По завершению изучения первой лекции студенту необходимо: знать основные понятия баз данных и систем управления базами данных; уметь классифицировать базы данных и системы управления базами данных.
Знания, полученные входе изучения материалов конспекта лекции, следует самостоятельно проверить путем ответов на контрольные вопросы (список контрольных вопросов приведен в Методических рекомендациях по самостоятельному изучению дисциплины «Базы данных», которые являются неотъемлемой частью учебно-методического комплекса дисциплины «Базы данных»).
