Структура языка SQL

Автор работы: Пользователь скрыл имя, 01 Февраля 2011 в 18:35, курсовая работа

Краткое описание

Язык SQL является первым и пока единственным стандартным языком работы с базами данных, который получил достаточно широкое распространение. Есть еще один стандартный язык работы с базами данных, NDL (Network Database Language), который построен на использовании сетевой модели CODASYL1, но он применяется лишь в немногих разработках.

Содержание работы

Введение...................................................................................................................3
1.Типы данных языка SQL, определенные стандартом ISO...............................5
1.1. Идентификаторы языка SQL...........................................................................5
1.2. Скалярные типы данных языка SQL..............................................................6
1.3 Точные числовые данные (тип exact numeric)................................................8
2. Средства поддержки целостности данных......................................................12
2.1. Обязательные данные.....................................................................................12
2.2. Ограничения для доменов.............................................................................13
2.3. Целостность сущностей.................................................................................15
2.4. Ссылочная целостность.................................................................................17
2.5. Требования данного предприятия................................................................19
3. Определение данных.........................................................................................22
3.1. Создание баз данных......................................................................................23
3.2. Создание таблиц (оператор CREATE TABLE)............................................25
3.3. Модификация определения таблицы (оператор ALTER TABLE).............28
3.4. Удаление таблиц (оператор DROP TABLE)................................................30
3.5. Создание индекса (оператор CREATE INDEX)..........................................31
3.6. Удаление индекса (оператор DROP INDEX)...............................................32
4. Представления...................................................................................................34
5. Использование транзакций ..............................................................................35
6. Управление доступом к данным......................................................................38
Заключение.............................................................................................................41 Глоссарий…………………...................................................................................44
Библиографический список.................................................................................45
Приложение…………………………………………………………………...

Содержимое работы - 1 файл

Структура языка SQL 2.doc

— 233.00 Кб (Скачать файл)

REPEATABLE READ | SERIALIZABLE3]

       Квалификаторы READ ONLY и READ WRITE указывают, что в транзакциях допускается выполнение только операций чтения или чтения и записи. По умолчанию предполагается использование квалификатора READ WRITE (если только не выбран уровень изоляции READ UNCOMMITTED). Вероятно, многих смутит тот факт, что в режиме READ ONLY в транзакциях допускается выдача операторов INSERT, UPDATE и DELETE для временных таблиц (но только для временных). Показатель уровня изоляции определяет ту степень взаимодействия с другими транзакциями, которая допускается при выполнении транзакции. Сведения об ограничениях в отношении сериализации (определения порядка следования) результатов выполнения транзакций для каждого из существующих уровней изоляции приведены в табл. 3.

       Полная безопасность гарантируется только уровнем изоляции SERIALIZABLE, который предусматривает генерацию временных графиков сериализации. Все остальные уровни изоляции требуют, чтобы СУБД предоставляла некоторый механизм, который программисты могли бы использовать для обеспечения сериализации данных. Там же будут даны дополнительные разъяснения по поводу механизмов выполнения транзакций и сериализации. 

          
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

          6.Управление доступом к данным 
 

            Язык SQL включает операторы GRANT и REVOKE, предназначенные для организации защиты таблиц в базе данных. Применяемый механизм защиты построен на использовании идентификаторов пользователей, предоставляемых им прав владения и привилегий.

           Идентификатором пользователя называется обычный идентификатор языка SQL, используемый для обозначения некоторого пользователя базы данных. Каждому пользователю базы данных должен быть назначен собственный идентификатор, присваиваемый администратором базы данных (АБД), По очевидным соображениям защиты данных идентификатор пользователя, как правило, защищается паролем. Каждый выполняемый СУБД оператор SQL выполняется от имени какого-либо пользователя. Идентификатор пользователя применяется для определения того, на какие объекты базы данных может ссылаться пользователь и какие операции с этими объектами он имеет право выполнять. Каждый созданный в среде SQL объект имеет своего владельца. Владелец задается идентификатором пользователя, определенным в конструкции AUTHORIZATION той схемы, которой этот объект принадлежит. Первоначально только владелец объекта знает о существовании данного объекта и имеет право выполнять с этим объектом любые операции.

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

