Система управления базами данных — (субд)

Модель сетевой базы данных

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

Преимущества сетевой БД:

  1. Концептуально проста и легка в разработке.
  2. Доступ к данным проще и гибче по отношению к иерархической модели и не позволяет члену существовать без родителя.
  3. Может обрабатывать сложные данные из-за своего отношения «многие ко многим». Это позволяет более естественное моделирование отношений между записями или объектами реляционной СУБД в отличие от иерархической.
  4. Благодаря своей гибкости легче перемещается и находит информацию в сетевой БД.
  5. Такая структура изолирует управляющие программы от сложных физических данных.

Безопасность доступа и хранение данных

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

Обеспечить безопасный доступ к базе данных могут все СУБД, но как быть с общепринятой практикой копирования баз данных для создания резервных копий?

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

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

  • имеет смысл использовать (безопасно, надежно, всегда всё доступно);
  • нельзя использовать (все контролируется разработчиком СУБД).

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

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

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

Современная СУБД состоит из:

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

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

Состав СУБД

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

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

Виды баз данных и их структура, примеры

Выделяют несколько видов баз данных. Основными из них являются:

  1. Фактографическая, с краткой информацией об объектах какой-то системы, формат которой строго фиксирован.
  2. Документальная, включает документы разного вида, в том числе текстовые, графические, звуковые, мультимедийные.
  3. Распределенная, является базой данных с разными частями, которые хранятся на различных компьютерах, объединенных в сеть.
  4. Централизованная, представляет собой базу данных, местом хранения которой является один компьютер.
  5. Реляционная, имеет табличную организацию данных.
  6. Неструктурированная (NoSQL), является базой данных, в которой делается попытка решить проблемы масштабируемости и доступности с помощью атомарности и согласованности данных без четкой структуры.

Базы данных разных систем обладают неодинаковой структурой. Для ПЭВМ характерно использование реляционных баз данных с файлами в виде таблиц, в которых столбцы являются полями, а строки – записями. В базе данных находятся данные определенного множества объектов. Для каждой записи характерна информация по одному объекту. Такую базу определяют:

  • имя файла;
  • список полей;
  • ширина полей.

В качестве примера можно привести школьную базу с данными «Ученик», «Класс», «Адрес». Также базой данных является расписание движения поездов или автобусов. В этом случае каждой строке соответствует запись с данными конкретного объекта. Возможные поля: номер рейса, маршрут, время отправления и прибытия. Классической базой данных является телефонный справочник.

Определение

Запрос к базе данных – предписание с указанием на данные, которые необходимы пользователю.

Примечание

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

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

  • набор данных;
  • источник информации;
  • визуальные компоненты управления.

В случае Access роль таких звеньев выполняют:

  1. Table.
  2. DataSource.
  3. DBGrid.

Приложения базы данных является нитью, которая связывает базу и пользователя:

БД => набор данных –=> источник данных => визуальные компоненты => пользователь

Набор данных:

  • Table, в виде таблицы, навигационного доступа;
  • Query, включая запрос, реляционный доступ.

Визуальными компонентами являются:

  1. Сетки DBGrid, DBCtrlGrid.
  2. Навигатор DBNavigator.
  3. Разные аналоги Lable, Edit.
  4. Компоненты подстановки.

Access характеризуется наличием следующих типов полей:

  • текстовый, в виде текстовой строки с максимальной длиной до 255, заданной параметром «размер»;
  • поле МЕМО, является текстом длиной до 65535 символов;
  • числовой, в параметре «Размер поля» можно задать поле: байт, целое, действительное и другие;
  • дата/время, необходимо для записи данных о времени;
  • денежный, является специальным форматом для решения финансовых задач;
  • счетчик, в виде автоинкрементного поля, который предназначен для ключевого поля, увеличивается на единицу после добавления новой записи и сохраняется в данное поле новой записи, что гарантирует разные значения для неодинаковых записей;
  • логический, в виде «да или нет», «правда или ложь», «включен или выключен»;
  • объект OLE, предназначен для хранения документов, картинок, звуков и другой информации, представляет собой частный случай BLOB, то есть полей (Binary Large Object), которые можно встретить в разных базах данных;
  • гиперссылка, необходима для хранения ссылок на ресурсы в Интернете, характерна не для всех форматов баз данных, например, отсутствует в dBase и Paradox;
  • подстановка.

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

Сравниваем три модели баз данных

