Personal tools
You are here: o studio 110 110 OUT code | Inf classes Inf Informatik 09

You have to loose yourself. You have to find yourself. You have to loose yourself. 

anonymous

Das Beste der Musik steht nicht in den Noten. 

Gustav Mahler

Die einzige Konstante im Universum ist die Veränderung.

Heraklit von Ephesus

Jeder Plan ist die Grundlage einer nächsten Änderung. 

Martin Riedl

Was es alles gibt, was ich nicht brauche. 

Aristoteles

creativity is subtraction.

Austin Kleon

Bewusstsein beginnt mit Wahrnehmung.

°

Wenn man nur einen Hammer hat, sieht jedes Problem wie ein Nagel aus. 

anonym

When you need a function, just declare it.

Anonymous

Auch der weiteste Weg beginnt mit einem ersten Schritt.

Konfuzius

Die Kopie oder Adaption ist die Höchste Form der Ehrung.

Luehrsen, Hendrik

Der Tod ist eine Lebensaufgabe.

Hildegard Willmann

Das Leben ist wie ein Fahrrad. Man muss sich vorwärtsbewegen, um das Gleichgewicht zu halten.

Einstein, Albert

Du musst selbst wissen, wo du hinwillst und auf welchem Weg du am besten dorthin kommst. Nur du kennst den Weg.

Comaneci, Nadia

Art is eternal, but life is short. 

Evelyn de Morgan

Wer nichts mehr spürt, ist ein toter Mann. 

Hermann Enzenhofer

Perlen holt aus tiefer Flut nur ein gottvertrauter Mut. 

Ida Bachmeier

Was sich auf die Wirklichkeit bezieht, ist nicht sicher, und was sicher ist, ist nicht wirklich.

Albert Einstein

Ego ist eine Illusion.

Marco Asam

Zeit ist ein Vakuum. 

Christiane Schick

Nur Querköpfe ändern ihre Meinung nicht. 

Albert Einstein

Nichts kann existieren ohne Ordnung. Nichts kann entstehen ohne Chaos.

Albert Einstein

Ich habe keine Zeit, mich zu beeilen.

Strawinsky, Igor

 
 

Informatik 09

— filed under: , ,

Basisinformationen zu Informatik 09. In der Jahrgangsstufe 9 sind die großen Themenbereiche das Arbeiten mit Funktionen und Datenflüssen (anhand von Excel) sowie das Arbeiten mit Datenbanksystemen mit SQL.

Aufgaben in Informatik 9

  • LibreOffice Calc bzw. Microsoft Excel (Fkt)  
  • Aufgaben aus dem Informatik-Buch der Reihe nach selbständig bearbeiten. Das Buch ist dafür zur Informatik-Stunde mitzubringen. Schreibe Deinen Lösungsvorschlag in Dein Heft.
  • Aufgaben aus dem Informatik-Buch der Reihe nach selbständig bearbeiten. Das Buch ist dafür zur Informatik-Stunde mitzubringen. Schreibe Deinen Lösungsvorschlag in Dein Heft.
  • Werkzeugkasten-Kapitel im Buch. Lies sie dir selbständig durch (ab S. 142 in Informatik I, Oldenbourg-Verlag)
  • Vorbereitung in die Objektorientierte Programmierung mit Python: Online-Kurs auf cscircles.cemc.uwaterloo.ca/de  



Mögliche Referate Informatik 9 (2-5 min Vortrag)

wichtig ist hierbei jeweils: Beschreibung | Definition | Beispiel | Abbildung mit Quellenangaben für Abbildungen und Text  

Bei jedem Referat soll am Ende ein kurzer Hefteintrag (2-3 Sätze zum Abschreiben, Graphik oder Abbildung zum Abzeichnen) die letzte Seite sein.

Grundlagen der Informatik | basic

      Geschichte/ Meilensteine der Informatik  
      Klasse Objekt Attribut Methode. Punktnotation  
      Klassenkarte Objektkarte Klassendiagramm | py
      Beziehungen und Kardinalitäten
      Methoden | py
      HTML | atom.io oder notepad++  
      Algorithmus/ algorithmisches Denken
      Struktogramme   
      Baum und Graph | Hierarchische Strukturen 
      Binäres Zahlensystem (vgl. S. 63)  
      Rechnerarchitektur

      Open Source  
      CC, Copyright und Lizenzen  
      KI - Künstliche Intelligenz  
      Big Data - Überwachung, Online-Tracking, Datenschutz  
      Serious Games, technologiegestütztes Lernen  

Funktionale Programmierung | py

      Funktionen  
      Vordefinierte Funktionen (vgl. S. 39)  
      Logische Funktionen UNDODERNICHT - AND, OR, NOT
      Logische Funktionen/ Logikgatter - NAND, NOR, XOR, XNOR
      Datenflussdiagramm  
      Bedingte Funktion: WENN-Funktion  
      while-Schleife  
      if-/else - Bedingte Anweisung  
      Zusammenfassen von Funktionen  
      Verknüpfung von Tabellen
      Verzweigung im Datenfluss
      Geschichte der Tabellenkalkulation (vgl. S. 62) 
      Tabellenkalkulation - Buchhaltung  
      Diagramme aus Tabellendaten    
      Kapital-Berechung (Kredit-Aufnahme, Geld-Anlegen, Zinsberechnung mit Zinstagen)
      Zusammengesetzte Daten (z.B. Brüche)
      Verkaufspreis mit Mengenrabatt
      Verkaufspreis mit Skonto 
      Kostenvoranschlag (Rechnung) mit Tabellenkalkulation  
      Adress-Listen mit Tabellen
      Diagramme in Tabellenkalkulation: Entwicklung der Weltbevölkerung (vgl. S. 61)
      Kopieren - relative und absolute Adressen
      Links - lokal und online z.B. in Tabellen  

Datenbanken | py

      DB statt Fkt - warum?
      Datentypen | py
      Relationales Datenbanksystem
      SQL-Abfragen
      Datenbankschema
      Datenpflege und Änderungsanomalien (UPDATE, INSERT, DELETE)     
      Datensicherheit und Datenschutz
      Klassendiagramm und Kardinalitäten  
      n:m - Beziehung  
      Das kartesische Produkt
      Aggregat-Funktionen von SQL (COUNT, AVG, MAX, MIN, SUM vgl. S. 103)
      Schlüssel, Fremdschlüssel und referentielle Integrität
      Datenpflege (Ändern, Einfügen, Löschen von Datensätzen | UPDATE, INSERT, DELETE)
      Datenkonsistenz
      Datensicherheit und Datenschutz
      Datenbankschema
      Datenbank-Design  
      Prüfziffer am Bsp. der ISBN-Nummer

 

Mögliche weitere Themen aus dem Bereich Informatik 10, Objektorientierte Programmierung (py)  

Informatik und python

      if/else - Bedingung
      while - Schleife
      Objekte | py
      Klassen | py z.B. Liste (unsortiert, sortiert), Liste einfach verkettet, Schlange, Stapel, Baum, Graph (ungewichtet, gewichtet)
      Klassenkarten | py
      Objektkarten | py
      Klassendiagramm
      Objektdiagramm
      Zustandsdiagramm
      Variablen | py
      Methoden | py
      Anweisungen | py
      Strings (Zeichenketten) | py
      Vererbung | py
      Verzweigung/ Rekursion
      Bsp. Koch'sche Schneeflocke
      Bsp. Sierpinski-Dreieck
      Bsp. Fibonacci-Funktion
      Lastenheft/ Pflichtenheft in der Informatik
      Agile Softwareentwicklung (vs Wasserfall-Modell)
      Objektorientierte Programmierung - Diff. python, Java
      Biometrische Daten als Schlüssel 
      Künstliche Intelligenz (Artificial Intelligence AI)   
      Intuitive Bedienbarkeit/ User-Dialog/ GUI - Graphische Oberfläche und optisches Design
      Eclipse-Programmierumgebung 
      Android-Programmierung  
      python-Turtle-Programmierung  

      _________________(eigener Themenvorschlag) 

 

Informatik 09

Grundwissen Informatik 06: Klasse, Objekt, Attribut, Methode

Objekte und Klassen

Objekt

Man kann die analoge und auch digitale Welt in Objekten verschiedener Art beschreiben. In Vektorgrafiken finden sich Linien, Kreise, Rechtecke oder Textblöcke; in (reinen) Rastergrafiken dagegen nur Objekte der Art Bildpunkt. Jedes Objekt benötigt zur eindeutigen Identifizierung einen innerhalb des jeweiligen Dokumentes eindeutigen Bezeichner, z.B. kreis1rechteck7 oder linie13.

Attribut

Die Eigenschaften der Objekte werden durch die Werte ihrer Attribute beschrieben. Bsp. (in Punktschreibweise): 

Objektname.Attributname=Wert

kreis1.füllfarbe=rot                                           #rot ist der Attributwert
Klasse:KREIS

Für eine Attributwert-Zuweisung schreiben wir allgemein:
Objektname.Attributname=Wert

Klasse

Je nach Art der Attribute teilt man Objekte in Klassen ein. Objekte der gleichen Klasse haben dieselben Attribute und Methoden. Eine Klasse stellt einen Konstruktionsplan für bestimmte Objekte dar, der mit all seinen Informationen auch ohne diese Objekte existiert.

Objekt:KLASSE

Methode

Objekte können auf Befehl bestimmte Operationen (Methoden) ausführen. Diese Operationen werden durch den Aufruf einer Methode ausgelöst. Bsp.: 

Objektname.Methodenname(Wert)

buchstabe1.horizontalSpiegeln() 
buchstabe5.horizontalVerschieben(2cm)               #2cm ist der Methodenwert
Klasse: BUCHSTABE

Für einen Methodenaufruf schreiben wir allgemein:

Objektname.Methodenname(Wert)



Parameter

Bei vielen Methoden muss man durch ein oder mehrere Argumente (Parameter) festlegen, mit welchen Eingaben sie ausgeführt werden sollen, z.B. um welche Strecke ein Objekt verschoben werden soll. Die Parameter werden in einer festgelegten Reihenfolge in Klammern notiert. Bsp.: 
buchstabe1.verschieben(2cm, -3cm)

Variable

 

Klassenkarte, Klassendiagramm

 

Objektkarte > Zustände

 

 

Algorithmus

Forderungen an einen Algorithmus:

      Eindeutigkeit: ein Algorithmus darf keine widersprüchliche Beschreibung haben. Diese muss eindeutig sein.

      Ausführbarkeit: jeder Einzelschritt muss ausführbar sein.

      Finitheit (= Endlichkeit): die Beschreibung des Algorithmus muss endlich sein.

      Terminierung: nach endlich vielen Schritten muss der Algorithmus enden und ein Ergebnis liefern.

      Determiniertheit: der Algorithmus muss bei gleichen Voraussetzungen stets das gleiche Ergebnis liefern.

      Determinismus: zu jedem Zeitpunkt der Ausführung besteht höchstens eine Möglichkeit der Fortsetzung. Der Folgeschritt ist also eindeutig bestimmt.


Modellierung in der Informatik

reales System: Systemanalyse.  abgrenzen, abstrahieren, idealisieren, zusammenfassen
mentales Modell: Modellbildung
reales Modell: Normierte Darstellung, Programm

> neue Erkenntnisse (über das reale System)

Modellbilden bedeutet:
- einen Ausschnitt aus dem realen System wählen und alle Einflüsse von außen weglassen,
- nur die wichtigen Dinge in diesem Ausschnitt betrachten.
- diese wichtigen Dinge so einfach wie möglich und so umfassend wie nötig wiedergeben,
- das Modell mit einer normierten Darstellungsform beschreiben.

Textverarbeitung (II)

  • Serienbriefe (u. a. Seriendruckfelder, Bedingungen, Datenquellen, Hauptdokument)
  • Privatbrief (u. a. Aufbau, Vorlagenerstellung, Privatanschriftfeld)
  • Geschäftsbriefe (u. a. Aufbau, Vorlagenerstellung, Anschriftfeld, Briefschluss)
  • Unterscheidung zwischen Privat- und Geschäftsbrief
  • Autotexte, Textbausteine
  • (Online-)Formulare
  • Bewerbungsunterlagen (u. a. Online-Bewerbung)
  • Layout anspruchsvoller Dokumente (u. a. Absatz-, Zeichen-, Seitenformatierungen, Tabellen, Verknüpfungen, Formatvorlagen, Inhaltsverzeichnis)
  • Objekte der Textverarbeitung, z. B. Textfelder, Tabulatoren, Spalten, Umbrüche
  • Funktionen eines Textverarbeitungsprogramms, z. B. Nummerierung, Aufzählung, Feldfunktionen wie Datum und Seitenzahl
  • Automatisches Inhaltsverzeichnis und Fußnoten

 

I Funktionale Modellierung | Funktionen als Prozessbeschreibungen

  • grundlegende Funktionsweise eines Tabellenkalkulationsprogramms
  • Modelle zur Analyse und Lösung von Aufgaben, z. B. Struktogramm, Datenflussdiagramm, Aktivitätsdiagramm
  • Datentypen, z.B. Text, Zahl, Datum
  • Formeln und ihre Bestandteile
  • relative und absolute Zelladressierung
  • einfache Funktionen und ihr Aufbau, z. B. zur Berechnung von Minimum, Maximum, Summe, Mittelwert
  • verschiedene Diagrammtypen, z. B. Kreis-, Säulen-, Liniendiagramm
  • Modelle (z. B. Struktogramm, Datenflussdiagramm, Aktivitätsdiagramm) zur Analyse und Lösung von Aufgabenstellungen mit diversen Funktionen
  • zweiseitige Auswahlstruktur
  • Sortierfunktion
  • erweiterte Formatierungsmöglichkeiten: bedingte Formatierung, benutzerdefinierte Zahlenformate
  • Verknüpfung von Zellinhalten über mehrere Tabellenblätter
  • mehrstufige und mehrseitige Auswahlstrukturen
  • Wahrheitswert, logische Funktionen und ihre Verknüpfungen
  • Gültigkeitsprüfung für Eingabewerte (Validierung)
  • Filterung von Daten
  • Schutz von Zellen und Tabellenblättern
  • weitere Funktionen, z. B. aus den Bereichen Mathematik, Statistik, Finanzen, Datum und Uhrzeit

 

Viele Prozesse in Arbeitswelt und Technik lassen sich wegen ihrer Komplexität nur dadurch überschauen, dass man sie in Teilprozesse gliedert. In einem geeigneten Diagramm stellt man diese Teilprozesse dar und beschreibt den Materialfluss zwischen ihnen.

In der Informatik werden Daten verarbeitet. Ein Datum (Datenelement) umfasst dabei sowohl die Darstellungsform als auch die zugehörige Bedeutung.

Eine Funktion beschreibt einen klar umrissenen Vorgang (Prozess) innerhalb eines größeren Zusammenhangs. Sie ermittelt aus Eingabewerten nach einer festgelegten und eindeutigen Zuordnungsvorschrift einen Ausgabewert.
Jede Funktion hat einen Bezeichner und eine Zuordnungsvorschrift. Die Platzhalter für die nötigen Eingabewerte werden mit eindeutigen Bezeichnern festgelegt und heißen Eingangsparameter
Schreibweise:

Funktionsname(Eingangsparameter1; Eingangsparameter2; Eingangsparameter3; ...)

Beim Aufruf der Funktion werden die Eingangsparameter entsprechend ihrer Reihenfolge durch aktuelle Eingabewerte ersetzt. Mit diesen Werten wird der Ausgabewert bestimmt.

 

Logische Funktionen UND, ODER, NICHT

Mit Wahrheitswerten kann man logisch rechnen. 
Melde Dich, WENN du die Antwort weißt ODER eine Frage hast.  
Melde Dich, WENN jemand eine Frage gestellt hat UND du die Antwort kennst.
Frag nach, WENN du etwas NICHT verstanden hast.

Präs2 | Tabellenkalkulationssystem. Die Klasse ZELLE. Datentypen
Präs3 | Zusammenfassen von Funktionen. Treppenvolumen berechnen.
Präs4 | Verzweigung im Datenfluss. Malerkosten berechnen. 
Präs5 | Vordefinierte Funktionen. ANZAHL. SUMME. MITTELWERT.
Präs6 | Zusammengesetzte Daten. Bruchaddition.
Präs7 | Bedingte Funktionen. Mengenrabattsatz.

Zur Berechnung komplexer Zusammenhänge lassen sich Funktionen kombinieren. Dabei wird der Ausgabewert einer Funktion zum Eingabewert einer anderen Funktion. In der grafischen Darstellung entsteht ein Datenflussdiagramm.
Elemente eines Datenflussdiagramms sind:

  • Funktionen, die Daten verarbeiten (Rechtecke, abgerundet)
  • Verbindungspfeile (zeigen von Datenflüssen). Bei vielen Tabellenkalkulationsprogrammen kann man sich die Datenflusspfiele aufgrund der Zuordnungsvorschriften nachträglich automatisch eintragen lassen.
  • Eingabewerte (Quellen)
  • Ausgabewert (Senke)

 

Bei der funktionalen Modellierung werden komplexe Prozesse in einzelne Teilprozesse zerlegt und der Datenfluss zwischen den Prozessen analysiert. Das Datenflussidagramm ist eine grafische Darstellungsform für ein funktionales Modell.
Das funktionale Modellieren besteht in erster Linie aus den Schritten:

  • Identifizieren der Eingabewerte und des Ausgabewertes des Gesamtprozesses
  • Bestimmen der Teilprozesse und Datenflüsse
  • Erstellen des Datenflussdiagramms
  • Beschreiben der Teilprozesse durch Zuordnungsvorschriften.

Hinweis: Beim Erstellen eines Datenflussdiagramms betrachtet man jeden Teilprozess im ersten Moment als sogenannte "Blackbox". Das heißt, man weiß zwar, was der Teilprozess machen soll, aber noch nicht, wie dies im Detail durchzuführen ist. Erst im letzten Schritt beschäftigt man sich bei der funktionalen Modellierung mit dem "wie", also dem Entwickeln einer geeigneten und detaillierten Zuordnungsvorschrift.

Tabellenkalkulationssysteme

Die Dokumente einer Tabellenkalkulation enthalten Rechenblätter. Ein Rechenblatt enthält Objekte der Klassen ZELLE, ZEILE und SPALTE.
Der Datentyp einer Zelle legt fest, welche Werte das Attribut Zellwert annehmen kann und welche Operationen (Rechenverfahren) auf diesen Werten möglich sind. Wichtige Datentypen in Tabellenkalkulationsprogrammen sind (Komma-)Zahl, Text, Zeitangabe, Wahrheitswert.
Der Wert des Attributes Zellwert einer Zelle kann eine vom Benutzer eingegebene Konstante oder das Ergebnis der Ausführung einer Zuordnungsvorschrift sein. Diese Zuordnungsvorschrift wird im Attribut Formel abgelegt, sie beginnnt mit einem "="-Zeichen und kann als formale Parameter die Adressen anderer Zellen enthalten.

Datentypen

Eine Folge von Ziffern kann manchmal auch ein Text sein. Je nach festgelegtem Datentyp wird die Zeichenfolge "123" als die Zahl einhundertdreiundzwanzig oder als der Text eins-zwei-drei behandelt.
Auch die Zeitangaben werden intern als Zahl gespeichert, damit sie für Berechnungen verwendet werden können. Wahrheitswerte (logische Werte, boolsche Werte) werden ebenfalls intern als Zahlen dargestellt.

Datentypen (in python)

  • für ganze Zahlen: int (integer) und long
  • für Gleitkommazahlen: float (Kommazahl) und double
  • für komplexe Zahlen: complex
  • für boolsche Werte: bool (Wahrheitswert true/false)
  • einzelnes Zeichen: char (character) 
  • Wort, Zeichenkette: string
 

Primitive Datentypen - Übersicht

Python, Java


  Typname
Beschreibung Länge in Byte

    boolean Boole'scher Wert (wahr oder falsch, 1 Bit)
1
    char

einzelnes Zeichen (16 Bit)

2


    byte ganze Zahl (8 Bit)
1
    short ganze Zahl (16 Bit)
2
    int ganze Zahl (32 Bit)
4
    long ganze Zahl (64 Bit)
8
    float
Fließkommazahl (32 Bit)
4


double
Fließkommazahl (64 Bit)
8

Referenztypen (Objekttypen)

Python, Java
Zu den Referenztypen gehören Objekte, Strings und Arrays.

Typname Beschreibung Bsp
String Zeichenkette (Text)
"Hallo!"
Array (z.B. int[])
Feld (hier ganzzahlig)
{1, 2, 3, 4, 5}

Stings und Arrays sind streng genommen auch Objekte, können aber (in Java) ohne Aufruf des new-Operators erzeugt werden.

Exkurs: Python als Taschenrechner 

Für numerische Datentypen sind folgende arithmetische Operatoren definiert:
  • Addition: x+y
  • Subtraktion: x-y
  • Multiplikation: x*y
  • Division: x/y
  • Rest beim ganzzahligen Teilen: x%y
  • Ganzzahliger Anteil der Integer Division: x//y
  • Potenzieren: x**y
  • Negatives Vorzeichen: -x

In Python gibt es keine Operatoren für das Inkrementieren (x++) und Dekrementieren (x--). Es sind jedoch sogenannte erweiterte Zuweisungen der Form x+=y als kürzere Form für x=x+y möglich.

hdm-stuttgart.de/~maucher/Python/html/Datentypen.html

Zusammenfassen von Funktionen

Mehrere Funktionen in einem Datenflussdiagramm kann man zu einer Funktion zusammenfassen und diese mit Eingangsparameter (ggf. mehreren) und einem Ausgang versehen.

Die Termschreibweise ist eine mathematische Darstellungsform eines funktionalen Modells. Bei dieser Schreibweise werden die einzelnen Funktionen entsprechend des Datenflusses zu einem Term zusammengesetzt.

Verzweigung im Datenfluss

Mit dem Verteiler-Symbol wird ein Datenfluss im Datenflussdiagramm verzweigt, wobei in beiden Zweigen dieselben Daten fließen. In der Termnotation erfolgt diese Verzweigung durch Mehrfachverwendung desselben Parameterbezeichners.

Vordefinierte Funktionen

Tabellenkalkulationsprogramme stellen vordefinierte Funktionen bereit. Einige vordefinierte Funktionen haben eine beliebige Anzahl Eingangsparameter. In diesem Fall können Zellenbereiche angeben werden.

Zusammengesetzte Daten

Datentypen, die aus zwei oder mehr Bestandteilen zusammengesetzt sind, bezeichnet man als Verbund. Im Datenflussdiagramm gibt es Symbole zum Aufspalten und Zusammenfassen von Verbunden.

vgl. Datentypen (Buch S. 75) 

Bedingte Funktionen

Die WENN-Funktion hat drei Eingangsparameter: einen Wahrheitswert und zwei alternative Werte für die Ausgabe. Je nachdem, ob der Wahrheitswert WAHR oder FALSCH ist, nimmt der Ausgabewert den Wert der ersten oder der zweiten Alternative an. Schreibweise:

WENN(Wahrheitswert; AlternativeBeiWahr; AlternativeBeiFalsch)

Eine Funktion mit beliebigen Eingangsparametern, die als Ausgabewert einen Wahrheitswert liefert, bezeichnet man als Aussagefunktion. Eine Funktion mit Eingangsparametern vom Typ Wahrheitswert, die als ausgabewert einen Wahrheitswert liefert, bezeichnet man als logische Funktion. Beispiele sind UNDODER und NICHT.

Notationen

Infixnotation: a*b+c

Präfixnotation: +*abc oder plus(mal(a;b);c)

Postfixnotation: ab*c+ 

Zahlendarstellung - Dezimal- und Dualsystem

Zahlen werden im Computer intern im Zweiersystem (auch Dualsystem oder Binärsystem genannt) dargestellt. Die Stufenzahlen sind also nicht 1; 10; 100; 1000; 10000 ..., sondern 1; 2; 4; 8; 16; 32; 64 ...
Das setzt sich bei den Nachkommastellen fort: Statt 1/10; 1/100; 1/1000; 1/10000 ... lauten die Stellenwerte 1/2; 1/4; 1/8; 1/16; 1/32; 1/64 usw.

Ein Rechenblatt besteht aus Zellen, die in Zeilen und Spalten angeordnet sind. Eine Aufteilung dieser Art wird auch als zweidimensionale Matrix bezeichnet. Die Zeilen werden mit Zahlen benannt und die Spalten mit Buchstaben. Die Position einer Zelle wird mit der Kombination aus zugehörigem Spaltenbuchstaben und Zeilennummer bestimmt. Die Anzahl an Zeilen und Spalten ist in der Regel begrenzt.

Selbsttest s Funktionale Programmierung Fkt final

  • mit Tabellenblättern/Arbeitsblättern arbeiten und diese in unterschiedlichen Dateiformaten abspeichern können,
  • integrierte Funktionen wie die Hilfe verwenden können, um die Produktivität zu steigern,
  • Daten in Tabellen eingeben können und gute Praxis beim Erstellen von Listen beachten,
  • Daten auswählen, sortieren, kopieren, verschieben und löschen können,
  • Zeilen und Spalten in einem Tabellenblatt/Arbeitsblatt bearbeiten können.
  • Arbeitsblätter/Tabellenblätter kopieren, verschieben, löschen und passend umbenennen können,
  • logische und mathematische Formeln unter Verwendung der Standardfunktionen der Tabellenkalkulation erstellen,
  • gute Praxis beim Erstellen von Formeln beachten und Fehlerwerte kennen und interpretieren können,
  • Zahlen und Text in einem Arbeitsblatt/Tabellenblatt formatieren können,
  • Diagramme auswählen, erstellen und formatieren können, um Information verständlich darzustellen,
  • Seiteneigenschaften eines Arbeitsblattes/Tabellenblattes anpassen und die Rechtschreibung überprüfen können, bevor das Tabellenblatt gedruckt wird.

 

II Datenbanken/ Datenmodellierung

Schlüssel: Primärschlüssel, Fremdschlüssel, künstlicher Schlüssel

Buch Inf 9. Merkekästchen S. 71, 79, 88, 92. Werkzeugkasten "Microsoft Access". S. 154/155 8.1 + 8.3 notieren

Tabellen anlegen > DB  

Thema: Erstellung eigener Datenbanken auf Grundlage entwickelter Klassendiagramme und beispielhafter Datensätze.

      DB Einkauf  
      DB Bibliothek  
      DB Musik  
      DB Sportverein  
      DB Photo/ Filmarchiv

Die Tabellen anlegen und schrittweise erweitern, ergänzen, optimieren.

Aufgaben:
a) Erstellung eines Klassendiagramms mit den jeweiligen Attributen und den Beziehungen zwischen den Klassen zu einem der vorgeschlagenen Anwendungsfälle. 
b) Entwickle danach zu ALLEN folgenden Themen Klassendiagramme (auf Papier, ins Heft).  
c) Lege ZWEI Datenbanken an mit den benötigten Tabellen (in Microsoft Access) zu den Themen "Musik" und "Photo/ Filmarchiv".  
d) Erstellung der jeweiligen Tabellen in der Datenbank, Realisierung der Beziehungen. Dabei ist zu prüfen, ob referentielle Integrität gegeben ist. 
    Es müssen genügend viele Daten in die Tabelle eingegeben werden, um brauchbare Ergebnistabellen bei Abfragen zu erhalten. 
e) Überlegung, welche Benutzergruppen welche Rechte auf der Datenbank haben sollten.  
f) Erstellung von Abfragen mit SQL für eine Auswahl realitätsbezogener Fragestellungen an die Datenbank.  

Speichern großer Datenmengen in Datenbanken

Für die Verwaltung großer Mengen strukturierter Daten gibt es spezielle Werkzeuge, die Datenbankverwaltungssysteme (Datenbanksysteme)
Diese bieten Möglichkeiten, die Struktur der Daten auf eine Datenbank zu übertragen, die Daten in dieser Datenbank zu speichern und zu pflegen und die gespeicherten Daten vielfältig abzufragen und auszuwerten. 

Objektorientiertes Datenmodell 

Zur Analyse der benötigten Datenstruktur bewährt sich die objektorientierte Sichtweise. Das Erstellen des objektorientierten Datenmodells (Objektmodell) besteht in erster Linie aus den folgenden Schritten:  
Welche Objekte sind für die Aufgabenstellung wichtig? 
Zu welchen Klassen gehören diese Objekte?  
Welche aufgabenbezogenen Attribute haben diese Klassen?  
Welche Beziehungen bestehen zwischen den Klassen?  
Die Struktur der Daten lässt sich im Klassendiagramm übersichtlich darstellen. 
Im Pflichtenheft werden neben der Datenstruktur die Nutzungsmöglichkeiten der geplanten Datenbank festgehalten.  

Relationales Datenbanksystem

In relationalen Datenbanken werden die Daten in Form von Tabellen abgelegt. Das objektorientierte Datenmodell kann auf ein relationales Datenbankschema umgesetzt werden. Dabei werden den Klassen Tabellen zugeordnet, den Objekten Tabellenzeilen. Die Tabellenspalten entsprechen den Attributen der Klassen. In den Feldern eines Datensatzes (Tabellenzeile) stehen die Attributwerte eines Objekts. Der Wert NULL bedeutet "kein Wert eingegeben". 
Ein Schlüssel ist eine Spalte (eine Gruppe von Spalten), deren Wert jeweils einen Datensatz in der Tabelle eindeutig bestimmt (identifiziert). Muss eine neue Spalte zur eindeutigen Identifikation der Datensätze eingeführt werden, nennt man sie künstlichen Schlüssel

Datenbankabfragen

SQL  

Einfache Beziehungen zwischen Klassen

Das Resultat einer SQL-Abfrage ist eine Ergebnistabelle, die durch Selektion und Projektion festgelegt wird.
Zur Formulierung der Abfrage wird die Sprache SQL verwendet. Dort hat eine Abfrage den Aufbau: 
      SELECT <Spaltenliste> FROM <Tabellenliste> WHERE <Bedingung>
Eine Sortierung des Ergebnisses einer SQL-Abfrage wird durch den Zusatz ORDER BY festgelegt, die Sortierung ist normalerweise aufsteigend. Bei jeder Sortierspalte kann durch den Zusatz DESC eine absteigende Sortierung erreicht werden.  

Abfragen über mehrere Tabellen

Im Klassendiagramm werden Beziehungen beschrieben. 
Neben einem beschreibenden Kurztext der Beziehung wird ihre Kardinalität angegeben. 
Im relationalen Datenbankschema:
Bei einer 1:n-Beziehung bekommen die Datensätze auf der "n"-Seite eine zusätzliche Spalte (Fremdschlüssel), in dieser wird der Schlüssel des Datensatzes der "1"-Seite gespeichert, mit dem sie in Beziehung stehen.

Anfragen an mehrere Tabellen: kartesisches Produkt  

Mehr Beziehungen zwischen Klassen

Eine Beziehungstabelle muss für jede n:m-Beziehung erfasst werden und nimmt die Schlüssel der zueinander in Beziehung stehenden Datensätze als Fremdschlüssel auf. Der Schlüssel für diese Tabelle ist das Paar der beiden Fremdschlüssel. 
Abfragen bei n:m-Beziehungen müssen drei Tabellen verknüpfen!

SQL-Abfragen - GROUP BY, ORDER BY

Aggregatfunktionen COUNT, AVG, SUM, MAX oder MIN
... AS <Name> | Namen für die Spalten der Ergebnistabelle 
GROUP BY | Gruppieren der Ergebnisse einer Abfrage nach bestimmten Spalten, insbesondere für die Anwendung der Aggregatfunktionen. Bedingungen an diese Gruppen werden mit HAVING festgelegt.

Die erweiterte Abfrageanweisung lautet:
      SELECT <Spaltenliste>  
            FROM <Tabellenliste> 
            WHERE <Bedingung> 
            GROUP BY <Spalte> 
            HAVING <Bedingung> 
            ORDER BY <Spaltenliste> 

Ergebnisse von Unterabfragen können im WHERE-Teil für Bedingungen verwendet werden. 
Ergebnisse von Abfragen können als Mengen interpretiert werden; der "Enthalten"-Operator wird als IN geschrieben.  

Datenbanken - komplett und gut entworfen (Qualitätsbetrachtung)

Betrachtung exemplarischer Datenbanken
      DB Einkauf  
      DB Bibliothek  
      DB Musik  
      DB Sportverein  
      DB Photo/ Filmarchiv

Verändern von Datensätzen | INSERT, UPDATE, DELETE  

Datenpflege
SQL-Anweisungen INSERTUPDATE und DELETE (EinfügenÄndern und Löschen von Datensätzen)

Datenkonsistenz

Referenzielle Integrität: für jeden Fremdschlüsselwert existiert auch ein Datensatz mit diesem Schlüsselwert. > Angabe von Fremdschlüsselbedingungen können dies sicherstellen. 
Fremdschlüssel löschen oder ändern:
- Beim Versuch, einen referenzierten Schlüssel zu löschen, kann das Datenbanksystem die Löschung verbieten, den referenzierenden Datensatz ebenfalls löschen oder den referenzierenden Fremdschlüssel auf den Wert NULL setzen. 
- Beim Ändern eines referenzierten Schlüssels kann das Datenbanksystem die Änderung verbieten oder alle Referenzen mit ändern.

Datensicherheit und Datenschutz

Datenschutz

Datensicherheit 

Normalformen

1. Normalform: Eine Tabelle enthält ausschließlich atomare (einelementige) Feldwerte.
Definition: Ein Attribut Y ist von einem Attribut X abhängig, wenn der Wert von X den Wert von Y festlegt.  

2. Normalform: Zusätzlich zur 1. Normalform muss gelten:
Jedes Nicht-Schlüsselattribut muss vom gesamten Schlüssel abhängen.  
Anmerkung: Besteht der Schlüssel nur aus einer Spalte, ist die Tabelle immer in der zweiten Normalform.  

3. Normalform: Zusätzlich zur 2. Normalform muss gelten: 
Attribute sind nur vom Schlüssel, nicht voneinander abhängig.  

Anwendungsbeispiele DB - Analyse

Analyse konkreter Datenbanken.

Quelle u.a: vgl. Brichzin, u.a. (Hg), "Informatik I. Funktionale Modellierung. Datenmodellierung", Oldenburg-Verlag 

Selbsttest s Multimedia 

Anmerkung: Die Programme GIMP, Inkscape, Blender, Audacity, 'Video-Pad Basis', 'Vectorian Giotto' oder 'Libre Office Impress' sind als Freeware oder OpenSource frei erhältlich.

Computergrafik

  • Grundlegende theoretische Kenntnisse zum Thema Computergrafik
  • Eigene Gestaltung in Variationen mit GIMP
  • Pixelbilder erzeugen, bearbeiten, speichern und exportieren
  • Eigene Gestaltung in Variationen mit Inkscape 
  • Vektorgrafiken erzeugen, bearbeiten, speichern und exportieren

Computeranimation

  • Grundlegende theoretische Kenntnisse zum Thema Computeranimation
  • Bilder für Animationen planen und erstellen
  • Bildanimation mit dem Programm GIMP
  • Schlüsselbildanimation mit Blender (3D) (oder mit Vectorian Giotto)  
  • Dateiformate (Gif-Animation vs. Filmdateien)

Audio und Video

  • Grundlegende theoretische Kenntnisse zum Thema Audio und Video
  • Umgang mit einem Audiobearbeitungsprogramm: Audacity
  • Aufnehmen, Bearbeiten, Exportieren
  • Speichern und exportieren (Dateiformate)
  • Umgang mit einem Videobearbeitungsprogramm: VideoPad-Basis 
  • Medien importieren, Clips schneiden, Titel einblenden
  • Filter
  • Speichern und exportieren (Dateiformate)

Multimedia

  • Grundlegende theoretische Kenntnisse zum Thema Multimedia
  • Erweiterter Umgang mit einem Präsentationswerkzeug (z. B. PowerPoint, Impress)
  • Multimediainhalte in eine Präsentation integrieren
  • Ein Multimediaprodukt speichern, exportieren und versenden

Referate python mit py computer science circles (Uni Waterloo) | Vorbereitung für Objektorientierte Programmierung  

Es gibt hier 18 gut verständliche Kapitel zur Objektorientierten Programmierung mit Python.

Referat eines der Kapitel: 
Vortrag auf deutsch mit Verwendung cscircles.cemc.uwaterloo.ca/de
Präsentation in englisch cscircles.cemc.uwaterloo.ca   
Übungen mit Codierung direkt ausführen und kommentieren.


 

Informatik 09 Grundwissen Funktionale Modellierung

Zellbezug
z. B.  A4:   A ist der Spaltenbezeichner, 4 ist die Zeilennummer 
relativer Zellbezug
Beim  Kopieren  von  Zellen,  die  Formeln  enthalten,  werden  die Zellbezüge  in  der Zielzelle entsprechend angepasst.   z. B. A4
absoluter Zellbezug
Soll  beim  Kopieren  einer  Zelle  mit  Formel  ein  Zellbezug  gleich  bleiben, verwendet  man  absolute  Zellbezüge.  Dazu  muss  man  der  Zeilennummer und/oder dem Spaltenbezeichner ein $-Zeichen voran stellen.   z. B. $A$4, $A4, A$4
iterative Berechnungen
Verwendet  man  das  Ergebnis  einer  Formel  in  der  jeweils  nachfolgenden Formel, spricht man von iterativen Berechnungen.
Datentypen
Tabellenkalkulationen  arbeiten  intern nur mit  Zahlen und  Texten,  können aber über die Zellformatierung viele weitere Datentypen darstellen: Zahl, Prozent, Währung, Datum, Zeit, Bruch, Wahrheitswert, Text. 
Funktionen
Eindeutige  Zuordnungen  heißen  Funktionen.  Sie  ordnen  jedem  Argument höchstens einen Funktionswert zu.
 Datenflussdiagramme
eva prinzip
Schreibweisen von zweistelligen Funktionen
Präfixschreibweise:   Der Funktionsbezeichner wird vor den beiden Parametern geschrieben.  z. B. SUMME(3;4) 
Infixschreibweise:     Der Funktionsbezeichner wird zwischen den beiden Parametern geschrieben.   z. B. 3+4
Verkettung von Funktionen
Funktionen  werden verkettet,  indem  man  den  Wert  einer  Funktion  einer weiteren Funktion als Argument übergibt. z. B.:
verkettung
Umwandlung des Datenflussdiagramms in einen Term:  Höhe = POTENZ(Geschwindigkeit, 2) / PRODUKT(2, Ortsfaktor)
Wenn-Funktion | Bedingte Terme
Eine Funktion kann,  abhängig von Bedingungen,  unterschiedliche Ergebnisse liefern:

WENN(Bedingung, Term1, Term2)

Term1  wird  ausgeführt,  wenn  die  Bedingung  den  Wahrheitswert  WAHR liefert, sonst wird Term2 ausgeführt.
Logische Funktionen | UND ODER NICHT  
Man  verwendet  die UND-Funktion  zur  Verknüpfung mehrerer  Aussagen. Sie liefert den Wert WAHR, wenn alle Argumente WAHR sind.
Man  verwendet  die ODER-Funktion  zur  Verknüpfung  mehrerer  Aussagen. Sie  liefert  den  Wert  WAHR,  wenn  mindestens  eines  der  Argumente  den Wert WAHR hat.
Die Funktion NICHT kehrt den Wert einer logischen Aussage um.

 

Informatik 09 Grundwissen Datenmodellierung

Datenbanksystem 
Ein  Datenbanksystem (DBS) ist eine systematische und strukturierte Zusammenfassung von Daten eines Problembereichs (Datenbasis) einschließlich  der  zur Eingabe,  Verwaltung,  Auswertung  und  Ausgabe erforderlichen Software (Datenbankmanagementsystem, DBMS):  
DBS = Datenbasis + DBMS
Schema
Jede Tabelle wird durch ein Schema charakterisiert:
  • Name der Tabelle
  • Liste der Attribute (Spaltenliste)
  • Datentypen der jeweiligen Attribute
Darstellung eines Schemas: TABELLE(Attribut_1: Datentyp_1, Attribut_2: Datentyp_2, ...)
Datentypen
Datentypen in einer MySQL-Datenbank:  z.B. für Buchstaben char (=Character = Buchstabe) sowie für Texte das Format varchar (= Character-Attribut mit vaiabler Länge). Für Zahlen finden wir integer (=Ganzzahl), float (=Gleitkommazahlen), für Zeitangaben z.B. date und time...
SQL-Abfrage
Das Ergebnis jeder Abfrage ist immer eine Tabelle, auch wenn das Ergebnis nur aus einem Datensatz mit einem Attribut besteht. Mit folgender Abfrage können wir uns den kompletten Inhalt einer Tabelle ausgeben lassen:
SELECT *FROM Tabellenname;
Selektion
Bei der Selektion werden die Datensätze einer Tabelle, die die angegebene Bedingung erfüllen, in einer neuen Tabelle ausgegeben:
SELECT*FROM Tabellenname WHERE Bedingung;
Projektion
Bei der Projektion werden von allen Datensätzen die angegebenen Spalten 
ausgegeben.
SELECT Spalte_1 [, Spalte_2, ..., Spalte_n] FROM Tabelle;
Aggregatsfunktionen
  • COUNT(*)
  • MAX(...)
  • MIN(...)
  • SUM(...)
  • AVG(...)
Möchte man neben demerhalten Wert noch weitere Attribute ausgeben, so muss man mit GROUP BY gruppieren!
Komplexere SQL-Abfrage

Komplexere SQL - Abfrage
Schlüssel
Der (Primär-) Schlüssel setzt sich aus einer (minimalen) Menge von Attributen zusammen, deren Wert  jeweils einen Datensatz  in  der  Tabelle eindeutig identifiziert. Muss eine neue Spalte zur eindeutigen Identifikation der Datensätze eingeführt werden, nennt man sie künstlichen Schlüssel (z. B. fortlaufende Nummerierung). 
Im Tabellenschema wird der Schlüssel unterstrichen.
Redundanz und Konsistenz
Unter Redundanz versteht  man  die  (überflüssige)  Mehrfachspeicherung von  Daten. Beim  Einfügen  oder  Ändern  von  Datensätzen  können  hierbei Probleme und Fehler, sogenannte Anomalien, auftreten:  UPDATE-/DELETE-/INSERT-Anomalie.
Ist  die  Datenbank ohne Widersprüche, so ist sie konsistent, enthält sie Unstimmigkeiten, so ist sie inkonsistent.
Datenmodellierung
Objekte mit gleichen Attributen legen eine Klasse fest. Die Attribute werden in einer Klassenkarte aufgelistet. Klassendiagramme zeigen, welche Beziehungen die Objekte der betrachteten Klassen eingehen können. Die Beziehungen zwischen Klassen werden durch Verbindungslinien dargestellt. Man unterscheidet dabei drei Beziehungsarten:  1:1/1:n/n:m-Beziehung 
Klassendiagramme umfassen somit:
  • alle Klassen mit ihren Attributlisten –jeweils als Klassenkarte dargestellt
  • alle Beziehungslinien mit den zugehörigen Kardinalitäten  und Beziehungsnamen.

Bsp.:

Klassendiagramm

Quelle Bild: http://www.peter-junglas.de/fh/vorlesungen/praktinfWI1/html/kap5-5.html

n:m-Beziehungen und 1:n-Beziehungen:
Für jede n:m-Beziehung wird eine Beziehungstabelle festgelegt. Diese enthält die Primärschlüssel der beiden Tabellen. Diese werden als Fremdschlüssel bezeichnet. Der Primärschlüssel dieser Beziehungstabelle sind alle Fremdschlüssel. 
1:n-Beziehungen: Bei einer 1:n-Beziehung  ist  eine  Beziehungstabelle nicht notwendig. Es wird  die Tabelle der Klasse mit der Kardinalität n um den Primärschlüssel der Klasse mit der Kardinalität 1 erweitert.  Dieser wird als Fremdschlüssel eingefügt.
1:1-Beziehungen: Bei einer 1:1-Beziehung ist auch keine Beziehungstabelle notwendig. Es wird die Tabelle einer beliebigen Klasse um den Primärschlüssel der   anderen Klasse erweitert.  Dieser wird  als Fremdschlüsseleingefügt. Fremdschlüssel werden gestrichelt unterstrichen.
Kreuzprodukt
Das  Kreuzprodukt  (kartesisches  Produkt)  TABELLE1  x  TABELLE2  bildet  aus zwei  Tabellen  eine  neue  Tabelle,  die  jeden  Datensatz  der  ersten  Tabelle mit jedem Datensatz der zweiten Tabelle verknüpft:
SELECT * FROM Tabelle_1, Tabelle_2;
Join
Eine  Hintereinanderausführung  von  Kreuzprodukt  und  Selektion  nennt sich Join. Nur die Zeilen des Kreuzproduktes, bei denen der Wert der Fremdschlüsselattribute mit den zugehörigen Werten der Primärschlüsselattribute übereinstimmen, enthalten die Daten der korrekten Beziehungspartner.  Diese werden mit der anschließenden Selektion gefiltert.
SELECT * FROM Tabelle_1 t1, Tabelle_2 t2 WHERE t1.Attribut = t2.Attribut;
Quelle: angelehnt an: http://www.mgf-kulmbach.de/neu/images/medien/unterrichtsfaecher/Informatik/grundwissen/inf9-grundwissen.pdf

 

 

s Tipps | Informatik  

Programmiere ein eigenes Informatik-Projekt! Bei Fragen, die du trotz eigenem Ausprobieren bzw. Nachlesen alleine nicht klären kannst, wendest du dich an mich. 

Sonnja Genia Riedl

 

Document Actions