Основы проектирования реляционных баз данных



Задание ограничений NOT NULL на значения колонок - часть 2


далее.)
  • Только внешние ключи для таблицы с опциональной связью могут рассматриваться как кандидаты на наличие NULL-значений, чтобы показать, что для данной комбинации родительской и дочерних строк в этих таблицах связи нет.
  • Внешние ключи с правилом удаления SET NULL должны определяться со спецификацией NULL.
  • Используйте спецификацию NOT NULL WITH DEFAULT для колонок с типами данных DATE или TIME, чтобы сохранять текущие даты и текущее время автоматически.
  • Разрешайте использовать NULL-значения только для тех колонок, которые действительно могут иметь неопределенные значения.
  • Используйте NOT NULL WITH DEFAULT для всех колонок, которые не подпадают под перечисленные выше правила.
  • Пример. Как можно увидеть ниже, проектировщик базы данных определил, что:
    1. дата поступления служащего в организацию HIREDATE определена со спецификацией NOT NULL WITH DEFAULT, которая означает, что если на вводе значение колонки не определено, то по умолчанию подставляется текущая дата;
    2. номер подразделения DEPNO, номер служащего EMPNO и номер проекта PROJNO имеют спецификацию NOT NULL как первичные ключи таблиц;
    3. для остальных полей базовых таблиц проектировщик базы данных принял решение разрешить наличие в них NULL-значений.

    CREATE TABLE DEPARTAMENT ( DEPNO integer NOT NULL, DNAME char(20), LOC char(20), MANAGER char(20), PHONE char(15), PRIMARY KEY (DEPNO) определение первичного ключа );

    CREATE TABLE EMPLOYEE ( EMPNO integer NOT NULL, ENAME char(25), LNAME char(10), DEPNO int, SSECNO char(10), PROJNO char(8), JOB char(25), AGE date, HIREDATE date NOT NULL WITH DEFAULT, SAL dec(9,2), COMM dec(9,2), FINE dec(9,2), PRIMARY KEY (EMPNO) );

    CREATE TABLE PROJECT ( PROJNO char(8) NOT NULL, PNAME char(25), BUDGET dec(9,2), PRIMARY KEY (PROJNO) );




    Содержание  Назад  Вперед