Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Создание БД




Описание таблиц БД

Схема данных

Разработка программы

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

Постоянные данные в среде базы данных включают в себя схему и базу данных. Система управления базами данных (СУБД) использует определения данных в схеме для обеспечения доступа и управления доступом к данным в базе данных.

Схема базы данных (от англ. Database schema) — её структура, описанная на формальном языке, поддерживаемом СУБД. В реляционных базах данных схема определяет таблицы, поля в каждой таблице (обычно с указанием их названия, типа, обязательности), и ограничения целостности (первичный, потенциальные и внешние ключи и другие ограничения).

Схемы в общем случае хранятся в словаре данных. Хотя схема определена на языке базы данных в виде текста, термин часто используется для обозначения графического представления структуры базы данных.

Основными объектами графического представления схемы являются таблицы и связи, определяемые внешними ключами.

Всего имеется одиннадцать таблиц: «Список товаров(TOVARY)», «Материнские платы(MATPLAT)», «Звуковые карты(MEDIACARD)», «ОЗУ(OZY)», «Процессоры(PROCESSORS)», «Видеокарты(VIDEOCARD)», «Винчестеры(VINCHESTERS)», «Расход(RASHOD)», «Приход(PRIHOD)», «Покупатели(POKYPATELY)», «Поставщики(POSTAVSHIKI)».

Для создания таблиц в базе данных применялись следующие SQL-скрипты:

 

Таблица POSTAVSHIKI

CREATE TABLE " POSTAVSHIKI "

(

"N_POS" INTEGER NOT NULL,

"NAME" VARCHAR(70) CHARACTER SET WIN1251,

"GOROD" VARCHAR(30) CHARACTER SET WIN1251,

"TELEPHON" VARCHAR(20) CHARACTER SET WIN1251,

CONSTRAINT "PK_POSTAVSHIKI" PRIMARY KEY ("N_POS")

);

 

Таблица POKYPATELY

 

CREATE TABLE " POKYPATELY "

(

"N_POK" INTEGER NOT NULL,

"NAME" VARCHAR(70) CHARACTER SET WIN1251,

"GOROD" VARCHAR(30) CHARACTER SET WIN1251,

"TELEPHON" VARCHAR(20) CHARACTER SET WIN1251,

CONSTRAINT "PK_POKYPATELY" PRIMARY KEY ("N_POK")

);

 

Таблица MATPLAT

CREATE TABLE " MATPLAT "

(

"PODPROC" VARCHAR(20) CHARACTER SET WIN1251,

"TOVAR" VARCHAR(250) CHARACTER SET WIN1251 NOT NULL,

"KOLVO" INTEGER,

"ID" INTEGER NOT NULL,

CONSTRAINT "PK_MATPLAT" PRIMARY KEY ("ID")

);


Таблица MEDIACARD

CREATE TABLE " MEDIACARD "

(

"ID" INTEGER NOT NULL,

"TOVAR" VARCHAR(250) CHARACTER SET WIN1251,

"KOLVO" INTEGER,

CONSTRAINT "PK_MEDIACARD" PRIMARY KEY ("ID")

);

ALTER TABLE "MEDIACARD" ADD CONSTRAINT "FK_MEDIACARD_1" FOREIGN KEY ("TOVAR") REFERENCES TOVARY ("TOVAR");

 

Таблица OZY

CREATE TABLE " OZY "

(

"ID" INTEGER NOT NULL,

"OBEM" VARCHAR(20) CHARACTER SET WIN1251,

"TIP" VARCHAR(20) CHARACTER SET WIN1251,

"CHASTOTA" VARCHAR(20) CHARACTER SET WIN1251,

"TOVAR" VARCHAR(250) CHARACTER SET WIN1251,

"KOLVO" INTEGER,

CONSTRAINT "PK_OZY" PRIMARY KEY ("ID")

);

ALTER TABLE "OZY" ADD CONSTRAINT "FK_OZY_1" FOREIGN KEY ("TOVAR") REFERENCES TOVARY ("TOVAR");

 

Таблица PRIHOD

CREATE TABLE " PRIHOD "

(

"N_PRIH" INTEGER NOT NULL,

"DAT_PRIH" DATE,

"TOVAR" VARCHAR(250) CHARACTER SET WIN1251,

"KOLVO" INTEGER,

"N_POS" INTEGER,

CONSTRAINT "PK_PRIHOD" PRIMARY KEY ("N_PRIH")

);

ALTER TABLE "PRIHOD" ADD CONSTRAINT "FK_PRIHOD_1" FOREIGN KEY ("TOVAR") REFERENCES TOVARY ("TOVAR");

ALTER TABLE "PRIHOD" ADD CONSTRAINT "FK_PRIHOD_2" FOREIGN KEY ("N_POS") REFERENCES POSTAVSHIKI ("N_POS");

 

