SQL. ОБЗОР.

Дневник админа

 

SQL. ОБЗОР.

Вложенный SQL состоит из команд SQL, встроенных в программы, которые обычно написаны на др угом языке (например, COBOL или PASCAL). Это делает эти программы более эффективными и действенными.

Эти языки, однако, имеют структуру SQL и стиль управления данными, что требует некоторых улучшений интерактивного SQL. Передача команд SQL во вложенный SQL не выполняется ("передана") для переменных или параметров, используемых программой, в которую они встроены.

В этой книге мы познакомимся с SQL в интерактивном режиме. Это позволяет нам обсуждать команды и их действия, не беспокоясь о том, как они взаимодействуют с другими языками. Интерактивный SQL — самая полезная форма для непрограммистов. Все, что вы узнали об интерактивном SQL, применимо и к вложенной форме. Изменения, необходимые для использования вложенной формы, будут рассмотрены в последней главе этой книги.

Подразделы SQL

И интерактивные, и вложенные формы SQL состоят из нескольких частей или подразделов. Поскольку вы, вероятно, столкнетесь с этой терминологией при чтении SQL, мы предоставили некоторые пояснения. К сожалению, эти концепции обычно используются не во всех реализациях. Они определены ANSI и полезны на концептуальном уровне, но большинство программ SQL едва ли могут работать с ними по отдельности, поэтому они, по сути, становятся функциональными категориями операторов SQL.

DDDL (язык определения данных) & # 8212 ; да Так называемый язык описания схемы в ANSI состоит из команд, которые создают объекты (таблицы, индексы, представления и т. д.) в базе данных.

DML (язык управления данными) — это набор команд, которые определяют, какие значения представлены в таблицах в любой момент времени.

DCD (язык управления данными) состоит из инструментов, которые определить, может ли пользователь выполнять определенные действия или нет. Это строительные блоки DDL в ANSI.

Не забывайте эти имена. Это не разные языки, а разделы команд SQL, сгруппированные в соответствии с их функциями.

РАЗЛИЧНЫЕ ТИПЫ ДАННЫХ

Не все типы значений, которые могут появляться в полях таблицы, логически являются тем же. Наиболее очевидная разница между числами и текстом. Вы не можете расположить числа в алфавитном порядке или вычесть одно имя из другого.
Поскольку СУБД полагаются на отношения между частями информации, разные типы данных необходимо отличать друг от друга, чтобы выполнялись соответствующие процессы и сравнения. В SQL это делается путем присвоения типа данных каждому полю с указанием типа значения, которое может содержать поле. Все значения в данном поле должны быть одного типа. В таблице Customers, например, cname и city содержат строки текста для оценки, а snum и cnum — числа. По этой причине вы не можете вводить «Наивысший» или «Нет» в поле оценки с числовым типом данных. Это ограничение полезно, потому что оно налагает некоторую структуру на данные. Часто вы будете сравнивать некоторые или все значения в данном поле, поэтому вы можете выполнять действия только с некоторыми строками, а не со всеми. Этого нельзя было бы сделать, если бы значения полей были смешанного типа данных.

К сожалению, определение этих типов данных — основная область, где большинство коммерческих программ баз данных и официальный стандарт SQL не всегда совместимы. Стандарт ANSI SQL распознает только текст и число, в то время как большинство коммерческих программ используют другие специальные типы. Такие как DATA и TIME — фактически почти стандартные типы (хотя их точный формат отличается). Некоторые пакеты также поддерживают такие типы, как MONEY и BINARY. (ДЕНЬГИ — это особая «валюта», которая представляет собой систему счисления, используемую компьютерами.)

Вся информация в компьютере переводится в двоичные числа, а затем конвертируется в другие системы, чтобы мы могли легко ее использовать и понимать. .

ANSIопределяет несколько типов чисел, различия между ними довольно тонкие и временами запутываются. Разрешенные типы данных ANSI перечислены в Приложении B. Сложность числовых типов ANSI может быть, по крайней мере, частично объяснена попыткой сделать вложенный SQL совместимым со многими другими языками. Двух типов чисел ANSI INTEGER и DECIMAL (которые могут быть сокращены как INT и DEC соответственно) будет достаточно для наших целей, а также для большинства практических деловых целей. Конечно, тип TOTAL может быть представлен как ДЕСЯТЬ чисел, которые не содержат цифр справа от десятичной точки.

Тип текста — CHAR (или SIM), относящийся к строке текста. Поле CHAR имеет длину, определяемую максимальным количеством символов, которые можно ввести в это поле. В большинстве реализаций также есть настраиваемый тип VARCHAR, который представляет собой текстовую строку и может иметь любую длину до максимального значения, указанного в реализации (обычно 254 символа). Значения CHARACTER и VARCHAR заключены в одинарные кавычки как & # 8216; text & # 8217;. Разница между CHAR и VARCHAR заключается в том, что CHAR должен зарезервировать достаточно памяти для максимальной длины строки, в то время как VARCHAR выделяет память по мере необходимости.
Типы символов состоят из всех напечатанных символов, включая числа. Однако цифра 1 — это не то же самое, что и символ «1». Символ "1" — это просто напечатанный фрагмент текста, не определенный системой как числовое значение 1. Например, 1 + 1 = 2, но "1"; + & quot; 1 & quot; не равно "2". Значения символов хранятся в компьютере как двоичные значения, но отображаются пользователю в виде печатного текста.

