From d96706b468d022ad2c4752b8f64af30c4b407e2d Mon Sep 17 00:00:00 2001 From: Sebastian <94404394+SeZett@users.noreply.github.com> Date: Fri, 29 Dec 2023 08:07:34 +0100 Subject: [PATCH] Update 4-4-2-database-generator.md --- .../PhHo/4-4-2-database-generator.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/documentations/Ergebnisse/Abschlussbericht_und_Praesentation/PhHo/4-4-2-database-generator.md b/documentations/Ergebnisse/Abschlussbericht_und_Praesentation/PhHo/4-4-2-database-generator.md index 6a9ec37..e70eb56 100644 --- a/documentations/Ergebnisse/Abschlussbericht_und_Praesentation/PhHo/4-4-2-database-generator.md +++ b/documentations/Ergebnisse/Abschlussbericht_und_Praesentation/PhHo/4-4-2-database-generator.md @@ -1,9 +1,9 @@ ### Database Generator (Philipp Horstenkamp) -Zur Definition eines Relationalen Datenbankschemas und um zur Härtung gegen SQL-Injections wurde SQLAlchemy als SQL Interface / Driver / Abstraction layer genutzt. -SQLAlchemy sorgt dabei für ein stark dialekt unabhängiges Interface. +Zur Definition eines Relationalen Datenbankschemas und zur Härtung gegen SQL-Injections wurde SQLAlchemy als SQL Interface / Driver / Abstraction layer genutzt. +SQLAlchemy sorgt dabei für ein Dialekt unabhängiges Interface, um unabhängig von der verwendeten Datenbank zu sein. -Auch wenn es seit einiger Zeit SQLAlchemy2 gibt haben wir uns entschieden mit Version 1.4 zu nutzen da es zur Version 2 nur wenig Dokumentation externe Dokumentation und Beispiele gab. +Auch wenn es seit einiger Zeit SQLAlchemy2 gibt haben wir uns entschieden Version 1.4 zu nutzen da es zur Version 2 nur wenig Dokumentation, externe Dokumentation und Beispiele gab. SQLAlchemy ist ein sehr mächtiges und beliebtes Werkzeug, leider ist die Projektdokumentation sehr undurchsichtig. Da aber SQLAlchemy1.4 zurzeit noch gewartet wird, ist dies für dieses Projekt kein Problem. @@ -49,8 +49,7 @@ class Company(Base): Natürlich ist es manchmal sinnvoll SQL-Tabellen dynamischer und mit wenig Code-Duplication zu generieren. Eine Möglichkeit dazu ist die folgende Definition in der die Union einiger Teildefinitionen als Dictionary. -So kann zum Beispiel eine Tabelle generiert werden, - in der ein Enumerationswert die Column angibt ohne das die Datenbank durch den Enum als Foreign Key aufgeblasen/verlangsamt wird. +So kann zum Beispiel eine Tabelle generiert werden, in der ein Enumerationswert die Column angibt ohne das die Datenbank durch den Enum als Foreign Key aufgeblasen/verlangsamt wird. ```python from aki_prj23_transparenzregister.utils.enum_types import ( @@ -80,7 +79,7 @@ Base.metadata.create_all(db.bind) Dabei ist `db` eine `sqlalchemy.orm.Session` welche über eine SQL-Engine mit einer Datenbank verbindet. -Das resultierende SQL-Schema sieht dan wie folgt aus: +Das resultierende SQL-Schema sieht dann wie folgt aus: ```{eval-rst} .. drawio-figure:: db-schema.drawio :format: png