106 lines
3.7 KiB
SQL
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); |