Автор: Пользователь скрыл имя, 01 Ноября 2011 в 15:23, курсовая работа
В последие годы наблюдается значительный рост объемов и усложнение структурной сложности данных, также диверсификация в сфере пользователей БД (баз данных) и постоянное улучшение производительности технической базы. Так как база данных это по сути хранилище различных объектов (данных), возникла необходимость в структуризации и систематизации хранящейся в БД информации, а также возможности создания взаимосвязей между объктами.
Введение...................................................................................................................2
1.Типы данных языка SQL......................................................................................6
1.1. Идентификаторы языка SQL...........................................................................6
1.2. Точные числовые данные................................................................................6
1.3. Скалярные типы данных языка SQL..............................................................9
1.4 Средства поддержки целостности данных....................................................10
1.5. Обязательные данные.....................................................................................10
1.6. Ограничения……………................................................................................10
2. Определение данных.........................................................................................12
2.1. Создание баз данных......................................................................................13
2.2. Изменение содержимого базы данных.........................................................14
2.3. Создание таблиц.............................................................................................15
2.4. Модификация определения таблицы............................................................18
2.5. Удаление таблиц……………………………….............................................19
3. Запросы и права доступа...................................................................................21
3.1 Представления……………………………………………………................21
3.2. Транзакций в SQL..........................................................................................22
3.3. Управление доступом к данным…………………........................................24
3.4. Идентификаторы пользователей и права владения.....................................24
3.5. Привилегии…………………………………………………………………..24
Заключение.............................................................................................................26 Глоссарий…………………...................................................................................28
Список использованных источников...................................................................29
Приложения…………………………………………………………...…..……..31
Версия шаблона | 2.1 |
Филиал | Великолукский |
Вид работы | Курсовая работа |
Название дисциплины | Базы данных |
Тема | Структура языка SQL |
Фамилия студента | Шилов |
Имя студента | Илья |
Отчество студента | Михайлович |
№ контракта | 01900100601004 |
Содержание
Введение.................
1.Типы
данных языка SQL..............
1.1.
Идентификаторы языка SQL...........................
1.2.
Точные числовые данные........
1.3.
Скалярные типы данных языка
SQL...........................
1.4
Средства поддержки
1.5.
Обязательные данные...........
1.6.
Ограничения……………..............
2.
Определение данных............
2.1.
Создание баз данных...........
2.2.
Изменение содержимого базы
2.3.
Создание таблиц...............
2.4.
Модификация определения
2.5.
Удаление таблиц………………………………...
3.
Запросы и права доступа.......
3.1
Представления……………………………………………
3.2.
Транзакций в SQL..............
3.3.
Управление доступом к данным………………….................
3.4.
Идентификаторы пользователей
3.5.
Привилегии……………………………………………………
Заключение....................
Список
использованных источников....................
Приложения………………………………………
В последие годы наблюдается значительный рост объемов и усложнение структурной сложности данных, также диверсификация в сфере пользователей БД (баз данных) и постоянное улучшение производительности технической базы. Так как база данных это по сути хранилище различных объектов (данных), возникла необходимость в структуризации и систематизации хранящейся в БД информации, а также возможности создания взаимосвязей между объктами.
Для удобства любые данные в БД можно представить как совокупность двумерных таблиц. Эта идея легла в основу реляционной модели представления данных (англ. relation). Для управления данными и осуществления доступа к ним используются информационно-поисковые языки (или языки запросов). Одним из них является SQL (англ. Structured Query Language — «язык структурированных запросов»).
Язык SQL был создан британскими учеными в компании IBM в середине 70-х для взаимодействия с базами. Первоначально язык именовался SEQUEL (англ. Structured English Qeury Language - структурированный английский язык запросов) и был ориентирован в основном на простых, неискушенных в программировании пользователей для формирования запросов, хотя и содержал достаточный инструментарий для средств определения и манипулирования схемой БД.
Первым официальным стандартом языка стал SQL-86, принятый ANSI (англ. American National Standards Institute) в 1986 году и ISO (англ. International Organization for Standardization) в 1987 году и незначительно уточненный в 1989 году.
В силу разнообразия функционала и наличия расширенных версий стандарта у разных производителей СУБД (систем управления баз данных) в целях придания языку SQL большей универсальности форма стандарта была преобразована в модульную структуру. Базовая часть стандарта была вынесена в отдельный раздел «SQL/Foundation», отсальные были распределены в отдельные модули. Таким образом, для всех СУБД существует только один уровень совместимости, называемый Core и означающий поддержку только основного модуля стандарта. Поддержка остальных возможностей оставлена на усмотрение производителей СУБД. Все версии стандарта, начиная с SQL:1999, придерживаются данной политики.
Язык SQL является самым первым и на сегодняшний день единственным стандартным языком работы с базами данных, который получил столь широкое распространение. Существует еще один стандартный язык для работы с базами данных, NDL (Network Database Language), который построен на использовании сетевой модели CODASYL, но он применяется лишь в немногочисленных разработках. Бльшинство крупнейших разработчиков СУБД в настоящее время разрабатывают свои продукты с использованием языка SQL, либо интерфейса SQL, и значительная часть таких компаний являются участниками, по меньшей мере, одной организации, которая занимается разработкой стандартов этого языка. В SQL делаются огромные инвестиции как со стороны разработчиков, так и со стороны пользователей. Он активно используется как часть архитектуры приложений (в качестве примера можно привести System Application Architecture (SAA) корпорации IBM), а также является приоритетной стратегией выбора многих крупных и влиятельных организаций (например, консорциума X/Open, занимающегося разработкой стандартов для среды UNIX), язык SQL также принят в качестве федерального стандарта обработки информации (Federal Information Processing Standard — FIPS), который должен соблюдаться в СУБД как непременное условие возможности продавать ее на территории США. Консорциум разработчиков SQL Access Group прилагает усилия по созданию расширенных версий языка SQL, которые позволят обеспечить взаимодействие разнородных систем.
Язык SQL используется в разработке других стандартах и используется как инструмент их определения (например, стандарты ISO "Information Resource Dictionary System" (IRDS) и "Remote Data Access" (RDA)). Разработка языка вызвает достаточную заинтересованность научных кругов, выражающуюся как в выработке необходимой теоретической базы, так и в подготовке технических решений, которые можно было бы успешно реализовать в этой сфере. Это в большей степени касается работ по оптимизации запросов, разработке методов распределения данных и реализации средств защиты. Начали появляться специализированные реализации языка SQL, предназначенные для новых рынков, такие как OnLine Analytical Processing (OLAP).
SQL
нельзя в полной мере отнести
к традиционным языкам
В
этом разделе будут рассмотрены типы
данных SQL, определяемые стандартом ISO.
1.1 Идентификаторы языка SQL
В языке SQL идентификаторы выполняют функцию обозначения объектов в базе данных, т.е. являются именами таблиц, представлений и столбцов. Символы, которые допустимо использовать в идентификаторах языка SQL, которые создает пользователь, должны быть четко определены. Стандарт ISO однозначно определяет набор символов, который должен использоваться по умолчанию; в него входят строчные и прописные буквы латинского алфавита (A-Z, a-z), цифры (1-9) и символ подчеркивания (_). Допустимо использование альтернативного набора символов.
На формат идентификаторов
- должен начинаться с буквы;
- может иметь длину до 128 символов ;
- не может содержать пробелов.
В языке SQL/89 поддерживаются следующие типы данных:
CHARACTER(n) или CHAR(n) — символьные строки постоянной длины в n
символов. При задании данного типа под каждое значение всегда отводится п
символов, и если реальное значение занимает менее, чем n символов, то СУБД
автоматически дополняет недостающие символы пробелами.
NUMERIC[(n,m)] — точные числа, здесь n — общее количество цифр в числе, m —
количество цифр слева от десятичной точки.
INTEGER или INT — целые числа.
SMALLINT — целые числа меньшего диапазона.
FLOAT[(n)] — числа большой точности, хранимые в форме с плавающей точкой.
Здесь n — число байтов, резервируемое под хранение одного числа. Диапазон чисел
определяется конкретной реализацией.
REAL — вещественный тип чисел, который соответствует числам с плавающей
точкой, меньшей точности, чем FLOAT.
DOUBLE PRECISION специфицирует тип данных с определенной в реализации
точностью большей, чем определенная в реализации точность для REAL.
46
В стандарте SQL92 добавлены следующие типы данных:
VARCHAR(n) — строки символов переменной длины.
BIT(n) — строка битов постоянной длины.
BIT VARYING(n) — строка битов переменной длины.
DATE — календарная дата.
ТIMESТАМР(точность) — дата и время.
INTERVAL — временной интервал.
В стандарте SQL1 не были определены встроенные функции, однако в большинстве
коммерческих СУБД такие функции были реализованы, и в стандарт SQL2 уже введен ряд
стандартных встроенных функций:
BIT_LENGTH(cтpoкa) — количество битов в строке;
САSТ(значение AS тип данных) — значение, преобразованное в заданный тип
данных;
CHAR_LENGTH(cтpoкa) — длина строки символов;
CURRENT_DATE - текущая дата;
CURRENT_TIME(точность) — текущее время с указанной точностью;
CURRENT_TIMESTAMP(точность) — текущие дата и время с указанной
точностью;
LOWER(cтpокa) — строка, преобразованная к верхнему регистру;
SUBSTRING(cтpoкa FROM n FOR длина) — часть строки, начинающаяся с n-го
символа и имеющая указанную длину;
UPPER(строка)
— строка, преобразованная к верхнему
регистру.
1.4 Средства поддержки целостности данных
Средства поддержки целостности данных включают в себя средства задания ограничений, которые накладываются для защиты базы от нарушения структурной стройности данных, помещенных в базу. Подобные ограничениия задаются спомощью операторов CREATE TABLE и ALTER TABLE [Документация Microsoft SQL Server 2000].