Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ КП ИОСУ 2015.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
5 Мб
Скачать
☆

4. Диаграмма функциональных зависимостей на основе анализа

5. Нормализованная инфологическая модель данных на основе анализа представленных документов предметной области*

Краткая справка по процессу проведения нормализации.

  1. Сущность находится в первой нормальной форме тогда и только тогда, когда все атрибуты содержат атомарные значения (значения в домене не являются ни списками, ни множествами простых или сложных значений);

  2. Сущность находится во второй нормальной форме, если она находится в первой нормальной форме, и каждый неключевой атрибут полностью зависит от первичного ключа (не должно быть зависимости от части ключа). Вторая нормальная форма имеет смысл только для сущностей, имеющих сложный первичный ключ.

  3. Сущность находится в третьей нормальной форме, если она находится во второй нормальной форме и никакой неключевой атрибут не зависит от другого неключевого атрибута (не должно быть взаимозависимости между неключевыми атрибутами).

* цветом помечены сущности - процессы

6. Логическая модель данных на основе инфологической модели данных

  1. Физическая модель данных

Внимание! Синтаксис может не восприниматься вашей СУБД. В таком случае, читайте справку по синтаксису SQL вашей СУБД.

7.1. Создание базы данных с именем tochprib

CREATE DATABASE tochprib

7.2. Создание таблиц

CREATE TABLE poversotr

(pov_tabnom SMALLINT NOT NULL PRIMARY KEY,

pov_fam VARCHAR(15),

pov_ima VARCHAR(10),

pov_otch VARCHAR(15),

pov_datapost DATETIME,

pov_oklad REAL)

CREATE TABLE sred

(sred_kod VARCHAR(10) NOT NULL PRIMARY KEY,

sred_naim VARCHAR(60))

CREATE TABLE pribor

(prib_nom VARCHAR(20) NOT NULL PRIMARY KEY,

sred_kod VARCHAR(10) NOT NULL REFERENCES sred)

CREATE TABLE zakazchik

(zak_kod SMALLINT NOT NULL PRIMARY KEY,

zak_fio VARCHAR(50),

zak_naim VARCHAR(50),

zak_adress VARCHAR(50),

zak_rs VARCHAR(100),

zak_inn CHAR(10),

zak_tel CHAR(10))

CREATE TABLE dogovor

(dog_nom VARCHAR(10) NOT NULL PRIMARY KEY,

dog_data DATETIME,

dog_sum REAL,

zak_kod SMALLINT NOT NULL REFERENCES zakazchik)

CREATE TABLE zayvka

(zayvka_s INT NOT NULL PRIMARY KEY,

dog_nom VARCHAR(10) NOT NULL REFERENCES dogovor,

prib_nom VARCHAR(20) NOT NULL REFERENCES pribor,

zayvka_srok CHAR(10)DEFAULT 'срочно',

zayvka_прим CHAR(40)DEFAULT 'на территории исполнителя')

CREATE TABLE velich

(vel_kod SMALLINT NOT NULL PRIMARY KEY,

vel_naim VARCHAR(50))

CREATE TABLE poverka

(poverka_s INT NOT NULL PRIMARY KEY,

poverka_data DATETIME,

zayvka_s INT NOT NULL REFERENCES zayvka,

pov_tabnom SMALLINT NOT NULL REFERENCES poversotr,

vel_kod SMALLINT NOT NULL REFERENCES velich,

poverka_otm VARCHAR(15) DEFAULT 'соответствует')

7.3. Ввод данных в таблицы (создание тестового примера)

Ввод данных начинается с родительских таблиц.

В таблицы необходимо внести данные тестового примера, воспользовавшись оператором INSERT.

INSERT INTO sred VALUES ('ЩК120', 'Щитовой электроизмерительный прибор переменного тока')

I NSERT INTO pribor VALUES ('ВТ-131-2009', 'ЩК120')

INSERT INTO zakazchik VALUES (1,'Иванов Сергей Иванович','ОАО «Электросервис»','г. Ульяновск, Королева, 34','00056789345123 в ГРКЦ НБ Ульяновской области г. Ульяновск', '771703456','33-69-85')

INSERT INTO dogovor VALUES ('123/в','05.25.2012',50000.0,1)

INSERT INTO zayvka VALUES (3, '123/в','ВТ-132-2009','не срочно','на территории ОАО «Электросервис»')

I NSERT INTO velich VALUES (2,'Переменный ток')

I NSERT INTO poversotr VALUES (11234,'Петров','Иван','Петрович','01.01.2005',12500.00)