IT-Kompaktkurs. Datenbanken Skript zur Folge 10. Prof. Dr. Dieter Rummler Fachhochschule Deggendorf



Ähnliche Dokumente
Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Durchführung der Datenübernahme nach Reisekosten 2011

OP-LOG

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Professionelle Seminare im Bereich MS-Office

Nutzung von GiS BasePac 8 im Netzwerk

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

How-to: Webserver NAT. Securepoint Security System Version 2007nx

FlowFact Alle Versionen

Drägerware.ZMS/FLORIX Hessen

4. BEZIEHUNGEN ZWISCHEN TABELLEN

Guide DynDNS und Portforwarding

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Urlaubsregel in David

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9

Migration der Abteilungslaufwerke von UKKSRVFILE011 nach FILER2. Anleitung zur Lösung verschiedener Probleme durch den Anwender selber

Erstellen einer digitalen Signatur für Adobe-Formulare

Printserver und die Einrichtung von TCP/IP oder LPR Ports

Verwendung des Terminalservers der MUG

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen

Der Kalender im ipad

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

Ein Hinweis vorab: Mailkonfiguration am Beispiel von Thunderbird

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

Artikel Schnittstelle über CSV

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

3. Stored Procedures und PL/SQL

Outlook-Daten komplett sichern

Seite Wo finde ich die Landingpage Auswahl? Seite Wie aktiviere ich eine Landingpage? Seite

Installation der SAS Foundation Software auf Windows

Microsoft Access 2013 Navigationsformular (Musterlösung)

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

ODBC-Treiber Programmübersicht

Datensicherung. Beschreibung der Datensicherung

Alle alltäglichen Aufgaben können auch über das Frontend durchgeführt werden, das in den anderen Anleitungen erläutert wird.

SAMMEL DEINE IDENTITÄTEN::: NINA FRANK :: :: WINTERSEMESTER 08 09

Internet online Update (Internet Explorer)

Primzahlen und RSA-Verschlüsselung

Sowohl die Malstreifen als auch die Neperschen Streifen können auch in anderen Stellenwertsystemen verwendet werden.

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Was meinen die Leute eigentlich mit: Grexit?

Anleitung über den Umgang mit Schildern

Erstellen einer PostScript-Datei unter Windows XP

Anleitung für das Content Management System

Kleines Handbuch zur Fotogalerie der Pixel AG

Updatehinweise für die Version forma 5.5.5

Anleitung - Archivierung

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Dieses Dokument soll dem Administrator helfen, die ENiQ-Software als Client auf dem Zielrechner zu installieren und zu konfigurieren.

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

Lokale Installation von DotNetNuke 4 ohne IIS

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Anlegen eines DLRG Accounts

Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. ist einer davon.

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

PC-Umzug: So ziehen Sie Ihre Daten von Windows XP nach Windows 8 um

Reporting Services und SharePoint 2010 Teil 1

INSTALLATION VON INSTANTRAILS 1.7

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

SEMINAR Modifikation für die Nutzung des Community Builders

SEPA-Anleitung zum Release 3.09

Access 2000 und MS SQL Server im Teamwork

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Adminer: Installationsanleitung

Microsoft PowerPoint 2013 Folien gemeinsam nutzen

Lizenzierung von SharePoint Server 2013

Howto. Einrichten des TREX Monitoring mit SAP Solution Manager Diagnostics

Installationsanleitung

Lernwerkstatt 9 privat- Freischaltung

Schritt 1 - Registrierung und Anmeldung

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock

Anwendungsbeispiele Buchhaltung

Wie räume ich mein Profil unter Windows 7 auf?

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Lizenzierung von SharePoint Server 2013

Anleitung OpenCms 8 Webformular Auswertung

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

1. Einschränkung für Mac-User ohne Office Dokumente hochladen, teilen und bearbeiten

ARCO Software - Anleitung zur Umstellung der MWSt

Anleitung Typo3-Extension - Raumbuchungssystem

Hilfe zur Urlaubsplanung und Zeiterfassung

DVD Version 9.1. Netzwerkinstallation + VDE-Admin-Tool.

Beschreibung Regeln z.b. Abwesenheitsmeldung und Weiterleitung

EasyWk DAS Schwimmwettkampfprogramm

ecaros2 - Accountmanager

IMAP Backup. Das Programm zum Sichern, Synchronisieren, Rücksichern und ansehen von gesicherten Mails. Hersteller: malu-soft

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Transkript:

