Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая - Котельникова Елизавета - КМБ-1-12 (1...docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
249.35 Кб
Скачать

Глава 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, ProceedsIdentification_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’;