Constraint-Checking in Distributed Database-as-a-Service Systems
Geeignet für: Masterarbeit
In dieser Arbeit soll untersucht werden, welche Constraints auf Datenmodell-Ebene wichtig für ein Database/Backend-as-a-Service System sind und wie sie deklarativ umgesetzt werden können. Beispiele für derartige Constraints sind Wertebereiche (z.B. Datum zwischen x und y) oder Not-Null-Constraints. Diese Form der Datenmodell-gebundenen Verifizierung von Constraints hat den großen Vorteil, dass sie keiner zusätzlich zu wartenden Code-Basis bedarf und direkt im Frontend, z.B. bei der Formularvalidierung, genutzt werden kann.
Ziele:
- Recherche: Aufstellen einer Matrix, die Datentypen zu sinnvollen Constraints in Relation setzt, d.h. für welchen Datentyp sind welche Validierungen sinnvoll? Als Grundlage können hier Content-Management-Systeme und SQL dienen. Systematische Unterteilung von Constraints nach ihren Anforderungen: benötigt nur neues Objekt (z.B. Range Constraints), benötigt Informationen über andere Objekte (z.B. Unique Constraint), benötigt vorherige Version des Objekts (z.B. monoton steigende Versionsnummern).
- Entwurf und Implementierung eines Constraint-Checkings in Orestes. Hier soll das bestehende Schema-System so angepasst werden, dass Constraints automatisch und skalierbar geprüft werden. Dazu soll die vorhandene Schema-Web-UI (siehe Baqend-Webseite) so angepasst werden, dass Constraints elegant deklariert werden können.
- Evaluation der Implementation durch Tests auf Erfüllung der Constraints und einer kleinen Case-Study (z.B. komplexes Formular mit Randbedingungen).
Literatur:
- SQL Constraints
- Beispiel für Constraints in einem Content-Management-System
- Orestes/Baqend Schema Oberfläche
- Literatur zu Orestes (siehe Einführung)
Kommentare
Kommentar hinterlassen
Die E-Mail Adresse wird nicht veröffentlicht. Benötigte Felder sind markiert *