Корпоративные ограничения Дополнительные правила поддержки целостности данных, опреде ляемые пользователями или администраторами базы данных. целостности
Пользователи сами могут указывать дополнительные ограничения, которым должны удовлетворять данные. Например, если в одном отделении не может работать больше 20 сотрудников, то пользователь может указать это правило, а СУБД следить за его выполнением. В этом случае в отношение Staff нельзя будет добавить строку со сведениями о новом сотруднике некоторого отделения, если в данном отделении компании уже насчитывается 20 сотрудников. К сожалению, уровень поддержки реляционной целостности в разных системах существенно варьирует. Более подробно вопросы поддержки реляционной целостности данных обсуждаются в главе 9, "Методология физического проектирования реляционных баз данных", в главе 12, "Пример разработки физического проекта базы данных", и в главе 14, "Дополнительные средства языка SQL".
Слить воду
20. Языки доступа к данным в реляционной СУБД,основные возможности; их отличия. Примеры.
|
|
СУБД (database system) – система специальным образом организованных данных – базы данных, программных, технических, языковых и организационно-методических средств, предназначенных для централизованного накопления и коллективного использования данных.
QBE – это аббревиатура от выражения Query By Example (запрос по образцу)– это метод отбора данных, разработанный компанией IBM в 70-е годы. Этот метод позволяет пользователю на уровне визуальных объектов строить запросы. «+» QBE является то, что для формирования запроса не требуется изучать SQL, все необходимые этого запроса действия происходят в оконном режиме и нужно лишь указать какие таблицы и поля необходимо использовать для данного запроса. В QBE фундаментальными являются две концепции: 1) программирование осуществляется посредством двумерных таблиц-шаблонов; это достигается заполнением соответствующих полей таблицы в примере решения; 2) происходим разедление данных хранящихся в БД – они находятся в верхней части окна интрефейса, и параметров вводимых в качестве критериев отбора. Пример: вы ищете фамилии всех сотрудников, стаж работы которых больше 3 лет и должность которых «Менеджер» или «Администратор». Тогда, пользуясь QBE, можно ввести запрос:
| Фамилия | Стаж | Должность |
| | более 3 лет |Менеджер или Администратор
Этот запрос означает: найти все данные, в которых в поле «Стаж» больше «3», в поле «Должность» – “Менеджер ” или “Администратор”.
SQL (Structured Query Language - структуризованный язык запросов) ориентирован на операции с данными, представленными в виде логически взаимосвязанных совокупностей таблиц. Особенность предложений этого языка состоит в том, что они ориентированы в большей степени на конечный результат обработки данных, чем на процедуру этой обработки. SQL сам определяет, где находятся данные, какие индексы и даже наиболее эффективные последовательности операций следует использовать для их получения: не надо указывать эти детали в запросе к базе данных.
|
|
SELECT Sotrudnik.Familiya, Sotrudnik.Stag, Dolgnost.Name FROM
Sotrudnik
INNER JOIN Dolgnost
ON Sotrudnik.ID_Dolgnost = Dolgnost.ID
WHERE
Sotrudnik.Stag > 3
AND (Dolgnost.Name = “Менеджер” OR Dolgnost.Name = “Администратор”)
21. Основные возможности языка SQL при выборе данных из БД
Назначение оператора SELECT состоит в выборке и отображении данных однойили более таблиц базы данных. Это исключительно мощный оператор, способный выполнять действия, эквивалентные операторам реляционной алгебры selection, projection и join, причем в пределах единственной выполняемой команды. Оператор SELECT является чаще всего используемой командой языка SQL. Общий формат оператора SELECT имеет следующий вид:
SELECT [DISTINCT | ALL] {* | [column_expression [AS пew_namе]][,…]} FROM table_name | alias] [ ,… ] [WHERE condition ] [GROUP BY column_list ] [HAVING condition ] [ORDER BY column_list ] |
Здесь параметр column_expression представляет собойимя столбцаили выражение из несколькихимен. Параметр table_name являетсяименем существующих в базе данных таблицы или представления, к которым необходимо получить доступ. Необязательный параметр alias — это сокращение, устанавливаемое для имени таблицы table_ патe. При выборке всех имеющихся в таблице столбцов в языке SQL определен упрощенный вариант записи значения "все столбцы" — вместо имен столбцов указывается символ звездочки (*).
Обработка элементов оператора SELECT выполняется в следующей последовательности.)
FROM | Определяются имена используемой таблицы или нескольких таблиц |
WHERE | Выполняется фильтрация строк объекта в соответствии с заданными условиями |
GROUP BY | Образуются группы строк, имеющих одно и то же значение в указанном столбце |
HAVING | Фильтруются группы строк объекта в соответствии с указанным условием |
SELECT | Устанавливается, какие столбцы должны присутствовать в выходных данных |
ORDER BY | Определяется упорядоченность результатов выполнения оператора |
Порядок предложений и фраз в операторе SELECT не может быть изменен. Только два предложения оператора — SELECT и FROM — являются обязательными, все остальные предложения и фразы могут быть опущены. Операция SELECT является закрытой: результат запроса к таблице представляет собой другую таблицу. Существует множество вариантов записи данного оператора, что иллюстрируется приведенными ниже примерами.
22. Основные команды компонента DDL языка SQL. Примеры создания, удаления таблиц и модификации структуры таблицы.
Язык определения данных
С помощью языка определения данных (Data Definition Language, DDL), который обычно является частью СУБД, определяются и управляются все атрибуты базы данных, в том числе структура строк, определения столбцов, ключевые столбцы, расположение файлов и стратегия хранения данных. Операторы DDL поддерживают определение (объявление) объектов баз данных, например баз данных, таблиц и представлений. Язык DDL Transact-SQL, который используется для управления объектами, основан на операторах DDL SQL-92 (с некоторыми расширениями). Для каждого класса объектов обычно поддерживаются операторы CREATE, ALTER и DROP (например, CREATE TABLE, ALTER TABLE и DROP TABLE).
Большинство операторов DDL выглядят так:
· CREATE имя_объекта
· ALTER имя_объекта
· DROP имя_объекта
Следующие три примера иллюстрируют создание, изменение и удаление таблиц с помощью ключевого слова Transact-SQL CREATE. Однако использование ключевого слова CREATE не ограничено объектами типа «таблица».
CREATE TABLE
|
|
Оператор CREATE TABLE создает таблицу в существующей базе данных. Следующий оператор создает в базе данных Northwind таблицу под названием Importers. В таблице будет три столбца: CompanylD, CompanyName и Contact.
USE Northwind