Oracle SQL. 100 шагов от новичка до профессионала. 20 дней новых знаний и практики. Максим Михайлович Чалышев
Чтение книги онлайн.
Читать онлайн книгу Oracle SQL. 100 шагов от новичка до профессионала. 20 дней новых знаний и практики - Максим Михайлович Чалышев страница 12
CREATE TABLE TABLE_NAME (
column1 DATAtype NULL/NOT NULL,
…
CONSTRAINT fk_column
FOREIGN KEY (column1, column2, … column_n)
REFERENCES parent_TABLE (column1, column2, … column_n));
Добавление вторичного ключа с помощью конструкции ALTER TABLE:
ALTER TABLE TABLE_NAME
ADD CONSTRAINT constraINt_NAME
FOREIGN KEY (column1, column2, … column_n)
REFERENCES parent_TABLE (column1, column2, … column_n);
Важные замечания
Первичный ключ может состоять из одной или нескольких колонок.
Пример:
ALTER TABLE TABLE_NAME ADD CONSTRAINT constraINt_NAME PRIMARY KEY (column1);
или же
ALTER TABLE TABLE_NAME ADD CONSTRAINT constraINt_NAME PRIMARY KEY (column1, columnN);
Вопросы учеников
Обязательно ли обозначать внешний ключ? Почему это не будет работать просто так?
Будет работать, но для поддержания ссылочной целостности необходимо использование конструкций SQL для первичных и вторичных ключей.
Контрольные вопросы и задания для самостоятельного выполнения
1. Повторите материалы данного шага.
2. Поясните, в чем отличие первичного и вторичного ключей.
Шаг 9. Ограничения
Введение
Для колонок таблицы в базе данных можно создавать ограничения.
Ограничения – это специальные синтаксические конструкции уровня колонок таблицы, которые предназначены для поддержания ссылочной целостности данных или для вставки правильных данных согласно бизнес-логике приложения.
То есть ограничения допускают вставку в ячейку таблицы только определенных данных, ограниченных заданными правилами.
Теория и практика
Все ограничения, которые используются в ORACLE SQL, можно разделить на следующие группы:
1. Ограничения на вставку пустых значений NOT NULL
Подобный вид ограничений создается, чтобы огранить вставку пустых значений в базу данных.
Снять данное ограничение можно с помощью команды изменения поля таблицы MODIFY.
Синтаксис
Добавлять ограничения на вставку пустых значений можно при создании таблицы.
CREATE TABLE TABLENAME (
Column1 NOT NULL, ColumnN NOT NULL
);
Это стандартный синтаксис создания таблицы, к имени колонки добавляется синтаксис ограничения NOT NULL.
Или изменять значения для уже готовой таблицы с помощью команды ALTER TABLE.
ALTER TABLE TABLENAME MODIFY ColumnName NOT NULL
Примеры
Создание таблицы «Корзина» с ограничением на вставку пустых значений в колонки itemNAME, itemCOUNT.
CREATE TABLE shopINgcart (
article VARCHAR2 (50) PRIMARY KEY
,itemNAME VARCHAR2 (50) NOT NULL
,itemCOUNT NUMBER NOT NULL
);
Запрет добавления пустого значения в FirstName в таблицу MAN.
ALTER TABLE MAN MODIFY FirstName NOT NULL
Запрет добавления пустого значения в LAStName.