Бакалавр
Дипломные и курсовые на заказ

Физическое проектирование. 
Разработка информационной системы "Библиотека" с использованием клиент-серверной технологии

РефератПомощь в написанииУзнать стоимостьмоей работы

Imya_chitatelya d_name /* d_name = varchar (45) not null */,. Alter table chitatel add primary key (nomer_chitatelya); Otchestvo d_name /* d_name = varchar (45) not null */,. Ulica d_name /* d_name = varchar (45) not null */,. Create or alter trigger chitatel_bi0 for chitatel. Задание первичного ключа. Таблица 2. Список доменов. NEW. nomer_chitatelya=gen_id (gen_chitatel, 1); Таблица 1. ER… Читать ещё >

Физическое проектирование. Разработка информационной системы "Библиотека" с использованием клиент-серверной технологии (реферат, курсовая, диплом, контрольная)

После даталогического проектирования запускаем приложение администрирования баз данных Firebird IBExpert и, используя функции заложенные в этом программном средстве, создаем и регистрируем в системе новую базу данных Firebird «Библиотека». Создание базы данных инсталлирует инфраструктуру, необходимую для начала создания объектов. Первичным объектом для постоянного хранения данных в базе данных является таблица.

Приступая к созданию таблиц, предполагается, что уже выполнен анализ данных и подготовлена модель, а также имеется совершенно четкое представление о структурах главных таблиц и их взаимоотношениях. Исходя из данных, полученных при выполнении инфологического и даталогического проектирования, спроектировал таблицы и поля базы данных. Определяем ключевые поля и поля Not null (см. Таблица 1).

В данной базе данных для определения типов данных столбцов таблиц используются домены (см. Таблица 2). Домены в Firebird схожи с концепцией «типы данных, определенные пользователем». Хотя и невозможно создать новый тип данных, но можно задать набор атрибутов с одним из существующих типов данных и присвоить ему идентификатор домена. После этого можно использовать домен как параметр типа данных для определения столбцов любой таблицы. Преимущества инкапсуляции определения данных очевидны, так как в Firebird отсутствует логический, денежный и некоторые другие типы данных, но, используя домены, можно создать замену этим типам данных.

Имя таблицы.

Имя поля.

Тип.

Длина.

Десятичная часть.

Имя домена.

bibliotekor.

Nomer_bibliotekorya.

SMALLINT.

D_INDEXTYPE.

Nomer_otdela.

SMALLINT.

D_INDEXTYPE.

Fio_bibliotekorya.

VARCHAR.

D_NAME.

chitatel.

Nomer_chitatelya.

SMALLINT.

D_INDEXTYPE.

Familiya_4itatelya.

VARCHAR.

D_NAME.

Imya_chitatelya.

VARCHAR.

D_NAME.

adres.

VARCHAR.

D_ADRES.

telefon.

VARCHAR.

D_TEL.

Knigi.

Nomer_knigi.

SMALLINT.

D_INDEXTYPE.

Nomer_otdela.

SMALLINT.

D_INDEXTYPE.

nazvanie_knigi.

VARCHAR.

D_NAME.

kol_vo_stranic.

SMALLINT.

D_INDEXTYPE.

avtor.

VARCHAR.

D_NAME.

id.

SMALLINT.

D_INDEXTYPE.

New_table.

Nomer_knigi.

SMALLINT.

D_INDEXTYPE.

Nomer_otdela.

SMALLINT.

D_INDEXTYPE.

nazvanie_knigi.

VARCHAR.

D_NAME.

kol_vo_stranic.

SMALLINT.

D_INDEXTYPE.

avtor.

VARCHAR.

D_NAME.

izmen.

VARCHAR.

D_NAME.

data_tr.

DATE.

D_DATETYPE.

otdel_knig.

nazvanie_otdela.

VARCHAR.

D_NAME.

Nomer_otdela.

SMALLINT.

D_INDEXTYPE.

kol_vo_knig.

SMALLINT.

D_INDEXTYPE.

telefon.

VARCHAR.

D_TEL.

nomer_bibliotekorya.

SMALLINT.

D_INDEXTYPE.

Vida4a_knig.

Nomer_zapisi.

SMALLINT.

D_INDEXTYPE.

Nomer_knigi.

SMALLINT.

D_INDEXTYPE.

Nomer_bibliotekorya.

SMALLINT.

D_INDEXTYPE.

Nomer_4itatelya.

SMALLINT.

D_INDEXTYPE.

data_vyda4i_knigi.

DATE.

D_DATETYPE.

data_vozvrata_knigi.

DATE.

D_DATETYPE.

Таблица 1. ER — модель БД.

Имя домена.

Тип.

Длинна.

Ограничения.

D_INDEXTYPE.

SMALLINT.

VALUE>0.

D_NAME.

VARCHAR.

D_ADRES.

VARCHAR.

D_TEL.

VARCHAR.

D_DATETYPE.

DATE.

VALUE<='TODAY'.

Таблица 2. Список доменов.

Теперь, когда проработаны все теоретические аспекты создания базы данных, можно приступать к программированию доменов и таблиц. Для этого, запустив IBExpert, загружаем SQL редактор и выбираем меню Tools->SQL Editor.

В появившемся окне пишем скрипт для создания домена D_NAME:

CREATE DOMAIN D_NAME AS.

VARCHAR (45) CHARACTER SET WIN1251.

NOT NULL.

COLLATE WIN1251.

Подобным образом создал домены D_INDEXTYPE, D_ADRES, D_DATETYPE, D_TEL. (см. Приложение 1).

Создав домены, приступаем к созданию таблиц. Всего в БД будет создано шесть таблиц. Таблицы имеют связи, реализуемые с помощью первичных и вторичных ключевых полей. Кроме связей эти поля также влияют на целостность данных.

Средствами IBExpert создаем таблицу chitatel и указываем ключевые поля, в этой таблице будут храниться данные о типах мебели:

CREATE TABLE CHITATEL (

FAMILIYA_CHITATELYA D_NAME /* D_NAME = VARCHAR (45) NOT NULL */,

IMYA_CHITATELYA D_NAME /* D_NAME = VARCHAR (45) NOT NULL */,

OTCHESTVO D_NAME /* D_NAME = VARCHAR (45) NOT NULL */,

ULICA D_NAME /* D_NAME = VARCHAR (45) NOT NULL */,

NOMER_DOMA D_INDEXTYPE /* D_INDEXTYPE = INTEGER NOT NULL */,

TELEFON D_TEL /* D_TEL = VARCHAR (15) */,

NOMER_CHITATELYA D_INDEXTYPE NOT NULL /* D_INDEXTYPE = INTEGER NOT NULL */);

— Задание первичного ключа

ALTER TABLE CHITATEL ADD PRIMARY KEY (NOMER_CHITATELYA);

Используя комбинацию генератора с триггером, реализуем автоинкрементное поле для таблицы chitatel

— Создание генератора

CREATE GENERATOR GEN_ID_ CHITATEL;

— Создание триггера.

CREATE OR ALTER TRIGGER CHITATEL_BI0 FOR CHITATEL

ACTIVE BEFORE INSERT OR UPDATE POSITION 0

AS

begin

IF (NEW.nomer_chitatelya is null) then

NEW.nomer_chitatelya=gen_id (gen_chitatel, 1);

end

Подобным образом создаем остальные таблицы. Задаем для этих таблиц ключевые поля, вторичные ключи, разрабатываем генераторы и триггеры (см. Приложение 1).

Показать весь текст
Заполнить форму текущей работой