Präsentation - Fakultät Informatik/Mathematik

 Datenbank

 69 views
of 169
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Description
Wirtschaftsinformatik II Datenorganisation – Datenbanken - Kommunikation Studiengang Wirtschaftsingenieurwesen Sommersemester 2009 (2. Semester) 2 SWS…
Share
Transcript
Wirtschaftsinformatik II Datenorganisation – Datenbanken - Kommunikation Studiengang Wirtschaftsingenieurwesen Sommersemester 2009 (2. Semester) 2 SWS Vorlesung Prof. Fritzsche 2 SWS Praktikum 5 Gruppen, Prof. Fritzsche /Frau H. Schubert Beleg als Zulassungsvoraussetzung zur Prüfung Schriftliche Prüfung (Klausur, 90 min., ohne Unterlagen) Note Wirtschaftsinformatik = W-Inf I (40 %) + W-Inf II (60 %) Prof. Dr. Hartmut Fritzsche Tel. (0351) 462 2606 Fachbereich Informatik/Mathematik fritzsche@informatik.htw-dresden.de Raum Z 366 www.informatik.htw-dresden.de/~fritzsch Inhalt 1. Grundlagen der Datenorganisation 2. Einführung in das relationale Datenmodell 3. MS Access 4. Programmentwicklung mit VBA 5. Datenmodellierung 6. Datenbankorganisation 7. Datenschutz und Informationssicherheit 8. Kommunikationssysteme 1. Grundlagen der Datenorganisation 1.1 Motivation: Speichern und Wiederfinden Programmverarbeitung findet grundsätzlich im Hauptspeicher (HS) statt. Datenverwaltung „intern“: HS, Register, Puffer (Cache) „extern“: Festplatte, CD-ROM, DVD, ... Dateien Persistenz intern: „statisch“ vs. „dynamisch“ Anforderung bereits zur Anforderung erst zur Übersetzungszeit Laufzeit bekannt bekannt (Compiler) Übersetzen, Verbinden und Ausführen von Programmen: übersetzen verbinden (linken) HS x.c x.o a.out y.h Bibliotheksprogramme Quellprogramme Objektprogramme Ausführbares Programm (Zielprogramme) (Lademodul, Executable) Organisationsformen ungeordnete Folge geordnete Folge Binärer Baum B*-Baum Hashtabelle Basisoperationen • Einfügen eines Elementes in die Datenbasis • Suchen eines Elementes in der Datenbasis • Entfernen eines Elementes aus der Datenbasis Reihenfolge der Verarbeitung • bestimmte Reihenfolge • beliebige Reihenfolge Zugriffsverfahren • sequentiell • binär/trichotom (bei Bäumen) • Hash-Verfahren (direkt oder indirekt) a) eine Folge von Bytes (Beispiel UNIX) b) eine Folge von Datensätzen (Beispiel CP/M) c) ein Baum 1.2 Datenbanksysteme Datenbanksystem (DBS) Datenbankmanagementsystem (DBMS) Datenbank (DB) DBS = DBMS + DB DBS sind eine spezielle Art von Informationssystemen Ziel: weitgehende Unabhängigkeit der Daten von den mit ihnen arbeitenden Programmen bzw. Benutzern 3 Ebenen - Externe Ebene (Benutzersichten) - Konzeptuelle Ebene (Logische Gesamtsicht) - Interne Ebene (physische Sicht) 2. Einführung Relationales Datenmodell Relationenmodell nach E. F. Codd, 1970 Strukturteil: Beschreiben von Objekttypen durch Relationenschemata Operationsteil: Satz von Operationen für Anfragen (Selektion) Definitionen Modifikationen (Einfügen, Entfernen) 2.1 Strukturteil Objekttyp beschrieben durch Menge von Attributen mit Wertebereichen Objekt besitzt Ausprägungen (Werte) zu Attributen Relationenschema R umfasst Objekttyp, Attribute, Wertebereiche Relationen r(R) Teilmenge des kartesischen Produktes über den Wertebereichen von R Ein Element einer Relation heisst Tupel Basisrelation Die in der Datenbank aktuell vorhandene Relation zu einem definierten Relationenschema Datenbank Menge aller Basisrelationen Datenbankschema Menge aller Relationenschemata Eigenschaften einer Relation: • keine mehrfachen Tupel vorhanden • keine festgelegte Reihenfolge der Tupel in der Relation • keine Festlegung der Reihenfolge der Attribute • Attributwerte sind „atomar“ (sog. 1 Normalform) Tabellendarstellung von Relationen: • Relation Tabelle • Attribut Spalte • Tupel Datensatz, Zeile • Wertebereich Domäne • Grad (degree) Anzahl der Attribute • Kardinalität Anzahl der Datensätze Beispiel für das gesamte Semester: 4 Objekttypen aus dem Geschäftsbereich einer Handelsfirma (Kaufen, Verkaufen) Lieferanten LNR enthalten LNAME Artikel Bestellungen … Kunden KNR werden geliefert von enthalten Kundennummer NAME VORNAME STRASSE Lieferanten Kunden PLZ ORT UMSATZ SUMOFFEN Summe unbez. Rechnungen LETZTRECH Vorlesung: Kunden, Bestellungen Datum der letzten Rechnung Praktikum: Artikel, Bestellungen FRECHOFFEN unbez. Rechn. vor LETZTRECH 2.2 Operationsteil Relationenalgebra Normsprache SQL Relationenalgebra: Satz von Grundoperationen Selektion  Projektion  Natürlicher Verbund   Mengenoperationen , ,  Umbenennung  Selektion Wählt Tupel (Zeilen) aus einer Relation (Tabelle) entsprechend einer Selektionsbedingung aus. Selektionsbedingung kann sein: Attribut – Konstanten – Vergleich Attribut – Attribut – Vergleich Verknüpfung von Selektionsbedingungen durch Operatoren , , ¬ Beispiele: ORT = “Dortmund“ (r(Kunden)) SUMOFFEN <> 0 (r(Kunden)) NAME = VORNAME (r(Kunden)) SUMOFFEN <> 0 AND UMSATZ > 10000 (r(Kunden)) Projektion Wählt Spalten aus einer Relation (Tabelle) aus. es entsteht eine neue Relation Mehrfache Tupel werden in der Ergebnismenge eliminiert Natürlicher Verbund Verknüpfung von Relationen über allen gemeinsamen Attributen. Nur Tupel mit gemeinsamen gleichen Attributwerten werden zu neuen Tupeln verbunden. Mengenoperationen Übliche Mengenoperationen auf Relationen anwenden, die das gleiche Relationenschema besitzen. Umbenennung Dient zum „kompatibel machen“ von Relationenschemata, die später vereinigt werden sollen. SQL (Standard Query Language) zur • Definition von Relationenschemata • Erzeugung von Zugriffspfaden • Anfragen • Datenmanipulationen Hier nur Anfrageteil behandelt. SQL-Abfrage (SFW_Block): SELECT … (Attributliste, kein Entfernen von Duplikaten, * für alle Attribute) FROM … (beteiligte Relationen, kartesisches Produkt) WHERE … (komplexe Selektionsbedingung) ; Semantik: 1. Kartesisches Produkt der Relationen hinter FROM mit dem Relationsnamen als Präfix 2. Anwendung der Bedingungen der WHERE-Klausel auf das Ergebnis der FROM- Klausel 3. Projektion auf die Attribute der SELECT-Klausel Personen Beispiel: Name Vorname Geburtsdatum Wohnort Meyer Peter 10.05.1960 Berlin Meyer Peter 20.08.1966 Dresden Schmitt Susanne 01.01.1970 Aue Schmitt Petra 01.01.1970 Rostock Pers_Hobbies Name Vorname Geburtsdatum Hobby Meyer Peter 10.05.1960 Surfen Meyer Peter 10.05.1960 Klavierspiel Meyer Peter 20.08.1966 Fußball Schmitt Susanne 01.01.1970 Tanzen Schmitt Petra 01.01.1970 Surfen 3. MS ACCESS Leistungsmerkmale (eines DBMS): Systematische Verwaltung der Daten in Tabellen, Verbindung von Tabellen Bildschirmformulare zur Pflege der Daten (GUI) Werkzeuge zur Abfrage von Daten Komplexe Auswertungen, Erstellen von Verzeichnissen 3.1 Die Arbeitsoberfläche 3.2 Eine neue Datenbank anlegen 3.3 Tabellen 3.4 Abfragen 3.5 Formulare 3.6 Beziehungen zwischen Tabellen 3.7 Berichte 3.8 Makros 3.1 Die Arbeitsoberfläche Datenbankfenster Name der Datenbank Statusleiste 3.2 Eine neue Datenbank anlegen nach dem Starten von MS ACCESS können in einem File-Dialog Verzeichnis und Dateiname für eine neu anzulegende Datenbank gewählt werden für die LV wird Handelsfirma.mdb festgelegt. MS ACCESS Datenbanken haben die Dateinamen-Extension .mdb das Datenbankfenster wird geöffnet, in der Titelleiste erscheint der Name der DB. Über das Datenbankfenster kann mit der DB gearbeitet werden. 3.3 Tabellen Es wird unterschieden (beim Erstellen/Öffnen): - Entwurfsansicht - Datenblattansicht Datenblattansicht Entwurfsansicht Datentyp Erklärung Größe Text für Zeichenketten aus Buchstaben, Ziffern und Sonderzeichen max. 255 Zeichen Memo für längere Texte max. 65535 Zeichen Zahl für Ganzzahl-, Gleitkomma- und Dezimalzahltypen je nach Typ 1,2,4 oder 8 Byte Datum/Uhrzeit Jedes gültige Datum zwischen 1.1.100 und 31.12.9999 ist 8 Byte erlaubt. Währung Zahlenwerte, diese werden automatisch um ein 8 Byte Währungssymbol ergänzt, mit zwei Nachkommastellen dargestellt und bündig angeordnet AutoWert Zahlenwert, dient der fortlaufenden Vergabe von Nummern. Der 4 Byte Wert wird für jeden neu eingefügten Datensatz automatisch um 1 erhöht. Das Feld ist für die Dateneingabe gesperrt. Der Datentyp AutoWert darf nur einmal pro Tabelle vergeben werden. Ja/Nein Es gibt genau zwei Werte, die die möglichen Ergebnisse einer 1 Bit Entscheidungsfrage repräsentieren (sog. Boolesches Feld) OLE-Objekt Ein OLE-Objekt wurde in einem anderen Programm erstellt bis zu 1 GByte (z.B. Excel) und kann eine Grafik, eine Excel-Tabelle oder ähnliches sein. OLE steht für Object linking and embedding. Hyperlink Werte sind Hyperlinks, beim Klicken darauf werden die max. 64000 Zeichen verlinkten Objekte geöffnet und angezeigt. Nachschlagliste Feldwerte können aus einer Liste ausgewählt werden. Der Liste 4 Byte kann z.B. eine andere Tabelle zugrunde liegen. Eingabeformat: • Definition von Mustern für die Dateneingabe z.B. PLZ 00000;;* ***** • Literalzeichen: Klammern, Punkte, Bindestriche, … (werden automatisch durch Programm eingefügt) • Platzhalter (Joker): Formatzeichen Syntax: eingabeformat ; speicherangabe ; platzhalter Standard: underline 0: Literalzeichen sollen mit gespeichert werden 1: nur eingegebene Daten gespeichert 0 eine Dezimalziffer (0 – 9), Eingabe zwingend 9 eine Dezimalziffer (0 – 9) oder ein Leerzeichen, Eingabe optional # eine Dezimalziffer, ein Leerzeichen oder Plus- bzw. Minuszeichen L ein Buchstabe (A – Z), Eingabe zwingend ? ein Buchstabe (A – Z), Eingabe optional A ein Buchstabe oder eine Ziffer, Eingabe zwingend a ein Buchstabe oder eine Ziffer, Eingabe optional & ein beliebiges Zeichen (einschließlich Leerzeichen), Eingabe zwingend C ein beliebiges Zeichen (einschließlich Leerzeichen), Eingabe optional .,:;-/ Dezimal-, Tausender-, Datums und Zeittrennzeichen (tatsächliche Darstellungen sind länderspezifisch!) \ das nachfolgende Zeichen wird als Konstante ausgegeben < nachfolgende Zeichen werden in Kleinbuchstaben umgewandelt > nachfolgende Zeichen werden in Großbuchstaben umgewandelt Gültigkeitsprüfung während der Dateneingabe ► integrierte Gültigkeitsprüfung für Datum/Uhrzeit Zahlen Boolesche Werte ► nutzerdefiniert Gültigkeitsregeln Gültigkeitsprüfung (+ Gültigkeitsmeldung) Syntax: regel   vergleichsoperator  vergleichswert  vergleichsoperator   =  <  >  WIE vergleichswert   datum  zahl  log. wert   text  funktion Verknüpfung von Regeln: UND  ODER  NICHT  ZWISCHEN Nachschlaglisten: -> Eingabewerte kommen aus Tabellen, Abfragen, selbst definierten Listen -> Vermeiden von Fehlern bei der Dateneingabe 3.4 Abfragen Abfragen erstellen Abfragearten: • Auswahlabfragen • Parameterabfragen • Aktionsabfragen -Tabellenerstellungsabfragen - Aktualisierungsabfragen - Anfügeabfragen - Löschabfragen • Kreuztabellenabfragen • Pivot-Tabellenabfragen • SQL-Abfragen Zum Erstellen einer Auswahlabfrage ist im Datenbankfenster das Objekt Abfragen zu wählen. Die gewünschte Tabelle hinzufügen und das Fenster schließen. Auf dem Bildschirm erscheint das Abfragefenster in der Entwurfsansicht: Parameterabfragen: Aktionsabfragen • Tabellenerstellungsabfragen neue Tabelle als Kopie • Aktualisierungsabfragen Änderungen an einer Gruppe von Datensätzen z.B. Erhöhung der Preise • Anfügeabfragen Datensätze aus einer Tabelle in zweite Tabelle einfügen • Löschabfragen löschen von Datensätzen aus einer Tabelle, die eine bestimmte Bedingung erfüllen Neue Bezeichnung! 3.5 Formulare Wahl eines Layouts: • Einspaltige Darstellung, • Tabellarische Darstellung, • Datenblattdarstellung, • Block-Darstellung • Hauptformular mit Unterformular Formularansicht, einspaltig : Formularansicht, tabellarisch : Formularassistent: Erstellen eines Formulars in der Entwurfsansicht: Entwurfsansicht: Die Steuerelemente Bezeichnung - Textfeld Listen- u. Kombinationsfeld Befehlsschaltflächen Linien/Rechtecke/ … Eigenschaften von Steuerelementen Aktivierungsreihenfolge festlegen 3.6 Beziehungen zwischen Tabellen 1. Konzeptuelle Grundlagen Entity – Relationship – Modelle (Kap. 5) 2. Praktische Handhabung Beispiel: Hauptformular mit Unterformular 3.7 Berichte In Berichten werden Daten aus Tabellen, Abfragen oder Formularen für den Druck aufbereitet und dargestellt. Zum Beispiel können in einem Bericht Diagramme erzeugt und dargestellt werden. Es wird wie bei Tabellen, Abfragen und Formularen unterschieden: Entwurf Dabei wird ein Objekt vom Typ Bericht erstellt, in dem Bezüge zu Datenquellen und Festlegungen zur Gestaltung enthalten sind. Präsentation Dabei wird das im Entwurf erstellte Objekt „ausgeführt“, d.h. es wird ein aktueller Bericht erzeugt. Struktur von Berichten: Berichtskopf (auf der 1. Seite des Berichts) Berichtsfuß (auf der letzten Seite des Berichts) Seitenkopf (auf jeder Berichtsseite) Seitenfuß (auf jeder Berichtsseite) Gruppenkopf (nur für Gruppierungsbericht) Gruppenfuß (nur für Gruppierungsbericht) Detailbereich In einem gruppierten Bericht werden die Daten nach bestimmten Datenfeldern gruppiert dargestellt. Beispiel: Artikel nach der ersten Stelle der Artikelnummer (der Artikelgruppe) gruppiert darstellen 3.8 Makros Makros sind Befehlsfolgen, die unter einem Namen in der Datenbank abgespeichert und ausgeführt werden können. Makros eignen sich besonders zur Gestaltung von Menüsteuerungen. Beispiel: Erzeugen eines Formulars FormMakroTest, das eine Befehlsschaltfläche mit der Beschriftung „Formularaufruf“ enthält. Durch ein mit der Schaltfläche verknüpftes Makro MakroTestFormular soll bewirkt werden, dass • ein bereits existierendes Formular Form1Artikel geöffnet und • das Formular FormMakroTest geschlossen wird. Klick Lösung: • Objekt Makros → Neu • Einfügen Aktionen: - Öffnen Formular Formularname: Form1Artikel - Schließen Objekttyp: Formular Objektname: FormMakroTest • Speichern des Makros unter dem Namen MakroTestFormular • Zuordnen des Makros zur Schaltfläche Befehl0 im Formular FormMakroTest, Ereignis: Beim Klicken • Testen der Schaltfläche im Formular FormMakroTest 4. Programmentwicklung mit VBA Module enthalten Prozeduren, sie sind selbst nicht ausführbar. Modultypen: Modul Standardmodul Klassenmodul Formularmodul Berichtsmodul Ein Standardmodul ist für die gesamte Datenbank gültig und sollte deshalb Prozeduren und Funktionen für häufig an verschiedenen Stellen benötigte Aufgaben enthalten. Ein Klassenmodul ist mit einem Objekt verbunden. Jedem Formular oder Bericht ist genau ein Klassenmodul zugeordnet. Access erstellt Formular- und Berichtsmodule automatisch, wenn eine Ereignisprozedur für ein Formular oder einen Bericht erstellt wird. Prozeduren sind Einheiten, die ausführbare Programme repräsentieren. → Notation als Quelltext in der Sprache VBA → Automatische Übersetzung (Compilation) in maschinen-internen Code → Unterscheidung: Deklaration und Ausführung (expliziter oder impliziter Aufruf) Prozedurtypen: Prozedur Aufrufe • verarbeiten Parameter (Argumente) • Geben keinen Wert zurück Function- Sub- Prozedur Prozedur Werden als Reaktion auf Ereignisse implizit ausgeführt Aufrufe • verarbeiten Parameter (Argumente) Allgemeine Ereignis- • Geben Wert an den Aufrufer zurück Prozedur Prozedur Konstanten bezeichnen Werte, die während der Abarbeitung eines Programms unveränderlich sind. Die Werte werden a. in einer externen Darstellung angegeben (sog. Literale) . Mit der Bezeichnung der Konstanten wird ihr Datentyp festgelegt. Beispiele: 4, "Dresden", #12.04.2005# b. durch eine Konstantendeklaration festgelegt, wobei die Konstante einen Namen erhält. Beispiel: Const mws = 0.16 Variablen bezeichnen Speicherplätze, die während der Abarbeitung eines Programms nacheinander verschiedene Werte eines bestimmten Datentyps aufnehmen können. Beispiel: summe ist der Name einer Variablen. Die Zuordnung eines Datentyps zu einer Variablen erfolgt explizit durch eine Variablendeklaration oder implizit. Syntax: As [, As ] … Beispiel: Dim menge As Integer, preis As Integer Mittels Wertzuweisungen können Variablen Werte zugewiesen werden. Beispiel: summe = 2+3 Der Variablen mit dem Namen links vom Zuweisungssymbol (=) wird der Wert zugewiesen, der sich bei der Berechnung des rechts vom Zuweisungssymbol stehenden Ausdrucks ergibt. Programm: Folge (Sequenz) von Anweisungen Anweisungen sind ► Wertzuweisungen ► Prozeduraufrufe (keine Funktionsaufrufe!) ► Steuerstrukturen zur Ablaufsteuerung Regeln für Sichtbarkeit (Scope ) und Lebensdauer (Extent) von Variablen Bezeichner Variablentyp Sichtbarkeitsbereich Lebensdauer Public Globale Variable jede Prozedur der gesamte Laufzeit der gesamten Datenbankanwendung Datenbankanwendung Private Global für Modul jede Prozedur des gesamte Laufzeit der Moduls, in dem die Datenbankanwendung Variable deklariert ist Dim Lokale Variable nur die Prozedur, in nur während der der die Variable Ausführungszeit der deklariert ist Prozedur Static Lokale Variable nur die Prozedur, in gesamte Laufzeit der der die Variable Datenbankanwendung deklariert ist Beispiel: Prozedur, die einen Zähler realisiert, der bei jedem Prozeduraufruf den Wert einer Zustandsvariablen z um 1 erhöht. Der Wert wird in einer „Message Box“ ausgegeben. Prozedurdeklaration: Public Sub Zähler() Static z As Integer z = z + 1 MsgBox "Zustand:" & z, vbInformation End Sub Prozeduraufruf: Zähler Prozedurausführung: Das im Beispiel verwendete Meldungsfenster (MsgBox) kann sowohl als Funktion als auch als Sub-Prozedur angewendet werden. Syntax: MsgBox( , , ) Verwendung als Funktion MsgBox , , Verwendung als Prozedur enthält den anzuzeigenden Meldungstext spezifiziert die anzuzeigenden Schaltflächen. Es existieren vordefinierte Symbole, die mit Konstanten benannt werden können. bestimmt den Text in der Titelleiste des Meldungsfensters Bei Anwendung als Funktion liefert der MsgBox-Aufruf den Wert der betätigten Schaltfläche. Folgende Werte werden von den in Meldungsfenstern dargestellten Schaltflächen geliefert: Wert Konstante Gewählte Schaltfläche 1 vbOK OK 2 vbCancel Abbrechen 3 vbAbort Abbrechen 4 vbRetry Wiederholen 5 vbIgnore Ignorieren 6 vbYes Ja 7 vbNo Nein Vordefinierte Konstanten für das Anzeigen von Schaltflächen, Symbolen und anderen Einstellungen: Beachte: Kombinationen der Werte bei Verwendung von Schaltflächen und Symbolen. Eingabedialoge Public Function Mehrwertsteuer() Dim wert wert = InputBox("Bitte Betrag eingeben:", _ "Berechnung der Mehrwertsteuer") wert = FormatCurrency((Nz(wert, 0) * 0.19), 2) MsgBox "Ergebnis:" & wert End Function Die Gestaltung von Eingabedialogen erfolgt mittels InputBox. Syntax: InputBox( , , ) Verwendung als Funktion enthält einen Meldungstext als Eingabeaufforderung spezifiziert den Text in der Titelleiste des Fensters Wert der im Eingabefeld als Vorgabe angezeigt werden soll Semantik: Rückgabewert ist die Eingabe des Anwenders im Eingabefeld. Der Datentyp des Rückgabewertes ist String bzw. Variant. Bei Betätigen der Schaltfläche „Abbrechen“ ist der Rückgabewert ein leerer String. Operatoren In den bisherigen Beispielen wurden bereits Operatoren in Ausdrücken verwendet. Grundsätzlich werden Klassen von Operatoren unterschieden: ► Zeichenkettenoperatoren Verkettungsoperator: & Bsp.: "Datenbank" & "fenster" → "Datenbankfenster" ► Arithmetische Operatoren +,-,*, / \ ganzzahlige Division – Quotient MOD ganzzahlige Division – Rest (modulo – Operator) ^ Potenz ► Vergleichsoperatoren =, <>, >, <, >=, <=, Like ► Logische Operatoren Not, And, Or, Xor Steuerstrukturen Ein Programm besteht aus einer (zeilenweise notierten) Folge von Anweisungen, die der Reihe nach ausgeführt werden. Eine solche Folge nennt man Anweisungssequenz. Als Alternative wird eine Programmkonstruktion bezeichnet, die es erlaubt, - eine Anweisungsfolge in Abhängigkeit vom Ergebnis der Auswertung einer Bedingung auszuführen oder nicht auszuführen, oder - zwei unterschiedliche Anweisungsfolgen je nach Ergebnis der Auswertung einer Bedingung (True oder False ) auszuführen. Syntax: If Then If Then End If Else End If Beispiel: Public Sub Rabatt() Dim anzahl As Integer, ausgabe As String Dim einzelpreis As Double, gesamtpreis As Double anzahl = InputBox("Wieviele Teile bestellt: ") einzelpreis = 10 gesamtpreis = anzahl * einzelpreis If gesamtpreis >= 100 Then ausgabe = "rabatt
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks