Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Mohamed Amine Chouaieb
/
WBT2425_team11
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
8
Merge Requests
1
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
27d992d2
authored
Mar 06, 2025
by
Mohamed Amine Chouaieb
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
sqlschema ,set up react
parent
985cc365
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
155 additions
and
109 deletions
fastapi/schema.sql
fastapi/schema.sql
View file @
27d992d2
-- phpMyAdmin SQL Dump
-- version 5.1.1deb5ubuntu1
-- https://www.phpmyadmin.net/
--
-- Host: localhost:3306
-- Generation Time: Feb 20, 2025 at 02:02 PM
-- Server version: 10.6.18-MariaDB-0ubuntu0.22.04.1
-- PHP Version: 8.1.2-1ubuntu2.20
SET
SQL_MODE
=
"NO_AUTO_VALUE_ON_ZERO"
;
START
TRANSACTION
;
SET
time_zone
=
"+00:00"
;
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */
;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */
;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */
;
/*!40101 SET NAMES utf8mb4 */
;
--
-- Database: `webapp`
--
-- --------------------------------------------------------
--
-- Table structure for table `book`
--
CREATE
TABLE
`book`
(
`id`
int
(
10
)
UNSIGNED
NOT
NULL
,
`owner`
int
(
10
)
UNSIGNED
NOT
NULL
,
`title`
varchar
(
80
)
NOT
NULL
,
`author`
varchar
(
80
)
NOT
NULL
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
COLLATE
=
utf8mb4_general_ci
;
-- --------------------------------------------------------
--
-- Table structure for table `loan`
--
CREATE
TABLE
`loan`
(
`id_user`
int
(
10
)
UNSIGNED
NOT
NULL
,
`id_book`
int
(
10
)
UNSIGNED
NOT
NULL
,
`status`
enum
(
'reserved'
,
'started'
,
'ended'
,
''
)
NOT
NULL
,
`start`
date
NOT
NULL
,
`end`
date
NOT
NULL
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
COLLATE
=
utf8mb4_general_ci
;
-- --------------------------------------------------------
--
-- Table structure for table `user`
--
CREATE
TABLE
`user`
(
`id`
int
(
10
)
UNSIGNED
NOT
NULL
,
`email`
varchar
(
50
)
NOT
NULL
,
`password`
varchar
(
256
)
NOT
NULL
,
`role`
tinyint
(
3
)
UNSIGNED
NOT
NULL
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
COLLATE
=
utf8mb4_general_ci
;
--
-- Indexes for dumped tables
--
--
-- Indexes for table `book`
--
ALTER
TABLE
`book`
ADD
PRIMARY
KEY
(
`id`
),
ADD
KEY
`owner`
(
`owner`
);
--
-- Indexes for table `loan`
--
ALTER
TABLE
`loan`
ADD
KEY
`id_book`
(
`id_book`
),
ADD
KEY
`id_user`
(
`id_user`
);
--
-- Indexes for table `user`
--
ALTER
TABLE
`user`
ADD
PRIMARY
KEY
(
`id`
);
--
-- Constraints for dumped tables
--
--
-- Constraints for table `book`
--
ALTER
TABLE
`book`
ADD
CONSTRAINT
`book_ibfk_1`
FOREIGN
KEY
(
`owner`
)
REFERENCES
`user`
(
`id`
);
--
-- Constraints for table `loan`
--
ALTER
TABLE
`loan`
ADD
CONSTRAINT
`loan_ibfk_1`
FOREIGN
KEY
(
`id_book`
)
REFERENCES
`book`
(
`id`
),
ADD
CONSTRAINT
`loan_ibfk_2`
FOREIGN
KEY
(
`id_user`
)
REFERENCES
`user`
(
`id`
);
COMMIT
;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */
;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */
;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */
;
\ No newline at end of file
-- 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 Exam_WebPage
-- -----------------------------------------------------
-- -----------------------------------------------------
-- Schema Exam_WebPage
-- -----------------------------------------------------
CREATE
SCHEMA
IF
NOT
EXISTS
`Exam_WebPage`
DEFAULT
CHARACTER
SET
utf8
;
USE
`Exam_WebPage`
;
-- -----------------------------------------------------
-- Table `Exam_WebPage`.`User`
-- -----------------------------------------------------
CREATE
TABLE
IF
NOT
EXISTS
`Exam_WebPage`
.
`User`
(
`User_id`
INT
NOT
NULL
AUTO_INCREMENT
,
`Email`
VARCHAR
(
45
)
NOT
NULL
,
`password_hashed`
VARCHAR
(
45
)
NOT
NULL
,
`is_verified`
TINYINT
NOT
NULL
,
`created_at`
DATETIME
NOT
NULL
,
PRIMARY
KEY
(
`User_id`
),
UNIQUE
INDEX
`User_id_UNIQUE`
(
`User_id`
ASC
)
VISIBLE
)
ENGINE
=
InnoDB
;
-- -----------------------------------------------------
-- Table `Exam_WebPage`.`Department`
-- -----------------------------------------------------
CREATE
TABLE
IF
NOT
EXISTS
`Exam_WebPage`
.
`Department`
(
`idDepartment`
INT
NOT
NULL
AUTO_INCREMENT
,
`name`
VARCHAR
(
45
)
NOT
NULL
,
PRIMARY
KEY
(
`idDepartment`
),
UNIQUE
INDEX
`idDepartment_UNIQUE`
(
`idDepartment`
ASC
)
VISIBLE
)
ENGINE
=
InnoDB
;
-- -----------------------------------------------------
-- Table `Exam_WebPage`.`Professor/Admin`
-- -----------------------------------------------------
CREATE
TABLE
IF
NOT
EXISTS
`Exam_WebPage`
.
`Professor/Admin`
(
`idProfessor/Admin`
INT
NOT
NULL
AUTO_INCREMENT
,
`Name`
VARCHAR
(
45
)
NOT
NULL
,
`Department_id`
INT
NULL
,
PRIMARY
KEY
(
`idProfessor/Admin`
),
UNIQUE
INDEX
`idProfessor/Admin_UNIQUE`
(
`idProfessor/Admin`
ASC
)
VISIBLE
)
ENGINE
=
InnoDB
;
-- -----------------------------------------------------
-- Table `Exam_WebPage`.`Course`
-- -----------------------------------------------------
CREATE
TABLE
IF
NOT
EXISTS
`Exam_WebPage`
.
`Course`
(
`idCourse`
INT
NOT
NULL
AUTO_INCREMENT
,
`Coursecode`
VARCHAR
(
45
)
NOT
NULL
,
`CourseName`
VARCHAR
(
45
)
NOT
NULL
,
`Department_id`
INT
NOT
NULL
,
UNIQUE
INDEX
`idCourse_UNIQUE`
(
`idCourse`
ASC
)
VISIBLE
,
PRIMARY
KEY
(
`idCourse`
),
INDEX
`Department_id_idx`
(
`Department_id`
ASC
)
VISIBLE
,
CONSTRAINT
`Department_id`
FOREIGN
KEY
(
`Department_id`
)
REFERENCES
`Exam_WebPage`
.
`Department`
(
`idDepartment`
)
ON
DELETE
NO
ACTION
ON
UPDATE
NO
ACTION
)
ENGINE
=
InnoDB
;
-- -----------------------------------------------------
-- Table `Exam_WebPage`.`Exam`
-- -----------------------------------------------------
CREATE
TABLE
IF
NOT
EXISTS
`Exam_WebPage`
.
`Exam`
(
`idExam`
INT
NOT
NULL
AUTO_INCREMENT
,
`idcourse`
INT
NOT
NULL
,
`IdAdmin`
INT
NOT
NULL
,
`academic_year`
INT
NOT
NULL
,
`Upload_Date`
DATETIME
NOT
NULL
,
`Filepath`
VARCHAR
(
45
)
NOT
NULL
,
PRIMARY
KEY
(
`idExam`
),
UNIQUE
INDEX
`idExam_UNIQUE`
(
`idExam`
ASC
)
VISIBLE
,
INDEX
`idcourse_idx`
(
`idcourse`
ASC
)
VISIBLE
,
INDEX
`idAdmin_idx`
(
`IdAdmin`
ASC
)
VISIBLE
,
CONSTRAINT
`idcourse`
FOREIGN
KEY
(
`idcourse`
)
REFERENCES
`Exam_WebPage`
.
`Course`
(
`idCourse`
)
ON
DELETE
NO
ACTION
ON
UPDATE
NO
ACTION
,
CONSTRAINT
`idAdmin`
FOREIGN
KEY
(
`IdAdmin`
)
REFERENCES
`Exam_WebPage`
.
`Professor/Admin`
(
`idProfessor/Admin`
)
ON
DELETE
NO
ACTION
ON
UPDATE
NO
ACTION
)
ENGINE
=
InnoDB
;
-- -----------------------------------------------------
-- Table `Exam_WebPage`.`UseVerificationRequest`
-- -----------------------------------------------------
CREATE
TABLE
IF
NOT
EXISTS
`Exam_WebPage`
.
`UseVerificationRequest`
(
`idUseVerificationRequest`
INT
NOT
NULL
AUTO_INCREMENT
,
`User_id`
INT
NOT
NULL
,
`requested_at`
DATETIME
NOT
NULL
,
`Status`
ENUM
(
"Accepted"
,
"Rejected"
,
"Pending"
)
NOT
NULL
,
`Admin_id`
INT
NOT
NULL
,
`handled_at`
DATETIME
NOT
NULL
,
PRIMARY
KEY
(
`idUseVerificationRequest`
),
UNIQUE
INDEX
`idUseVerificationRequest_UNIQUE`
(
`idUseVerificationRequest`
ASC
)
VISIBLE
,
INDEX
`user_id_idx`
(
`User_id`
ASC
)
VISIBLE
,
INDEX
`admin_id_idx`
(
`Admin_id`
ASC
)
VISIBLE
,
CONSTRAINT
`user_id`
FOREIGN
KEY
(
`User_id`
)
REFERENCES
`Exam_WebPage`
.
`User`
(
`User_id`
)
ON
DELETE
NO
ACTION
ON
UPDATE
NO
ACTION
,
CONSTRAINT
`admin_id`
FOREIGN
KEY
(
`Admin_id`
)
REFERENCES
`Exam_WebPage`
.
`Professor/Admin`
(
`idProfessor/Admin`
)
ON
DELETE
NO
ACTION
ON
UPDATE
NO
ACTION
)
ENGINE
=
InnoDB
;
-- -----------------------------------------------------
-- Table `Exam_WebPage`.`Report`
-- -----------------------------------------------------
CREATE
TABLE
IF
NOT
EXISTS
`Exam_WebPage`
.
`Report`
(
`idReport`
INT
NOT
NULL
AUTO_INCREMENT
,
`exam_id`
INT
NOT
NULL
,
`submitted_by_user_id`
INT
NOT
NULL
,
`status`
ENUM
(
"Graded"
,
"Pending"
)
NOT
NULL
,
`created_at`
DATETIME
NOT
NULL
,
PRIMARY
KEY
(
`idReport`
),
UNIQUE
INDEX
`idReport_UNIQUE`
(
`idReport`
ASC
)
VISIBLE
,
INDEX
`exam_id_idx`
(
`exam_id`
ASC
)
VISIBLE
,
INDEX
`reported_by_user_id_idx`
(
`submitted_by_user_id`
ASC
)
VISIBLE
,
CONSTRAINT
`exam_id`
FOREIGN
KEY
(
`exam_id`
)
REFERENCES
`Exam_WebPage`
.
`Exam`
(
`idExam`
)
ON
DELETE
NO
ACTION
ON
UPDATE
NO
ACTION
,
CONSTRAINT
`submitted_by_user_id`
FOREIGN
KEY
(
`submitted_by_user_id`
)
REFERENCES
`Exam_WebPage`
.
`User`
(
`User_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
;
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment