Использование SQL в прикладном программировании

Организация работы с базами данных (БД), их основные виды (автономные, файл-серверные, и пр.) и создание их демонстрации. Организация связи с БД в Delphi. Основы языка SQL: общие сведения, характеристика оператора выбора Select, отбор записей из таблицы.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 26.04.2015
Размер файла 70,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ВОЗДУШНОГО ТРАНСПОРТА

Троицкий авиационный технический колледж - филиал федерального государственного бюджетного образовательного учреждения высшего профессионального образования «Московский государственный технический университет гражданской авиации»

Отделение Программирование в компьютерных системах

курсовая работа

Использование SQL в прикладном программировании

Выполнил курсант 432

учебной группы 4 курса очной формы обучения

Федяев Сергей Николаевич

Специальность «Программирование в компьютерных системах»

Руководитель курсовой работы

Черевкова Ольга Алексеевна

КемеровоТроицк,2015 г.

Содержание

Введение

1. Теоретическая часть

1.1 Основные понятия

1.2 Организация работы с базами данных

1.3 Организация связи с базами данных в Delphi

1.4 Создание демонстрационных баз данных

2. Основы языка SQL

2.1 Общие сведения

2.2 Оператор выбора Select

2.2.1 Отбор записей из таблицы

Список используемой литературы

Введение

SQL (Structured Query Language) -- это структурированный язык запросов к реляционным базам данных. На этом языке можно формулировать выражения (запросы), которые извлекают требуемые данные, модифицируют их, создают таблицы и изменяют их структуры, определяют права доступа к данным и многое другое. база delphi серверный select

Актуальность

SQL может использоваться как интерактивный (для выполнения запросов) и как встроенный (для построения прикладных программ).

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

Задачи:

1. Изучить теоретические аспекты и выявить природу "Язык запросов SQL. Выборка данных";

2. Сказать об актуальности проблемы "Язык запросов SQL. Выборка данных" в современных условиях;

3. Изложить возможности решения тематики "Язык запросов SQL. Выборка данных";

4. Обозначить тенденции развития тематики "Язык запросов SQL. Выборка данных";

Среди разработчиков программных продуктов под Windows в России особой популярностью пользуется среда быстрой разработки приложений Delphi. Эта популярность завоёвана прежде всего её простой ,легкостью в изучении и использовании.

Среда Delphi позволяет разрабатывать как обычные приложения, так и приложения для работы с база данных. Delphi предоставляет программисту широкие возможности создания интерфейса пользователя, а так же большой набор стандартных компонентов, с помощью которых можно создавать приложения достаточно высокого уровня сложности.

Среда Delphi обладает практически всеми возможностями современных систем управления базами данных. Она имеет поддержку встроенного языка структурированных запросов(SQL). С помощью Delphi можно разрабатывать как локальные, так и удалённые базы данных.

1. Теоретическая часть

1.1 Основные понятия

База данных -это прежде всего набор таблиц, хотя, как мы увидим позднее, в базу данных могут входить также процедуры и ряд других объектов.

Таблицу можно представлять себе как обычную двумерную таблицу с характеристиками (атрибутами) какого-то множества объектов. Таблица имеет имя -- идентификатор, по которому на нее можно сослаться.

Столбцы таблицы соответствуют тем или иным характеристикам объектов -- полям. Каждое поле характеризуется именем и типом хранящихся данных. Имя поля -- это идентификатор, который используется в различных программах для манипуляции данными. Это имя записывается латинскими символами. Тип поля характеризует тип хранящихся в поле данных. Это могут быть строки, числа, булевы значения, большие тексты, изображения и т.п.

Каждая строка таблицы соответствует одному из объектов, которые описаны в данной таблице. Она называется записью и содержит значения всех полей, характеризующие данный объект.

При построении таблиц баз данных важно обеспечивать непротиворечивость информации. Обычно это делается введением ключевых полей -- обеспечивающих уникальность каждой записи. Ключевым может быть одно или несколько полей.

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

При работе с таблицей пользователь или программа как бы скользит курсором по записям. В каждый момент времени есть некоторая текущая запись, с которой и ведется работа. Записи в таблице базы данных физически могут располагаться без какого- либо порядка, просто в последовательности их ввода в базу. Но когда данные таблицы предъявляются пользователю, они должны быть упорядочены. Для упорядочивания данных используется понятие индекса. Индекс показывает, в какой последовательности желательно просматривать таблицу. Он является как бы посредником между пользователем и таблицей.

Курсор скользит по индексу, а индекс указывает на ту или иную запись таблицы. Для пользователя таблица выглядит упорядоченной, причем он может сменить индекс и последовательность просматриваемых записей изменится. Но в действительности это не связано с какой-то перестройкой самой таблицы и с физическим перемещением в ней записей. Меняется только индекс, т.е. последовательность ссылок на записи.

Индексы могут быть первичными и вторичными. Например, первичным индексом могут служить поля, отмеченные при создании базы данных как ключевые. А вторичные индексы могут создаваться из других полей как в процессе создания самой базы данных, так и позднее в процессе работы с ней. Вторичным индексам присваиваются имена -- Идентификаторы, по которым их можно использовать. Если индекс включает в себя несколько полей, то упорядочивание базы данных сначала осуществляется по первому полю, а для записей, имеющих одинаковые значения первого поля -- по второму и т.д. Например, базу данных персонала некоторой организации можно индексировать по отделам, а внутри каждого отдела -- по алфавиту.

База данных может содержать много различных таблиц. Прикладные программы (приложения) часто работают не с отдельными таблицами, а с некоторой совокупностью таблиц. В этом случае в приложении устанавливается связь нескольких таблиц друг с другом. Обычно одна из них выступает как главная, а другая или несколько других -- как вспомогательные, управляемые главной. Главная и вспомогательная таблицы связываются друг с другом ключом. В качестве ключа могут выступать какие-то поля, присутствующие в обеих таблицах. Курсор скользит по индексу главной таблицы и каждой записи в главной таблице ключ ставит в соответствие в общем случае множество записей вспомогательной таблицы.

В общем случае база данных помимо таблиц может содержать также другие объекты:

-вложенные таблицы -- в этом случае значению поля одной таблицы соответствует некоторая другая таблица. Такие вложенные таблицы поддерживает, например, Oracle 8

-обзоры или просмотры (View) -- виртуальные таблицы, содержащие некоторые подмножества записей, отобранные по каким-то критериям

-триггеры -- это подпрограммы, автоматически выполняемые до или после изменения записи в таблице

-генераторы, создающие уникальные значения, необходимые для ключевых полей

-хранимые процедуры -- подпрограммы, принимающие какие-то параметры и возвращающие результаты заданной обработки данных

Создают базы данных и обрабатывают запросы к ним системы управления базами данных -- СУБД. Известно множество СУБД, различающихся своими возможностями или обладающих примерно равными возможностями и конкурирующих друг с другом: Paradox, dBase, Microsoft Access, FoxPro, Oracle, InterBase, Sybase и много других.

Разные СУБД по разному организуют и хранят базы данных. Например, Paradox и dBase используют для каждой таблицы отдельный файл. В этом случае база данных -- это каталог, в котором хранятся файлы таблиц. В Microsoft Access и в InterBase несколько таблиц хранится как один файл. В этом случае база данных -- это имя файла с путем доступа к нему. Системы типа клиент/сервер, такие, как серверы Sybase или Microsoft SQL, хранят все данные на отдельном компьютере и общаются с клиентом посредством специального языка, называемого SQL.

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

Фиксация изменений в базе данных осуществляется с помощью транзакций. Это совокупность команд, изменяющих базу данных. На протяжении транзакции пользователь может что-то изменять в данных, но это только видимость. В действительности все изменения сохраняются в памяти. И пользователю предоставляется возможность завершить транзакцию или внесением всех изменения в реальную базу данных, или отказом от этого с возвратом к тому состоянию, которое было до начала транзакции.

Важная функция транзакции _обеспечение целостности данных. Транзакция может включать в себя ряд запросов, циклы и т.п. Если во время какого-то из этих запросов произошел сбой, то не фиксируются результаты всех запросов данной транзакции. Таким образом, исключаются случаи, когда часть базы данных изменена, часть нет и в результате целостность и непротиворечивость данных нарушена.

1.2 Организация работы с базами данных в сети