Первая, иерархическая модель данных, имеет древовидную структуру («родитель-потомок»), и поддерживает только отношения типа «один к одному» или «один ко многим». Эта модель позволяет быстро получать данные, но не отличается гибкостью. Иногда роль элемента (родителя или потомка) неясна и не подходит для иерархической модели.

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

Третья модель — реляционная — более гибкая, чем иерархическая и проще для управления, чем сетевая. Реляционная модель сегодня используется чаще всего.

Объект в реляционной модели баз данных определяется как позиция информации, хранимой в базе данных. Объект может быть осязаемым или неосязаемым. Примером осязаемого объекта может быть сотрудник организации, а примером неосязаемой сущности — учётная запись покупателя. Объекты определяются атрибутами — информационным отображением свойств объекта. Эти атрибуты также известны как столбцы, а группа столбцов — как ряд. Ряд также можно определить как экземпляр объекта.

Объекты связываются отношениями, основные типы которых можно определить следующим образом:

«Один к одному»

В этом виде отношений один объект связан с другим. Например, Менеджер -> Отдел.

У каждого менеджера может быть только один отдел, и наоборот.

«Один ко многим»

В моделях данных отношение одного объекта с несколькими. Например, Сотрудник -> Отдел.

Каждый сотрудник может быть только в одном отделе, но в самом отделе может быть больше одного сотрудника.

«Многие ко многим»

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

Сотрудник может участвовать в нескольких проектах, и каждый проект может объединять несколько сотрудников.

В реляционной модели объекты и их отношения представлены двухмерным массивом или таблицей.

Каждая таблица представляет объект.

Каждая таблица состоит из рядов и столбцов.

Отношения между объектами представлены столбцами.

Каждый столбец представляет атрибут объекта.

Значения столбцов выбираются из области или набора всех возможных значений.

Столбцы, которые используются для связи объектов, называются ключевыми. Есть два типа ключей — первичные и внешние.

Первичные служат для однозначного определения объекта. Внешний ключ — это первичный ключ одного объекта, существующий как атрибут в другой таблице.

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

  1. Простота использования.
  2. Гибкость.
  3. Независимость данных.
  4. Безопасность.
  5. Простота практического применения.
  6. Слияние данных.
  7. Целостность данных.

Недостатки:

  1. Избыточность данных.
  2. Низкая производительность.

§ 1. Понятие базы данных. Система управления базами данных (СУБД)

◄ Предыдущая: 1.1. Базы данных. Поле. Запись Следующая: Вопросы к параграфу ►

1.2. Назначение системы управления базами данных

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

По степени локализации программных компонентов СУБД разделяют на:
1. Локальные — все программы размещаются на одном компьютере.
2. Распределенные — часть программ размещается на сервере, другая часть — на клиентских компьютерах.
Рассмотрите
Распределенные СУБД позволяют многим пользователям работать с одной базой данных одновременно.
Основные действия, которые пользователь может выполнить с помощью СУБД:

создание структуры БД;
заполнение БД информацией;
редактирование структуры и содержания БД;
поиск информации в БД;
сортировка данных.

Работу с реляционными базами данных рассмотрим в СУБД Access С пользовательским интерфейсом СУБД Access можно познакомиться в Приложении к главе 1.
Для создания новой базы данных в Access требуется выполнить следующие действия:
1. На стартовой странице выбрать Пустая база данных… (см. Приложение к главе 1).
2. В открывшемся окне в поле Имя файла ввести имя файла, выбрать значок папки, чтобы определить место хранения файла базы данных.
3. Создать и сохранить базу данных, нажав на кнопку Создать.
Рассмотрите
Файлы баз данных, созданных в Access, имеют расширение .accdb. Один файл базы данных может содержать не только несколько объектов Таблица, но и различное количество объектов Форма, Запрос и Отчет. Список объектов базы данных отображается в Области навигации
Открыть объекты базы данных можно разными способами:
1. Выполнить двойной щелчок по объекту в Области навигации.
2. Выбрать режим открытия из контекстного меню вкладки объекта.
Для закрытия объекта/объектов базы данных нужно выбрать соответствующую команду контекстного меню вкладки открытого объекта .

Пример 1.2. Реляционные СУБД.
1. Локальные.

2. Распределенные.

В базах данных зачастую хранится очень важная информация, например финансовая

Поэтому при работе с базами данных важно обеспечить целостность данных, т. е

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

Пример 1.3. Логотипы СУБД Access различных версий.

