Umstellung auf Sqlite
* Anpassung des Erstellungsscripts * Beschreibung des Zugriffs und Einlesen der Datei (momentan noch nicht funktional)
This commit is contained in:
parent
793d3e02e1
commit
d711eef20d
3 changed files with 71 additions and 7 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1 +1,2 @@
|
||||||
.idea
|
.idea
|
||||||
|
db/*
|
|
@ -1,11 +1,12 @@
|
||||||
# Datenbank
|
# 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```
|
||||||
|
|
||||||
|
In einem Schritt:
|
||||||
https://wiki.archlinux.org/title/MariaDB
|
```sqlite3 ../db/test.db -init create.sql```
|
||||||
mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
|
|
||||||
|
|
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