ВУЗ:
Составители:
Рубрика:
- 43 -
пользовать виды и для хранения пользовательских запросов, программ и так
далее, предохраняя их от устаревания при изменениях базы данных.
Текущая структура БД позволяет связать несколько работников с
проектом, однако каждый должен работать только по одному проекту - это
известное соотношение 'многие к одному'. Предположим, что процедуры по
персоналу изменились и сейчас есть
необходимость связать работников с не-
сколькими проектам. Чтобы это выполнить, необходимо пересмотреть струк-
туру базы данных, преследуя две цели.
Первая цель - предохранить старые виды БД, чтобы можно было про-
должать работы со всеми прикладными системами, отчетами и программами,
зависящими от исходной структуры базы данных. Вторая цель заключается в
том, чтобы
иметь возможность использовать новые данные (дополнительные
проекты) для построения новых прикладных систем. Ниже приведены этапы
достижения поставленной цели.
Сначала создадим новую таблицу, соотносящую работников с проек-
тами и содержащую информацию об участии конкретных работников в кон-
кретном проекте (например, введем новый столбец - часы работы
WORKHPS. Новая структура базы данных будет поддерживать
соотношения
типа 'многие-к-многим'):
CREATE TABLE PE (EMPNO NUMBER (4),
PROJNO NUMBER (3),
WORKHPS NUMBER (4));
Далее присоединим работников к проектам путем введения строк в таб-
лицу РЕ. Отметим, что работник под номером 7369 имеет две строки в этой
таблице: одна для проекта 101 и другая - для 102. Присоединение работников
к проектам выполняется многократным использованием INSERT:
INSERT INTO PE VALUES (7369, 101, 0);
INSERT INTO PE VALUES (7369, 102, 0);
INSERT INTO PE VALUES (7399, 101, 0);
INSERT INTO PE VALUES (7521, 101, 0);
INSERT INTO PE VALUES (7366, 101, 0);
INSERT INTO PE VALUES (7554, 101, 0);
INSERT INTO PE VALUES (7698, 102, 0);
INSERT INTO PE VALUES (7782, 102, 0);
INSERT INTO PE VALUES (7788, 101, 0);
INSERT INTO PE VALUES (7839, 102, 0);
INSERT INTO PE VALUES (7844, 101, 0);
INSERT INTO PE VALUES (7876, 101, 0);
INSERT INTO PE VALUES (7900, 102, 0);
INSERT INTO PE VALUES (7902, 101, 0);
INSERT INTO PE VALUES (7934, 102, 0);
- 43 - пользовать виды и для хранения пользовательских запросов, программ и так далее, предохраняя их от устаревания при изменениях базы данных. Текущая структура БД позволяет связать несколько работников с проектом, однако каждый должен работать только по одному проекту - это известное соотношение 'многие к одному'. Предположим, что процедуры по персоналу изменились и сейчас есть необходимость связать работников с не- сколькими проектам. Чтобы это выполнить, необходимо пересмотреть струк- туру базы данных, преследуя две цели. Первая цель - предохранить старые виды БД, чтобы можно было про- должать работы со всеми прикладными системами, отчетами и программами, зависящими от исходной структуры базы данных. Вторая цель заключается в том, чтобы иметь возможность использовать новые данные (дополнительные проекты) для построения новых прикладных систем. Ниже приведены этапы достижения поставленной цели. Сначала создадим новую таблицу, соотносящую работников с проек- тами и содержащую информацию об участии конкретных работников в кон- кретном проекте (например, введем новый столбец - часы работы WORKHPS. Новая структура базы данных будет поддерживать соотношения типа 'многие-к-многим'): CREATE TABLE PE (EMPNO NUMBER (4), PROJNO NUMBER (3), WORKHPS NUMBER (4)); Далее присоединим работников к проектам путем введения строк в таб- лицу РЕ. Отметим, что работник под номером 7369 имеет две строки в этой таблице: одна для проекта 101 и другая - для 102. Присоединение работников к проектам выполняется многократным использованием INSERT: INSERT INTO PE VALUES (7369, 101, 0); INSERT INTO PE VALUES (7369, 102, 0); INSERT INTO PE VALUES (7399, 101, 0); INSERT INTO PE VALUES (7521, 101, 0); INSERT INTO PE VALUES (7366, 101, 0); INSERT INTO PE VALUES (7554, 101, 0); INSERT INTO PE VALUES (7698, 102, 0); INSERT INTO PE VALUES (7782, 102, 0); INSERT INTO PE VALUES (7788, 101, 0); INSERT INTO PE VALUES (7839, 102, 0); INSERT INTO PE VALUES (7844, 101, 0); INSERT INTO PE VALUES (7876, 101, 0); INSERT INTO PE VALUES (7900, 102, 0); INSERT INTO PE VALUES (7902, 101, 0); INSERT INTO PE VALUES (7934, 102, 0);
Страницы
- « первая
- ‹ предыдущая
- …
- 41
- 42
- 43
- 44
- 45
- …
- следующая ›
- последняя »