fdenzer-patch-1 #2
3 changed files with 71 additions and 7 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1 +1,2 @@
|
|||
.idea
|
||||
db/*
|
|
@ -1,11 +1,12 @@
|
|||
# Datenbank
|
||||
|
||||
## Aufsetzen
|
||||
## Aufsetzen - SQLite
|
||||
|
||||
Zu Beginn sollte die Datenbank heruntergeladen werden [Anleitung](https://mariadb.com/kb/en/getting-installing-and-upgrading-mariadb/).
|
||||
Erstellen / Verbinden mit der Datenbank
|
||||
```sqlite3 ../db/test.db```
|
||||
|
||||
Nach der Installation muss auf der Datenbank ein Server definiert werden. Dazu muss eine Systemtabelle des DB-Servers editiert werden. für die Tests gewählte Konfiguration findet sich unter ./create_server.sql weitere Informationen finden sich [unter](https://mariadb.com/kb/en/create-server/).
|
||||
Tabellen anlegen (nach Verbindung durch *sqlite3* besteht)
|
||||
```.read create.sql```
|
||||
|
||||
|
||||
https://wiki.archlinux.org/title/MariaDB
|
||||
mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
|
||||
In einem Schritt:
|
||||
```sqlite3 ../db/test.db -init create.sql```
|
||||
|
|
62
db_scripts/create.sql
Normal file
62
db_scripts/create.sql
Normal file
|
@ -0,0 +1,62 @@
|
|||
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,
|
||||
bezeichung VARCHAR(50) NOT NULL
|
||||
);
|
||||
|
||||
INSERT INTO einheit(menge_id, bezeichnung) VALUES (1, 'stueck');
|
||||
INSERT INTO einheit(menge_id, bezeichnung) VALUES (2, 'menge');
|
||||
|
||||
CREATE TABLE IF NOT EXISTS artikel (
|
||||
artikel_id INT NOT NULL PRIMARY KEY,
|
||||
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),
|
||||
CONSTRAINT fk_einheit_artikel FOREIGN KEY (einheit_id) REFERENCES einheit(einheit_id)
|
||||
);
|
Loading…
Reference in a new issue