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


 

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

4399. Понятие конвертируемости валюты (денежной единицы) страны 198.5 KB
  Введение Понятие конвертируемости валюты (денежной единицы) страны имеет в современной экономической теории размытые рамки, которые формально классифицированы, в частности, Международным валютным фондом создавшим за послевоенную историю нормативные ...
4400. Деньги и их характеристики. Инструменты кредитно-денежного регулирования 172.5 KB
  Деньгами в обширном смысле могут быть названы всякие знаки ценности, служащие для размена, приобретения других предметов, покупки или найма человеческого труда. Деньги - это общественный институт, который увеличивает богатство, снижая издер...
4401. Космологические модели вселенной 87.5 KB
  Космологические модели вселенной ЧТО ТАКОЕ КОСМОЛОГИЯ? Современная космология - это астрофизическая теория структуры и динамики изменения Метагалактики, включающая в себя и определенное понимание свойств всей Вселенной. Космология основывается на ас...
4402. Вивчення впливу зовнішнього оточення організації на її діяльність 111 KB
  Вступ Не існує жодної організації, що не мала б зовнішнього оточення і не знаходилася б з ним у стані постійної взаємодії. Успіх будь-якої організації залежить не тільки від факторів діючих всередині організації, але, вирішальним чином, залежи...
4403. Розрахунки чеками та векселями 51.5 KB
  Чек — грошовий документ встановленої форми, що містить беззаперечне письмове розпорядження власника рахунка (клієнта) банкові, який обслуговує його, сплатити певну суму грошей пред'явникові чека або іншій вказаній у чеку особі
4404. Агропомышленный комплекс Новосибирской области 92.5 KB
  Введение Новосибирская область: государственно-территориальное образование, входящее в состав Российской Федерации на правах ее равноправного субъекта, расположена в географическом центре страны, в юго-восточной части Западно-Сибирской равнины, глав...
4405. Фанализ - филосовско-аналитическая теория истины 152 KB
  Эта работа была задумана для рассмотрения более объективной оценки окружающего мира. Здесь рассматриваются более двадцати вопросов, наиболее значимых, при объяснении такого подхода поиска истины как Фанализ. Этот взгляд должен дать толчок для самора...
4406. Разработка тягового и топливно-экономического расчета автомобиля 1.09 MB
  В курсе теории автомобиля тяговый и топливно-экономический расчет является одним из важнейших разделов. Этот расчет позволяет по некоторым заданным параметрам определить остальные конструктивные и эксплуатационные параметры...
4407. Адвокат в гражданском процессе 268.5 KB
  Адвокат в гражданском процессе Введение Современный человек постоянно сталкивается с ситуациями, в которых ему необходимо руководствоваться теми или иными правовыми предписаниями, то есть законодательно закрепленными общеобязательными правилами пове...