Мартин Грубер - Понимание SQL (Мартин Грубер. Понимание SQL), страница 4
Описание файла
PDF-файл из архива "Мартин Грубер. Понимание SQL", который расположен в категории "". Всё это находится в предмете "информационные технологии в материаловедении" из 9 семестр (1 семестр магистратуры), которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "информационные технологии в материаловедении" в общих файлах.
Просмотр PDF-файла онлайн
Текст 4 страницы из PDF
Вы не могли бы сделать этогоесли бы значения полей имели смешанный тип данных.К сожалению, определение этих типов данных является основной областью, вкоторой большинство коммерческих программ баз данных и официальный стандартSQL не всегда совпадают. ANSI SQL стандарт распознает только текст и тип номера,в то время как большинство коммерческих программ используют другие специальныетипы. Такие как, DATA (ДАТА) и TIME (ВРЕМЯ) — фактически почти стандартные типы(хотя точный формат их меняется). Некоторые пакеты также поддерживают такие типы, как например MONEY (ДЕНЬГИ) и BINARY (ДВОИЧНЫЕ). (MONEY — это специальная система исчисления, используемая компьютерами.
Вся информация вкомпьютере передается двоичными числами и затем преобразовываются в другиесистемы, что бы мы могли легко использовать их и понимать.)ANSI определяет несколько различных типов значений чисел, различия междукоторыми довольно тонки и иногда их путают. Разрешенные ANSI типы данных перечислены в Приложении B.Сложность числовых типов ANSI можно, по крайней мере частично, объяснитьусилием сделать вложенный SQL, совместимым с рядом других языков.Два типа чисел ANSI, INTEGER (ЦЕЛОЕ ЧИСЛО) и DECIMAL (ДЕСЯТИЧНОЕЧИСЛО) (которые можно сокращать как INT и DEC, соответственно), будут адекватныдля наших целей, также как и для целей большинства практических деловых прикладных программ.
Естественно, что тип ЦЕЛОЕ можно представить как ДЕСЯТИЧНОЕЧИСЛО, которое не содержит никаких цифр справа от десятичной точки.Тип для текста — CHAR (или СИМВОЛ), который относится к строке текста. Полетипа CHAR имеет определенную длину, которая определяется максимальным числомсимволов которые могут быть введены в это поле. Больше всего реализаций такжеимеют нестандартный тип называемый VARCHAR (ПЕРЕМЕННОЕ ЧИСЛОСИМВОЛОВ), который является текстовой строкой которая может иметь любую длинудо определенного реализацией максимума (обычно 254 символа).
CHARACTER иVARCHAR значения включаются в одиночные кавычки как "текст". Различие междуCHAR и VARCHAR в том, что CHAR должен резервировать достаточное количествопамяти для максимальной длины строки, а VARCHAR распределяет память так, какэто необходимо.Символьные типы состоят из всех печатных символов, включая числа. Однако,номер 1 не то же что символ "1".
Символ "1" — только другой печатный фрагмент текста, не определяемый системой как наличие числового значения 1. Например 1 + 1 =2, но "1" + "1" не равняется "2". Символьные значения сохраняются в компьютере какдвоичные значения, но показываются пользователю как печатный текст. Преобразо-вание следует за форматом определяемым системой которую вы используете. Этотформат преобразования будет одним из двух стандартных типов (возможно с расширениями), используемых в компьютерных системах: в ASCII коде (используемом вовсех персональных и малых компьютерах) и EBCDIC коде (Расширенном ДвоичноДесятичном Коде Обмена Информации) (используемом в больших компьютерах).Определенные операции, такие как упорядочивание в алфавитном порядке значенийполя, будет изменяться вместе с форматом.
Применение этих двух форматов будетобсуждаться в Главе 4.Мы должны следить за рынком, а не ANSI, в использовании типа называемогоDATE (ДАТОЙ). (В системе, которая не распознает тип ДАТА, вы конечно можете обьявить дату как символьное или числовое поле, но это сделает большинство операцийболее трудоемкими.) Вы должны смотреть свою документацию по пакету программ,которые вы будете использовать, чтобы выяснить точно, какие типы данных она поддерживает.SQL НЕСОГЛАСОВАННОСТИВы можете понять из предшествующего обсуждения, что имеются самостоятельные несогласованности внутри продуктов мира SQL. SQL появился из коммерческого мира баз данных как инструмент, и был позже превращен в стандарт ANSI. Ксожалению, ANSI не всегда определяет наибольшую пользу, поэтому программы пытаются соответствовать стандарту ANSI, не позволяя ему ограничивать их слишкомсильно.
ANSI — вид минимального стандарта — вы можете делать больше, чем онэто позволяет, но вы должны быть способны получить те же самые результаты, что ипри выполнении той же самой задачи.ЧТО ТАКОЕ — ПОЛЬЗОВАТЕЛЬ?SQL обычно находится в компьютерных системах, которые имеют больше, чемодного пользователя, и следовательно должны делать различие между ними (вашесемейство PC может иметь любое число пользователей, но оно обычно не имеет способов, чтобы отличать одного от другого). Обычно, в такой системе каждый пользователь имеет некий вид кода проверки прав, который идентифицирует его или ее(терминология изменяется).
В начале сеанса с компьютером, пользователь входит всистему (регистрируется), сообщая компьютеру кто этот пользователь, идентифицированный с помощью определенного ID (Идентификатора). Любое количество людей, использующих тот же самый ID доступа, являются отдельными пользователями;и аналогично, один человек может представлять большое количество пользователей(в разное время), используя различные доступные Идентификаторы.SQL следует этому примеру. Действия в большинстве сред SQL приведены кспециальному доступному Идентификатору который точно соответствует определенному пользователю. Таблица или другой объект принадлежит пользователю, которыйимеет над ним полную власть.
Пользователь может или не может иметь привилегиичтобы выполнять действие над объектом. Для наших целей, мы договоримся, что любой пользователь имеет привилегии необходимые чтобы выполнять любое действие,пока мы не возвратимся специально к обсуждению привилегий в Главе 22.Специальное значение — USER (ПОЛЬЗОВАТЕЛЬ) может использоваться какаргумент в команде. Оно указывает на доступный Идентификатор пользователя, выдавшего команду.УСЛОВИЯ И ТЕРМИНОЛОГИЯКлючевые слова — это слова, которые имеют специальное значение в SQL. Онимогут быть командами, но не текстом и не именами объектов.
Мы будем выделятьключевые слова печатая их ЗАГЛАВНЫМИ БУКВАМИ. Вы должны соблюдать осторожность чтобы не путать ключевые слова с терминами.SQL имеет определенные специальные термины, которые используются, чтобыописывать его. Среди них — такие слова как запрос, предложение и предикат, которые являются важнейшими в описании и понимании языка, но не означают что-нибудьсамостоятельное для SQL.Команды, или предложения, являются инструкциями, которыми Вы обращаетеськ SQL базе данных. Команды состоят из одной или более отдельных логических частей, называемых предложениями. Предложения начинаются ключевым словом, длякоторого они являются проименованными, и состоят из ключевых слов и аргументов.Например предложения с которыми вы можете сталкиваться — это "FROMSalespeope" и “WHERE city = “London””.
Аргументы завершают или изменяют значение предложения. В примерах выше, Salespeople — аргумент, а FROM — ключевоеслово предложения FROM. Аналогично, “city = “London”” — агрумент предложенияWHERE.Объекты — структуры в базе данных, которым даны имена и сохраняются в памяти. Они включают в себя базовые таблицы, представления (два типа таблиц), и индексы. Чтобы показать Вам, как формируются команды, мы будем делать это напримерах. Имеется, однако, более формальный метод описания команд, использующих стандартизированные условные обозначения. Мы будем использовать его в более поздних главах, для удобства чтобы понимать эти условные обозначения вслучае, если вы столкнетесь с ним в других SQL документах.Квадратные скобки ([ ]) будут указывать части, которые могут неиспользоваться,а многоточия (...) указывать, что все предшествующее им может повторяться любоечисло раз.
Слова, обозначенные в угловых скобках (<>) — специальные термины, которые объясняют что они собой представляют. Мы упростили стандартную терминологию SQL значительно, но без ухудшения его понимания.РЕЗЮМЕМы быстро прошли основы в этой главе. Но нашим намерением и было — просто пролететь над основами SQL, так чтобы вы могли понять идею относительно всего объема.Когда мы возвратимся к основе в следующей главе, некоторые вещи станут более конкретными. Теперь вы знаете кое-что относительно SQL — какова его структура, как он используется, как он представляет данные, и как они определяются (инекоторые несогласованности появляющиеся при этом), и некоторые условные обозначения и термины используемые чтобы описывать их.Все это — много информации для одной главы; мы не ожидаем что бы вы запомнили все эти подробности, но вы сможете вернуться позже к ним если понадобится.По Главе 3, мы будем идти, показывая конкретно, как формируются команды ичто они делают.
Мы представим вам команду SQL используемую чтобы извлекатьинформацию из таблиц, и которая является наиболее широко используемой командойв SQL. К концу этой главы, вы будете способны извлекать конкретную информацию извашей базы данных с высокой степенью точности.РАБОТА С SQL1.2.3.4.Какое наибольшее основное различие между типами данных в SQL?Распознает ANSI тип данных DATA ?Какой подраздел SQL используется чтобы помещать значения в таблицы ?Что такое — ключевое слово?(См. Приложение A для ответов.)3ИСПОЛЬЗОВАНИЕ SQLДЛЯ ИЗВЛЕЧЕНИЯИНФОРМАЦИИ ИЗТАБЛИЦВ ЭТОЙ ГЛАВЕ МЫ ПОКАЖЕМ ВАМ, КАК ИЗВЛЕКАТЬ информацию из таблиц.Вы узнаете как опускать или переупорядочивать столбцы и как автоматически устранять избыточность данных из вашего вывода.