Язык реляционных баз данных SQL
Определение целей и возможностей системы анализа и управления реляционными базами данных Microsoft SQL Server. Анализ особенностей структуры языка программирования SQL. Рассмотрение назначений основных операторов и других зарезервированных слов в SQL.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 10.11.2014 |
Размер файла | 46,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Содержание
Введение
Основная часть
1. Предметная область SQL
2. Структура языка SQL
Заключение
Глоссарий
Список использованных источников
Введение
Сегодня во многих организациях основной упор делается на построение автоматизированных информационных систем обеспечивающих наличие точной и самой свежей информации. Без этого в большинстве организаций невозможно выполнять обычные, повседневные операции и создавать достаточное количество итоговых отчетов, помогающих руководству принимать стратегические решения. Для того чтобы информация АИС была полезна, она должна быть точна, полна, и организована так, чтобы данные можно было считывать при необходимости и в нужном формате. Основой своевременных АИС являются реляционные базы данных (БД). Одним из основных преимуществ реляционного подхода к организации баз данных является то, что пользователи реляционных БД получают возможность эффективной работы в терминах простых и наглядных понятий таблиц, их строк и столбцов без потребности знания реальной организации данных во внешней памяти.
Базовым требованием к реляционным СУБД является наличие мощного и в тоже время простого языка, позволяющего выполнять все необходимые пользователям операции. В последние годы таким повсеместно принятым языком стал язык реляционных БД SQL - Structured Query Language.
Команды в SQL могут работать со всеми группами таблиц как с единым объектом и могут обрабатывать любое количество информации, извлеченной или полученной из их, в виде единого модуля. Формат записи операторов SQL свободный, набор ключевых слов зарезервирован, кампилятор языка не различает с большой или маленькой буквы пишутся операторы.
Цель данной курсовой работы заключается в необходимости подробного рассмотрения языка SQL. Необходимо изучить нужные материалы данной темы, понять и расписать структуру языка SQL, рассмотреть операторы данного языка и сделать соответствующие выводы.
Основная часть
1. Предметная область SQL
Microsoft SQL Server -- это система анализа и управления реляционными базами данных в решениях электронной коммерции, производственных отраслей и хранилищ данных.
В начале 1970-х годов в исследовательской лабораторий компании IBM была разработана экспериментальная реляционная СУБД IBM System R, для которой затем был создан специальный язык SEQUEL, позволявший относительно просто управлять данными в этой СУБД. Аббревиатура SEQUEL расшифровывалась как Structured English Query Language -- «структурированный английский язык запросов». Позже по юридическим соображениям язык SEQUEL был переименован в SQL.
Целью разработки было создание простого непроцедурного языка, которым мог воспользоваться любой пользователь, даже не имеющий навыков программирования. Первыми СУБД, поддерживающими новый язык, стали в 1979 году Oracle V2 для машин VAX от компании Relational Software Inc.
Поскольку к началу 1980-х годов существовало несколько вариантов СУБД от разных производителей, причём каждый из них обладал собственной реализацией языка запросов, было принято решение разработать стандарт языка, который будет гарантировать переносимость ПО с одной СУБД на другую (при условии, что они будут поддерживать этот стандарт).
Первый международный стандарт был принят в 1989 г., и соответствующая версия языка называется SQL-89. Стандарт SQL-89 во многих частях имеет чрезвычайно общий характер и допускает очень широкое толкование. В этом стандарте полностью отсутствуют такие важные разделы, как манипулирование схемой БД и динамический SQL. Многие важные аспекты языка в соответствии со стандартом определяются в реализации.
Возможно, наиболее важными достижениями стандарта SQL-89 являются четкая стандартизация синтаксиса и семантики операторов выборки и манипулирования данными и фиксация средств ограничения целостности БД, включающих возможности определения первичного и внешних ключей отношений и так называемых проверочных ограничений целостности, позволяющих сформулировать условие для каждой отдельной строки таблицы. Средства определения внешних ключей позволяют легко формулировать требования так называемой целостности БД по ссылкам. Формулировка ограничений целостности на основе понятия внешнего ключа проста и понятна.
Осознавая неполноту стандарта SQL-89, на фоне завершения разработки этого стандарта специалисты различных фирм начали работу над стандартом SQL2. Эта работа также длилась несколько лет, было выпущено несколько проектов стандарта, пока, наконец, в марте 1992 г. не был выработан окончательный проект стандарта (после чего стандарт и соответствующий язык стали называть SQL-92). Этот стандарт существенно более полный и охватывает практически все необходимые для реализации аспекты: манипулирование схемой БД, управление транзакциями и сессиями (сессия - это последовательность транзакций, в пределах которой сохраняются временные отношения), подключение к БД, динамический SQL. Наконец стандартизованы отношения-каталоги БД, что вообще-то не связано с языком непосредственно, но очень сильно влияет на реализацию. Заметим, что в стандарте представлены три уровня языка - базовый, промежуточный и полный. В течение нескольких лет после принятия стандарта производители СУБД, утверждавшие совместимость своих продуктов со стандартом, на самом деле в лучшем случае поддерживали промежуточный уровень языка SQL-92 (естественно, с собственными расширениями). Только в последних выпусках СУБД ведущих производителей обеспечивается совместимость с полным вариантом языка. В 1996 году к SQL-92 присоединен еще один компонент - SQL/PSM. Главной задачей этой спецификации состояла в стандартизации методов определения и применения хранимых процедур, особым образом написанных программ, состоящих из операторов SQL, находящихся в самой базе данных и способных вызываться приложениями, а затем выполняться внутри СУБД.
В 1999 году принимаются пять основных элементов стандарта SQL 1999. Первый элемент (SQL/Framework) посвящен пояснению концептуальной структуры стандарта. Второй элемент (SQL/Fundation) формирует основу стандарта. Внедряется система типов языка, формулируется порядок установления функциональных зависимостей и вероятных ключей, обуславливаются синтаксис и семантика главных операторов SQL:
· операторы установления типа БД и управления ей,
· операторы управления данными,
· операторы управления транзакциями,
· операторы управления соединениями с базой данных и т.д.
В третьей части находятся более подробная, чем в SQL/92 спецификация SQL/CLI.
Четвертая часть посвящена спецификации SQL/PSM, синтаксису и семантике языка идентификации хранимых процедур. В пятой части (SQL/Dindings) - описан порядок связывания SQL для стандартных версий языков программирования Cobol, Fortran, PL/1, Pascal, Ada, C, MUMPS. Наконец, одновременно с завершением работ по определению стандарта SQL-92 была начата разработка стандарта SQL3. В конце 2003 г. был принят и опубликован новый вариант международного стандарта SQL:2003. Немалое количество экспертов было уверено, что в данном варианте стандарта будут только исправлены неточности SQL 1999. Однако, в SQL: 2003 добавлен ряд новых и значительных качеств.
В стандарте SQL1 был описан лишь минимальный набор типов данных, которые можно использовать для представления информации в реляционной базе данных. Они поддерживаются во всех коммерческих СУБД. Стандарт SQL2 добавил в этот список строки переменной длины, значения даты и времени и др.
Современные СУБД позволяют обрабатывать данные самых разнообразных типов, среди которых наиболее распространенными являются:
Целые числа. В столбцах, имеющих этот тип данных, обычно хранятся данные о ценах, количествах, возрасте сотрудников и т.д. Целочисленные столбцы часто используются также для хранения идентификаторов, таких как идентификатор клиента, служащего или заказа.
Десятичные числа. В столбцах данного типа хранятся числа, имеющие дробную часть, но которые необходимо вычислять точно, например курсы валют и проценты. Кроме того, в таких столбцах часто хранятся денежные величины.
Числа с плавающей запятой. Столбцы этого типа используются для хранения величин, которые можно вычислять приблизительно, например значения весов и расстояний. Числа с плавающей запятой могут представлять больший диапазон значений, чем десятичные числа, однако при вычислениях возможны погрешности округления.
Строки символов постоянной длины. В столбцах, имеющих этот тип данных, обычно хранятся имена людей и компаний, адреса и т.п.
Строки символов переменной длины. Столбцы этого типа позволяют хранить строки символов, длина которых изменяется в некотором диапазоне. В стандарте SQL1 были определены только строки постоянной длины, которые проще обрабатывать, но они требуют больше места для хранения.
Денежные величины. Во многих СУБД поддерживается тип данных MONEY или CURRENCY, который обычно хранится в виде десятичного числа или числа с плавающей запятой. Наличие отдельного типа данных для представления денежных величин позволяет правильно форматировать их при выводе на экран.
Дата и время. Поддержка значений даты/времени также широко распространена в различных СУБД, хотя способы ее реализации довольно сильно отличаются друг от друга. Как правило, над значениями этого типа данных можно выполнять различные операции. Стандарт SQL2 включает определение типов данных DATE, TIME, TIMESTAMP и INTERVAL, а также поддержку часовых поясов и возможность указания точности представления времени (например, десятые или сотые доли секунды).
Булевы величины. Некоторые СУБД, например Informix Universal Server, явным образом поддерживают логические значения (TRUE или FALSE), а другие СУБД разрешают выполнять в инструкциях SQL логические операции (сравнение, логическое И/ИЛИ и др.) над данными.
Длинный текст. Многие СУБД поддерживают столбцы, в которых хранятся длинные текстовые строки (обычно длиной до 32000 или 65000 символов, а в некоторых случаях и больше). Это позволяет хранить в базе данных целые документы. Как правило, СУБД запрещает использовать эти столбцы в интерактивных запросах.
Неструктурированные потоки байтов. Современные СУБД позволяют хранить и извлекать неструктурированные потоки байтов переменной длины. Столбцы, имеющие этот тип данных, обычно используются для хранения графических и видеоизображений, исполняемых файлов и других неструктурированных данных.
К примеру, тип данных IMAGE в SQL Server позволяет хранить потоки данных размером до 2 миллиардов байтов.
Азиатские символы. В последнее время все больше поставщиков СУБД стали включать в свои продукты поддержку строк переменной и постоянной длины, содержащих символы азиатских алфавитов. Однако над такими строками, как правило, нельзя выполнять операции поиска и сортировки.
Microsoft SQL Server поддерживает большинство типов данных SQL 2003. Также SQL Server поддерживает дополнительные типы данных, используемые для однозначной идентификации строк данных в таблице и на многих серверах, например UNIQUEIDENTIFIER, что соответствует аппаратной философии «роста в ширину», исповедуемой Microsoft (т. е. внедрение базы на множестве серверов на платформах Intel), вместо «роста в высоту» (т. е. внедрение на одном огромном мощном UNIX-сервере или Windows Data Center Server).
Типы данных, используемые в SQL Server:
* BIGINT (тип данных SQL2003: B1GINT)
Хранит целые числа со знаком и без знака в диапазоне от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807. Занимает 8 байт.
* BINARY(тип данных SQL2003: BLOB)
Хранит двоичное значение фиксированной длины от 1 до 8000 байт. Значение типа BINARY занимает п + 4 байта.
* BIT (тип данных SQL2003: BOOLEAN)
Хранит значения 1, 0 или NULL, которое обозначает «unknown». В одном байте может храниться до 8 значений из столбцов типа BIT таблицы. В еще одном байте можно разместить дополнительные 8 значений типа BIT Столбцы типа BIT нельзя индексировать.
* CHAR, CHARACTER(тип данных SQL2003: CHARACTER)
Хранит символьные данные фиксированной длины от 1 до 8000 символов. Все неиспользованное место по умолчанию заполняется пробелами. (Автоматическое заполнение пробелами можно отключить.) Тип занимает n байт.
* CURSOR (тип данных SQL2003: отсутствует)
Специальный тип данных, используемый для описания курсора в форме переменной или параметра хранимой процедуры OUTPUT. Тип нельзя использовать в инструкции CREATE TABLE. Тип CURSOR может принимать значение NULL.
* DATETIME (тип данных SQL2003: TIMESTAMP)
Хранит значение даты и времени в диапазоне с 01-01-1753 00:00:00 до 31-12-9999 23:59:59. Для хранения требуется 8 байт.
* DECIMAL, DEC , NUMERIC (тип данных SQL2003: DECIMAL , NUMERIC )
Хранит десятичные дроби длиной до 38 цифр. Масштаб по умолчанию равен 0. Занимаемое значением место определяется используемой точностью.
При точности 1-9 используется 5 байт.
При точности 10-19 используется 9 байт.
При точности 20-28 используется 13 байт.
При точности 29-39 используется 17 байт.
* FLOAT(тип данных SQL2003: FLOAT, FLOAT (n))
Хранит значения с плавающей точкой в диапазоне от-1.79Е + 308 до 1.79Е + 308. Точность, определяемая параметром и, может изменяться в пределах от 1 до 53. Для хранения 7 цифр (n -- от 1 до 24) требуется 4 байта. Значения, превышающие 7 цифр, занимают 8 байт.
* IMAGE (тип данных SQL2003: BLOB)
Хранит двоичное значение переменной длины до 2 147 483 647 байт. Этот тип данных часто используется для хранения графики, звука и файлов, таких, как документы MS Word и электронные таблицы MS Excel. Значениями типа IMAGE нельзя свободно манипулировать. Столбцы типа IMAGE и TEXT имеют множество ограничений на способы использования.
* INT [IDENTITY [(seed, increment)] (тип данных SQL2003: INTEGER)
Хранит целые числа со знаком или без знака в диапазоне от -2 147 483 648 до 2 147 483 647. Занимает 4 байта. Все целочисленные типы данных, а также типы, хранящие десятичные дроби, поддерживают свойство IDENTITY, identity -- это автоматически инкрементируемый идентификатор строки.
* MONEY (тип данных SQL2003: отсутствует)
Хранит денежные значения в диапазоне от -922337203685477.5808 до 922337203685477.5807. Значение занимает 8 байт.
* NCHAR(n), NATIONAL CHAR(n), NATIONAL CHARACTER(n) (тип данных SQL2003: NATIONAL СНАRACTER(n))
Хранит данные формата UNICODE фиксированной длины до 4000 символов. Для хранения требуется n*2 байт.
* NTEXT, NATIONAL TEXT (тип данных SQL2003: NCLOB)
Хранит фрагменты текста в формате UNICODE длиной до 1 073 741 823 символа. См. описание типа TEXT, где приведен список команд и функций, которые применимы и к типу NTEXT
* NUMERIC (p, s) (тип данных SQL2003: DECIMAL (p, s))
Синоним типа DECIMAL.
* NVARCHAR (n), NATIONAL CHAR VARYING(n), NATIONAL CHARACTER VARYING(n) (тип данных SQL2003: NATIONAL CHARACTER VARYING(n))
Хранит UNICODE-данные переменной длины до 4000 символов.
Занимаемое место вычисляется как удвоенное значение длины всех символов, вставленных в поле (число символов * 2).
В SQL Server системный параметр SET ANSI_PADDINGX для полей NCHAR и NVARCHAR всегда установлен (ON).
* REAL, FLOAT(24) (тип данных SQL2003: REAL)
Хранит значения с плавающей точкой в диапазоне -3.40Е+38 до 3.40Е+38. Занимает 4 байта. Тип REAL функционально эквивалентен типу FLOAT(24).
* ROWVERSION (тип данных SQL2003: отсутствует)
Уникальное число, хранимое в базе данных, которое обновляется всякий раз, когда обновляется строка, В более ранних версиях называется TIMESTAMP.
* SMALLDATETIME (тип данных SQL2003: отсутствует)
Хранит дату и время в диапазоне от '01-01-1900 00:00? до '06-06-2079 23:59 с точностью до минуты. (Минуты округляются до меньшего значения, если значе-ние секунд 29.998 и менее, в противном случае они округляются до большего значения.) Значение занимает 4 байта.
* SMALLINT (тип данных SQL2003: SMALLINT)
Хранит целые числа со знаком или без знака в диапазоне от -32 768 до 32 767. Занимает 2 байта. См. описание типа INT, где приведены правила, относящиеся к свойству IDENTITY, которые также применимы и к этому типу.
* SMALLMONEY (тип данных SQL2003: отсутствует)
Хранит денежные значения в диапазоне от 214748.3648 до -214748.3647. Значе-ния занимают 4 байта.
* SQLVARIANT (тип данных SQL2003: отсутствует)
Хранит значения, относящиеся к другим поддерживаемым SQL Server типам данных, за исключением типов TEXT, NTEXT, ROWVERSION и других значений типа SQL VARIANT. Может хранить до 8016 байт данных, поддерживаются значения NULL и DEFAULT. Тип SQL VARIANT используется в столбцах, параметрах, переменных и возвращаемых функциями и хранимыми процедур, ми значениях.
* TABLE (тип данных SQL2003: отсутствует)
Специальный тип, хранящий получившийся в результате работы последнего процесса набор данных. Используется исключительно для процедурной обработки и не может применяться в инструкциях CREATE TABLE. Этот тип данных уменьшает необходимость создания временных таблиц во многих приложениях. Может уменьшить необходимость перекомпиляций процедур, ускоряя, таким образом, выполнение хранимых процедур и пользовательских функций.
* TEXT (тип данных SQL2003: CLOB)
Хранит очень большие фрагменты текста длиной до 2 147 483 647 символов. Значениями типа ТЕХТн IMAGE часто гораздо труднее манипулировать, чем, скажем, значениями типа VARCHAR. Например, нельзя создавать индекс по столбцу типа TEXT или IMAGE. Значениями типа TEXT можно манипулировать при помощи функций DATALENGTH, PATINDEX, SUBSTRING, TEXTPTR и ТЕХTVALID, а также команд READTEXT,SET TEXTSIZE, UPDATETEXT и WRITETEXT.
* TIMESTAMP (тип данных SQL2003: TIMESTAMP)
Хранит автоматически генерируемое двоичное число, обеспечивающее уникальность в текущей базе данных и, следовательно, отличающееся от типа данных TIMESTAMP стандарта ANSI. Тип TIMESTAMP занимает 8 байт. В настоящее время вместо TIMESTAMP для однозначной идентификации строк лучше применять значения типа ROWVERSION.
* TINYINT
Хранит целые числа без знака в диапазоне от 0 до 255 и занимает 1 байт. См. описание типа INT, где приведены правила, относящиеся к свойству IDENTITY, которые также применимы и к этому типу.
* UNIQUEIDENTIFIER (тип данных SQL2003: отсутствует)
Представляет собой значение, уникальное для всех баз данных и всех серверов. Представлено в виде хххххххх-хххх-хххх-хххх-хххххххххххх, в котором каждый «х» представляет собой шестнадцатеричное число в диапазоне 0-9 или а -- f. Единственными операциями, которые можно производить над значениями этого типа, являются сравнение и проверка на NULL. В столбцах этого типа можно использовать ограничения и свойства, за исключением свойства IDENTITY.
* VARBINARY[(n)] (тип данных SQL2003: BLOB)
Представляет собой двоичное значение переменной длины, до 8000 байт. Занимаемое место соответствует размеру вставленных данных плюс 4 байта.
* VARCHARf(n)], CHAR VARYING [(n)], CHARACTER VARYING [(n)] (тип данных SQL2003: CHARACTER VARYING (n))
Хранит символьные данные фиксированной длины размером от 1 до 8000 символов. Занимаемое место равно реальному размеру введенного значения в байтах, а не значению n.
Различия в поддержке типов данных в разных СУБД существенно препятствуют переносимости приложений, в которых используется SQL. Причины подобных различий следует искать в самом пути, по которому развивались реляционные базы данных. Вот типичная схема:
Поставщик СУБД добавил в свой продукт поддержку нового типа данных, который обеспечивает новые полезные возможности для определенной группы пользователей. Другой поставщик, оценив идею, ввел поддержку того же типа данных, но с небольшими модификациями, чтобы его нельзя было обвинить в слепом копировании. Если идея оказалась удачной, то по прошествии нескольких лет рассматриваемый тип данных появляется в большинстве ведущих СУБД. Далее этой идеей начинают интересоваться комитеты по стандартизации, чьей задачей является устранение произвольных различий в реализации идеи в ведущих СУБД. Но чем больше таких различий, тем труднее найти компромисс. Как правило, результатом деятельности комитета является вариант, который не соответствует ни одной из реализаций. Поставщики СУБД начинают внедрять поддержку полученного стандартизированного типа данных, но поскольку они располагают обширной базой уже инсталлированных продуктов, то вынуждены сопровождать и старый вариант типа данных. По прошествии длительного периода времени (обычно включающего выпуск нескольких новых версий СУБД) пользователи, наконец, полностью переходят к использованию стандартного варианта рассматриваемого типа данных, и поставщик СУБД начинает процесс исключения поддержки старого варианта из своего продукта.
В настоящее время ход процесса стандартизации языка SQL отображает текущее состояние технологии SQL - ориентированных БД. Основные поставщики IBM, Oracle, Microsoft стремятся достаточно быстро подстраиваться под потребности и конъюнктуру рынка и совершенствуют свою продукцию новыми возможностями.
SQL является инструментом, предназначенным для обработки и чтения данных, содержащихся в компьютерной базе данных, является языком программирования, который применяется для организации взаимодействия пользователя с базой данных. На самом деле он работает только с базами данных одного определенного типа, называемых реляционными.
Компьютерная программа, которая управляет базой данных, называется системой управления базой данных, или СУБД. Если пользователю необходимо получить информацию из базы данных, он запрашивает ее у СУБД с помощью SQL. СУБД обрабатывает запрос, находит требуемую информацию и посылает ее пользователю. Процесс запрашивания данных и получения результата называется запросом к базе данных: отсюда и название- структурированный язык запросов.
Однако это название не совсем соответствует действительности. Сегодня SQL представляет собой гораздо большее, чем простой инструмент создания запросов. Несмотря на то, что чтение данных по- прежнему остается одной из важных функций, сейчас этот язык используется для реализации всех функциональных возможностей, которые СУБД предоставляют пользователю, а именно:
- Организация данных. SQL дает возможность пользователю не только изменять структуру представления данных, но и устанавливать отношения между элементами базы данных.
- Чтение данных. Пользователь имеет возможность читать информацию содержащуюся в базе данных и пользоваться ею.
- Обработка данных. SQL дает пользователю или приложению возможность изменять базу данных: добавлять, удалять или обновлять информацию уже содержащуюся в ней.
- Управление доступом. С помощью SQL можно ограничить возможности пользователя по чтению и изменению данных и защитить их от несанкционированного доступа.
- Совместное использование данных. SQL координирует совместное использование данных пользователями, работающими параллельно, чтоб они не мешали друг другу.
- Целостность данных. SQL позволяет обеспечить целостность базы данных, защищая ее от разрушения из-за несогласованных изменений или отказа системы.
SQL- это не полноценный компьютерный язык типа COBOL, FORTRAN или C. В SQL нет оператора IF для проверки условий, нет оператора GOTO для организации переходов, отсутствуют операторы DO или FOR для создания циклов. SQL является подъязыком баз данных, в который входит около тридцати операторов, предназначенных для управления базами данных. Операторы SQL встраиваются в базовый язык COBOL, FORTRAN или C, и дают возможность получать доступ к базам данных. Кроме того, из такого языка, как С, операторы SQL могут посылать СУБД в явном виде, используя интерфейс вызовов функций. Ко всему прочему SQL- это слабо структурированный язык, по сравнению с C или Pascal. В SQL почти нет нелогичностей, к тому же имеется ряд специальных правил, предотвращающих создание операторов в SQL, которые выглядят как абсолютно правильные, но не имеют смысла.
На сегодняшний день, не смотря ни на что, SQL является единственным стандартным языком для работы с реляционными базами данных. Сам по себе SQL не является ни системой управления базами данных, ни отдельным программным продуктом. SQL- это неотъемлемая часть СУБД, инструмент, с помощью которого осуществляется связь пользователя с ней.
SQL- интерактивный язык запросов. Каждое предложение SQL -- это либо запрос данных из базы, либо обращение к базе данных, которое приводит к изменению данных в базе. В соответствии с тем, какие изменения происходят в базе данных, различают следующие типы запросов:
* запросы на создание или изменение в базе данных новых или существующих объектов (при этом в запросе описывается тип и структура создаваемого или изменяемого объекта);
* запросы на получение данных;
* запросы на добавление новых данных (записей);
* запросы на удаление данных;
* обращения к СУБД.
Основным объектом хранения реляционной базы данных является таблица, поэтому все SQL-запросы -- это операции над таблицами. В соответствии с этим, запросы делятся на:
* запросы, оперирующие самими таблицами (создание и изменение таблиц);
* запросы, оперирующие с отдельными записями (или строками таблиц) или наборами записей.
Каждая таблица описывается в виде перечисления своих полей (столбцов таблицы) с указанием
* типа хранимых в каждом поле значений;
* связей между таблицами (задание первичных и вторичных ключей);
* информации, необходимой для построения индексов.
Запросы первого типа в свою очередь делятся на запросы, предназначенные для создания в базе данных новых таблиц, и на запросы, предназначенные для изменения уже существующих таблиц. Запросы второго типа оперируют со строками, и их можно разделить на запросы следующего вида:
* вставка новой строки;
* изменение значений полей строки или набора строк;
* удаление строки или набора строк.
Самый главный вид запроса -- это запрос, возвращающий (пользователю) некоторый набор строк, с которым можно осуществить одну из трёх операций:
* просмотреть полученный набор;
* изменить все записи набора;
* удалить все записи набора.
Таким образом использование SQL сводится, по сути, к формированию всевозможных выборок строк и совершению операций над всеми записями, входящими в набор.
2. Структура языка SQL
Оператор SQL состоит из зарезервированных слов, а также из слов, определяемых пользователем. Зарезервированные слова являются постоянной частью языка SQL и имеют определенное значение. Их следует записывать именно так, как указанно в стандарте, и нельзя разбивать на части для переноса из одной строки в другую. Слова, определяемые пользователем, задаются самим пользователем и представляют собой имена различных объектов базы данных - таблиц, столбцов, представлений, индексов и т.д. Слова в операторе размещаются в соответствии с установленными синтаксическими правилами. Хотя в стандарте это не указанно, многие диалекты языка SQL требуют задания в конце оператора некоторого символа, обозначающего окончание его текста (как правило используется). Большинство компонентов операторов SQL не чувствительны к регистру. Это означает, что могут использоваться любые буквы - как строчные, так и прописные. Одним важным исключением из этого правила являются символьные литералы- данные которые должны вводиться точно также, как были введены соответствующие им значения, хранящиеся в базе данных.
Каждая конструкция в операторе должна начинаться с новой строки. Начало каждой конструкции должно быть обозначено таким же отступом, что и начало других конструкций оператора. Если конструкция состоит из нескольких частей, каждая должна начинаться с новой строки с некоторым отступом относительно начала конструкции.
Язык SQL представляет собой совокупность:
* операторов,
* инструкций,
* и вычисляемых функций.
Согласно общепринятому стилю программирования, операторы (и другие зарезервированные слова) в SQL всегда следует писать прописными буквами.
Операторы SQL делятся на:
* операторы определения данных (Data Definition Language, DDL):
* CREATE SCHEMA - создать схему базы данных
* DROP SHEMA - удалить схему базы данных
* CREATE TABLE - создать таблицу
* ALTER TABLE - изменить таблицу
* DROP TABLE - удалить таблицу
* CREATE DOMAIN - создать домен
* ALTER DOMAIN - изменить домен
* DROP DOMAIN - удалить домен
* CREATE COLLATION - создать последовательность
* DROP COLLATION - удалить последовательность
* CREATE VIEW - создать представление
* DROP VIEW - удалить представление
Не многие программисты создают базу данных программным путём, большинство из нас для этого используют некую визуальную среду наподобие MS Access для построения файла MDB. Но иногда нам всё таки приходится создавать и удалять базу данных, а так же объекты базы данных программным путём. Для этого используется наиболее распространённая на сегодняшний день технология Structured Query Language Data Definition Language (SQL DDL). Выражения языка определения данных (DDL) - это SQL выражения, которые поддерживают определения или объявления объектов базы данных (например, CREATE TABLE, DROP TABLE, CREATE INDEX либо подобные им). В этом подразделении SQL рассматривается создание, изменение и удаление таблиц это относится к самим таблицам, а не к данным, которые в них содержатся. Таблицы создаются командой CREATE TABLE. Эта команда создает пустую таблицу - таблицу без строк. Значения вводятся с помощью DML команды INSERT
Команда ALTER TABLE не часть стандарта ANSI; но это - широко доступная, и довольно содержательная форма, хотя ее возможности несколько ограничены. Она используется, чтобы изменить определение существующей таблицы. Обычно, она добавляет столбцы к таблице. Иногда она может удалять столбцы или изменять их размеры, а также в некоторых программах добавлять или удалять ограничения. Типичный синтаксис чтобы добавить столбец к таблице:
ALTER TABLE <table name> ADD <column name> <data type> <size>;
Синтаксис для удаления таблицы, если конечно она является пустой, следующая:
DROP TABLE <table name>;
(УДАЛИТЬ)
СинтаксисFROM <table name> {[WHERE <predicate>];} | WHERE CURRENT OF
<cursor name><SQL term>
Если предложение WHERE отсутствует, ВСЕ строки таблицы удаляются. Если предложение WHERE использует предикат <predicate>, строки, которые удовлетворяют условию этого предиката <predicate> удаляются. Если предложение WHERE имеет аргумент CURRENT OF (ТЕКУЩИЙ) в имени курсора <cursor name>, строка из таблицы <table name> на которую в данный момент имеется ссылка с помощью имени курсора <cursor name> будет удалена. Форма WHERE CURRENT может использоваться только во вложенном SQL, и только с модифицируемыми курсорами.
операторы манипуляции данными (Data Manipulation Language, DML):
* SELECT - отобрать строки из таблиц
* INSERT - добавить строки в таблицу
* UPDATE - изменить строки в таблице
* DELETE - удалить строки в таблице
* COMMIT - зафиксировать внесенные изменения
* ROLLBACK - откатить внесенные изменения
Язык манипулирования данными - командный язык, обеспечивающий выполнение основных операций по работе с данными: ввод, модификацию и выборку данных по запросам.
К базовым средствам манипулирования данными языка SQL относятся "поисковые" варианты операторов UPDATE и DELETE. Эти варианты называются поисковыми, потому что при задании соответствующей операции задается логическое условие, налагаемое на строки адресуемой оператором таблицы, которые должны быть подвергнуты модификации или удалению. Кроме того, в такую категорию языковых средств входит оператор
Запрос - команда, которую вы даете вашей программе базы данных, и которая сообщает ей, чтобы она вывела определенную информацию из таблиц в память. Эта информация обычно посылается непосредственно на экран компьютера или терминала, которым вы пользуетесь, хотя, в большинстве случаев, ее можно также послать принтеру, сохранить в файле (как объект в памяти компьютера), или представить как вводную информацию для другой команды или процесса.
Все запросы в SQL состоят из одиночной команды. Эта команда называется - SELECT (ВЫБОР).
Синтаксис команды:
{IDISTINCT | ALL] < value expression>..}/*
[INTO <host variable list> (*embedded only*)]< table reference>.
[WHERE <predicate>]
[GROUP BY <grouping column>..]
[HAVING <predicate>]
[ORDER BY <ordering column> [ASC | DESC]..];
Применяются следующие правила:
Если ни ALL, ни DISTINCT - не указаны, принимается - ALL.
Выражение <value expression> состоит из <column spec>, агрегатной функции<aggregate funct>, нестандартной функции <nonstandard function>, постоянной <constant>, или любой их комбинации с операторами в допустимых выражениях.
Ссылаемая таблица <table reference> состоит из имени таблицы, включая пре-фикс владельца, если текущий пользователь не владелец, или синоним (нестандартно) для таблицы. Таблица может быть или базовой таблицей или просмотром. В принципе, псевдоним может указать, какой синонимом используется для таблицы только на время текущей команды. Имя таблицы или синоним должны отделяться от псевдонима одним или более разделительными знаками <separator>.
Значения могут быть помещены и удалены из полей, тремя командами языка DML (Язык Манипулирования Данными):
INSERT (ВСТАВИТЬ),
UPDATE (МОДИФИЦИРОВАТЬ),
DELETE (УДАЛИТЬ).
INSERT (ВСТАВКА)
Синтаксис
INTO <table name> (<column llst>) VALUES (<value llst>) | <query>;
INSERT создает одну или больше новых строк в таблице с именем <table name>.
Если используется предложение VALUES, их значения вставляются в таблицу с именем <table name>. Если запрос <query> указан, каждая строка вывода будет вставлена втаблицу с именем <table name>. Если список столбцов <column list> отсутствует, все столбцы таблицы <table name>, принимаются в упорядоченном виде.
Синтаксис
язык база sql реляционный
<table name>
SET {<column name> = <value expression>}.
{[WHERE <predlcate>];} | {[WHERE CURRENT OF <cursorname>] <SQL term>]}
UPDATE изменяет значения в каждом столбце с именем <column name> на соответствующее значение <value expression>. Если предложение WHERE использует предикат <predicate>, то только строки таблиц чьи текущие значения делают тот предикат <predicate> верным, могут быть изменены. Если WHERE использует предложение CURRENT OF, то значения в строке таблицы с именем <table name> находящиеся в курсоре с именем <cursor name> меняются. WHERE CURRENT OF пригодно для использования только во вложенном SQL, и только с модифицируемыми курсорами.
При отсутствия предложения WHERE - все строки меняются.
* операторы определения доступа к данным (Data Control Language, DCL):
* GRANT предоставляет пользователю (группе) разрешения на определенные операции с объектом,
* REVOKE отзывает ранее выданные разрешения,
* DENY задает запрет, имеющий приоритет над разрешением;
Язык баз данных для осуществления административных функций, присваивающих или отменяющих право (привилегию) использовать базу данных, таблицы в базе данных, а также выполнять те или иные операторы SQL. Выдавать и забирать права доступа к таблице может владелец таблицы. Администратор базы данных (имеющий DBA права), а так же пользователь, которому было выдано право выдавать права (операторам GRANT WITH GRANT OPTIONS)
REVOKE ALL ON customer FROM PUBLIC
GRANT ALL ON customer TO morozova, shumskiy WITH GRANT OPTION
GRANT UPDATE(fname, iname, company, sity), SELECT
ON customer TO PUBLIC
REVOKE CONNECT FROM dubcova, root
REVOKE DBA FROM morozova
Отобрать права DBA может только другой DBA. На время транзакции все изменения строки автоматически блокируются системой от изменения (но не от просмотра). Ко всему прочему можно блокировать таблицу целиком не только от изменений, но и от просмотра.
BEGIN WORK
LOCK TABLE kadry
LOCK TABLE kadry EXCLUSIVE
Можно установить для программы режим «ждать разблокирования строк»
SET LOCK MODE TO WAIT
* операторы управления транзакциями (Transaction Control Language, TCL):
* COMMIT применяет транзакцию,
* ROLLBACK откатывает все изменения, сделанные в контексте текущей транзакции,
* SAVEPOINT делит транзакцию на более мелкие участки.
В базе данных, не имеющих системного журнала невозможно выполнение транзакций и восстановления до текущей контрольной точки. Поскольку за все хорошее приходится платить, наличие системного журнала у базы данных вызывает заметный рост накладных расходов и замедления работы запросов. К тому же при активной работе с базой системный журнал быстро «распухает». За ним необходимо следить и периодически чистить.
В случае потери базы данных или разрушения, можно восстановить ее из резервной копии. Восстановление базы данных должно происходить на той же версии OpenEdge, на которой создавалась резервная копия.
Есть несколько важных правил, которых стоит придерживаться при выполнении процедуры восстановления:
* Если восстановление происходит в уже существующую базу, необходимо проверить копии перед началом восстановления. В случае, если существующая базы находится в единственном экземпляре, перед восстановлением сформировать копию этой базы.
* Восстанавливают копию на той же версией OpenEdge, на которой копия была сформирована.
* Восстановление инкрементальной копии возможно только на уже восстановленную ранее базу данных.
* Создают пустую базу данных перед началом восстановления.
* Восстанавливают базу данных в той же последовательности, в какой формировали копию. Т.е сначала восстанавливайте полную копию, потом первую инкрементальную, затем вторую и т.д. При попытке восстановления базы в неправильной последовательности, вы получите ошибку восстановления.
* Если вторая инкрементальная копия была потеряна и был использован фактор перекрытия 1, то третья копия будет успешно восстановлена, т.к. содержит потерянные данные второй.
* После восстановления полной копии, не используйте базу данных, если вы собираетесь продолжить восстановление из инкрементальных копий. Если база данных будет изменена до окончания восстановления всех копий, все последующий инкрементальные копии, которые не были восстановлены восстановиться не смогут, и придется повторять всю процедуру восстановления заново, начиная с полной копии.
* Если в момент выполнения восстановления произошла системная ошибка, то запустите процедуру восстановления заново начиная с той копии, которая восстанавливалась на момент системной ошибки.
* Если восстановление происходит в существующую структуру базы данных, то она должна иметь одинаковый с копией размер блока базы данных, одинаковые области хранения данных и достаточное количество экстентов этих областей. PROREST, при необходимости, расширяет область хранения данных, для обеспечения полного восстановления, но если количество экстентов области будет не достаточным, восстановление будет аварийно завершено.
Для получения описания областей хранения необходимых для восстановления копии, используйте утилиту PROREST с параметром -list. Синтаксис следующий:
prorest db-name device-name -list
OpenEdge Release 10.1B as of Fri MAR 7 02:56:17 EST 2014
Area Name: Schema Area
Size: 7680, Records/Block: 32, Area Number: 6, Cluster Size: 1
Area Name: Info Area
Size: 1024, Records/Block: 32, Area Number: 7, Cluster Size: 1
Area Name: Customer/Order Area
Size: 2560, Records/Block: 32, Area Number: 8, Cluster Size: 8
Area Name: Primary Index Area
Size: 32, Records/Block: 1, Area Number: 9, Cluster Size: 8
Area Name: Customer Index Area
Size: 256, Records/Block: 1, Area Number: 10, Cluster Size 64
Area Name: Order Index Area
Size: 8192, Records/Block: 32, Area Number: 11, Cluster Size 64
Используем полученную информацию для формирования структурного файла базы данных, которую мы хотим восстановить.
Восстановления баз данных OpenEdge и транзакций, в случаях системных или дисковых сбоев.
OpenEdge RDBMS имеет три механизма восстановления:
* Crash recovery - использует данные BI
* Roll-forward recovery - использует резервные копии и After-image для восстановления после дисковых сбоев
* Two-phase commit - гарантирует завершении транзакция между несколькими базами данных
В зависимости от требований, можно использовать не все три механизма. Каждый механизм использует описание изменений, для записи в файл и последующей записи в базу данных.
Crash recover работает в автоматическом режиме. Он использует информацию из primary recovery log (BI), для восстановления после системных сбоев. BI файл является активной частью базы данных. Он рассматривается как неотъемлемая часть базы данных. Когда происходит копирование и восстановление базы данных, вместе с базой копируется и восстанавливается BI файл. Никогда не удаляйте файлы BI в ручную.
Когда база данных работает, информация о транзакциях базы хранится в трех местах:
* В базе данных на диске
* В буфере памяти
* В BI файлах на диске
Когда изменяется запись в базе данных, сначала изменения происходят в памяти. Когда транзакция завершена, изменения записываются в BI файл. Со временем, движок базы данных вносит изменения в базу данных на диске. Если происходит системный сбой, информация, находящаяся в буфере памяти, теряется. Движок базы данных выполняет восстановление, используя информацию из BI файла, для восстановления потерянных транзакций, а транзакции, которые не были завершены к момент сбоя - отменяются.
Перед изменением базы данных, движок базы делает копию текущих данных и записывает ее в файл BI. Это происходит по завершению операции изменения. Если происходит системный сбой во время транзакции, движок базы восстанавливает из BI файла базу данных в предшествующее состояние. Движок использует информацию BI файла, также, и при нормальной работе, для отката транзакций.
Например, допустим, выполняется следующая программа на языке ABL (Advanced Business Language):
FOR EACH customer:
UPDATE name max-credit.
END.
Мы изменили записи о клиенте 1 и 2, и пока меняли данные о клиенте 3, произошел системный сбой. При перезагрузке базы данных (.lg), в логе базы данных появятся следующие сообщения:
11:13:54 Single-user session begin for marshall on /dev/pts/25 (451)
11:13:54 Begin Physical Redo Phase at 256 . (5326)
11:13:56 Physical Redo Phase Completed at blk 800 of 8165 and 31829 (7161)
11:13:56 Begin Physical Undo 1 transactions at blk 800 offset 8189 (7163)
11:14:38 Physical Undo Phase Completed at 1020 . (5331)
11:14:38 Begin Logical Undo Phase, 1 incomplete transactions are being backed out. (7162)
11:14:38 Logical Undo Phase Complete. (5329)
11:14:46 Single-user session end. (334)
В сообщении указаны фазы crash recovery, которые выполняет движок базы данных для приведения базы в состояние до системного сбоя. Движок выполняет crash recovery каждый раз, когда вы открываете базу данных, но не все фазы восстановления отображаются в логе базы.
Если после этого перезапустить программу, то мы обнаружим, что клиенты 1 и 2 были изменены, а клиент 3 остался без изменений, так как на основании BI файла движок вернул его информацию в первоначальное состояние.
Crash recovery защищает базу от системных сбоев, но не сможет защитить ее от ошибок носителей. В случае ошибок носителя или его полной потери, восстановление базы возможно только из резервной копии, при этом необходимо вручную провести все транзакции заново до момента сбоя, либо использовать механизм roll-forward recovery, если он был активирован на базе до сбоя.
Roll-forward recovery совместно использует after-imaging и резервную копию базы, позволяя восстанавливать ее после ошибок или после потери носителя. Используйте последнюю резервную копию, а затем roll-forward recovery для восстановления базы в состояние до возникновения ошибки или до потери носителя. Этот механизм использует информацию из AI файлов для последовательного наката транзакций, совершенных после формирования последней резервной копии, до возникновения сбоя.
Для использования механизма roll-forward recovery, необходимо:
* Постоянно выполнять резервные копии, т.к. они являются основой для работы механизма.
* Активировать на базе данных механизм After-imaging
* Постоянно делать резервные копии сформированных AI - файлов.
* Храните AI-файлы на другом диске, отличном от того на котором находятся база данных и BI-файлы.
При активированном After - imaging, информация об изменениях записывается движком базы в AI-файлы. Если ai-файлы будут храниться на том же диске, что и база данных или BI - файлы, то в случае повреждения диска, вы будете не в состоянии восстановить базу данных.
Следующий пример, показывает как AI - файлы используются для восстановления базы данных. Допустим, что выполняется следующая программа ABL:
FOR EACH customer:
UPDATE name max-credit.
END.
Вы изменяете клиентов 1 и 2, но в момент изменения данных о клиенте 3, происходит повреждение диска, на котором хранится база данных. Вы не можете использовать BI -файл для восстановления транзакций, т.к. база данных находится в поврежденном состоянии или полностью потеряна.
Тем не менее, если after-imaging был активирован, для восстановления базы можно использовать механизм roll-forward recovery. Иначе, мы потеряли бы все внесенные изменения в базу данных с момента формирования последней резервной копии.
Перед изменением базы данных, движок помечает изменения как текущие и сохраняет их в BI и AI файлы. AI-файлы содержат копии всех завершенных транзакций с момента последней резервной копии. Восстановите последнюю копию базы данных, и запустите механизм roll-forward recovery, для воспроизведения всех завершенных транзакций, таким образом, мы получим полноценную базу данных до момента сбоя.
Two-phase commit гарантирует, что транзакция между несколькими базами данных последовательно пройдет через все используемые базы. Two-phase commit не нужен для транзакций, работающих с одной базой данных.
Несмотря на наличие диалектов и различий в синтаксисе, в большинстве своём тексты SQL-запросов, содержащие DDL и DML, могут быть достаточно легко перенесены из одной СУБД в другую. Существуют системы, разработчики которых изначально ориентировались на применение по меньшей мере нескольких СУБД (например: система электронного документооборота Documentum может работать как с Oracle Database, так и с Microsoft SQL Server и DB2). Естественно, что при применении некоторых специфичных для реализации возможностей такой переносимости добиться уже очень трудно.
Наличие стандартов и набора тестов для выявления совместимости и соответствия конкретной реализации SQL общепринятому стандарту только способствует «стабилизации» языка. Правда, стоит обратить внимание, что сам по себе стандарт местами чересчур формализован и раздут в размерах (например, базовая часть стандарта SQL:2003 состоит из более 1300 страниц текста).С помощью SQL программист описывает только то, какие данные нужно извлечь или модифицировать. То, каким образом это сделать, решает СУБД непосредственно при обработке SQL-запроса. Однако не стоит думать, что это полностью универсальный принцип -- программист описывает набор данных для выборки или модификации, однако ему при этом полезно представлять, как СУБД будет разбирать текст его запроса. Чем сложнее сконструирован запрос, тем больше он допускает вариантов написания, различных по скорости выполнения, но одинаковых по итоговому набору данных.
Доступ к SQL Server предусмотрен из большого числа средств разработки клиентских приложений, настольных баз данных и офисных продуктов. Изначально SQL адаптирован под взаимодействие с другими серверами BackOffice, что благоприятствует прямо охватить решение комплексных задач хранения и обработки информации, электронного документооборота, создания интернет-приложений и т.д. SQL используется как в стандартных клиент-серверных платформах, так и в многоуровневых средах. Microsoft Transaction Server является одним из главных инструментов при создании распределенных приложений.
В последних стандартах языка SQL содержатся:
· генераторы типов массивов и мультимножеств, элементами которых могут быть значения предопределенных типов, типов коллекций, анонимных строчных типов строк и типов, определенных пользователями;
· генератор анонимных строчных типов, в которых типом элемента строки может быть любой предопределенный тип, тип коллекции, анонимный строчный тип и тип, определенный пользователями;
· определяемый пользователем структурный тип, в котором типом элемента структуры может быть любой предопределенный тип, тип коллекции, анонимный строчный тип и тип, определенный пользователями; для определяемых пользователем структурных и индивидуальных типов можно определять пользовательские операции.
· сформированный набор готовых типов, включая ряд параметризуемых типов.
Однако не стоит говорить о том, что система типов языка SQL до такой степени полна, что в состоянии удовлетворить любые нужды, но можно заметить, что эта система не имеет единого логического подхода и в ней присутствует избыточность.
Создатели реляционной модели данных Эдгар Кодд, Кристофер Дейт и их сторонники указывают на то, что SQL не является истинно реляционным языком. В частности, они указывают на следующие проблемы SQL:
· повторяющиеся строки;
· неопределённые значения (nulls);
· явное указание порядка колонок слева направо;
· колонки без имени и дублирующиеся имена колонок;
· отсутствие поддержки свойства «=»;
· использование указателей;
· высокая избыточность.
Хотя SQL и задумывался как средство работы конечного пользователя, в конце концов он стал настолько сложным, что превратился в инструмент программиста.
SQL- язык программирования баз данных. Чтобы получить доступ к базе данных, программисты вставляют в свои программы команды SQL. Эта методика используется как в программах, написанных пользователями, так и в служебных программах баз данных.
SQL- язык администрирования баз данных. Администратор базы данных, использует SQL для определения структуры базы данных и управления доступом к данным.
SQL- язык создания приложений клиент/сервер, в программах для персональных компьютеров SQL используется для организации связи через локальную сеть с сервером базы данных, в которой хранится совместно используемые данные. В большинстве новых приложений используется архитектура клиент/сервер, которая позволяет свести к минимуму сетевой трафик и повысить быстроту действия как персональных компьютеров, так и серверов баз данных.
SQL- язык распределенных баз данных. В системах управления распределенными базами данных SQL помогает распределять данные среди нескольких взаимодействующих вычислительных систем. Программное обеспечение каждой системы посредством использования SQL связывается с другими системами, посылая им запросы на доступ к данным.
SQL- язык шлюзов базы данных. В вычислительных сетях с различными СУБД SQL часто используется в шлюзовой программе, которая позволяет СУБД одного типа связаться с СУБД другого типа.
...Подобные документы
Система управления базами данных как составная часть автоматизированного банка данных. Структура и функции системы управления базами данных. Классификация СУБД по способу доступа к базе данных. Язык SQL в системах управления базами данных, СУБД Microsoft.
реферат [46,4 K], добавлен 01.11.2009Внутренний язык СУБД для работы с данными. Результат компиляции DDL-операторов. Описание DML-языка, содержащего набор операторов для поддержки основных операций манипулирования содержащимися в базе данными. Организация данных и управление доступом в SQL.
лекция [131,0 K], добавлен 19.08.2013Исследование характеристик и функциональных возможностей системы управления базами данных Microsoft Office Access. Определение основных классов объектов. Разработка базы данных "Делопроизводство". Создание таблиц, форм, запросов, отчетов и схем данных.
реферат [1,3 M], добавлен 05.12.2014Работа с хранящейся в базах данных информацией. Язык описания данных и язык манипулирования данными. Распространение стандартизованных языков. Структурированный язык запросов SQL. Язык запросов по образцу QBE. Применение основных операторов языка.
презентация [76,2 K], добавлен 14.10.2013Типы окружений для использования системы управления базами данных SQL Server. Клиент-серверная система. Использование SQL Server в качестве настольной системы. Требования к квалификации администраторов. Введение в структурированный язык запросов SQL.
презентация [368,4 K], добавлен 14.10.2013Язык структурированных запросов SQL (Structured Query Language) и его место в сфере доступа к информации в реляционных базах данных. Структура и основные типы данных языка. Синтаксис и семантика главных операторов SQL, последние стандарты языка.
реферат [98,7 K], добавлен 29.03.2012Разработка информационной системы "Библиотека Дорам" в архитектуре клиент - сервер; управление реляционными базами данных (СУБД) Microsoft SQL Server. Визуальная среда программирования и технические средства. Разработка структурированного приложения.
курсовая работа [3,2 M], добавлен 12.01.2010Освоение сервисной системы управления базами данных Microsoft SQL. Разработка базы данных "Служба АТС" в среде Microsoft SQL Server Management Studio и создание запросов на языке SQL. Апробация инфологической модели "сущность - связь" базы данных.
курсовая работа [2,9 M], добавлен 29.06.2015Основные возможности системы управления реляционными базами данных (СУБД) Microsoft Access. Пользовательский интерфейс MS Access 2003. Команды панели инструментов окна БД. Область возможных режимов создания объектов. Создание таблиц в базе данных.
реферат [5,5 M], добавлен 08.11.2010Краткая характеристика и функциональные возможности MS Access. Базы данных и системы управления базами данных. Проектирование в теории и создание на практике базы данных в продукте корпорации Microsoft для управления базами данных "Microsoft Access".
курсовая работа [1,6 M], добавлен 07.03.2015Основные понятия реляционных баз данных. Ограничительные условия, поддерживающие целостность. Операции над реляционными данными. Виды операций: традиционные и специальные. Нормализация и разновидности ее форм. Целостность категории (сущности) и ссылок.
реферат [227,6 K], добавлен 22.02.2009Иерархические, сетевые и реляционные модели данных. Различия между OLTP и OLAP системами. Обзор существующих систем управления базами данных. Основные приемы работы с MS Access. Система защиты базы данных, иерархия объектов. Язык программирования SQL.
курс лекций [1,3 M], добавлен 16.12.2010Классификация моделей построения баз данных. Работа с реляционными базами данных: нормализация таблиц, преобразование отношений полей, преобразование функциональной модели в реляционную. Понятие языка определения данных и языка манипуляции данными.
реферат [123,0 K], добавлен 22.06.2011Изучение особенностей языка структурированных запросов при использовании его в прикладном программировании. Сравнение реализации связи между SQL и языками программирования высокого уровня. Проектирование базы данных и системы управления базами данных.
курсовая работа [1,5 M], добавлен 25.01.2016Характеристика программного продукта Microsoft Outlook 2000. Принципы работы с редактором электронных таблиц Microsoft Excel и текстового редактора Microsoft Word. Методические указания при работе с СУБД Access. Анализ системы управления базами данных.
контрольная работа [116,3 K], добавлен 13.11.2010Принципы работы с реляционными базами данных в среде Microsoft Access. Основные положения базы данных Access. Составление таблиц, запросов, отчетов, страниц и модулей. Основные структуры представления базы данных. Определение связей между таблицами.
контрольная работа [2,6 M], добавлен 03.04.2014Базы данных и системы управления базами данных. Структура простейшей базы данных, свойства полей. Понятие языка SQL. Проектирование баз данных, режимы работы, объекты. СУБД Microsoft Access. Создание базы данных "Электротовары" средствами Visual FoxPro.
курсовая работа [5,7 M], добавлен 29.04.2014Особенности управления информацией в экономике. Понятие и функции системы управления базами данных, использование стандартного реляционного языка запросов. Средства организации баз данных и работа с ними. Системы управления базами данных в экономике.
контрольная работа [19,9 K], добавлен 16.11.2010Стадии обработки документов в туристическом агентстве, проектирование базы данных. Реализация программного продукта с помощью объектно-ориентированного языка программирования Borland Delphi 7.0. и системы управления базами данных Microsoft Access 2003.
дипломная работа [6,5 M], добавлен 22.01.2012Язык Java как простой, обьектно-ориентированный, многопоточный язык программирования, разработанный компанией Sun Microsystems для расширения возможностей сети Internet. Типы данных, лексика и управляющие структуры данного языка программирования.
презентация [46,1 K], добавлен 25.04.2014