Вкладка 4
Базы данных 4 (08.10.2025)
Кортеж это запись в таблице, которая определена с точностью до соотношения имя атрибута и значения и содержит одно вхождение каждого имени атрибута принадлежащего конкретной схеме отношения. Значение должно соответствовать типу данных или домену.
Отношение это множество кортежей соответствующих одной схеме отношений.
Ключ это атрибут или набор атрибутов, значения которого однозначно идентифицируют кортеж.

Отношение может иметь несколько ключей, но всегда один из ключей объявляется первичным и его значения не могут обновляться. Все остальные ключи кроме первичного называются возможными. Атрибуты представляющие собой копии ключей других отношений являются внешними ключами.
Расширением реляционной модели является объектно-реляционная модель,
которая сочетает в себе реляционную модель данных с концепциями ООП. ООП - ?
Класс это множество объектов объединенных идентичными атрибутами и аналогичными методами. (буд спрашивать полиморфизм, инкапсуляция, наследования)
Объектно ориентированные и нереляционные базы данных
Базы данных в которых информация о сущностях представлена в виде объектов под уникальными идентификаторами, называется объектно ориентированными. Состояние объекта описывается атрибутами, а его применение описывается набором методов. Объект в ооп задаётся как отдельная сущность.
Нереляционная концепция это подход к проектированию к баз данных который предоставляет механизм хранения и извлечения данных отличный от традиционных реляционных баз данных. Такие базы данных разработаны для работы с конкретными
моделями данных и обладают гибкими и легко масштабируемыми схемами. Современные приложения часто работают с неструктурируемыми или полуструктурируемыми данными. Существуют 4 типа нереляционных баз данных:
Первый тип: ключ значения. Это наиболее простой вариант хранилища данных использующий ключ для доступа к значению в рамках большой хэш таблицы.
Как правило хэш таблица является ассоциативным контейнером типа ключ-значение. Пусть к - ключ, h(x) - хэш функция. Тогда h(k) является хэш образом ключа или просто хэшом, и этот хэш является индексом (порядковым номером) ячейки в которой будет храниться элемент связанный с k. Ассоциативный массив удобно рассматривать как обычный массив в котором в качестве индексов можно использовать не только целые числа, но и значения других типов(Например строчные). Ассоциативный массив не может хранить две пары с одинаковыми ключами. Примером ассоциативного массива является телефонный справочник: значением в данном случае является совокупность ФИО + уникальный ID если в нём есть необходимость, а ключом является номер телефона.
Таким образом нереляционная база данных работает по принципу словаря, каждому уникальному ключу соответствует какое то значение.
Второй тип: Документо-ориентированное хранилище - это контейнер данных
представленных парами ключ-значение и сжатых в виде полуструктурированных документов из тегированных (помеченных) элементов. Каждый документ в такой базе
это отдельный объект. Такие базы часто используются для организации каталогов
товаров и мобильных приложений, в которых данные имеют сложную, но логичную структуру. Главный плюс такой организации заключается в том, что нет необходимости
заранее продумывать строгую(формальную) схему данных и можно легко добавлять
новые поля.
Третий тип: Колоночный - данные хранятся не по строкам, а по столбцам. В отличии от первичных ключей в реляционных базах данных, где ключи определяют всю запись и её идентифицируют. В колоночных системах ключ может быть постоянным именем записи, а сама запись может содержать различные количества колонок. Вместо хранения всей строки данных вместе, колоночная база данных будет хранить все значения первого столбца, затем все значения второго столбца и тд. Алгоритмы
сжатия могут сокращать объёмы данных, без потери информации. Но добавление
информации в колоночные базы данных сложнее, так же намного сложнее выполняется копирование информации.
