Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД / БД / Базы данных Учебник Окончательный вариант!!!.doc
Скачиваний:
208
Добавлен:
22.05.2015
Размер:
1.77 Mб
Скачать
  • 1999 - Sql-99, sql-3 (iso/iec 9075:1999(e) Information technology - Database languages - sql)

* INCITS/ISO/IEC 9075-1 01-Jan-1999 SQL-Part 1: Framework (SQL/Framework)

* INCITS/ISO/IEC 9075-2 01-Jan-1999 SQL-Part 2: Foundation (SQL/Foundation)

* INCITS/ISO/IEC 9075-3 01-Oct-1999 SQL-Part 3: Call Level Interface (SQL/CLI)

* INCITS/ISO/IEC 9075-4 01-Jan-1999 SQL-Part 4: Persistent Stored Modules (SQL/PSM)

* INCITS/ISO/IEC 9075-5 01-Jan-1999 SQL-Part 5: Host Language Bindings (SQL/Bindings)

    • Framework:

    • DDL (Data Description Language): Time-Series-Data, User defined types (UDT), roles

    • DML (Data Manipulation Language): recursive queries Intermediate Level - CASCADE DELETE Full Level - CASCADE UPDATE

    • Transactions:

    • Cursors:

    • Bindings: Precompilers, embedded and dynamic SQL, OLB (Object Language Bindings) with SQLJ for Java

    • Domain checks and constraints: triggers Full Level - Subquery in CHECK, Assertions, DEFERRED

    • CLI (Callable Level Interface): ODBC, JDBC, OLE DB

    • PSM (Persistent Storage Modules): stored Procedures

    • Mediums: Management of external data

  • 2003 - Sql-2003

    • DDL (Data Description Language): MULTISET, generated attibutes (derived from other attributes), identity attributes (automatic generation of primary keys)

    • DML (Data Manipulation Language): table functions (table generation in functions), TABLESAMPLE, MERGE command

    • SQL/Schemata: information and definition schemas

    • SQL/XML: XML-related Specifications

    • SQL/MED (Mediums): access to external data

4. Виды систем баз данных

Язык SQLимеет отличия в разных СУБД, рассмотрим два вида баз данных:

Коммерческие базы данных:

Oracle

DB2

Informix

Sybase

OpenSource,. т. е. программное обеспечение с открытым исходным кодом

mySQL

PostgreSQL

MaxDB

Firebird

Ingres

SQLite

CQL++

4.1.Oracle

4.1.1 Типы данных

При объявлении переменной или константы вы должны назначить ей тип данных. (PL/SQL за очень небольшими исключениями является языком со строгой типизацией.) PL/SQL предлагает полный набор предопределенных скалярных и составных типов данных, вы также можете создавать собственные пользовательские типы (которые также называют абстрактными типами данных).

Все имеющиеся предопределенные типы данных определены в PL/ SQL-пакете STANDARD. Например, туда включены операторы, определяющие логический тип данных и два числовых типа:

CREATE OR REPLACE PACKAGE STANDARD

IS

type BOOLEAN is (FALSE, TRUE); type NUMBER is NUMBER_BASE; subtype INTEGER is NUMBER(38,);

PL/SQL поддерживает все привычные типы данных и множество других. В разделе будет приведен лишь краткий обзор разнообразных предопределенных типов данных.

4.1.1.1.Символьные типы

PL/SQL поддерживает строки как фиксированной, так и переменной длины, представленные как в традиционных кодировках, так и в кодировках Unicode. CHAR и NCHAR - это типы строк фиксированной длины, а VARCHAR2 и NVARCHAR2 - типы строк переменной длины. Рассмотрим объявление строки переменной длины, которая может вмещать до 2000 символов:

DECLARE

l_accident_description VARCHAR2(2000);

Oracle также поддерживает очень длинные символьные строки - типы LONG и LOB. Эти типы данных позволяют хранить и обрабатывать огромные объемы данных: LOB может содержать до 128 терабайт информации в Oracle Database 10g (используйте тип LONG только для совместимости с уже существующим кодом. Будущее за типами LOB!). К символьным типам данных LOB относятся CLOB (character large object -большой символьный объект) и NCLOB (National Language Support character large object - большой символьный объект с поддержкой национальных языков, многобайтный формат).

Соседние файлы в папке БД