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


 

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

77328. IMPROVING THE DEVELOPMENT OF VISUALIZATION SOFTWARE 30.5 KB
  Visuliztion helps to interpret results of vrious stges of clcultions. However there is problem of developing of visuliztion tools exist. To explin tht lets see which types of visuliztion tools re: Universl visuliztion systems cpble to disply visul objects of vrious clsses.
77330. Возможности оценки сложности параллельного программирования 71.5 KB
  Утверждение о том, что параллельное программирование сложно, стало общим местом в соответствующей специальной литературе еще с 80-ых годов XX века. Вместе с тем, необходимо разобраться, чем же оно сложно и как в этом плане соотносятся различные парадигмы параллельного программирования. Анализ сложности программирования полезен
77331. Веб-система визуализации, анализа и мониторинга работы программ 39.5 KB
  Визуализация процесса и параметров работы программ представляет известный интерес для разработчиков этих программ. В научном плане эти вопросы изучает область визуализация программного обеспечения которая особенно активно развивается на западе. Система предназначена для визуализации анализа и мониторинга работы программных комплексов включая и параллельные программы.
77332. EXECUTION TRACE VISUALIZATION FOR PARALLEL PROGRAMS 26.5 KB
  There re mny interesting systems bsed on execution trce visuliztion. In the report s the review of existing decisions s new pproches to development of execution trce visuliztion will be considered. However the min problem tht occurs when you develop trce visuliztion system is the huge nd evergrowing volume of dt to be nlyzed.
77334. «Хороший» интерфейс на основе жестов для манипулирования 3D-объектами и метод автоматической калибровки оптических камер 38 KB
  Интерфейс фонарика Поскольку любой манипулятор ограничивает набор возможных взаимодействий от него следует отказаться и осуществлять пользовательский ввод при помощи трёхмерных жестов. Данное устройство обладая шестью степенями свободы позволяет осуществлять ввод трёхмерных жестов являясь при этом простым в установке и использовании. В качестве дешёвого манипулятора для ввода трёхмерных жестов был выбран обыкновенный карманный фонарик.
77336. ИНТЕРВЬЮ КАК МЕТОД ИССЛЕДОВАНИЯ ЭФФЕКТА ПРИСУТСТВИЯ В СРЕДАХ ВИРТУАЛЬНОЙ РЕАЛЬНОСТИ 37.66 KB
  Статья посвящена опыту разработки метода исследования переживания эффекта присутствия в средах виртуальной реальности. Ключевые слова: виртуальная реальность; эффект присутствия. Наша работа посвящена исследованию эффекта присутствия основного фактора во многом определяющего виртуальную реальность и отличающего ее от традиционной объемной компьютерной графики.