Projet

Général

Profil

US #790 » 1_salary-market_struct.sql

script BD - ahlem belgacem, 04/12/2024 11:14

 
1
use salarymarket;
2
-- Compensation
3
-- Create company_compensation table
4
CREATE TABLE company_compensation (
5
	id INT AUTO_INCREMENT PRIMARY KEY,
6
	city Text NULL,
7
	site varchar(1) NULL,
8
	matricule varchar(255) NULL,
9
	department varchar(255) NULL,
10
	`function` varchar(255) NULL,
11
	internal_grade varchar(255) NULL,
12
	gender varchar(255) NULL,
13
	birthday Text NULL,
14
	hiring_date Text NULL,
15
	function_code varchar(255) NULL, 
16
	subfunction_code varchar(255) NULL,-- changed instead of discipline_code 
17
	collaborative_path varchar(255) NULL,-- changed instead of level_career_path  
18
	grade varchar(255) NULL, -- changed instead of job_grade
19
	number_employees_supervised  INT NULL ,
20
	devise VARCHAR(10) NULL,
21
	gross_annual_salary  float NULL,
22
	number_monthly_salary INT(5) NULL ,
23
	type_overtime_pay  varchar(255) NULL,
24
	meal_allowance float NULL,
25
	location_allowance float NULL,
26
	transportation_allowance INT NULL ,
27
	other_bonuses_awarded_last_year INT NULL, -- changed instead of other_bonuses_awarded
28
	fixed_allowances float NULL ,
29
	eligibility_performance_bonus float NULL,
30
	target_performance_bonus varchar(255) NULL ,
31
	total_amount_performance_bonus_awarded INT NULL,
32
	eligibility_commissions varchar(255) NULL,
33
	target_variable_sales_compensation varchar(255) NULL ,
34
	total_amount_sales_bonus_awarded  INT NULL,
35
	total_amount_sales_commissions_awarded INT NULL,
36
	car_benefit_eligibility varchar(255) NULL ,
37
	car_depreciation  varchar(255) Null,
38
	annual_cost_car_depreciation INT NULL,
39
	schooling_allowance float NULL, -- new
40
	seniority_bonus float NULL, -- new
41
	companyId INT NULL,
42
	FOREIGN KEY (companyId) REFERENCES company(id) ON DELETE CASCADE ON UPDATE CASCADE
43
);
44

    
45
---- Report
46
-- Create company_reports_files table
47
CREATE TABLE company_reports (
48
	id INT AUTO_INCREMENT PRIMARY KEY,
49
	label VARCHAR(255) NOT NULL,
50
	date DATETIME NULL,
51
	description TEXT,
52
	file VARCHAR(255) NULL,
53
	companyId INT NOT NULL,
54
	createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
55
	updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
56
	FOREIGN KEY (companyId) REFERENCES company(id) ON DELETE CASCADE ON UPDATE CASCADE
57
);
58

    
59

    
60
-- Create company_reports_files table
61
CREATE TABLE IF NOT EXISTS company_reports_files (
62
	report_id INT NOT NULL,
63
    files_id INT NOT NULL,
64
    PRIMARY KEY (report_id, files_id),
65
    FOREIGN KEY (report_id) REFERENCES company_reports(id) ON DELETE CASCADE ON UPDATE CASCADE,
66
    FOREIGN KEY (files_id) REFERENCES company_files(id) ON DELETE CASCADE ON UPDATE CASCADE
67
);
68
---- Questionnaire
69
-- Create solution_questionnaire table
70
CREATE TABLE solution_questionnaire (
71
    id INT PRIMARY KEY AUTO_INCREMENT,
72
    name VARCHAR(255) NOT NULL,
73
    description Text null, 
74
    countryId INT NOT NULL,                              
75
    `order` INT NOT NULL,  
76
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,     
77
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
78
    FOREIGN KEY (countryId) REFERENCES solution_setting_item(id) ON DELETE CASCADE
79
);
80
-- Create solution_questionnaire_section table
81
CREATE TABLE solution_questionnaire_section (
82
    id INT PRIMARY KEY AUTO_INCREMENT,
83
    name VARCHAR(255) NOT NULL,
84
    questionnaireId INT NOT NULL,
85
	`order` INT NOT NULL,
86
    FOREIGN KEY (questionnaireId) REFERENCES solution_questionnaire(id) ON DELETE CASCADE ON UPDATE CASCADE
87
);
88
-- Create solution_questionnaire_questions table
89
CREATE TABLE solution_questionnaire_questions (
90
    id INT PRIMARY KEY AUTO_INCREMENT,
91
    question VARCHAR(255) NOT NULL,
92
    sectionId INT NOT NULL,
93
    questionnaireId INT NOT NULL,
94
    idparent INT DEFAULT 0,
95
    type VARCHAR(2) NOT NULL,
96
    `order` INT NOT NULL,
97
    echartType varchar(255),
98
    FOREIGN KEY (sectionId) REFERENCES solution_questionnaire_section(id) ON DELETE CASCADE ON UPDATE CASCADE,
99
	FOREIGN KEY (questionnaireId) REFERENCES solution_questionnaire(id) ON DELETE CASCADE ON UPDATE CASCADE
100
);
101
-- Create solution_questionnaire_question_items table
102
CREATE TABLE solution_questionnaire_question_items (
103
    id INT PRIMARY KEY AUTO_INCREMENT,
104
    item VARCHAR(255) NOT NULL,
105
    questionId INT NOT NULL,
106
    itemParentId INT NULL,
107
    isOther BOOLEAN DEFAULT 0,
108
    FOREIGN KEY (questionId) REFERENCES solution_questionnaire_questions(id) ON DELETE CASCADE ON UPDATE CASCADE
109
);
110
-- Create company_questionnaire_response table
111
CREATE TABLE company_questionnaire_response (
112
	id INT AUTO_INCREMENT PRIMARY KEY,
113
    questionnaireId INT NOT NULL,
114
    questionId INT NOT NULL,
115
	sectionId INT NOT NULL,
116
    itemId INT NOT NULL,
117
    response VARCHAR(255),
118
    type VARCHAR(50),
119
    companyId INT NOT NULL,
120
	FOREIGN KEY (questionnaireId) REFERENCES solution_questionnaire(id) ON DELETE CASCADE ON UPDATE CASCADE,
121
	FOREIGN KEY (sectionId) REFERENCES solution_questionnaire_section(id) ON DELETE CASCADE ON UPDATE CASCADE,
122
	FOREIGN KEY (itemId) REFERENCES solution_questionnaire_question_items(id) ON DELETE CASCADE ON UPDATE CASCADE,
123
	FOREIGN KEY (questionId) REFERENCES solution_questionnaire_questions(id) ON DELETE CASCADE ON UPDATE CASCADE,
124
	FOREIGN KEY (companyId) REFERENCES company(id) ON DELETE CASCADE ON UPDATE CASCADE,
125
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
126
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
127
);
(4-4/7)