Анализ предметной области
Код Страны (суррогатный ключ): Integer. Код Марки (суррогатный ключ): Integer. Дата Начала (ключевое поле): Date. Код Страны (внешний ключ): Integer. Код Марки (внешний ключ): Integer. Количество Ремонтов: Integer. Название ремонта: Varchar (20). Код Станка (ключ): Varchar (10). Название марки: Varchar (10). Примечания: Varchar (100). Примечания: Varchar (100). Стоимость: Decimal (10,2). Год… Читать ещё >
Анализ предметной области (реферат, курсовая, диплом, контрольная)
Первоначальный анализ предметной области выявил в системе четыре основных сущности:
- · Вид станка
- · Вид ремонта
- · Станок
- · Ремонт
Вид станка определяется параметрами: страна, год выпуска, марка. Станок характеризуется кодом станка, видом станка, и количеством ремонтов, сделанных с данным станком. Между видом станка и станком очевидно имеется не идентифицирующая связь «родитель-потомок».
Вид ремонта идентифицируется названием, продолжительностью и стоимостью. Для удобства к сущности также добавлен параметр «примечания». Сущность «Ремонт» задается видом ремонта, кодом станка и датой начала ремонта и является подчиненной сущностям «Станок» и «Вид ремонта».
Построим по данному описанию инфологическую модель данных с помощью пакета ERWin:
Рис. 1.
Модель адекватно описывает предметную область задачи, однако с точки зрения проектирования базы данных имеет ряд недостатков. В частности, при удалении информации о каком-либо виде станка есть вероятность потерять также данные о стране или марке. В целях нормализации для хранения информации о странах и марках создадим отдельные сущности.
С точки зрения управления системой, я считаю, в сущность «Ремонт» необходимо добавить параметр-флаг, указывающий на завершенность или незавершенность ремонта. Это позволит контролировать не только факт получения заказа на ремонт станка, но и его ход его выполнения, поскольку в реальной практике вполне может возникнуть ситуация, когда фирма по какому либо заказу не сможет уложиться в установленные сроки.
Модифицируем инфологическую модель с учетом данных замечаний:
Рис. 2.
Используя полученную инфологическую модель, разработаем полную атрибутивную модель данных. Определим для каждой сущности типы данных параметров и внешние ключи.
Страна:
- · Код Страны (суррогатный ключ): Integer
- · Название: Varchar (50)
Марка:
- · Код Марки (суррогатный ключ): Integer
- · Название марки: Varchar (10)
Вид Станка:
- · Код Вида Станка (суррогатный ключ): Integer
- · Год Выпуска: Numeric (4)
- · Код Страны (внешний ключ): Integer
- · Код Марки (внешний ключ): Integer
Станок:
- · Код Станка (ключ): Varchar (10)
- · Количество Ремонтов: Integer
- · Код Вида Станка (внешний ключ): Integer
Вид Ремонта:
- · Код Вида Ремонта (суррогатный ключ): Integer
- · Длительность: Integer
- · Название ремонта: Varchar (20)
- · Стоимость: Decimal (10,2)
- · Примечания: Varchar (100)
Ремонт:
- · Код Станка (внешний ключ, ключевое поле): Varchar (10)
- · Код Вида Ремонта (внешний ключ, ключевое поле): Integer
- · Дата Начала (ключевое поле): Date
- · Завершен?: Char (1) — должен принимать только значения 'Y' или 'N'
- · Примечания: Varchar (100)
Полная атрибутивная модель будет иметь вид:
Рис. 3.
Воспользуемся инструментом ERWin и создадим по данной инфологической модели физическую модель данных для базы данных типа InterBase:
Рис. 4.
В структуру добавлена одна вспомогательная таблица MONTHS, которая в будущем облегчит создание запросов.