•SELECT — право выбирать данные из таблицы;

•INSERT — право вставлять в таблицу новые строки;

•UPDATE — право изменять данные в таблице;

•DELETE — право удалять строки из таблицы;

•REFERENCES — право ссылаться на столбцы указанной таблицы в описаниях требований поддержки целостности данных;

•USAGE — право использовать домены, проверки, наборы символов и трансляции. Понятия проверок, наборов символов и трансляций не рассматриваются в этой книге. Привилегии INSERT и UPDATE могут ограничиваться лишь отдельными столбцами таблицы; в этом случае пользователь может модифицировать значения указанных столбцов, но не изменять значения остальных столбцов таблицы. Аналогичным образом, привилегия REFERENCES может распространяться только на отдельные столбцы таблицы, что позволит использовать их имена в формулировках требований защиты целостности данных (например, в конструкциях CHECK и FOREIGN KEY), входящих в определения других таблиц, тогда как применение для подобных целей остальных столбцов будет запрещено.

       Когда пользователь с помощью оператора CREATE TABLE создает новую таблицу, он автоматически становится ее владельцем и получает по отношению к ней полный набор привилегий. Остальные пользователи первоначально не имеют каких-либо привилегий в отношении вновь созданной таблицы. Чтобы обеспечить доступ к ней, владелец должен явным образом предоставить им необходимые права, для чего используется оператор GRANT.

       Когда пользователь создает представление с помощью оператора CREATE VIEW, он автоматически становится владельцем этого представления, однако совсем не обязательно получает по отношению к нему полный набор прав. Для создания представления пользователю достаточно иметь привилегию SELECT для всех входящих в данное представление таблиц и привилегию REFERENCES для всех столбцов, упоминаемых в определении этого представления. Но привилегии INSERT, UPDATE и DELETE в отношении созданного представления пользователь получит только в том случае, если он имеет соответствующие привилегии в от ношении всех используемых в представлении таблиц.

            
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

          Заключение

        

       Стандарт ISO предусматривает использование восьми базовых типов данных: логических, символьных и битовых строк, точных и округленных чисел, даты/времени и временного интервала, а также символьных и двоичных больших объектов.

    Операторы языка SQL DDL позволяют создавать новые  объекты базы данных. Операторы CREATE и DROP SCHEMA позволяют создавать и удалять схемы. Операторы CREATE, ALTER и DROP TABLE обеспечивают создание, модификацию и удаление таблиц базы данных. Операторы CREATE и DROP INDEX позволяют создавать и удалять индексы для указанной таблицы.

    Стандарт ISO языка SQL предусматривает использование в операторах CREATE TABLE и ALTER TABLE специальных конструкций, предназначенных для определения требований поддержки целостности данных, к которым относятся условие обязательности наличия данных; ограничения для доменов атрибутов; требования поддержки целостности сущностей; требования поддержки ссылочной целостности данных и требования (бизнес-правила) данного предприятия. Обязательность наличия данных указывается с помощью ключевого слова NOT NULL. Ограничения для доменов атрибутов задаются либо с помощью конструкций CHECK, либо посредством создания соответствующих доменов с помощью операторов CREATE DOMAIN. Первичные ключи определяются с помощью конструкции PRIMARY KEY, а альтернативные ключи описываются с помощью комбинации ключевых слов NOT NULL и описателей UNIQUE. Внешние ключи описываются с помощью конструкции FOREIGN KEY, а также задания правил удаления и обновления с использованием конструкций ON UPDATE и ON DELETE. Бизнес-правила предприятия могут быть заданы с помощью конструкций CHECK и UNIQUE. Ограничения, определяемые самим предприятием, могут быть также созданы с помощью оператора CREATE ASSERTION.

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

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

    Оператор COMMIT указывает на успешное завершение транзакции и необходимость фиксации в базе данных всех изменений, внесенных при ее выполнении. Оператор ROLLBACK указывает, что выполнение транзакции должно быть прекращено, а все внесенные в ходе ее выполнения изменения должны быть отменены.

    В языке SQL управление доступом к данным построено на базе концепций идентификаторов пользователей, прав владения и предоставления привилегий. Идентификаторы пользователей назначаются всем пользователям базы данных ее администратором (АБД) и предназначены для идентификации отдельных пользователей. Каждый создаваемый в базе данных объект SQL имеет своего владельца. Владелец объекта может предоставить другим пользователям базы данных те или иные привилегии доступа к данному объекту, для чего используется оператор G^ANT. Предоставленные привилегии могут быть впоследствии отменены с помощью оператора REVOKE. К предоставляемым привилегиям относятся USAGE, SELECT, DELETE, INSERT, UPDATE и REFERENCES, причем три последние могут быть ограничены отдельными столбцами таблицы или представления. Пользователю может быть предоставлено право передавать полученные им привилегии другим пользователям базы данных по его собственному усмотрению, для чего используется конструкция WITH GRANT OPTION. Этот режим может быть отменен с помощью конструкции GRANT OPTION FOR оператора REVOKE. 
 
 
 
 
 
 
 
 
 

            
 
 
 
 
 
 
 
 

            Глоссарий 

                                                                        

     № пп      Новое понятие      Содержание 
     1  
 
       SQL