Пример 1.4. Создание базы данных в Access.

Пример 1.5. Область навигации базы данных в Access.

Пример 1.6. Контекстное меню вкладки открытой таблицы базы данных.

Теперь про базы

Получается, что БД — это совокупность данных, представленных определённым образом (в нашем случае — таблицей), и набор инструментов для манипулирования ими.

Данные могут быть сгруппированы не только в таблицы, но и в коллекции. У каждой базы есть свой инструмент для создания таблиц/коллекций, добавления, удаления или изменения данных, а также для составления выборки. В статье мы рассмотрим базы, которые состоят из таблиц, а инструментом манипулирования данными будет язык SQL.

Таблицы между собой могут объединяться в схемы — в одной базе данных их может быть несколько, а может и не быть деления на схемы вообще. Это зависит от БД.

Вернёмся к определению из Википедии и вспомним про слово «реляционные». Реляционные (от англ. relation — отношения) — это базы данных, таблицы которых могут выстраиваться в различных отношениях. Возьмём предыдущий пример и добавим в него тех самых «отношений». Создадим таблицу «Производитель», а ту, что в примере, обозначим как «Каталог».

Таблица «Производитель»:

Теперь таблицу «Каталог» можно оформить в другом виде:

Получилось так, что у таблиц «Каталог» и «Прозводитель» появились отношения. Значения из столбца «Каталог» ссылаются на строки из таблицы «Производитель». Добавлением отношения мы решили нескольких проблем:

  1. Избавились от избыточных данных. Каталог стал занимать меньше места. Вместо хранения целой строки мы используем только номер строки из таблицы «Производитель». 
  2. Снизили вероятность ошибиться. При смене названия производителя нам достаточно отредактировать строку в таблице «Производитель», «Каталог» останется без изменений. 

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

Реляционные базы данных

Реляционная модель базы данных состоит из трех частей:Структурная часть – описывает, какие объекты рассматриваются реляционной моделью. Реляционная база данных состоит из набора отношений. Схемой реляционной базы данных называется набор заголовков отношений, входящих в базу данных.Целостная часть – описывает ограничения специального вида, которые должны выполняться для любых отношений в любых реляционных базах данных. Это целостность сущностей и целостность внешних ключей.Манипуляционная часть – описывает два эквивалентных способа манипулирования реляционными данными – реляционную алгебру и реляционное исчисление.

Термины реляционных баз данных.

Реляционный термин Описание
Отношение  Таблица
Заголовок отношения  Заголовок таблицы
Тело отношения Тело таблицы
Атрибут отношения Наименование столбца (поля) 
таблицы
Кортеж отношения Строка (запись) таблицы
Степень отношения Количество столбцов таблицы
Мощность (кардинальность) 
отношения
Количество строк таблицы
Домен Базовый или пользовательский тип 
данных

Список основных объектов СУБД

На любом ПК можно выполнять многочисленные разнообразные операции, но к объектам СУБД принято относить все то, что имеет свое наименование. Условно составляющие СУБД можно разделить на две группы: управление и конструирование. Управление базируется на сохранении и передаче материала. Конструирование строится на его создании.

Управление базой данных — это система, которая состоит из следующих основных пунктов:

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

Конструирование основано на графических элементах. При обработке материала выборка того или иного способа работы обусловлена целью пользователя. Необходимый инструмент включается автоматически. Анализ характеристики выбранного способа не требуется. Характеристика познается в процессе работы.

Бинарные связи

Бинарные связи – это связи, в которые вступают ровно две сущности. Важнейшее свойство связи – кардинальное число. 

Типы бинарных связей:

  • Связь типа «один-к-одному» означает, что один экземпляр первой сущности связан не более чем с одним экземпляром второй сущности и, наоборот, один экземпляр второй сущности связан не более чем с одним экземпляром первой сущности.
  • Связь типа «один-ко-многим» означает, что один экземпляр первой сущности связан с несколькими экземплярами второй сущности, но при этом один экземпляр второй сущности связан не более чем с один экземпляром первой сущности.
  • Связь типа «много-ко-многим» означает, что каждый экземпляр первой сущности может быть связан с несколькими экземплярами второй сущности, и каждый экземпляр второй сущности может быть связан с несколькими экземплярами первой сущности. Эта связь должна быть заменена двумя связями типа один-ко-многим путем создания промежуточной сущности.

Большие СУБД и сложный connect