IT-Kompaktkurs Skript zur Folge 10 Prof. Dr. Dieter Rummler Fachhochschule Deggendorf

Client Server Architektur Zunächst zur grundsätzlichen Unterscheidung zwischen File-Server Datenbank und Server-Datenbank File Server Datenbank (z.b. Access): Hier kann von außen immer nur auf die Datenbankdatei zugegriffen werden. Außerdem werden hier grundsätzlich alle Daten übertragen und erst der Empfänger ist in der Lage, die Daten zu selektieren. Server Datenbank: Auf dieser läuft nach dem Hochfahren ein Datenbankprozess, der Anforderungen in Empfang nehmen und den entsprechenden Dienst ausführen kann, z.b. das Ausführen eines Selects mit Where-Bedingung. Hier werden also nur die benötigten Daten übergeben. Daraus ergibt sich auch ein nicht zu verachtender Geschwindigkeitsvorteil. Auf den ersten Blick wäre die Arbeit mit größeren (Server Datenbank) daher also besser. Aber diese sind sehr viel teurer, Auswertungen sind in der Regel nicht so einfach zu erstellen und verlangen mehr administrativen Aufwand. Weiterhin ist jedoch zu beachten, dass ACCESS (als typischer Vertreter einer File-Server Datenbank) bei sehr großen Datenmengen (mehrere GB) nicht mehr verwendet werden kann. Höchstens 255 Anwender können gleichzeitig mit einer ACCESS-Datenbank arbeiten. Nach einem Absturz von ACCESS gibt es außerdem keine Wiederherstellungsroutine. Weiterhin werden im Netz immer alle Daten übertragen ohne Berücksichtigung von WHERE-Kriterien. Und nicht zu vergessen, ist das Sicherheitskonzept von ACCESS nicht sehr mächtig. Doch es stellt sich nun die Frage, ob die Vorzüge von ACCESS (die ACCESS-Oberfläche ist sehr bedienerfreundlich, Formulare und Berichte sind sehr einfach grafisch zu erstellen) nicht durch Kopplung mit einer größeren Datenbank beibehalten werden können.. ACCESS bietet sich als Frontend-Tool an, mit Zugriff auf die Daten einer Backend-Datenbank, z.b. ORACLE, SQL SERVER. Dabei gibt es zwei Möglichkeiten, File Server oder Client Server. Aber beginnen wir von vorne. Was bedeutet eigentlich Client Server im DV-Bereich? Client Server bedeutet, dass ein Objekt für ein anderes Objekt auf dessen Anfrage hin einen Dienst ausführt (siehe Folie 2). Beispiel : Denken Sie z.b. an einen Rechner, an den ein Drucker angeschlossen ist, und der für andere Rechner als Druckerserver Druckaufträge verwaltet und ausdruckt. Der Vorteil wäre also, daß nicht an jedem PC ein Drucker angeschlossen sein muss und man trotzdem relativ schnell seine Ausdrucke erhält. Man hat also geringere Kosten, da wenige Drucker eine gute Auslastung aufweisen, d.h. über eine bessere Auslastung erreicht man einen Kostenvorteil. Ein zweiter Grund für eine Auslagerung eines Dienstes ist, dass ein Dienstanbieter spezialisiert ist hinsichtlich seines Dienstes und damit diesen zu besserer Qualität, kürzeren Ausführungszeiten, mehr Flexibilität und geringeren Kosten anbieten kann Dies sind gleichzeitig auch die üblichen Zielen, warum es in Organisationen zu Spezialisierung von Abteilungen kommt. Seite 2

