Compare commits

..

17 Commits

Author SHA1 Message Date
ІО-23 Шмуляр Олег ba81f91189 Merge pull request 'Виправив помилки на головній сторінці звітів' (#43) from shmuliar into master
Reviewed-on: hasslesstech/edu-dis-labs#43
2024-05-20 11:50:24 +03:00
ІО-23 Шмуляр Олег bf9e6364b9 виправив помилки на головній сторінці звітів 2024-05-20 11:48:43 +03:00
ІО-23 Шмуляр Олег c941ac2022 Merge pull request 'лаб4: зробив рамочку навколо реляційної схеми' (#42) from shmuliar into master
Reviewed-on: hasslesstech/edu-dis-labs#42
2024-05-20 11:39:22 +03:00
ІО-23 Шмуляр Олег 2229e75644 лаб4: зробив рамочку навколо реляційної схеми 2024-05-20 11:36:37 +03:00
ІО-23 Шмуляр Олег f71e97b6ff Merge pull request 'Лаб №4: додав SQL-скрипт та скріншот моделі' (#41) from korbut into master
Reviewed-on: hasslesstech/edu-dis-labs#41
Reviewed-by: ІО-23 Шмуляр Олег <hasslesstech@noreply.localhost>
2024-05-20 11:34:23 +03:00
Misha1tigr 3679f641e5 додав реляційну схему та скрипт до відповідних README 2024-05-20 11:27:12 +03:00
Misha1tigr 5702bdce4d видалив залишкові файли 2024-05-20 10:47:42 +03:00
Misha1tigr c8787ad1f7 лаб4: додав SQL скрипт та скріншот ER-моделі 2024-05-20 10:23:39 +03:00
ІО-23 Шмуляр Олег 302fd36c34 Merge pull request 'Лаб №4: додавання ER-моделі' (#40) from shmuliar into master
Reviewed-on: hasslesstech/edu-dis-labs#40
2024-05-19 12:48:13 +03:00
ІО-23 Шмуляр Олег 9feddb6bac лаб4: додав типи даних полів посилання на BE-моделі 2024-05-19 12:43:34 +03:00
ІО-23 Шмуляр Олег 941c5be8f3 лаб4: додав ER-модель та оновив попередні лабораторні 2024-05-19 12:39:09 +03:00
ІО-23 Шмуляр Олег 577e565552 Merge pull request 'лаб4: BE-модель' (#39) from shmuliar into master
Reviewed-on: hasslesstech/edu-dis-labs#39
2024-05-19 10:41:12 +03:00
ІО-23 Шмуляр Олег c70ddad444 лаб4: додав use-case-файли для керування посиланнями та оновив всі попередні лаби 2024-05-19 10:33:14 +03:00
ІО-23 Шмуляр Олег 3dc979873b Оновлення гілки 2024-05-02 11:11:26 +03:00
ІО-23 Шмуляр Олег 6fdb3b9072 Merge pull request 'table-generator: розробив аналоги основних інструментів мовою Python 3' (#37) from shmuliar-use-case into master
Reviewed-on: hasslesstech/edu-dis-labs#37
2024-05-02 11:10:55 +03:00
ІО-23 Шмуляр Олег 2c392feee6 лаб4: додав на BE-модель інформацію про посилання 2024-04-30 22:32:06 +03:00
ІО-23 Шмуляр Олег 9b538c7d8e лаб4: додав BE-модель 2024-04-30 22:06:45 +03:00
13 changed files with 463 additions and 45 deletions

View File

@ -102,8 +102,8 @@ module.exports = {
// editLinkText: 'Ви можете покращити цю сторінку' // editLinkText: 'Ви можете покращити цю сторінку'
}, },
title: 'Expertise', title: 'Xpertise',
description: 'Лабораторні роботи з дисципліни "Розподілені інформаційні системи"', description: 'Лабораторні роботи з дисципліни "Організація баз даних"',
configureWebpack: { configureWebpack: {
resolve: { resolve: {
alias: { alias: {

View File

@ -1,11 +1,6 @@
# Проєктування системи # Проєктування бази даних
## BE модель
Вбудовування зображень діаграм здійснюється з використанням сервісу [plantuml.com](https://plantuml.com/).
В markdown-файлі використовується опис діаграми
```md
<center style=" <center style="
border-radius:4px; border-radius:4px;
@ -16,34 +11,58 @@
@startuml @startuml
participant Client entity Account <<ENTITY>>
entity Account.username <<TEXT>>
entity Account.password <<TEXT>>
participant SR as "Service Registry" entity Survey <<ENTITY>>
entity Survey.name <<TEXT>>
entity Survey.duration <<TEXT>>
entity Survey.isPaused <<BOOLEAN>>
entity Survey.isNamed <<BOOLEAN>>
participant Service entity Question <<ENTITY>>
entity Question.text <<TEXT>>
Service -> SR : register entity Responce <<ENTITY>>
SR -> SR entity Responce.value <<TEXT>>
SR --> Service
...
SR -> Service: heartbeat entity Link <<ENTITY>>
SR <-- Service: health entity Link.usageLimit <<INT>>
... entity Link.responceLimit <<INT>>
entity Link.uses <<INT>>
entity Link.responces <<INT>>
entity Link.path <<TEXT>>
Client -> SR: find Account.username --* Account
Client <-- SR: service endpoint Account.password --* Account
Client -> Service: request
Client <-- Service: response
Survey.name --* Survey
Survey.duration --* Survey
Survey.isPaused --* Survey
Survey.isNamed --* Survey
Link.usageLimit -u-* Link
Link.responceLimit -u-* Link
Link.uses --* Link
Link.responces --* Link
Link.path -u-* Link
Responce.value -u-* Responce
Question.text -u-* Question
Account "1,1" -- "0,*" Survey
Survey "1,1" -- "0,*" Question
Question "1,1" -r- "0,*" Responce
Account "0,1" -r- "0,*" Responce
Link "0,*" -- "1,1" Survey
@enduml @enduml
</center> </center>
```
яка буде відображена наступним чином ## ER-модель
<center style=" <center style="
border-radius:4px; border-radius:4px;
@ -54,33 +73,58 @@ Client <-- Service: response
@startuml @startuml
@startuml entity Account <<ENTITY>> {
id:INT
username:CHAR(64)
password:CHAR(256)
}
participant Client entity Responce <<ENTITY>> {
id:INT
value:CHAR(16384)
}
participant SR as "Service Registry" entity Question <<ENTITY>> {
id:INT
text:CHAR(256)
}
participant Service entity Survey <<ENTITY>> {
id:INT
Service -> SR : register name:CHAR(256)
SR -> SR duration:CHAR(256)
SR --> Service isPaused:BOOLEAN
... isNamed:BOOLEAN
}
SR -> Service: heartbeat
SR <-- Service: health
...
Client -> SR: find
Client <-- SR: service endpoint
Client -> Service: request
Client <-- Service: response
entity Link <<ENTITY>> {
id:INT
uses:INT
responces:INT
usageLimit:INT
responceLimit:INT
path:CHAR(32)
}
Responce "0,*" --> "1,1" Question
Question "0,*" --> "1,1" Survey
Survey "0,*" --> "1,1" Account
Link "0,*" --> "1,1" Survey
Responce "0,*" --> "0,1" Account
@enduml @enduml
</center> </center>
## Реляційна схема
<center style="
border-radius:4px;
border: 1px solid #cfd7e6;
box-shadow: 0 1px 3px 0 rgba(89,105,129,.05), 0 1px 1px 0 rgba(0,0,0,.025);
padding: 1em;"
>
![relational_schema](./relational_scheme.png)
</center>

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

View File

@ -93,6 +93,33 @@
| Виключні ситуації | 001.005 Користувач не ідентифікований | | Виключні ситуації | 001.005 Користувач не ідентифікований |
| Основний сценарій | 1. Користувач натискає на кнопку редагування облікового запису<br>2. Система виводить інтерфейс для редагування облікового запису (можлива 001.005)<br>3. Користувач вказує бажані зміни властивостей облікового запису<br>4. Користувач натискає на кнопку внесення змін до властивостей облікового запису<br>5. Система змінює властивості облікового запису | | Основний сценарій | 1. Користувач натискає на кнопку редагування облікового запису<br>2. Система виводить інтерфейс для редагування облікового запису (можлива 001.005)<br>3. Користувач вказує бажані зміни властивостей облікового запису<br>4. Користувач натискає на кнопку внесення змін до властивостей облікового запису<br>5. Система змінює властивості облікового запису |
| ID | SURVEY.LINK.CREATE |
|:-----------------:|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| Назва | Додати посилання на опитування |
| Учасники | Користувач, система |
| Передумови | Користувач авторизований у системі |
| Результат | Нове посилання на опитування |
| Виключні ситуації | 001.005 Користувач не ідентифікований<br>001.006 Запитане опитування не існує<br>001.008 Користувач не є власником опитування |
| Основний сценарій | 1. Користувач натискає кнопку створення посилання на опитування<br>2. Система виводить налаштування для нового посилання (можливі 001.005, 001.006, 001.008)<br>3. Користувач вводить налаштування для нового посилання<br>4. Користувач натискає на кнопку створення посилання<br>5. Система створює нове посилання |
| ID | SURVEY.LINK.DELETE |
|:-----------------:|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| Назва | Видалити посилання на опитування |
| Учасники | Користувач, система |
| Передумови | Користувач авторизований у системі |
| Результат | Видалення посилання на опитування |
| Виключні ситуації | 001.005 Користувач не ідентифікований<br>001.006 Запитане опитування не існує<br>001.008 Користувач не є власником опитування<br>001.009 Запитане посилання на існує |
| Основний сценарій | 1. Користувач натискає кнопку видалення посилання<br>2. Система виводить кнопку підтвердження видалення посилання<br>3. Користувач натискає на кнопку підтвердження видалення посилання<br>4. Система видаляє посилання (можливі 001.005, 001.006, 001.008, 001.009) |
| ID | SURVEY.LINK.MODIFY |
|:-----------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| Назва | Змінити властивості посилання на опитування |
| Учасники | Користувач, система |
| Передумови | Користувач авторизований у системі |
| Результат | Зміна властивостей посилання на опитування |
| Виключні ситуації | 001.005 Користувач не ідентифікований<br>001.006 Запитане опитування не існує<br>001.008 Користувач не є власником опитування<br>001.009 Запитане посилання на існує |
| Основний сценарій | 1. Користувач натискає кнопку редагування властивостей посилання<br>2. Система виводить налаштування для обраного посилання (можливі 001.005, 001.006, 001.008, 001.009)<br>3. Користувач вводить юажані зміни властивостей посилання<br>4. Користувач натискає на кнопку збереження властиностей посилання<br>5. Система змінює властивості посилання |
| ID | USER.CREATE_SURVEY | | ID | USER.CREATE_SURVEY |
|:-----------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| |:-----------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| Назва | Створити опитування | | Назва | Створити опитування |
@ -210,6 +237,9 @@ Cистема розділяє користувачів на дві катего
- створити опитування - створити опитування
- відредагувати своє опитування - відредагувати своє опитування
- видалити своє опитування - видалити своє опитування
- створити посилання на своє опитування
- редагувати властивості посилання на своє опитування
- видалити посилання на своє опитування
- призупинити своє опитування - призупинити своє опитування
- продовжити своє опитування - продовжити своє опитування
- переглянути властивості свого опитування - переглянути властивості свого опитування

View File

@ -1,3 +1,113 @@
# Реалізація інформаційного та програмного забезпечення # Реалізація інформаційного та програмного забезпечення
## SQL-скрипт для створення та початкового наповнення бази даних
```sql
-- MySQL Workbench Forward Engineering
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
-- -----------------------------------------------------
-- Schema mydb
-- -----------------------------------------------------
-- -----------------------------------------------------
-- Schema mydb
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET utf8 ;
USE `mydb` ;
-- -----------------------------------------------------
-- Table `mydb`.`Account`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Account` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`username` CHAR(255) NOT NULL,
`password` CHAR(255) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE INDEX `id_UNIQUE` (`id` ASC) VISIBLE,
UNIQUE INDEX `username_UNIQUE` (`username` ASC) VISIBLE)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`Survey`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Survey` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`isPaused` TINYINT UNSIGNED NOT NULL,
`isNamed` TINYINT UNSIGNED NOT NULL,
`name` CHAR(255) NULL,
`duration` CHAR(255) NULL,
PRIMARY KEY (`id`),
UNIQUE INDEX `id_UNIQUE` (`id` ASC) VISIBLE,
CONSTRAINT `fk_Survey_Account1`
FOREIGN KEY (`id`)
REFERENCES `mydb`.`Account` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`Question`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Question` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`Text` CHAR(255) NULL,
PRIMARY KEY (`id`),
UNIQUE INDEX `id_UNIQUE` (`id` ASC) VISIBLE,
CONSTRAINT `fk_Question_Survey1`
FOREIGN KEY (`id`)
REFERENCES `mydb`.`Survey` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`Response`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Response` (
`id` INT UNSIGNED NULL AUTO_INCREMENT,
`Value` VARCHAR(16384) NULL,
UNIQUE INDEX `id_UNIQUE` (`id` ASC) VISIBLE,
PRIMARY KEY (`id`),
CONSTRAINT `fk_Response_Question`
FOREIGN KEY (`id`)
REFERENCES `mydb`.`Question` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Response_Account1`
FOREIGN KEY (`id`)
REFERENCES `mydb`.`Account` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`Link`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Link` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`uses` INT NOT NULL,
`responces` INT NOT NULL,
`usageLimit` INT NULL,
`responceLimit` INT NULL,
`path` CHAR(32) NOT NULL,
PRIMARY KEY (`id`),
CONSTRAINT `fk_Link_Survey1`
FOREIGN KEY (`id`)
REFERENCES `mydb`.`Survey` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
```

View File

@ -17,6 +17,9 @@
(<b>ACCOUNT.CREATE</b>\nСтворити обліковий запис) as CreateAccount (<b>ACCOUNT.CREATE</b>\nСтворити обліковий запис) as CreateAccount
(<b>ACCOUNT.DELETE</b>\nВидалити обліковий запис) as DeleteAccount (<b>ACCOUNT.DELETE</b>\nВидалити обліковий запис) as DeleteAccount
(<b>ACCOUNT.MODIFY</b>\nЗмінити властивості облікового запису) as ModifyAccount (<b>ACCOUNT.MODIFY</b>\nЗмінити властивості облікового запису) as ModifyAccount
(<b>SURVEY.LINK.CREATE</b>\nСтворити посилання на опитування) as CreateLink
(<b>SURVEY.LINK.DELETE</b>\nВидалити посилання на опитування) as DeleteLink
(<b>SURVEY.LINK.MODIFY</b>\nЗмінити властивості посилання на опитування) as ModifyLink
(<b>USER.CREATE_SURVEY</b>\nСтворити опитування) as CreateSurvey (<b>USER.CREATE_SURVEY</b>\nСтворити опитування) as CreateSurvey
(<b>USER.DELETE_SURVEY</b>\nВидалити опитування) as DeleteSurvey (<b>USER.DELETE_SURVEY</b>\nВидалити опитування) as DeleteSurvey
(<b>USER.GET_SURVEY_RESULT</b>\nПереглянути відповіді на опитування) as GetSurveyResult (<b>USER.GET_SURVEY_RESULT</b>\nПереглянути відповіді на опитування) as GetSurveyResult
@ -33,6 +36,9 @@
AuthorisedUser -r-> ModifyAccount AuthorisedUser -r-> ModifyAccount
AuthorisedUser -u-> DeleteAccount AuthorisedUser -u-> DeleteAccount
AuthorisedUser -r-> CreateLink
AuthorisedUser -l-> DeleteLink
AuthorisedUser -u-> ModifyLink
AuthorisedUser -u-> LogOut AuthorisedUser -u-> LogOut
AuthorisedUser --> CreateSurvey AuthorisedUser --> CreateSurvey
AuthorisedUser -u-> DeleteSurvey AuthorisedUser -u-> DeleteSurvey
@ -80,9 +86,15 @@
(<b>USER.STAT_SURVEY</b>\nПереглянути властивості опитування) as StatSurvey (<b>USER.STAT_SURVEY</b>\nПереглянути властивості опитування) as StatSurvey
(<b>USER.TAKE_ANON_SURVEY</b>\nПройти анонімне опитування) as TakeAnonSurvey (<b>USER.TAKE_ANON_SURVEY</b>\nПройти анонімне опитування) as TakeAnonSurvey
(<b>USER.TAKE_NAMED_SURVEY</b>\nПройти поіменне опитування) as TakeNamedSurvey (<b>USER.TAKE_NAMED_SURVEY</b>\nПройти поіменне опитування) as TakeNamedSurvey
(<b>SURVEY.LINK.CREATE</b>\nСтворити посилання на опитування) as CreateLink
(<b>SURVEY.LINK.DELETE</b>\nВидалити посилання на опитування) as DeleteLink
(<b>SURVEY.LINK.MODIFY</b>\nЗмінити властивості посилання на опитування) as ModifyLink
AuthorisedUser -r-> ModifyAccount AuthorisedUser -r-> ModifyAccount
AuthorisedUser -u-> DeleteAccount AuthorisedUser -u-> DeleteAccount
AuthorisedUser -r-> CreateLink
AuthorisedUser -l-> DeleteLink
AuthorisedUser -u-> ModifyLink
AuthorisedUser -u-> LogOut AuthorisedUser -u-> LogOut
AuthorisedUser -d-> CreateSurvey AuthorisedUser -d-> CreateSurvey
AuthorisedUser -u-> DeleteSurvey AuthorisedUser -u-> DeleteSurvey
@ -221,6 +233,80 @@
stop stop
@enduml @enduml
| ID | SURVEY.LINK.CREATE |
|:-----------------:|:-----------------------------------------------------------------------------------------------------------------------------:|
| Назва | Додати посилання на опитування |
| Учасники | Користувач, система |
| Передумови | Користувач авторизований у системі |
| Результат | Нове посилання на опитування |
| Виключні ситуації | 001.005 Користувач не ідентифікований<br>001.006 Запитане опитування не існує<br>001.008 Користувач не є власником опитування |
@startuml
|Користувач|
start
: Натискає кнопку створення посилання на опитування;
|Система|
: Виводить налаштування для нового посилання;
note right #lightpink
<b>Можливі 001.005, 001.006, 001.008</b>
end note
|Користувач|
: Вводить налаштування для нового посилання;
: Натискає на кнопку створення посилання;
|Система|
: Створює нове посилання;
|Користувач|
stop
@enduml
| ID | SURVEY.LINK.DELETE |
|:-----------------:|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| Назва | Видалити посилання на опитування |
| Учасники | Користувач, система |
| Передумови | Користувач авторизований у системі |
| Результат | Видалення посилання на опитування |
| Виключні ситуації | 001.005 Користувач не ідентифікований<br>001.006 Запитане опитування не існує<br>001.008 Користувач не є власником опитування<br>001.009 Запитане посилання на існує |
@startuml
|Користувач|
start
: Натискає кнопку видалення посилання;
|Система|
: Виводить кнопку підтвердження видалення посилання;
|Користувач|
: Натискає на кнопку підтвердження видалення посилання;
|Система|
: Видаляє посилання;
note right #lightpink
<b>Можливі 001.005, 001.006, 001.008, 001.009</b>
end note
|Користувач|
stop
@enduml
| ID | SURVEY.LINK.MODIFY |
|:-----------------:|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| Назва | Змінити властивості посилання на опитування |
| Учасники | Користувач, система |
| Передумови | Користувач авторизований у системі |
| Результат | Зміна властивостей посилання на опитування |
| Виключні ситуації | 001.005 Користувач не ідентифікований<br>001.006 Запитане опитування не існує<br>001.008 Користувач не є власником опитування<br>001.009 Запитане посилання на існує |
@startuml
|Користувач|
start
: Натискає кнопку редагування властивостей посилання;
|Система|
: Виводить налаштування для обраного посилання;
note right #lightpink
<b>Можливі 001.005, 001.006, 001.008, 001.009</b>
end note
|Користувач|
: Вводить юажані зміни властивостей посилання;
: Натискає на кнопку збереження властиностей посилання;
|Система|
: Змінює властивості посилання;
|Користувач|
stop
@enduml
| ID | USER.CREATE_SURVEY | | ID | USER.CREATE_SURVEY |
|:-----------------:|:--------------------------------------------------------------------------------------------------------:| |:-----------------:|:--------------------------------------------------------------------------------------------------------:|
| Назва | Створити опитування | | Назва | Створити опитування |

View File

@ -1,2 +1,3 @@
# програмні коди # JS-скрипти
В цьому розділі розміщені програмні коди.
В цьому розділі розміщені програмні коди javascript.

3
src/sql/README.md Normal file
View File

@ -0,0 +1,3 @@
# SQL-скрипти
В цьому розділі розміщені сирцеві коди для створення бази даних.

107
src/sql/script.sql Normal file
View File

@ -0,0 +1,107 @@
-- MySQL Workbench Forward Engineering
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
-- -----------------------------------------------------
-- Schema mydb
-- -----------------------------------------------------
-- -----------------------------------------------------
-- Schema mydb
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET utf8 ;
USE `mydb` ;
-- -----------------------------------------------------
-- Table `mydb`.`Account`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Account` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`username` CHAR(255) NOT NULL,
`password` CHAR(255) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE INDEX `id_UNIQUE` (`id` ASC) VISIBLE,
UNIQUE INDEX `username_UNIQUE` (`username` ASC) VISIBLE)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`Survey`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Survey` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`isPaused` TINYINT UNSIGNED NOT NULL,
`isNamed` TINYINT UNSIGNED NOT NULL,
`name` CHAR(255) NULL,
`duration` CHAR(255) NULL,
PRIMARY KEY (`id`),
UNIQUE INDEX `id_UNIQUE` (`id` ASC) VISIBLE,
CONSTRAINT `fk_Survey_Account1`
FOREIGN KEY (`id`)
REFERENCES `mydb`.`Account` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`Question`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Question` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`Text` CHAR(255) NULL,
PRIMARY KEY (`id`),
UNIQUE INDEX `id_UNIQUE` (`id` ASC) VISIBLE,
CONSTRAINT `fk_Question_Survey1`
FOREIGN KEY (`id`)
REFERENCES `mydb`.`Survey` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`Response`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Response` (
`id` INT UNSIGNED NULL AUTO_INCREMENT,
`Value` VARCHAR(16384) NULL,
UNIQUE INDEX `id_UNIQUE` (`id` ASC) VISIBLE,
PRIMARY KEY (`id`),
CONSTRAINT `fk_Response_Question`
FOREIGN KEY (`id`)
REFERENCES `mydb`.`Question` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Response_Account1`
FOREIGN KEY (`id`)
REFERENCES `mydb`.`Account` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`Link`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Link` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`uses` INT NOT NULL,
`responces` INT NOT NULL,
`usageLimit` INT NULL,
`responceLimit` INT NULL,
`path` CHAR(32) NOT NULL,
PRIMARY KEY (`id`),
CONSTRAINT `fk_Link_Survey1`
FOREIGN KEY (`id`)
REFERENCES `mydb`.`Survey` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

View File

@ -0,0 +1,12 @@
Назва | Додати посилання на опитування
Учасники | Користувач, система
Передумови | Користувач авторизований у системі
Результат | Нове посилання на опитування
Виключні ситуації | 001.005 Користувач не ідентифікований
| 001.006 Запитане опитування не існує
| 001.008 Користувач не є власником опитування
Основний сценарій | 1. Користувач натискає кнопку створення посилання на опитування
| 2. Система виводить налаштування для нового посилання (можливі 001.005, 001.006, 001.008)
| 3. Користувач вводить налаштування для нового посилання
| 4. Користувач натискає на кнопку створення посилання
| 5. Система створює нове посилання

View File

@ -0,0 +1,12 @@
Назва | Видалити посилання на опитування
Учасники | Користувач, система
Передумови | Користувач авторизований у системі
Результат | Видалення посилання на опитування
Виключні ситуації | 001.005 Користувач не ідентифікований
| 001.006 Запитане опитування не існує
| 001.008 Користувач не є власником опитування
| 001.009 Запитане посилання на існує
Основний сценарій | 1. Користувач натискає кнопку видалення посилання
| 2. Система виводить кнопку підтвердження видалення посилання
| 3. Користувач натискає на кнопку підтвердження видалення посилання
| 4. Система видаляє посилання (можливі 001.005, 001.006, 001.008, 001.009)

View File

@ -0,0 +1,13 @@
Назва | Змінити властивості посилання на опитування
Учасники | Користувач, система
Передумови | Користувач авторизований у системі
Результат | Зміна властивостей посилання на опитування
Виключні ситуації | 001.005 Користувач не ідентифікований
| 001.006 Запитане опитування не існує
| 001.008 Користувач не є власником опитування
| 001.009 Запитане посилання на існує
Основний сценарій | 1. Користувач натискає кнопку редагування властивостей посилання
| 2. Система виводить налаштування для обраного посилання (можливі 001.005, 001.006, 001.008, 001.009)
| 3. Користувач вводить юажані зміни властивостей посилання
| 4. Користувач натискає на кнопку збереження властиностей посилання
| 5. Система змінює властивості посилання