Помощь в написании студенческих работ
Антистрессовый сервис

Проектирование базы данных библиотеки

КонтрольнаяПомощь в написанииУзнать стоимостьмоей работы

Если соединения нет, становимcя на название базы `my_db' в дереве баз и далее в меню `База данных' выбираем `Подключиться к базе', тогда должно появиться соединение: В курсовой работе разработана база данных под управлением СУБД FireBird, написаны SQL-запросы в соответствии с вариантом. Скрипт создал таблицы (какие атрибуты у таблиц) и настроил связи между таблицами посредством внешнего ключа… Читать ещё >

Проектирование базы данных библиотеки (реферат, курсовая, диплом, контрольная)

Задание

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

Разработать концептуальную модель данных, составить спецификации атрибутов и связей, в системе PowerDesigner сгенерировать физическую модель по концептуальной модели, сгенерировать скрип создания базы данных для СУБД FireBird. Создать базу данных с помощью скрипта и заполнить БД и написать SQL — запросы по варианту.

1. Концептуальная модель

На рисунке 1 представлена концептуальная модель базы данных «Учет книг в библиотеке».

Рисунок 1. Концептуальная модель БД «Учет книг в библиотеке»

Для создания базы данных были сосзданы следующие таблицы:

1. Отделение;

2. Книга;

3. Строка карточки;

4. Карточка читателя.

2. Спецификация связей

В базе данных «Учет книг в библиотеке» связи между таблицами осуществляются следующим образом:

1. Таблица Отдел соединена с таблицей Книга связью один ко многим;

2. Таблица Книга соединена с таблицей Строка карточки связью один ко многим;

3. Таблица Карточка читателя соединена с таблицей Строка карточки связью один ко многим.

3. Спецификация атрибутов

Атрибуты таблицы Отдел:

1. ИДОтдела (первичный ключ), тип int;

2. Название, тип char;

3. Адрес, тип char.

Атрибуты таблицы Книга:

1 ИДКнига (первичный ключ), тип int;

2 ИДОтдела (второичный ключ), тип int;

3 Автор, тип char;

4 Название, тип char;

5 Год издания, тип дата.

Атрибуты таблицы СтрокаКарточки:

1 ИДСтрокаКарточки (первичный ключ), тип int;

2 ИДКарточкаЧитателя (второичный ключ), тип int;

3 ИДКнига (второичный ключ), тип int;

4 Дата выдочи, тип дата;

5 Дата сдачи, тип дата.

Атрибуты таблицы КарточкаЧитателя:

1 ИДКарточкаЧитателя (первичный ключ), тип int;

2 Ф.И.О., тип char;

3 Телефон, тип float;

4. Физическая модель

На рисунке 2 представлена физическая модель БД «Учет книг в библиотеке».

Рисунок 2. Физическая модель БД «Учет книг в библиотеке»

5. Описание создания базы данных, заполнения базы данных

Запускаем IB Expert:

В меню `Файл' выбираем `Создать базу':

Указываем локальный сервер (вариант для дома), название файла my_db.fdb, пользователь `SYSDBA', пароль `masterke' (не `masterkey', пароль вводится маленькими буквами) и жмем `Ok'. Следующее окно: тип сервера локальный, версия сервера `FireBird 2.0', то же название базы, описание (это название файла без расширения), то же имя пользователя и пароль:

Нажимаем кнопку регистрировать, теперь создан файл для БД.

Проверяем, что есть соединение с базой данных:

Если соединения нет, становимcя на название базы `my_db' в дереве баз и далее в меню `База данных' выбираем `Подключиться к базе', тогда должно появиться соединение:

Далее в меню программы выбираем `Инструменты', потом `Редактор скриптов':

Нужно поставить галочку `Использовать текущее соединение' и выбрать файл скрипт, который сгенерировала программа PowerDesignerДалее в меню программы выбираем `Инструменты', потом `Редактор скриптов'.

