Benutzer-Werkzeuge

Webseiten-Werkzeuge


praktikum_informationssysteme

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
praktikum_informationssysteme [2015/01/13 08:15]
web1423
praktikum_informationssysteme [2015/02/23 09:29] (aktuell)
Zeile 52: Zeile 52:
 </​code>​ </​code>​
  
-Nun soll als Regel die ID aus Gegenstand, die bei insert erstellt wird auch in LogAnz erstellt werden. Dazu brauchen wir virtuelle Tabellen (new, old). New enthält die Werte und Spalten, die neu beim Abarbeiten der Regel hinzugekommen sind. Old sammelt die Werte, die von insert und delete betroffen waren. Bei update lassen sich beide Regeln benutzen. Zuerst wird die zuvor erstellte Regel entfernt und eine neue Tabelle Log erstellt:+Nun soll als Regel die ID aus Gegenstand, die bei insert erstellt wird auch in LogAnz erstellt werden. Dazu brauchen wir virtuelle Tabellen (new, old). **New**  ​enthält die Werte und Spalten, die neu beim Abarbeiten der Regel hinzugekommen sind. **Old**  ​sammelt die Werte, die von insert und delete betroffen waren. Bei update lassen sich beide Regeln benutzen. Zuerst wird die zuvor erstellte Regel entfernt und eine neue Tabelle Log erstellt:
  
 <code sql> <code sql>
Zeile 186: Zeile 186:
 Voreinstellung für Transaktionen ist read committed . <note tip>​Isolationsgrade bestimmen, was andere Transaktionen von dem was um sie herum passiert, sehen können.</​note>​ Voreinstellung für Transaktionen ist read committed . <note tip>​Isolationsgrade bestimmen, was andere Transaktionen von dem was um sie herum passiert, sehen können.</​note>​
  
-  * read committed: andere Transaktionen können Lesen, was passiert. +  * read committed: andere Transaktionen können Lesen, was passiert, aber lost update problem
-  * serializable:​ Abschotten der Transaktionen von der Außenwelt, so als wären sie hintereinander ausgeführt worden, aber lost update problem.+  * serializable:​ Abschotten der Transaktionen von der Außenwelt, so als wären sie hintereinander ausgeführt worden.
  
 <code sql> <code sql>
Zeile 306: Zeile 306:
  
 <code sql> <code sql>
-SELECT relname AS Tabelle, Uni_Bedienstet* FROM Uni_Bedienstet,​ pg_class+SELECT relname AS Tabelle, Uni_Bedienstet* FROM Uni_Bedienstet,​ pg_class
 WHERE Uni_Bedienstet.tableoid = pg_class.oid;​ WHERE Uni_Bedienstet.tableoid = pg_class.oid;​
 </​code>​ </​code>​
Zeile 542: Zeile 542:
 ==== PHP Grundlagen ==== ==== PHP Grundlagen ====
  
-PHP aufrufen: <?php , <font inherit/​inherit;;​inherit;;​inherit>​PHP</​font> ​beenden<font inherit/​inherit;;​inherit;;​inherit>​: ?></font>+  * PHP aufrufen: <?php , PHP   ​beenden: ?> 
 +  * Textausgabe:​ echo "​String"​. In der Textausgabe mit echo kann sowohl ein normaler String als auch HTML oder Javascript Code stehen. Um in einem solchen String ein Hochkommata oder andere Programmiercodes einzufügen,​ muss davor ein \ stehen. **Einfache Hochkommata** meinen: Nimm alles wörtlich, d.h. \n wird kein Zeilenumbruch ausgeben. Aber mittels Konkatenation kann \n hinzugefügt werden: echo '<sdfsdf>' . "​\n";​ 
 +  * Zeilenumbruch:​ \n 
 +  * Variablen definieren: $[Variablenname] 
 +  * Konkatenation:​ Was in Java ein + ist, ist in php ein Punkt
  
-<font inherit/​inherit;;​inherit;;​inherit>​Textausgabeecho "​String"​. In der Textausgabe mit echo kann sowohl ein normaler String als auch HTML oder Javascript Code stehen. Um in einem solchen String ein Hochkommata einzufügen,​ muss davor ein \ stehen.</​font>​+Funktion definieren:
  
 +<code php>
 +function verdoppeln($wert)
 +
 +{ return $wert * 2;
 + }
 +
 +</​code>​
 +==== Formular erstellen ====
 +
 +Jedes Formular braucht ein action und method Attribut. input type sorgt für Eingabefelder. Der Absendebutton wird über input type="​submit"​ hinzugefügt.
 +
 +Bei action in Form ist angegeben: <?php echo $_SERVER['​PHP_SELF'​];​ ?>
 +
 +  * $_SERVER: Ein Array, in dem viele Servereigenschaften gespeichert sind
 +  * ​['​PHP_SELF'​]:​ Array an der Position PHP_SELF wird aufgerufen (Array-Zeile ist mit Namen gekennzeichnet). PHP_SELF beschreibt die derzeitige PHP-Datei, also wird die gerade aufgerufene PHP-Datei aufgerufen.
 +  * $_POST: Ebenfalls ein Arraystandard,​ in dem Zeilen aus dem Array ausgegeben werden, die via Post Methode bei Forms übergeben wurden. Diese Zeilen heissen wie die input Elemente.
 +
 +==== Verbindung aufbauen und Anfragen ====
 +
 +
 +  * Wichtig: Encoding der Datenbank muss das selbe Encoding der PHP-Ausgabe haben.
 +  * Verbindung herstellen: [$conn=]pg_connect("​host=gowron.fim.uni-passau.de dbname=roeder user=roeder password=0815"​);​
 +  * Anfrage an Datenbank: pg_query($conn. "​select * from Wein;"​);​
 +  * Tabellenbesonderheiten von php: pg_num_rows (zeilenanzahl),​ pg_num_fields (spaltenanzahl)
 +  * Ergebnis einer Tabellenzelle:​ pg_fetch_result($variable,​ $i, $j);
 +  * Überschrift einer Spalte: pg_field_name
praktikum_informationssysteme.1421133300.txt.gz · Zuletzt geändert: 2015/02/23 09:29 (Externe Bearbeitung)