Организация баз данных

Методическое пособие - Педагогика

Другие методички по предмету Педагогика

троки постоянной длины, которые справа дополняются пробелами.

  • Денежные величины. Во многих СУБД поддерживается тип данных MONEY или CURRENCY, который обычно хранится в виде десятичного числа или числа с плавающей запятой. Наличие отдельного типа данных для представления денежных величин позволяет правильно форматировать их при выводе на экран.
  • Дата и время. Поддержка значений даты/времени также широко распространена в различных СУБД, хотя способы ее реализации довольно сильно отличаются друг от друга. Как правило, над значениями этого типа данных можно выполнять различные операции. В стандарт SQL2 входит определение типов данных DATE, TIME, TIMESTAMP и INTERVAL, включая поддержку часовых поясов и возможность указания точности, представления времени (например, десятые или сотые доли секунды).
  • Булевы данные. Некоторые СУБД явным образом поддерживают логические значения (TRUE или FALSE).
  •  

    1. Константы

    В стандарте ANSI/ISO определен формат числовых и строковых констант, или литералов, которые представляют конкретные значения данных. Этот формат используется в большинстве реализации SQL.

    Числовые константы. Целые и десятичные константы (известные также под названием точных числовых литералов) в операторах SQL представляются в виде обычных. десятичных чисел с необязательным знаком плюс (+) или минус (-) перед ними:

    21-3752000,00+497500,8778

    Константы с плавающей запятой (известные также под названием приблизительных числовых литералов) определяются с помощью символа Е и имеют такой же формат, как и в большинстве языков программирования. Ниже приведены примеры констант с плавающей запятой:

    1.5Е3-3.14159Е12.5Е-70.783926Е21

    Символ Е читается как "умножить на десять в степени", так что первая константа представляет число "1,5 умножить на десять в степени 3", или 1500.

    Строковые константы. В соответствии со стандартом ANSI/ISO, строковые константы в SQL должны быть заключены в одинарные кавычки, как показано в следующих примерах:

    Jones, John J.New YorkWestern

    Если необходимо включить в строковую константу одинарную кавычку, вместо нее следует написать две одинарные кавычки.

    Константы даты и времени. В реляционных СУБД календарные даты, время и интервалы времени представляются в виде строковых констант. Форматы этих констант в различных СУБД отличаются друг от друга. Кроме того, способы записи времени и даты изменяются в зависимости от страны.

    Символьные константы. Кроме пользовательских констант, в SQL существуют специальные символьные константы, возвращающие значения, хранимые в самой СУБД.

    В стандарт SQL2 вошли наиболее полезные символьные константы из различных реализации SQL, в частности константы CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, а также USER, SESSION_USER и SYSTEM_USER (обратите внимание на знак подчеркивания!).

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

    SELECT CITY, TARGET, SALES, (SALES/TARGET) * 100

    FROM OFFICES

    В соответствии со стандартом ANSI/ISO, в выражениях можно использовать четыре арифметические операции: сложение (X+Y), вычитание (XY), умножение (X*Y) и деление (X/Y). Для формирования сложных выражений можно использовать скобки.

    Отсутствующие данные (значения NULL). Поскольку база данных представляет собой модель реального мира, отдельные элементы данных в ней неминуемо будут отсутствовать или подходить не для всех сущностей. Для указания на такие данные используеB?ся специальная константа NULL.

     

    1. Встроенные функции

    В стандарт SQL2 вошли наиболее полезные функции из различных реализации SQL. Эти функции перечислены в таблце.

    табл. 9.2 Встроенные функции SQL.

     

    ФункцияВозвращаетсяВIT LENGTH(строка)количество битов в строкеСАSТ(значение
    AS тип данных)значение, преобразованное тип данных (например, дата преобразованная в строку)CHAR_LENGTH(строка)длина строки символовCONVERT(строка USING функция)строка, преобразованная в соответствии с указанной функциейCURRENT_DATEтекущая датаCURRENT_TIME(точность)текущее время с указанной точностьюCURRENT_IMESTAMP (точность)текущие дата и время с указанной точностьюEXTRACT(часть FROM значение)указанная часть (DAY, HOUR и т.д.) из значения типа DATETIMELOWER(строка)строка, преобразованная к нижнему региструOCTETLENGTH(строка)число байтов в строке символовPOSITION(первая строка
    IN вторая строка)позиция, с которой начинается вхождение первой строки во вторую строкуSUBSTRING(строка FROM
    n FOR длина)часть строки, начинающаяся с n-го символа и имеющая указанную длинуTRANSLATE(строка USING функция)строка, преобразованная с помощью указанной функцииTRIM(BOTH символ
    FROM строка)строка, в которой удалены первые и последние указанные символыTRIM(LEADING символ
    FROM строка)строка, в которой удалены первые указанные символыTRIM(TRAILING символ
    FROM строка)строка, в которой удалены последние указанные символыUPPER(строка)строка, преобразованная к верхнему регистру

    1. Запросы на чтение данных. Оператор SELECT

     

    Оператор SELECT применяется для построения выборок данных и имеет следующий синтаксис:

     

    SELECT [ALL | DISTINCT] возвращаемый_столбец, … | *

    FROM спецификатор_таблицы, …

    WHERE условие_поиска

    GROUP BY имя_столбца, …

    HAVING условие_поиска

    ORDER BY спецификатор_сортировки, …

     

    1. Предложение SELECT

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