This commit is contained in:
2025-12-03 01:13:34 +01:00
parent a0b0f21d38
commit 367a3662a9
5 changed files with 259 additions and 108 deletions

45
schema.sql Executable file
View File

@@ -0,0 +1,45 @@
-- schema.sql
-- Datenbank-Schema für 3D-Druck Materialdatenbank
CREATE TABLE materials (
id INT AUTO_INCREMENT PRIMARY KEY,
code VARCHAR(50) NOT NULL,
name VARCHAR(150) NOT NULL,
short_desc VARCHAR(255) NULL,
properties TEXT NULL,
tg_celsius DECIMAL(5,1) NULL,
nozzle_req VARCHAR(150) NULL,
plate_req VARCHAR(150) NULL,
extra_req VARCHAR(255) NULL,
application TEXT NULL,
kid_safety ENUM('safe','limited','no') DEFAULT 'limited',
emission ENUM('low','medium','high') DEFAULT 'low',
is_active TINYINT(1) DEFAULT 1,
UNIQUE KEY uq_material_code (code)
);
CREATE TABLE printers (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(150) NOT NULL,
brand VARCHAR(100) NULL,
model_code VARCHAR(100) NULL,
max_nozzle_temp INT NULL,
max_bed_temp INT NULL,
chamber TINYINT(1) DEFAULT 0,
build_volume VARCHAR(50) NULL,
notes TEXT NULL,
is_active TINYINT(1) DEFAULT 1
);
CREATE TABLE printer_material_support (
id INT AUTO_INCREMENT PRIMARY KEY,
printer_id INT NOT NULL,
material_id INT NOT NULL,
support_level ENUM('full','partial','with_addon','no') NOT NULL DEFAULT 'no',
partial_reason VARCHAR(255) NULL,
extra_info VARCHAR(255) NULL,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
CONSTRAINT fk_pms_printer FOREIGN KEY (printer_id) REFERENCES printers(id) ON DELETE CASCADE,
CONSTRAINT fk_pms_material FOREIGN KEY (material_id) REFERENCES materials(id) ON DELETE CASCADE,
UNIQUE KEY uq_printer_material (printer_id, material_id)
);