Таблица PROCESSORS

CREATE TABLE " PROCESSORS "

(

"ID" INTEGER NOT NULL,

"FIRMA" VARCHAR(20) CHARACTER SET WIN1251,

"TOVAR" VARCHAR(250) CHARACTER SET WIN1251,

"KOLVO" INTEGER,

CONSTRAINT "PK_PROCESSORS" PRIMARY KEY ("ID")

);

ALTER TABLE "PROCESSORS" ADD CONSTRAINT "FK_PROCESSORS_1" FOREIGN KEY ("TOVAR") REFERENCES TOVARY ("TOVAR");

 

Таблица RASHOD

CREATE TABLE " RASHOD "

(

"N_RAS" INTEGER NOT NULL,

"DAT_RAS" DATE,

"TOVAR" VARCHAR(250) CHARACTER SET WIN1251,

"KOLVO" INTEGER,

"N_POK" INTEGER,

CONSTRAINT "PK_RASHOD" PRIMARY KEY ("N_RAS")

);

ALTER TABLE "RASHOD" ADD CONSTRAINT "FK_RASHOD_1" FOREIGN KEY ("TOVAR") REFERENCES TOVARY ("TOVAR");

ALTER TABLE "RASHOD" ADD CONSTRAINT "FK_RASHOD_2" FOREIGN KEY ("N_POK") REFERENCES POKYPATELY ("N_POK");

 

Таблица TOVARY

CREATE TABLE " TOVARY "

(

"CATEGORY" VARCHAR(57) CHARACTER SET WIN1251 NOT NULL,

"TOVAR" VARCHAR(250) CHARACTER SET WIN1251 NOT NULL,

CONSTRAINT "PK_TOVARY" PRIMARY KEY ("TOVAR")

);

 

Таблица VIDEOCARD

CREATE TABLE " VIDEOCARD "

(

"ID" INTEGER NOT NULL,

"FIRM" VARCHAR(20) CHARACTER SET WIN1251,

"OBEM" VARCHAR(20) CHARACTER SET WIN1251,

"TOVAR" VARCHAR(250) CHARACTER SET WIN1251,

"KOLVO" INTEGER,

CONSTRAINT "PK_VIDEOCARD" PRIMARY KEY ("ID")

);

ALTER TABLE "VIDEOCARD" ADD CONSTRAINT "FK_VIDEOCARD_1" FOREIGN KEY ("TOVAR") REFERENCES TOVARY ("TOVAR");

 

Таблица VINCHESTERS

CREATE TABLE " VINCHESTERS "

(

"ID" INTEGER NOT NULL,

"OBEM" VARCHAR(20) CHARACTER SET WIN1251,

"TIPE" VARCHAR(20) CHARACTER SET WIN1251,

"TOVAR" VARCHAR(250) CHARACTER SET WIN1251,

"KOLVO" INTEGER,

CONSTRAINT "PK_VINCHESTERS" PRIMARY KEY ("ID")

);

ALTER TABLE "VINCHESTERS" ADD CONSTRAINT "FK_VINCHESTERS_1" FOREIGN KEY ("TOVAR") REFERENCES TOVARY ("TOVAR");

 

Для упрощения удаления данных из связанный таблиц применялись триггеры(в количестве 2 штук). Ниже приведен пример триггера на удаление покупателя из таблицы «POKYPATELY» и всех расходов, связанных с этим покупателем из таблицы «RASHOD».

CREATE TRIGGER "DELETE_POKYPATELY" FOR "POKYPATELY"

ACTIVE AFTER DELETE POSITION 0

AS

begin

delete From RASHOD Where RASHOD.N_POK=pokypately.N_POK;

end

Для автоматического заполнения поля «ID» во таблицах кроме «TOVARY» были созданы генераторы и процедуры(по 3 штуки для каждой таблицы). Пример генератора и процедуры к таблице «MATPLAT».

CREATE GENERATOR " GEN_MATPLAT_ID ";

CREATE PROCEDURE " SP_GEN_MATPLAT_ID "

RETURNS

(

"ID" INTEGER

)

AS

BEGIN EXIT; END ^

 

 

ALTER PROCEDURE " SP_GEN_MATPLAT_ID "

RETURNS

(

"ID" INTEGER

)

AS

begin

id = gen_id(gen_matplat_id, 1);

suspend;

end

CREATE TRIGGER " MATPLAT _BI" FOR "MATPLAT"

ACTIVE BEFORE INSERT POSITION 0

as

begin

if (new.id is null) then

new.id = gen_id(gen_matplat_id,1);

end

 




Поделиться с друзьями:


Дата добавления: 2015-08-31; Просмотров: 390; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.022 сек.