Как сделать таблицу в oracle


class DarkRaha extends com {
            String a="Главная",  b="Контакты" ,  c="О сайте"
};

Для создания простой таблицы используется команда CREATE TABLE. Ниже приведен пример для Oracle, для других тип number надо заменить на integer или double.

CREATE TABLE tblname ( id number, num number, -- число -- фиксированная строка fstr char(45), -- строка с переменным размером, но не больше 45 str varchar(45), birth date -- дата );

значения полей по умолчанию

После типа столбца можно задать дополнительные свойства столбца как значение по умолчанию и указать, возможно ли значение null. Для одних БД порядок принципиален (Oracle) для других нет (MySQL).

CREATE TABLE tblname ( id number, num number DEFAULT 3.14 NOT NULL, fstr char(45), str varchar(45), birth date );

ключи и ограничения

Обычно после перечисления столбцов в определении таблицы указывают дополнительные ограничения, например, ключи. Естественно, таблица, на которую ссылается внешний ключ должна существовать, а тип внешнего ключа должен совпадать с типом столбца на который ссылается. Например, для MySQL, если столбец внешнего ключа был определен как fk_key1 INTEGER, а первичный ключ таблицы tb как id INTEGER UNSIGNED, то таблица просто не будет создана. В некоторых базах ограничения можно задавать как свойство столбца, но на мой взгляд слишком длинно получается.

-- правильно для большинства реализаций SQL CREATE TABLE tblname ( id integer, fstr char(45), str varchar(45), -- в MySQL precision можно опустить num double precision, birth date, fk_key1 integer, -- столбец id используем в качестве первичного ключа CONSTRAINT pk_tblname PRIMARY KEY (id), -- уникальный ключ, т.е. значения в столбце fstr -- будут уникальны CONSTRAINT uk_tblname1 UNIQUE (fstr), -- ограничение на значение CONSTRAINT tblname_numcheck CHECK (num<100.34), -- внешний ключ, в скобка столбец нашей таблицы -- tb таблица, id столбец на которые ссылается -- внешний ключ CONSTRAINT fk_tblname FOREIGN KEY (fk_key1) REFERENCES tb(id) ); -- именовать ограничения не обязательно -- в этом случае СУБД сгенерирует имена сама CREATE TABLE tblname ( id integer, fstr char(45), str varchar(45), num double, birth date, fk_key1 integer, PRIMARY KEY (id), UNIQUE (fstr), CHECK (num<100.34), FOREIGN KEY (fk_key1) REFERENCES tb(id) );

настройка внешнего ключа

Что произойдет, если послана команда на удаление записи в родительской таблице на которую ссылается внешний ключ? По умолчанию СУБД не позволит удалить такую запись и выведет сообщение об ошибке. Однако есть еще как минимум два возможных варианта, которые задаются при определении внешнего ключа. Первый, это установить значение внешнего ключа в null, естественно при определении столбца не должно быть указано NOT NULL. А второй вариант, удалить все записи в дочерней таблице, которые ссылаются на удаляемую запись в родительской таблице. Такое удаление называется каскадным.

-- определение ключа, с установкой в null -- при удалении записи на которую происходит ссылка FOREIGN KEY (fk_key1) REFERENCES tb(id) ON DELETE SET NULL -- определение ключа с каскадным удалением FOREIGN KEY (fk_key1) REFERENCES tb(id) ON DELETE CASCADE

создание по выборке

Существует еще один способ создания таблицы - по выбранным данным. В этом случае новая таблица имеет не только те же столбцы, что и столбцы выборки, но и те же данные. Таким образом, легко сохранить большой объем данных в отдельной таблице.

-- сохраняем данные tblname в tblname1 create table tblname1 as select from tblname

дополнительные параметры таблицы

В зависимости от СУБД после закрывающей скобки могут идти дополнительные опции, например управление табличным пространством. Если они не указаны, то используются значения по умолчанию.

-- пример для Oracle CREATE TABLE tblname ( ... ) PCTFREE 10 PCTUSED 40 TABLESPACE users STORAGE (INITIAL 50K NEXT 50K MAXEXTENTS 10 PCTINCREASE 25 ); -- пример для MySQL CREATE TABLE tblname ( ... ) ENGINE = InnoDB;
Рейтинг@Mail.ru


Автор страницы Верма Рахул.


Источник: http://darkraha.com/rus/sql/sql08.php


Рекомендуем посмотреть ещё:


Закрыть ... [X]

Афоризмы про грабли Дизайн свадебного маникюра на короткие ногти фото


Как сделать таблицу в oracle

Геометрик своими руками - Развивающие игрушки и поделки для



Как сделать таблицу в oracle

Дизайн спальни 2016 - более 150 новых фото



Как сделать таблицу в oracle

Имплантация зубов отзывы, виды и цены 2017, противопоказания, форум



Как сделать таблицу в oracle

Интересные выкройки сумок своими руками, вся необходимая



Как сделать таблицу в oracle

Как посчитать расход на НАРАЩИВАНИЕ РЕСНИЦ



Как сделать таблицу в oracle

Как сделать педикюр пошаговая инструкция фото



Как сделать таблицу в oracle

Как сделать цветы из атласных лент своими руками - Фото



Как сделать таблицу в oracle

Красивые прически для девочек и взрослых! Детские ВКонтакте



Как сделать таблицу в oracle

Маленькие подарки на Новый год 2018 Лучшие идеи, недорогие



Как сделать таблицу в oracle

Массажисты спа салона






.