Почти все современные системы
основаны на реляционной (relational) модели
управления базами данных. Название "реляционная"
связано с тем, что каждая запись в такой
базе данных содержит информацию, относящуюся
(related) только к одному конкретному объекту.
Кроме того, с данными двух типов (например,
о клиентах и заказах) можно работать как
с единым целым, основанным на значениях
связанных между собой (related) данных. Например,
если включать фамилию и адрес клиента
в каждый его заказ, то это привело бы к
хранению повторяющейся информации. Поэтому
в реляционной системе информация о заказах
содержит поле данных, куда вводится код
клиента, по которому информация о каждом
заказе объединяется с данными о соответствующем
клиенте.
Некоторые термины реляционных
баз данных
- Отношение (Relation) - информация об объектах одного типа, например, о клиентах, заказах, сотрудниках. В реляционных базах данных отношение обычно хранится в виде таблицы.
- Атрибут (Attribute) - определенная часть информации о некотором объекте - например, адрес клиента или зарплата сотрудника. Атрибут обычно хранится в виде столбца или поля таблицы.
- Связь (Relatioship) - способ, которым связана информация в одной таблице с информацией в другой таблице. Например, у клиентов с заказами тип связи - "один-ко-многим", так как один клиент может разместить много заказов, но любой заказ соотносится только с одним клиентом.
- Объединение (Join) - процесс объединения таблиц или запросов на основе совпадающих значений определенных атрибутов. Например, информация о клиентах может быть объединена с информацией о заказах по коду данного клиента.
В реляционной СУБД все обрабатываемые
данные представляются в виде таблиц.
Информация об объектах определенного
вида (например, о клиентах) представляется
в табличном виде - в столбцах
таблицы сосредоточены различные
характеристики этих объектов - атрибуты
(например, адреса клиентов), а строки
предназначены для описания значений
всех атрибутов отдельного объекта
(например, данных о конкретном клиенте).
Даже в том случае, когда вы используете
функции СУБД для выбора информации
из одной или нескольких таблиц (то
есть выполняете запрос), результат
представляется также в некотором
табличном виде. Более того, вы можете
выполнить запрос с использованием
результатов другого запроса. Вы
можете объединить информацию из нескольких
таблиц или запросов. Например, чтобы
выяснить, какие заказы оформили те
или иные клиенты, можно соединить
информацию о клиентах с данными
о заказах, а для того, чтобы установить,
кто из сотрудников работал с данным заказом,
можно объединить информацию о заказах
с информацией о сотрудниках.
База данных
[править]
Материал из Википедии —
свободной энциклопедии
Запрос «БД» перенаправляется
сюда; см. также другие
значения.
Ба́за да́нных — представленная в объективной форме совокупность самостоятельных материалов (статей, расчётов, нормативных
актов, судебных решений и иных подобных материалов), систематизированных таким образом, чтобы эти материалы могли
быть найдены и обработаны с помощью электронной
вычислительной машины (ЭВМ) (Гражданский
кодекс РФ, ст. 1260).
Нажмите для увеличения
Многие специалисты указывают
на распространённую ошибку, состоящую
в некорректном использовании термина
«база данных» вместо термина
«система управления
базами данных», и указывают на необходимость
различения этих понятий.[1]
Содержание
[убрать]
- 1 Проблемы определения
- 2 История
- 3 Виды баз данных
- 3.1 Классификация по модели данных
- 3.2 Классификация по среде постоянного хранения
- 3.3 Классификация по содержимому
- 3.4 Классификация по степени распределённости
- 3.5 Другие виды БД
- 4 Сверхбольшие базы данных
- 5 Примечания
- 6 Литература
- 7 Ссылки
- 8 См. также
|
[править]Проблемы определения
В литературе предлагается множество
определений понятия «база данных»,
отражающих скорее субъективное мнение тех или иных авторов, однако общепризнанная
единая формулировка отсутствует.
Определения из международных стандартов:
- База данных — совокупность данных, хранимых в соответствии со схемой данных, манипулирование которыми выполняют в соответствии с правилами средств моделирования данных.[2]
- База данных — совокупность данных, организованных в соответствии с концептуальной структурой, описывающей характеристики этих данных и взаимоотношения между ними, причем такое собрание данных, которое поддерживает одну или более областей применения[3].
Определения из авторитетных монографий:
- База данных — организованная в соответствии с определёнными правилами и поддерживаемая в памяти компьютера совокупность данных, характеризующая актуальное состояние некоторой предметной области и используемая для удовлетворения информационных потребностей пользователей.[4]
- База данных — некоторый набор перманентных (постоянно хранимых) данных, используемых прикладными программными системами какого-либо предприятия.[5]
- База данных — совместно используемый набор логически связанных данных (и описание этих данных), предназначенный для удовлетворения информационных потребностей организации.[6]
В определениях наиболее часто (явно
или неявно) присутствуют следующие
отличительные признаки[7]:
- БД хранится и обрабатывается в вычислительной системе.
Таким образом, любые внекомпьютерные хранилища информации (архивы, библиотеки, картотеки и т. п.) базами данных не являются.
- Данные в БД логически структурированы (систематизированы) с целью обеспечения возможности их эффективного поиска и обработки в вычислительной системе.
Структурированность подразумевает явное выделение составных частей (элементов), связей между ними, а также типизацию элементов и связей, при которой с типом элемента (связи) соотносится определённая семантика и допустимые операции.[8]
- БД включает схему, или метаданные, описывающие логическую структуру БД в формальном виде (в соответствии с некоторой метамоделью).
В соответствии с ГОСТ Р ИСО МЭК ТО 10032-2007, «постоянные данные в среде базы данных включают в себя схему и базу данных. Схема включает в себя описания содержания, структуры и ограничений целостности, используемые для создания и поддержки базы данных. База данных включает в себя набор постоянных данных, определенных с помощью схемы. Система управления данными использует определения данных в схеме для обеспечения доступа и управления доступом к данным в базе данных».[2]
Из перечисленных признаков
только первый является строгим, а другие
допускают различные трактовки
и различные степени оценки. Можно
лишь установить некоторую степень
соответствия требованиям к БД.
В такой ситуации не последнюю роль
играет общепринятая практика. В соответствии
с ней, например, не называют базами
данных файловые архивы, Интернет-порталы илиэлектронные
таблицы, несмотря на то, что они в некоторой
степени обладают признаками БД. Принято
считать, что эта степень в большинстве
случаев недостаточна (хотя могут быть
исключения).
[править]История
История возникновения и развития
технологий баз данных может рассматриваться
как в широком, так и в узком
аспекте.
В широком аспекте понятие
истории баз данных обобщается до истории
любых средств, с помощью которых человечество
хранило и обрабатывало данные. В таком
контексте упоминаются, например, средства
учёта царской казны и налогов в древнем Шумере (4000 г. до н. э.),[9] узелковая письменность инков — кипу, клинописи, содержащие документыАссирийского
царства и т. п. Следует помнить, что недостатком
этого подхода является размывание понятия
«база данных» и фактическое его слияние
с понятиями «архив» и даже «письменность».
История баз данных в узком аспекте рассматривает
базы данных в традиционном (современном)
понимании. Эта история начинается с 1955 года, когда появилось программируемое оборудование
обработки записей. Программное
обеспечение этого времени поддерживало
модель обработки записей на основе файлов.
Для хранения данных использовалисьперфокарты.[9]
Оперативные сетевые базы данных появились
в середине 1960-х. Операции над оперативными базами данных
обрабатывались в интерактивном режиме
с помощью терминалов. Простые индексно-последовательные
организации записей быстро развились
к более мощной модели записей, ориентированной
на наборы. За руководство работой Data Base Task Group (DBTG), разработавшей стандартный язык описания
данных и манипулирования
данными, Чарльз Бахман получил Тьюринговскую
премию.
В это же время в сообществе баз
данных COBOL была проработана концепция схем баз данных и концепция независимости данных.
Следующий важный этап связан с появлением
в начале 1970-х реляционной
модели данных, благодаря работам Эдгара Ф. Кодда. Работы Кодда открыли путь к тесной
связи прикладной технологии баз данных
с математикой и логикой. За свой вклад
в теорию и практику Эдгар Ф. Кодд также
получил премию Тьюринга.
Сам термин database (база данных)
появился в начале 1960-х годов, и был введён
в употребление на симпозиумах, организованных
фирмой SDC (System Development Corporation) в1964 и 1965 годах, хотя понимался сначала в довольно
узком смысле, в контексте систем искусственного
интеллекта. В широкое употребление в современном
понимании термин вошёл лишь в 1970-е годы.[10]
[править]Виды баз данных
Существует огромное количество разновидностей
баз данных, отличающихся по различным критериям. Например, в «Энциклопедии технологий
баз данных»,[4] по материалам которой написан данный
раздел, определяются свыше 50 видов БД.
Основные классификации приведены
ниже.
[править]Классификация по модели
данных
Примеры:
- Иерархическая
- Сетевая
- Реляционная
- Объектная и объектно-ориентированная
- Объектно-реляционная
- Функциональная.
[править]Классификация по
среде постоянного хранения
- Во вторичной памяти, или традиционная (англ. conventional database): средой постоянного хранения является периферийная энергонезависимая память (вторичная память) — как правило жёсткий диск.
В оперативную память СУБД помещает лишь кеш и данные для текущей обработки.
- В оперативной памяти (англ. in-memory database, memory-resident database, main memory database): все данные на стадии исполнения находятся в оперативной памяти.
- В третичной памяти (англ. tertiary database): средой постоянного хранения является отсоединяемое от сервера устройство массового хранения (третичная память), как правило на основе магнитных лент или оптических дисков.
Во вторичной памяти сервера хранится лишь каталог данных третичной памяти, файловый кеш и данные для текущей обработки; загрузка же самих данных требует специальной процедуры.
[править]Классификация по
содержимому
Примеры:
- Географическая
- Историческая
- Научная
- Мультимедийная.
[править]Классификация по
степени распределённости
- Централизованная, или сосредоточенная (англ. centralized database): БД, полностью поддерживаемая на одном компьютере.
- Распределённая (англ. distributed database): БД, составные части которой размещаются в различных узлах компьютерной сети в соответствии с каким-либо критерием.
- Неоднородная (англ. heterogeneous distributed database): фрагменты распределённой БД в разных узлах сети поддерживаются средствами более одной СУБД
- Однородная (англ. homogeneous distributed database): фрагменты распределённой БД в разных узлах сети поддерживаются средствами одной и той же СУБД.
- Фрагментированная, или секционированная (англ. partitioned database): методом распределения данных является фрагментирование (партиционирование, секционирование), вертикальное или горизонтальное.
- Тиражированная (англ. replicated database): методом распределения данных является тиражирование (репликация).
[править]Другие виды БД
- Пространственная (англ. spatial database): БД, в которой поддерживаются пространственные свойства сущностей предметной области. Такие БД широко используются вгеоинформационных системах.
- Временная, или темпоральная (англ. temporal database): БД, в которой поддерживается какой-либо аспект времени, не считая времени, определяемого пользователем.
- Пространственно-временная (англ. spatial-temporal database) БД: БД, в которой одновременно поддерживается одно или более измерений в аспектах как пространства, так и времени.
- Циклическая (англ. round-robin database): БД, объём хранимых данных которой не меняется со временем, поскольку в процессе сохранения данных одни и те же записи используются циклически.