Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

7.sitzung (Datenbanktechnologien)

586 Aufrufe

Veröffentlicht am

-

Veröffentlicht in: Internet
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

7.sitzung (Datenbanktechnologien)

  1. 1. Universität zu Köln RRZK Folie: 1 Datenbanktechnologie Übung, Sommersemester 2016 13./14. Juni 2016 – NodeJS Einführung Christoph Stollwerk lehre@christoph-stollwerk.de
  2. 2. Aufgaben
  3. 3. Aufgabe 1 • Erstellen Sie ein vollständiges Entity- Relationship-Diagramm für Ihre – in den letzten Wochen erstellte –Datenbank (Bibliothek, Medienarchiv, Produkte, Personen, Bilder), die u.a. folgende Sachverhalte abbildet: – Nutzer leihen/kaufen/nutzen Dinge für einen bestimmten Zeitraum. – Jedem Nutzer ist eine Rolle (z.B. Student, Dozent, Käufer, Verkäufer, Abonnent, etc. ) zugewiesen, die den Preis für die Ausleihe/Nutzung/Kauf festlegt. – Es können mehrere Exemplare des gleichen Dings existieren, man kann also zwischen einer Sache und einem physisch vorhandenen Exemplar unterscheiden. Abgabeformat (Bild oder PDF) • Sie können beliebige Software verwenden (siehe z.B. die Links auf der Seminarseite)
  4. 4. Aufgabe 2 • Erstellen Sie die dem ERD entsprechenden Tabellen mit Hilfe von SQL. – Achten Sie dabei auf die korrekte Vergabe von Indizes und Foreign-Key- Contraints.
  5. 5. NodeJS
  6. 6. Dynamische Webseiten
  7. 7. Dynamische Webseiten
  8. 8. NodeJS • Open-Source • Cross-Plattform Serverseitige Laufzeitumgebung(V8) • Kein Javascript-Framwork! • ECMA-Script • Eventbasierte Architektur z.B. für – asynchrones IO – Real-time Web-Anwendungen (Kommunikation/Spiele/etc.) • uvm…
  9. 9. Variablen • Genauso wie in Javascript • Sind dynamisch typisiert
  10. 10. Parameter bei Seitenaufrufen • Spezielle Variablen, die mit „req“ (request) und „res“ (reponse) zur Auswertung übergebener Parameter genutzt werden können
  11. 11. Bedingungen • Können natürlich verschachtelt werden
  12. 12. Vergleiche • Vergleichsoperatoren: • „<“, „>“, „<=“, „>=“, „==“, „!=“ • Logische Operatoren: • „&&“ oder „and“, „||“ oder „or“ , • „!“ (nicht)
  13. 13. Schleifen
  14. 14. Wahrheitswerte • Zum Beispiel: 10 > 12 => false 42 > 12 => true
  15. 15. Arrays • Gruppieren zusammengehörige Daten unter einer Variablen. • Numerisch indizierte Arrays: - var myArray = new Array(17.5, 19.2, 21.8, 21.6, 17.5); - write(myArray[3]); // Ausgabe: "21.6“„ • Assoziative Arrays: - var myArray = new Array(Montag"=>17.5, “Dienstag"=>19.2, "Mittwoch"=>21.8, "Donnerstag"=>21.6); write(myArray["Dienstag"]); - // Ausgabe: "19.2"
  16. 16. NodeJS & MySQL
  17. 17. NodeJS Module package.json • Projektdefinition • Datenbankverbindung aufbauen • DB-Query absetzen • HTTP Server erstellen ndex.js(1)
  18. 18. NodeJS Module Index.js(2) • HTML vorbereiten • Query-Ergebnis ausgeben (HTML) • HTML an Clienten zurücksenden (Browser)
  19. 19. Praxisteil: NodeJS & MySQL from IntelliJ
  20. 20. NodeJS in IntelliJ (hello-sql) 1. Installieren Sie NodeJS 4.4.5 (LINK) und merken Sie sich den Installationspfad. 2. MySQL-Datenbank & Apache Webserver in XAMPP-Control starten. 1. Prüfen Sie unter PHPMyAdmin ob Sie die ‚employees‘ Datenbank erfolgreich importiert haben 3. Starten Sie IntelliJ. 4. Installieren das NodeJS-Plugin in IntelliJ (Startfenster -> Configure -> Plugins -> ggf. Install Jetbrains Plugin… -> in der Suche „NodeJS“ eingeben) 5. Extrahieren Sie das bereitgestellte NodeJS-Projekt „hello-sql“ (LINK) in einen Ordner Ihrer Wahl. 6. Öffnen Sie den Projekt-Ordner (gemeint ist der Ordner mit index.js & package.json) in IntelliJ. (nicht importieren!) 7. Legen Sie zwei Run-Konfigurationen an 1. NPM install (und führen sie diese mit einem Klick auf den dann grünen Play-Knopf aus) 2. Node index.js 8. Browser aufrufen und unter localhost:8080 das Ergebnis überprüfen
  21. 21. Hilfestellungen 4. Bereich Universitätsweiter Service Abteilung Autorenname 13.06.2016 Universität zu Köln RRZK Folie: 23
  22. 22. Bereich Universitätsweiter Service Abteilung Autorenname 13.06.2016 Universität zu Köln RRZK Folie: 24 7. NPM Run Config NodeJS Run Config Hilfestellungen
  23. 23. Aufgaben
  24. 24. Aufgabe 1 • Importieren Sie das ‘hello-mysql’ Projekt in Ihre Entwicklungsumgebung (IntelliJ). • Überprüfen Sie, ob es funktioniert, indem Sie es mit der bei Ihnen lokal importierten employees-DB starten.
  25. 25. Aufgabe 2 • Erstellen Sie voerst für jede Tabelle (<table>…) in Ihrer Datenbank eine HTML-Ausgabe, sodass beim Seitenaufruf mehrere Tabellen im Browserfenster erscheinen.
  26. 26. Aufgabe 3 • Erstellen Sie genau eine Gesamt- Tabelle die den Inhalt Ihrer Datenbank auf Basis des ER-Modells (Literatur, AV, Produkte, Personen, Bilder) wiedergibt. (Keine ID’s, Primary Keys, etc. / kein CSS)
  27. 27. Aufgabe 3 • Erstellen Sie ein erstes Suchformular für Ihre selbst erstellte Datenbank. – Gesucht werden soll vorerst in einem einzigen Feld. (Welches dürfen Sie sich aussuchen) – Als Ergebnis soll eine Tabelle angezeigt werden, die zusätzliche Informationen beinhaltet (Z.b. die Jobbezeichnung (titles.title) der gefundenen Mitarbeiter enthält).
  28. 28. FRAGEN?? ?
  29. 29. Herzlichen Dank!

×