Введение

В настоящее время информационные системы, применяющие базы данных, представляют собой одну из важнейших областей совре­менных компьютерных технологий. С этой сферой связана большая часть современного рынка программных продуктов. Среди общих тен­денций в развитии таких систем выделяются процессы интеграции и стандартизации, затрагивающие структуры данных и способы их об­работки и интерпретации, системное и прикладное программное обес­печение, средства взаимодействия компонентов баз данных и многое другое. Современные системы управления базами данных (СУБД) ос­нованы на реляционной модели представления данных — в большой степени благодаря простоте и четкости ее концептуальных понятий и строгого математического обоснования.

Неотъемлемая и важнейшая часть любой системы, применяющей базы данных, — языковые средства, обеспечивающие возможность доступа и действий над данными, определения их структур, способов использования и интерпретации. Язык SQL появился в 1970-е годы как одно из таких средств. Его прототип был разработан фирмой IBM и известен под названием SEQUEL (Structured English Query Language). SQL вобрал в себя достоинства реляционной модели, в частности дос­тоинства лежащего в ее основе математического аппарата реляционной алгебры и реляционного исчисления, используя при этом сравнитель­но небольшое число операторов и относительно простой синтаксис.

Благодаря своим качествам язык SQL стал — вначале «де-факто», а затем и официально утвержденным в качестве стандарта — языком работы с реляционными базами данных. Этот стандарт поддерживает­ся всеми ведущими мировыми фирмами, действующими в сфере техно­логий баз данных. Использование выразительного и эффективного стандартного языка позволило обеспечить высокую степень независи­мости разрабатываемых прикладных программных систем от конкретного типа используемой СУБД, существенно поднять уровень и унифика­цию инструментальных средств разработки приложений, работающих с реляционными базами данных.

Говоря о стандарте языка SQL, следует заметить, что большинство его коммерческих реализаций имеют некоторые, большие или меньшие, отличия от стандарта. Это, конечно, ухудшает совместимость систем, использующих различные «диалекты» SQL Но, с другой стороны, по­лезные расширения реализаций языка обеспечивают его развитие и со временем включаются в новые редакции стандарта. Учитывая место.занимаемое SQL в современных информационных технологиях, его знание необходимо любому специалисту, работающему в этой области.

Данное пособие в первую очередь предназначено преподавателям и студентам и ориентировано на обучение основам применения языка SQL по учебным курсам, связанным с изучением информационных систем, базирующихся на базах данных. В настоящее время такие кур­сы входят в учебные планы ряда университетских специальностей. С этой целью в пособии большое внимание уделялось подбору материа­ла для примеров, а также задач и упражнений, необходимых для полу­чения практических навыков составления SQL-запросов к базе данных. При этом в определениях и примерах приоритет отдавался простоте и доходчивости материала, возможно, с некоторым ущербом строгости его изложения. По этой же причине в пособие не вошли особенности языка, требующие более глубоких знаний о функционировании совре­менных СУБД и информационных систем, изучение и использование которых имеет смысл только при условии получения навыков практиче­ского использования базовых конструкций языка. При изложении мате­риала авторы по возможности старались, кроме специально оговорен­ных случаев, не отступать от стандарта языка SQL.

В приложении 1 пособия содержатся ответы на большинство приве­денных в нем упражнений. Примеры и задачи упражнений протести­рованы с использованием СУБД Oracle и отечественной СУБД ЛИНТЕР. ЛИНТЕР представляет собой полномасштабный кросс-платформен­ный SQL-сервер, соответствующий основным мировым стандартам, предъявляемым к системам такого класса. Для некоммерческого ис­пользования учебным заведениям он предоставляется бесплатно. Бо­лее подробную информацию о системе можно получить на сайте ком­пании РЕЛЭКС по адресу www.relex.ru.

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

Авторы надеются, что пособие окажется полезным не только преподавателям и студентам, но и другим читателям, заинтересован­ным в получении начальных практических навыков использования языка SQL.