Light-electric.com

IT Журнал
30 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Домен в бд

Домен (базы данных)

Домен — допустимое потенциальное ограниченное подмножество значений данного типа. Например, домен ИМЕНА определен на базовом типе строк символов, но в число его значений могут входить только те строки, которые могут представлять имена (в частности, для возможности представления русских имен такие строки не могут начинаться с мягкого или твердого знака и не могут быть длиннее, например, 20 символов). В один домен могут входить значения из нескольких колонок, объединённых, помимо одинакового типа данных, ещё и логически. Если два значения берутся из одного и того же домена, то можно выполнить сравнение этих двух значений.

Более простое определение домена — это допустимое потенциальное множество значений одного типа.

  • Найти и оформить в виде сносок ссылки на авторитетные источники, подтверждающие написанное.
  • Проставив сноски, внести более точные указания на источники.
  • Дополнить статью (статья слишком короткая либо содержит лишь словарное определение).

Wikimedia Foundation . 2010 .

Смотреть что такое «Домен (базы данных)» в других словарях:

Реляционные базы данных — Реляционная база данных база данных, основанная на реляционной модели данных. Слово «реляционный» происходит от англ. relation (отношение[1]). Для работы с реляционными БД применяют реляционные СУБД. Использование реляционных баз данных было… … Википедия

Таблица (базы данных) — У этого термина существуют и другие значения, см. Таблица (значения). Таблица (англ. table) (в реляционной модели данных) структура хранения данных, состоящая из строк и столбцов и обладающая следующими свойствами: значения, находящиеся в одном… … Википедия

Домен — (фр. domaine) область; единица структуры: В Викисловаре есть статья «домен» … Википедия

