Автор работы: Пользователь скрыл имя, 21 Ноября 2010 в 16:57, Не определен
Создание базы данных SQL
CREATE UNIQUE INDEX XPKSECRETAR ON SECRETAR
(
№_Secretar,
№_Sotrudnika
);
ALTER TABLE SECRETAR
ADD PRIMARY KEY (№_Secretar, №_Sotrudnika);
ALTER TABLE AGENT
ADD FOREIGN KEY (№_Sotrudnika)
REFERENCES SCHTAT;
ALTER TABLE PRODAGI
ADD FOREIGN KEY (№_Agenta, №_Sotrudnika)
REFERENCES AGENT;
ALTER TABLE AVTO_PRODAGI
ADD FOREIGN KEY (№_Sotrudnika, №_Agenta, №_Prodagi)
REFERENCES PRODAGI;
ALTER TABLE AVTO_PRODAGI
ADD FOREIGN KEY (№_Avto)
REFERENCES AVTO;
ALTER TABLE MEXAN
ADD FOREIGN KEY (№_Sotrudnika)
REFERENCES SCHTAT;
ALTER TABLE MEXAN_AVTO
ADD FOREIGN KEY (№_Avto)
REFERENCES AVTO;
ALTER TABLE MEXAN_AVTO
ADD FOREIGN KEY (№_Mexanika, №_Sotrudnika)
REFERENCES MEXAN;
ALTER TABLE SECRETAR
ADD FOREIGN KEY (№_Sotrudnika)
REFERENCES SCHTAT;
1.2.
Проектирование базы
данных с помощью CASE
– средств (Erwin)
Erwin является CASE-пакетом (Computer Aided Software Engineering), предоставляющим разработчику широкие возможности по созданию информационной модели будущего программного обеспечения.
В создании информационной модели можно выделить следующую последовательность действий:
1.2.1.
Коротко о используемой
нотации (IDEF1X)
IDEF1X
является методом для
IDEF1X
требует от проектировщика определить
ключевые атрибуты, для того чтобы отличить
одну сущность от другой, в то время как
объектно-ориентированные системы не
требуют задания ключевых ключей, в целях
идентифицирования объектов. В тех случаях,
когда более чем один атрибут является
однозначно идентифицирующим сущность,
проектировщик должен определить один
из этих атрибутов первичным ключом, а
все остальные вторичными.
1.2.2
Логическая модель
с комментариями
Создание логической модели заключается в выделении Сущностей предметной области и Связей между ними.
Сущности:
Создадим сущности: штат, механики, секретари, агенты, авто, продажи, механ-авто.
Для
каждой сущности существует свой список
элементов, в котором выделяются
атрибуты (Attributes), ключевые поля (Key Groups),
связи (Relationships). Связи:
После определения типа связи устанавливается степень связи.
В нашей БД, в основном, используется связь один ко многим (1:N)
Связь
между таблицами штат и агенты, механики,
секретари осуществляется отношением
один ко многим, т.е у одного штата может
быть несколько агентов, механиков, секретарей,
а у них только один штат.
Связь между таблицами механ- авто и среда обитания осуществляется отношением многие ко многим(N:M), т. е. один танк может иметь несколько сред обитания, одна среда может иметь несколько танков. Erwin же предполагает раскрытие такой связи через сущность-связь. То есть между этими сущностями добавляется ещё одна сущность, которая имеет название связи. В данном случае «Знает». Первичного ключа у неё нету, при необходимости добавляются атрибуты. Связь
«N:M» разрывается
на 2 связи «N:1». Причём N идёт от основных
сущностей, а 1 идёт к сущности-связи.
Определение действий связи (RI Actions)
Действия
представляют собой реакцию будущей
базы данных на основные операции с
данными в каждой сущности. Например,
как отреагирует БД при Добавлении/Обновлении/
Для
установки Действий в диалоговом
окне настроек связи необходимо перейти
на вкладку RI Actions
В
строке Relationships сущности указываются в
порядке Parent/Child. Соответственно для
каждой из связываемых сущностей представлены
Действия: Удаление Delete, Обновление Update
и добавление Insert. В перечне действий представлены
следующие:
- NONE (при совершении действия, операция выполняется только над данными этой сущности и связываемые сущности не затрагиваются)
-RESTRICT (запрещается выполнять данное действие над этой сущностью)
-CASCADE (действие совершается над данной сущностью и всеми связанными с ней сущностями)
-SET
DEFAULT (значение по умолчанию, как правило
оно равно NONE).
1.2.3
Физическая модель с
комментариями
На физическом уровне определяются типы атрибутов сущностей в соответствии с тем, какими они будут в программе (integer, float, varchar).
В соответствии
с выбранной СУБД Erwin автоматически
выставляет типы данных. При необходимости
можно заменить типы данных атрибутов.
1.2.4
SQL –скрипт
Итогом создания Информационной модели является сгенерированный sql – скрипт, на основе которого в дальнейшем можно строить базу данных.
SQL-скрипт
находится в ПРИЛОЖЕНИИ №1
1.3
Тестирование информационной
модели с использованием
CASE пакета
Тестирование
модели производится с помощью средства
Erwin Examiner.
1.3.1 Исходный протокол
1.3.2
Анализ
ErWin
Examinator указывает на ошибку в Primary key в таб.
MEXAN-AVTO, но эта таблица является связью
между сущностями и поэтому первичный
ключ не обязательно должен присутствовать.
1.3.3
Итоговый протокол
Т.к.
ошибки, указанные в исходном протоколе
являются незначительными и могут
не исправляться, то итоговый протокол
совпадает с исходным.
2. СОЗДАНИЕ БАЗЫ
ДАННЫХ В СУБД (Interbase,
Oracle)
2.1
Краткая характеристика
СУБД
Современная
СУБД Oracle это мощнейший программный
комплекс, позволяющий создавать
приложения любой сложности. Ядром
этого комплекса является база данных,
хранящая информацию, количество которой
за счет предоставляемых средств
масштабирования практически безгранично.
C высокой эффективностью работать с этой
информацией одновременно может практически
любое количество пользователей (при наличии
достаточных аппаратных ресурсов), не
проявляя тенденции к снижению производительности
системы при резком увеличении их числа
ЗАКЛЮЧЕНИЕ
В ходе создания базы данных для хранения информации о работе колледжа получены:
1. К. Дж. Дейт.
«Введение в системы баз
2. Г. Джексон. «Проектирование реляционных баз данных для использования с микроЭВМ». Москва, Мир 1991г.
3. Д. Мейер.
Теория реляционных баз данных.
Москва, Мир, 1997г
ПРИЛОЖЕНИЕ
SQL-скрипт
CREATE TABLE SCHTAT (
№_Sotrudnika INTEGER NOT NULL,
Data_priema DATE,
FIO CHAR(30),
Dolgnost CHAR(18)
);
CREATE UNIQUE INDEX XPKSCHTAT ON SCHTAT
(
№_Sotrudnika
);
ALTER TABLE SCHTAT
ADD PRIMARY KEY (№_Sotrudnika);
CREATE TABLE AGENT (
№_Agenta CHAR(18) NOT NULL,
№_Sotrudnika INTEGER,
Oklad CHAR(18),
%_ot_prodag CHAR(18)
);
CREATE UNIQUE INDEX XPKAGENT ON AGENT
(
№_Agenta,
№_Sotrudnika
);
ALTER TABLE AGENT
ADD PRIMARY KEY (№_Agenta, №_Sotrudnika);
CREATE TABLE PRODAGI (
№_Sotrudnika INTEGER NOT NULL,
№_Agenta INTEGER,
№_Prodagi CHAR(18) NOT NULL,
Информация о работе Проектирование базы данных для торговца подержанными автомобилями