русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Ограничения (CONSTRAINTS).


Дата добавления: 2014-03-24; просмотров: 1025; Нарушение авторских прав


Синонимы (SYNONYM);

Последовательности (SEQUENCE);

Индексы (INDEX);

Представления (VIEW);

Таблицы (TABLE);

Августа 2013 г.


1.Объекты базы данных и системный каталог

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

Для создания, изменения и удаления (эти действия так же обобщено называются управлением объектами) объектов базы данных, называемых далее сокращенно объектами, используются соответственно тройки команд CREATE, ALTER и DROP языка SQL; например CREATE TABLE, ALTER INDEX, DROP VIEW. Эти команды языка SQL получили историческое название команды языка определения данных (Data Definition Language). Для некоторых объектов схемы существуют так же команды CREATE OR REPLACE, с помощью которых можно предварительно удалить существующий одноименный объект и создать новый с тем же именем.

В языке SQL Oracle существуют так же команды типа ALTER SYSTEM, ALTER SESSION, используемые для управления системой.

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

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



2. Создание таблиц. Общие сведения

 

Для создания таблицы используется команда CREATE TABLE. Эта команда является одной из наиболее сложных по количеству вариантов использования и существующих опций; в данном пособии приводятся наиболее распространенные.

При создании таблицы указывается:

· имя таблицы и схема, в которой таблица создается (опционально);

· определения полей таблицы;

· определения ограничений;

· дополнительные опции, например, описывающие физическое размещение таблицы, и т.д.

Определение поля таблицы включает:

· имя поля, которое должно быть уникальным в данной таблице и соответствовать общим правилам;

· тип значения поля;

· значение по умолчанию (опционально);

· список ограничений, накладываемых на это поле.

 

3. Типы значений

 

 

Используемые в системе Oracle типы значений можно разделить на типы собственно этой системы, и типы, используемые для совместимости со стандартами ANSI (American National Standards Institute) языка SQL. Документация по Oracle традиционно рекомендует избегать использования типов ANSI, однако их использование может быть полезным при разработке переносимых на другие системы приложения. Кроме того, ANSI-типы являются более распространенными. Впрочем, эти рекомендации не являются принципиальными, и далее обе категории типов рассматриваются равноправно.

Все типы можно разделить на числовые, символьные (строковые), типы для представления значений дат и времени, и специальные типы. Ниже в Таблице 1 приведены наиболее распространенные типы с примерами использования этих типов.

 

Таблица 1. Типы значений Oracle

Численные типы
NUMBER число в формате целого и вещественного с указанием общей длины значения в количестве значащих символов всего числа и дробной части NUMBER NUMBER(10) NUMBER(10,2)   длина до 22 байт
FLOAT число в формате вещественного с указанием общей длины значения в количестве значащих символов FLOAT FLOAT(10)   длина до 22 байт
BINARY_FLOAT вещественное число длиной 32 разряда BINARY_FLOAT длина 4 байта (5)
BINARY_DOUBLE вещественное число длиной 64 разряда BINARY_DOUBLE длина 8 байт (9)
INTEGER INT SMALLINT ANSY-типы для хранения целочисленных значений (хранятся как значения NUMBER) длина 22 байта
REAL DECIMAL ANSY-типы для хранения вещественных значений (хранятся как значения FLOAT)  
Символьные
CHAR CHARACTER символьные данные фиксированной длины CHAR CHAR(20)
NCHAR NCHARACTER символьные данные фиксированной длины с использованием символом национальных алфавитов  
VARCHAR2 VARCHAR символьные данные произвольной длины  
NVARCHAR2 символьные данные произвольной длины с использованием символом национальных алфавитов  
Типы для представления значений дат и времени
DATE значение даты  
TIMESTAMP значение даты и времени  
Специальные типы
BLOB бинарные данные очень большого размера  
CLOB NCLOB текстовые данные очень большого размера  
ROWID представляет адрес записи таблицы  
     

 

 

Тип NUMBER(p,s)является основным типом для представления чисел. Необязательные значения p и s означают соответственно количество знаков всего и после десятичной запятой. Например, тип NUMBER(10,3) может использоваться для хранения вещественных чисел с семью знаками перед запятой и тремя после. Для хранения целых чисел можно использовать описание NUMBER(10, 0), в этом случае при присваивании полю вещественного значения дробная часть будет отбрасываться.

Для хранения вещественных чисел можно использовать тип FLOAT(p), который эквивалентен типу NUMBER(p).

Типы INTEGER, INT, SMALLINT, REAL, DECIMAL, используемые для совместимости со стандартами ANSI, представляются типом NUMBER; длина реально хранимого поля может существенно отличаться от ожидаемой. Например, длина поля типа SMALLINT будет иметь не 2 байта, как это бывает в языках программирования типа C/C++ или в системе Microsoft SQLServer, а 22 байта.

Тип CHAR предназначен для хранения последовательности символов, представленных однобайтовыми символами. Количество символов не должно превышать 2000; если количество символов опущено, длина по умолчанию – один символ. Тип NCHAR предназначен для хранения символов, использующих двухбайтовое представление. Длина NCHAR-поля не может превышать 2000 байт, что достаточно для хранения 1000 символов.

Следует иметь в виду, что все значения конкретного поля типа CHAR имеют фиксированную длину, одинаковую для всех строк таблицы вне зависимости от реальной длины хранимых строк. Для хранения строк переменой длины рекомендуется использовать типы VARCHAR2 (VARCHAR) и NVARCHAR2. Значения этих типов действительно представляются в базе данных в виде строк переменной длины. Максимальная длина строк – до 4000 байт.

“Длинные ” типы BLOB (Binary Long Object), CLOB (Character Large Object) и NCLOB используются для хранения в БД данных очень большого объема. Тип BLOB предназначен для хранения двоичной информации (например, растровых изображений), типы CLOB и NCLOB – длинного текста. Значения этих типов нельзя сохранять и извлекать из базы данных напрямую при помощи команд SQL, а так же использовать в выражениях, в частности, в операции сравнении, но можно удалять и проверять при помощи предиката IS NULL.

Наконец, рассмотрим тип ROWID, который предназначен для представления логического адреса записей таблиц. Это поле автоматически создается для каждой таблицы, и ее можно использовать в запросах, например:

4. Значение по умолчанию

 

 

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

Поле, для которого определено значение по умолчанию, может быть в команде INSERT инициализировано любым другим значением.

5. Изменение определения таблицы

 

Для изменения определения таблицы предназначена команда ALTER TABLE. С ее помощью можно выполнить следующие основные действия:

· изменение имени таблицы;

· изменение имени существующего поля;

· добавление нового поля;

· удаление существующего поля;

· изменение типа существующего поля;

· изменение выражение для виртуального поля;

· создание нового ограничения;

· удаление существующего ограничения;

· изменение имени существующего ограничения;

· отключение и включение действия ограничений;

· изменение физических параметров размещения таблицы и т.д.

Работа с командой ALTER TABLE обладает рядом особенностей. Прежде всего, следует иметь в виду, что эти команды могут исполняться после того как таблицы создана и заполнена данными (собственно, для этой цели эта команда и предназначена). Поэтому изменение структуры существующей таблицы влияет на данные в строках. Попытки выполнения команд ALTER TABLE могут привести, прежде всего, к полной или частичной потере существующих данных, а с другой стороны – к невозможности выполнить эти изменения по различным причинам ввиду наличия данных.

 

6. Удаление таблиц

 

Для удаления SQL-таблиц используется команда DROP TABLE.

 

При удалении таблицы происходят следующие действия:



<== предыдущая лекция | следующая лекция ==>
Типы данных в языке SQL-ORACLE. | Типы данных в языке SQL-ORACLE.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.012 сек.