Эта книга предназначена для
тех, кто стремится самостоятельно освоить технологии управления
реляционными базами данных с помощью языка структурированных
запросов (SQL), но не имеет соответствующего опыта. Книга может
оказаться полезной и тем, кто уже имеет определенный опыт работы с
реляционными базами данных, но испытывает потребность в
дополнительной информации по созданию структуры базы данных и
манипулировании ее данными. Эта книга является прежде всего
учебником, содержащим теоретические материалы, примеры и упражнения,
начиная с самого низшего уровня, соответствующего начальному
знакомству с изучаемым предметом. Книга не предназначена для тех,
кто имеет значительный опыт работы с реляционными базами данных и
постоянно использует SQL. Данная книга не является справочным
пособием и не должна рассматриваться как таковое.
Посвящение
Посвящаю эту книгу всей моей семье: моей жене Линде, моей матери Бетти,
моим детям Лесли, Нэнси, Анджеле и Венди, моим внукам Энди, Райану, Холли,
Моргану, Шайлер, Хетэр, Гэвину и Рейгану, а также моим зятьям Джейсону и
Далласу. Благодарю их за терпение во время моей работы над этим проектом.
Я люблю вас всех. -- Рон.
Посвящаю эту книгу моему сыну Даниэлю Томасу Стефенсу и моим
племянникам и племянницам Брэндону, Джейкобу, Марии, Харли, Тиффани и
маленькому Тиму. -- Райан.
Об авторах
Рональд Р. Плю -- вице-президент и главный управляющий по информации
компании Perpetual Technologies в Индианаполисе, штат Индиана. Рон
- сертифицированный специалист по Oracle, в круг его обязанностей входит,
в частности, и обучение работе с базами данных Oracle. Кроме того, он
адъюнкт-профессор университета Индианаполис-Пэдью в Индианаполисе и
университета Индиана в Кокомо, где он читает курсы по SQL и базам данных.
Рон получил степень бакалавра по специальности управление бизнесом и
администрирование в Институте технологий Индианаполиса в Форт Уэйн, штат
Индиана. Рон работает также на Национальную гвардию штата Индиана,
выполняя обязанности программного аналитика ее 433-го отделения по
учету личного состава. Хобби Рона - гольф, шахматы и коллекционирование
всего, относящегося к гонкам Indy 500 в Индианаполисе. Он, вместе со
своими братьями Марком и Денисом, сестрой Арлин и матерью Бетти, является
совладельцем семейного Музея истории гонок Indy 500. Живет Рон в
Индианаполисе вместе со своей женой Линдой. У них четверо детей и восемь
внуков, а в августе 2000 года ожидается и девятый.
Райан Стефенс - президент и главный администратор компании Perpetual
Technologies, консалтинговой фирмы в Индианаполисе, штат Индиана,
являющейся партнером Oracle Corporation. Он уже более 10-ти
лет специализируется на базах данных Oracle и SQL, работая программным
аналитиком и администратором баз данных Oracle. Райан - сертифицированный
специалист по Oracle, а также адъюнкт-профессор университета
Индианаполис-Пэдью в Индианаполисе и университета Индиана в Кокомо, где
читает курсы по изучению PL/SQL, UNIX, а также проектированию и
администрированию баз данных Oracle. Проживает Райан в Индианаполисе
вместе с женой Тиной и их сыном Даниэлем.
Введение
Для кого предназначена эта книга
Добро пожаловать в мир реляционных баз данных и SQL! Эта книга
предназначена для тех, кто стремится самостоятельно постичь азы технологии
использования реляционных баз данных путем изучения языка
структурированных запросов SQL. Создавалась эта книга главным образом для
тех, кто либо имеет незначительный, либо совсем не имеет опыта управления
системами реляционных баз данных с помощью SQL. Эта книга может оказаться
полезной и тем, кто уже имеет опыт работы с реляционными базами данных, но
хочет узнать, как ориентироваться внутри баз данных, создавать структуры
баз данных, манипулировать данными, из которых базы данных состоят, и т.д.
Эта книга не предназначена для тех, кто имеет значительный опыт работы с
реляционными базами данных и постоянно использует SQL.
Какие вопросы рассматриваются в книге
Эта книга создана для тех, кто не имеет опыта использования SQL, а
также для тех, кто, имея опыт работы с реляционными базами данных,
выполнял в мире SQL весьма узкие обязанности. В связи с этим, не следует
забывать, что эта книга является прежде всего учебником, содержащим
теоретический материал, примеры и упражнения, начиная с самого низшего
уровня, соответствующего начальному знакомству с изучаемым предметом. Эта
книга не является справочным пособием и не должна рассматриваться как
таковое.
Что было добавлено в данное издание книги
Это издание сохранило формат и содержание предыдущего. Мы внимательно
просмотрели всю книгу в поиске любой мелочи, способной улучшить изложение.
Были добавлены также новые понятия и команды, вошедшие в новый стандарт
SQL, получивший название SQL3, чтобы книга оставалась современной, более
полной и способной удовлетворить запросы сегодняшних пользователей SQL.
Что вам необходимо знать
Вы можете спросить: "Что нужно, чтобы эта книга оказалась мне
полезной?" Теоретически вы должны иметь возможность взять эту книгу,
изучить материал очередного урока, разобрать примеры и либо записать
ответы к упражнениям, либо выполнить соответствующие запросы к серверу
реляционной базы данных. Вы имеете возможность самостоятельно выбрать
систему реляционных баз данных, подходящую для выполнения упражнений
книги. Вид реляционной базы данных, к которой вы имеете доступ, не так уж
важен, поскольку SQL является языком, стандартным для всех реляционных баз
данных. Среди систем, подходящих для использования в качестве примеров,
можно назвать базы данных Oracle, Sybase, Informix, Microsoft SQL Server,
Microsoft Access и dBase.
ANSI SQL и его реализации
Есть одна причина, по которой написание книг по стандартному SQL
оказывается трудным делом. Хотя и существует ANSI-стандарт SQL, каждый из
производителей баз данных имеет свою собственную реализацию SQL. А в
каждой реализации можно обнаружить отклонения от истинного стандарта,
усовершенствования по сравнению со стандартом и даже отсутствие некоторых
предусмотренных стандартом элементов.
Здесь можно предвидеть вопрос: "Если существует ANSI-стандарт SQL, что
же мешает заняться изучением именно этого стандарта?" Ответ на этот вопрос
можно начать с замечания о том, что ANSI SQL является ни чем иным, как
только стандартом. ANSI SQL на самом деле языком не является. Чтобы
научиться использовать SQL, нужны примеры и упражнения, что предполагает
рассмотрение как минимум одной реализации SQL. И поскольку каждый из
производителей предлагает свою реализацию и свои спецификации языка SQL,
имеющиеся вариации, если их не учесть в изложении книги, могут породить
определенную путаницу относительно синтаксиса некоторых команд SQL.
Поэтому, стараясь оставаться как можно ближе к стандарту ANSI и обсуждая
главным образом именно стандарт ANSI, нужно приводить примеры для тех
реализаций, синтаксис команд которых оказывается как можно ближе к
стандарту, предписываемому ANSI, или в точности совпадает с ним.
Кроме того, мы предлагаем и примеры различий, которые наблюдаются в
вариациях языка, с замечаниями и советами по поводу того, на что следует
обратить внимание. Просто не забывайте, что различные реализации немного
отличаются одна от другой. Главное, чтобы вы разобрались с лежащими в их
основе понятиями SQL и главными командами. Ведь хотя небольшие различия в
действительности есть, SQL остается в своей основе одинаковым для всех
платформ и сравнительно легко переносимым от одной базы данных к другой.
О примерах и упражнениях
Для большинства примеров данной книги мы предпочли использовать Oracle,
но здесь представлены также примеры из Sybase, Microsoft SQL Server и
dBase. Oracle использовался чаще всего по многим причинам, в частности,
из-за близкого соответствия Oracle стандарту ANSI, а также из-за того, что
именно Oracle является сегодня наиболее популярным продуктом для
управления реляционными базами данных.
Как уже упоминалось, синтаксис некоторых команд в различных реализациях
SQL отличается. Так, для некоторых из приведенных в книге примеров, чтобы
иметь возможность выполнить их на компьютере, вам придется внести
небольшие модификации в текст программного кода, чтобы привести синтаксис
используемых операторов в полное соответствие с требованиями той
реализации SQL, которую вы используете. Мы старались приводить примеры,
которые укладываются в рамки стандарта, однако, мы специально приводим и
примеры, которые не соответствуют стандарту. В своей основе все команды
одинаковы. Для изучения SQL следует начать с практических примеров для
конкретной реализации языка. У вас не должно возникнуть больших трудностей
с воссозданием базы данных и примеров данной книги. А возможные
коррективы, которые понадобятся вам для приведения примеров в соответствие
с требованиями вашей конкретной реализации языка, должны помочь в
понимании синтаксиса и особенностей вашей реализации.
На Web-странице издательства Sams по адресу www.samspublishing.com
вы найдете все примеры использующегося на страницах книги программного
кода, а также программный код, необходимый для создания образцов таблиц и
ввода данных в таблицы, о которых идет речь в книге (Приложения В и Г).