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.
Datenbankadministration mit Access –           Grundlagen          VHS Mönchengladbach                                22.-...
Über uns     IT-Beratung, Training, Web-Design, Programmierung     Thomas Siegers                 ts@interwerkstatt.net Di...
Agenda Einführung Live Demo SQL Access   Grundlagen   Tabellen   Beziehungen   Abfragen   Formulare   Berichte  ...
Motto"Sage es mir und ich vergesse es,zeige es mir und ich erinnere mich,lass es mich tun und ich behalte es."Konfuzius, c...
Warum Datenbanken? Daten strukturiert speichern Daten sicher eingeben Daten schnell finden Beliebige Daten abfragen V...
Begriffe Aufbau   Datenbankmanagementsystem (DBMS)   Datenbank (DB)                                       DBMSTypen   ...
Relationale Datenbanken Tabelle                                    Tabelle 1   Relation, entity                Feld 1   ...
ER-Diagram             Wikipedia              Wikipedia                     8
Normalisierung Eliminierung / Reduzierung von Redundanz                                                        Wikipedia ...
BeziehungenNr   Name     Fa-Nr1    Willy    1         1 : n one-to-many2    Walter   23    Werner   3                     ...
Schlüssel Mithilfe von Schlüsseln werden die Beziehungen zwischen  Tabellen hergestellt. Primärschlüssel (primary key, P...
Indizes Indizes werden verwendet, um  das Auffinden von Datensätzen  zu beschleunigen.                       Tabelle     ...
IntegritätKorrektheit, Vollständigikeit und Konsistenz der Daten Primärschlüssel    muss eindeutig sein und darf nicht Nu...
Architektur Client – Server    Client enthält Anwendungslogik.    Datenverkehr zwischen Client und Server ist relativ g...
HerstellerServer            PC Oracle           Access DB2              Paradox MS SQL           dBase MySQL       ...
Datentypen!   Datentypen sind nicht einheitlich für alle DBMS.     http://w3schools.com/sql/sql_datatypes.asp Numerisch  ...
Feld-Eigenschaften Datentyp, Länge Standardwert (default) – 0, null, benutzerdefiniert Collation – Code für alphabetisc...
Funktionen Aggregatfunktionen  SUM(), MIN(), MAX(), AVG(), COUNT() Numerische Funktionen  SQRT(), PI(), SIN(), RAND(), R...
Live Demo MySQL Demo Datenbank auf interwerkstatt.net   Server-Adresse   Datenbankname   Benutzername   Kennwort   Z...
SQL Structured Query Language                                                  Wikipedia                                 ...
SQL – Beispiele 1 Abfrage über mehere TabellenSELECT   p.name AS Person, f.name AS Firma, a.name AS Abteilung   FROM pers...
SQL - Beispiele 2 Abfrage mit BerechnungSELECT f.name AS Firma, SUM(u.umsatz) AS UmsatzFROM firma f INNER JOIN umsatz u O...
SQL – Beispiele 3 EinfügenINSERT INTO person (name, telefon)  VALUES (Anita, 0172-4387680);INSERT INTO person (name, tele...
PL/SQL Procedural Language/SQL  Datenbanksprache der Firma Oracle Prozedurale Programmiersprache  Variablen, Bedingungen...
Daten-Validierung Sicherstellen der Integrität – Wertebereich Anwendung   Meist übernimmt die Anwendung die Validierung....
Access als Frontend für MySQLServer Datenbank anlegen   Adresse, Name, Benutzer, Passwort, Remote-ZugriffClient ODBC-Tre...
Access Datentypen Memo  Texte mit bis zu 65535 Zeichen Währung AutoWert  Wert wird bei neuer Zeile automatisch inkremen...
Q&AFragen?          28
ÜbungenAccess 2010 für WindowsGrundlagen für DatenbankentwicklerHerdt VerlagÜbungsdateien herunterladenhttp://www.herdt.de...
Nächste SlideShare
Wird geladen in …5
×

Access

1.855 Aufrufe

Veröffentlicht am

Datenbankadministration mit Access

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

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

Access

  1. 1. Datenbankadministration mit Access – Grundlagen VHS Mönchengladbach 22.-23.9.2012 1
  2. 2. Über uns IT-Beratung, Training, Web-Design, Programmierung Thomas Siegers ts@interwerkstatt.net Diese Präsentation ist frei zugänglich auf: http://www.slideshare.net/thomasjsDieses Werk bzw. Inhalt steht unter einer Creative CommonsNamensnennung - Weitergabe unter gleichen Bedingungen 3.0Unported Lizenz.Siehe mehr unter: http://creativecommons.org/licenses/by-sa/3.0/deed.de 2
  3. 3. Agenda Einführung Live Demo SQL Access  Grundlagen  Tabellen  Beziehungen  Abfragen  Formulare  Berichte  Übungen 3
  4. 4. Motto"Sage es mir und ich vergesse es,zeige es mir und ich erinnere mich,lass es mich tun und ich behalte es."Konfuzius, chinesischer Philosoph, 551-479 v. Chr. 4
  5. 5. Warum Datenbanken? Daten strukturiert speichern Daten sicher eingeben Daten schnell finden Beliebige Daten abfragen Verschiedene Datenquellen miteinander verbinden Beliebig große Mengen an Daten verwalten Daten beliebig fein unterteilen Beliebige Berechtigungen für Daten vergeben Daten beliebig ausgeben Benutzer gleichzeitig mit Daten arbeiten lassen Daten im- und exportieren 5
  6. 6. Begriffe Aufbau  Datenbankmanagementsystem (DBMS)  Datenbank (DB) DBMSTypen  Hierarchisch DB  Objektorientiert  Relational 6
  7. 7. Relationale Datenbanken Tabelle Tabelle 1  Relation, entity Feld 1 Feld 2 Beziehung Feld 3  relationship Beziehung Spalte  Attribut, Feld, field, column Tabelle 2 Zeile Feld 1  Tupel, Datensatz, record, row Feld 2 Feld 3 Feld 1 Feld 2 Feld 3 Wert 11 Wert 12 Wert 13 Wert 21 Wert 22 Wert 23 Wert 31 Wert 32 Wert 33 Wikipedia Wikipedia 7
  8. 8. ER-Diagram Wikipedia Wikipedia 8
  9. 9. Normalisierung Eliminierung / Reduzierung von Redundanz Wikipedia Wikipedia Erste bis fünfte Normalform (1NF - 5NF) Nr Name Firma Nr Name Fa-Nr 1 Willy AEG 1 Willy 1 2 Walter IBM 2 Walter 2 3 Werner BMW 3 Werner 3 4 Anton BMW 4 Anton 3 5 Anna AEG 5 Anna 1 6 Agnes BMW 6 Agnes 3 Nr Firma 1 AEG 2 IBM 3 BMW 9
  10. 10. BeziehungenNr Name Fa-Nr1 Willy 1 1 : n one-to-many2 Walter 23 Werner 3 Nr Firma4 Anton 3 1 AEG5 Anna 1 2 IBM6 Agnes 3 3 BMW junction tableNr Name1 Willy Ma-Nr 1 Fa-Nr 1 n : m many-to-many2 Walter3 Werner 2 24 Anton 3 3 4 3 Nr Firma5 Anna 5 1 1 AEG6 Agnes 5 2 2 IBM 6 3 3 BMW 6 2 10
  11. 11. Schlüssel Mithilfe von Schlüsseln werden die Beziehungen zwischen Tabellen hergestellt. Primärschlüssel (primary key, PK)  I.d.R. hat jede Tabelle einen PK.  Eine Tabelle kann nur einen PK haben.  Die Werte im PK müssen eindeutig sein.  Die Werte im PK werden i.d.R. automatisch vom DBMS erzeugt. Fremdschlüssel (foreign key, FK)  Der FK enthält die Werte des PK der verknüpften Tabelle.  Eine Tabelle darf mehr als einen FK haben.  Die Werte im FK dürfen mehrdeutig sein.  Die Werte im FK werden i.d.R. vom Anwendungsprogramm erzeugt. 11
  12. 12. Indizes Indizes werden verwendet, um das Auffinden von Datensätzen zu beschleunigen. Tabelle Nr Firma Umsatz Indizes können auf eine Spalte 1 AEG 123.456 oder eine Kombination von 2 IBM 987.654 mehreren Spalten gesetzt 3 BMW 456.789 werden. Primär- und Fremschlüssel Index auf Umsatz sind immer indiziert. Nr Umsatz 1 123.456 Wenn eine Spalte nicht indiziert 3 456.789 ist, muss bei einer Suche im 2 987.654 ungünstigsten Fall die gesamte Tabelle durchsucht werden (full table scan). 12
  13. 13. IntegritätKorrektheit, Vollständigikeit und Konsistenz der Daten Primärschlüssel muss eindeutig sein und darf nicht Null sein Wertebereich Daten müssen innerhalb eines bestimmten Bereiches liegen Referentielle Integrität “Die referentielle Integrität - auch Beziehungsintegrität besagt, dass Attributwerte von einem Fremdschlüssel auch als Attributwert des Primärschlüssels vorhanden sein müssen.” http://www.wirtschaftsinformatik-24.de/datenbanken/referentielle-integritaet.php Sperren Soll eine Datenbank mehrbenutzerfähig sein, so muss ein Datensatz, der gerade von einem Benutzer editiert wird, für andere Benutzer gesperrt werden. Transactionssicherheit Wikipedia atomicity, consistency, isolation, durability (ACID) Wikipedia 13
  14. 14. Architektur Client – Server  Client enthält Anwendungslogik.  Datenverkehr zwischen Client und Server ist relativ gering. Multi-Tier  Client kümmert sich nur um Präsentation.  Client kann – muss aber nicht – nur aus Browser bestehen.  Datenverkehr zwischen Client und Server ist sehr gering. Client Web-Server Anwendung DBMS Web-Browser 14
  15. 15. HerstellerServer PC Oracle  Access DB2  Paradox MS SQL  dBase MySQL  Foxpro PostgreSQL 15
  16. 16. Datentypen! Datentypen sind nicht einheitlich für alle DBMS. http://w3schools.com/sql/sql_datatypes.asp Numerisch  INT(6) – Ganzzahl mit 6 Stellen  TINYINT – 8 bit, 28=256, unsigned 0 bis 255, signed -128 bis 127  FLOAT(8,2) – Kommazahl mit 8 Stellen und 2 Nachkommastellen Text  CHAR(25) – Zeichenkette fester Länge  VARCHAR(255) – Zeichenkette variabler Länge Datum  DATE – Datum im Format YYYY-MM-DD  DATETIME – Datum und Zeit im Format YYYY-MM-DD HH:MM:SS 16
  17. 17. Feld-Eigenschaften Datentyp, Länge Standardwert (default) – 0, null, benutzerdefiniert Collation – Code für alphabetische Sortierung Attribut – signed, unsigned Null – Feld darf nicht leer sein Index – Primärschlüssel, eindeutig Auto-Inkrement – Wert wird automatisch erhöht 17
  18. 18. Funktionen Aggregatfunktionen SUM(), MIN(), MAX(), AVG(), COUNT() Numerische Funktionen SQRT(), PI(), SIN(), RAND(), ROUND() Zeichenketten LIKE, SUBSTR(), TRIM(), UPPER(), REPLACE() Datum und Zeit DATE(), YEAR(), NOW(), ADDDATE(), DAYOFYEAR()http://dev.mysql.com/doc/refman/5.0/en/functions.html SQL Anweisungen  GROUP BY  HAVING 18
  19. 19. Live Demo MySQL Demo Datenbank auf interwerkstatt.net  Server-Adresse  Datenbankname  Benutzername  Kennwort  Zugriff lokal - phpMyAdmin entfernt – MySQL Workbench, Access LAMP-Umgebung lokal installieren  Linux, Apache, MySQL, PHP  XAMPP für Windows 19
  20. 20. SQL Structured Query Language Wikipedia Wikipedia Datenbank-Abfragesprache  Daten abfragen, einfügen, ändern, löschen  Verwaltung von Datenbanken BeispieleSELECT * FROM person;SELECT name, telefon FROM person WHERE nr>3;SELECT name, telefon FROM person ORDER BY name ASC;CREATE TABLE person ( nr int(6) NOT NULL DEFAULT 0, name varchar(12) DEFAULT NULL, telefon varchar(12) DEFAULT NULL, PRIMARY KEY (nr);) 20
  21. 21. SQL – Beispiele 1 Abfrage über mehere TabellenSELECT p.name AS Person, f.name AS Firma, a.name AS Abteilung FROM person p INNER JOIN abteilung a ON p.nr=a.pn INNER JOIN firma f ON a.fn=f.nr; Abfrage mit Bedingung und SortierungSELECT p.name AS Person, f.name AS Firma, a.name AS Abteilung FROM person p INNER JOIN abteilung a ON p.nr=a.pn INNER JOIN firma f ON a.fn=f.nr WHERE p.name LIKE W% ORDER BY p.name ASC; 21
  22. 22. SQL - Beispiele 2 Abfrage mit BerechnungSELECT f.name AS Firma, SUM(u.umsatz) AS UmsatzFROM firma f INNER JOIN umsatz u ON f.nr = u.fnGROUP BY f.name; Abfrage mit Berechnung und BedingungSELECT f.name AS Firma, SUM(u.umsatz) AS `Umsatz 2011`FROM firma f INNER JOIN umsatz u ON f.nr = u.fnWHERE YEAR(u.datum) = 2011GROUP BY f.name; Abfrage mit Berechnung und BedingungSELECT f.name AS Firma, SUM(u.umsatz) AS UmsatzFROM firma f INNER JOIN umsatz u ON f.nr = u.fnGROUP BY f.nameHAVING SUM(u.umsatz) > 30000000; 22
  23. 23. SQL – Beispiele 3 EinfügenINSERT INTO person (name, telefon) VALUES (Anita, 0172-4387680);INSERT INTO person (name, telefon) VALUES (Anita, 0172-4387680), (Angelika, );ÄndernUPDATE person SET telefon=02161-3462334 WHERE name=Anita;UPDATE person SET stadt=MG LöschenDELETE FROM person WHERE name=Anita; 23
  24. 24. PL/SQL Procedural Language/SQL Datenbanksprache der Firma Oracle Prozedurale Programmiersprache Variablen, Bedingungen, Schleifen, Ausnahmebehandlung Programme in der Datenbank gespeichert stored procedures, trigger Programme werden im DBMS ausgeführt hoch performant Bedingungen innnerhalb von SQL-Anweisungen SELECT name, CASE SUBSTR(name,1,1) WHEN W THEN Mann ELSE Frau END AS geschlecht FROM person 24
  25. 25. Daten-Validierung Sicherstellen der Integrität – Wertebereich Anwendung Meist übernimmt die Anwendung die Validierung. Benutzer Anwendung Datenbank Daten- Daten- Daten- eingabe validierung speicherung nein ja gültig Datenbank Validierung auch möglich mit stored procedures. Access Gültigkeitsregel für Felder definieren. 25
  26. 26. Access als Frontend für MySQLServer Datenbank anlegen Adresse, Name, Benutzer, Passwort, Remote-ZugriffClient ODBC-Treiber für MySQL installieren http://dev.mysql.com/downloads/connector/odbc/ ODBC-Datenquelle einrichten Systemsteuerung > Verwaltung > Datenquellen (ODBC) Benutzer-DSN hinzufügen Leere Access Datenbank anlegen Externe Daten > ODBC-Datenbank > Verknüpfung erstellen Externe Tabellen verknüpfen 26
  27. 27. Access Datentypen Memo Texte mit bis zu 65535 Zeichen Währung AutoWert Wert wird bei neuer Zeile automatisch inkrementiert Ja/Nein logisches 1/0 oder wahr/falsch OLE-Objekt OLE – object linking & embedding Hyperlink 27
  28. 28. Q&AFragen? 28
  29. 29. ÜbungenAccess 2010 für WindowsGrundlagen für DatenbankentwicklerHerdt VerlagÜbungsdateien herunterladenhttp://www.herdt.de/artikel/ACC2010D/Access-2010-fuer-Windows/Dateien ins Verzeichnis C:Übung kopieren 29

×