Oracle SQL. 100 шагов от новичка до профессионала. 20 дней новых знаний и практики. Максим Михайлович Чалышев

Читать онлайн книгу.

Oracle SQL. 100 шагов от новичка до профессионала. 20 дней новых знаний и практики - Максим Михайлович Чалышев


Скачать книгу
ключ может состоять из одной или нескольких колонок.

      Пример:

      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.

      ALTER TABLE MAN MODIFY LAStName NOT NULL

      То есть значение в колонке LAStName MAN обязательно должно быть заполнено.

      Снимаем ограничение на вставку пустых значений:

      ALTER TABLE MAN MODIFY LAStName NULL

      После выполнения команды значение в колонке LAStName MAN обязательно должно быть заполнено.

      Ограничения на уникальность

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

      Синтаксис

      ALTTER TABLE TABLENAME ADD CONSTRAINT cINs_NAME

      UNIQUE (columnNAME);

      Пример:

      ALTTER TABLE CITY ADD CONSTRAINT CITY_uniq

      UNIQUE (CITYNAME);

      Названия городов, только уникальные значения.

      Ограничения на вторичный ключ

      Подобный вид ограничений мы уже рассматривали, когда изучали первичные и вторичные ключи. Смысл


Скачать книгу