что такое атрибут в базе данных

Что такое атрибут в базе данных

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

Для начала покажем смысл этих понятий на примере отношения СОТРУДНИКИ, содержащего информацию о сотрудниках некоторой организации:

4.1.1. Тип данных

Понятие тип данных в реляционной модели данных полностью адекватно понятию типа данных в языках программирования. Обычно в современных реляционных БД допускается хранение символьных, числовых данных, битовых строк, специализированных числовых данных (таких как «деньги»), а также специальных «темпоральных» данных (дата, время, временной интервал). Достаточно активно развивается подход к расширению возможностей реляционных систем абстрактными типами данных (соответствующими возможностями обладают, например, системы семейства Ingres/Postgres). В нашем примере мы имеем дело с данными трех типов: строки символов, целые числа и «деньги».

4.1.2. Домен

Понятие домена более специфично для баз данных, хотя и имеет некоторые аналогии с подтипами в некоторых языках программирования. В самом общем виде домен определяется заданием некоторого базового типа данных, к которому относятся элементы домена, и произвольного логического выражения, применяемого к элементу типа данных. Если вычисление этого логического выражения дает результат «истина», то элемент данных является элементом домена.

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

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

4.1.3. Схема отношения, схема базы данных
4.1.4. Кортеж, отношение

Однако в реляционных базах данных это не принято. Имя схемы отношения в таких базах данных всегда совпадает с именем соответствующего отношения-экземпляра. В классических реляционных базах данных после определения схемы базы данных изменяются только отношения-экземпляры. В них могут появляться новые и удаляться или модифицироваться существующие кортежи. Однако во многих реализациях допускается и изменение схемы базы данных: определение новых и изменение существующих схем отношения. Это принято называть эволюцией схемы базы данных.

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

Источник

BestProg

Понятие ER-модели. Понятие сущности (entity). Атрибуты. Виды атрибутов

Содержание

Поиск на других ресурсах:

1. Какие проблемы могут возникнуть у разработчика при проектировании базы данных?

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

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

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

Чтобы облегчить процесс разработки (проектирования) базы данных, используются так называемые семантические модели данных. Для разных видов баз данных наиболее известной есть ER-модель данных (Entity-Relationship model).

2. Что такое ER-модель (Entity-relationship model)? Для чего нужно разрабатывать ER-модель?

ER-модель (Entity-relationship model или Entity-relationship diagram) – это семантическая модель данных, которая предназначена для упрощения процесса проектирования базы данных. Из ER-модели могут быть порождены все виды баз данных: реляционные, иерархические, сетевые, объектные. В основе ER-модели лежат понятия «сущность», «связь» и «атрибут».

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

ER-модель – это представление базы данных в виде наглядных графических диаграмм. ER-модель визуализирует процесс, который определяет некоторую предметную область. Диаграмма «сущность»-«связь» – это диаграмма, которая представляет в графическом виде сущности, атрибуты и связи.

ER-модель – это только концептуальный уровень моделирования. ER-модель не содержит деталей реализации. Для той же самой ER-модели детали ее реализации могут отличаться.

3. Что такое сущность в базе данных? Примеры

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

Пример 1. В базе данных книжного магазина можно выделить следующие сущности:

Пример 2. В базе данных учета учебного процесса некоторого учебного заведения можно выделить следующие сущности:

4. Какие существуют разновидности типов сущностей? Обозначение типов сущностей в ER-модели

В модели «сущность»-«связь» различают две разновидности типов сущностей:

На рисунке 1 изображены обозначения слабого и сильного типа сущности в ER-модели.

что такое атрибут в базе данных. Смотреть фото что такое атрибут в базе данных. Смотреть картинку что такое атрибут в базе данных. Картинка про что такое атрибут в базе данных. Фото что такое атрибут в базе данных

Рис. 1. Обозначение сильного и слабого типов сущности

5. Для чего предназначены атрибуты? Виды атрибутов. Обозначение атрибутов на ER-модели

Каждый тип сущности имеет определенный набор атрибутов. Атрибуты предназначены для описания конкретной сущности.

Различают следующие виды атрибутов:

На ER-диаграмме атрибуты обозначаются так, как изображено на рисунке 2. Как видно из рисунка, любой атрибут обозначается в виде эллипса с названием внутри эллипса. Если атрибут есть первичным ключом, то его название подчеркивают.

что такое атрибут в базе данных. Смотреть фото что такое атрибут в базе данных. Смотреть картинку что такое атрибут в базе данных. Картинка про что такое атрибут в базе данных. Фото что такое атрибут в базе данных

Рисунок 2. Представление атрибутов на диаграммах ER-модели

6. Как типы сущностей и атрибуты ER-модели реализуются в реальных базах данных и управляемых ими программах?

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

Если база данных реализуется в известных реляционных СУБД (например Microsoft Access, Microsoft SQL Server и т.п.), то типы сущностей представляются таблицами. Атрибуты из ER-модели соответствуют полям таблицы. Одна запись в таблице базы данных представляет один экземпляр сущности.

Каждый вид атрибута реализуется следующим образом:

