SQL und MySQL - yahg. ?· MS Access und MS SQL Server, Oracle, MySQL 3. Objektorientiertes Datenbankmodell…

Embed Size (px)

Text of SQL und MySQL - yahg. ?· MS Access und MS SQL Server, Oracle, MySQL 3. Objektorientiertes...

  • David Niegisch Einfhrung in SQL und MySQL

    Einfhrung in SQL und MySQL

    Kursleiter: David Niegisch

    Inhalte:

    Einfhrung in relationale Datenbanken

    SQL Grundlagen

    Erstellung von Beispiel-Datenbanken

    Hinweise zur Administration von Datenbanken

  • David Niegisch Einfhrung in SQL und MySQL

    Einfhrung in SQL und MySQL

    Smtliche Kursmaterialien befinden sich online, unter:

    http://yahg.net/kurse/

    Kontakt zum Kursleiter:

    niegisch@yahg.net

  • David Niegisch Einfhrung in SQL und MySQL

    Einfhrung in SQL und MySQL

    Informationszeitalter:

    Das Informationszeitalter stellt nach der Agrargesellschaft und dem Industriezeitalter die dritte (Wirtschafts- und) Gesellschaftsform dar.

    Gekennzeichnet ist diese Phase von der zentralen Bedeutung von Information als Rohstoff und Ware, was erst durch die elektronische Datenverarbeitung und globale Informationsflsse mglich wurde. Die Bedeutung der Produktion von materiellen Gtern geht stattdessen immer mehr verloren, entscheidend fr die Wertschpfung ist stattdessen die Intelligenz, die in ein Gut gesteckt wird.Quelle: Wikipedia (http://de.wikipedia.org/wiki/Informationszeitalter)

    Literatur: Castells, Manuel: Die Netzwerkgesellschaft. Band I Das Informationszeitalter. Leske&Budrich, Opladen 2001.

  • David Niegisch Einfhrung in SQL und MySQL

    Einfhrung in SQL und MySQL

    Die Bedeutung der Produktion von materiellen Gtern geht stattdessen immer mehr verloren, entscheidend fr die Wertschpfung ist stattdessen die Intelligenz, die in ein Gut gesteckt wird.

    Aktuelle Beispiele:

    Apples iPhone

    aber auch:

    Nokia ist ein WarnzeichenEssay in WELT-ONLINE (Link)

    http://www.welt.de/welt_print/article1597115/Nokia_ist_ein_Warnzeichen.html

  • David Niegisch Einfhrung in SQL und MySQL

    Einfhrung in SQL und MySQL

    Was ist Information? Wie entsteht Wissen? Und was haben Daten damit zu tun?

    Daten sind isolierte und uninterpretierte Fakten und Kennwerte der Realittsbeschreibung.Bspw: Name = Meier, Strae = Hauptstrae 12, Ort = 72076 Tbingen

    Informationen sind verknpfte und mit Bedeutung versehene Daten. Bspw: Herr Meier wohnt in der Hauptstrae 12 in 72076 Tbingen.

    Von Wissen spricht man erst, wenn diese Informationen individuell verarbeitet sind und einen mehr oder weniger starken Bezug zur eigenen Erfahrungswelt erhalten haben.Bspw: Mein ehemaliger Schulfreund Peter Meier wohnt auch hier in Tbingen!

  • David Niegisch Einfhrung in SQL und MySQL

    Einfhrung in SQL und MySQL

    Daten sind der Ursprung allen Wissens

    Daten mssen gespeichert und Zugriffsmglichkeiten mssen geschaffen werden.

    Dies geschieht mit Hilfe von Datenbanken und Datenbank-Management-Systemen (DBMS).

  • David Niegisch Einfhrung in SQL und MySQL

    Einfhrung in SQL und MySQL

    Unterscheidung Datenbank und DBMS

    Eine Datenbank ist eine logische Einheit zusammengehrender Daten und smtlicher Meta-Informationen dazu.Bspw: Eine Access-MDB/ACCDB-Datei oder eine MySQL-Datenbank.

    Ein Datenbank-Management-System (DBMS) stellt unterschiedliche Werkzeuge bereit, mit welchen eine oder mehrere Datenbanken erstellt, mit Daten gefllt und verwaltet werden knnen.Bspw: Die Access-Installation auf einem Arbeitsplatzrechner, oder die MySQL-Installation auf einem Server.

  • David Niegisch Einfhrung in SQL und MySQL

    Einfhrung in SQL und MySQL

    Unterscheidung Datenbank und DBMS

    Ohne das zugehrige Datenbank-Management-System sind die Daten einer Datenbank unverstndlich und nicht verwendbar.

    Das Datenbank-Management-System stellt die eigentliche Rahmenarchitektur zur Erstellung und Pflege von Daten-banken dieses Typs mit ihren speziellen Inhalten dar und bietet datenbankbergreifend zustzliche Service-Leistungen an.

    In diesem Kurs werden wir MySQL als DBMS verwenden um eigene Datenbanken zu erstellen und zu pflegen.

  • David Niegisch Einfhrung in SQL und MySQL

    Einfhrung in SQL und MySQL

    Desktop- und serverbasierte DBMS

    Desktop-basierte DBMS kennzeichnen sich dadurch aus, dass der Betriebssystem-Prozess fr die Datenbank nur dann aktiv sein muss, wenn ein Nutzer auf die Datenbank zugreift.

    Jeder Nutzer erhlt eine Kopie der gesamten Daten fr die Zeit seiner Sitzung und kann nach Belieben Inhalte oder sogar Strukturen ndern und lschen.

    Bspw: Eine Access-Datenbank auf einem freigegebenen Netzlaufwerk.

  • David Niegisch Einfhrung in SQL und MySQL

    Einfhrung in SQL und MySQL

    Beispiel fr ein desktopbasiertes DBMS:

    Auf dem Arbeitsplatzrechner ist MS Accessals DBMS installiert.

    Mit Hilfe von MS Access hat der Mitarbeiter Zugriff auf die Datenbank Kunden.accdb.

    Whrend einer Sitzung hat der Mitarbeitersomit uneingeschrnkten Zugriff auf alleDaten, die sich in dieser Datenbank befinden.

  • David Niegisch Einfhrung in SQL und MySQL

    Einfhrung in SQL und MySQL

    Desktop- und serverbasierte DBMS

    Im Gegensatz dazu luft bei serverbasierten DBMS kontinuierlich mindestens ein Serverprozess fr die Datenbank. Dieser Prozess stellt die einzige Schnittstelle zur Verfgung, ber die die Nutzer auf die Daten der Datenbank(en) zugreifen knnen. Nur wenn die Nutzer ihre Befehle syntaktisch korrekt formulieren und die Berechtigung fr einen solchen Zugriff vorliegt, wird die Befehlsfolge ausgefhrt und gegebenenfalls Daten an den Nutzer zurckgesandt.

    Bspw: Ein Webserver mit MySQL.

  • David Niegisch Einfhrung in SQL und MySQL

    Einfhrung in SQL und MySQL

    Beispiel fr ein serverbasiertes DBMS:

    Auf dem Server ist MySQL als DBMS installiert.

    Die Arbeitsplatzrechner kommunizieren mit demMySQL-Server und der Server entscheidet, obund welche Daten zurckgesendet werden.

  • David Niegisch Einfhrung in SQL und MySQL

    Einfhrung in SQL und MySQL

    Aufbau einer Datenbank

  • David Niegisch Einfhrung in SQL und MySQL

    Einfhrung in SQL und MySQL

    Datensatzaufbau

  • David Niegisch Einfhrung in SQL und MySQL

    Einfhrung in SQL und MySQL

    Datenbankmodelle - Einfhrung

    Aufgabe: Erstellen Sie eine Adress-Datenbank (auf Papier).

    Die folgenden Daten liegen bereits vor:

  • David Niegisch Einfhrung in SQL und MySQL

    Einfhrung in SQL und MySQL

    3 Typen von Datenbankmodellen

    1. Hierarchisches Datenbankmodell (berholt)Bspw.: IMS von IBM, ca. 50 Jahre althttp://www-306.ibm.com/software/data/ims/

    2. Relationales Datenbankmodell (aktuell)Bspw.: MS Access und MS SQL Server, Oracle, MySQL

    3. Objektorientiertes Datenbankmodell (die Zukunft?)Bspw.: Lotus Notes mit Domino Server oder PostgreSQLhttp://www.postgres.de/

    http://www-306.ibm.com/software/data/ims/http://www.postgres.de/

  • David Niegisch Einfhrung in SQL und MySQL

    Einfhrung in SQL und MySQL

    Relationales Datenbankmodell Beschreibung

    Zusammenhngende Informationen werden auf mehrere

    Tabellen aufgeteilt, die untereinander in Beziehung stehen.

  • David Niegisch Einfhrung in SQL und MySQL

    Einfhrung in SQL und MySQL

    Relationales Datenbankmodell Beschreibung

  • David Niegisch Einfhrung in SQL und MySQL

    Einfhrung in SQL und MySQL

    Relationales Datenbankmodell Beschreibung

    Primrschlsselfeld:

    Keine Duplikate

    Eindeutige Identifikation der Datenstze

    Wird mit Fremdschlsselfeld einer anderen Tabelle verknpft und dient der eindeutigen Zuordnung verschiedener Daten aus mehreren Tabellen

    Fremdschlsselfeld:

    Feld in einer Tabelle, das mit dem Primrschlsselfeld einer anderen Tabelle verknpft ist

  • David Niegisch Einfhrung in SQL und MySQL

    Einfhrung in SQL und MySQL

    Relationales Datenbankmodell Beschreibung

    Indizes:

    Indizes beschleunigen Such- und Sortierfunktionen.

    Ein Primrschlssel einer Tabelle ist immer ein Index (macht MySQL automatisch).

    Umgekehrt muss ein Index nicht unbedingt Primrschlssel sein.

  • David Niegisch Einfhrung in SQL und MySQL

    Einfhrung in SQL und MySQL

    Beziehungstypen in relationalen Datenbanken:

    1:n-Beziehung

    n:m-Beziehung

    1:1-Beziehung

  • David Niegisch Einfhrung in SQL und MySQL

    Einfhrung in SQL und MySQL

    1:n-Beziehung:

    1-Seite: Tabelle ohne redundante Informationen (Mastertabelle)

    n-Seite: Tabelle in der der Wert einmal, keinmal oder mehrmals vorkommen kann (Detailtabelle)

  • David Niegisch Einfhrung in SQL und MySQL

    Einfhrung in SQL und MySQL

    1:n-Beziehung:

  • David Niegisch Einfhrung in SQL und MySQL

    Einfhrung in SQL und MySQL

    n:m-Beziehung:

    n-Seite: Tabelle in der der Wert einmal, keinmal oder mehrmals vorkommen kann

    m-Seite: Tabelle in der der Wert einmal, keinmal oder mehrmals vorkommen kann

    Wichtig: Die n:m-Beziehung bentigt eine eigene Tabelle!

  • David Niegisch Einfhrung in SQL und MySQL

    Einfhrung in SQL und MySQL

    n:m-Beziehung:

  • David Niegisch Einfhrung in SQL und MySQL

    Einfhrung in SQL und MySQL

    1:1-Beziehung:

    Sonderfall, tritt relativ selten auf

    Wert existiert in beiden Fllen nur genau einmal und ist jeweils Primrschlssel

    Wird bspw. verwendet um eine sehr groe Tabelle in

    mehrere kleine Tabellen aufzuteilen oder um bestimmte

    Informationen von den restlichen Daten eindeutig

    abzugrenzen.

  • David Niegisch Einfhrung in SQL und MySQL

    Einfhrung in SQL und MySQL

    1:1-Beziehung:

    ID_Mitarbeiter Vorname Name

    00001 Bill Gates

    00002 Steve Jobs

    usw.

    ID_Mitarbeiter Jahresgehalt 2006 (in US-Dollar)