Для разных задач целесообразно использовать различные модели баз данных, поскольку, конечно, базу данных сведений о сотрудниках какого-то небольшого коллектива и базу данных о каком-нибудь банке, имеющем филиалы во всех концах страны, надо строить по-разному.

Процесс определения того, какая база данных более подходит для конкретного приложения, называется масштабированием. Это сложная задача, которую мы не будем затрагивать. Однако, прежде, чем двигаться дальше, необходимо иметь представление о возможных моделях баз данных, поскольку это влияет на построение приложений в Delphi.

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

Автономные базы данных полезны для развития тех приложений, которые распространены среди многих пользователей, каждый из которых поддерживает отдельную базу данных. Это, например, приложения, обрабатывающие документацию небольшого офиса, кадровый состав небольшого предприятия, бухгалтерские документы небольшой бухгалтерии. Каждый пользователь такого приложения манипулирует своими собственными данными на своем компьютере. Пользователю нет необходимости иметь доступ к данным любого другого пользователя, так что отдельная база данных здесь вполне приемлема.

Файл-серверные базы данных отличаются от автономных тем, что они могут быть доступны многим клиентам через сеть. Это очень удобно, так как изменения в таких базах данных видят все пользователи. Например, базу данных сотрудников крупного учреждения целесообразно делать именно такой, чтобы администраторы отдельных подразделений обращались к ней, а не заводили у себя локальные базы данных (позднее будет показано, как сделать, чтобы сохранялась конфиденциальность информации и чтобы каждый администратор видел только ту информацию, которая относится к его подразделению).

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

Одним из недостатков баз данных файл-сервер является непроизводительная загрузка сети. При каждом запросе клиента данные в его локальной копии полностью обновляются из базы данных на сервере. Даже если запрос относится всего к одной записи, обновляются все записи данных. Если записей в базе данных много, то даже при небольшом числе клиентов сеть будет загружена очень основательно, что серьезно скажется на скорости выполнения запросов.

Другой недостаток связан с тем, что забота о целостности данных при такой организации работы возлагается на программы клиентов. Если они недостаточно тщательно продуманы, в базу данных легко занести ошибки, которые могут отразиться на всех пользователях.

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

Подобная организация работы повышает эффективность выполнения приложений за счет использования мощности сервера, разгружает сеть, обеспечивает хороший контроль целостности данных.

В базах данных клиент/сервер возникает дополнительная проблема -- спроектировать приложение так, чтобы оно максимально использовало возможности сервера и минимально нагружало сеть, передавая через нее только минимум информации.

Реализация платформы клиент/сервер реализуется такими серверами баз данных, как InterBase, Oracle, Informix, Sybase SQL Server, DB2, MS SQL Server.

