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


 

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

38196. Засновники геополітики 203.5 KB
  Поняття глобального було введено в науковий обіг у другій половині XX століття американським науковцем Т.Левіттом, який охарактеризував ним феномен злиття ринків окремої продукції як нову тенденцію розвитку світової економіки; згодом це явище було інтерпретоване деякими домінуючими світовими силами в дусі ідеології обєднання світу в єдину економічну,
38198. Воєнна політологія як наука 134.5 KB
  Воєнна політика – частина загальної політики певних соціальних сил і спеціально створених ними інститутів влади, що спрямована на підготовку і використання (навмисне або змушене, військове або невійськове) засобів збройного насильства для досягнення тих або інших класових, національних або загальнолюдських інтересів, мети; для ведення війни або протидії.
38199. Аерократія та ефірократія 36.03 KB
  Мондіалістські центри мали своїх кореспондентів і в Москві. Ключовою постаттю був академік Гвішіані, директор Інституту Системних Досліджень, який був чимось подібним до філіалу “Трілатераля”
38200. Міграційні процеси і екологічний імператив як фактор світової політики 27.04 KB
  З врахуванням триваючої тенденції до росту чисельності населення можна припустити можливість своєрідного демографічного «перевантаження» нашої планети...
38201. Конфлікти та війни сучасності 55.19 KB
  Терміном «Близькосхідний конфлікт» (конфлікт на Близькому Сході) позначається серія міжнародних конфліктів, що протікають із 1940-х років в цьому регіоні. В цих конфліктах брали та досі беруть участь численні арабські держави, Ізраїль, Іран, Туреччина, зовнішні актори – США, СРСР, Росія, ЄС, міжнародні організації. Важливість Близькосхідного конфлікту завжди обумовлюється стратегічним значенням регіону – на Близький Схід
38202. Структура воєнної політики сучасної України 30.84 KB
  Сьогодні українсько-російські відносини перебувають у досить складному, якщо не сказати критичному стані, про що свідчать оцінки експертів (і з російського, і з українського боку). Останнім часом спостерігалося зростання конфліктності в багатьох сферах співробітництва
38204. Актуальні проблеми воєнної політології 108.5 KB
  За такого підходу до предмета â€œВійськової політологіїâ€ відносять військові аспекти окремих галузей знань: філософії політики політичної історії політичної соціології та економіки та ін. Звідси “військову політологію†пропонують вважати не самостійною наукою а комплексною науковою дисципліною на зразок теорії безпеки окремі галузі якої відповідали б різновидам військової політики; 3 третя група політологів зазначає що â€œВійськова політологія†має свій специфічний предмет. Їхня думка зводиться до того що...