Datenbanksysteme I Inhalt

Werbung
Datenbanksysteme I
„
Dipl.-Inf. , Dipl.-Ing. (FH) Michael Wilhelm
„
Hochschule Harz
„
FB Automatisierung und Informatik
„
[email protected]
„
Raum 2.202
„
Tel. 03943 / 659 338
FB Automatisierung und Informatik: Datenbanksysteme I
1
Inhalt
1. Grundlegende Begriffe der Datenbanktechnologie
2. Datenbankentwurf / Datenmodelle
3. ER-Modell / ER-Diagramm
4. SQL-Sprache
5. Normalisierung
FB Automatisierung und Informatik: Datenbanksysteme I
2
1
Grundlagen der DBMS
SQL- Grundlagen
FB Automatisierung und Informatik: Datenbanksysteme I
3
Informationsspeicherung und Oracle
„
„
Jede Behörde, jede Bildungseinrichtung und jedes
Unternehmen hat einen gewissen Informationsbedarf
Informationen werden in DB erfasst und mittels
DBMS verwaltet
–
–
„
DB: organisierte Sammlung von Daten
DBMS: Managementsystem für die Daten
Oracle ist ein DBMS (Oracle 7 ein relationales, Oracle
8 ein objekt-relationales)
–
ein DBMS ist ein Programm, um Daten auf Anforderung in
der DB zu speichern, daraus abzurufen und zu bearbeiten
FB Automatisierung und Informatik: Datenbanksysteme I
4
2
Oracle relational
„
„
Auf der Basis des Codd‘schen Modelles (relationales Modell)
Definition gemäß Oracle-Handbuch
–
–
–
–
Ansammlung von Objekten oder Relationen
Reihe von Operatoren, die auf die Relationen angewendet werden
können
Datenintegrität für Genauigkeit und Konsistenz
kurz:
„
„
„eine relationale Datenbank ist eine Reihe von Relationen oder
zweidimensionalen Tabellen“
Beispiel: Mitarbeiterdatenbank, die in verschiedenen Tabellen
unterschiedliche Informationen über die Mitarbeiter speichern:
–
–
–
Mitarbeitertabelle
Abteilungstabelle
Gehaltstabelle
FB Automatisierung und Informatik: Datenbanksysteme I
5
Datenmodelle
„
Datenmodelle werden zu folgenden Zwecken
verwendet:
–
–
–
–
–
–
–
–
kommunizieren
kategorisieren
beschreiben
spezifizieren
untersuchen
entwickeln
analysieren
imitieren
FB Automatisierung und Informatik: Datenbanksysteme I
6
3
ER-Modell
„
„
„
„
In einem effizienten System sind Daten in bestimmte
Kategorien (oder entities) unterteilt.
Ein ER-Modell ist eine Darstellung verschiedener entities
innerhalb eines Unternehmens und den Beschreibungen
zwischen diesen
ein ER-Modell wird aus Unternehmensspezifikationen oder
Schilderungen abgeleitet und in der Analysephase des
Systementwicklungszyklus erstellt
ER-Modelle trennen die für ein Unternehmen
erforderlichen Informationen von den in diesem
Unternehmen ausgeführten Aktivitäten - auch wenn sich
Aktivitäten ändern, bleiben Art und Struktur der
Informationen weitgehend konstant
FB Automatisierung und Informatik: Datenbanksysteme I
7
ER-Modell und Oracle
„
„
„
Oracle unterstützt die ER-Modellierung (Designer)
Krähenfuß-Notation
es nutzt dabei die folgende Notation (hier m : 1-Beziehung):
FB Automatisierung und Informatik: Datenbanksysteme I
8
4
ER-Modell
„
„
Unique identifier: beliebige Kombination von Attributen oder
Beziehungen (oder beide), die dazu dienen, das Vorkommen
(die Existenz) einer Entität zu unterscheiden. Jede Entität muss
eindeutig identifizierbar sein!
Jedes Attribut, das Teil der UID ist, wird mit einem
Nummernzeichen gekennzeichnet: #
Fachbereich
# Nummer
* Name
° Standort
* = „zwingend“
° = „optional“
FB Automatisierung und Informatik: Datenbanksysteme I
9
Terminologie
„
„
„
„
„
„
„
„
Zeile oder Tupel
Spalte oder Attribut, die/das den Primärschlüssel darstellt
Spalte(n) oder Attribut(e), die keine Primärschlüssel darstellen
Spalte oder Attribut, das ggf. als Fremdschlüssel fungiert
Feld: „Schnittstelle“ zwischen Zeile und Spalte
jede Tabelle enthält Daten, die genau eine Entität beschrieben
Verknüpfung von Tabellen über Fremdschlüssel (= Spalte oder
Gruppe von Spalten, die auf einen Primärschlüssel in derselben
oder in einer anderen Tabelle verweisen)
diese Terminologie deckt sich mit den Inhalten der Vorlesungsstunde
zum relationalen Modell
FB Automatisierung und Informatik: Datenbanksysteme I
10
5
Oracle Eigenschaften
„
„
„
„
„
„
Bietet Zugriffs- und Bearbeitungsmöglichkeiten durch
Ausführung von SQL-Anweisungen
enthält eine Ansammlung von Tabellen ohne physikalische
Zeiger
verwendet eine Reihe von Operatoren
diese Terminologie deckt sich mit den Inhalten der
Vorlesungsstunde zum relationalen Modell
der Anwender muss nicht den Zugriffspfad zu Tabellen kennen;
er muss auch nicht wissen, wie die Daten physikalisch
angeordnet sind
um auf die Datenbank zuzugreifen, führt der Anwender eine
SQL-Anweisung aus
–
–
SQL ist ein Standard des ANSI (American National Standards
Institute)
SQL enthält viele Operatoren zum Partitionieren und Kombinieren
von Relationen und zur Modifikation der Datenbank
FB Automatisierung und Informatik: Datenbanksysteme I
11
Kommunikation mit dem RDBMS über SQL
SQL> SELECT loc
2 FROM dept;
Anweisung geht an Datenbank
Datenbank
LOC
------------------NEW YORK
RIO
TOKYO
Daten werden angezeigt
FB Automatisierung und Informatik: Datenbanksysteme I
12
6
Oracle RDBMS
Server
Tabelle A
Data
Dictionary
Tabelle B
Tabelle C
FB Automatisierung und Informatik: Datenbanksysteme I
13
Oracle Eigenschaften
„
„
„
„
„
„
„
„
Relationales Datenbank Managementsystem (RDBMS)
SQL
PL/SQL
Speicherung von Programmeinheiten
Sicherheitsfunktionen, die Zugriff und Verwendung der Daten
steuern
Funktionen zur Gewährleistung der Konsistenz
Datenschutzfunktionen
Oracle-Anwendungen
–
–
–
auf demselben Rechner wie der Oracle Server
alternativ: Benutzer nutzt lokales System; Oracle Server auf remote
system (Client/Server)
Vorteil der Alternative: es kann auf große Rechnerressourcen
zurückgegriffen werden (Bsp.: Fluggesellschaft-Buchungssystem;
Client: Rechner im Reisebüro; Server (remote) verwaltet
Flugdaten)
FB Automatisierung und Informatik: Datenbanksysteme I
14
7
„
„
„
„
„
Internet-Plattform
High Performance Plattform für E-commerce und data
warehousing
beinhaltet alle Funktionalitäten, die zur Entwicklung, dem
Einsatz und der Verwaltung von Internet-Anwendungen benötigt
werden
Entwicklungswerkzeuge mit GUI zur Erstellung von
Geschäftsanwendungen einschl. umfangreichen Paketes an
Software-Anwendungen für viele Geschäfts- und
Industriebereiche
Prozeduren können unter SQL, PL/SQL und
besteht aus drei Modulen:
–
–
–
Oracle
Eigenschaften
„
Browser-basierte Clients zur Verarbeitung der Präsentation
(Anzeige)
Anwendungs-Server zur Ausführung der Unternehmenslogik und
Bereitstellung von Präsentationslogik an die Browser-basierten
Clients
Datenbanken zur Ausführung von Datenbank-intensiver
Unternehmenslogik und Datenbereitstellung
FB Automatisierung und Informatik: Datenbanksysteme I
„
Datenabruf
„
Data Manipulation Language (DML)
–
–
–
–
„
–
–
–
–
CREATE
ALTER
DROP
RENAME
TRUNCATE
Transaktionssteuerung
–
–
–
„
INSERT
UPDATE
DELETE
SQLAnweisungen
Data Definition Language (DDL)
–
„
SELECT
15
COMMIT
ROLLBACK
SAVEPOINT
Data Control Language (DCL)
–
–
GRANT
REVOKE
FB Automatisierung und Informatik: Datenbanksysteme I
16
8
SQL
„
„
Oracle SQL entspricht Industriestandards
Oracle Corporation garantiert weitere Übereinstimmung
mit neu entwickelten Standards durch die aktive
Teilnahme seines Personals an SQLStandardisierungskommitees
– ANSI (American Standards Institute)
– International Standards Organization (ISO)
– (beide haben SQL als Standardsprache für
Datenbanken akzeptiert)
FB Automatisierung und Informatik: Datenbanksysteme I
17
Oracle/SQL-Operationen
„
Tabellen erstellen
„
Daten einfügen
„
Daten abrufen
„
Daten bearbeiten
„
Tabellen ändern
FB Automatisierung und Informatik: Datenbanksysteme I
18
9
Oracle/SQL-Grundfunktionalität
FB Automatisierung und Informatik: Datenbanksysteme I
19
Oracle: Beispieltabellen
„
„
„
„
EMPLOYEES
– Daten aller Mitarbeiter einer Firma
DEPARTMENTS
– Daten über die Abteilungen der Firma
LOCATIONS
– Adressen
JOB_GRADES
–
Gehaltsangaben
Grundlage der SQL-Übungen:
„ ORACLE-Beispieltabellen (s.o.)
„ ORACLE: Professioneller Einstieg in Oracle SQL (Teil I SQL
Grundlagen, Band 1) 2001/2002
FB Automatisierung und Informatik: Datenbanksysteme I
20
10
DBMS: Sprachen, SQL
oder: wie arbeitet man mit Datenbanken?
FB Automatisierung und Informatik: Datenbanksysteme I
21
Datenbanksprachen
„
Storage Structure Language (SSL)
Dateiorganisation (Systemadministrator)
„
Data Definition Language (DDL)
„
View Definition Language (VDL)
„
Interactive Query Language (IQL) oder Data Manipulation
Language (DML)
„
Data Base Programming Language (DBPL)
„
Schnittstellen der Anwendungen (Menüs, Masken usw.)
Schema erzeugen (Datenbankadministrator (DBA))
Sichten erzeugen (Anwendungsadministrator)
Daten abfragen und editieren (ausgebildete Endanwender)
Anwendungen erstellen (Programmierer)
Daten abfragen und editieren (Endanwender ohne DB-Kenntnisse)
FB Automatisierung und Informatik: Datenbanksysteme I
22
11
Structured Query Language (SQL)
„
„
„
SQL wird von den meisten relationalen DBMS
unterstützt (Oracle, Dbase, Microsoft Access,
MySQL, SQL Server, etc.)
gewinnt für Client/Server Anwendungen zunehmend
an Bedeutung
vom ANSI (American National Standard Institute)
entwickelt und als Standardsprache für relationale
DBMS erklärt
–
ABER: viele DBS-Hersteller haben den Sprachumfang von
SQL für ihre eigenen Systeme erweitert
„
„
es gibt also ANSI-SQL
und Systemhersteller-spezifische Erweiterungen/Modifikationen
von SQL
FB Automatisierung und Informatik: Datenbanksysteme I
23
Structured Query Language (SQL)
„
Relationales Modell
„
deklarativ (spezifizieren, was man sucht, nicht wie es gesucht
werden soll)
„
Datenbankschema muss bekannt sein
„
Standard (z. B. SQL2 von 1992, gegenwärtig: SQL3 von 1999)
„
Weiterentwicklung
– SQL3 (Objektorientierung)
– GeoSQL (Geoobjekte, Geometrie und Topologie)
FB Automatisierung und Informatik: Datenbanksysteme I
24
12
SQL-Beispiel
select NAME, VORNAME
from MITARBEITER
where GEHALT > 3000
selektiert die Spalten NAME und VORNAME
aus der Tabelle MITARBEITER
für die Mitarbeiter, deren Gehalt höher ist als 3000 (€
brutto im Monat)
FB Automatisierung und Informatik: Datenbanksysteme I
25
andere Sprachen...
„
QUEL (QUEry Language, Ingres)
hat gegen SQL „verloren“
„
QBE (Query by Example)
Beispieleinträge in Tabellengerüsten
„
Access
ähnlich wie QBE
„
OO Systeme: kein einheitlicher Sprachstandard
FB Automatisierung und Informatik: Datenbanksysteme I
26
13
Kommandoeingabe
„
graphische Oberfläche (Befehle werden automatisch
erzeugt), besser als ein reiner Kommandoeditor
„
Kommandos als Text eingeben
„
DB-Anwendung: Nutzer wendet SQL an, ohne dies
explizit zu wissen...
FB Automatisierung und Informatik: Datenbanksysteme I
27
SQL
„
Tabellen
–
–
–
–
–
–
„
erzeugen
mit Daten füllen
indizieren
“updaten”
abfragen
...
und in Tabellen
–
–
–
–
für Konsistenz sorgen
für Vollständigkeit sorgen
für Aktualität sorgen
...
FB Automatisierung und Informatik: Datenbanksysteme I
28
14
Begriffe
„
Data dictionary
„
DDL
„
DML
„
Index
„
Integrity constraints
„
table
„
trigger
„
view
„
role
FB Automatisierung und Informatik: Datenbanksysteme I
29
Data dictionary
„
Enthält alle Informationen über die Art und Weise der
Speicherung der Daten, über die Lokalisierung der Daten und
über Zugangsbedingungen/-berechtigungen
„
„tables about tables“
„
Metadaten
FB Automatisierung und Informatik: Datenbanksysteme I
30
15
DDL
„
Data Definition Language
–
–
–
–
SQL
create, revoke, grant, drop
SQL statements, die Einsatz finden, um eine Tabelle zu erzeugen,
oder zu löschen
SQL statements, die Zugangsberechtigungen regeln
FB Automatisierung und Informatik: Datenbanksysteme I
31
DML
„
Data Manipulation Language
„
select, insert, delete, update
„
SQL statements, die mit der Manipulation der Datenbank zu tun
haben
FB Automatisierung und Informatik: Datenbanksysteme I
32
16
Index
„
Eine Art „Kopie“ einer Oracle-Tabelle, die in einer sortierten
Form vorgehalten wird
„
Indizes erlauben den schnellen, gezielten Zugriff auf Daten in
Tabellen
„
Vergleich: das Inhaltsverzeichnis eines Buches; Telefonbuch; ...
FB Automatisierung und Informatik: Datenbanksysteme I
33
Integrity constraints
„
Regeln, die die „Integrität“ der Datenbank sichern. Unter
„Integrität“ werden DB-Eigenschaften wie Vollständigkeit,
logische Konsistenz, Einhaltung von Wertebereichen, etc.
verstanden
„
Beispiel: in einer Kunden-DB MUSS eine Kunde eine ID haben,
sonst liefert das DBMS eine Fehlermeldung; hinter dieser
Fehlermeldung verbirgt sich eine entsprechend implementierte
Regel.
FB Automatisierung und Informatik: Datenbanksysteme I
34
17
table
„
Zentraler Bestandteil jedes relationalen DBMS: die Tabelle (“a
database object that holds your data”)
„
Informationen über die Tabellen werden im Oracle data
dictionary vorgehalten
„
unter Nutzung der Informationen im data dictionary wird das
Management der in den Tabellen gespeicherten Daten möglich
„
Basis: das relationale Modell! Entwurf: über das konzeptionelle
Datenmodell, z. B. mit ER-Diagrammen!
FB Automatisierung und Informatik: Datenbanksysteme I
35
trigger
„
Trigger sind Programme, die Bestandteil der Datenbank sind
„
diese Programme werden bei Eintritt bestimmter „events“
getriggert („angestoßen“, sie „feuern“)
„
Beispiel: das Einfügen einer neuen Zeile in einer Tabelle kann
ein „event“ sein, das die Auslösung eines triggers zur Folge hat,
der z. B. Bedingungen prüft, unter denen eine neue Zeile
eingefügt werden darf
FB Automatisierung und Informatik: Datenbanksysteme I
36
18
view
„
Views ermöglichen die Sicht eines DBMS-Nutzers auf eine oder
mehrere Tabellen einer Datenbank
„
views werden mit SQL-Skripten generiert, die in der DB
gespeichert wird
„
wenn auf einen view zugegriffen wird, wird das SQL statement
ausgeführt; die Ergebnisse des statements werden dem Nutzer
angezeigt
FB Automatisierung und Informatik: Datenbanksysteme I
37
role
„
Eine Rolle beschreibt mehrere Privilegien eines Nutzers
„
Privilegen werden einer Rolle zugeordnet:
–
„Once privileges are granted to a role, a user inherits the role‘s
privileges by becoming a membr of that role“
FB Automatisierung und Informatik: Datenbanksysteme I
38
19
Tabellen
„
„
„every piece of information that gets loaded into an Oracle
database must be placed inside an Oracle table“
zu unterscheiden:
–
–
„
tables: alle Tabellen zur Speicherung der Informationen
data dictionary tables: alle Tabellen, die Informationen über die
sonstigen Oracle Tabellen enthalten („tables about tables“)
Tabellen: Zeilen, Spalten
–
–
Zeilen: Identifkator MUSS eindeutig sein; hat einen Typ (z. B.
varchar2, date, number)
Oracle ermöglicht die Zuordnung von integrity rules und triggers zu
Tabellen
FB Automatisierung und Informatik: Datenbanksysteme I
39
Tabellen erzeugen
„
Create
SQL>
CREATE TABLE students
Student_ID
INTEGER
PRIMARY KEY
Student_name
VARCHAR2 (25)
Student_subject VARCHAR2 (30)
SQL> /
FB Automatisierung und Informatik: Datenbanksysteme I
40
20
Tabellen aus existierenden Tabellen erzeugen (1)
„
Create table as
SQL>
CREATE TABLE mass_newhire
2
AS select *
3
from newhire
4*
where state_cd = 'MA'
SQL> /
Table created
FB Automatisierung und Informatik: Datenbanksysteme I
41
Tabellen aus existierenden Tabellen erzeugen (2)
„
Die Originaltabelle
SQL>
select * from newhire;
LNAME
--------tom
dick
harry
lisa
alastair
ST
-MA
NJ
NJ
MA
TX
HIRE_DATE SALARY
--------- -----15-AUG-01 20000
02-FEB-01 30000
19-MAY-01 35000
08-MAY-01 55000
12-DEC-01 60000
FB Automatisierung und Informatik: Datenbanksysteme I
42
21
Tabellen aus existierenden Tabellen erzeugen (3)
„
Die kopierte Tabelle
SQL>
select * from mass_newhire;
LNAME
--------tom
lisa
ST
-MA
MA
SQL>
2
3
4*
SQL> /
HIRE_DATE SALARY
--------- -----15-AUG-01 20000
08-MAY-01 55000
CREATE TABLE mass_newhire
AS select *
from newhire
where state_cd = 'MA'
FB Automatisierung und Informatik: Datenbanksysteme I
43
Index
„
„
Effiziente Suche nach Informationen in komplexen
Datenbanken, die aus einer Vielzahl von Tabellen aufgebaut
sind
Beispiel:
–
–
–
–
Tabelle „ALPHABET“ mit 26 Spalten (A - Z) mit 800000 Zeilen
Es wird ein Index auf die ersten 3 Spalten (ABC) gesetzt
Name des Index: ABC
Aufgabe: „Finde alle Zeilen, in denen in der Spalte A das Wort
„Soup“ steht
FB Automatisierung und Informatik: Datenbanksysteme I
44
22
Index
„
„
Effiziente Suche nach Informationen in komplexen
Datenbanken, die aus einer Vielzahl von Tabellen aufgebaut
sind
Beispiel:
–
Tabelle „ALPHABET“ mit 26 Spalten (A - Z) mit 800000 Zeilen
Es wird ein Index auf die ersten 3 Spalten (ABC) gesetzt
Name des Index: ABC
Aufgabe: „Finde alle Zeilen, in denen in der Spalte A das Wort
„Soup“ steht
1. Möglichkeit
–
2. Möglichkeit
–
–
–
–
„
„
gesamte Tabelle durchsuchen, alle Zeilen, alle Spalten
nur die „interessierenden“ Spalten durchsuchen, oder vorhandene
Indizes, z. B. ABC:
–
–
800000 Zeilen über 26 Spalten prüfen O D E R
800000 Zeilen nur über die Spalten A, B und C prüfen
FB Automatisierung und Informatik: Datenbanksysteme I
45
Primärschlüssel (primary key)
„
„
Jede Tabelle sollte einen Primärschlüssel aufweisen; dies
gewährleistet die eindeutige Identifizierbarkeit von
Tabellenattributen (bzw. die Vermeidung von redundanten
Attributen, da ein Attribut nur einen Primärschlüssel haben
kann)
Beispiel: Kundendatei
–
–
–
Attribute: Kunde_ID, Kunde_Vorname, Kunde_Nachname,
Kunden_Straße, Kunde_Stadt, Kunde_Telefon
Jeder Kunde hat eine eindeutige Identifikationsnummer
(Kunde_ID); Kunde_ID ist eindeutig und kommt nur einmal in der
Tabelle vor: dieses Attribut ist als Primärschlüsselattribut geeignet
Vorname, Nachname, Straße, etc. sind denkbar ungeeignet, da sie
redundant in der Kundendatei vorkommen können und daher nicht
mehr Eindeutigkeit gewährleistet ist
FB Automatisierung und Informatik: Datenbanksysteme I
46
23
Oracle/SQL-Aufbau
SELECT [DISTINCT|ALL] {*, column [alias], expr …}
FROM table, …
[WHERE condition(s)]
[GROUP BY expr [, expr] …]
[HAVING condition(s)]
[ORDER BY {column, expr, alias} [ASC|DESC]];
FB Automatisierung und Informatik: Datenbanksysteme I
47
Oracle/SQL-Syntax
SELECT
DISTINCT
*
column
alias
expr
FROM table
WHERE
GROUP BY
HAVING
ORDER BY
ASC:
DESC:
Liste mit einer oder mehreren Spalten
Schlüsselwort, um vorkommende Zeilen auszuschließen
Auswahl aller Spalten aller in der FROM-Klausel
aufgeführten Tabellen, Views oder Snapshots
Auswahl der benannten Spalte
Ausgewählte Spalten erhalten andere Überschriften
Zeichenkette oder errechneter Ausdruck
Schlüsselwort zur Angabe der Tabelle, View, oder des
Snapshot mit den Spalten
Klausel zur Einschränkung der auszuwählenden Zeilen
entsprechend einer Bedingung
zur Gruppierung ausgewählter Zeilen und zur
Rückgabe einer zusammenfassenden Zeile
gibt an, welche durch die GROUP-BY-Klausel definierten
Zeilengruppen von der Abfrage zurückgegeben werden
Reihenfolge zur Anzeige der abgerufenen Zeilen.
aufsteigend (Standard),
absteigend
FB Automatisierung und Informatik: Datenbanksysteme I
48
24
Oracle/SQL-Syntax
Folgende einfache Regeln und Richtlinien müssen einhalten
werden, damit gültige Anweisungen konstruiert werden, die leicht
lesbar und einfach zu editieren sind:
„
SQL-Anweisungen unterscheiden keine Groß- und Kleinbuchstaben.
„
Klauseln stehen gewöhnlich zur leichteren Lesbarkeit und
Bearbeitung in separaten Zeilen.
„
Schlüsselwörter werden gewöhnlich in Großbuchstaben angegeben;
alle anderen Wörter, wie z.B. Tabellennamen und Spalten, werden in
Kleinbuchstaben geschrieben.
FB Automatisierung und Informatik: Datenbanksysteme I
49
Erste Schritte: Select from where
SELECT ... FROM
SQL>
select * from newhire;
SELECT ... FROM ... WHERE
SQL>
select *
from newhire
where state_cd = 'MA';
FB Automatisierung und Informatik: Datenbanksysteme I
50
25
Select .. from .. where
SELECT
- Auswahl der Information (bzw. die Namen der Spalten,
die die relevante Information enthalten)
FROM
- wo ist die Information zu finden (bzw. der Name der
Relation/Tabelle, in der die relevante Information
zu finden ist)
WHERE
- Definition von Bedingungen oder Selektionskriterien;
hier kann auch spezifiziert werden, wie zwei
Tabellen miteinander verknüpfbar sind
GROUP
- wie
ORDER
- wie
BY
sollen die Daten gruppiert werden?
BY
sollen die Daten sortiert werden?
FB Automatisierung und Informatik: Datenbanksysteme I
51
Select from where
SELECT
KNr, Kursbezeichnung
FROM
Kurse
WHERE
Kursbezeichnung = 'Informatik'
KNr
Kursbezeichnung
255
257
345
348
401
444
Informatik
Informatik
Elektrotechnik
Steuerungstechnik
Informatik
Informatik
FB Automatisierung und Informatik: Datenbanksysteme I
52
26
Oracle: SQL*Plus
„
Aufruf über Menü „Oracle9i“
- Benutzerkennung
- Password
- Host-Zeichenfolge
„
}
Verbindung mit der Server-seitigen DB aufbauen
Zugriff von der Befehlszeile:
SQL>
1
2
3
–
–
–
Aufruf aus dem Menü
Beenden über „exit“
DDL und DML sofort einsetzbar; gesamter Sprachumfang von
SQL*Plus
FB Automatisierung und Informatik: Datenbanksysteme I
53
Oracle: SQL*Plus
„
„
„
„
„
Jede Tabelle hat einen eindeutigen Namen
alle Spalten haben eindeutige Namen
für jede Spalte ist ein Datentyp anzugeben
mit jedem Datentyp sind bestimmte Regeln verbunden, die
Datenbank-Engine von Oracle9i unterstützt diese Regeln
Datentypen
„
„
„
„
„
„
„
char(size)
varchar(size)
number(l,d)
blob
raw(size)
date
long
Zeichenfolgen mit fixer Länge
Zeichenfolgen mit variabler Länge
Numerische Daten (l = Länge, d = Dezimalstellen)
großes Binärobjekt (bis zu 4GB)
Datentyp mit variabler Länge; für Binärdaten oder
Byte-strings wie Grafiken, sounds, Dokumente, etc.
Datumsangaben
Zeichendaten mit variabler Länge; Spalten, die als
long definiert sind können bis zu 2GB aufnehmen
FB Automatisierung und Informatik: Datenbanksysteme I
54
27
„Übersetzen“ Sie in SQL:
Ö Zeige mir alle Daten der Tabelle „Mitarbeiter“
Ö Zeige mir den Mitarbeiter „Müller“ in der Tabelle
`Mitarbeiter` an
Ö Zeige mir aus der Tabelle „Kursteilnehmer“ alle
Personen, die den Kurs „Datenbanken“ belegt
haben
FB Automatisierung und Informatik: Datenbanksysteme I
55
28
Herunterladen