Контрольная работа по "Базы данных"

Автор работы: Пользователь скрыл имя, 23 Апреля 2013 в 11:45, контрольная работа

Описание работы

Создать базу данных «РАБОТА БАНКОВ С РАСЧЕТНЫМИ СЧЕТАМИ» (типы счетов, список счетов, перечень операций, тарифы).
1. Разработать с помощью Erwin логическую и физическую модели данных.
2. Путем прямого проектирования получить файл базы данных в формате Access.
3. Создать сценарий, с помощью которого можно сгенерировать базу данных в формате MS SQL Server.

Содержание работы

1. Задание

2. Логическая структура базы данных.

3. Получение файла базы данных в формате Access путем прямого проектирования

4. Создание сценария, с помощью которого можно сгенерировать базу данных в формате MS SQL Server

Заключение

Список используемой литературы

Файлы: 1 файл

BD_variant_17(Автосохраненный).doc

— 543.00 Кб (Скачать файл)

Министерство  образования Республики Беларусь

 

Учреждение  образования

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ  УНИВЕРСИТЕТ

ИНФОРМАТИКИ И  РАДИОЭЛЕКТРОНИКИ

 

 

Контрольная работа по курсу

"Базы данных"

Вариант 17

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Витебск 2013

 

Содержание

Содержание

 

1. Задание

 

2. Логическая  структура базы данных.

 

3. Получение  файла базы данных в формате Access путем прямого проектирования

 

4. Создание сценария, с помощью которого можно сгенерировать базу данных в формате MS SQL Server

 

Заключение

 

Список используемой литературы

 

 

    1.  Задание

 

Вариант 17: Создать базу данных «РАБОТА БАНКОВ С РАСЧЕТНЫМИ СЧЕТАМИ» (типы счетов, список счетов, перечень операций, тарифы).

1. Разработать  с помощью Erwin логическую и физическую модели данных.

2. Путем прямого  проектирования получить файл базы данных в формате Access.

3. Создать сценарий, с помощью которого можно сгенерировать  базу данных в формате MS SQL Server.

 

 

 

    1. Логическая структура базы данных

 

При разработке логической структуры данных необходимо выделить сущности. В нашем случае их будет четыре:

- типы счетов;

- список счетов;

- перечень операций;

- тарифы;

 

Исходя из назначения базы данных, в перечисленных ранее  сущностях можно задать следующие  поля:

 

 

  1. Сущность «Типы счетов»:

- «КодСчета» - первичный ключ, целое, обязательный атрибут, содержит уникальный код, позволяющий однозначно идентифицировать запись;

- «ТипСчета» - текст.

 

 

  1. Сущность «Список счетов»:

- «Код» - первичный ключ, целое, обязательный атрибут, содержит уникальный код, позволяющий однозначно идентифицировать запись;

- «КодСчета» - внешний ключ (неидентифицирующая связь), целое, обязательный атрибут, связано с полем «КодСчета» сущности «Типы счетов»;

- «НаименованиеСчета» - текст;

- «НомерСчета» - целое;

 

 

  1. Сущность «Перечень операций»:

- «КодОперации» - первичный ключ, целое, обязательный атрибут, содержит уникальный код, позволяющий однозначно идентифицировать запись;

- «КодСчета» - внешний ключ (неидентифицирующая связь), целое, обязательный атрибут, связано с полем «КодСчета» сущности «Типы счетов»;

- «ВидОперации» - текст;

- «НомерОперации» - целое;

 

 

  1. Сущность «Тарифы»:

 

- «КодТарифа» - первичный  ключ, целое, обязательный атрибут,  содержит уникальный код, позволяющий  однозначно идентифицировать запись;

- «КодСчета» - внешний ключ (неидентифицирующая связь), целое, обязательный атрибут, связано с полем «КодСчета» сущности «Типы счетов»;

- «ВидТарифа» - текст;

- «НаименованиеТарифа» -текст;

- «НомерТарифа» - целое;

 

 

 

На основании  вышеприведенных соображений в  системе Erwin была создана новая модель данных с типом «Логическая/Физическая», в ней были созданы все вышеприведенные сущности (рисунок 2.1).

 

Рисунок 2.1 – сущности логической структуры базы данных

 

 

 

 

Далее были созданы необходимые идентифицирующие связи «один ко многим» между сущностями (рисунок 2.2).

Рисунок 2.2 – созданные связей между сущностями

Для созданных  идентифицирующих связей были установлены  правила ссылочной целостности RESTRICT (запрет вставки и изменения строк для дочерних сущностей, запрет изменения и удаления строк для родительской сущности).

 

Были созданы  правила валидации для первичных  ключевых полей всех сущностей (рисунок 2.3).

Рисунок 2.3 – настройка правил валидации

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

 

Рисунок 2.4 – логическая структура базы данных

 

3. Получение файла базы  данных в формате Access путем прямого проектирования.

 

Запускаем СУБД MS Access и создаем новую пустую базу данных NBase.mdb, после чего закрываем Access.

Переключаемся в Erwin в режим показа физической модели, убираем пробелы в названиях полей и корректируем типы и длины полей, ориентируясь на специфику типов данных СУБД Access (рисунок 3.1).

Рисунок 3.1 –  физическая модель базы данных

В окне Columns физической модели данных создаем правила валидации для ключевых полей всех сущностей (рисунок 3.2).

Рисунок 3.2 –  правила валидации в физической модели данных

В Erwin с помощью команды меню Tools->Forward Engineer/Schema Generation открываем окно Access Schema Generation, нажимаем кнопку Generate и вводим данные, изображенные на рисунке 3.3 в появившееся окно Access Connection.

Рисунок 3.3 – окно Access Connection

Далее нажимаем кнопку «Connect».

При помощи команды Database->Database Connection открываем окно Access Connection и разрываем соединение с базой данных Метео.mdb нажатием кнопки «Disconnect».

Открываем в СУБД MS Access файл базы данных Метео.mdb, нажимаем кнопку «Схема данных» и получаем схему, изображенную на рисунке 3.4.

 

Рисунок 3.4 – схема данных 
4. Создание сценария, с помощью которого можно сгенерировать базу данных в формате MS SQL Server.

 

Для экспорта полученной логической структуры в СУБД MS SQL Server в системе Erwin были выполнены следующие действия:

1) При помощи команды Select target server была изменена целевая база данных с Access на SQL Server (рисунок 4.1).

Рисунок 4.1 –  смена целевой базы данных

При этом физическая модель данных приобрела вид, изображенный на рисунке 4.2.

Рисунок 4.2 –  физическая модель данных

В SQL Server Enterprise Manager создаем новую базу данных «meteo».

В Erwin выполняем команду меню Tools->Forward Engineer/Schema Generation и в появившемся окне «SQL Server Schema Generation» нажимаем кнопку «Generate», на экране появляется еще одно окно «SQL Server Connection», в котором указываем название базы данных и сервера баз данных (рисунок 4.3) и нажимаем кнопку «Connect».

 

Рисунок 4.3 – окно SQL Server Connection

Полученную  в результате базу данных можно увидеть  в SQL Server Enterprise Manager (рисунок 4.4).

Рисунок 4.4 – созданные таблицы базы данных

 

Полученный SQL-сценарий создания базы данных приведен ниже:

 

 

CREATE RULE Положительное

AS >=0

 

Line 2: Incorrect syntax near '>'.

General SQL Server error: Check messages from the SQL Server.

Execution Failed!

 

 

CREATE TABLE Переработка (

       Затраты              int NULL,

       КодПереработки       int NOT NULL,

       КодПрихода           int NOT NULL,

       Количество           int NULL

)

 

There is already an object named 'Переработка' in the database.

General SQL Server error: Check messages from the SQL Server.

Execution Failed!

 

 

ALTER TABLE Переработка

       ADD PRIMARY KEY (КодПереработки ASC, КодПрихода ASC)

 

Table 'Переработка' already has a primary key defined on it.

Could not create constraint. See previous errors.

General SQL Server error: Check messages from the SQL Server.

Execution Failed!

 

 

exec sp_bindrule Положительное, 'Переработка.КодПереработки'

exec sp_bindrule Положительное, 'Переработка.КодПрихода'

 

The rule 'Положительное' does not exist.

The rule 'Положительное' does not exist.

Execution Failed!

 

 

