Мартин Грубер - Понимание SQL (Мартин Грубер. Понимание SQL), страница 3
Описание файла
PDF-файл из архива "Мартин Грубер. Понимание SQL", который расположен в категории "". Всё это находится в предмете "информационные технологии в материаловедении" из 9 семестр (1 семестр магистратуры), которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "информационные технологии в материаловедении" в общих файлах.
Просмотр PDF-файла онлайн
Текст 3 страницы из PDF
Давайте рассмотрим эти три таблицы и значения их полей.Здесь показаны столбцы Таблицы 1.1ПОЛЕsnumsnamecitycommСОДЕРЖАНИЕуникальный номер, назначенный каждому продавцу ("номер служащего")имя продавцарасположение продавца (город)комиссионные продавцов в десятичной формеТаблица 1.2 содержит следующие столбцы:ПОЛЕcnumcnamecityratingsnumСОДЕРЖАНИЕУникальный номер назначенный каждому заказчикуИмя заказчикаРасположение заказчика (город)Код, указывающий уровень предпочтения данного заказчика перед другими. Более высокий номер указывают на большее предпочтение (рейтинг).Номер продавца, назначенного этому заказчику (из таблицы Продавцов)И имеются столбцы в Таблице 1.3:ПОЛЕonumamtodatecnumsnumСОДЕРЖАНИЕуникальный номер данный каждому приобретениюзначение суммы приобретенийдата приобретенияномер заказчика делающего приобретение (из таблицы Заказчиков)номер продавца продающего приобретение (из таблицы Продавцов)РЕЗЮМЕТеперь вы знаете что такое реляционная база данных, понятие, которое звучитсложнее чем есть на самом деле.
Вы также изучили некоторые фундаментальныепринципы относительно того, как сделаны таблицы — как работают строки и столбцы,как первичные ключи отличают строки друга друга, и как столбцы могут ссылаться кзначениям в других столбцах. Вы поняли что запись это синоним строки, и что полеэто синоним столбца. Оба термина встречаются в обсуждении SQL, и мы будем использовать их в равной степени в этой книге.Вы теперь знакомы с таблицами примеров. Краткие и простые, они способны показать большинство особенностей языка, как вы это увидите В некоторых случаях, мыбудем использовать другие таблицы или постулаты некоторых различных данных водной из этих таблиц чтобы показать вам некоторые другие возможности.Теперь вы готовы к углублению в SQL самостоятельно. Следующая глава даствам быстрый просмотр языка, и даст вам информацию, которая поможет Вам ссылаться к уже пройденным местам.РАБОТА С SQL1.2.3.4.Какое поле таблицы Заказчиков является первичным ключом?Что является столбцом 4 из таблицы Заказчиков?Как по другому называется строка? Столбец?Почему вы не можете запрашивать для просмотра первые пять строк таблицы?(См.
Приложение A для ответов.)2SQL: ОБЗОРЭТА ГЛАВА ПОЗАКОМИТ ВАС СО СТРУКТУРОЙ SQL языка, а также с определенными общими выводами, такими как тип данных, которые эти поля могут содержать, и некоторые области неоднозначностей, которые существуют в SQL. Онапредназначена обеспечить связь с более конкретной информацией в последующихглавах. Вы не должны запоминать каждую подробность, упомянутую в этой главе.Краткий обзор представлен здесь в одной удобно размещеной области, многие подробности которой вы можете иметь чтобы в последствии ссылаться к ним по мере овладения языком. Мы поместили все это в начало книги чтобы ориентировать вас намир SQL без упрощенного подхода к его проблемам и в то же время дать вам привычные в будущем места для ссылки к ним когда у Вас появятся вопросы. Этот материал может стать более понятным когда мы перейдем к описанию конкретных командSQL, начинающихся с Главы 3.КАК РАБОТАЕТ SQL?SQL — это язык, ориентированный специально на реляционные базы данных.Он устраняет много работы, которую вы должны были бы сделать если бы вы использовали универсальный язык программирования, напрмер C.
Чтобы сформировать реляционную базу данных на C, вам необходимо было бы начать с самого начала. Выдолжны были бы определить объект, называемый таблицей, которая могла бы расти, чтобы иметь любое число строк, а затем создавать постепенно процедуры для помещения значений в нее и извлечения из них. Если бы вы захотели найти некоторыеопределенные строки, вам необходимо было бы выполнить по шагам процедуру, подобную следующей :1. Рассмотрите строку таблицы.2. Выполните проверку — является ли эта строка одной из строк, которые вамнужны.3. Если это так, сохраните ее где-нибудь, пока вся таблица не будет проверена.4. Проверьте, имеются ли другие строки в таблице.5.
Если имеются, возвратитесь на шаг 1.6. Если строк больше нет, вывести все значения, сохраненные в шаге 3.(Конечно, это не фактический набор C команд, а только логика шагов, которыедолжны были бы быть включены в реальную программу.)SQL сэкономит вам все это. Команды в SQL могут работать со всеми группамитаблиц как с единым объектом и могут обрабатывать любое количество информации,извлеченной или полученной из их, в виде единого модуля.ЧТО ДЕЛАЕТ ANSI ?Как мы уже рассказывали в Введении, стандарт SQL определяется с помощьюкода ANSI (Американский Национальный Институт Стандартов). SQL не изобретался ANSI.
Это по существу изобретение IBM. Но другие компании подхватили SQLсразу же, по крайней мере одна компания (Oracle) отбила у IBM право на рыночнуюпродажу SQL продуктов.После того, как появился ряд конкурирующих программ SQL на рынке, ANSI определил стандарт, к которому они должны быть приведены (определение таких стандартов и является функцией ANSI). Однако после этого появились некоторыепроблемы. Возникли они в результате стандартизации ANSI ввиде некоторых ограничений.
Так как не всегда ANSI определяет то, что является наиболее полезным, топрограммы пытаются соответствовать стандарту ANSI, не позволяя ему ограничиватьих слишком сильно. Это, в свою очередь, ведет к случайным несогласованностям.Программы Баз Данных обычно дают ANSI SQL дополнительные особенности и частоослабляют многие ограничения из большинства из них. Следовательно, общие разновидности ANSI будут также рассмотрены. Хотя мы очевидно не сможем объять каждое исключение или разновидность, удачные идеи имеют тенденцию к внедрению ииспользованию в различных программах даже когда они не определены стандартомANSI. ANSI — это вид минимального стандарта и вы можете делать больше чем онпозволяет, хотя и должны выполнять его указания при выполнении задач которые онопределяет.ИНТЕРАКТИВНЫЙ И ВЛОЖЕННЫЙ SQLИмеются два SQL: Интерактивный и Вложенный.
Большей частью, обе формыработают одинаково, но используются различно.Интерактивный SQL используется для функционирования непосредственно вбазе данных, чтобы производить вывод для использования его заказчиком. В этойформе SQL, когда вы введете команду, она сейчас же выполнится и вы сможете увидеть вывод (если он вообще получится) — немедленно.Вложенный SQL состоит из команд SQL, помещенных внутри программ, которые обычно написаны на некотором другом языке (типа КОБОЛА или Паскаля). Этоделает эти программы более мощными и эффективным.
Однако, допуская эти языки,приходится иметь дело с структурой SQL и стилем управления данных который требует некоторых расширений к интерактивному SQL. Передача SQL команд во вложенный SQL является выдаваемой ("passed off") для переменных или параметровиспользуемых программой в которую они были вложены.В этой книге, мы будем представлять SQL в интерактивной форме.
Это даст намвозможность обсуждать команды и их эффекты, не заботясь о том, как они связаны спомощью интерфейса с другими языками. Интерактивный SQL — это форма наиболее полезная непрограммистам. Все что вы узнаете относительно интерактивногоSQL, в основном применимо и к вложенной форме. Изменения, необходимые для использования вложенной формы, будут использованы в последней главе этой книги.СУБПОДРАЗДЕЛЕНИЯ SQLИ в интерактивной, и во вложенной формах SQL, имеются многочисленные части, или субподразделения. Так как вы вероятно столкнетесь с этой терминологией причтении SQL, мы дадим некоторые пояснения.
К сожалению, эти термины не используются повсеместно во всех реализациях. Они подчеркиваются ANSI и полезны наконцептуальном уровне, но большинство SQL программ практически не обрабатываютих отдельно, так что они по существу становятся функциональными категориями команд SQL.DDL (Язык Определения Данных) — так называемый Язык Описания Схемы вANSI, состоит из команд, которые создают объекты (таблицы, индексы, просмотры, итак далее) в базе данных.DML (Язык Манипулирования Данными) — это набор команд, которые определяют, какие значения представлены в таблицах в любой момент времени.DCD (Язык Управления Данными) состоит из средств, которые определяют, разрешить ли пользователю выполнять определенные действия или нет.Они являются составными частями DDL в ANSI.
Не забывайте эти имена. Это неразличные языки, а разделы команд SQL сгруппированных по их функциям.РАЗЛИЧНЫЕ ТИПЫ ДАННЫХНе все типы значений, которые могут занимать поля таблицы — логически одинаковые. Наиболее очевидное различие — между числами и текстом. Вы не можетепомещать числа в алфавитном порядке или вычитать одно имя из другого. Так каксистемы с реляционной базой данных базируются на связях между фрагментами информации, различные типы данных должны понятно отличаться друга от друга, такчтобы соответствующие процессы и сравнения могли быть в них выполнены.В SQL это делается с помощью назначения каждому полю типа данных, которыйуказывает на тип, значения которое это поле может содержать.
Все значения в данном поле должны иметь одинаковый тип. В таблице Заказчиков, например, cname иcity — содержат строки текста для оценки, snum, и cnum — это уже номера. По этойпричине, вы не можете ввести значение Highest (Наивысший) или значение None (Никакой) в поле rating, которое имеет числовой тип данных. Это ограничение удачно, таккак оно налагает некоторую структурность на ваши данные. Вы часто будете сравнивать некоторые или все значения в данном поле, поэтому вы можете выполнять действие только на определенных строках а не на всех.