Projet

Général

Profil

US #941 » quiz_BDD.sql

Tarek AOUADI, 16/02/2025 18:05

 
1
use salarymarket;
2

    
3
CREATE TABLE solution_quiz(
4
    id INT PRIMARY KEY AUTO_INCREMENT,
5
	quiz_code VARCHAR(255) NOT NULL,
6
	logo VARCHAR(255) NULL,	
7
    countryCode VARCHAR(255) NOT NULL,                              
8
    quiz_order INT NOT NULL,
9
	Averagetime	VARCHAR(3) NOT NULL, --NEW
10
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,     
11
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
12
);
13
CREATE TABLE solution_quiz_translate(
14
    id INT PRIMARY KEY AUTO_INCREMENT,
15
	title VARCHAR(255) NOT NULL,
16
	short_description Text null, --NEW
17
    description Text null,
18
	FOREIGN KEY (quizCode) REFERENCES solution_quiz(quiz_code) ON DELETE CASCADE ON UPDATE CASCADE
19
);	
20

    
21
-- Create solution_quiz_section table
22
CREATE TABLE solution_quiz_section (
23
    id INT PRIMARY KEY AUTO_INCREMENT,
24
    sectionCode VARCHAR(255) NOT NULL,
25
    quizCode INT NOT NULL,
26
	section_order INT NOT NULL,
27
    FOREIGN KEY (quizCode) REFERENCES solution_quiz(quiz_code) ON DELETE CASCADE ON UPDATE CASCADE
28
);
29
-- Create solution_quiz_section table
30
CREATE TABLE solution_quiz_section_translate(
31
    id INT PRIMARY KEY AUTO_INCREMENT,
32
    sectionCode VARCHAR(255) NOT NULL,
33
	title VARCHAR(255) NOT NULL,
34
    FOREIGN KEY (quizCode) REFERENCES solution_quiz_section(sectionCode) ON DELETE CASCADE ON UPDATE CASCADE
35
);
36

    
37
CREATE TABLE solution_quiz_questions(
38
    id INT PRIMARY KEY AUTO_INCREMENT,
39
    questionCode INT NOT NULL,
40
    idparent INT DEFAULT 0,
41
    type VARCHAR(2) NOT NULL,
42
    question_order INT NOT NULL,
43
    echartType varchar(255),
44
    FOREIGN KEY (sectionId) REFERENCES solution_quiz_section(id) ON DELETE CASCADE ON UPDATE CASCADE
45
);
46

    
47
CREATE TABLE solution_quiz_questions_translate(
48
    id INT PRIMARY KEY AUTO_INCREMENT,
49
    question_Code VARCHAR(255) NOT NULL,
50
	title VARCHAR(255) NOT NULL,
51
    FOREIGN KEY (quizCode) REFERENCES solution_quiz_section(questionCode) ON DELETE CASCADE ON UPDATE CASCADE
52
);
53

    
54
-- Create solution_quiz_question_items table
55
CREATE TABLE solution_quiz_question_items (
56
    id INT PRIMARY KEY AUTO_INCREMENT,
57
    itemCode VARCHAR(255) NOT NULL,
58
    questionCode INT NOT NULL,
59
    itemParentId INT NULL,
60
    isOther BOOLEAN DEFAULT 0,
61
    FOREIGN KEY (questionCode) REFERENCES solution_quiz_questions(questionCode) ON DELETE CASCADE ON UPDATE CASCADE
62
);
63

    
64
CREATE TABLE solution_quiz_question_items_translate (
65
    id INT PRIMARY KEY AUTO_INCREMENT,
66
    itemCode VARCHAR(255) NOT NULL,
67
    item VARCHAR(255) NOT NULL,
68
    FOREIGN KEY (questionId) REFERENCES solution_quiz_questions(id) ON DELETE CASCADE ON UPDATE CASCADE
69
);
70

    
71
CREATE TABLE company_quiz(
72
	id INT AUTO_INCREMENT PRIMARY KEY,
73
	compagnyid
74
	quizid
75
	Status
76
 FOREIGN KEY (questionId) REFERENCES solution_quiz_questions(id) ON DELETE CASCADE ON UPDATE CASCADE
77
);
78

    
79
-- Create company_quiz_response table
80
CREATE TABLE company_quiz_response (
81
	id INT AUTO_INCREMENT PRIMARY KEY,
82
    quizId INT NOT NULL,
83
    questionId INT NOT NULL,
84
	sectionId INT NOT NULL,
85
    itemId INT NOT NULL,
86
    response VARCHAR(255),
87
    type VARCHAR(50),
88
    companyId INT NOT NULL,
89
	FOREIGN KEY (quizId) REFERENCES solution_quiz(id) ON DELETE CASCADE ON UPDATE CASCADE,
90
	FOREIGN KEY (sectionId) REFERENCES solution_quiz_section(id) ON DELETE CASCADE ON UPDATE CASCADE,
91
	FOREIGN KEY (itemId) REFERENCES solution_quiz_question_items(id) ON DELETE CASCADE ON UPDATE CASCADE,
92
	FOREIGN KEY (questionId) REFERENCES solution_quiz_questions(id) ON DELETE CASCADE ON UPDATE CASCADE,
93
	FOREIGN KEY (companyId) REFERENCES company(id) ON DELETE CASCADE ON UPDATE CASCADE,
94
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
95
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
96
);
97

    
98
CREATE TABLE solution_quiz_country(
99
    id INT PRIMARY KEY AUTO_INCREMENT,
100
	quizCode VARCHAR(255) NOT NULL,
101
	countryCode VARCHAR(255) NOT NULL,
102
	FOREIGN KEY (countryCode) REFERENCES solution_setting_country(code) ON DELETE CASCADE
103
	FOREIGN KEY (quizCode) REFERENCES solution_quiz(quiz_code) ON DELETE CASCADE		
104
);
(1-1/4)