Проектирование базы данных для торговца подержанными автомобилями

Автор работы: Пользователь скрыл имя, 21 Ноября 2010 в 16:57, Не определен

Описание работы

Создание базы данных SQL

Файлы: 1 файл

Курсовая по БД.doc

— 283.50 Кб (Скачать файл)

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. создание физической модели
  3. тестирование модели
  4. генерация скрипта
 

1.2.1. Коротко о используемой нотации (IDEF1X) 

      IDEF1X является методом для разработки  реляционных баз данных и использует  условный синтаксис, специально разработанный для удобного построения концептуальной схемы. Концептуальной схемой мы называем универсальное представление структуры данных в рамках коммерческого предприятия, независимое от конечной реализации базы данных и аппаратной платформы. Будучи статическим методом разработки, IDEF1X изначально не предназначен для динамического анализа по принципу "AS IS", тем не менее, он иногда применяется в этом качестве, как альтернатива методу IDEF1. Использование метода 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 высокой эффективностью работать с этой информацией одновременно может практически любое количество пользователей (при наличии достаточных аппаратных ресурсов), не проявляя тенденции к снижению производительности системы при резком увеличении их числа 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ЗАКЛЮЧЕНИЕ 

      В ходе создания базы данных для хранения информации о работе колледжа получены:

  • навыки проектирования базы данных методом сущность-связь: выделение сущностей и их ключей, определение связей и их характеристик, построение диаграммы ER-типа, генерации набора предварительных отношений
  • практические навыки создания информационной модели в Erwin: создания логической и физической моделей, выделение Сущностей предметной области и Связей между ними, определение действий Связи, генерации SQL-скрипта
  • тестирование информационной модели

    Cписок литературы

 

    1. К. Дж. Дейт. «Введение в системы баз данных».  Диалектика. Киев, Москва 1998г.

    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,

Информация о работе Проектирование базы данных для торговца подержанными автомобилями