Files
tilbudgivern/archive/sql/setup_carpenter_tasks_database.sql
alexpolo1 4a372d2e28 clean up
2025-10-30 18:28:58 +00:00

106 lines
3.7 KiB
SQL

-- Tømmer Opgave Database
-- Baseret på klassisk bygningskonstruktion og moderne tømrerteknikker
-- Hovedkategorier tabel
CREATE TABLE IF NOT EXISTS carpenter_task_categories (
id INT AUTO_INCREMENT PRIMARY KEY,
category_name VARCHAR(100) NOT NULL,
description TEXT,
priority_level INT DEFAULT 1, -- 1=høj, 2=medium, 3=lav
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
UNIQUE KEY unique_category (category_name)
);
-- Tømmer opgaver tabel
CREATE TABLE IF NOT EXISTS carpenter_tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
category_id INT NOT NULL,
task_name VARCHAR(150) NOT NULL,
description TEXT,
difficulty_level ENUM('Begynder', 'Let øvet', 'Erfaren', 'Specialist') NOT NULL,
estimated_time_hours DECIMAL(5,2),
material_requirements TEXT,
tools_required TEXT,
safety_requirements TEXT,
quality_standards TEXT,
common_mistakes TEXT,
tips_and_tricks TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (category_id) REFERENCES carpenter_task_categories(id)
);
-- Detaljerede steps for hver opgave
CREATE TABLE IF NOT EXISTS carpenter_task_steps (
id INT AUTO_INCREMENT PRIMARY KEY,
task_id INT NOT NULL,
step_number INT NOT NULL,
step_title VARCHAR(150) NOT NULL,
step_description TEXT NOT NULL,
estimated_minutes INT,
required_tools VARCHAR(300),
safety_notes TEXT,
quality_check TEXT,
common_errors TEXT,
FOREIGN KEY (task_id) REFERENCES carpenter_tasks(id) ON DELETE CASCADE,
UNIQUE KEY unique_task_step (task_id, step_number)
);
-- Materialer og deres anvendelse
CREATE TABLE IF NOT EXISTS carpenter_materials (
id INT AUTO_INCREMENT PRIMARY KEY,
material_name VARCHAR(100) NOT NULL,
material_type ENUM('Træ', 'Fastgørelse', 'Isolering', 'Fugt', 'Værktøj', 'Andet') NOT NULL,
specifications TEXT,
typical_usage TEXT,
cost_per_unit DECIMAL(10,2),
unit_type VARCHAR(20), -- m, stk, kg, m2, m3
supplier_info TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
UNIQUE KEY unique_material (material_name)
);
-- Værktøjer og deres anvendelse
CREATE TABLE IF NOT EXISTS carpenter_tools (
id INT AUTO_INCREMENT PRIMARY KEY,
tool_name VARCHAR(100) NOT NULL,
tool_category ENUM('Håndværktøj', 'Elværktøj', 'Måleværktøj', 'Sikkerhed', 'Specialværktøj') NOT NULL,
description TEXT,
usage_instructions TEXT,
safety_requirements TEXT,
maintenance_notes TEXT,
typical_cost DECIMAL(10,2),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
UNIQUE KEY unique_tool (tool_name)
);
-- Kvalitetskrav og standarder
CREATE TABLE IF NOT EXISTS quality_standards (
id INT AUTO_INCREMENT PRIMARY KEY,
standard_name VARCHAR(100) NOT NULL,
category VARCHAR(50),
description TEXT,
tolerance_values TEXT,
inspection_methods TEXT,
reference_documents TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Sikkerhedsregler og procedurer
CREATE TABLE IF NOT EXISTS safety_procedures (
id INT AUTO_INCREMENT PRIMARY KEY,
procedure_name VARCHAR(100) NOT NULL,
risk_category ENUM('Høj', 'Medium', 'Lav') NOT NULL,
description TEXT,
required_equipment TEXT,
emergency_procedures TEXT,
regulations_reference TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Indeks for bedre performance
CREATE INDEX idx_task_category ON carpenter_tasks(category_id);
CREATE INDEX idx_task_difficulty ON carpenter_tasks(difficulty_level);
CREATE INDEX idx_step_task ON carpenter_task_steps(task_id);
CREATE INDEX idx_material_type ON carpenter_materials(material_type);
CREATE INDEX idx_tool_category ON carpenter_tools(tool_category);