
- •Введение
- •Глава 1. Анализ предметной области
- •1.1 Терминология
- •1.2 Результаты опроса
- •1.3 Программные продукты
- •Глава 2. Разработка требований к системе
- •Глава 3. Интерфейс пользователя
- •Глава 4. Разработка схемы базы данных
- •Глава 5. Разработка запросов к базе данных
- •Заключение
- •Список использованных источников
Глава 4. Разработка схемы базы данных
В данной главе приводится схема базы данных для системы.
Схема БД состоит из трех таблиц:
1. Login (Identification_number, Password, Name, Position, Tel)
SQL-скрипт:
CREATE TABLE Login (
Identification_number INT PRIMARY KEY,
Password VARCHAR(10) NOT NULL,
Name VARCHAR(20) NOT NULL,
Position VARCHAR(20) NOT NULL,
Tel VARCHAR(20) NOT NULL
);
2. Info (Сlock_number, Data, Time, Name_customer, Tel_customer, Work, Proceeds)
SQL-скрипт:
CREATE TABLE Info (
Identification_number INT,
Data DATE NOT NULL,
Time TIME NOT NULL,
Name_customer VARCHAR(20),
Tel_customer VARCHAR(20),
WORK VARCHAR(20),
Proceeds INT,
FOREIGN KEY (Identification_number) REFERENCES Login(Identification_number)
);
3. Visiting (Data, Identification_number, Time1, Time2)
SQL-скрипт:
CREATE TABLE Visiting (
Data DATE NOT NULL,
Identification_number INT,
Time1 TIME,
Time2 TIME,
FOREIGN KEY (Identification_number) REFERENCES Login(Identification_number)
);
Таблица Login представляет табельный номер сотрудника (Identification_number), который в дальнейшем будет использован для входа в “личный кабинет”, пароль от “личного кабинета” (Password), имя сотрудника (Name), его должность (Position) и телефон (Tel). Предполагается, что табельный номер в таблице уникален, т.е. является первичным ключом.
В таблице Info указаны табельный номер сотрудника (Сlock_number) – внешний ключ к таблице Login, дата работы (Data), время работы (Time), имя клиента (Name_customer), телефон клиента (Tel_customer), работа, которая проводилась или будет проводиться (Work), Полученный доход за работу (Proceeds).
В таблице Visiting указаны дата прихода/ухода (Data), табельный номер сотрудника (Identification_number) – внешний ключ к таблице Login, время прихода (Time1), время ухода (Time2).
В этой главе была дана схема базы данных, разработанная исходя из требований к системе.
Глава 5. Разработка запросов к базе данных
В данной главе приводятся основные запросы к базе данных, разработанные на основе требований к системе.
Номер требования |
Описание входных и выходных данных запроса |
Запрос на языке реляционной алгебры или на SQL |
1 |
На входе Пользователь вводит в систему: табельный номер 012; пароль x12ji.
На выходе Если результат запроса пуст, то система считает, что пара табельный номер/пароль указана неверно и отказывает пользователю в доступе (см. скриншот № 1). |
σIdentification_number=012 and password=’x12ij’(Login) |
2, 11 |
На входе Сотрудник с табельным номером 012 успешно входит в систему 02.12.2013.
На выходе Информация о работе сотрудника, табельный номер которого 012, за день (см. скриншот № 2). |
πData and Time and Name_customer, Tel_customer, Work, Proceeds(σIdentification_number=012 and Data = ‘2013.12.02’ (Info)) |
4 |
На входе Сотрудник с табельным номером 012 добавляет в свой план клиента Алина с телефоном 8987654321 на 15.12.2013 14:00 на стрижку.
На выходе В плане в строчке с датой 15.12.2013 и временем 14:00 добавилось имя клиента Алина, его номер телефона и работа, которая будет проведена – стрижка. (см. скриншот № 3) |
INSERT INTO Info(Identification_number, Name_customer, Tel_customer, Work, Data, Time) VALUES ( 012, ’Алина’, ‘8987654321’, ’стрижка’, ’2013-12-15’, ’14:00:00’); |
6, 11 |
На входе Сотрудник с табельным номером 012, который по договору получает 5% от проделанной работы, выбирает период “неделя” в графе с итоговыми процентами.
На выходе Информация о процентах по проделанной работе сотрудника, табельный номер которого 012, за неделю (см. скриншот № 2). |
SELECT SUM(Proceeds)*0,05 FROM Info WHERE Identification_number=012 AND ‘2013.11.26’<=Data<=’2013.12.02’; |
7 |
На входе Предприниматель успешно входит в систему. Потребуется несколько запросов.
На выходе Список сотрудников-парикмахеров, список сотрудников-маникюрщиков, список сотрудников-педикюрщиков (см. скриншот № 4). |
SELECT Name FROM Login WHERE Position=’парикмахер’;
SELECT Name FROM Login WHERE Position=’маникюр’;
SELECT Name FROM Login WHERE Position=’педикюр’; |
8, 11 |
На входе Предприниматель в общих сведениях учета прихода/ухода выбирает период “день”, дата 2013.12.02.
На выходе Учет прихода/ухода сотрудников за 2013.12.02 (см. скриншот № 5). |
SELECT Data, Identification_number, Name, Time1, Time2 FROM Visiting, Login WHERE Login.Identification_number=Visiting.Identification_number AND Data=’2013.12.02’; |