КАТЕГОРИИ: Архитектура-(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") );
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; Просмотров: 408; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |