Мартин Грубер - Понимание SQL (Мартин Грубер. Понимание SQL)
Описание файла
PDF-файл из архива "Мартин Грубер. Понимание SQL", который расположен в категории "". Всё это находится в предмете "информационные технологии в материаловедении" из 9 семестр (1 семестр магистратуры), которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "информационные технологии в материаловедении" в общих файлах.
Просмотр PDF-файла онлайн
Текст из PDF
МАРТИН ГРУБЕРПониманиеSQLПереводЛебедева В.Н.Под редакциейБулычева В.Н.МОСКВА, 1993MARTIN GRUBERUnderstandingSQLMOSKOW, 1993Команда SELECTSELECT * | { [ DISTINCT | ALL] <value expression>.,..}FROM { <table name> [ <alias> ] }.,..[ WHERE <predicate>][ GROUP BY { <column name> | <integer> }.,..][ HAVING <predicate>][ ORDERBY { <column name> | <integer> }.,..][ { UNION [ALL]SELECT * | { [DISTINCT | ALL] < value expression >.,..}FROM { <table name> [<alias>]} .,..[ WHERE <predicate>[ GROUP BY { <columnname> | <integer> }.,..][ HAVING <predicate>][ ORDER BY { <columnname> | <integer> }.,..] } ] ...;Элементы, используемые в команде SELECTЭЛЕМЕНТОПРЕДЕЛЕНИЕ<value expression> Выражение, которое производит значение.
Оно может включать всебя или содержать <column name>.<table name>Имя или синоним таблицы или представления<alias>Временный синоним для <table name>, определеный в этой таблице и используемый только в этой команде<predicate>Условие, которое может быть верным или неверным для каждойстроки или комбинации строк таблицы в предложении FROM.<column name>Имя столбца в таблице.<integer>Число с десятичной точкой. В этом случае, оно показывает <valueexpression> в предложении SELECT с помощью идентификацииего местоположения в этом предложении.Команды UPDATE, INSERT, DELETEUPDATEUPDATE <tablename>SET { | }.,. .< column name> = <value expresslon> [ WHERE <predlcate>| WHERE CURRENT OF <cursor name> (*только для вложения*) ];INSERTINSERT INTO < table name> [(<column name> .,. ]{ VALUES ( <value expression> .,..
) } | <query>;DELETEDELETE FROM <table name>[ WHERE <predicate>| WHERE CURRENT OF <cursor name>(*только для вложения*) ];Элементы, используемые в командах МОДИФИКАЦИИЭЛЕМЕНТ<cursor name><query>ОПРЕДЕЛЕНИЕИмя курсора используемого в этой программе.Допустимая команда SELECT.Для других элементов смотри команду SELECT.Символы Используемые в Синтаксисе ПредлженияСИМВОЛ|{}[]....,..ОБЪЯСНЕНИЕЛюбой предшествующий знаку (|) символ может быть произвольнозаменен на любой следующий за (|). Это — символический способвысказывания "или" ("or").Все, что включено в фигурные скобки обрабатывается как модульс целью оценки |, .,.. или других символов.Все,включенное в квадратные скобки является необязательнымЛюбое, предшествующее этому, может повторяться любое числораз.Любое, предшествующее этому, и в каждом случае отделенноезапятыми, может повторяться любое число раз.Команда CREATE TABLECREATE TABLE <table name>( { <column name> <data type> | <size>][<colcnstrnt> ...]} .,..
);[<tabconstrnt>] .,.. );Элементы, используемые в команде CREATE TABLEЭЛЕМЕНТ<table name><column name><data type>ОПРЕДЕЛЕНИЕИмя таблицы создаваемой этой командой.Имя столбца таблицы.Тип данных, который может содержаться в столбце. Может бытьлюбым из следующих:INTEGER(ЦЕЛОЕ ЧИСЛО),CHARACTER(СИМВОЛЬНОЕ),DECIMAL(ДЕСЯТИЧНОЕ),NUMERIC(ЧИСЛОВОЕ),SMALLINT(НАИМЕНЬШЕЕ)FLOAT(С ПЛАВАЮЩЕЙ ТОЧКОЙ)REAL(РЕАЛЬНОЕ),DOUBLE PRECISION(УДВОЕННАЯ ТОЧНОСТЬ С ПЛАВАЮЩЕЙ ТОЧКОЙ),LONG *(ДЛИННОЕ *),VARCHAR *(ПЕРЕМЕННОЕ СИМВОЛЬНОЕ *),DATE *(ДАТА *),TIME *(ВРЕМЯ *)(* — указывает на нестандартный для SQL тип данных)<size><colconstrnt>Размер. Его значение зависит от <data type>.Может быть любым из следующих:NOT NULL(НЕ НУЛЕВОЙ),UNIQUE(УНИКАЛЬНЫЙ),PRIMARY KEY(ПЕРВИЧНЫЙ КЛЮЧ),CHECK(<predicate>)(ПРОВЕРКА предиката),DEFAULT = <value expression>(ПО УМОЛЧАНИЮ = значимому выражению)REFERENCES <table name> [(<column name> .,..
)] (ССЫЛКА НА имя таблицы [(имя столбца) ] )<tabconstrnt>Может быть любым из следующих:UNIQUE (УНИКАЛЬНЫЙ),PRIMARY KEY (ПЕРВИЧНЫЙ КЛЮЧ),CHECK (ПРОВЕРКА предиката )FOREIGN KEY(<column name>) (ВНЕШНИЙ КЛЮЧ)REFERENCES <table name> [(<column name> .,.. )] (ССЫЛКА НА имя таблицы [(имя столбца) ].ПРЕДИСЛОВИЕ"ПОНИМАНИЕ SQL" — это полный учебник по программированию на Структурированном Языке Запросов, написанный специально для тех, кто будет использоватьSQL в процессе работы. Даже если это ваш первый опыт с компьютерами или управлением базами данных, книга "ПОНИМАНИЕ SQL" очень быстро научит вас свободноработать с реальной SQL, использованию простых запросов, а также снабдит вас ясными понятиями об автоматизированном управлении базой данных.
Книга даст вамкраткое, удобное в чтении введение в реляционные базы данных. Предоставит вамобучающие программы, чтобы, овладевая командами SQL шаг за шагом, помочь вамузнать, как извлекать и обрабатывать информацию, содержащуюся в таблицах данных, т.е.:* выбирать информацию, с которой вы хотите работать* добавлять, удалять, и модифицировать информацию в таблице данных* использовать и-или, верно/неверно и другие условия для обнуления определенной информации* использовать специальные функции SQL для суммирования ваших данных.Книга покажет Вам, как эффективно работать с многочислеными таблицамиданных, используя улучшеную технику для запроса более чем одной таблицы одновременно, строить комплекс запросов и подзапросов, и использовать представления,чтобы создавать базы данных и работать с базами данных раздельно с многими таблицами.Научит создавать новые таблицы данных для пользовательских деловых прикладных программ.
Вы исследуете принципы эффективного проектирования базыданных, а также техники для обеспечения целостности данных и их защиты.Вы узнаете, как использовать SQL с другими языками в специальной главе SQLдля программистов."ПОНИМАНИЕ SQL" — необходима и пригодна для любой реализации Структурированного Языка Запроса. Книга включает и краткий справочный стандарт SQL ируководство к общим нестандартным особенностям SQL.Об АвтореМартин Грубер — свободный писатель, учитель и консультант из Сан Франциско.В дополнении к написанию и редактированию книг, руководств пользователей и документации, он работает в широком спектре интересов, связаных с компьютерами икомпьютерными базами данных.1ВВЕДЕНИЕ ВРЕЛЯЦИОННУЮ БАЗУДАННЫХВВЕДЕНИЕSQL (ОБЫЧНО ПРОИЗНОСИМАЯ КАК "СЭКВЭЛ") символизирует собой Структурированный Язык Запросов.
Это — язык который дает вам возможность создаватьи работать в реляционных базах данных, которые являются наборами связанной информации, сохраняемой в таблицах.Мир баз данных становится все более и более единым, что привело к необходимости создания стандартного языка, который мог бы использоваться чтобы функционировать в большом количестве различных видов компьютерных сред.
Стандартныйязык позволит пользователям знающим один набор команд, использовать их чтобысоздавать, отыскивать, изменять, и передавать информацию независимо от того работают ли они на персональном компьютере, сетевой рабочей станции, или на универсальной ЭВМ. В нашем все более и более взаимосвязанном компьютерном мире,пользователь снабженый таким языком, имеет огромное преимущество в использовании и обобщении информации из ряда источников с помощью большого количестваспособов.Элегантность и независимость от специфики компьютерных технологий, а такжеего поддержка лидерами промышленности в области технологии реляционных базданных, сделало SQL, и вероятно в течение обозримого будущего оставит его, основным стандартным языком.
По этой причине, любой кто хочет работать с базами данных 90-х годов должен знать SQL.Стандарт SQL определяется ANSI (Американским Национальным ИнститутомСтандартов) и в данное время также принимается ISO (МЕЖДУНАРОДНОЙОРГАНИЗАЦИЕЙ ПО СТАНДАРТИЗАЦИИ). Однако, большинство коммерческих программ баз данных расширяют SQL без уведомления ANSI, добавляя разные другиеособенности в этот язык, которые, как они считают, будут весьма полезны. Иногда онинесколько нарушают стандарт языка, хотя хорошие идеи имеют тенденцию развиваться и вскоре становиться стандартами "рынка" сами по себе в силу полезностисвоих качеств. В этой книге, мы будем, в основном, следовать стандарту ANSI, но одновременно иногда будет показывать и некоторые наиболее общие отклонения от егостандарта. Вы должны проконсультироваться с документацией вашего пакета программ который вы будете использовать, чтобы знать где в нем этот стандарт видоизменен.ПРЕЖДЕ, ЧЕМ ВЫ СМОЖЕТЕ ИСПОЛЬЗОВАТЬ SQL, ВЫ должны понять что такое реляционные базы данных.
В этой главе мы это объясним и покажем, насколькореляционные базы данных полезны. Мы не будем обсуждать SQL именно здесь, и если вы уже знаете эти понятия довольно хорошо, вы можете просто пропустить этуглаву. В любом случае, вы должны рассмотреть три таблицы которые предоставляются и объясняются в конце главы; они станут основой наших примеров в этой книге.Вторая копия этих таблиц находится Приложении E, и мы рекомендуем скопироватьих для удобства ссылки к ним.ЧТО ТАКОЕ — РЕЛЯЦИОННАЯ БАЗА ДАННЫХ?Реляционная база данных — это тело связанной информации, сохраняемой вдвумерных таблицах.