Преобразование выполняется в формате, заданном используемой вами системой. Этот формат преобразования является одним из двух стандартных типов (возможно, с расширениями), используемых в компьютерных системах: код ASCII (используется на всех персональных и малых компьютерах) и EBCDIC (расширенный двоичный десятичный код обмена) (используется на больших компьютерах). Некоторые операции, такие как алфавитный порядок значений полей, будут меняться вместе с форматом. Использование этих двух форматов будет обсуждаться в главе 4.

При применении типа DATE мы должны руководствоваться рынком, а не ANSI. (В системе, которая не распознает тип DATE, вы, конечно, можете объявить дату как строковое или числовое поле, но это сделает большинство операций более громоздкими)

Вам следует обратиться к документации программного обеспечения пакет, который вы будете использовать, чтобы точно узнать, какие типы данных он поддерживает.

SQL.

Из предыдущего обсуждения можно понять, что существуют независимые индивидуальные несовместимости между продуктами мира SQL. SQL появился как инструмент в мире коммерческих баз данных, а затем был преобразован в стандарт ANSI. К сожалению, ANSI не всегда определяет, что является наиболее полезным, поэтому программы стараются соответствовать стандарту ANSI, не позволяя ему быть слишком строгим. ANSI является своего рода минимальным стандартом вы можете делать больше, чем он позволяет, но вы должны иметь возможность получить те же результаты для той же задачи.

Что такое ПОЛЬЗОВАТЕЛЬ

SQL обычно встречается в компьютерных системах, в которых есть более одного пользователя, и поэтому необходимо различать их (в вашем семействе ПК может быть любое количество пользователей, но обычно нет способа отличить одного пользователя от другой).
Обычно в такой системе у каждого пользователя есть некоторый код проверки полномочий, который его идентифицирует (меняется терминология). В начале сеанса с компьютером пользователь входит в систему, сообщая компьютеру, кто этот пользователь, путем идентификации с помощью определенного идентификатора. Любое количество людей, использующих идентификаторыдоступ — индивидуальный пользователь; аналогично, один человек может представлять большое количество пользователей (в разное время) с разными идентификаторами доступа SQL. Действия в большинстве сред SQL сопоставляются с конкретным идентификатором доступа, который точно соответствует данному пользователю. Таблица или другой объект принадлежит пользователю с полными правами на него. Пользователь может быть авторизован или не иметь права выполнять действие над объектом. В наших целях мы соглашаемся, что каждый пользователь имеет необходимые разрешения для выполнения любого действия, пока мы не вернемся к обсуждению разрешений в главе 22. Специальное значение USER может использоваться в качестве аргумента в команде. Указывает доступный идентификатор пользователя для пользователя, вводящего команду.

Ключевые слова и ТЕРМИНОЛОГИЯ

Ключевые слова — это слова, которые имеют особое значение в SQL. Это могут быть команды, но не тексты или имена объектов. Мы выделяем ключевые слова, вводя их ЗАГЛАВНЫМИ буквами. Будьте осторожны, не путайте ключевые слова с терминами.

В SQL есть несколько специальных терминов, которые используются для его описания.

SQL. ОБЗОР.

Среди них есть такие слова, как «запрос», «предложение»; и «предикат», которые необходимы для описания и понимания языка, но не означают ничего независимо от SQL.

 

Подсказки или предложения — это инструкции, с помощью которых мы обращаемся к базе данных SQL.

Подсказки состоят из одной или нескольких отдельных логических частей, называемых предложениями.

Подсказки начинаются с ключевое слово и состоит из ключевых слов и аргументов. Например, вы можете встретить предложения «ОТ продавца». и "ГДЕ город =" Лондон ". Аргументы дополняют или меняют смысл предложения. В приведенных выше примерах аргумент продавца и предложение FROM ключевое слово FROM. Аналогично & quot; city = & quot; Лондон & quot; аргумент предложения WHERE.

Объекты — это структуры базы данных, которым присвоены имена и которые хранятся в памяти. Это также относится к базовым таблицам, представлениям и индексам.

Чтобы показать вам, как создавать команды, мы сделаем это на примерах. Однако существует более формальный метод описания команд, использующий стандартное соглашение об обозначениях. Мы будем использовать его в следующих главах, чтобы помочь вам понять эти соглашения на тот случай, если вы встретите их в других документах SQL.
Квадратные скобки ([]) будут указывать на части, которые могут быть неиспользованными, а многоточие (& # 8230;) — указывают, что все, что им предшествует, может повторяться любое количество раз. Слова в угловых скобках (& lt; & gt;) — это специальные термины, объясняющие, что они из себя представляют. Мы значительно упростили стандартную терминологию SQL, но без ущерба для ее понимания.

Резюме

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

Теперь вы немного знаете о SQL: его структура, как он используется, как он представлен и определил (и некоторые несоответствия, которые возникают), некоторые соглашения и термины, используемые для его описания. Все это — слишком много информации для одной главы; мы не ожидаем, что вы запомните все эти детали, но вы можете вернуться к ним позже, если вам нужно.

В главе 3 показано, как создаются команды и что они делают. Мы представляем команду SQL для извлечения информации из таблиц, которая является наиболее часто используемой командой SQL. К концу главы вы сможете с большой точностью извлекать конкретную информацию из базы данных.

 
Оцените статью