Mitgliederladen/db_scripts/create.sql

74 lines
2.4 KiB
MySQL
Raw Normal View History

CREATE TABLE IF NOT EXISTS mitglied (
mitglied_id INT NOT NULL PRIMARY KEY,
haushalt VARCHAR(100) NOT NULL,
erweiterter_haushalt VARCHAR(100),
einlage INT NOT NULL,
guthaben INT NOT NULL,
kontoauszuege BOOLEAN NOT NULL,
aktiv BOOLEAN NOT NULL
);
CREATE TABLE IF NOT EXISTS transaktion_art (
art_id INT NOT NULL PRIMARY KEY,
art VARCHAR(50) NOT NULL
);
INSERT INTO transaktion_art(art_id, art) VALUES (1, 'monatlicher_beitrag');
INSERT INTO transaktion_art(art_id, art) VALUES (2, 'aufladung');
INSERT INTO transaktion_art(art_id, art) VALUES (3, 'einkauf');
CREATE TABLE IF NOT EXISTS transaktion (
transaktion_id INT NOT NULL PRIMARY KEY,
mitglied_id INT NOT NULL,
art_id INT NOT NULL,
datum DATE NOT NULL,
BETRAG INT NOT NULL,
CONSTRAINT fk_mitglied_transaktion FOREIGN KEY (mitglied_id) REFERENCES mitglied(mitglied_id),
CONSTRAINT fk_art_transaktion FOREIGN KEY (art_id) REFERENCES transaktion_art(art_id)
);
CREATE TABLE IF NOT EXISTS monatlicher_beitrag (
monatlicher_beitrag_id INT NOT NULL PRIMARY KEY,
mitglied_id INT NOT NULL,
anfangsdatum DATE NOT NULL,
enddatum DATE NOT NULL,
beitrag INT NOT NULL,
CONSTRAINT fk_mitglied_beitrag FOREIGN KEY (mitglied_id) REFERENCES mitglied(mitglied_id)
);
CREATE TABLE IF NOT EXISTS mwst (
mwst_id INT NOT NULL PRIMARY KEY,
prozent INT NOT NULL
);
INSERT INTO mwst(mwst_id, prozent) VALUES (1, 7);
INSERT INTO mwst(mwst_id, prozent) VALUES (2, 19);
CREATE TABLE IF NOT EXISTS einheit(
einheit_id INT NOT NULL PRIMARY KEY,
2023-06-23 12:29:29 +02:00
bezeichnung VARCHAR(50) NOT NULL
);
2023-06-23 10:48:27 +02:00
INSERT INTO einheit(einheit_id, bezeichnung) VALUES (1, 'stueck');
INSERT INTO einheit(einheit_id, bezeichnung) VALUES (2, 'menge');
2023-06-25 22:03:09 +02:00
CREATE TABLE IF NOT EXISTS kategorie (
kategorie_id INT NOT NULL PRIMARY KEY,
parent_id INT,
name VARCHAR(100) NOT NULL,
icon_unicode VARCHAR(100) NOT NULL,
CONSTRAINT fk_kategorie_tree FOREIGN KEY (parent_id) REFERENCES kategorie(kategorie_id)
);
CREATE TABLE IF NOT EXISTS artikel (
artikel_id INT NOT NULL PRIMARY KEY,
2023-06-25 22:03:09 +02:00
bezeichnung VARCHAR(255) NOT NULL,
kategorie_id INT NOT NULL,
einheit_id INT NOT NULL,
mwst_id INT NOT NULL,
preis INT NOT NULL,
CONSTRAINT fk_mwst_artikel FOREIGN KEY (mwst_id) REFERENCES mwst(mwst_id),
2023-06-25 22:03:09 +02:00
CONSTRAINT fk_einheit_artikel FOREIGN KEY (einheit_id) REFERENCES einheit(einheit_id),
CONSTRAINT fk_kategorie_artikel FOREIGN KEY (kategorie_id) REFERENCES kategorie(kategorie_id)
);