Автор: Пользователь скрыл имя, 21 Марта 2012 в 20:47, реферат
До появления SQL в СУБД (независимо от того, на какой модели они основывались) приходилось поддерживать по крайней мере три языка, которые обычно имели мало общего: язык определения данных (ЯОД), служащий для спецификации структур БД; язык манипулирования данными (ЯМД), позволяющий создавать прикладные программы, взаимодействующие с БД; и язык администрирования БД (ЯАДБ), с помощью которого можно было выполнять служебные действия (например, изменять структуру БД или производить ее настройку с целью повышения эффективности). Кроме того, если требовалось предоставить пользователям СУБД интерактивный доступ к БД, приходилось вводить еще один язык,
Введение 3
Глава 1. Язык описания данных в реляционной модели 4
Глава 2. Язык описания данных в иерархической модели 9
Глава 3. Язык описания данных в сетевой модели 10
Заключение 12
Список используемой литературы 13
МОРДОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИМЕНИ Н. П. ОГАРЕВА
Экономический факультет
РЕФЕРАТ
на тему:
"Языки описания данных"
Выполнила:
Крылова С.Л.
Саранск 2010
Содержание.
Введение
Глава 1. Язык описания данных в реляционной модели 4
Глава 2. Язык описания данных в иерархической модели 9
Глава 3. Язык описания данных
в сетевой модели
Заключение
Список используемой литературы
Введение.
Базовым требованием к СУБД является наличие мощного и в тоже время простого языка, позволяющего выполнять все необходимые пользователям операции. В последние годы таким повсеместно принятым языком стал язык реляционных БД SQL – Structured Query Language (теперь все чаще название языка понимается как Standard Query Language) .
До появления SQL в СУБД (независимо от того, на какой модели они основывались) приходилось поддерживать по крайней мере три языка, которые обычно имели мало общего: язык определения данных (ЯОД), служащий для спецификации структур БД; язык манипулирования данными (ЯМД), позволяющий создавать прикладные программы, взаимодействующие с БД; и язык администрирования БД (ЯАДБ), с помощью которого можно было выполнять служебные действия (например, изменять структуру БД или производить ее настройку с целью повышения эффективности). Кроме того, если требовалось предоставить пользователям СУБД интерактивный доступ к БД, приходилось вводить еще один язык, операторы которого выполняются в диалоговом режиме. Язык SQL позволяет решать все эти задачи. Он состоит из двух частей: Языка описания (определения) данных - DDL (Data Definition Language) и Языка манипулирования данными - DML (Data Manipulation Language). Я подробней остановлюсь на языке описания данных DDL.
Актуальность моей темы обусловлена, с одной стороны, большим интересом к теме "Языки описания данных" в современной науке, с другой стороны, ее достаточной важностью. Рассмотрение вопросов связанных с данной темой носит как теоретическую, так и практическую значимость. Теоретическое значение изучения темы "Языки описания данных" заключается в том, что избранная для рассмотрения тема находится на стыке сразу нескольких научных дисциплин. Практическое значение изучения темы является ее анализ и применение на практике.
Целью моего исследования
является рассмотрение языков описания
данных. Для достижения поставленной
цели мной были поставлены следующие задачи:
1. Изучить теоретические аспекты, касающиеся
моей темы;
2. Сказать об актуальности проблемы заложенной
в моей работе «Языки описания данных»;
3. Изложить возможности решения этой проблемы;
Глава 1. Язык описания данных в реляционной модели.
Для создания и изменения структуры БД предназначены SQL-запросы, называемые языком описания данных, или DDL (Data Definition Language). С помощью DDL-запросов можно выполнить следующее:
- определить структуру нового домена и создать его;
- определить структуру новой таблицы и создать ее;
- изменить определение существующей таблицы;
- определить виртуальную таблицу (представление, курсор);
- создать индексы для ускорения доступа к таблицам.
Ядро языка определения данных образуют следующие четыре SQL-запроса:
- CREATE(создать), позволяющий определить и создать объект БД;
- DROP(удалить), служащий для удаления существующего объекта БД;
- ALTER(изменить), с помощью которого можно изменить определение объекта БД;
- RECREATE(заново создать), с помощью которого можно заново создать объект со старым именем.
Определение структуры нового домена и его создание:
Если в таблицах БД имеются столбцы, обладающие одними и теми же характеристиками, то можно предварительно определить с помощью домена тип данных и поведение таких столбцов, а затем поставить в соответствие каждому из однотипных столбцов имя соответствующего домена.
Доменом называется именованное множество скалярных значений одного типа. Цель доменов в SQL – обеспечить возможность один раз определить элементарную спецификацию типа данных, а затем использовать ее одновременно для нескольких столбцов в нескольких базовых таблицах.
Основной особенностью доменов является то, что домены ограничивают сравнения. Это значит, что сравнение атрибутов, определенных на основе одного домена, имеет смысл, а сравнение атрибутов, определенных на основе различных доменов, бессмысленно.
Синтаксис запроса определения домена имеет следующий вид:
CREATE DOMAIN имя_домена [AS] <тип_данных>
[DEFAULT { литерал | NULL | USER}]
[NOT NULL] [CHECK ( <ограничение_домена>)];, где
имя_домена – имя создаваемого домена; <тип_данных> – тип данных;
DEFAULT– ключевое слово, определяющее значение по умолчанию, применяемое к каждому столбцу как:
- литерал – константа строкового, числового типа или типа дата/время;
- NULL – значение NULL;
- USER – контекстная переменная, возвращающая имя пользователя, подключенного к БД.
Следующие предложения задают набор
ограничений целостности к
- NOT NULL – чтобы столбец не имел NULL-значения. Этот атрибут используется при определении домена, если требуется, чтобы все столбцы, создаваемые на основе этого домена, имели непустое значение.
- CHECK – определяет список
Определение существующего домена можно изменить с помощью запроса ALTER DOMAIN. Этот запрос позволяет:
- удалить существующее и определить новое значение по умолчанию (заменяя при этом старое значение, если оно было указано);
- удалить существующее и ввести новое ограничение целостности.
Существующий домен можно удалить с помощью запроса DROP DOMAIN.
Примечание. Домен не будет удален, если на него имеются какие-либо ссылки, т.е. существуют таблицы со столбцами, определенными на этом домене.
Определение структуры новой таблицы и ее создание:
В реляционной БД наиболее важным элементом ее структуры является таблица. Перед тем как перейти к созданию таблиц, необходимо выполнить проектирование базы данных и нормализацию таблиц.
Для создания базовой таблицы, ее столбцов и ограничений, налагаемых на каждый столбец, используется запрос CREATE TABLE, который имеет следующий формат: CREATE TABLE базовая_таблица (<определение_столбца1> [, <определение_столбца2>……] [,<тип_ограничения>……]);.
При ограничении столбца соответствующее ограничение объявляется индивидуально для каждого столбца непосредственно после определения имени и типа столбца. При этом используется конструкция <ограничение_столбца>.
При определении ограничений, накладываемых на всю таблицу, используется следующая синтаксическая конструкция: <тип_ограничения>::= [CONSTRAINT имя_ограничения] {{ PRIMARY KEY | UNIQUE} (<список_столбцов>) | FOREIGN KEY(<список_столбцов>).
Для удаления существующей таблицы используется запрос DROP TABLE, который имеет следующий формат: DROP TABLE базовая_таблица;.
Следует отметить, что нельзя удалить таблицу в следующих случаях:
- если на ее столбцы ссылаются внешние ключи других таблиц;
- если она используется другими объектами БД (например, представлением);
- если она определена в текущей транзакции, на момент удаления еще не завершенной.
Создание индексов для ускорения доступа к таблицам:
Одним из структурных элементов физической памяти, присутствующим в большинстве современных реляционных СУБД, является индекс. Индекс – это средство, обеспечивающее быстрый доступ к строкам таблицы на основе значений одного или нескольких ее столбцов. В индексе хранятся значения данных и указатели на строки, где эти данные встречаются. Использование индекса обычно требует меньшего количества обращений к диску, чем последовательное чтение строк в таблице. Оптимальный выбор состава и количества индексов зависит и от структуры БД, и от характера ее использования.
Рекомендуется создавать индекс для столбцов, которые часто используются в условиях поиска. В SQL индекс для таких столбцов создается запросом CREATE INDEX, который имеет следующий формат: CREATE [UNIQUE] [ASC | DESC] INDEX имя_индекса ON базовая_таблица {(<список_столбцов>)
| COMPUTED BY (<выражение>)};
Если требуется часто осуществлять поиск и сортировку по адресам абонентов, то можно создать составной индекс, т.е. индекс для нескольких столбцов в таблице. Запрос на создание такого индекса будет выглядеть следующим образом: CREATE INDEX Address_Index ON Abonent (StreetCD, HouseNO);.
Существует возможность проиндексировать выражения, часто применяемые в запросах. Индекс для выражения создается с помощью следующей конструкции: COMPUTED BY (<выражение>).
К недостаткам индекса относится то, что он занимает дополнительное дисковое пространство, и то, что индекс необходимо обновлять каждый раз, когда в таблицу добавляется строка или обновляется проиндексированный столбец таблицы.
При создании любой индекс (как по столбцам ограничений, так и по другим столбцам) автоматически активен.
Удаление индекса с заданным именем производится с помощью запроса DROP INDEX, который имеет следующий формат: DROP INDEX имя_индекса;.
Определение виртуальной таблицы (представление, курсор):
Представление – это виртуальная таблица, созданная на основе запроса из базовой таблицы. Представление, как и реальная (базовая) таблица, содержит строки и столбцы данных, но данные, видимые в представлении, на самом деле являются результатами запроса.
В SQL представления создаются запросом CREATE VIEW, который имеет следующий формат: CREATE VIEW представление [( столбец_представления[, столбец_представления…])] AS <табличный_подзапрос> [WITH CHECK OPTION];.
По виду запроса, виды представлений бывают:
Горизонтальные, вертикальные, смешанные, сгруппированные, соединенные. Горизонтальное представление представляет собой горизонтальное подмножество строк одиночной таблицы и предназначено для ограничения доступа к строкам таблицы. Вертикальное представление представляет собой вертикальное подмножество строк одиночной таблицы и предназначено для ограничения доступа к столбцам таблицы. Смешанное представление представляет собой подмножество строк и столбцов одиночной таблицы. Оно является представлением, разделяющим исходную таблицу, как в горизонтальном, так и в вертикальном направлениях. Сгруппированное представление основано на запросе, содержащем предложение GROUP BY. Соединенное представление - это подмножество строк и столбцов из нескольких таблиц. |
Преимуществами использования представлений являются следующие:
- обеспечение логической независимости
- прикладной взгляд на данные
- защита данных
- скрытие сложности данных.
В рамках иерархической модели выделяют языковые средства описания данных (DDL, Data Definition Language) и средства манипулирования данными (DML, Data Manipulation Language).
Каждая физическая база описывается набором операторов, определяющих как ее логическую структуру, так и структуру хранения БД. Описание начинается с оператора DBD (Data Base Definition):
DBD Name = < имя БД>, ACCESS = < способ доступа>
Способ доступа определяет способ организации взаимосвязи физических записей. Определено 5 способов доступа: HSAM (иерархически последовательный метод), HISAM (иерархически индексно-последовательный метод), HDAM (иерархически прямой метод), HIDAM (иерархически индексно-прямой метод), INDEX — индексный метод.
Далее идет описание наборов данных, предназначенных для хранения БД:
DATA SET DD1 = < имя оператора, определяющего хранимый набор данных>,
DEVICE =< устройство хранения БД>,
[OVFLW = < имя области переполнения>]