Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД_Теория(17 ответ).doc
Скачиваний:
10
Добавлен:
21.09.2019
Размер:
509.95 Кб
Скачать

Описание select

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

В самой простой форме, команда SELECT просто инструктирует базу данных, чтобы извлечь информацию из таблицы. Например

SELECT * FROM Tovar

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

Имеется объяснение каждой части этой команды:

SELECT

Ключевое слово, которое сообщает базе данных, что эта команда — запрос. Все запросы начинаются этим словом, сопровождаемым пробелом.

*

Это — список столбцов из таблицы которые выбираются запросом. Любые столбцы не перечисленные здесь не будут включены в вывод команды. Это, конечно, не значит, что они будут удалены или их информация будет стерта из таблиц, потому что запрос не воздействует на информацию в таблицах, он только показывает данные.

FROM Tovar

Ключевое слово, подобно SELECT, которое должно быть представлено в каждом запросе. Оно сопровождается пробелом и затем именем таблицы используемой в качестве источника информации. В данном случае — это таблица Tovar.

Вопрос №17

Основные характеристики языка SQL. Описание запросов на языке SQL.

Основу языка SQL составляют операторы, условно разбитые не несколько групп по выполняемым функциям.

Можно выделить следующие группы операторов (перечислены не все операторы SQL):

Операторы DDL (Data Definition Language) - операторы определения объектов базы данных

  • CREATE SCHEMA - создать схему базы данных

  • DROP SCHEMA - удалить схему базы данных

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

  • ALTER TABLE - изменить таблицу

  • DROP TABLE - удалить таблицу

  • CREATE DOMAIN - создать домен

  • ALTER DOMAIN - изменить домен

  • DROP DOMAIN - удалить домен

  • CREATE COLLATION - создать последовательность

  • DROP COLLATION - удалить последовательность

  • CREATE VIEW - создать представление

  • DROP VIEW - удалить представление

Операторы DML (Data Manipulation Language) - операторы манипулирования данными

  • SELECT - отобрать строки из таблиц

  • INSERT - добавить строки в таблицу

  • UPDATE - изменить строки в таблице

  • DELETE - удалить строки в таблице

  • COMMIT - зафиксировать внесенные изменения

  • ROLLBACK - откатить внесенные изменения

Операторы DCD Операторы защиты и управления данными

  • CREATE ASSERTION - создать ограничение

  • DROP ASSERTION - удалить ограничение

  • GRANT - предоставить привилегии пользователю или приложению на манипулирование объектами

  • REVOKE - отменить привилегии пользователя или приложения

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

Наиболее важными для пользователя являются операторы манипулирования данными

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

INTEGER (ЦЕЛОЕ ЧИСЛО),

CHARACTER (СИМВОЛЬНОЕ),

DECIMAL (ДЕСЯТИЧНОЕ),

NUMERIC (ЧИСЛОВОЕ),

SMALLINT (НАИМЕНЬШЕЕ)

FLOAT (С ПЛАВАЮЩЕЙ ТОЧКОЙ)

REAL (РЕАЛЬНОЕ),

DOUBLE PRECISION (УДВОЕННАЯ ТОЧНОСТЬ С ПЛАВАЮЩЕЙ ТОЧКОЙ),

LONG * (ДЛИННОЕ *),

VARCHAR * (ПЕРЕМЕННОЕ СИМВОЛЬНОЕ *),

DATE * (ДАТА *),

TIME * (ВРЕМЯ *)

(* — указывает на нестандартный для SQL тип данных

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

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

К сожалению, определение типов данных является основной областью, в которой большинство коммерческих программ баз данных и официальный стандарт SQL не всегда совпадают. ANSI SQL стандарт распознает только текст и тип номера, в то время как большинство коммерческих программ используют другие специальные типы. Такие как, DATA (ДАТА) и TIME (ВРЕМЯ) — фактически почти стандартные типы (хотя точный формат их меняется). Некоторые пакеты также поддерживают такие типы, как например MONEY (ДЕНЬГИ) и BINARY (ДВОИЧНЫЕ). (MONEY — это специальная система исчисления, используемая компьютерами. Вся информация в компьютере передается двоичными числами и затем преобразовываются в другие системы, что бы мы могли легко использовать их и понимать.)

Тип для текста — CHAR (или СИМВОЛ), который относится к строке текста. Поле типа CHAR имеет определенную длину, которая определяется максимальным числом символов которые могут быть введены в это поле. Больше всего реализаций также имеют нестандартный тип называемый VARCHAR (ПЕРЕМЕННОЕ ЧИСЛО СИМВОЛОВ), который является текстовой строкой которая может иметь любую длину до определенного реализацией максимума (обычно 254 символа). CHARACTER и VARCHAR значения включаются в одиночные кавычки как "текст". Различие между CHAR и VARCHAR в том, что CHAR должен резервировать достаточное количество памяти для максимальной длины строки, а VARCHAR распределяет память так, как это необходимо.

Символьные типы состоят из всех печатных символов, включая числа. Однако, номер 1 не то же что символ "1". Символ "1" — только другой печатный фрагмент текста, не определяемый системой как наличие числового значения 1. Например 1 + 1 = 2, но "1" + "1" не равняется "2". Символьные значения сохраняются в компьютере как двоичные значения, но показываются пользователю как печатный текст. Преобразование следует за форматом определяемым системой которую вы используете. Этот формат преобразования будет одним из двух стандартных типов (возможно с расширениями), используемых в компьютерных системах: в ASCII коде (используемом во всех персональных и малых компьютерах) и EBCDIC коде (Расширенном Двоично-Десятичном Коде Обмена Информации) (используемом в больших компьютерах). Определенные операции, такие как упорядочивание в алфавитном порядке значений поля, будет изменяться вместе с форматом.

Мы должны следить за рынком, а не ANSI, в использовании типа называемого DATE (ДАТОЙ). (В системе, которая не распознает тип ДАТА, вы конечно можете обьявить дату как символьное или числовое поле, но это сделает большинство операций более трудоемкими.) Вы должны смотреть свою документацию по пакету программ, которые вы будете использовать, чтобы выяснить точно, какие типы данных она поддерживает.

Запрос не меняет информацию в таблицах, а просто показывает ее пользователю.

Все запросы в SQL состоят из одиночной команды. Структура этой команды обманчиво проста, потому что вы должны расширять ее так, чтобы выполнить высоко сложные оценки и обработки данных. Эта команда называется — SELECT (ВЫБОР).

SELECT * | { [ DISTINCT | ALL] <value expression>.,..} FROM { <table name> [ <alias> ] }.,.. [ WHERE <predicate>] [ GROUP BY { <column name> | <integer> }.,..] [ HAVING <predicate>] [ ORDERBY { <column name> | <integer> }.,..] Элементы, используемые в команде SELECT

ЭЛЕМЕНТ ОПРЕДЕЛЕНИЕ

<value expression> Выражение, которое производит значение. Оно может включать в себя или содержать <column name>.

<table name> Имя или синоним таблицы или представления

<alias> Временный синоним для <table name>, определеный в этой таблице и используемый только в этой команде

<predicate> Условие, которое может быть верным или неверным для каждой строки или комбинации строк таблицы в предложении FROM.

<column name> Имя столбца в таблице.

<integer> Число с десятичной точкой. В этом случае, оно показывает <value expression> в предложении SELECT с помощью идентификации его местоположения в этом предложении.