+ All Categories

Access

Date post: 26-Jun-2015
Category:
Upload: thomas-siegers
View: 1,033 times
Download: 0 times
Share this document with a friend
Description:
Datenbankadministration mit Access
29
1 22.-23.9.2012 Datenbankadministration mit Access – Grundlagen VHS Mönchengladbach
Transcript
Page 1: Access

1

22.-23.9.2012

Datenbankadministration mit Access – Grundlagen

VHS Mönchengladbach

Page 2: Access

2

Über uns

Diese Präsentation ist frei zugänglich auf:http://www.slideshare.net/thomasjs

Dieses Werk bzw. Inhalt steht unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0Unported Lizenz.

Siehe mehr unter: http://creativecommons.org/licenses/by-sa/3.0/deed.de

IT-Beratung, Training, Web-Design, Programmierung

Thomas Siegers [email protected]

Page 3: Access

3

Einführung

Live Demo

SQL

Access

Grundlagen

Tabellen

Beziehungen

Abfragen

Formulare

Berichte

Übungen

Agenda

Page 4: Access

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.

Page 5: Access

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

Page 6: Access

6

Begriffe

Aufbau

Datenbankmanagementsystem (DBMS)

Datenbank (DB)

Typen

Hierarchisch

Objektorientiert

Relational

DB

DBMS

Page 7: Access

7

Relationale Datenbanken

Tabelle

Relation, entity

Beziehung

relationship

Spalte

Attribut, Feld, field, column

Zeile

Tupel, Datensatz, record, row

Tabelle 1Feld 1Feld 2Feld 3

Tabelle 2Feld 1Feld 2Feld 3

Feld 1 Feld 2 Feld 3 Wert 11 Wert 12 Wert 13Wert 21 Wert 22 Wert 23Wert 31 Wert 32 Wert 33

Beziehung

WikipediaWikipedia

Page 9: Access

9

Normalisierung

Eliminierung / Reduzierung von Redundanz

Erste bis fünfte Normalform (1NF - 5NF)WikipediaWikipedia

Nr Name Firma1 Willy AEG2 Walter IBM3 Werner BMW4 Anton BMW5 Anna AEG6 Agnes BMW

Nr Name Fa-Nr1 Willy 12 Walter 23 Werner 34 Anton 35 Anna 16 Agnes 3

Nr Firma1 AEG2 IBM3 BMW

Page 10: Access

10

Beziehungen

Nr Name Fa-Nr1 Willy 12 Walter 23 Werner 34 Anton 35 Anna 16 Agnes 3

Nr Firma1 AEG2 IBM3 BMW

1 : n one-to-many

Nr Name 1 Willy2 Walter3 Werner4 Anton5 Anna6 Agnes

Nr Firma1 AEG2 IBM3 BMW

Ma-Nr Fa-Nr 1 1 2 2 3 3 4 3 5 1 5 2 6 3 6 2

n : m many-to-many

junction table

Page 11: Access

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.

Page 12: Access

12

Indizes

Indizes werden verwendet, um das Auffinden von Datensätzen zu beschleunigen.

Indizes können auf eine Spalte oder eine Kombination von mehreren Spalten gesetzt werden.

Primär- und Fremschlüssel sind immer indiziert.

Wenn eine Spalte nicht indiziert ist, muss bei einer Suche im ungünstigsten Fall die gesamte Tabelle durchsucht werden(full table scan).

Nr Firma Umsatz 1 AEG 123.4562 IBM 987.6543 BMW 456.789

Nr Umsatz 1 123.4563 456.7892 987.654

Tabelle

Index auf Umsatz

Page 13: Access

13

Integrität

Korrektheit, Vollständigikeit und Konsistenz der Daten

Primärschlüsselmuss eindeutig sein und darf nicht Null sein

WertebereichDaten 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

SperrenSoll eine Datenbank mehrbenutzerfähig sein, so muss ein Datensatz, der gerade von einem Benutzer editiert wird, für andere Benutzer gesperrt werden.

Transactionssicherheitatomicity, consistency, isolation, durability (ACID) WikipediaWikipedia

Page 14: Access

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.

ClientWeb-Browser

Web-Server Anwendung DBMS

Page 15: Access

15

Hersteller

Server

Oracle

DB2

MS SQL

MySQL

PostgreSQL

PC

Access

Paradox

dBase

Foxpro

Page 16: Access

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

!

Page 17: Access

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

Page 18: Access

18

Funktionen

AggregatfunktionenSUM(), MIN(), MAX(), AVG(), COUNT()

