Что такое домен в базе данных
Что такое домен в базе данных
Основными понятиями реляционных баз данных являются тип данных, домен, атрибут, кортеж, первичный ключ и отношение.
Для начала покажем смысл этих понятий на примере отношения СОТРУДНИКИ, содержащего информацию о сотрудниках некоторой организации:
4.1.1. Тип данных
Понятие тип данных в реляционной модели данных полностью адекватно понятию типа данных в языках программирования. Обычно в современных реляционных БД допускается хранение символьных, числовых данных, битовых строк, специализированных числовых данных (таких как «деньги»), а также специальных «темпоральных» данных (дата, время, временной интервал). Достаточно активно развивается подход к расширению возможностей реляционных систем абстрактными типами данных (соответствующими возможностями обладают, например, системы семейства Ingres/Postgres). В нашем примере мы имеем дело с данными трех типов: строки символов, целые числа и «деньги».
4.1.2. Домен
Понятие домена более специфично для баз данных, хотя и имеет некоторые аналогии с подтипами в некоторых языках программирования. В самом общем виде домен определяется заданием некоторого базового типа данных, к которому относятся элементы домена, и произвольного логического выражения, применяемого к элементу типа данных. Если вычисление этого логического выражения дает результат «истина», то элемент данных является элементом домена.
Наиболее правильной интуитивной трактовкой понятия домена является понимание домена как допустимого потенциального множества значений данного типа. Например, домен «Имена» в нашем примере определен на базовом типе строк символов, но в число его значений могут входить только те строки, которые могут изображать имя (в частности, такие строки не могут начинаться с мягкого знака).
Следует отметить также семантическую нагрузку понятия домена: данные считаются сравнимыми только в том случае, когда они относятся к одному домену. В нашем примере значения доменов «Номера пропусков» и «Номера групп» относятся к типу целых чисел, но не являются сравнимыми. Заметим, что в большинстве реляционных СУБД понятие домена не используется, хотя в Oracle V.7 оно уже поддерживается.
4.1.3. Схема отношения, схема базы данных
Схема отношения — это именованное множество пар <имя атрибута, имя домена (или типа, если понятие домена не поддерживается)>. Степень или «арность» схемы отношения — мощность этого множества. Степень отношения СОТРУДНИКИ равна четырем, то есть оно является 4-арным. Если все атрибуты одного отношения определены на разных доменах, осмысленно использовать для именования атрибутов имена соответствующих доменов (не забывая, конечно, о том, что это является всего лишь удобным способом именования и не устраняет различия между понятиями домена и атрибута).
Схема БД (в структурном смысле) — это набор именованных схем отношений.
4.1.4. Кортеж, отношение
Кортеж, соответствующий данной схеме отношения, — это множество пар <имя атрибута, значение>, которое содержит одно вхождение каждого имени атрибута, принадлежащего схеме отношения. «Значение» является допустимым значением домена данного атрибута (или типа данных, если понятие домена не поддерживается). Тем самым, степень или «арность» кортежа, т.е. число элементов в нем, совпадает с «арностью» соответствующей схемы отношения. Попросту говоря, кортеж — это набор именованных значений заданного типа.
Отношение — это множество кортежей, соответствующих одной схеме отношения. Иногда, чтобы не путаться, говорят «отношение-схема» и «отношение-экземпляр», иногда схему отношения называют заголовком отношения, а отношение как набор кортежей — телом отношения. На самом деле, понятие схемы отношения ближе всего к понятию структурного типа данных в языках программирования. Было бы вполне логично разрешать отдельно определять схему отношения, а затем одно или несколько отношений с данной схемой.
Однако в реляционных базах данных это не принято. Имя схемы отношения в таких базах данных всегда совпадает с именем соответствующего отношения-экземпляра. В классических реляционных базах данных после определения схемы базы данных изменяются только отношения-экземпляры. В них могут появляться новые и удаляться или модифицироваться существующие кортежи. Однако во многих реализациях допускается и изменение схемы базы данных: определение новых и изменение существующих схем отношения. Это принято называть эволюцией схемы базы данных.
Обычным житейским представлением отношения является таблица, заголовком которой является схема отношения, а строками — кортежи отношения-экземпляра; в этом случае имена атрибутов именуют столбцы этой таблицы. Поэтому иногда говорят «столбец таблицы», имея в виду «атрибут отношения». Когда мы перейдем к рассмотрению практических вопросов организации реляционных баз данных и средств управления, мы будем использовать эту житейскую терминологию. Этой терминологии придерживаются в большинстве коммерческих реляционных СУБД.
Реляционная база данных — это набор отношений, имена которых совпадают с именами схем отношений в схеме БД.
Как видно, основные структурные понятия реляционной модели данных (если не считать понятия домена) имеют очень простую интуитивную интерпретацию, хотя в теории реляционных БД все они определяются абсолютно формально и точно.
Домен (базы данных)
- Домен в реляционной модели данных — тип данных, то есть множество допустимых значений.
Понятие типа данных является фундаментальным; каждое значение, каждая переменная, каждый параметр, каждый оператор чтения, и особенно каждый реляционный атрибут относится к тому или иному типу.
Примерами могут являться типы «целое» (множество всех целых чисел), «строка» (множество всех строк), «номер детали» (множество всех номеров деталей) и т. д. Таким образом, когда мы говорим, что некоторое отношение имеет атрибут типа «целое», мы имеем в виду, что все значения этого атрибута принадлежат множеству «целое» и никакому другому.
По аналогии с математикой, типы данных делят на скалярные и нескалярные. Значение нескалярного типа (нескалярное значение) имеет множество видимых пользователю компонентов, а значение скалярного типа (скалярное значение) не имеет такового. Примерами нескалярного типа являются тип отношения и тип кортежа; пример скалярного типа — тип «целое».
Ограничения реализации систем баз данных на компьютерах накладывают на определение типов некоторую условность. Так, теоретически тип INTEGER представляет собой множество всех возможных целых чисел, однако фактически INTEGER — это множество всех целых чисел, которые могут быть представлены в рассматриваемой компьютерной системе (поскольку, безусловно, есть такие целые числа, которые превышают возможности представления в любой компьютерной системе).
Следует отличать тип как таковой (логическое понятие) и формат физического представления значений этого типа в конкретной компьютерной системе; типы относятся к уровню логической модели, а физическое представление значений — к уровню реализации. Например, операции, определённые для типа «строка», не имеют смысла для типа «число», даже если числа в конкретной реализации физически представлены строками. Значения типа «дата» нередко физически представлены вещественным числом, однако большинство операций, имеющих смысл для типа «число», бессмысленны для типа «дата».
Реляционная модель данных не предписывает обязательной поддержки каких-либо предопределённых типов, за исключением логического типа (BOOLEAN), без которого при выполнении операций обойтись невозможно. Обычно некоторый набор типов поддерживается системой (такие типы называют базовыми, встроенными, или системными), другие типы пользователь может конструировать (определять) дополнительно (такие типы называют пользовательскими, англ. user-defined types).
Связанные понятия
Упоминания в литературе
Связанные понятия (продолжение)
В приведённой ниже таблице отмечено наличие или отсутствие тех или иных возможностей в некоторых популярных сегодня языках программирования. Столбцы упорядочены по алфавиту. Если возможность в языке недоступна напрямую, но может быть эмулирована с помощью других средств, то в таблице отмечено, что её нет.
По одной из классификаций, языки программирования неформально делятся на сильно и слабо типизированные (англ. strongly and weakly typed), то есть обладающие сильной или слабой системой типов. Эти термины не являются однозначно трактуемыми, и чаще всего используются для указания на достоинства и недостатки конкретного языка. Существуют более конкретные понятия, которые и приводят к называнию тех или иных систем типов «сильными» или «слабыми».
В теории типов и функциональных языках программирования конструктор алгебраического типа данных или просто конструктор представляет собой функцию с пустым телом, конструирующую объект алгебраического типа данных. Оптимизирующие компиляторы исполняют эти функции статически, т.е. на этапе компиляции.
Опера́тор ветвле́ния (усло́вная инстру́кция, усло́вный опера́тор) — оператор, конструкция языка программирования, обеспечивающая выполнение определённой команды (набора команд) только при условии истинности некоторого логического выражения, либо выполнение одной из нескольких команд (наборов команд) в зависимости от значения некоторого выражения.
Объясни мне: что такое домен и как его получить
Пошаговая инструкция для начинающих.
В самой первой статье из серии «Объясни» мы схематично показали, как устроен интернет. Теперь идём дальше — говорим про названия сайтов, откуда они берутся и зачем они нужны.
Что такое домен
Домен — это имя сайта в интернете: yandex.ru или thecode.media. Чаще всего говорят про домены первого и второго уровней.
Домен первого уровня (зона) обозначает страну или тематическое направление сайта. Примеры доменов первого уровня: .ru, .com, .рф, .media, .org. Правила разделения по странам соблюдать не обязательно: сайт из России может находиться в зоне .com, а албанский форум — в зоне .ru. А красивый домен .tk изначально создавался для малюсенького региона Токелау в Тихом океане, но использует его кто попало.
Домен второго уровня — основное имя сайта:
yandex.ru — домен второго уровня yandeх в зоне .ru
thecode.media — домен второго уровня thecode в зоне .media
Чаще всего домены любого уровня пишутся латиницей, но в национальных доменах можно писать кириллицей или иероглифами:
中国移动.中国 — адрес китайского мобильного оператора China Mobile
президент.рф — дополнительный адрес сайта Кремля
С технической точки зрения домен — это запись в базе данных, которая сообщает компьютерам: «Если введён такой-то адрес — отправьте запрос на такой-то IP». И ещё это запись на компьютере, который обслуживает сайт: «если пришёл запрос с таким-то доменным именем, покажи ему такой-то сайт». Короче, домены — это просто записи в базе данных.
Кому нужен домен
Домены нужны всем, у кого есть сайт, и тем, кто только хочет его сделать. Домен как отпечаток пальца — двух одинаковых не бывает, все названия уникальны. Они могут быть визуально похожи или отличаться одним символом, но если кто-то уже взял себе домен yandex.ru, то купить себе такой же уже не получится.
Одна компания или человек может купить сколько угодно уникальных доменов — ограничений нет. Можно купить по домену для себя, своей компании, каждого её продукта, для большой презентации или в подарок на день рождения. До тех пор, пока у домена уникальное имя, вам его продадут.
Ограничений по названиям доменов почти нет, кроме тех, что прописаны в законе. Сайт наркотики.рф зарегистрировать не получится. Зато предлагают narkotiki.ru.com всего за 142 рубля!
ППокупка домена
Чтобы купить домен, понадобится специальный сервис — регистратор доменных имён. В Рунете их много, мы всё будем делать на примере reg.ru , но порядок действий везде одинаковый:
- регистрируемся;
- подбираем свободное имя для домена;
- заполняем паспортные данные владельца или реквизиты организации;
- оплачиваем домен;
- прикручиваем его к хостингу.
Теперь каждый пункт подробнее.
Регистрация. Заходим на страницу регистрации , вводим адрес и подтверждаем его в почте. Проще некуда.
Подбор свободного имени. Там же на главной пролистываем экран немного вниз и попадаем в форму поиска доменов. Выберем название mihailmaximov.ru и проверим, свободно ли оно. Этот домен пригодится нам, когда мы будем делать полноценный сайт на основе страницы « О себе» на Бутстрапе . Сервис нам тут же предлагает купить второй домен за один рубль — спасибо, в другой раз:
Паспортные данные или реквизиты компании. Перед оплатой сервис попросит ввести информацию о себе. Это нужно для того, чтобы регистратор имён знал, с кем он заключает договор и кому предъявлять претензии в случае нарушения закона. Весь остальной интернет этого не видит, но если что — регистратор будет знать, кто отвечает за домен и как с ним связаться. Все свои данные можно посмотреть в личном кабинете регистратора:
Оплата. Регистраторы — продвинутые ребята, поэтому обычно у них есть все законные способы оплаты от банковского перевода до PayPal:
Если после оплаты видим такое или что-то подобное, значит, всё прошло хорошо, домен теперь наш:
Посмотреть все домены , которые у вас есть, можно в том же личном кабинете:
Избавиться от домена
Домен покупается на время: на несколько месяцев, на год или несколько лет. Когда срок регистрации выходит, сначала домен замораживают, а потом выставляют на аукцион, где его могут купить другие люди. Можно не бояться, что если купил домен один раз, придётся платить за него всю жизнь — можно просто перестать платить, и через год этим доменом уже будет пользоваться кто-то другой.
Что дальше
Свой домен — это только половина дела. Ещё нужно настроить его, чтобы все знали, куда именно ведёт этот адрес, привязать его к хостингу и залить туда нужные файлы. В результате у нас получится свой сайт с собственным именем в сети.
Домен (базы данных)
Домен — допустимое потенциальное ограниченное подмножество значений данного типа. Например, домен ИМЕНА определен на базовом типе строк символов, но в число его значений могут входить только те строки, которые могут представлять имена (в частности, для возможности представления русских имен такие строки не могут начинаться с мягкого или твердого знака и не могут быть длиннее, например, 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 Основные реализации (клиен … Википедия
BestProg
Базовые понятия реляционной модели данных
Содержание
1. Какие есть базовые понятия реляционной модели данных?
Как известно, реляционная модель данных основывается на сохранении данных в виде взаимосвязанных таблиц. Связь между таблицами может быть реализована по некоторому полю и называется отношением (relation).
Реляционная модель данных использует следующие основные понятия:
2. Что такое тип данных в реляционной модели данных?
Тип данных есть характеристикой объекта в языке программирования. Таким объектом может выступать переменная, константа и т.п. Тип данных определяет допустимое множество значений, которые может принимать переменная величина или объект.
В системах управления базами данных тип данных имеет такое самое значение как и языках программирования.
Пример. Пусть задана таблица Worker, описывающая данные о работнике предприятия.
В вышеприведенной таблице целесообразно установить следующий тип данных для каждого поля:
- поле «Идентификационный код» – строка символов (строчный тип). Код представляет собой число из 10 символов, поэтому лучше представить его в виде строки. Однако, по желанию, можно представить его как длинное целое число;
- «Фамилия и инициалы» – строчный тип данных;
- «Домашний адрес» – строчный тип данных;
- «Дата рождения» – тип данных «Дата/Время» (Date/Time);
- «Пол» – логический тип (True — женщина, False – мужчина);
- «Разряд» – целое число (целочисленный тип).
3. Какие типы данных поддерживаются системами управления базами данных?
Современные СУБД поддерживают следующие основные типы данных:
- целочисленные;
- вещественный (с плавающей запятой);
- строковые;
- типы данных, описывающие дату и время;
- специализированные типы данных, которые описывают денежные величины;
- типы данных, которые описывают сложные двоичные объекты (Binary Large Object).
4. Домены в реляционной модели данных
Домен – это множество отдельных допустимых значений данных, которые:
- есть неделимыми (атомарными) для данной модели;
- имеют одинаковый тип.
Пример. Пусть дана таблица Worker, описывающая данные о работнике.
В домене «Идентификационный код» допустимыми являются строки из цифр, которые имеют строго 10 разрядов. В домене «Пол» возможны только 2 значения. В домене «Разряд» могут быть целочисленные значения от 1 до 6.
5. Атрибуты в реляционной модели данных
Атрибуты – это столбцы таблицы (поля таблицы). Атрибуты имеют имена. По имени атрибута осуществляется обращение к таблице.
Пример. В таблице Worker (см. п. 4) названия атрибутов следующие:
- Идентификационный_код;
- Фамилия и инициалы;
- Домашний адрес;
- Дата рождения;
- Пол;
- Разряд.
6. Что такое схема отношения? Что такое схема базы данных?
Схема отношения – это список имен атрибутов отношения с указанием имен типов.
Пример. Для таблицы Worker схема отношения будет приблизительно следующей:
Множество именованных схем отношения, называется схемой базы данных.
7. Что такое степень отношения?
Количество атрибутов в таблице называется степенью отношения. Для примера (см. п. 4) таблицы Worker степень отношения равна 6 (таблица имеет 6 полей).
Унарное отношение – это отношение степени один. Бинарное отношение – это отношение степени два. Тернарное отношение – это отношение степени три. n-арное отношение – это отношение степени n.
8. Что такое кортеж в базах данных?
Кортеж рассматривается для конкретной (данной) схемы отношения. В такой схеме кортеж есть множество пар, которые представлены следующим образом:
где имя_атрибута – имя конкретного атрибута.
Например. Пусть задана таблица Worker с такими данными
Схема отношения для данной таблицы будет следующая:
Тогда кортеж, который отвечает первой строке таблицы Worker будет иметь вид:
Таким самым образом можно определить кортеж, который соответствует второй строке таблицы Worker а также и следующим строкам таблицы.
9. Что называется кардинальным числом или мощностью отношения?
Кардинальное число – это количество кортежей. В таблице Worker (см. п. 8) кардинальное число равно 7. Кардинальное число еще называют мощностью отношения.
10. Что собою представляет пустое значение (NULL) в базе данных?
Существуют случаи, когда в таблице базы данных некоторые значения еще неизвестны на данный момент времени. Такие значения называются пустыми значениями и могут быть заполнены со временем (позже). Для задавания пустых значений, в базе данных используется слово NULL. Системы управления базами данных допускают использования значения NULL для задавания данных, которые могут быть заполнены позже.
Следует заметить, что значение NULL не является нулем и не является пустой строкой.
Например. В таблице Worker (п. 8) возможна ситуация, когда работник еще не имеет разряда. В этом случае в соответствующей ячейке нужно ввести значение NULL. Как только работнику будет присвоен некоторый разряд, значение NULL будет заменено этим новым значением.
11. Что такое ключи отношения? Что такое первичный ключ?
Важным условием любой базы данных есть то, что в ней не должно быть двух одинаковых записей. Или другими словами, в таблице базы данных не должно быть двух кортежей, которые содержат одинаковые значения. Во избежание этой проблемы, используются первичные ключи.
Первичный ключ – это специальное дополнительное поле (атрибут) таблицы, которое создается для обеспечения уникальности идентификации записей таблицы. Основная цель создания первичного ключа – предотвратить дублирование (повторение) записей таблицы.
Например. Пусть дана таблица Worker (см. п.8). Чтобы не повторялись записи, в этой таблице может быть создано дополнительное поле (атрибут) с именем, например, ID_Worker. Тип этого поля может быть выбран как счетчик (counter), который автоматически увеличивается при добавлении новой записи в таблицу.
12. Что такое простой и составной (сложный) ключи?
Простой ключ – это ключ, который содержит только один атрибут (поле). Сложный или составной ключ– это ключ, который содержит несколько атрибутов, то есть состоит из нескольких полей, значения в которых не могут повторяться.
Пример. Пусть дана таблица Student, содержащая данные о студенте. Таблица содержит следующие поля: