Проектирование базы данных библиотеки
Учет книжного фонда библиотеки. Разработка концептуальной модели данных. Составление спецификации атрибутов и связей, генерация в системе PowerDesigner физической модели по концептуальной модели. Создание скрипта создания базы данных для СУБД FireBird.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 10.04.2014 |
Размер файла | 784,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Задание
библиотека модель база скрипт
Пусть в некотором локальном представлении рассматривается учет книжного фонда библиотеки. Получить информацию: а) о книгах, которые находятся в данном отделе библиотеки; б) о книгах, которые на руках данного читателя; в) о читателях, которые посещают данный отдел библиотеки.
Разработать концептуальную модель данных, составить спецификации атрибутов и связей, в системе 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.
Размещено на Allbest.ru
Подобные документы
Построение концептуальной модели, процесс моделирования смыслового наполнения базы данных. Основные компоненты концептуальной модели. Построение реляционной модели. Целостность данных в реляционной базе. Нормализация. Проектирование базы данных в ACCESS.
курсовая работа [1,8 M], добавлен 29.10.2008Описание предметной области и обоснование актуальности разработки базы данных "Учет фонда библиотеки для Харьковского колледжа текстиля и дизайна". Построение реляционной модели данных. Типы сущностей и связей. Разработка объектно-ориентированной модели.
курсовая работа [1,1 M], добавлен 24.01.2016Описание торговой сети, сбор данных, которые должны содержаться в базе данных. Определение сущностей и атрибутов и построение концептуальной модели. Переход к физической модели. Определение таблиц, полей и типов данных. Определение связей между таблицами.
курсовая работа [1,5 M], добавлен 31.03.2015Сущность базы данных. Процесс построения концептуальной модели. Построение реляционной модели, создание ключевого поля. Процесс нормализации. Проектирование базы данных в ACCESS. Порядок создание базы данных. Создание SQL запросов и работа в базе данных.
курсовая работа [185,6 K], добавлен 08.11.2008Построение инфологической (концептуальной) модели предметной области. Проектирование логической и физической структуры базы данных. Реализация проекта в среде конкретной СУБД. Организация корректировки и ввода данных в БД. Разработка интерфейса.
курсовая работа [1,4 M], добавлен 14.01.2018Понятие реляционной модели данных, целостность ее сущности и ссылок. Основные этапы создания базы данных, связывание таблиц на схеме данных. Проектирование базы данных книжного каталога "Books" с помощью СУБД Microsoft Access и языка запросов SQL.
курсовая работа [838,9 K], добавлен 25.11.2010Анализ предметной области. Проектирование концептуальной модели. Разработка логической структуры базы данных. Выделение информационных объектов. Создание глобальной схемы связей. Поддержка целостности данных. Структура и назначение существующих форм.
курсовая работа [1,4 M], добавлен 23.09.2016Составление схемы концептуальной модели данных. Разработка структуры реляционной базы данных и интерфейса пользователя. Особенности главных этапов проектирования базы данных. Способы реализации запросов и отчетов. Специфика руководства пользователя.
курсовая работа [186,9 K], добавлен 18.12.2010Построение инфологической концептуальной модели предметной области. Структура базы данных Microsoft Office Access. Формы, запросы и отчеты. Создание форм, запросов и отчетов в базах данных. Схема данных физической и логической сущности в Erwin 4.0.
курсовая работа [5,1 M], добавлен 13.12.2011Понятие информации, автоматизированных информационных систем и банка данных. Общая характеристика описательной модели предметной области, концептуальной модели и реляционной модели данных. Анализ принципов построения и этапы проектирования базы данных.
курсовая работа [1,7 M], добавлен 18.01.2012