Интеграция данных — включает объединение данных, находящихся в различных источниках и предоставление данных пользователям в унифицированном виде. Этот процесс становится существенным как в коммерческих задачах (когда двум похожим компаниям необходимо объединить их… … Википедия

Реляционная база данных — Реляционная база данных база данных, основанная на реляционной модели данных. Слово «реляционный» происходит от англ. relation (отношение[1]). Для работы с реляционными БД применяют реляционные СУБД. Использование реляционных баз… … Википедия

ГОСТ Р ИСО/МЭК ТО 10032-2007: Эталонная модель управления данными — Терминология ГОСТ Р ИСО/МЭК ТО 10032 2007: Эталонная модель управления данными: 2.36 база данных (database): Совокупность данных, хранимых в соответствии со схемой данных, манипулирование которыми выполняют в соответствии с правилами средств… … Словарь-справочник терминов нормативно-технической документации

Дескрипционная логика — Описательные логики[1] или дескрипционные логики[2][источник не указан 861 день](сокр. ДЛ, англ. description logics, иногда используется неточный перевод: дескриптивные логики) семейство языков представления знаний … Википедия

информационный — 3.1.24 информационный (informative): По ИСО/МЭК 14252. Источник: Р 50.1.041 2002: Информационные технологии. Руководство по проектированию профилей … Словарь-справочник терминов нормативно-технической документации

Miranda IM — У этого термина существуют и другие значения, см. Миранда. Miranda IM … Википедия

ДНС — DNS Название: Domain Name System Уровень (по модели OSI): Прикладной Семейство: TCP/IP Порт/ID: 53/UDP Назначение протокола: Разрешение доменных имён Спецификация: RFC 1034, RFC 1035 / STD 13 Основные реализации (клиен … Википедия

Домен в бд

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

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

4.1.1. Тип данных

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

4.1.2. Домен

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

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

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

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

Схема отношения — это именованное множество пар <имя атрибута, имя домена (или типа, если понятие домена не поддерживается)>. Степень или «арность» схемы отношения — мощность этого множества. Степень отношения СОТРУДНИКИ равна четырем, то есть оно является 4-арным. Если все атрибуты одного отношения определены на разных доменах, осмысленно использовать для именования атрибутов имена соответствующих доменов (не забывая, конечно, о том, что это является всего лишь удобным способом именования и не устраняет различия между понятиями домена и атрибута).

Читать еще:  Centos ввод в домен

Схема БД (в структурном смысле) — это набор именованных схем отношений.

4.1.4. Кортеж, отношение

Кортеж, соответствующий данной схеме отношения, — это множество пар <имя атрибута, значение>, которое содержит одно вхождение каждого имени атрибута, принадлежащего схеме отношения. «Значение» является допустимым значением домена данного атрибута (или типа данных, если понятие домена не поддерживается). Тем самым, степень или «арность» кортежа, т.е. число элементов в нем, совпадает с «арностью» соответствующей схемы отношения. Попросту говоря, кортеж — это набор именованных значений заданного типа.

Отношение — это множество кортежей, соответствующих одной схеме отношения. Иногда, чтобы не путаться, говорят «отношение-схема» и «отношение-экземпляр», иногда схему отношения называют заголовком отношения, а отношение как набор кортежей — телом отношения. На самом деле, понятие схемы отношения ближе всего к понятию структурного типа данных в языках программирования. Было бы вполне логично разрешать отдельно определять схему отношения, а затем одно или несколько отношений с данной схемой.

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

Обычным житейским представлением отношения является таблица, заголовком которой является схема отношения, а строками — кортежи отношения-экземпляра; в этом случае имена атрибутов именуют столбцы этой таблицы. Поэтому иногда говорят «столбец таблицы», имея в виду «атрибут отношения». Когда мы перейдем к рассмотрению практических вопросов организации реляционных баз данных и средств управления, мы будем использовать эту житейскую терминологию. Этой терминологии придерживаются в большинстве коммерческих реляционных СУБД.

Реляционная база данных — это набор отношений, имена которых совпадают с именами схем отношений в схеме БД.

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

Домен (базы данных)

  • Домен в реляционной модели данных — тип данных, то есть множество допустимых значений.

Понятие типа данных является фундаментальным; каждое значение, каждая переменная, каждый параметр, каждый оператор чтения, и особенно каждый реляционный атрибут относится к тому или иному типу.

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

По аналогии с математикой, типы данных делят на скалярные и нескалярные. Значение нескалярного типа (нескалярное значение) имеет множество видимых пользователю компонентов, а значение скалярного типа (скалярное значение) не имеет такового. Примерами нескалярного типа являются тип отношения и тип кортежа; пример скалярного типа — тип «целое».

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

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

Реляционная модель данных не предписывает обязательной поддержки каких-либо предопределённых типов, за исключением логического типа (BOOLEAN), без которого при выполнении операций обойтись невозможно. Обычно некоторый набор типов поддерживается системой (такие типы называют базовыми, встроенными, или системными), другие типы пользователь может конструировать (определять) дополнительно (такие типы называют пользовательскими, англ. user-defined types).

Связанные понятия

Упоминания в литературе

Связанные понятия (продолжение)

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

По одной из классификаций, языки программирования неформально делятся на сильно и слабо типизированные (англ. strongly and weakly typed), то есть обладающие сильной или слабой системой типов. Эти термины не являются однозначно трактуемыми, и чаще всего используются для указания на достоинства и недостатки конкретного языка. Существуют более конкретные понятия, которые и приводят к называнию тех или иных систем типов «сильными» или «слабыми».

Читать еще:  Размер домена безопасности

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

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

Базовые понятия реляционной модели данных

Written on 30 Декабря 2008 . Posted in Теория баз данных

ОГЛАВЛЕНИЕ

Отношения, атрибуты, кортежи отношения

Определения и примеры

Фундаментальным понятием реляционной модели данных является понятие отношения. В определении понятия отношения будем следовать книге К. Дейта.

Определение 1. Атрибут отношения есть пара вида .
Имена атрибутов должны быть уникальны в пределах отношения. Часто имена атрибутов отношения совпадают с именами соответствующих доменов.

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

Тело отношения содержит множество кортежей отношения. Каждый кортеж отношения представляет собой множество пар вида :

таких что значение атрибута принадлежит домену

Отношение обычно записывается в виде:

,

,

.

Число атрибутов в отношении называют степенью (или -арностью ) отношения.
Мощность множества кортежей отношения называют мощностью отношения.

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

Вывод 1: Заголовок отношения описывает декартово произведение доменов, на котором задано отношение. Заголовок статичен, он не меняется во время работы с базой данных. Если в отношении изменены, добавлены или удалены атрибуты, то в результате получим уже другое отношение (пусть даже с прежним именем).

Вывод 2: Тело отношения представляет собой набор кортежей, т.е. подмножество декартового произведения доменов. Таким образом, тело отношения собственно и является отношением в математическом смысле слова. Тело отношения может изменяться во время работы с базой данных — кортежи могут изменяться, добавляться и удаляться.

Пример 1. Рассмотрим отношение «Сотрудники» заданное на доменах «Номер_сотрудника», «Фамилия», «Зарплата», «Номер_отдела». Т.к. все домены различны, то имена атрибутов отношения удобно назвать так же, как и соответствующие домены. Заголовок отношения имеет вид:

Сотрудники (Номер_сотрудника, Фамилия, Зарплата, Номер_отдела)

Пусть в данный момент отношение содержит три кортежа:

(1, Иванов, 1000, 1)
(2, Петров, 2000, 2)
(3, Сидоров, 3000, 1)

такое отношение естественным образом представляется в виде таблицы:

Объекты и концепции базы данных

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

Следующие разделы содержат краткую информацию об объектах и концепциях базы данных InterBase:

Таблицы (Tables)

Реляционные базы данных хранят все данные в таблицах. Таблица это структура, состоящая из множества неупорядоченных горизонтальных строк (rows), каждая из которых содержит одинаковое количество вертикальных столбцов (colums). Пересечение отдельной строки и столбца называеися полем (field), которое содержит специфическую информацию. Многие принципы работы реляционной базы данных взяты из определений отношений (relations) между таблицами.

InterBase хранит информацию о метаданных в специальных таблицах, которые называются системными таблицами (system tables). Системные таблицы имеют специальные столбцы, которые содержат информацию о типе метаданных в этой таблице. Имена всех системных таблиц начинаются с «RDB$». Пример системной таблицы — RDB$RELATIONS, которая содержит информацию о каждой таблице в базе данных.

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

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

Столбцы (Columns)

Создание таблицы главным образом подразумевает определение столбцов таблицы. Главные атрибуты столбца включают:

  • Имя столбца;
  • Тип данных столбца или домен на котором он базируется;
  • Может или нет поле столбца принимать значение NULL;
  • Факультативно справочные ограничения целостности (referential integrity constraints).

Типы данных (Data types)

Данные сохранены в определенном формате, который называется типом данных (data type). Типы данных могут быть классифицированы по четырем категориям: числовые (numeric), символьные (character), даты (date) и BLOB. Числовые данные включают в себя все числа, начиная с целых вплоть до чисел двойной точности с плавающей точкой. Символьные данные содержат строки текста. Даты используются для хранения дат и времени.

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

Тип данных BLOB

InterBase поддерживает такой тип данных, как большие бинарные объекты (binary large object — BLOB), которые могут хранить данные неограниченного размера. Тип BLOB это расширение стандартной реляционной модели, которая обычно обеспечивает только типы данных фиксированной длины.

Читать еще:  A запись домена узнать

Тип данных BLOB аналогичен последовательному файлу (flat file), BLOB данные могут быть сохранены в любом формате (к примеру, бинарном или ASCII). BLOB, однако, это не отдельный файл. BLOB данные хранятся в базе данных наряду со всеми другими данными. Так как BLOB столбцы часто содержат большие и переменные объемы данных, BLOB столбцы хранятся в отдельных сегментах.

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

Домены (Domains)

В добавление к явному определению типа данных столбцов, InterBase обеспечивает глобальные определения столбцов или домены (domains), на которых могут базироваться определения столбцов. Домен содержит информацию о тип данных, устанавливает атрибуты и ограничения целостности столбцов. В последующем при создании таблиц возможно использовать домены для определения столбцов.

Справочные ограничения целостности (Referential integrity constraints)

InterBase позволяет вам определять правила обеспечивающие целостность информации хранящейся в столбцах, эти првавила названы справочными ограничениями целостности (referential integrity constraints). Ограничения целостности управляют связями типа столбец-таблица (column-to-table) и таблица-таблица (table-to-table) а также проверкой ввода данных. Они выпонены через первичные ключи (primary keys), внешние ключи (foreign keys) и проверочные ограничения (check constraints). Обычно первичный ключ это столбец (или группа столбцов), которые используются, чтобы уникально идентифицировать строку таблицы. Внешний ключ это столбец, чьи значения должны соответствовать значениям столбца в другой таблице. Проверочные ограничения — ограничивают ввод данных определенным диапазоном или набором значений.

Например, таблица EMPLOYEE могла бы быть определена имеющей внешний ключ столбец DEPT_NO. Который определен в соответствии со столбцом номера отдела в таблице DEPARTMENT. Это гарантировало бы, что каждый служащий из таблицы EMPLOYEE связан с существующим отделом в таблице DEPARTMENT.

Индексы (Indexes)

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

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

Виды (Views)

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

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

Сохраненные процедуры (Stored procedures)

Сохраненные процедуры (stored procedure) это отдельные программы, написанные на языке процедур и триггеров InterBase, который является расширением SQL. Сохраненные процедуры являются частью метаданных базы данных. Сохраненные процедуры могут получать входные параметры, возвращать значения приложению и могут быть вызваны явно из приложения или подстановкой вместо имени таблицы в инструкции SELECT.

Сохраненные процедуры обеспечивают следующие возможности:

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

Триггеры (Triggers)

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

Триггеры могут обеспечивать следующие возможности:

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

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

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

Генераторы (Generators)

Генератор (generator) это механизм который создает последовательный уникальный номер, который автоматически вставляется в столбец базой данных, когда выполняются операции INSERT или UPDATE. Генератор обычно применяется для создания уникальных значений, вставляемых в столбец, который используется как PRIMARY KEY. Для базы данных может быть определено любое число генераторов, каждый генератор должен имеет уникальное имя.

Защита (Security)

SQL защита (securite) управляется на уровне таблицы привилегий доступа — списка операций, которые разрешены пользователю над данной таблицей или видом. Инструкция GRANT назначает привилегии доступа к таблице или виду конкретным пользователям или процедурам. Инструкция REVOKE удаляет предварительно предоставленные привилегии доступа.

голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector