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    ('Кировоград','Киев'));


 

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

5604. Агентура исторического духа в философии События М. М. Бахтина. Ретроактивный футуризм Ницше: генеалогия как онтология события 479 KB
  Рассмотрение аналитики историчности в значительной степени мотивировано той нередуцируемой навязчивостью, которую выявляет данный феномен как предел традиционного метафизического мышления. Для нас, данные заметки указывают, прежде вс...
5605. Контроль упруго-напряженного состояния поверхностей металла деталей машин. Расчет напряжений термической анизотропии 105 KB
  Контроль упруго-напряженного состояния поверхностей металла деталей машин. Расчет напряжений термической анизотропии, возникающих в поликристаллах на границах двух зерен. (вар.№17) Цель работы - освоение методов оценки внутренних напряжен...
5606. Графический интерфейс в MS WINDOWS 1.37 MB
  Графический интерфейс в MSWINDOWS Переход к программированию для Windows требует знаний графических возможностей этой операционной системы. Связано это с тем, что Windows является графической системой, в нем отсутствует текстовый режим...
5607. Устройства формирования и обработки сигналов 323 KB
  Предисловие Современная радиоэлектронная аппаратура и радиотехнические системы относятся к классу сложных электронных систем, для обслуживания которой требуются высококвалифицированные специалисты. Дисциплина Устройство, формирование и обрабо...
5608. Вплив держави на розміщення продуктивних сил 104 KB
  Регіональна економічна політика, її сутність та завдання. Вплив держави на розміщення продуктивних сил (РПС) в країні здійснюється за допомогою економічної регіональної політики. Отже для розгляду впливу держави на РПС необхідно розглянути регіон...
5609. Верховые болота 80.5 KB
  Верховые болота По площади и запасам торфа среди болот в России преобладают верховые болота. Хотя лучше всего они развиты в тайге, но встречаются и южнее ее границ, вплоть до степи. Почему же эти болота назвали верховыми? Это связано с особенностью...
5610. Новые методы в новостной журналистике на примере центральных и республиканских СМИ 130.5 KB
  Уходящее столетие выявило беспрецедентно возросшую роль коммуникации в жизни современного общества. Век радикальных социальных перемен и невидимого технического прогресса породил череду коммуникационных революций, которые, в свою очередь...
5611. Предприятие - самостоятельно хозяйствующий субъект рынка 143 KB
  Предприятие - самостоятельно хозяйствующий субъект рынка. Классификация хозяйствующих субъектов по видам деятельности и формам собственности В рыночной экономике действуют три ведущих хозяйствующих субъекта: домохозяйства, предприятия и гос...
5612. Имущество предприятия и его правовое положение 62.5 KB
  Имущество предприятия Правовое положение имущества предприятия Для организации процесса производства любое предприятие должно располагать определенными ресурсами, то есть предприятие должно иметь имущество. Под имуществом предприятия понимаются в...