43 lines
1.2 KiB
SQL
43 lines
1.2 KiB
SQL
CREATE TABLE asset_type (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
name VARCHAR(100) NOT NULL UNIQUE
|
|
);
|
|
|
|
CREATE TABLE asset (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
name VARCHAR(255) NOT NULL,
|
|
asset_type_id INT NOT NULL,
|
|
FOREIGN KEY (asset_type_id) REFERENCES asset_type(id)
|
|
);
|
|
|
|
CREATE TABLE log_type (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
name VARCHAR(100) NOT NULL UNIQUE
|
|
);
|
|
|
|
CREATE TABLE log (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
name VARCHAR(255) NOT NULL,
|
|
log_type_id INT NOT NULL,
|
|
date DATE DEFAULT CURRENT_DATE,
|
|
FOREIGN KEY (log_type_id) REFERENCES log_type(id)
|
|
);
|
|
|
|
-- Junction table for equipment assets
|
|
CREATE TABLE log_equipment_asset (
|
|
log_id INT NOT NULL,
|
|
asset_id INT NOT NULL,
|
|
PRIMARY KEY (log_id, asset_id),
|
|
FOREIGN KEY (log_id) REFERENCES log(id) ON DELETE CASCADE,
|
|
FOREIGN KEY (asset_id) REFERENCES asset(id) ON DELETE CASCADE
|
|
);
|
|
|
|
-- Junction table for substance assets
|
|
CREATE TABLE log_substance_asset (
|
|
log_id INT NOT NULL,
|
|
asset_id INT NOT NULL,
|
|
PRIMARY KEY (log_id, asset_id),
|
|
FOREIGN KEY (log_id) REFERENCES log(id) ON DELETE CASCADE,
|
|
FOREIGN KEY (asset_id) REFERENCES asset(id) ON DELETE CASCADE
|
|
);
|