Главная » Статьи для тега "является"

СРЕДСТВА ЯЗЫКА SQL/XML

Добавлено Дата: 22 July, 2012 категория: SQL, Базы данных

Ко времени написания данной книги в стандарте SQL не была предусмотрена поддержка языка XML, но предполагается, что соответствующие средства поддержки будут включены в этот стандарт под общим названием SQL/XML [27.15] и определены в части 14 следующей версии стандарта (рабочий вариант которой был опубликован в 2003 году). В настоящем разделе даны предварительные сведения об указанных средствах поддержки, но следует учитывать, что весь представленный здесь материал после формального утверждения спецификации средств SQL/XML может потребовать пересмотра.

Читать »

КЛЮЧИ в реляционной модели

Добавлено Дата: 22 July, 2012 категория: SQL, Базы данных

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

Читать »

Хронологические базы данных

Добавлено Дата: 21 July, 2012 категория: SQL, Базы данных

Хронологическая база данных может быть неформально определена как  база, которая содержит исторические данные1 наряду с текущими данными или вместо них (в  качестве  наглядного  примера  такой  базы  данных  можно  указать  хранилище данных; см. главу 22). Обычные, или  нехронологические,  базы данных содержат только текущие данные; актуальность таких баз поддерживается путем обновления данных сразу же  после того, как представленные в них высказывания становятся ложными. В отличие от них, хронологические базы данных обновляются очень редко (а  могут вообще не обновляться), если не считать выполнения операций  INSERT, которые применяются для их первоначального заполнения. Например, рассмотрим базу  данных  поставщиков  и  деталей.  Если  в  ней  находятся  значения,  обычно используемые в данной книге в качестве примеров, то эта база данных, кроме всего прочего,  показывает,  что  статус  поставщика  S1  (под  этим  подразумевается  тот статус, каковым он является "в настоящее время") равен 20. Но в хронологической

Читать »

ОПРЕДЕЛЕНИЯ ТИПОВ И ФОРМАТОВ ПРЕДСТАВЛЕНИЯ

Добавлено Дата: 19 July, 2012 категория: SQL, Базы данных

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

3 Точнее, эта операция не может окончиться неудачей из-за ошибки во время прогона программы, связанной с несоответствием  типов.  В  этой  книге  принято  достаточно  обоснованное   предположение,   что  в  системе предусмотрена проверка типов во время компиляции (или так называемая  "статическая" проверка); очевидно, что ошибка во время прогона программы не может возникнуть, если проверка во время компиляции прошла успешно.

Читать »

Функциональные зависимости  ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ

Добавлено Дата: 18 July, 2012 категория: SQL, Базы данных

Для демонстрации основных идей данного раздела используется несколько измененная версия переменной отношения с данными о поставках, которая в  дополнение к обычным атрибутам s#, Р# и QTY будет содержать также атрибут CITY, представляющий

1Следует отметить, что это довольно формальное утверждение является истинным именно потому, что на рассматриваемые данные распространяются некоторые "практические  ограничения" (см. главу 9). В  данном  случае  таковым  является  правило,  что  в  любой  отдельно  взятый  момент  времени  любой отдельно взятый поставщик не может выполнить больше одной поставки любой отдельно взятой детали. Другими словами, образно говоря, функциональные  зависимости относятся к сфере семантики (они определяют, что означают данные) и поддерживаются сознательно, а не возникают в результате счастливой случайности, благодаря  которой в определенное время в базе данных вдруг появляются некоторые значения, связанные между собой определенной закономерностью.

Читать »

АНАЛИЗ ВЗАИМОДЕЙСТВИЯ МЕЖДУ ТИПАМИ И ПОДТИПАМИ НА ПРИМЕРЕ ОКРУЖНОСТЕЙ И ЭЛЛИПСОВ

Добавлено Дата: 18 July, 2012 категория: SQL, Базы данных

Могут ли экземпляры подтипов рассматриваться как экземпляры типов,  например, действительно ли окружности являются эллипсами? До сих пор в данной главе (на вполне резонных основаниях!) предполагалось, что ответ на этот  вопрос является положительным, но теперь необходимо признать тот факт, что по этому вопросу, который внешне кажется однозначным, в литературе можно найти совершенно противоположные мнения [20.6]. Рассмотрим обычно используемые в этой главе переменные Е и с, которые имеют, соответственно, объявленные типы ELLIPSE и CIRCLE. Предположим, что эти переменные были инициализированы следующим образом.

Читать »

ЯЗЫК ЗАПРОСОВ ПО ОБРАЗЦУ

Добавлено Дата: 18 July, 2012 категория: SQL, Базы данных

Одним из наиболее широко известных примеров языка, основанного на исчислении доменов, является язык запросов по образцу (Query-By-Example — QBE) [8.14]. (Фактически QBE одновременно воплощает в себе средства исчисления доменов и исчисления кортежей, но первое в нем доминирует.) Его синтаксис  является очень привлекательным и простым для интуитивного восприятия; он основан на идее внесения записей в пустые таблицы. Например, формулировка на языке QBE запроса: "Определить имена поставщиков,

Читать »

ВЫРЕЗКИ И ФУНКЦИИ

Добавлено Дата: 18 July, 2012 категория: Basic

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

Читать »

Типы и реляционная модель

Добавлено Дата: 17 July, 2012 категория: SQL, Базы данных

Примечание.  При   первом   прочтении   книги   читатель   может   пожелать ознакомиться с этой главой лишь кратко. Сама эта глава по  праву занимает место, отведенное ей в данной части, но значительный объем представленного в ней материала фактически не потребуется до  главы 20 части V и глав 25-27 части VI.

Читать »

ОПЕРАТОРЫ, ВЕРСИИ И СИГНАТУРЫ

Добавлено Дата: 17 July, 2012 категория: SQL, Базы данных

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

Читать »

ИСЧИСЛЕНИЕ ПРЕДИКАТОВ

Добавлено Дата: 16 July, 2012 категория: SQL, Базы данных

Теперь перейдем к описанию исчисления предикатов. Основное различие между исчислением высказываний и исчислением предикатов заключается в том, что последнее позволяет включать в формулы переменные4  и кванторы,  благодаря чему эти формулы становятся намного более мощными и находят гораздо более широкую область применения. Например, следующие утверждения  не являются допустимыми формулами исчисления  высказываний,  но  они  допустимы  в  исчислении  предикатов:  "Поставщик  S1 поставляет деталь р" и "Некоторый поставщик s поставляет деталь р". Поэтому исчисление предикатов  предоставляет основу для составления примерно таких запросов: "Какие детали поставляет поставщик S1?", или "Определить поставщиков, которые поставляют некоторую деталь", или даже "Определить поставщиков, которые не поставляют вообще никаких деталей".

Читать »

НЕКОТОРЫЕ СЛЕДСТВИЯ ИЗЛОЖЕННОЙ СХЕМЫ

Добавлено Дата: 15 July, 2012 категория: SQL, Базы данных

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

Преобразование выражений

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

Читать »

РЕЛЯЦИОННАЯ МОДЕЛЬ

Добавлено Дата: 15 July, 2012 категория: SQL, Базы данных

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

Читать »

НАЧАЛЬНАЯ СТАДИЯ РАЗРАБОТКИ ПРОГРАММЫ

Добавлено Дата: 15 July, 2012 категория: Basic

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

Читать »

ЧТЕНИЕ ПРОГРАММЫ

Добавлено Дата: 20 June, 2012 категория: Basic

Одним из важнейших качеств, которые потребуются от Вас как от программиста, является умение "читать" программы и получать определенное представление об их функциях. Вы  должны уметь распознать "куски" программы и определить их назначение, не сбиваясь из-за  неудачного выбора имен переменных или формата текста программы. По мере накопления опыта  Вы обнаружите, что после  некоторой  модификации  эти  куски  программ  можно  использовать  для  Ваших  целей.  В качестве отправной точки этого процесса рассмотрим следующую программу на Бейсике, в которой используются представленные в этой главе операторы. Она вычисляет площадь и длину окружности круга по значению его радиуса. (Площадь равна πr2,  а  длина окружности 2πr,  где r-радиус, π=3. 14159 …)

Читать »