Методология проектирования баз данных
Методология проектирования баз данных
2 Калужский филиал Государственного образовательного учреждения высшего профессионального образования «Московский государственный технический университет им. Н.Э.Баумана» Кафедра ЭИУ 3-К "ЭИУК" Методология проектирования баз данных Расчётно-пояснительная записка к курсовой работе по курсу Проектирование алгоритмов и программного обеспечения г. Калуга 2007 Содержание 1. Детальная постановка задачи 2. Концептуальное проектирование 3. Логическое проектирование 4. Физическое проектирование. 5. Физическая реализация Список используемой литературы 1. Детальная постановка задачи Существует предприятие, занимающееся производством компонентов для систем кабельного и спутникового телевидения. Предприятие состоит из нескольких подразделений, каждое из которых имеет свой номер и название и ФИО директора подразделения. Принципиальное значение для данной задачи имеет служба качества. В службе качества выделяется ведущий специалист, который является директором этой службы. Это единственный человек на предприятии, который имеет право формировать электронные документы, вносить в них изменения, удалять их. Все остальные работники (пользователи) независимо от принадлежности к тому или иному подразделению имеют право только просматривать электронные документы в режиме чтения. Все документы делятся на две категории: Ш нормативные документы системы менеджмента качества (СМК) Ш внутренние документы СМК Перечень документов и форма их составления являются прерогативой директора службы качества. Каждый документ имеет реквизиты: номер по классификатору, наименование, дату принятия, тематику, статус, дату изменения, характер изменений (если они были). Необходимо иметь ввиду, что каждому номеру документа по классификатору в категории нормативных документов физически может соответствовать несколько документов (формат ****.doc). Удаленные документы должны помещаться на хранение в электронный архив на неопределенный срок. Очищать этот архив может только директор службы качества. Ведется протокол работы пользователей с обеими категориями документов, в котором отражается имя документа, к которому осуществлялся доступ, дата доступа, фамилия работника (имя пользователя). Директор службы качества проводит в подразделениях внутренние проверки системы качества на предмет соответствия работы этих подразделений требованиям нормативной и внутренней документации СМК. Результаты проверок содержат следующие данные: - проверяемое подразделение - номер проверки - дата проверки - описание несоответствия - вид несоответствия (значительное, незначительное) Типовые операции: - добавление документа - редактирование документа - описание внесенных изменений - удаление документа (добавление в электронный архив) - удаление документов из электронного архива - добавление/удаление результатов внутренних проверок СМК - подготовка отчета о результатах внутренних проверок СМК по форме: |
Дата проверки | Наименование проверяемого подразделения | Описание несоответствия (если оно есть) | | | | | | | | | - подготовка отчета о работе пользователей с документами СМК по форме: |
Дата | Наименование документа | Время | Фамилия | | | | | | | |
2. Концептуальное проектирование Определение типов сущности: - подразделение - Директор службы качества - работники - электронный документ - нормативный документ СМК СМК - система менеджмента качества - внутренний документ СМК - протокол работы - проверки СМК Определение типов связи: - Директор службы качества работает с электронными документами - Электронные документы включают в себя нормативные документы СМК - Электронные документы включают в себя внутренние документы СМК - Документы учитываются в протоколе работы - Директор службы качества проводит проверки подразделений - Подразделения участвуют в проверках - Работники фиксируются в протоколе работы - Работники приписаны к подразделениям Таблица №1 Типы сущности |
Наименование | Краткое описание | Синонимы | Особенности | | Подразделение | Структурная единица предприятия | Отдел | Каждое подразделение возглавляется директором | | Директор службы качества | | Директор по качеству | Центральная фигура в данной постановке задачи | | Работники | Общее наименование для всех работающих на предприятии | | В данной постановке задачи - это все остальные кроме Директора по качеству | | Электронный документ | Документ в электронном виде в формате ***.doc | Файл | Делятся на две категории | | Нормативный документ СМК | | | Документы , отражающие общепринятые стандарты в СМК | | Внутренний документ СМК | | | Документы, действующие внутри предприятия | | | | | | | Протокол работы | Информация о работе с документами | Статистика работы с документами | Обращение любого работника к любому документу должно отражаться в протоколе работы | | Проверки СМК | Действие по выявлению несоответствий | Аудит | Только директор службы качества проверяет подразделения | | |
Таблица №2 Типы связей |
Тип сущности | Тип связи | Тип сущности | Кардинальность | Степень участия | | Директор службы качества | Работает | Эл. документ | 1:М | Т : Т | | Работники | Приписаны к | Подразделения | М : 1 | Т : Т | | Работники | Фиксируются | Протокол работы | 1 : М | Р : Т | | Электронные документы | Включают в себя | Нормативные документы СМК | М : N | Р : Т | | Электронные документы | Включают в себя | Внутренние документы СМК | М : N | Р : Т | | Электронные документы | Учитываются в | Протокол работы | 1 : М | P : Т | | Директор службы качества | Проводит | Проверки | 1 : М | Т : Т | | Подразделения | Участвуют в | Проверки | 1 : М | Т : Р | | |
Таблица №3 Атрибуты |
Тип сущности (тип связи) | Атрибут | Описание | Тип данных | Значение по умолчанию | Допустимость NULL | Производные/ множественные | | Подразделение | Название | | Символьный | - | Нет | | | | Номер | Уникальный № | Целый | - | Нет | | | | ФИО директора подразделения | Фамилия директора подразделения | символьный | - | Нет | | | Директор службы качества | Дата вступления в должность | | Date | - | Нет | | | | Ф.И.О. | Фамилия, имя , отчество | Символьный | | Нет | | | | имя пользователя | | Символьный | | Нет | | | Работники | имя пользователя | | Символьный | | Нет | | | | Ф.И.О. | Фамилия, имя , отчество | Символьный | | Нет | | | Электронный документ | Номер по классификатору | Номер - это пункт ГОСТ Р ИСО 9001 | Символьный | - | Нет | | | | Наименование документа | | Символьный | - | Нет | | | | Дата принятия | Дата вступления документа в действие | Дата | - | Нет | | | | Тематика | | Символьный | - | Да | | | | Статус | Изменен Удален | Символьный | - | Да | | | | Дата изменения | Дата изменения нормативного или внутреннего документа | Дата | - | Да | | | | Характер изменений | Описание внесенных в документ изменений (если они были) | Символьный | - | Да | | | Нормативный документ СМК | Те же, что и у электронного документа | | Внутренний документ СМК | Те же, что и у электронного документа | | Протокол работы | | | | | | | | | Дата-время доступа | Текущая дата | Дата - время | | Нет | | | | | | | | | | | Проверки СМК | | | | | | | | | Номер проверки | Сквозная нумерация, начиная с 1 | Целый | - | Нет | | | | Дата проверки | | Дата | | Нет | | | | Описание несоответствия | Текстовое описание нарушений | Символьный | - | Да | | | | Вид несоответствия | Значительное, незначительное | Символьный | - | Да | | | |
Таблица №4 Домены атрибутов |
Домен | Атрибут | Тип данных | Ограничения | Примеры значений | | Наименование | Подразделения | Символьный(70) | | Служба качества | | | документа | | | Управление документацией | | Номер | Подразделения | Целый | | | | | документа | Символьный(7) | | 4.2.3 | | | проверки | Целый | | | | ФИО | Директора подразделения | Символьный(20) | | Иванов И.И. | | | Работника | | | | | Имя | пользователь | Символьный(20) | | SYSDBA | | Дата | Принятия электронного документа, нормативного, внутреннего | Date | Не позднее текущей | | | | Проверки | | Текущая, или раньше текущей даты | | | | | | Не раньше текущей | | | | | | | | | | Изменения электронного документа, нормативного, внутреннего | | Текущая, или раньше текущей даты | | | | Доступа в протоколе работы | | текущая | | | Описание | Характера изменений электронного документа, нормативного, внутреннего | Символьный(30) Символьный(1000) | | Изменены страницы 2,5,9 | | | Несоответствий в проверках СМК | | | Описание процессов жизненного цикла продукции не соответствует требованиям нормативной документации, пункт 7.1 | | Тематика | электронного документа, нормативного, внутреннего | Символьный (30) | | Дирекция. Планово - экономический отдел. | | Статус | электронного документа, нормативного, внутреннего | Символьный(10) | | Изменен. Удален. На коррекцию. | | Вид несоответствия | В проверках СМК | Символьный (15) | Значительное. Незначительное. | | | |
Таблица №5 Ключи |
Сущность | ПК | Альтернативный ключ | | | | | | Подразделение | Номер | Название | | | | | | Директор службы качества | Имя пользователя | Ф.И.О. | | Работники | Имя пользователя | Ф.И.О. | | | | | | Электронный документ | Наименование документа + Номер по классификатору | | | Нормативный документ СМК | | | | Внутренний документ СМК | | | | | | | | | | | | | | | Протокол работы | Дата-время | | | | | | Проверки СМК | Номер проверки | | | | | | | | | | | |
Специализация / генерализация Преобразуем сущность «электронный документ» в суперкласс. Подклассами будут являться «нормативный документ СМК», «внутренний документ СМК». Подклассы не пересекаются, участие суперкласса полное. ER - модель
3. Логическое проектирование Предполагается использование реляционной модели данных. Необходимо избавиться от структур концептуальной модели, не реализуемых в рамках реляционной модели. Удаляем связь «Директор службы качества работает с электронными документами», т.к. эта связь является транзакцией. Скорректированная ER-модель
Определение набора отношений Объединим подклассы «нормативный документ СМК» и «внутренний документ СМК» в одно отношение «Электронный документ», т.к. все экземпляры сущностей обоих подклассов имеют одинаковые атрибуты. Также для этого отношения необходимо определить новый атрибут «вид документа» для того, чтобы идентифицировать, к какому подклассу относится документ. 1. Директор службы качества (Ф.И.О., имя пользователя, дата вступления в должность) ПК : имя пользователя 2. Проверки (№ проверки, дата, описание несоответствия, вид несоответствия, Ф.И.О. , № подразделения) ПК: № проверки ВК: имя пользователя директора службы качества Директор службы качества ВК: номер подразделения Подразделения 3. Подразделения (№ подразделения, название, Ф.И.О. директора подразделения) ПК: номер 4. Работники (Ф.И.О., имя пользователя, номер подразделения) ПК: имя пользователя ВК : номер Подразделения 5. Протокол работы (наименование документа, номер по классификатору, дата-время доступа, Ф.И.О., имя пользователя) ПК: дата-время ВК: наименование док-та + номер по классификатору Электронные документы ВК: имя пользователя Работники 6. Электронные документы (наименование документа, номер по классификатору, дата принятия, дата изменения, тематика, статус, характер изменений, вид документа) ПК: наименование док-та + номер по классификатору Проверка отношений на соответствие требованиям нормализации: 2 НФ 1. Ф.И.О. дата вступления в должность Ф.И.О. имя пользователя имя пользователя Ф.И.О. имя пользователя дата вступления в должность 2. № проверки дата проверки № проверки описание несоответствия № проверки вид несоответствия 3. № название подразделения № Ф.И.О. директора подразделения название подразделения № название подразделения Ф.И.О. директора подразделения 4. Ф.И.О. имя пользователя имя пользователя Ф.И.О. 5. собственный атрибут только один - «дата-время» 6. Наименование документа + номер по классификатору дата принятия Наименование документа + номер по классификатору тематика Наименование документа + номер по классификатору статус Наименование документа + номер по классификатору характер изменений Наименование документа + номер по классификатору дата изменения 3 НФ Транзитивные зависимости отсутствуют, значит, отношения соответствуют 3НФ. НФБК В отношениях 1-5 ПК состоит из одного атрибута, а в отношении 6 отсутствуют несколько составных потенциальных ключей, пересекающихся по набору атрибутов. Следовательно, все отношения соответствуют НФБК, что гарантирует отсутствие проблем обновления. Полученная ER-модель (стр. 15) позволяет реализовать все транзакции, изложенные в постановке задачи. Требования, обеспечивающие ссылочную целостность 1) Для всех первичных ключей устанавливается значение NOT NULL. 2) Атрибуты, которые допускают NULL: Ш Отношение «Проверки» Атрибуты: описание несоответствия, вид несоответствия Ш Отношение «Протокол работы» Атрибуты, которые являются ВК: ФИО, Наименование документа + номер по классификатору Ш Отношение «Электронные документы» Атрибуты: Дата изменения, статус, тематика, характер изменения 3) Для всех ВК: ON UPDATE CASCADE ON DELETE NO ACTION Кроме ВК в отношении «Протокол работы»: ON UPDATE CASCADE ON DELETE CASCADE 4) Бизнес-правила: Директор службы качества имеет полный доступ ко всей информации в БД, все остальные работники имеют ограниченный доступ, а именно, просмотр документов в режиме чтения. 4. Физическое проектирование Директор службы качества |
ФИО(*) | Имя пользователя | Дата вступления в должность | | | | | | |
Проверки |
№ проверки(*) | Дата | Описание несоответствия | Вид несоответствия | ФИО | № подразделения | | | | | | | | | |
Подразделения |
Номер(*) | Названия | ФИО директора подразделения | | | | | | |
Работники |
Номер(*) | ФИО | Имя пользователя | № подразделения | | | | | | | |
Протокол работы |
Номер(*) | Дата-время доступа | № работника | № документа | | | | | | | |
Электронные документы |
Вид документа | № по классификатору | Наименование документа | Дата принятия | Дата изменения | Статус | Тематика | Характер изменения | № документа | | | | | | | | | | | | |
Архив удаленных документов |
№ по классификатору | Наименование документа | Дата принятия | Дата удаления | Тематика | Характер изменения | Вид документа | Номер (*) | | | | | | | | | | | |
Создание вторичных индексов: Таблица «Работники»: поле «Имя пользователя» Таблица «Электронные документы»: поле («Наименование» + «№ по классификатору») Доступ: Директор службы качества и администратор - полный доступ, а все остальные - просмотр документов в режиме чтения. 5. Физическая реализация Серверная часть /********************************************************/ /** Generated by IBExpert 2004.01.22 23.05.2004 20:38:17 ****/ /********************************************************/ SET SQL DIALECT 3; SET NAMES WIN1251; CREATE DATABASE 'Document:C:\Program Files\Borland\InterBase\bin\ELECTRDOC.GDB' USER 'SYSDBA' PASSWORD 'administrator' PAGE_SIZE 1024 DEFAULT CHARACTER SET WIN1251; /*********************************************************/ /**** Generators ****/ /*********************************************************/ CREATE GENERATOR ARHIVN; SET GENERATOR ARHIVN TO 16; CREATE GENERATOR DOCN; SET GENERATOR DOCN TO 17; CREATE GENERATOR PODRAZDN; SET GENERATOR PODRAZDN TO 4; CREATE GENERATOR PROTOCOLN; SET GENERATOR PROTOCOLN TO 52; CREATE GENERATOR PROVERKIN; SET GENERATOR PROVERKIN TO 13; CREATE GENERATOR RABN; SET GENERATOR RABN TO 19; /*************************************************************//**** Exceptions ****/ /******************************************************/ CREATE EXCEPTION NODELETE 'Нельзя удалить данного работника'; CREATE EXCEPTION NOLOGIN 'Имя пользователя должно быть уникальным'; SET TERM ^ ; /************************************************************/ /**** Stored Procedures ****/ /************************************************************/ CREATE PROCEDURE ADD_DOCUMENT ( NKLASS VARCHAR(7), TEMA VARCHAR(30), DATA DATE, VID VARCHAR(15), NAME VARCHAR(70)) AS BEGIN EXIT; END^ CREATE PROCEDURE ADDDIRECTOR ( DATA DATE, LOGIN VARCHAR(20), FAMILY VARCHAR(20)) AS BEGIN EXIT; END^ CREATE PROCEDURE ADDPODRAZDELENIE ( NAZV VARCHAR(70), FIO VARCHAR(20)) AS BEGIN EXIT; END^ CREATE PROCEDURE ADDPROTOCOL ( NUMDOC INTEGER) AS BEGIN EXIT; END^ CREATE PROCEDURE ADDPROVERKI ( NAZVPODR VARCHAR(70), FIO VARCHAR(20), OPISANIE VARCHAR(1000), VID VARCHAR(15), DATA DATE) AS BEGIN EXIT; END^ CREATE PROCEDURE CLEARARHIV AS BEGIN EXIT; END^ CREATE PROCEDURE CLEARPROTOCOL AS BEGIN EXIT; END^ CREATE PROCEDURE DELETEDIRECTOR ( FIO VARCHAR(20)) AS BEGIN EXIT; END^ CREATE PROCEDURE DELETEDOC ( NUM INTEGER) AS BEGIN EXIT; END^ CREATE PROCEDURE DELETEPODRAZD ( NOMER INTEGER) AS BEGIN EXIT; END^ CREATE PROCEDURE DELETEPROVERKA ( NPROVERKI INTEGER) AS BEGIN EXIT; END^ CREATE PROCEDURE DELETERABOTNIK ( NUM INTEGER) AS BEGIN
Страницы: 1, 2
|