Многоярусные базы данных -- это новый бурно развивающийся способ обработки данных в сети. Иногда (в частности, в' документации Delphi) этот способ организации баз данных называется multi-tier -- многонитевые. В этом термине под нитью понимается один из множества потоков данных, обменивающихся одновременно с базой данных.

Наиболее распространен трехъярусный вариант: На нижнем уровне на компьютерах пользователя расположены приложения клиентов, обеспечивающие пользовательский интерфейс.

На втором уровне расположен сервер приложений, обеспечивающий обмен данными между пользователями и распределенными базами данных. Сервер приложений размещается в узле сети, доступном всем клиентам

На третьем уровне расположен удаленный сервер баз данных, принимающий информацию от серверов приложений и управляющий ими.

Подобную концепцию обработки данных пропагандируют, в частности, фирмы Oracle и Sun. Первый, элементарный уровень состоит из «тонких клиентов», то есть несложных терминалов, предназначенных, в основном, для ввода -- вывода. Второй, средний (middleware) уровень -- это рабочие станции и серверы приложений, то есть значительно более серьезные машины, на которых выполняются программы, критичные к загрузке процессора. Третий и последний уровень -- мощные специализированные серверы баз данных.

Это наиболее сложная и гибкая организация баз данных. Delphi обеспечивает в основном создание приложений для первых двух уровней этой системы. При этом надо отметить, что на нижнем уровне -- на компьютерах пользователя не требуется установки Borland Database Engine (BDE) -- системы, являющейся в Delphi посредником между приложениями и базами данных. В этом заключается одно из преимуществ многоярусных распределенных баз данных.

1.3 Организация связи с базами данных в Delphi

Основой работы Delphi с базами данных является Borland Database Engine (BDE) -- процессор баз данных фирмы Borland. BDE служит посредником между приложением и базами данных. Он предоставляет пользователю единый интерфейс для работы, развязывающий пользователя от конкретной реализации базы данных. Благодаря этому не надо менять приложение при смене реализации базы данных. Приложение Delphi никогда не обращается непосредственно к базе данных, а только к BDE..

Приложение Delphi, когда ему нужно связаться с базой данных, обращается к BDE и сообщает обычно псевдоним базы данных и необходимую таблицу в ней. BDE реализован в виде динамически присоединяемых библиотек DLL (файлы IDAPI01.DLL, IDAPI32.DLL). Они, как и любые библиотеки, снабжены API (Application Program Interface -- интерфейсом прикладных программ), названным ID API (Integrated Database Application Program Interface). Это список процедур и функций для работы с базами данных, которым и пользуются приложения.

BDE по псевдониму находит подходящий для указанной базы данных драйвер. Драйвер -- это вспомогательная программа, которая понимает, как общаться с базами данных определенного типа.

Рис. 1.1 Схема связи приложения Delphi с базами данных

Если в BDE имеется собственный драйвер соответствующей СУБД, то BDE связывается через него с базой данных и с нужной таблицей в ней, обрабатывает запрос пользователя и возвращает в приложение результаты обработки. BDE поддерживает естественный доступ к таким базам данных, как Microsoft Access, FoxPro, Paradox, dBase.

Если собственного драйвера нужной СУБД в BDE нет, то используется драйвер ODBC. ODBC (Open Database Connectivity) -- это DLL, аналогичная по функциям BDE, но разработанная фирмой Microsoft. Она хранится в файле ODBC.DLL. Поскольку Microsoft включила поддержку ODBC в свои офисные продукты и для ODBC созданы драйверы практически к любым СУБД, фирма Borland включила в BDE драйвер, позволяющий использовать ODBC. Правда, работа через ODBC осуществляется несколько медленнее, чем через собственные драйверы СУБД, включенные в BDE. Но благодаря связи с ODBC масштабируемость Delphi существенно увеличилась и сейчас из Delphi можно работать с любой сколько-нибудь значительной СУБД.

BDE поддерживает SQL -- стандартизованный язык запросов, позволяющий обмениваться данными с SQL-серверами, такими, как Sybase, Microsoft SQL, Oracle, InterBase. Эта возможность используется особенно широко при работе на платформе клиент/сервер.

В Delphi 5 введена другая альтернативная возможность работы с базами данных, минуя BDE. Это разработанная в Microsoft технология ActiveX Data Objects (ADO). ADO -- это пользовательский интерфейс к любым типам данных, включая реляционные и не реляционные базы данных, электронную почту, системные, текстовые и графические файлы. Связь с данными осуществляется посредством так называемой технологии OLE DB.

Использование ADO обеспечивает более эффективную работу с данными. Для использования этой возможности на вашем компьютере должна быть установлена система ADO 2.1 или более старшая версия. Кроме того должна быть установлена клиентская система доступа к данным, например, Microsoft 3QL Server, а в ODBC должен иметься драйвер OLE DB для того т ша баз данных, с которым вы работаете.

Надо сказать, что возможности ADO в Delphi пока в некоторых отношениях ниже, чем возможности BDE. Поэтому в дальнейшем мы в основном сосредоточимся на работе с BDE. А особенности использования ADO будут рассмотрены в разделе 6.1.

Для Delphi 5 введена еще одна возможность прямого общения с базами данных, минуя BDE. Это технология InterBase Express, обеспечивающая прямое общение с базами данных InterBase. Особенности этой технологии будут рассмотрены в разделе 6.2.

1.4 Создание демонстрационных баз данных

Базы данных создаются с помощью программ, входящих в состав той или иной СУБД. Например, базы данных InterBase можно создавать с помощью программы InterBase Interactive SQL, подробно описанной в разделе 5.3, базы данных Microsoft Access создаются с помощью соответствующей программы, входящей в состав Microsoft Office, и т.д. Кроме того в состав BDE, поставляемой вместе с Delphi, входит программа Database Desktop, позволяющая создавать базы данных ряда СУБД. Наконец, третий путь -- создание баз данных непосредственно из приложений Delphi.

Для того, чтобы можно было далее работать с этой книгой, желательно иметь те простые демонстрационные базы данных, которые используются в большинстве приведенных в тексте примеров. В Приложении 1 подробно описано, как создать такую базу InterBase. В Приложении 2 описано, как создать такую базу Paradox. Две похожие базы данных используются потому, что есть определенные нюансы в работе с базами данных, которые проявляются для баз данных одного типа, и не проявляются для баз другого типа. Конечно, вы можете создать аналогичную базу данных в любой другой СУБД, работу с которой освоили.

Демонстрационные базы данных содержат информацию о некоторой организации. Базы содержат по две таблицы. Первая из них имеет имя Pers и содержит список сотрудников. Фрагмент ее приведен в табл. 1.1. Таблица имеет поля с именами Num, Dep, Fam, Nam, Par, Year_b, Sex, Charact, Photo, которые содержат соответственно номер записи, название отдела, фамилию, имя, отчество, год рождения, пол, характеристику сотрудника и его фотографию.

Таблица 1.1. Фрагмент таблицы данных о сотрудниках Pers

Номер

Отдел

Фамилия

Имя

Отчество

Год рождения

Пол

Характе-ристика

j

Фотография

Num

Dep

Fam

Nam

Par

Year_b

Sex

Charact

Photo

Бухгалтерия

Иванов

Иван

Иванович

1950

м

...

...

Цех 1

Петров

Петр

Петрович

1960

M

...

...

Цех 2

Сидоров

Сидор

Сидорович

1955

M

...

...

Цех 1

Иванова

Ирина

Ивановна

1961

ж

* * *

-

...

¦ * *

» * *

...

» * *

I

В базе данных InterBase кроме указанных полей имеется еще вычисляемое поле Age -- возраст. Его значение определяется выражением 200 -- Year_b.

Вторая таблица названа Dep и имеет два поля: Dep -- название подразделения, Proisv -- тип подразделения («у» -- управление, «п» -- производство). Она приведена в табл 1.2.

Таблица 1.2. Таблица данных о подразделениях Dep

Отдел

Тип

Dep

Proisv

Бухгалтерия

У

Цех 1

п

Цех 2

п

В базе данных Inerbase поля Sex и Proisv этих таблиц символьные. В базе данных Paradox эти поля булевы.

База данных Inerbase, которую вы можете создать с помощью Приложения 1, содержит еще некоторые элементы, но о них будет рассказано в дальнейшем.

В многопользовательском режиме, характерном для работы в сети, при создании базы данных указывается имя пользователя и его пароль. В базе данных, созданной с помощью Приложения 1, указан пользователь *А» (латинская буква) и пароль «1». Следует отметить, что вообще в качестве пароля удобно использовать цифровые коды. Это освобождает пользователя от необходимости следить за тем, в каком регистре и на каком языке (русском или английском) вводится пароль.

Чтобы получить в дальнейшем доступ к созданной вами же базе данных, надо зарегистрировать себя как пользователя. Это делается с помощью программы InterBase Server Manager. В разделе 5.2 описана работа с этой программой, а в Приложении 1 конспективно изложены операции, необходимые для регистрации пользователя созданной демонстрационной базы данных.

После того, как базы данных созданы, желательно создать их псевдонимы (см. раздел 1.1). В Delphi имеется три инструмента, позволяющие создавать и изменять псевдонимы: Database Desktop, BDE Administrator и Database Explorer. В Приложении 1 показано, как можно создать псевдоним с помощью Database Desktop, а в Приложении 2 показано выполнение аналогичных операций с помощью BDE Administrator. Работа с Database Explorer рассмотрена в книге «Работа в Delphi 5 с локальными базами данных» и здесь мы не будем это повторять. Изложенного в Приложениях 1 и 2 достаточно, чтобы создать псевдонимы ваших баз данных. В дальнейшем будем предполагать, что псевдоним нашей демонстрационной базы InterBase -- ib, а базы данных Paradox -- dbP.

2. Основы языка SQL

2.1 Общие сведения

Delphi позволяет приложению при помощи запросов SQL использовать данные:

-Таблиц PARADOX и dBase -- используется синтаксис локального SQL

- Локального сервера InterBase -- полностью поддерживается соответствующий синтаксис

-Удаленных серверов SQL через драйверы SQL Links

Общие правила синтаксиса SQL очень просты. Язык SQL не чувствителен к регистру, так что, например, рассмотренный ниже оператор Select можно писать и SELECT, и Select, и select. Если используется программа из нескольких операторов SQL, то в конце каждого оператора ставится точка с запятой Впрочем, если вы используете всего один оператор, то точка с запятой в конце не обязательна. Комментарий может писаться в стиле Си: /*<комментарий>*/, а в некоторых системах и в стиле Pascal: {<комментарий>}. Вот, собственно, и все правила.

В примерах последующих разделов этой главы и на протяжении всей книги будет в основном использоваться база данных InterBase, описанная в разделе 1.5 и содержащая сведения о сотрудниках некоторой организации. Несложные опреции по созданию этой базы данных описаны в Приложении 1. База данных имеет псевдоним ib и зарегистрирована на пользователя «А» с паролем «1». В некоторых случаях будет использоваться аналогичная база данных Paradox с псевдонимом dbP.

2.2 Оператор выбора Select

2.2.1 Отбор записей из таблицы

В этом разделе мы познакомимся с наиболее часто используемым оператором SQL -- оператором выбора Select. Этот оператор возвращает одно или множество значений, которые могут представлять собой значения указанных полей записей, удовлетворяющих заданному условию и упорядоченных по заданному критерию.

Хотя мы еще не рассматривали компонент Delphi Query, предназначенный для работы с SQL, но при знакомстве с оператором Select полезно сразу пробовать записывать его в различных вариантах и с помощью компонента Query смотреть получающиеся результаты.

Поэтому откройте новое приложение Delphi, перенесите на форму компонент Query со страницы библиотеки Data Access и установите его свойство DatabaseName равным ib (или равным dbP при использовании базы данных Paradox). Поместите на форму компонент DataSource и в его свойстве DataSet задайте Query 1. Поместите также на форму компонент DBGrid и в его свойстве DataSource задайте DataSourcel.

Теперь ваше тестовое приложение для экспериментов с языком SQL готово. Операторы SQL вы можете писать в свойстве SQL компонента Query 1, а чтобы увидеть результаты выполнения написанного оператора, вам надо будет устанавливать значение свойства Active компонента Queryl в true. Это надо будет делать после записи каждого нового оператора.

Теперь начнем рассмотрение оператора Select. Одна из форм этого оператора имеет синтаксис:

SELECT <список имен полей> FROM <таблица>

WHERE <условие отбора> ORDER BY <список имен полей>;

Элементы оператора WHERE и ORDER BY не являются обязательными. Элемент WHERE определяет условие отбора записей: отбираются только те, в которых условие выполняется. Элемент ORDER BY определяет упорядочивание возвращаемых записей.

<таблица> -- это та таблица базы данных, из которой осуществляется отбор, например, Pers.

Начнем подробное рассмотрение данного оператора со списка полей после ключевого слова Select, содержащего имена тех полей таблицы, которые будут возвращены. Имена разделяются запятыми. Например, оператор

SELECT Fam, Nam, Par, Year_b FROM Pers указывает, что следует вернуть поля Fam, Nam, Par и Year_b из таблицы Pers. Запишите его в свойстве SQL компонента Queryl, установите значение свойства Active компонента Queryl в true и посмотрите результаты.

Если указать вместо списка полей символ «*» -- это будет означать, что требуется вернуть все поля. Например, оператор

SELECT * FROM Pers означает выбор всех полей.

В списке могут быть не только сами поля, но и любые выражения от них с арифметическими операциями +, --, *, /. После выражения может записываться псевдоним выражения в форме: AS <псевдоним>. В качестве псевдонима может фигурировать любой идентификатор, на который потом можно будет при необходимости ссылаться. Указанный псевдоним будет при отображении результатов фигурировать в заголовке таблицы. Приведем пример использования выражения: SELECT Fam, Nam, (2000-Year_b) AS Age FROM Pers

Этот оператор создает поле Age, вычисляемое по формате (2000-YearJb).

При работе с некоторыми типами баз данных вы можете написать псевдоним по-русски. Например, если бы вы работали с базой данных dbP (база данных Paradox), то вы могли бы изменить предыдущий оператор следующим образом:

SELECT Fam AS Фамилия, Nam AS Имя,

(2000-Year_b) AS Возраст FROM Pers

В этом случае вы увидели бы, что в заголовках таблицы появились осмысленные русские заголовки:

Фамилия

Имя

Возраст

Иванов

Иван

Петров

Петр

1-

* * *

...

При работе с базами данных InterBase использование русских псевдонимов невозможно. Впрочем, позднее, при рассмотрении компонента Query вы увидите, что эффекта получения русских заголовков можно добиться и другими способами, не вводя русских обозначений в оператор Select.

В выражениях для полей могут использоваться строковые константы и операция «||», означающая сцепление строк. Например, оператор

SELECT "Отдел: " | I Dep, "Фамилия: " I I Fam FROM Pers будет выдавать строки вида:

Отдел: Бухгалтерия Фамилия: Иванов

Если желательно в подобном виде выдавать значения полей, содержащих не символы, а, например, числа, то можно воспользоваться функцией Cast, приводящей поле к указанному в ней типу. Например, в операторе

SELECT "Отдел: " II Dep, "Фамилия: " || Fam,

"г.р.: " II Cast(Year_b AS CHAR(4)) FROM Pers функция Cast преобразует значение числового поля Yearjb в строку из четырех символов. Результат будет выдаваться строками вида:

Отдел: Бухгалтерия Фамилия: Иванов г.р.: 1950

Теперь рассмотрим форму представления условия отбора, задаваемого после ключевого слова WHERE. Это условие определяет критерий, по которому отбираются записи. Оператор Select отбирает только те записи, в которых заданное условие истинно. Условие может включать имена полей (кроме вычисляемых полей), константы, логические выражения, содержащие арифметические операции, логические операции and, or, not и операции отношения:

Список используемой литературы

http://www.zadachi.org.ru/?n=87295

http://citforum.ru/database/osbd/glava_64.shtml

Кузнецов С.Д. Информационно-аналитические материалы

http://www.intuit.ru/studies/courses/5/5/lecture/156?page=1

http://www.DelphiPlus.org

Размещено на Allbest.ru

...

Подобные документы

  • Изучение особенностей языка структурированных запросов при использовании его в прикладном программировании. Сравнение реализации связи между SQL и языками программирования высокого уровня. Проектирование базы данных и системы управления базами данных.

    курсовая работа [1,5 M], добавлен 25.01.2016

  • Общие сведения о системах управления базами данных MS Access. Использование языка QBE для создания запросов на выборку данных. Параметрические и перекрестные запросы. Запросы с автоподстановкой, на выборку дубликатов и записей, не имеющих соответствия.

    курсовая работа [32,8 K], добавлен 03.06.2015

  • Работа с базами данных в оперативной памяти. Описание файлового домена. Операции чтения-записи в файл. Переадресация ввода-вывода. Особенности работы с базами данных, хранящими данные в файлах на диске. Общие правила работы с файлами на внешних носителях.

    учебное пособие [49,3 K], добавлен 27.04.2013

  • Современные информационные системы, их цели и структура. Основные функции баз данных. Иерархические, сетевые, реляционные, централизованные и распределенные модели баз данных. Понятие системы управления БД. Файл-серверные и клиент-серверные СУБД.

    контрольная работа [21,0 K], добавлен 10.02.2011

  • Составление таблицы согласно образцу в программе MS Excel. Создание данных таблицы базы данных. Введение формул в программе MS Excel. Установление связи между таблицами. Создание запроса на выборку данных из одной таблицы с помощью мастер запросов.

    контрольная работа [4,0 M], добавлен 17.04.2016

  • Предпосылки появления и история эволюции баз данных (БД и СУБД). Основные типы развития систем управления базами данных. Особенности и черты Access. Создание и ввод данных в ячейки таблицы. Сортировка и фильтрация. Запрос на выборку, основные связи.

    презентация [1,2 M], добавлен 01.12.2015

  • Исследование основных операторов языка SQL. Изучение отличий операций произведения и соединения отношения. Выбор из базы данных запрошенной информацию и передача ее пользователю для работы. Список выборки оператора Select. Логическое выражение в опции.

    презентация [48,2 K], добавлен 07.12.2013

  • Структура таблицы и типы данных. Ввод данных в ячейки таблицы. Создание запросов на выборку, удаление, обновление и добавление записей, на создание таблицы. Основное различие между отчетами и формами, их назначение. Создание отчетов для базы данных.

    курсовая работа [1,9 M], добавлен 17.06.2014

  • Создание визуального построителя запросов на извлечение данных с помощью оператора SELECT и его разделов. Постановка задачи; язык запросов SQL, общие сведения; агрегатные функции и результаты запросов. Программная реализация и алгоритм работы приложения.

    курсовая работа [152,8 K], добавлен 12.08.2011

  • Базы данных и системы управления базами данных. Физическое размещение и сортировка записей. Основные виды баз данных. Создание базы данных "Домашняя библиотека" в приложении Microsoft Access. Создание в базе данных запросов и скорость выбора информации.

    курсовая работа [3,2 M], добавлен 07.05.2013

  • Сведения о языке Delphi. Основы разработки баз данных. Разработка конвертера таблицы Excel, интерфейса главной формы, модуля отображения, системы поиска информации, средств редактирования. Системные требования программы. Инструкция по эксплуатации.

    курсовая работа [2,6 M], добавлен 29.12.2008

  • Классификации баз данных и СУБД. Технология модели "клиент-сервер". Особенности языка структурированных запросов SQL. Структура и назначение операторов определения, манипулирования и управления данными. Разработка реляционной БД, создание SQL запросов.

    курсовая работа [1,4 M], добавлен 17.08.2015

  • Теоретические основы применения технологии ADO в среде Delphi. Основные понятия и определения теории баз данных. Компоненты Delphi для создания приложений, оперирующих с базами данных. Общий вид и основные особенности работы приложения "Аптека".

    курсовая работа [1,4 M], добавлен 09.08.2012

  • Проектирование и создание базы данных в СУБД Access для автоматизации работы магазина компьютерной техники. Режимы работы с базами данных, таблицы как основные объекты базы. Источники записей для форм, отчетов и страниц доступа, хранение структуры базы.

    курсовая работа [249,8 K], добавлен 14.09.2011

  • Организация файлов и доступ к ним. Файловые операции. Программирование с использованием встроенных функций ввода-вывода; линейных, разветвляющихся и циклических вычислительных процессов с использованием If-else, оператора выбора Case; массивов и матриц.

    курсовая работа [5,8 M], добавлен 24.05.2014

  • Теоретические сведения и основные понятия баз данных. Системы управления базами данных: состав, структура, безопасность, режимы работы, объекты. Работа с базами данных в OpenOffice.Org BASE: создание таблиц, связей, запросов с помощью мастера запросов.

    курсовая работа [3,2 M], добавлен 28.04.2011

  • Автоматизация сбора и обработки данных. Основы, таблицы и средства для работы с базами данных. Инструментальные средства и компоненты. Технология создания приложения. Работа с псевдонимами и со связанными таблицами. Система управления базами данных.

    методичка [1,5 M], добавлен 06.07.2009

  • Характеристика и основные особенности языка Pascal. Создание числового массива с использованием встроенной функции. Использование записей, массивов и файлов. Обработка и графическая визуализация данных средствами табличного процессора и пакета MathCAD.

    курсовая работа [1,0 M], добавлен 22.08.2012

  • Основные сведения об SQL Server. Логическая структура реляционной базы данных. Создание базы данных Server. Обработка элементов оператора SELECT. Структура таблиц inserted и deleted. Ввод данных в таблицу "Клиенты". Краткая справка по языку запросов SQL.

    курсовая работа [2,9 M], добавлен 11.05.2012

  • Разновидности систем управления базами данных. Анализ предметной области. Разработка структуры и ведение базы данных. Структурированный язык запросов SQL. Организация выбора информации из базы данных. Общие принципы проектирования экранных форм, макросов.

    курсовая работа [3,1 M], добавлен 26.02.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.