Client Server Architekturen bieten weiterhin eine einfachere Erweiterbarkeit von Informationssystemen, wenn weitere Benutzer hinzukommen. Prinzipiell besteht jedes Informationssystem aus drei Ebenen: 1. die Datenbankebene zur Speicherung von Daten 2. die Applikationsebene, d.h. die Programme, die die Geschäftsprozesse realisieren 3. und die Präsentationsebene zur Darstellung der Daten in den Client-Masken. Eine Nicht-Client-Server-Architektur im Bereich Informationssysteme würde so aussehen, dass alle drei Komponenten auf jedem Rechner realisiert sind (siehe Folie 3). Man redet auch von Client Server, wenn eine der Komponenten auf einem bestimmten Rechner installiert ist und für andere Rechner diese Komponente zur Verfügung steht Im Zusammenhang mit Informationssystemen ist dabei häufig die Datenbank auf einem eigenen Rechner installiert, die Applikation zusammen mit der Präsentation jeweils auf allen Clients (thick client / siehe Folie 4). File Server Architektur (siehe Folie 5) Eine File Server Architektur kann man mit ACCESS realisieren, indem man zwei ACCESS- erstellt. In einer Datenbank die Tabellen (wir nennen Sie in Zukunft Daten- Datenbank ), in der anderen Datenbank die Abfragen, die Formulare und die Berichte (diese nennen wir in Zukunft Programm-Datenbank ). Die Verknüpfung geschieht in der Programm- Datenbank, indem man die Tabellen der Daten-Datenbank über ODBC einbindet. ODBC ist eine Standardschnittstelle zum Zugriff auf relationale Datenstrukturen. Die Programm- Datenbank wird auf jedem Client installiert, die Daten-Datenbank nur auf einem über das Netz erreichbaren Server-Rechner. Vorgehensweise: Zunächst erstellt man eine ACCESS-Datenbank mit allen Komponenten. Das Auslagern der Tabellen in eine neue Datenbank und die Verknüpfung mit ODBC geschieht dann über einen Assistenten (siehe Folie 6) Vorteile einer solchen File Server Architektur sind dabei (siehe Folie 7): - Zugriff von mehreren Anwendern auf Daten - Client-mdb updatebar ohne Daten zu ändern - Client-Programme lokal vorhanden Angesichts dieser Vorteile könnte man sich nun jedoch die Frage stellen, wozu man überhaupt noch eine Client Server Architektur braucht (siehe Folie 8). Nun eine File Server Datenbank verfügt über keinen eigenen Datenbankprozess, der bestimmte Dienste ausführen kann. Es können somit keine Daten auf dem Server selektiert werden, sondern es wird die Datenbank File an sich übergeben. Das führt zu langen Zugriffszeiten insbesondere wegen des großen Datentransfers im Netz. Schauen wir uns zunächst einmal an, was mächtigere als ACCESS können und hier als Beispiel die SQL Server Datenbank. Ein wesentlicher Unterschied ist dabei das Vorhandensein eines Transaktionsprotokolls (siehe Folie 9) Seite 3

Das sehen wir hier bei der Datenbank ProjekteSQL, eine der, die auf dem SQL Server vorhanden ist. Sie erkennen, dass es ein Logfile gibt, die die Transaktionen für Änderungen von Datenbankinhalten aufnimmt. Damit kann das DBMS nach einem Absturz, Daten die noch im Puffer stehen auf die Datenbank schreiben (Rollforward) bzw nicht vollständig durchgeführte Transaktionen wieder zurücknehmen (Rollback). Außerdem kann man nach einem Plattencrash über das Einspielen der letzten Sicherung mit Hilfe der Logfile auch alle seitdem durchgeführten Datenbankänderungen nachvollziehen. Das Log File sollte dabei nie auf der Platte gespeichert werden wo die Datenbank liegt, denn nach einem Plattencrash könnte die Logfile ansonsten nicht mehr verwendbar sein. Was versteht man eigentlich unter dem bereits oben erwähnten Zurücknehmen von Transaktionen? Angenommen es erfolgte eine Warenauslieferung durch den Anwender. Dazu erfolgt in der Datenbank innerhalb einer Transaktion sowohl die Erhöhung der Liefermenge im Kundenauftrag, als auch die Reduzierung des Lagerbestands. Angenommen die Erhöhung der Liefermenge erfolgte noch, danach kam es zum Datenbankabsturz. Die Transaktion wurde nicht vollständig durchgeführt. Man muss also die Transaktion wieder zurücknehmen, denn das manuelle reduzieren des Lagerbestandes durch den Anwender nach dem Neustart der Datenbank ist problematisch, da der Anwender nur ganze Geschäftsprozesse aufrufen darf, aber keine einzelnen Änderungen von Datenbankinhalten. Das wäre viel zu fehleranfällig. Deshalb werden die Datenbankaktualisierungen wieder zurückgenommen, die innerhalb einer nicht vollständig durchgeführten Transaktion bereits schon realisiert wurden. In unserem Fall wird somit die Liefermenge wieder reduziert, um auf den Stand zu kommen, den die Datenbank vor dem Beginn der Transaktion aufwies. Eine weitere Möglichkeit ist die Definition von Triggern. Damit kann ich auf bestimmte Ereignisse von Datenbankänderungen reagieren, um diese z.b. nicht zuzulassen (siehe Folie 10) Einen Trigger kann ich direkt bei der Datenbanktabelle formulieren, z.b. bei einer Mitarbeitertabelle. Der trigger wird aufgerufen, wenn z.b. der Familienstand bei einem Mitarbeiter geändert wird und zwar von ledig auf verwitwet. Es wird dann eine Fehlermeldung ausgegeben und Seite 4

die Transaktion wieder zurückgenommen. Ein wichtiger Einsatz von Triggern ist auch beim Löschen von Objekten, das ein Löschen von abhängigen Objekten erfordert. Als letztes Beispiel für die Möglichkeiten, die der SQL Server bietet, werden wir uns noch die gespeicherten Prozeduren ansehen (siehe Folie 11). Als Beispiel betrachten wir die Prozedur MitarbDV. In dieser wird ein Wert für @abtnr als Eingabeparameter übergeben und dann alle Mitarbeiternamen übergeben von Mitarbeitern, die zu dieser Abteilung gehören. Nach dem Ausführen der Prozedur wird zunächst die Abteilungsnummer angefordert und dann Huber und Franz ausgegeben. Client Server Architektur (siehe Folie 12) ACCESS nimmt hier als Frontendtool nur die Formulare und Berichte auf, der SQL Server auf dem Backend enthält die Tabellen, die Sichten (das sind Abfragen), die gespeicherten Prozeduren und die Trigger. ACCESS kann auf diese Objekte über OLE DB zugreifen, das ist gegenüber ODBC ein neuer Standard, über den man Objekte ansprechen kann. Vorgehensweise (siehe Folie 13): Man legt ein sog ACCESS-Projekt an. Damit wird danach angefordert, welche SQL Server Datenbank man dabei gleichzeitig anlegen will: Z.B. eine SQL Server Datenbank mit Namen ProjekteSQL (siehe Folie 14). Danach legt man dann in ACCESS Tabellen an, die aber tatsächlich in der SQL Server Datenbank aufgenommen werden. Das bedeutet also, dass man in der gewohnten ACCESS-Umgebung arbeiten kann, wenn man SQL Server Objekte erzeugt. Das ist ein enormer Vorteil. Es gibt aber leichte Abweichungen z.b. zu den ACCESS-Tabellen (siehe Folie 15). Man sieht dies vor allem anhand des Entwurfs der Tabelle Projekt. Über den Enterprise Manager (siehe Folie 16) kann man sich alle des SQL Servers anschauen. Und man erkennt dann z.b. in der Datenbank ProjekteSQL u.a. die vorher angelegte Projekt-Tabelle (siehe Folie 17). Seite 5

Abschließend betrachten wir nun noch einen Vorteil von Server im Gegensatz zu File Server. Dazu folgende Anwendung (siehe Folie 18). Ein Anwender soll zunächst zwischen den vorhanden Abteilungen auswählen können ( z.b. DV) und erhält dann die Mitarbeiter, in dieser Abteilung (z.b. Huber und Franz). Dabei handelt es sich um zwei Formulare in ACCESS, wobei das Abteilungsformular das Mitarbeiterformular aufruft. Die Daten werden natürlich aus der SQL Server Datenbank geholt. Um dies zu realisieren geht man wie folgt vor (siehe Folie 19): Man legt im Abteilungsformular ein VBA-Programm für das Ereignis Beim Klicken auf einen Eintrag in der Abteilungsliste an, in dem das Mitarbeiterformular geöffnet wird. Dieses Mitarbeiterformular hat als Datenherkunft MitarbDV. Es handelt sich dabei um den Namen der schon vorher angelegten gespeicherten Prozedur (siehe Folie 20). Deren Ausführung erfolgt beim SQL Server und überträgt damit an ACCESS über das Netz nur die für die entsprechende Abteilung gefundenen Mitarbeiter, siehe WHERE-Bedingung. Die Prozedur verlangt dabei die Abteilung als Eingabeparameter. Diese wird dabei an die Prozedur über das Feld Eingabeparameter (Formular) übergeben. Dort ist festgelegt, dass für die Abteilungsnummer der Prozedur die ausgewählte Abteilung aus dem Abteilungsformular verwendet wird. Seite 6