Если база данных реализована в уникальном формате, то типы сущностей удобнее всего представлять в виде классов или структур. Атрибуты сущности реализуются в виде полей (внутренних данных) класса. Методы класса реализуют необходимую обработку полей класса (атрибутов). Взаимодействие (связь) между классами реализуется с помощью специально разработанных интерфейсов с использованием известных шаблонов проектирования.

7. Пример фрагмента ER-модели для типа сущности «Студент»

Приведенный пример демонстрирует фрагмент ER-модели для типа сущности «Студент».

что такое атрибут в базе данных. Смотреть фото что такое атрибут в базе данных. Смотреть картинку что такое атрибут в базе данных. Картинка про что такое атрибут в базе данных. Фото что такое атрибут в базе данных

Рисунок 3. Фрагмент ER-модели для типа сущности «Студент»

На вышеприведенном рисунке объявляются следующие атрибуты, которые в СУБД (программе) могут иметь следующие типы:

Источник

Атрибут базы данных определяет свойства таблицы

Думайте об атрибуте как о характеристике

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

Что такое атрибут?

База данных состоит из таблиц. Каждая таблица имеет столбцы и строки. Каждая строка (называемая кортежем) представляет собой набор данных, который применяется к одному элементу. Каждый столбец (атрибут) содержит описание характеристик строк. Атрибут базы данных – это имя столбца и содержимое полей под ним в таблице в базе данных.

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

Атрибут – это отдельный фрагмент данных в кортеже, к которому он принадлежит. Каждый кортеж представляет собой набор данных, который применяется к одному элементу.

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

Атрибуты описывают сущности

Рассмотрим базу данных, разработанную бизнесом. Скорее всего, он включает в себя таблицы – также называемые сущностями проектировщиками баз данных – для клиентов, сотрудников и продуктов. Таблица «Продукты» определяет характеристики каждого продукта. Они могут включать идентификатор продукта, название продукта, идентификатор поставщика (используется в качестве внешнего ключа), количество и цену. Каждая из этих характеристик является атрибутом таблицы (или сущности) с именем Products.

Рассмотрим этот фрагмент из часто цитируемой базы данных Northwinds:

Имена столбцов являются атрибутами продукта. Записи в полях столбцов также являются атрибутами товара.

Является ли атрибут полем?

Иногда термины field и attribute используются взаимозаменяемо, и для большинства целей это одно и то же. Однако поле описывает конкретную ячейку в таблице, найденной в любой строке, в то время как атрибут описывает характеристику объекта в конструктивном смысле.

Определение атрибутов

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

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

Источник

Атрибуты (службы Master Data Services)

Связь атрибутов с другими объектами модели

Атрибут можно представить как столбец таблицы сущности. Значение атрибута — это значение, описывающее определенный элемент.

что такое атрибут в базе данных. Смотреть фото что такое атрибут в базе данных. Смотреть картинку что такое атрибут в базе данных. Картинка про что такое атрибут в базе данных. Фото что такое атрибут в базе данных

При создании сущности, содержащей множество атрибутов, можно организовать атрибуты в группы. Дополнительные сведения см. в разделе Группы атрибутов (службы Master Data Services).

Обязательные атрибуты

При создании сущности атрибуты «Имя» и «Код» создаются автоматически. Атрибут «Код» должен иметь значение, уникальное внутри сущности. Удалить атрибуты «Имя» и «Код» нельзя.

Типы атрибутов

Существует три типа атрибутов.

Атрибуты свободной формы, допускающие свободный ввод текста, чисел, дат или ссылок.

Атрибуты на основе домена, заполненные сущностями. Дополнительные сведения см. в разделе Атрибуты на основе домена (службы Master Data Services).

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

Числовые атрибуты в свободной форме

По умолчанию значение SqlDouble содержит 15 знаков после запятой, хотя для внутренних целей поддерживается до 17 знаков. Точность числа с плавающей запятой может иметь следующие эффекты.

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

Математическая операция или сравнение, в которой используется число с плавающей запятой, может выдавать разные результаты при использовании десятичного числа, поскольку число с плавающей запятой может не совсем точно соответствовать десятичному числу.

Примеры атрибутов

В следующем примере сущность имеет атрибуты: Name, Code, Subcategory, StandardCost, ListPrice и FilePhoto. Эти атрибуты описывают элементы. Каждый элемент представлен отдельной строкой значений атрибута.

что такое атрибут в базе данных. Смотреть фото что такое атрибут в базе данных. Смотреть картинку что такое атрибут в базе данных. Картинка про что такое атрибут в базе данных. Фото что такое атрибут в базе данных

В следующем примере сущность Product содержит:

атрибуты в свободной форме Name, Code, StandardCost и ListPrice;

атрибут на основе домена Subcategory;

атрибут файла FilePhoto.

Сущность Subcategory используется в качестве атрибута на основе домена сущности Product. Сущность Category используется в качестве атрибута на основе домена сущности Subcategory. Как и сущность Product, сущности Category и Subcategory по умолчанию содержат атрибуты Name и Code.

Источник

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

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