Выполняем скрипт, нажав на зеленую кнопку:

/*=================================================*/

/* DBMS name: InterBase 6. x */

/* Created on: 01.03.2014 8:58:47 */

/*================================================*/

/*============================================*/

/* Table: Book */

/*===============================================*/

create table Book (

IdBook NUMERIC not null,

IdOtdela NUMERIC,

Avtor VARCHAR (30),

Nazvanie VARCHAR (30),

GodIzdaniy DATE,

constraint PK_BOOK primary key (IdBook)

);

/*================================================*/

/* Table: Karto4ka4itately */

/*===============================================*/

create table Karto4ka4itately (

NomerStroki NUMERIC not null,

FIO VARCHAR (50),

Telifon DECIMAL,

constraint PK_KARTO4KA4ITATELY primary key (NomerStroki)

);

/*===============================================*/

/* Table: Otdel */

/*================================================*/

create table Otdel (

IdOtdela NUMERIC not null,

Name VARCHAR (20),

Adress VARCHAR (50),

constraint PK_OTDEL primary key (IdOtdela)

);

/*===============================================*/

/* Table: StrokaKarto4ki */

/*==============================================*/

create table StrokaKarto4ki (

NomStroki NUMERIC not null,

NomerStroki NUMERIC,

IdBook NUMERIC,

DataVida4i DATE,

DataSda4i DATE,

constraint PK_STROKAKARTO4KI primary key (NomStroki)

);

alter table Book

add constraint FK_BOOK_XRANITSY_OTDEL foreign key (IdOtdela)

references Otdel (IdOtdela);

alter table StrokaKarto4ki

add constraint FK_STROKAKA_VIDANA_KARTO4KA foreign key (NomerStroki)

references Karto4ka4itately (NomerStroki);

alter table StrokaKarto4ki

add constraint FK_STROKAKA_ZAPISANA_BOOK foreign key (IdBook)

references Book (IdBook);

Скрипт создал таблицы (какие атрибуты у таблиц) и настроил связи между таблицами посредством внешнего ключа.

Добавление данных вручную.

Дважды нажимаем мышкой по названию таблицы.

В появившемся окне переходим к вкладке `Данные'.

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

Результат заполненных таблиц:

Таблица Отдел

Таблица. Книга Таблица. СтрокаКарточки Таблица. КарточкаЧитателя

6. SQL-запросы

Запрос № 1 о книгах, которые находятся в данном отделе библиотеки.

select BOOK. AVTOR,

BOOK.nazvanie,

BOOK.godizdaniy

from book,

otdel

where book. idotdela = otdel. idotdela

and otdel. idotdela = 1

Запрос № 2. о книгах, которые на руках данного читателя;

Код запроса:

select BOOK. AVTOR,

BOOK.nazvanie,

BOOK.godizdaniy,

strokakarto4ki.datavida4i

from book,

strokakarto4ki

where strokakarto4ki. idbook = book. idbook

and strokakarto4ki. datasda4i is null

Запрос № 3 о читателях, которые посещают данный отдел библиотеки.

Код:

select karto4ka4itately. fio,

karto4ka4itately.telifon

from karto4ka4itately,

otdel,

book,

strokakarto4ki

where karto4ka4itately. nomerstroki=strokakarto4ki.nomstroki

and strokakarto4ki. idbook= book. idbook

and book. idotdela=otdel.idotdela

and otdel. idotdela=1

Заключение

В курсовой работе разработана база данных под управлением СУБД FireBird, написаны SQL-запросы в соответствии с вариантом.

Список литературы

библиотека модель база скрипт

1. Карпова Т. С. Базы данных: модели, разработка, реализация: Учеб. Пособие / Т. С. Карпова.: Питер, 2008.

2. Глушаков С. В., Ломотько Д. В. Базы данных: Учеб. Пособие / Глушаков С. В., Ломотько Д. В.: «АТС», 2010.

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