74244

Базы данных и их классификация

Лекция

Информатика, кибернетика и программирование

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

Русский

2014-12-30

158 KB

6 чел.

Базы данных

Базы данных и их классификация

Одной из задач информационных систем является хранение данных из определенной предметной области.

Предметная область – это часть реального мира, объединяющая схожие или связанные понятия. Чтобы необходимые данные можно было легко найти и выдать пользователю в любой момент времени, данные о предметной области должны храниться структурировано.

Термин «база данных» (database) был введен в обиход в области вычислительной техники примерно в 1962 году.

База данных (БД) – это именованная совокупность структурированных данных, относящихся к определенной предметной области.

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

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

СУБД является частью информационной системы.

Система управления базами данных (СУБД) - приложение, обеспечивающее создание, хранение, обновление и поиск информации в базах данных. СУБД осуществляют взаимодействие между базой данных и пользователями системы, а также между базой данных и прикладными программами, реализующими определенные функции обработки данных.

Основные понятия:

Целостность данных. В общем случае целостность данных означает корректность данных и их непротиворечивость. Для обеспечения целостности накладывают ограничения целостности. В частности, эти ограничения могут иметь вид логических выражений, значения которых всегда должны быть «истина». Если значение хотя бы одного логического выражения ограничения целостности данных принимает значение «ложь», то имеет место быть нарушение целостности данных. Ограничения такого вида иногда называют бизнес-правилами. Примеры ограничений: вес детали должен быть положительным; цвет детали должен быть «Красный», «Синий» или «Зеленый»; возраст родителей не может быть меньше возраста их биологического ребенка.

Целостность транзакций. 

под транзакцией понимается неделимая с точки зрения воздействия на базу данных последовательность операторов манипулирования данными (чтения, удаления, вставки, модификации), приводящая к одному из двух возможных результатов: либо последовательность выполняется, если все операторы правильные, либо вся транзакция откатывается, если хотя бы один оператор не может быть успешно выполнен.

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

Поддержание журнала аудита или журналирование. Все операции, выполняемые в СУБД, должны регистрироваться (или записываться) на физическом и логическом уровне в терминах событий, происходящих в базе данных. Для каждого изменения в структурах хранилища заводится отдельная запись, описывающая изменяемую структуру и собственно изменение. Это выполняется способом, позволяющим повторить изменение или, при необходимости, отменить изменение и вернуть все в исходное состояние. Записи хранятся в специальном файле, который называется журналом транзакций.

Восстановление. Восстановление представляет собой процесс воспроизведения в базе данных изменений, описанных в записях журнала, или возврат базы данных к состоянию до этих изменений.

Безопасность данных.  Защита данных от несанкционированной, случайной или намеренной модификации, разрушения или раскрытия.


К основным функциям СУБД относятся:

  •  Непосредственное управление данными во внешней и оперативной памяти и обеспечение эффективного доступа к данным в процессе решения задач.
  •  Поддержание целостности данных и управление транзакциями.
  •  Ведение системного журнала изменений в базе данных, что обеспечивает восстановление базы данных после технического или программного сбоя.
  •  Реализация поддержки языка описания данных и языка запросов к данным.
  •  Обеспечение безопасности данных.
  •  Обеспечение параллельного доступа к данным нескольких пользователей.


Обычно современная СУБД содержит следующие компоненты:

  •  ядро, которое отвечает за управление данными во внешней и оперативной памяти и журналирование,
  •  процессор языка базы данных, обеспечивающий оптимизацию запросов и создание, как правило, машинно-независимого исполняемого внутреннего кода,
  •  подсистему поддержки времени исполнения, которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБД,
  •  сервисные программы (внешние утилиты), обеспечивающие ряд дополнительных возможностей по обслуживанию информационной системы.

По технологии обработки данных БД подразделяют на два вида:

централизованная БД хранится целиком на ВЗУ одной вычислительной системы; если система входит в состав сети, то возможен доступ к этой БД других систем;

распределенная БД состоит из нескольких, иногда пересекающихся или дублирующих друг друга БД, хранящихся на ВЗУ разных узлов сети.

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

локальный доступ предполагает, что СУБД обрабатывает БД, которая хранится на ВЗУ той же ЭВМ;

- удаленный доступ – это обращение к БД, которая хранится на одном из узлов сети; удаленный доступ может быть выполнен по технологии файл-сервер или клиент-сервер.

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

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

Данные хранятся в БД в соответствии с моделью данных.

Классификация СУБД по типу модели данных:

  •  Дореляционные
    •  Инвертированные списки (файлы)
    •  Иерархичекие
    •  Сетевые
  •  Реляционные
  •  Постреляционные
    •  Объектно-реляционные
    •  Объектно-ориентированные

 

Реляционная модель данных

Основоположником теории реляционных баз данных является британский учёный Эдгар Кодд, который в 1970 году опубликовал первую работу по реляционной модели данных. Наиболее распространенная трактовка реляционной модели данных принадлежит Кристоферу Дейту.

Согласно Дейту, реляционная модель состоит из трех частей: структурной (отношения) , целостностной (наличие условий) и манипуляционной (реляционное исчисление для манипулирование отношений).

Реляционная база данных – это набор отношений, имена которых совпадают с именами схем отношений в схеме базы данных.

Пример. Рассмотрим реляционную модель данных, в которой данные хранятся в виде двумерных таблиц.

Рис.1 Структура данных реляционной модели данных

Таблицы обладают следующими свойствами:

- каждая ячейка таблицы является одним элементом данных;

- каждый столбец содержит данные одного типа (числа, текст и т. п.);

- каждый столбец имеет уникальное имя;

- таблицы организуются так, чтобы одинаковые строки отсутствовали;

- порядок следования строк и столбцов произвольный.

Каждая таблица представляет собой отношение, описываемое атрибутами:

СТУДЕНТ = (ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ФАКУЛЬТЕТ).

Для идентификации записей выделяют следующие виды ключей – полей, определяющих запись:

- первичный: однозначно определяет запись;

- вторичный: выполняет роль поисковых и группировочных признаков и позволяет найти несколько записей.

Ключ может быть простым, если он включает одно поле, или составным, если включает два и более полей.

Если в отношении СТУДЕНТ нет однофамильцев, то первичным будет простой ключ – поле ФАМИЛИЯ. Иначе первичным будет составной ключ ФАМИЛИЯ + ИМЯ + ОТЧЕСТВО.

Первичный ключ должен обладать следующими свойствами:

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

- неизбыточность: первичный ключ не должен содержать поля, удаление которых из ключа не нарушит его уникальность.

Нормализация отношений

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

Выделяют три нормальные формы отношений.

Первая нормальная форма. Отношение называется нормализованным или приведенным к первой нормальной форме, если все его атрибуты являются простыми, то есть не могут быть далее разделены.

Например, отношение

КНИГА = (АВТОР, НАЗВАНИЕ, ВЫХОДНЫЕ ДАННЫЕ)

не находится в первой нормальной форме, так как атрибут ВЫХОДНЫЕ ДАННЫЕ можно разделить на атрибуты ИЗДАТЕЛЬСТВО, ГОД, КОЛИЧЕСТВО СТРАНИЦ.

Отношение

СТУДЕНТ = (НОМЕР, ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ГРУППА)

находится в первой нормальной форме, где поле НОМЕР является простым первичным ключом.

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

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

Например, отношение СТУДЕНТ находится в первой и второй нормальных формах.

Отношение

УСПЕВАЕМОСТЬ = (НОМЕР, ФАМИЛИЯ, ДИСЦИПЛИНА, ОЦЕНКА)

находится в первой нормальной форме и имеет составной ключ НОМЕР + ДИСЦИПЛИНА. Это отношение не находится во второй нормальной форме, так как атрибут ФАМИЛИЯ функционально зависим от поля НОМЕР составного ключа. Чтобы привести это отношение ко второй нормальной форме необходимо разбить его на два связанных отношения:

УСПЕВАЕМОСТЬ = (НОМЕР, ДИСЦИПЛИНА, ОЦЕНКА),

СПИСОК = (НОМЕР, ФАМИЛИЯ).

Связь между отношениями осуществляется по полю НОМЕР.

Третья нормальная форма. Отношение находится в третьей нормальной форме, если оно находится во второй нормальной форме, и каждый неключевой атрибут не зависит от ключа транзитивно.

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

Например, отношение СТУДЕНТ находится в третьей нормальной форме.

Отношение

ДИСЦИПЛИНА = (НАЗВАНИЕ, ЛЕКТОР, УЧ_СТЕПЕНЬ, ГРУППА)

не находится в третьей нормальной форме, так как поле УЧ_СТЕПЕНЬ зависит от поля ЛЕКТОР, но не от составного ключа, поэтому отношение необходимо разбить на два связанных отношения

ДИСЦИПЛИНА = (НАЗВАНИЕ, ЛЕКТОР, ГРУППА),

ПРЕПОДАВАТЕЛЬ = (ЛЕКТОР, УЧ_СТЕПЕНЬ).

Связь между отношениями осуществляется по полю ЛЕКТОР.

Типы связей

Отношения могут быть связаны следующими типами связей:

- один-к-одному (1:1);

- один-ко-многим (1:M);

- многие-ко-многим (M:M).

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

КНИГА = (КНИГА_N, АВТОР_N, НАЗВАНИЕ, ИЗДАТЕЛЬСТВО_N).

Каждая книга имеет место на полке

МЕСТО = (МЕСТО_N, КНИГА_N).

Каждая книга выпускается издательством

ИЗДАТЕЛЬСТВО = (ИЗДАТЕЛЬСТВО_N, АДРЕС).

У каждой книги есть автор

АВТОР = (АВТОР_N, ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО).

Связь один-к-одному означает, что в каждый момент времени одной записи отношения A соответствует только одна запись отношения B и наоборот. Например, каждая книга имеет одно место на полке и на каждом месте стоит только одна книга

.

Связь между отношениями осуществляется по полю КНИГА_N.

Связь один-ко-многим предполагает, что одной записи отношения A соответствуют несколько записей отношения B, но одной записи отношения B соответствуют только одна запись отношения A. Например, одно издательство может издать несколько книг, но книга издается только одним издательством.

.

Связь между отношениями осуществляется по полю ИЗДАТЕЛЬСТВО_N.

При связи многие-ко-многим одной записи отношения A соответствуют несколько записей отношения B и наоборот. Например, один автор может написать несколько книг, и у книги может быть несколько авторов

.

Связь между отношениями осуществляется по полю

АВТОР_N,

Проектирование реляционных баз данных

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

  •  Каким образом отобразить объекты предметной области в абстрактные объекты модели данных, чтобы это отображение не противоречило семантике  предметной области, и было, по возможности, лучшим (эффективным, удобным и т. д.)? Часто эту проблему называют проблемой логического проектирования баз данных.
  •  Как обеспечить эффективность выполнения запросов к базе данных? Эту проблему обычно называют проблемой физического проектирования баз данных.

В случае реляционных баз данных нет общих рецептов по части физического проектирования. Здесь слишком много зависит от используемой СУБД. Поэтому ограничимся только существенными вопросами логического проектирования реляционных баз данных. Более того, не будем касаться определения ограничений целостности общего вида, а ограничимся ограничениями первичного и внешнего ключей. Будем считать, что проблема проектирования реляционной базы данных состоит в обоснованном принятии решений о том, из каких отношений должна состоять базы данных, и какие атрибуты должны быть у этих отношений.

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

Основные свойства нормальных форм такие:

  •  каждая следующая нормальная форма в некотором смысле лучше предыдущей;
  •  при переходе к следующей нормальной форме свойства предыдущих нормальных свойств сохраняются.

Процесс проектирования реляционной базы данных на основе метода нормализации преследует две основные цели:

  •  избежать избыточности хранения данных;
  •  устранить аномалии обновления отношений.

