exam11 2 - stankin/design-part-2 GitHub Wiki
Реферат к лекции 11 (27). Базы Данных
Выполнил: Чернат Николай ИДБ-18-07
Проверил: Еремин Илья, ИДБ-18-07
База данных - совокупность взаимосвязанных данных, организованных в соответствии со схемой базы данных таким образом, чтобы с ними мог работать пользователь.
Данные - поддающееся многократной интерпретации представление информации в формализованном виде, пригодном для передачи, связи, или обработки (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. Иерархическая модель данных
Основными достоинствами иерархической модели данных являются:
- эффективное использование памяти ЭВМ;
- высокая скорость выполнения основных операций над данными;
- удобство работы с иерархически упорядоченной информацией;
- простота при работе с небольшим объемом данных так как, иерархический принцип соподчиненности понятий является естественным для многих задач.
К недостаткам иерархической модели представления данных относятся:
- громоздкость такой модели для обработки информации с достаточно сложными логическими связями;
- трудность в понимании ее функционирования обычным пользователем.
- трудность в применении к данным со сложной внутренней взаимосвязью
- исключительно навигационный принцип доступа к данным
-
Объектная - данные моделируются в виде объектов, их атрибутов, методов и классов.
Рис. 2. Объектная модель данных -
Объектно-реляционная - объекты, классы и наследование реализованы в структуре баз данных и языке запросов.
Рис. 3. Объектно-реляционная модель данных -
Реляционная - прикладная теория построения баз данных, которая является приложением к задачам обработки данных таких разделов математики, как теория множеств и логика первого порядка.
Рис. 4. Реляционная модель данных -
Сетевая - у потомка может иметься любое число предков (расширенная иерархическая).
Рис. 5. Сетевая модель данных -
Функциональная - используются для решения аналитических задач, таких как финансовое моделирование и управление производительностью.
Рис. 6. Функциональная модель данных
Структура данных — программная единица, позволяющая хранить и обрабатывать множество однотипных и/или логически связанных данных в вычислительной технике. Для добавления, поиска, изменения и удаления данных структура данных предоставляет некоторый набор функций, составляющих её интерфейс.
Структуры данных формируются с помощью типов данных, ссылок и операций над ними в выбранном языке программирования.
Тип данных - поименованная совокупность данных с общими свойствами.
При разработке программного обеспечения сложность реализации и качество работы программ существенно зависят от правильного выбора структур данных. Это понимание дало начало формальным методам разработки и языкам программирования, в которых именно структуры данных, а не алгоритмы, ставятся во главу архитектуры программного средства. Большая часть таких языков обладает определённым типом модульности, позволяющим структурам данных безопасно переиспользоваться в различных приложениях. Объектно-ориентированные языки, такие как Java, C# и C++, являются примерами такого подхода.
Многие классические структуры данных представлены в стандартных библиотеках языков программирования или непосредственно встроены в языки программирования. Например, структура данных хеш-таблица встроена в языки программирования Python, Ruby, Tcl и др. Широко используется стандартная библиотека шаблонов (STL) языка C++.
Фундаментальными строительными блоками для большей части структур данных являются массивы, записи , размеченные объединения и ссылки.
Массив — структура данных, хранящая набор значений (элементов массива), идентифицируемых по индексу или набору индексов, принимающих целые (или приводимые к целым) значения из некоторого заданного непрерывного диапазона. Одномерный массив можно рассматривать как реализацию абстрактного типа данных — вектор.
Запись — агрегатный тип данных, инкапсулирующий без сокрытия набор значений различных типов.
Ссылка в программировании — это объект, указывающий на определенные данные, но не хранящий их.
ГОСТ 34.321-96. Система стандартов по базам данных