Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







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





Реляционная система управления базами данных – это такая система, в которой выполняется как минимум два условия:

- данные воспринимаются пользователем как таблицы (и никак иначе);

- в распоряжении пользователя имеются операторы, которые генерируют новые таблицы из старых, и среди которых, по крайней мере, есть операторы SELECT, PROJECT, JOIN.

Операция SELECT предназначена для извлечения определенных строк из таблицы.

Операция PROJECT предназначена для извлечения определенных столбцов из таблицы.

Операция JOIN предназначена для соединения двух таблиц на основе общих значений в общих столбцах.

Следует выделить следующие особенности:

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

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

Например. Если служащий S1 работает в отделе D1, то эта информация представлена не указателем, а появлением значения D1 в строке E1 таблицы Служащих. Тем самым таблица Служащих связана с таблицей Отделов значением D1;

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

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

Реляционная модель связана с тремя аспектами данных: структурой, целостностью и обработкой данных.

Структура – это объекты данных, объектами в основном являются таблицы. Целостность обеспечивается внешними и первичными ключами, а операторы – это SELECT, PROJECT, JOIN и т.д.

Существуют определенные правила целостности, которые должны соблюдаться в базе данных:

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

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

Достаточно точно можно дать следующее определение: реляционная модель– это способ рассмотрения данных, т.е. предписание для способов представления данных (посредством таблиц) и для способа работы с таким представлением (посредством операторов).

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

Базовые таблицы должны быть именованными. Большинство производных таблиц, наоборот, неименованные.

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

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

Различия между базовой таблицей и представлением часто характеризуется так:

- базовые таблицы «реально существуют» в том смысле, что они представляют данные, которые действительно хранятся в базе данных;

- представления, наоборот, «реально не существуют», а просто предоставляют различные способы просмотра «реальных» данных.

Стандартным языком для работы с реляционными базами данных является язык SQL. Этот язык был разработан в компании IBM Research в начале 1970-х годов, его первой крупной реализацией был реляционный прототип IBM – продукта System R. С того времени диалекты языка SQL стали Американским национальным стандартом (ANSI), международным стандартом (ISO), стандартом системы UNIX (X/OPEN), стандартом корпорации IBM, описывающим «общий интерфейс базы данных», который является частью архитектуры системных приложений IBM (System Application Architecture, сокращенно SAA), федеральным стандартом обработки информации (FIPS).

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

Язык SQL - это язык, ориентированный на работу с множествами. Язык не включает ни средств управления выполнением программы (ветвлений и циклов), ни средств для создания форм или отчетов. Функции управления реализуются с помощью языков программирования. Однако в некоторые версии SQL, например в Transact - SQL, используемые в Microsoft SQL Server, добавлены два оператора <IF... ELSE> и <WHILE>.

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

Существуют три способа реализации SQL:

· Непосредственный вызов. Инструкции SQL передаются в систему управления базами данных (СУБД), которая создает и выводит требуемую таблицу. Примером непосредственного вызова может служить предложение SQL системы dBase IV.

· Язык модулей. Позволяет записывать в текстовый файл инструкции SQL, которые позднее выполняются приложением. Инструкция SQL должна начинаться с ключевого слова MODULE и определять язык программирования (LANGUAGE).

· Встроенный SQL. Это наиболее распространенный метод реализации; инструкции SQL генерируются системой управления или включаются как текст в команды языка системы.

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

Элементы Transact - SQL

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

 

 

SELECT select list

[INTO new_table]

FROM table_source

[WHERE search_condition]

[GROUP BY group_by_expression]

[HAVING search_condition]

[ORDER BY order_expression [ASC \ DESC] ]

 

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

SELECT [ ALL \ DISTINCT]

[TOP n [PERCENT] [WITH TIES ]]

q ALL –при указании этого ключевого слова в результат запроса разрешается включение дублирующихся строк. Параметр ALL используется по умолчанию.

q DISTINCT – это ключевое слово запрещает появление в результате дублирующихся строк.

q TOP n [PERCENT] [WITH TIES] – использование этой конструкции предписывает серверу выбирать не все строки, а только n первых. Для этого лишь требуется указать ключевое слово ТОР п.

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

При указании ключевого слова WITH TIES в результат будут включены строки, совпадающие с последними выведенными строками при указании ТОР n [PERCENT]. Это позволяет включать в результат все одинаковые строки, не опасаясь, что, например, из 12 одинаковых строк будут выведены только 7. WITH TIES допускается применять только в случае, если строки в результате упорядочены, то есть когда в запросе используется конструкция ORDER BY.

Раздел INTO

При указании этой конструкции результат выполнения запроса будет сохранен в новой таблице. Синтаксис раздела INTO следующий:

[INTO new_table]

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

Раздел FROM

FROM {<table_source>}

Ключевое слово FROM описывает таблицы или представления, связанные с изменяемой таблицей. Если в базе данных имеются таблицы или представления, ссылающиеся на изменяемую таблицу, то для обеспечения целостности данных необходимо указать эти объекты при выполнении команды UPDATE. Если выполняется, изменение данных, никак не влияющих на другие таблицы, то указание FROM не требуется. Порядок указания таблиц и представлений после ключевого слова FROM не влияют на результат работы команды UPDATE. Ссылки на исходные таблицы и представления указываются в конструкции UPDATE.

Добавление директивы WHERE

Используя тот же самый базовый оператор SELECT, можно сузить результаты запроса, добавив директиву WHERE.

В директиве WHERE в качестве критерия отбора строк можно использовать несколько столбцов.

Для проверки значений полей можно использовать различные операторы сравнения. Описание этих операторов приведено в таблице 1.

Таблица 1. Операторы сравнения директивы WHERE

Описание Оператор
= Равно
> Больше чем
< Меньше чем
>= Больше либо равно
<= Меньше либо равно
<> Не равно
IN Входит в заданный список значений
between... and Входит в интервал значений
like Содержит значение, соответствующее заданному шаблону. Шаблон для сравнения – это строка, состоящая из одного или нескольких символов подстановки. Список символов-шаблонов можно найти в справочной системе SQL Server.

 

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

 

 







Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом...

ЧТО И КАК ПИСАЛИ О МОДЕ В ЖУРНАЛАХ НАЧАЛА XX ВЕКА Первый номер журнала «Аполлон» за 1909 г. начинался, по сути, с программного заявления редакции журнала...

Что вызывает тренды на фондовых и товарных рынках Объяснение теории грузового поезда Первые 17 лет моих рыночных исследований сводились к попыткам вычис­лить, когда этот...

Что способствует осуществлению желаний? Стопроцентная, непоколебимая уверенность в своем...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.