Современный информационный уровень СУБД (классификация по значимости и ответственности):

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

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

Обычно первый критерий определяет в качестве безусловного лидера Oracle, второй — MySQL. У них много общего, но очень много кардинальных различий. Когда возникает задача соединить веб-ресурс с базой данных Oracle без использования её собственных инструментов и технологий, возникает множество вопросов. Сложный connect — давно не редкость, а часто просто условие для достижения решения.

Неменьшее количество проблем с доставкой данных возникает при их нахождении в локальной сети на сервере MS SQL Server, к которому соединение доступно через несколько аппаратных маршрутизаторов.

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

Данные

В контексте баз данных под данными понимают набор значений, который собирается в строки и столбцы, тем самым представляя таблицу. Представим, что у нас есть каталог мебельного магазина. Нам нужно сохранить все данные из раздела «Шкафы» этого каталога в таблицу. Мы решили, что все шкафы отличаются друг от друга характеристиками:

  • название производителя;
  • название модели;
  • высота;
  • длина;
  • цвет;
  • количество дверей.

Составим таблицу и вобьём в неё выдуманные данные.

У нас есть таблица с данными. Столбцами мы показываем, как они будут храниться. В примере я указал, что мы будем хранить информацию в структуре: производитель, модель, высота, длина, цвет, количество дверей. Иными словами, я создал структуру таблицы.

Добавляя в таблицу строки, я вводил в неё данные, ориентируясь на структуру, заданную в столбцах. Чем больше строк, тем больше данных. Чем больше столбцов, тем подробнее будут эти данные.

Ещё есть такое понятие, как «значение» — это пересечение столбца и строки. Например, у последней строки в столбце «Цвет» написано «хаки». Здесь «хаки» — значение. Если мы начнём группировать таблицы и добавим возможность манипулирования ими, то получим базу данных.

Иерархическая база данных

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

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

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

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

Примеры реляционных СУБД

SQLite — это популярная БД SQL с открытым исходным кодом. ПО может хранить всю БД в одном файле. Самым значительным преимуществом, которое она обеспечивает, является то, что все данные могут храниться локально без подключения к серверу. SQLite стала популярной для БД в мобильных телефонах, КПК, MP3-плеерах, телевизионных приставках и других электронных гаджетах.

MySQL — еще одна популярная реляционная модель СУБД SQL с открытым исходным кодом. Обычно она применяется в веб-приложениях и часто доступна с помощью PHP. Главные преимущества ее — простота использования, ценовая доступность, надежность. Некоторые из недостатков проявляются в том, что при масштабировании она страдает от низкой производительности, разработка с применением открытого исходного кода отстает с тех пор, как Oracle установил контроль над MySQL и не включает в себя некоторые расширенные функции.

PostgreSQL — это реляционная модель данных СУБД SQL с использованием открытого исходного кода, которая не контролируется какой-либо корпорацией. Обычно ее используют для разработки веб-приложений. PostgreSQL — простая, надежная и бюджетная программа с большим сообществом разработчиков. Имеет дополнительные функции в виде поддержки внешнего ключа, не требуя сложной настройки. Главный ее недостаток — она работает медленнее, чем иные БД, такие как MySQL. Она также менее популярна, чем MySQL, что затрудняет доступ хостов или поставщиков услуг, которые предлагают управляемые экземпляры PostgreSQL.

SQLite

Провозгласившая себя самой распространенной СУБД в мире, SQLite зародилась в 2000 году и используется Apple, , Microsoft и . Каждый релиз тщательно тестируется. Разработчики SQLite предоставляют пользователям списки ошибок, а также хронологию изменений кода каждой версии.

Достоинства

  • Нет отдельного серверного процесса;
  • Формат файла – кросс-платформенный;
  • Транзакции соответствуют требованиям ACID;
  • Доступна профессиональная поддержка.

Недостатки

Не рекомендуется для:

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

Как хранится информация в БД

В основе всей структуры хранения лежат три понятия:

  • База данных;
  • Таблица;
  • Запись.

База данных

База данных — это высокоуровневное понятие, которое означает объединение совокупности данных, хранимых для выполнения одной цели.
Если мы делаем современный сайт, то все его данные будут храниться внутри одной базы данных. Для сайта онлайн-дневника наблюдений за погодой тоже понадобится создать отдельную базу данных.

Таблица