Язык реляционных баз данных SQL

Из рассмотрения реляционной модели известно, что двумя фундаментальными  языками запросов к реляционным базам данных являются языки реляционной алгебры и реляционного исчисления. При всей своей строгости и теоретической обоснованности, эти языки не стали стандартными языками реляционных СУБД. Юридическим и фактическим стандартом стал язык SQL (Structured Query Language – «язык структурированных запросов»).

SQL представляет собой некоторую комбинацию реляционного исчисления кортежей и реляционной алгебры, и был разработан в середине 70-х годов в компании IBM в рамках проекта экспериментальной реляционной СУБД System R. Деятельность по стандартизации SQL началась практически одновременно с появлением его первых коммерческих реализаций. В 1986 г. был принят стандарт ANSI, а в 1987 г. Этот стандарт был одобрен международной организацией по стандартизации (ISO). Время от времени выпускается пересмотренная версия этого стандарта; наиболее свежее обновление было выпущено в 2008 г.

Формальное название стандарта SQL –  ISO/IEC 9075 «Database Language SQL».

Несмотря на наличие международного стандарта, многие производители СУБД вносят изменения в язык SQL, тем самым отступая от стандарта. В результате у разных производителей СУБД в ходу разные диалекты SQL, в общем случае между собой несовместимые. В настоящее время проблема совместимости решается так: описание языка имеет модульную структуру,  основная часть стандарта вынесена в раздел «SQL/Foundation», все остальные выведены в отдельные модули, остался только один уровень совместимости – «Core», что означает поддержку этой основной части. Поддержка остальных возможностей оставлена на усмотрение производителей СУБД.

Все операторы, составляющие основу SQL с момента его появления,  можно разделить на следующие группы:

  •  операторы определения данных (Data Definition Language – DDL)
    •  CREATE создает объект базы данных
    •  ALTER изменяет объект
    •  DROP удаляет объект
  •  операторы манипуляции данными (Data Manipulation Language – DML)
    •  SELECT считывает данные, удовлетворяющие заданным условиям
    •  INSERT добавляет новые данные
    •  UPDATE изменяет существующие данные
    •  DELETE удаляет данные
  •  операторы определения доступа к данным (Data Control Language – DCL)
    •  GRANT предоставляет пользователю (группе) разрешения на определенные операции с объектом
    •  REVOKE отзывает ранее выданные разрешения
    •  DENY задает запрет, имеющий приоритет над разрешением
  •  операторы управления транзакциями (Transaction Control Language – TCL)
    •  COMMIT применяет транзакцию.
    •  ROLLBACK откатывает все изменения, сделанные в контексте текущей транзакции.
    •  SAVEPOINT делит транзакцию на более мелкие участки.

История СУБД (примеры)

1968г – 1 СУБД система IMS IBM 

Эпоха персональных ЭВМ

Clipper и FoxPro  Microsoft Access

Эпоха сетей (Объектно-ориентированные БД) (распределенные БД)

Дальнейшим расширением в структурных преобразованиях являются объектно-ориентированные базы данных. В объектно-ориентированной парадигме предметная область моделируется как множество классов взаимодействующих объектов.

(язык манипуляции данными SQL)

(клиент-серверная архитектура)

Microsoft Access 2000, Oracle 8.4, MS SQL 7.0, SQL Server,

Перспектива переход на ИНТРАНЕТ – способ доступа к данным без клиентского приложения

В этом случае не требуется установка каждого клиента, достаточно выслать код доступа и клиент автоматически может уже работать с базой данных, при этом  все равно, где находится клиент, он может работать как в локальной, так и, в глобальной сети, если технология это позволяет. Подобные системы называются системами, разработанными по интранет-технологии, то есть технологии, использующей принципы технологий Интернета, но реализованные во внутренней локальной сети.

Для разработки Интернет-приложений, которые связаны с базами данных, широко используются новые средства программирования: это язык PERL, язык РНР (Personal Home Page Tools), язык Javascript и ряд других. 

PAGE  11


 

