Skip to content
DivineLoggika edited this page Apr 23, 2022 · 22 revisions

Понятия базы и структуры данных (Чернат Николай ИДБ-18-07 2022)

Реферат к лекции 11 (27). Базы Данных



Понятие базы данных

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

Данные - поддающееся многократной интерпретации представление информации в формализованном виде, пригодном для передачи, связи, или обработки (ISO/IEC 2382-1:1993).

Схема базы данных - её структура, описанная на формальном языке, поддерживаемом СУБД.

Схема данных - логическое представление организации данных.

Понятие схемы базы данных

Схема как структура базы данных

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

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

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

Схема как объект базы данных

Есть и другое понятие схемы в теории баз данных.

Схема (SCHEMA) является одним из основных объектов базы данных Oracle Database. Близкое понятие (RIS Schema) существует в RIS-интерфейсе доступа к базам данных. SCHEMA также появилась и в Microsoft SQL Server 2005 и формально определяется как набор объектов в базе данных.

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

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

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

Существуют и подобъекты схемы, такие как:

  • столбцы: таблиц и представлений
  • секции таблиц
  • ограничения целостности
  • триггеры
  • пакетные процедуры и функции и другие элементы, хранимые в пакетах (курсоры, типы и т. п)

Существуют объекты, независимые от схемы:

  • каталоги
  • профили
  • роли
  • сегменты
  • табличные области
  • пользователи

Уровни схемы базы данных

  • Концептуальная схема — карта концепций и их связей.
  • Логическая схема — карта сущностей и их атрибутов и связей.
  • Физическая схема — частичная реализация логической схемы.
  • Схема объекта — объект БД Oracle.

История возникновения баз данных

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

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

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

Оперативные сетевые базы данных появились в середине 1960-х. Операции над оперативными базами данных обрабатывались в интерактивном режиме с помощью терминалов.

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

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

Сам термин база данных (англ. database) появился в начале 1960-х годов, и был введён в употребление компанией SDC в 1964 и 1965 годах, хотя понимался сначала в довольно узком смысле, в контексте систем искусственного интеллекта. В широкое употребление в современном понимании термин вошёл лишь в 1970-е годы.

Виды баз данных

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

Основные классификации приведены ниже.

Классификация по содержимому
Примеры:

  • Географическая
  • Историческая
  • Научная
  • Мультимедийная
  • Клиентская.

Классификация по степени распределённости

  • Централизованная, или сосредоточенная: БД, полностью поддерживаемая на одном компьютере.
  • Распределённая БД — составные части которой размещаются в различных узлах компьютерной сети в соответствии с каким-либо критерием.

Классификация по модели данных
Примеры:

  • Иерархическая - древовидная структур, состоящая из объектов (данных) различных уровней.

    Рис. 1. Иерархическая модель данных

Основными достоинствами иерархической модели данных являются:

  1. эффективное использование памяти ЭВМ;
  2. высокая скорость выполнения основных операций над данными;
  3. удобство работы с иерархически упорядоченной информацией;
  4. простота при работе с небольшим объемом данных так как, иерархический принцип соподчиненности понятий является естественным для многих задач.

К недостаткам иерархической модели представления данных относятся:

  1. громоздкость такой модели для обработки информации с достаточно сложными логическими связями;
  2. трудность в понимании ее функционирования обычным пользователем.
  3. трудность в применении к данным со сложной внутренней взаимосвязью
  4. исключительно навигационный принцип доступа к данным
  • Объектная - данные моделируются в виде объектов, их атрибутов, методов и классов.

    Рис. 2. Объектная модель данных

  • Объектно-реляционная - объекты, классы и наследование реализованы в структуре баз данных и языке запросов.

    Рис. 3. Объектно-реляционная модель данных

  • Реляционная - прикладная теория построения баз данных, которая является приложением к задачам обработки данных таких разделов математики, как теория множеств и логика первого порядка.

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

  • Сетевая - у потомка может иметься любое число предков (расширенная иерархическая).

    Рис. 5. Сетевая модель данных

  • Функциональная - используются для решения аналитических задач, таких как финансовое моделирование и управление производительностью.
    Рис. 6. Функциональная модель данных

Понятие структуры данных

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

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

При разработке программного обеспечения сложность реализации и качество работы программ существенно зависят от правильного выбора структур данных. Это понимание дало начало формальным методам разработки и языкам программирования, в которых именно структуры данных, а не алгоритмы, ставятся во главу архитектуры программного средства. Большая часть таких языков обладает определённым типом модульности, позволяющим структурам данных безопасно переиспользоваться в различных приложениях. Объектно-ориентированные языки, такие как Java, C# и C++, являются примерами такого подхода.

Многие классические структуры данных представлены в стандартных библиотеках языков программирования или непосредственно встроены в языки программирования. Например, структура данных хеш-таблица встроена в языки программирования Python, Ruby, Tcl и др. Широко используется стандартная библиотека шаблонов (STL) языка C++.

Фундаментальными строительными блоками для большей части структур данных являются массивы, записи , размеченные объединения и ссылки.
Массив — структура данных, хранящая набор значений (элементов массива), идентифицируемых по индексу или набору индексов, принимающих целые (или приводимые к целым) значения из некоторого заданного непрерывного диапазона. Одномерный массив можно рассматривать как реализацию абстрактного типа данных — вектор.
Запись — агрегатный тип данных, инкапсулирующий без сокрытия набор значений различных типов.
Ссылка в программировании — это объект, указывающий на определенные данные, но не хранящий их.

Список литературы:

ГОСТ 34.321-96. Система стандартов по базам данных

Википедия: База данных

Википедия: Структура данных

Википедия: Массив

Википедия: Запись

База данных — Википедия

Данные (вычислительная техника) — Википедия

Схема базы данных — Википедия

Википедия: Ссылка

Clone this wiki locally