Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
modul:m245:learningunits:lu03:theorie:01 [2025/03/26 11:55] – angelegt vdemirmodul:m245:learningunits:lu03:theorie:01 [2025/03/26 12:54] (aktuell) vdemir
Zeile 1: Zeile 1:
-====== Projekt 1: freeDB ======+====== LU03c - Projekt 1: freeDB ====== 
 + 
 +===== Einleitung ===== 
 +Der Grundgedanke des Innovationsmodul II ist es eine Innovation vorzubereiten und den Nachweis zu bringen, dass diese grundsätzlich möglich ist. Gemäss Definition ist unter dem Begriff Innovation //eine neue Idee/Produkt// oder //eine neue, bessere Zusammensetzung von Komponenten oder Prozessen// zu verstehen. 
 + 
 +===== Ausgangslage ===== 
 +Datenbanken gibt es sehr viele auf dem Markt, die meisten sind bezüglich der Lizenzierung für Privatpersonen kostenlos. Zudem gibt das Thema //Offenlegung des Sourcecodes// immer wieder Grund zur Diskussion bei Unternehmen. 
 + 
 +Dieses Projekt soll das Prinzip der Datenbank neu denken und die Themen //Lizenzierung// und //Openbsource//" neu definieren. D.h. das Projekt ist als OpenSource-Projekt durchzuführen, was bedeutet, dass auch Unternehmen keine Lizenzgebühren zahlen müssen. 
 +  
 +===== Projektauftrag freeDB ===== 
 +//Re-Programmieren// Sie die CRUD-Operationen einer Datenbank unter Verwendung eines Standard-Befehlssatzes einer Programmier- oder Scriptsprache (Python, BASH, ...).  
 + 
 +Achten Sie darauf, dass jedes Teammate für einen ASPEKT der CRUD-Operationen zuständig ist. Sprich Person A erledigt das CREATE, eine andere Person das READ, etc. 
 + 
 +===== Befehlsreferenz C = Create ===== 
 +  - CREATE Table bzw. CREATE TABLE IF NOT EXITSTS 
 +    - Separate Files anlegen für mit Tabellenstruktur und Tabelleninhalt, erkennbar an der Endung 
 +    - Falls File vorhanden ist  entsprechende Fehlermeldungen ausgeben lassen 
 +  - INSERT INTO TABLE 
 +    - Prüfen, ob Tabellen und genannten Spalten vorhanden sind. 
 +    - Zeile am Ende des Files dranhängen 
 +    - Gesamten Fileinhalt Sortierten nach der 1. Spalte (ID) 
 +  
 +===== Befehlsreferenz R = Read ===== 
 +  - SELECT count(*) 
 +    - AWK auf Datenfile 
 +    - Alternativ wc (Wordcount) verwenden 
 +  - SELECT * FROM 
 +    - Fehlermeldung, wenn Tabellen nicht existiert 
 +    - Gesamter Inhalt der Tabelle wird ausgegeben 
 +  - SELECT nach Spalten 
 +    - SELECT Spalte1, Spalte2, Spalte3 FROM Tabelle 
 +    - Wenn Spalte nicht existiert, Fehlermeldung. 
 +  - SELECT mit WHERE 
 +    - SELECT * FROM Tab WHERE ID=15 
 +    - GREP kombiniert mit AWK 
 +    - Spalte auswählen, die gefiltert werden soll und darauf den GREP anwenden  RegEx 
 +    - Die betroffene Zeile ausgeben lassen 
 +  - SELECT mit JOIN (zweiter Entitätentyp) 
 +    - Gemeinsamer Schlüssel zwischen zwei Tabellen 
 +    - Treffermenge beider Tabellen ausgeben gemeinsam Ausgeben lassen 
 +  - SELECT mit Bedingung/WHERE (z.B. Gehalt > 10'000) 
 +    - SELECT MIT AWK 
 +    - Spaltenwert muss Vergleichbar sein 
 +  - SELECT mit LIKE 
 +    - SELECT MIT AWK und GREP 
 + 
 +===== Befehlsreferenz U = Update ===== 
 +  - UPDATE TABLE WHERE ID=?? 
 +    - Zeile finden herauslesen 
 +    - Mittels RegEx Zeile aktualisieren 
 +  - ALTER TABLE 
 +    - In Tabellendefinition prüfen, ob die Spalte schon vorhanden ist 
 +    - Wenn nicht, Spalte am Ende anhängen 
 +    - Datenfile mit Leeren Kommas füllen am Ende auffüllen 
 +===== Befehlsreferenz D = Delete ===== 
 +  - DELETE FROM TABLE 
 +    - AWK mit GREP kombiniert  
 +    - grep -v  suchmuster originaldatei > tempdatei 
 +    - mv tempdatei originaldatei 
 +  - DROP TABLE 
 +    - rm-Befehl 
 + 
 +===== Zusatz ===== 
 +  - INDEXIERUNG (Sortierung der Tabelleninhalte) 
 +    - Select auf eine String-Spalte, die unsortiert ist (Like «demi%) 
 +    - Schattentabellen mit entsprechend Sortiert Spalte anlegen 
 +    - Gleiche Abfrage auf die Schattentabelle 
 +    - Zeit vor der Indexierung und Zeit nach der Indexierung stoppen 
 +    - https://wiki.ubuntuusers.de/Skripte/Stoppuhr/  
 +  - Fonetische Suchen via Soundex  
 +    - Hierbei geht es eine Klang-Suche anstatt nach Wörtern.  
 +    - SoundEx ermöglicht das Auffinden von Inhalten mit anderen Schreibweisen. 
 +    - https://gist.github.com/livibetter/1997957  
 +    - https://de.wikipedia.org/wiki/Soundex 
 + 
 + 
 + 
 + 
 + 
 +  
  • modul/m245/learningunits/lu03/theorie/01.1742986503.txt.gz
  • Zuletzt geändert: 2025/03/26 11:55
  • von vdemir