А также другие работы, которые могут Вас заинтересовать

24301. Этика в СМИ, теория свободы прессы 24 KB
  Этика в СМИ теория свободы прессы. Главная тенденция по итогам исследования 2010 года СМИ в теме социальной ответственности низкая доля внимания средств массовой информации к тематике в целом. встречаются редко и лишь на страницах отдельных СМИ. Причем если деятельность официально зарегистрированных организаций благотворительных и правозащитных объединений фондов помощи и общественных ассоциаций проводящих мероприятия имеющие статус официальных а также отдельные социальные акции крупных компаний или государственных структур еще...
24302. Состояние и развитие рекламного рынка в России и мире. Законодательное регулирование рекламных процессов 37 KB
  История рекламы исчисляется не годами а тысячелетиями. С момента возникновения такой экономической категории как товар и установления товарного производства началось развитие рекламы как искусства. Журнал Лаборатория рекламы маркетинга и PR №1. Мировой рекламный рынок: рынок мировой рекламы растет однако его рост замедлился.
24303. Планирование рекламной кампании 31.5 KB
  Планирование рекламной кампании. Планирование рекламной кампании разбивается на следующие этапы: Определение целей рекламной кампании; Разработка рекламной идеи и стратегии рекламной кампании; Исследование рынка; Разработка бюджета рекламной кампании; Выбор средств распространения рекламной информации; Выбор графика проведения рекламной кампании; Составление медиаплана рекламной кампании; Оценка эффективности рекламной кампании. Рекламные кампании различаются: По основному объекту рекламирования можно выделить кампании по рекламе:...
24304. Виды и формы рекламной информации и средств рекламы 30 KB
  ATL это мероприятия по размещению прямой рекламы которые задействуют 6 основных носителей ТВ пресса радио реклама на транспорте наружная реклама реклама в Интернет. Наружная реклама рекламные средства в виде вывесок наружных плакатов щитов перетяжек витрин козырьков световых установок на зданиях улицах и обочинах дороги. Наружная реклама содержит и использует лаконичный запоминающийся текст рисунок. Реклама на транспорте разновидность рекламы достигающей людей которые пользуются общественным транспортом.
24305. Оценка эффективности рекламной кампании 26.5 KB
  По этой причине оценка эффективности рекламы учитывает комплекс создавшихся на рынке условий и факторов способствующих или препятствующих решению маркетинговых задач. Основная задача исследований эффективности рекламы состоит в том чтобы научиться косвенно предсказывать ее влияние на коммерческую деятельность фирмы. Эти исследования прежде всего направлены на повышение эффективности рекламной деятельности снижения риска ее проведения лучшее использование финансовых средств.
24306. Правовой режим предвыборки, ответственность за нарушение законодательства 40.5 KB
  Владимир Евстафьев рассказал вицепрезидент Ассоциации коммуникационных агентств России академик рекламы Агитация предвыборная предвыборная агитация деятельность осуществляемая в период избирательной кампании и имеющая целью побудить или побуждающая избирателей к голосованию за кандидата кандидатов список кандидатов или против него них. Предвыборная агитация может принимать следующие формы: а призывы голосовать за или против кандидата списка кандидатов; б выражение предпочтения какомулибо кандидату избирательному...
24307. Защита репутации юридическими средствами 87.5 KB
  Защита репутации юридическими средствами Защита чести достоинства и деловой репутации Гражданин вправе требовать по суду опровержения порочащих его честь достоинство или деловую репутацию сведений если распространивший такие сведения не докажет что они соответствуют действительности. Правила настоящей статьи о защите деловой репутации гражданина соответственно применяются к защите деловой репутации юридического лица. Защита репутации: право и PR Репутация это информационное по сути явление которое отчасти пытаются описать и защитить с...
24309. Импульс (количество движения) 165 KB
  Импульсом (количеством движения) частицы или импульсом АТТ при поступательном движении называется векторная физическая величина, равная произведению массы частицы (массы АТТ) m на вектор ее скорости (скорость центра инерции АТТ)