69701

КЛЮЧІ

Лекция

Информатика, кибернетика и программирование

В той же час, до цього номер 1 був закріплений за Івановим. У нас вийшло, що один і той же номер зіставлений різним клієнтам. Тепер уявимо, що про це нічого не знає оператор, що знаходиться в магазині. Сидоров замовляє монітор LG, але не оплачує його вчасно...

Украинкский

2014-10-09

27.5 KB

0 чел.

Тема 30: КЛЮЧІ

Припустимо, що хтось додав в таблицю CLIENTS запис:

1    Сидоров     Егорова   Ікировоград      80522345111

В той же час, до цього номер 1 був закріплений за Івановим. У нас вийшло, що один і той же номер зіставлений різним клієнтам. Тепер уявимо, що про це нічого не знає оператор, що знаходиться в магазині. Сидоров замовляє монітор LG, але не оплачує його вчасно (а, може, і зовсім передумав його купувати). Проходить якийсь час, і всі забувають, хто саме замовив монітор: Іванов або Сидоров — адже в таблиці замовлень коштує номер 1, який асоціюється з обома клієнтами.

Щоб уникнути подібної плутанини, потрібно використовувати первинні ключі:

ALTER TABLE CUSTOMER ADD PRIMARY KEY (C_NO);

Після цього запиту поле C_NO може містити тільки унікальні значення. Як первинний ключ не можна використовувати поле, що допускає значення NULL. Створити первинний ключ можна простіше — при створенні таблиці. Це робиться так:

CREATE   TABLE   CLIENTS (

C_NO        int        NOT   NULL,
FI0 char(40) NOT   NULL

ADDRESSchar(30) NOT NULL, CITY char(15) N0T NULL, PHONE char(ll) NOT NULL, PRIMARY   KEY    (C_NO);

Таблиця ORDERS містить відомості про замовлення. По полю C_NO цієї таблиці ідентифікується замовник. Припустимо, що в таблицю ORDERS хтось ввів значення, якого немає в таблиці CLIENTS. Хто ж замовив товар? Нам потрібно не допустити подібної ситуації, тому введіть наступний запит:

ALTER TABLE ORDERS

ADD FOREIGN KEY(C_NO) REFERENCES CLIENTS;

Введені в таблицю ORDERS номера клієнтів C_NO повинні існувати в таблиці CLIENTS. Аналогічно потрібно додати зовнішній ключ по полю T_NO. Ця можливість називається декларативною цілісністю.

Команда ALTER використовується не тільки для додавання ключів. Вона призначена для реорганізації таблиці в цілому. Ви хочете додати ще одне поле? Або встановити список допустимих значень для кожного з полів. Все це можна зробити за допомогою команди ALTER:

ALTER   TABLE   CLIENTS ADD   ZIP   char(6)   NULL;

Цей оператор додає в таблицю CLIENTS нове поле ZIP типу char. Звернете увагу, що ви не можете додати нове поле із значенням NOT NULL в таблицю, в якій вже є дані. Наша компанія працює з клієнтами тільки з Києва і Кіровограда, тому доцільно ввести список допустимих значень для таблиці CLIENTS:

ALTER   TABLE   CLIENTS

ADD   CONSTRAINT   INVALID_STATE   SHECK    (CITY   IN    ('Кировоград','Киев'));


 

А также другие работы, которые могут Вас заинтересовать

4054. Написание программы для работы с видеопамятью 73.5 KB
  Постановка задачи Написать программу, которая будет работать с видеопамятью. Можно выполнить любое из приведенных ниже заданий. Независимо от конкретного задания программа должна работать резидентно. Текст, присутствовавший на экране до запуска п...
4055. Актуальные аспекты в творчестве Ю.А. Лаврикова 37 KB
  Актуальные аспекты в творчестве Ю.А. Лаврикова. В вышедшей в 1989 году книге Интенсификация производства и проблемы управления трудом, Юрий Александрович Лавриков провел параметрический анализ производства переходного периода. Этот переходный пери...
4056. Принцип наследования. Создание иерархии классов. Классы и модули 46.5 KB
  Принцип наследования. Создание иерархии классов. Классы и модули. Задание: Создать иерархию графических классов в соответствии с рисунком. Описания классов оформить в отдельном модуле. Для создания данной программы, нам нужно обязательно созда...
4057. Дееспособность несовершеннолетних. Несовершеннолетние в области трудового, жилищного права 60.5 KB
  Лекция. Дееспособность несовершеннолетних. Несовершеннолетние в области трудового, жилищного права Гражданское законодательство о несовершеннолетних Гражданский кодекс Российской Федерации является основным источником гражданских прав, законных инте...
4058. Внешняя торговля России 301 KB
  Введение Самая старая форма международных отношений - это международная торговля. Еще до формирования мирового хозяйства народы вели активную торговлю товарами, то есть обменивали то, что у одних было в избытке на то, с чем был дефицит, а у других н...
4059. Звуковые системы современного кино 1.62 MB
  Звуковые системы современного кино DolbyStereo В 80-е гг. XXв., после внедрения относительно недорогого стереофонического оборудования фирмы Dolby Laboratories, на обычной 35-мм пленке удалось...
4060. Определение потока и индукции магнитного поля 123 KB
  Определение потока и индукции магнитного поля Цель работы: Определение магнитного потока, пронизывающего площадь контура, внесенного в зазор между двумя катушками, и исследование зависимости индукции магнитного поля, создаваемого катушками, от силы...
4061. Определение взаимной индукции двух контуров 136.5 KB
  Определение взаимной индукции двух контуров. Цель работы: Целью данной работы является определение коэффициента взаимной индукции двух катушек в зависимости от расстояния между ними. Приборы и инструменты № Название Предел измерения Цена делен...
4062. Определение горизонтальной составляющей магнитного поля Земли 130.5 KB
  Определение горизонтальной составляющей магнитного поля Земли. Цель работы: Целью данной работы является ознакомление с устройством и принципом действия тангенс-гальванометра, измерение с его помощью горизонтальной составляющей напряженности м...