Локальная компьютерная сеть
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
е одно из отношений не избыточно так как:
а) Все атрибуты одного отношения не могут быть найдены в другом отношении проекта (т.е. атрибуты одного отношения не являются подмножеством множества атрибутов другого отношения);
б) Все атрибуты одного отношения не могут быть найдены в отношении, полученном из других отношений проекта.
3.2 Разработка модели данных, используя CASE средства ERwin
Построение модели данных предполагает определение сущностей и атрибутов, то есть необходимо определить какая информация будет храниться в конкретной сущности или атрибуте. Сущность можно определить как объект, событие или концепцию, информация о которых должна сохраняться. Сущности должны иметь наименование с четким смысловым значением, именоваться существительным в единственном числе, не носить “технических” наименований и быть достаточно важными для того, чтобы их моделировать.
ЕRwin - средство разработки структуры базы данных (БД). Он имеет развитый инструмент для облегчения проектирования модели данных. ЕRwin сочетает графический интерфейс Windows, инструменты для построения ЕR- диаграмм, редакторы для создания логического и физического описания модели данных и прозрачную поддержку ведущих реляционных СУБД и настольных баз данных. С помощью ERwin можно создавать или проводить обратное проектирование (реинжиниринг) баз данных.
В ERwin, как было сказано уже ранее, существуют два уровня представления и моделирования - логический и физический. На логическом уровне (Рисунок 3.2) не рассматривается использование конкретной СУБД, не определяются типы данных (например, целое или вещественное число) и не определяются индексы для таблиц.
Целевая СУБД, имена объектов и типы данных, индексы составляют второй (физический) уровень модели ЕRwin (Рисунок 3.3).
Диаграмма ERwin строится из трех основных блоков - сущностей, атрибутов и связей. Если рассматривать диаграмму как графическое представление правил предметной области, то сущности являются существительными, а связи - глаголами.
3.2.1 ERWin скрипт
/*Таблица для документов*/
СRЕАТЕ ТАВLЕ Документы (
id_Документы VARCHAR(20) NOT NULL,
№_ документа INTECER NULL,
Дата_ создания DATE NULL
);
ALTER TABLE Документы
ADD (PRIMARY KEY (id_документы));
/ *Таблица для комплектующих*/
СRЕАТЕ ТАВLЕ Комплектующие (
Инвентарный_ номер СНАR(20) NOT NULL,
id_Компьютеры VАRСНАR(20) NOT NULL,
id_Документы VАRСНАR(20) NOT NULL,
id_Комплектующие VАRСНАR(20) NULL,
Цена FLOAT NULL
);
ALTER TABLE Комплектующие
ADD (РRIМАRУ КЕУ (Инвентарный_ номер));
/*Таблица для компьютеров*/
СRЕАТЕ ТАВLЕ Компьютеры (
id_Компьютеры VАRСНАR(20) NOT NULL,
id_Ответственное_ лицо СНАR(20) NOT NULL,
id_Отделы VАRСНАR(20) NOT NULL,
Инвентарный_ номер СНАR(20) NULL,
iр_ Адрес СНАR(20) NULL,
Название СНАR(20) NULL,
Цена FLOAT NULL
);
АLТЕR ТАВLЕ Компьютеры
АDD (РRIМАRУ КЕУ (id_Компьютеры));
/*Ассоциация компьютеры- программное обеспечение*/
СRЕАТЕ ТАВLЕ Компьютеры_ Программное_ обеспеч (
id_Компьютеры VАRСНАR(20) NOT NULL,
Инвентарный_ номер VАRСНАR(20) NOT NULL
);
АLТЕR ТАВLЕ Компьютеры_ Программное_ обеспеч
АDD (РRIМАRУ КЕУ (id_Компьютеры, Инвентарный_ номер));
/* Таблица для ответственного лица*/
СRЕАТЕ ТАВLЕ Ответственное_ лицо (
id_Ответственное_ лицо СНАR(20) NOT NULL,
Имя VАRСНАR2(20) NULL,
Должность VАRСНАR2(20) NULL
);
АLТЕR ТАВLЕ Ответственное_ лицо
АDD (РRIМАRУ КЕУ (id_Ответственное лицо));
/*Таблица для отделов*/
СRЕАТЕ ТАВLЕ Отделы (
id_Отделы VАRСНАR2(20) NOT NULL,
Название VАRСНАR2(20) NULL,
Руководитель VАRСНАR2(20) NULL,
№_ комнаты VАRСНАR2(10) NULL ,
Телефон VАRСНАR2(11) NULL
);
АLТЕR ТАВLЕ Отделы
АDD (РRIМАRУ КЕУ (id_Отделы));
/* Таблица для пользователей*/
СRЕАТЕ ТАВLЕ Пользователи (
id_Пользователи VАRСНАR2(20) NOT NULL,
Id_Отделы VАRСНАR2(20) NOT NULL,
Имя VАRСНАR2(20) NULL,
Должность VАRСНАR2(20) NULL,
Логин VАRСНАR2(20) NULL,
Пароль VАRСНАR2(20) NULL
);
АLТЕR ТАВLЕ Пользователи
АDD (РRIМАRУ КЕУ (id_Пользователи));
/*Таблица для поставщиков*/
СRЕАТЕ ТАВLЕ Поставщики (
id_Поставщики СНАR(20) NOT NULL,
Название СНАR(20) NULL,
Web_сайт СНАR(20) NULL,
Е_mail СНАR(20) NULL,
Адрес СНАR(20) NULL,
Телефон СНАR(11) NULL
);
АLТЕR ТАВLЕ Поставщики
АDD (РRIМАRУ КЕУ (id_Поставщики));
/*Таблица для программного обеспечения*/
СRЕАТЕ ТАВLЕ Программное_ обеспечение (
Инвентарный_ номер VАRСНАR2(20) NOT NULL,
id_ Программное_ обеспечение VАRСНАR2(20) NOT NULL,
Цена FLOAT NULL
);
АLТЕR ТАВLЕ Программное_ обеспечение
АDD (РRIМАRУ КЕУ (Инвентарный_ номер));
/*Таблица для производителей*/
СRЕАТЕ ТАВLЕ Производители (
id_Производители VАRСНАR2(20) NOT NULL,
Название СНАR(20) NULL,
Web_сайт СНАR(20) NULL,
Е_mail СНАR(20) NULL,
Адрес СНАR(50) NULL
);
АLТЕR ТАВLЕ Производители
АDD (РRIМАRУ КЕУ (id_Производители));
/*Таблица для словаря комплектующих*/
СRЕАТЕ ТАВLЕ Словарь_комплектующие (
id_Комплектующие VАRСНАR2(20) NOT NULL,
id_Производители VАRСНАR2(20) NOT NULL,
id_Поставщики СНАR(20) NULL,
Название VАRСНАR2(20) NULL,
Модель VАRСНАR2(20) NULL
);
АLТЕR ТАВLЕ Словарь_комплектующие
АDD (РRIМАRУ КЕУ (id_Комплектующие));
/* Таблица для словаря ПО*/
СRЕАТЕ ТАВLЕ Словарь_ПО (
id_Программное_обеспечение VАRСНАR2(20) NOT NULL,
Название VАRСНАR2(20) NULL,
Версия VАRСНАR2(20) NULL,
Регистрационный_ключ VАRСНАR2(20) NULL,
Web_сайт VARСНАR2(20) NULL
);
АLТЕR ТАВLЕ Словарь_ ПО
АDD (РRIМАRУ КЕУ (id_ Программное_ обеспечение));
/ *Создание внешних ключей для организации