универсальный язык, применяемый для создания, модификации и управления данными  в реляционных базах данных
     2            SELECT  право выбирать данные из таблицы
     3  
     INSERT 
Право вставлять в таблицу новые строки
     4           UPDATE  право изменять данные в таблице
     5           DELETE  право удалять  строки из таблицы
     6  

          REFERENCES 

Право ссылаться на столбцы указанной таблицы
     7  
          USAGE 
право использовать домены, проверки, наборы символов и  трансляции
     8             

           ISO

Международная Организация по Стандартизации
     9            СУБД Система Управления Базами Данных
         10            Базы данных Набор информации, организованной тем, или иным способом
 
 
 
 
 

           Библиографический список 
 

  1.       Атре Ш. Структурный подход  к организации баз данных –  Финансы и статистика, 2005.
  2.       Бойко В. В., Савинков В.М. Проектирование баз данных информационных систем. – М.: Финансы и статистика, 2006.
  3.       Джексон Г. Проектирование реляционных баз данных для использования с микроЭВМ. – М.: Мир. 2007.
  4.       Дейт К. Руководство по реляционной СУБД DB2. – М.: Финансы и статистика, 2005.
  5.       Документация Microsoft SQL Server 2007.
  6.       Документация Microsoft Office Access 2007.
  7.       Когаловский М.Р. Энциклопедия технологий баз данных. – М.: Финансы и статистика, 2005.
  8.       Конноли Т., Бегг Л., Страчан А. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. 3-е издание. Вильямс 2003.
  9. Мамаев Е. Microsoft SQL Server 2000 – СПБ.: БХВ-Петербург, 2004.
  10. Материалы сайта «Сервер информационных технологий»  WEB: www.citforum.ru
 
 
 
 
 
 
 
 
 

           Приложение А 
 

Тип данных Объявления
boolean

(Логический)

BOOLEAN
character

(Символьный)

CHAR VARCHAR
bit

(Битовый)

BIT

BIT VARYING

exact numeric

(Точные числа)

NUMERIC

DECIMAL

INTEGER

SMALLINT

approximate numeric

(Округленные числа)

FLOAT

REAL

DOUBLE

PRECISION

datetime

(Дата/время)

DATE

TIME

TIMESTAMP

interval

(Интервал)

INTERVAL
LOB

(Большой объект)

CHARACTER

LARGE

OBJECT

BINARY

Информация о работе Структура языка SQL