Numerische FunktionenSQRT(), PI(), SIN(), RAND(), ROUND()

ZeichenkettenLIKE, SUBSTR(), TRIM(), UPPER(), REPLACE()

Datum und ZeitDATE(), YEAR(), NOW(), ADDDATE(), DAYOFYEAR()

http://dev.mysql.com/doc/refman/5.0/en/functions.html

SQL Anweisungen

GROUP BY

HAVING

Page 19: Access

19

Live Demo

MySQL Demo Datenbank auf interwerkstatt.net

Server-Adresse

Datenbankname

Benutzername

Kennwort

Zugrifflokal - phpMyAdminentfernt – MySQL Workbench, Access

LAMP-Umgebung lokal installieren

Linux, Apache, MySQL, PHP

XAMPP für Windows

Page 20: Access

20

SQL

Structured Query Language

Datenbank-Abfragesprache

Daten abfragen, einfügen, ändern, löschen

Verwaltung von Datenbanken

Beispiele

SELECT * 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);)

WikipediaWikipedia

Page 21: Access

21

SQL – Beispiele 1

Abfrage über mehere Tabellen

SELECTp.name AS Person, f.name AS Firma, a.name AS AbteilungFROM person pINNER JOIN abteilung a ON p.nr=a.pnINNER JOIN firma f ON a.fn=f.nr;

Abfrage mit Bedingung und Sortierung

SELECTp.name AS Person, f.name AS Firma, a.name AS AbteilungFROM person pINNER JOIN abteilung a ON p.nr=a.pnINNER JOIN firma f ON a.fn=f.nr

WHERE p.name LIKE 'W%' ORDER BY p.name ASC;

Page 22: Access

22

SQL - Beispiele 2

Abfrage mit Berechnung

SELECT 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 Bedingung

SELECT 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 Bedingung

SELECT 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;

Page 23: Access

23

SQL – Beispiele 3

Einfügen

INSERT INTO person (name, telefon) VALUES ('Anita', '0172-4387680');

INSERT INTO person (name, telefon) VALUES ('Anita', '0172-4387680'), ('Angelika', '');

Ändern

UPDATE person SET telefon='02161-3462334' WHERE name='Anita';

UPDATE person SET stadt='MG'

Löschen

DELETE FROM person WHERE name='Anita';

Page 24: Access

24

PL/SQL

Procedural Language/SQLDatenbanksprache der Firma Oracle

Prozedurale ProgrammierspracheVariablen, Bedingungen, Schleifen, Ausnahmebehandlung

Programme in der Datenbank gespeichertstored procedures, trigger

Programme werden im DBMS ausgeführthoch performant

Bedingungen innnerhalb von SQL-AnweisungenSELECT name, CASE SUBSTR(name,1,1) WHEN 'W' THEN 'Mann' ELSE 'Frau' END AS geschlechtFROM person

Page 25: Access

25

Daten-Validierung

Sicherstellen der Integrität – Wertebereich

AnwendungMeist übernimmt die Anwendung die Validierung.

DatenbankValidierung auch möglich mit stored procedures.

AccessGültigkeitsregel für Felder definieren.

BenutzerDaten-

eingabe

AnwendungDaten-

validierung

DatenbankDaten-

speicherung

gültignein ja

Page 26: Access

26

Access als Frontend für MySQL

Server

Datenbank anlegenAdresse, Name, Benutzer, Passwort, Remote-Zugriff

Client

ODBC-Treiber für MySQL installierenhttp://dev.mysql.com/downloads/connector/odbc/

ODBC-Datenquelle einrichtenSystemsteuerung > Verwaltung > Datenquellen (ODBC)Benutzer-DSN hinzufügen

Leere Access Datenbank anlegenExterne Daten > ODBC-Datenbank > Verknüpfung erstellen

Externe Tabellen verknüpfen

Page 27: Access

27

Access Datentypen

MemoTexte mit bis zu 65535 Zeichen

Währung

AutoWertWert wird bei neuer Zeile automatisch inkrementiert

Ja/Neinlogisches 1/0 oder wahr/falsch

OLE-ObjektOLE – object linking & embedding

Hyperlink

Page 28: Access

28

Q & A

Fragen?

Page 29: Access

29

Übungen

Access 2010 für Windows

Grundlagen für Datenbankentwickler

Herdt Verlag

Übungsdateien herunterladen

http://www.herdt.de/artikel/ACC2010D/Access-2010-fuer-Windows/

Dateien ins Verzeichnis C:\Übung kopieren


Recommended