CREATE TABLE Приход (

       КодПрихода           int NOT NULL,

       Затраты              int NULL,

       Количество           int NULL

)

 

There is already an object named 'Приход' in the database.

General SQL Server error: Check messages from the SQL Server.

Execution Failed!

 

 

ALTER TABLE Приход

       ADD PRIMARY KEY (КодПрихода ASC)

 

Table 'Приход' already has a primary key defined on it.

Could not create constraint. See previous errors.

General SQL Server error: Check messages from the SQL Server.

Execution Failed!

 

 

exec sp_bindrule Положительное, 'Приход.КодПрихода'

 

The rule 'Положительное' does not exist.

Execution Failed!

 

 

CREATE TABLE Расход (

       Количество           int NULL,

       КодРасхода           int NOT NULL,

       КодПереработки       int NOT NULL,

       Сумма                int NULL,

       КодПрихода           int NOT NULL

)

 

There is already an object named 'Расход' in the database.

General SQL Server error: Check messages from the SQL Server.

Execution Failed!

 

 

ALTER TABLE Расход

       ADD PRIMARY KEY (КодРасхода ASC, КодПереработки ASC,

              КодПрихода ASC)

 

Table 'Расход' already has a primary key defined on it.

Could not create constraint. See previous errors.

General SQL Server error: Check messages from the SQL Server.

Execution Failed!

 

 

exec sp_bindrule Положительное, 'Расход.КодРасхода'

exec sp_bindrule Положительное, 'Расход.КодПереработки'

exec sp_bindrule Положительное, 'Расход.КодПрихода'

 

The rule 'Положительное' does not exist.

The rule 'Положительное' does not exist.

The rule 'Положительное' does not exist.

Execution Failed!

 

 

ALTER TABLE Переработка

       ADD FOREIGN KEY (КодПрихода)

                             REFERENCES Приход  (КодПрихода)

 

Execution Successful

 

 

ALTER TABLE Расход

       ADD FOREIGN KEY (КодПереработки, КодПрихода)

                             REFERENCES Переработка (КодПереработки,

              КодПрихода)

 

Execution Successful

 

create trigger tD_Переработка on Переработка for DELETE as

/* ERwin Builtin Thu Jan 05 03:10:32 2012 */

/* DELETE trigger on Переработка  */

begin

  declare  @errno   int,

           @errmsg  varchar(255)

    /* ERwin Builtin Thu Jan 05 03:10:32 2012 */

    /* Переработка  R/12 Расход ON PARENT DELETE RESTRICT */

    /* ERWIN_RELATION:PARENT_OWNER="", PARENT_TABLE="Переработка"

    CHILD_OWNER="", CHILD_TABLE="Расход"

    P2C_VERB_PHRASE="R/12", C2P_VERB_PHRASE="",

    FK_CONSTRAINT="R_12", FK_COLUMNS="КодПереработки""КодПрихода" */

    if exists (

      select * from deleted,Расход

      where

        /*  %JoinFKPK(Расход,deleted," = "," and") */

        Расход.КодПереработки = deleted.КодПереработки and

        Расход.КодПрихода = deleted.КодПрихода

    )

    begin

      select @errno  = 30001,

             @errmsg = 'Cannot DELETE Переработка because Расход exists.'

      goto error

    end

 

 

    /* ERwin Builtin Thu Jan 05 03:10:32 2012 */

    return

error:

    raiserror @errno @errmsg

    rollback transaction

end

 

There is already an object named 'tD_Переработка' in the database.

General SQL Server error: Check messages from the SQL Server.

Execution Failed!

 

create trigger tI_Переработка on Переработка for INSERT as

/* ERwin Builtin Thu Jan 05 03:10:34 2012 */

/* INSERT trigger on Переработка */

begin

  declare  @numrows int,

           @nullcnt int,

           @validcnt int,

           @errno   int,

           @errmsg  varchar(255)

 

  select @numrows = @@rowcount

  /* ERwin Builtin Thu Jan 05 03:10:34 2012 */

  /* Приход R/11 Переработка ON CHILD INSERT RESTRICT */

  /* ERWIN_RELATION:PARENT_OWNER="", PARENT_TABLE="Приход"

Информация о работе Контрольная работа по "Базы данных"