Файл: ЦЕЛИ_ ЗАДАЧИ_ТЕМЫ КП БД.docx

ВУЗ: Не указан

Категория: Методичка

Дисциплина: Базы данных

Добавлен: 21.10.2018

Просмотров: 1470

Скачиваний: 11

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
  1. Сотрудники, принимающие и выполняющие заказы: имеют доступ по записи к отношениям CUSTOMERS, ORDERS, ITEMS и по чтению к полям B_title, B_circul, B_priceи B_restотношения BOOKS (название, тираж, цена, непроданный остаток тиража).

4. Физическое проектирование БД

Мы условились не привязываться к конкретной СУБД и выполнять описание логической схемы БД на SQL-92. Следует заметить, что в некоторых СУБД использование базового SQL-92 для реализации схемы данных затруднительно. Если операторы SQL, такие как chec, numeric и пр. не срабатывают, и СУБД выдает ошибку описания, нужно переключить настройки СУБД на использование стандарта ANSI SQL -92, или заменить эти операторы на другие, аналогичные. Если же использовать SQL-92 для реализации БД в выбранной Вами СУБД не представляется возможным, рекомендуется создать в режиме создания таблиц все спроектированные отношения и связать их в режиме "Схема данных"(как, например, в Access). Описание всех отношений на SQL -92 в пояснительной записке КП обязательно.

Приведём фрагмент описания схемы БД на DDL:

  1. Отношение POSTS (должности):

create table posts (

p_id numeric(3) primary key,

p_post varchar(30) not null,

p_salary numeric(8,2) not null check(p_salary > 0));

  1. Отношение ROOMS (комнаты):

create table rooms (

r_no numeric(3) primary key,

r_tel varchar(10),

unique(r_no, r_tel));

  1. Отношение EMPLOYEES (сотрудники):

create table employees (

e_id numeric(4) primary key,

e_fname varchar(20) not null,

e_lname varchar(30) not null,

e_born date,

e_sex char(1) not null check(e_sex in ('ж','м')),

e_post numeric(3) references posts,

e_room numeric(3),

e_tel varchar(10),

e_inn char(12) not null,

e_passp char(12) not null,

e_org varchar(30) not null,

e_pdate date not null,

e_addr varchar(50),

foreign key(e_room,e_tel) references rooms(r_no,r_tel));

Другие отношения описываются аналогично. В результате реализации в среде СУБД MS Access-2007 получается схема данных, представленная на рисунке 10.

Рис.10 Схема данных в СУБД MS Access-2007

Права доступа пользователей, описанные в п. 2.4.4, предоставляются с помощью команды GRANT. Рассмотрим для примера права сотрудника компании user1, который принимает и обслуживает заказы. Права доступа к отношениям CUSTOMERS, ORDERS, ITEMS могут быть описаны следующим образом:

grant insert, update on customers to user1;

grant insert, update, delete on orders to user1;

grant insert, update, delete on items to user1;

Для реализации частичного доступа к отношению BOOKS следует создать соответствующее представление и предоставить доступ к этому представлению:

create view goods (id, title, circul, price, rest)

as select b_contract, b_title, b_circul, b_price, b_rest

from books;

grant select on goods to user1;

Приведём примеры нескольких готовых запросов:

  1. Список всех текущих проектов (книг, находящихся в печати и в продаже):

create view edits as

select b_contract, b_title, b_date

from books

where b_rest is null or b_rest > 0;

  1. Список редакторов, работающих над книгами:

create view edits (title, fname, lname) as

select b_title, e_fname, e_lname /*ответственный редактор*/

from books, employees e

where b_edit=e_id and

(b_publ is null or b_publ > sysdate);

union /*sysdate – текущая дата*/

select b_title, a_fname, a_lname

from books, employees e, editors d

where b.b_contract=d.b_id and d.e_id=a.e_id and

(b_publ is null or b_publ > sysdate)

order by 1;

  1. Определение общей прибыли от продаж по текущим проектам:

create view edits (title, total) as

select b_title, (circul–rest)*price–advance


from books

where b_rest is null or b_rest > 0;

Анализ готовых запросов показывает, что для повышения эффективности работы с данными необходимо создать индексы для всех внешних ключей (и всех первичных ключей, если выбранная СУБД не создаёт их автоматически). Приведём примеры создания индексов:

create index e_posts on employees(e_post);

create index b_editors on books(b_edit);

create unique index r_tel on rooms(r_no,r_tel);

4. Реализация пользовательских запросов

В разделе приводятся:

- наименование запроса

- листинг инструкции SELECT

- скриншот результата запроса.

ВЫПОЛНЕНИЕ КУРСОВОГО ПРОЕКТА

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

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

В том случае, если система реализуется не полностью, например, отсутствуют некоторые ограничения целостности или функциональные возможности, это должно быть указано в пояснительной записке.

В базу должен быть помещен тестовый набор данных.

ВАРИАНТЫ ЗАДАНИЙ НА КУРСОВОЕ ПРОЕКТИРОВАНИЕ

3. БД "Плановый отдел".

Задача – информационная поддержка деятельности планового отдела (выбрать конкретное производство).

БД должна осуществлять:

  • ведение плановой документации по основному и вспомогательному производствам (план и факт);

  • составление заказов на поставку сырья и комплектующих (в соответствии с планом выпуска продукции);

  • составление планов работы вспомогательных производств для обеспечения потребностей основного производства;

  • подсчёт энергозатрат;

  • определение соответствия результатов работы плану (в процентах).

Библиографический список (рекомендованный список использованных источников)

  1. Кузин А.В., Левонисова С.В. Базы данных: учебное пособие для вузов. - 6-е изд., стер. - М. : Академия, 2016. - 315 с.

  2. Советов, Б.Я. Цехановский В.В., Чертовской В.Д. Базы данных: учебник. — М.: Издательство Юрайт, 2017. — 463 с.

  3. Илюшечкин, В. М. Основы использования и проектирования баз данных : учебник для СПО.М. : Издательство Юрайт, 2017. — 213 с

  4. Цехановский В.В., Чертовской В.Д. Управление данными: учебник для вузов – СПб.: Лань, 2015. - 432 с.

  5. Воробьева Е.Е. Базы данных: конспект лекций. – СПб: БГТУ, 2015 (электронный ресурс). - elr2409.pdf.

  6. Маркин, А. В. Программирование на SQL в 2 ч. Часть 1: учебник и практикум для бакалавриата и магистратуры / А. В. Маркин. — М.: Издательство Юрайт, 2017. — 362 с.

  7. Маркин, А. В. Программирование на SQL в 2 ч. Часть 2 : учебник и практикум для бакалавриата и магистратуры / А. В. Маркин. — М : Издательство Юрайт, 2017. — 292 с.

  8. Фаронов В.В. Delphi. Программирование на языке высокого уровня: учебник для вузов. – СПб.: Питер, 2003. – 639 с.

  9. Верхолат А.М., Гаврилов В.А. Проектирование структуры базы данных. Пособие по курсовому проектированию./ Балт. Гос. Техн. ун-т. – СПб., 2007. - 46 с.