Содержание. 2
1.Описание предметной области. 3
2. Концептуальное проектирование базы данных (БД) 4
2.1. Анализ предметной области. 4
2.2. Анализ информационных потребностей пользователей. 4
2.3. ER-схема. 5
3. Логическое проектирование БД.. 6
3.1. Логическая схема. 6
3.2. Скрипт DDL. 7
4. Содержание таблиц БД. 12
5. Окна клиентского приложения. 17
Магазин проката музыкальных инструментов «Музыкальный арсенал» имеет большой выбор музыкальных инструментов: от губной гармони и до рояля. В штате магазина трудится большое количество квалифицированных специалистов. «Музыкальный арсенал» работает на протяжении 10 лет и за это время приобрел постоянных клиентов.
Магазин имеет различные формы доставки инструментов. Вы можете сами вывезти музыкальный инструмент, либо он будет доставлен вовремя и без повреждений по указанному вами адресу.
Магазин проката «Музыкальный арсенал» использует базу данных для учета сдаваемых в аренду музыкальных инструментов. Для этого требуется многопользовательская база данных, поскольку в периоды наплыва клиентов выдачей музыкальных инструментов могут одновременно заниматься несколько служащих. Кроме того, менеджер также должен иметь доступ к базе данных, чтобы определить момент, когда необходимо будет заказать большее количество определенных инструментов. При этом менеджер не хочет мешать процессу выдачи инструментов.
База данных должна содержать информацию о клиентах, музыкальных инструментах, договорах аренды и сотрудниках.
ДОПОЛНИТЬ: СМЫСЛ ЗАПРОСА С ТОЧКИ ЗРЕНИЯ ПОЛЬЗОВАТЕЛЯ (В ТЕРМИНАХ ПРЕДМЕТНОЙ ОБЛАСТИ)
Объект |
Свойства |
Пример |
Договор |
Дата выдачи инструмента, дата возврата инструмента, дата заключения, стоимость аренды, аванс |
12.12.12, 21.12.12, 11.12.12, 5.000 руб, 2.500 руб. |
Клиент |
ФИО, дата рождения, паспортные данные, телефон |
Медведева К.С., 17.01.92, 3206 543986, 72-34-83 |
Инструмент |
Название, инвентарный номер |
Гитара, 438 |
Фирма производитель |
Название, производитель |
MusicHall, Германия |
Состояние инструмента |
Название дефекта, дата проверки |
Без дефекта, 10.12.12 |
Доставка |
Дата доставки, адрес |
12.12.12, Кулакова 3 |
Форма доставки |
Вид |
Курьер |
Сотрудник |
ФИО, должность, з/п |
Петров М.И., продавец-консультант, 15.000 |
Образование |
Форма образования, учреждение |
Высшее, НФИ КемГУ |
1. Формировать заказы (добавление, удаление, редактирование).
2. Поиск клиентов по имени и т.д.
3. Статистика аренды постоянных клиентов.
ИСПРАВИТЬ!!!!
Разделить паспортные данные на серию и номер.
/***************************************************************/
/*** Tables and Views ***/
/******************************************************************************/
CREATE TABLE DEFFECT (
ID INTEGER NOT NULL,
NAZVANIE VARCHAR(30));
CREATE TABLE DOGOVOR (
ID INTEGER NOT NULL,
STOIMOST_ARENDI INTEGER,
DATA_ZAKLUCHENIAY DATE,
DATA_VIDACHI DATE,
DATA_VOZVRATA DATE,
AVANS INTEGER,
SOTRYDNIK_ID INTEGER NOT NULL,
INSTRYMENT_ID INTEGER NOT NULL,
KLIENT_ID INTEGER NOT NULL,
DOSTAVKA_ID INTEGER NOT NULL);
CREATE TABLE DOLJNOST (
ID INTEGER NOT NULL,
NAZVANIE VARCHAR(40));
CREATE TABLE DOSTAVKA (
ID INTEGER NOT NULL,
ADRES VARCHAR(60),
FORMA_DOSTAVKI VARCHAR(50),
DATA_DOSTAVKI DATE,
VREMAY_DOSTAVKI TIME,
FORMA_ID INTEGER NOT NULL);
CREATE TABLE FIRMA (
ID INTEGER NOT NULL,
NAZVANIE VARCHAR(50),
STRANA_ID INTEGER NOT NULL);
CREATE TABLE FORMA (
ID INTEGER NOT NULL,
VID VARCHAR(50));
CREATE TABLE FORMA_OBRAZ (
ID INTEGER NOT NULL,
NAZVANIE VARCHAR(35));
REATE TABLE INSTRYMENT (
ID INTEGER NOT NULL,
INVENTARNI_NOMER INTEGER,
SOSTOAYNIE_ID INTEGER NOT NULL,
FIRMA_ID INTEGER NOT NULL,
NAZVANIE_INSTR_ID INTEGER NOT NULL);
CREATE TABLE KLIENT (
ID INTEGER NOT NULL,
FAMILIA VARCHAR(40),
IMYA VARCHAR(50),
OTCHESTVO VARCHAR(50),
PASPORTNYE_DANNIE INTEGER,
TELEFON INTEGER,
DATA_ROJDENIAY DATE);
CREATE TABLE NAZVANIE_INSTR (
ID INTEGER NOT NULL,
NAZVANIE VARCHAR(30));
CREATE TABLE OBRAZOVANIE (
ID INTEGER NOT NULL,
FORMA_OBRAZ_ID INTEGER NOT NULL,
YCHREJDENIE_ID INTEGER NOT NULL);
CREATE TABLE SOSTOAYNIE (
ID INTEGER NOT NULL,
DATA_PROVERKI DATE,
DEFFECT_ID INTEGER NOT NULL);
CREATE TABLE SOTRYDNIK (
ID INTEGER NOT NULL,
FAMILIYA VARCHAR(50),
IMYA VARCHAR(50),
OTCHESTVO VARCHAR(50),
OPIT VARCHAR(100),
ZARPLATA INTEGER,
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.