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.658 Aufrufe

Veröffentlicht am

Datenbankadministration mit Access

Veröffentlicht in: Bildung
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

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

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.658
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
5
Aktionen
Geteilt
0
Downloads
12
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

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

×