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


 

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

68517. Христианская философия 75 KB
  Но столетия такого философствования после Аристотеля постепенно показали, что как раз философия не в состоянии решить задачу воспитания человека к счастью, внутренней независимости и добродетели при помощи верного познания.
68519. Философия нового времени 148.5 KB
  Это удалось сделать только немецкому философу Иммануилу Канту. Иммануил Кант Иммануил Кант 1724-1804 немецкий философ. Основатель немецкой классической философии представителями которой кроме Канта являются Фихте Шеллинг Гегель Фейербах. Кант родился в городе Кенигсберге и всю жизнь не выезжал из него.
68520. Философия жизни 131 KB
  Философия жизни возникает в 60-70 годах XIX века, наибольшего развития достигает в первой четверти XX века. Затем ее идеи воспринимают экзистенциализм и персонализм. Согласно философии жизни, все существующее рассматривается как формы проявления жизни...
68521. Русская философия 346 KB
  Речь идет об учреждениях и традициях автоматических навыках и твердых правилах избавляющих индивидуумов каждый раз самостоятельно и заново а следовательно и своевольно решать возникающие в их жизни проблемы колеблясь в выборе между различными способами поведения.
68522. Понятие бытия. Бытие-в-мире и бытие мира, универсальный характер этих понятий. Проблема единства мира 170.5 KB
  Вещи и явления возникают длятся и исчезают во времени а также занимают ограниченное место в пространстве. имеющие предел ограничивающий их бытие во времени и в пространстве. И во времени оно тоже ограничено: в какой-то момент появилось и через какое-то время исчезнет например будет съедено или сгниет...
68523. Культура и цивилизация. Общее понятие культуры, антропологические предпосылки и основные определения культуры 169.5 KB
  Общее понятие культуры антропологические предпосылки и основные определения культуры Мы начнем с самого общего представления о культуре которое охватывает все что сюда входит; это будет следовательно самое абстрактное определение но зато самое исходное.
68524. Общее понятие ценности. Ценность и истина. Проблема ценности в истории философии 109 KB
  Отличие человека от других живых существ можно определять по многим признакам: прямоходящее существо обладающее сознанием; способное к чувству стыда; владеющее членораздельной речью; использующее символы; производящее орудия и т. Это и означает что человеческие действия всегда ориентированы на ценности.