Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ 6.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
117.5 Кб
Скачать

Практическое занятие №6 построение запросов к субд

(6 часов)

  1. ЦЕЛЬ РАБОТЫ:

    1. Получить навыки построения запросов к СУБД.

  2. СОДЕРЖАНИЕ РАБОТЫ:

    1. Ознакомьтесь с теоретическим материалом;

    2. Выполните задания из пункта 4;

    3. Ответьте на контрольные вопросы.

  3. ПЕРЕЧЕНЬ ОБОРУДОВАНИЯ И ПО:

    1. Персональный компьютер с установленной программой Delphi 7

    2. Принтер.

  4. ВЫПОЛНЕНИЕ:

    1. Ознакомиться с краткими теоретическими сведениями.

    2. Построить простые запросы к СУБД.

    3. Построить сложные запросы к СУБД.

  5. МЕТОДИЧЕСКИЕ УКАЗАНИЯ:

Все современные клиент-серверные СУБД имеют одну общую черту - работа с ними строится на языке SQL - Structured Query Language (структурированный язык запросов). Кроме того, чтобы не лишать разработчиков БД на Delphi возможности работать при помощи SQL с обычными файловыми СУБД типа dBase и Paradox, BDE предоставляет возможность прозрачного использования SQL и для них, используя свои внутренние механизмы.

Стандарт языка SQL определяется ANSI (Американским национальным институтом стандартов). Вместе с тем, каждый производитель СУБД считает своим долгом дополнить язык собственными расширениями которые, как они считают, будут весьма полезны. Иногда они несколько нарушают стандарт языка, хотя хорошие идеи имеют тенденцию развиваться и вскоре становиться стандартами де-факто сами по себе в силу полезности своих качеств. Здесь мы будем рассматривать SQL на основе наиболее полно поддерживаемых всеми СУБД вариантами ANSI-89 и ANSI-92.

Язык SQL предназначен для манипулирования данными в реляционных базах данных, определения структуры баз данных и для управления правами доступа к данным в многопользовательской среде. По этой причине язык SQL состоит из 3 составных частей:

  • Языка манипулирования данными (Data Manipulation Language, DML);

  • Языка определения данных (Data Definition Language, DDL);

  • Языка управления данными (Data Control Language, DCL).

Все эти языки являются составной частью языка SQL. Фактически, каждый из них содержит набор команд SQL, предназначенных для своей области. В процессе работы с БД, пожалуй, чаще всего используется язык манипулирования данными, состоящий из 4 основных команд - SELECT, INSERT, UPADTE и DELETE, при помощи которых производится, соответственно, выборка, вставка, обновление и удаление данных.

Язык определения данных служит для создания и изменения структуры БД - таблиц, индексов и т.д. Он состоит из 3 групп команд - CREATE, ALTER и DROP (создание, изменение и удаление, соответственно), каждая из которых может манипулировать с одним из 6 объектов - базой данных, таблицей, виртуальной таблицей, индексом, триггером или хранимой процедурой. Таким образом, например, для команды CREATE мы получаем следующие 6 вариантов:

  • CREATE DATABASE - создать базу данных;

  • CREATE TABLE - создать таблицу;

  • CREATE VIEW - создать виртуальную таблицу;

  • CREATE INDEX - создать индекс;

  • CREATE TRIGGER - создать триггер;

  • CREATE PROCEDURE - создать хранимую процедуру.

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

ПРИМЕЧАНИЕ

На самом деле, для современных клиент-серверных СУБД существует ряд дополнительных команд SQL, позволяющих, например, определять собственные функции для обработки данных (CREATE FUNCTION), создавать резервные копии таблиц, преобразовывать типы таблиц и т.д. Далеко не все они входят в состав стандарта языка SQL, поэтому информацию по ним следует брать из поставляемой вместе с конкретной СУБД документации.

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