По отношению к базе данных таблица является вложенным объеком. То есть одна БД может содержать в себе множество таблиц.
Аналогией из реального мира может быть шкаф (база данных) внутри которого лежит множество коробок (таблиц).
Таблицы нужны для хранения данных одного типа, например, списка городов, пользователей сайта, или библиотечного каталога.
Таблицу можно представить как обычный лист в Excel-таблице, то есть совокупность строк и столбцов.
Наверняка каждый хоть раз имел дело с электронными таблицами (MS Excel).
Заполняя такую таблицу, пользователь определяет столбцы, у каждого из которых есть заголовок. В строках хранится информация.
В БД точно также: создавая новую таблицу, необходимо описать, из каких столбцов она состоит, и дать им имена.

Запись

Запись — это строка электронной таблицы.
Это неделимая сущность, которая хранится в таблице. Когда мы сохраняем данные веб-формы с сайта, то на самом деле добавляем новую запись в какую-то из таблиц базы данных. Запись состоит из полей (столбцов) и их значений. Но значения не могут быть какими угодно.
Определяя столбец, программист должен указать тип данных, который будет храниться в этом столбце: текстовый, числовой, логический, файловый и т.д. Это нужно для того, чтобы в будущем в базу не были записаны данные неверного типа.

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

  1. Создадим для сайта новую БД и дадим ей название «weather_diary».
  2. Создадим в БД новую таблицу с именем «weather_log» и определим там следующие столбцы:
    • Город (тип: текст);
    • День (тип: дата);
    • Температура (тип: число);
    • Облачность (тип: число; от 0 (нет облачности) до 4 (полная облачность));
    • Были ли осадки (тип: истина или ложь);
    • Комментарий (тип: текст).
  3. При сохранении формы будем добавлять в таблицу weather_log новую запись, и заполнять в ней все поля информацией из полей формы.

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

Реляционная база данных

Английское слово „relation“ можно перевести как связь, отношение.
А определение «реляционные базы данных» означает, что таблицы в этой БД могут вступать в отношения и находиться в связи между собой.
Что это за связи?
Например, одна таблица может ссылаться на другую таблицу. Это часто требуется, чтобы сократить объём и избежать дублирования информации.
В сценарии с дневником погоды пользователь вводит название своего города. Это название сохраняется вместе с погодными данными.
Но можно поступить иначе:

  1. Создать новую таблицу с именем „cities“.
  2. Все города в России известны, поэтому их все можно добавить в одну таблицу.
  3. Переделать форму, изменив поле ввода города с текстового на поле типа «select», чтобы пользователь не вписывал город, а выбирал его из списка.
  4. При сохранении погодной записи, в поле для города поставить ссылку на соответствующую запись из таблицы городов.

Так мы решим сразу две задачи:

  • Сократим объём хранимой информации, так как погодные записи больше не будут содержать название города;
  • Избежим дублирования: все пользователи будут выбирать один из заранее определённых городов, что исключит опечатки.

Связи между таблицами в БД бывают разных видов.
В примере выше использовалась связь типа «один-ко-многим», так как одному городу может соответствовать множество погодных записей, но не наоборот!
Бывают связи и других типов: «один-к-одному» и «многие-ко-многим», но они используются значительно реже.

База данных и СУБД

Есть поня­тие базы дан­ных — это набор дан­ных, орга­ни­зо­ван­ных каким-то спо­со­бом. Напри­мер, если у вас в квар­ти­ре есть гар­де­роб­ная или кла­дов­ка, то всё это поме­ще­ние со всем её содер­жи­мым может счи­тать­ся базой (но не дан­ных, а вещей или банок с огур­ца­ми, что не меня­ет сути).

Есть поня­тие систе­мы управ­ле­ния базой дан­ных (СУБД) — это когда семья села за стол и само­го млад­ше­го отправ­ля­ют в кла­дов­ку за огур­ца­ми, он при­но­сит её и не раз­би­ва­ет по доро­ге. То есть СУБД — это какое-то сред­ство для мани­пу­ля­ции дан­ны­ми в базе, напри­мер программа.

Социальный аспект СУБД

Рассматривая разные способы классификации СУБД, следует особое внимание уделить социальной составляющей в контексте теории и её применимости на практике

Когда появились локальные сети и базы данных разместились на сервере, а СУБД предоставили доступ многим пользователям, всё было исключительно просто: архитектура файл-сервер — это очень практично, сегодня есть:

  • файл-сервер;
  • клиент-сервер;
  • встроенная база данных.

Три стороны одной медали

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector