2) Bestimme Beziehungen

Werbung
Inhaltsverzeichnis
1.
2.
ERD .................................................................................................................................................. 3
1.1.1.
ERD Beispiel: .................................................................................................................... 3
1.1.2.
2) Bestimme Beziehungen ............................................................................................... 3
1.1.3.
3) ERD Zeichnen............................................................................................................... 3
DBMS=Datenbank Management System ........................................................................................ 4
2.1.
SQL (Structed Query Language)............................................................................................... 4
2.1.1.
DDL (Data Definition Language) ...................................................................................... 4
2.1.2.
DML (Data Manipulation Language) ............................................................................... 4
2.1.3.
DCL (Data Control Language)........................................................................................... 4
2.1.4.
Datentypen ...................................................................................................................... 4
2.1.5.
CREATING TABLES............................................................................................................ 5
2.1.6.
COYPING Tables ............................................................................................................... 6
2.1.7.
MODIFY Tables ................................................................................................................ 6
2.1.8.
Add Tables ....................................................................................................................... 6
2.1.9.
Synonym Tables ............................................................................................................... 6
1. ERD
1)Bestimme Entitäten
2)Bestimme Beziehungen
3)ERD Zeichnen
Genau 1
1 oder viele
Kein oder ein
Kein, ein oder viele
1.1.1. ERD Beispiel:
1) Bestimme Entitäten
Spieler(Player)
Tennisclub( Tennisclub)
Mannschaft(Team)
Meisterschaft(Championship)
Spiel(Game)
Strafen(Penalties)
1.1.2. 2) Bestimme Beziehungen
Spieler
Mannschaft
N:N
Spieler
Strafen
1:N
Spieler
Mannschaftsführer
1:1
Tennisclub
Mannschaft
1:N
1.1.3. 3) ERD Zeichnen
Spieler
Mannschaft
Mannschaftsführer
Strafen
Tennisclub
2. DBMS=Datenbank Management System
2.1.
SQL (Structed Query Language)
Megenorientiert
Beschreibend
2.1.1. DDL (Data Definition Language)
Create,Alter,Drop,…
Transaktionsbefehle
Commit, Rollback
DB
Datenbank-Design
Datentypen aller Attribute
Nullability
Default
2.1.2. DML (Data Manipulation Language)
Insert, Update, Delete, Select
2.1.3. DCL (Data Control Language)
Berechtigungen (Grant, Revoke)
SQL Syntax
Create Table table.name
(
Column_name
data_type [default expression]
[column inteprity rule]
[,column_name…..,
….]
);
2.1.4. Datentypen
Zahlen
Datentypen
Number(P, S)
Ganzzahl
Zahlen
Text mit Maximallänge
-||Datum
Binärdaten
-||-
Int
Decimal(P,S)
Char(n)
Varchar(n)
Date
RAW
Long RAW
Kommentar
P (Gesamtanzahl)
S Anzahl
Dezimalstellen
Number(38,0)
Number
n…Maximallänge
Variable Speicherung
z.b. Sound,Graphite
<=2GB
Bsp
Number(6,2)
Number(6)
2.1.5. CREATING TABLES
Script Creating Tables seite1
Der Tabellenname muss eindeutig sein innerhalb des Benutzers. Er darf nur 30ig Zeichen lang sein
und muss mit einem Buchstaben beginnen. Er kann sich aus Buchstaben, Ziffern, Underscore, Dollar,
Raute
Players
PlayerNo
Name
Initials
Date of birth
leaguno
4stellige Zahl / muss belegt sein
Zeichen, 15 stellig
3 stellige Zeichenfolge
Datum
4stellige Zeichenfolge
Create Table players(
PlayerNo
Teams
Team
Number(2)
Number(4)
VaChar2(6)
TeamNo
PlayerNo
Division
NOT NULL
Create Table Teams (
TeamNo Number(2) Not Null
PlayerNo Number(4)
Division Vachar2(6);
Penalties
Penalties
Number(4)
Number(4)
Date
Number(7,2)
Create Table Penalies(
PaymentNo Number(4) Not Null,
PlayerNo Number(4)
Pen_Date Date Default Sys_Date
Amount Number(7,2) Default 2000
)
PaymentNo
PlayerNo
Pen_Date
Amount
NOT NULL
Aktuelles Datum
2000
Matches
Matsches
Number(5)
Number(2)
Number(4)
Number(1)
Number(1)
Create Table Matsches(
MatchNo Number(5)
TeamNo Number(2)
PlayerNo Number(4)
Won Number(1)
Lost Number(1)
);
2.1.6. COYPING Tables
Script Creating Tables seite2
Desc[Ribe] players
Select * From Cat;
Players
Hobbyspieler
Create Table Hobbypsieler(
As Select PlayerNo, Name
From Players
);
2.1.7. MODIFY Tables
Script Creating Tables Seite 3
2.1.8. Add Tables
Script Creating Tables Seite 4
2.1.9. Synonym Tables
Script Creating Tables Seite 5
Systemvariablen
USER
SYSDATE
ROWNUM
LEVEL
aktuelle DB-Benutzer
aktuelles Datum/Zeit
MatchNo
TeamNo
PlayerNo
Won
Lost
Not NULL
Übungsbeispiel:
Players
Zustätzliche Spalte
Spalte Name 30 stellig
Spalte leagunoLöschen
ALTER TABLE Players MODIFY(
PlayerNo Numbers(30)
);
ALTER TABLE Players ADD(
BlubNo Numbers(5)
);
ALTER TABLE Players(
Drop Leaguno
);
2.2.
SQL Select
2.2.1. Select Where
Ergebnismenge einschränken
Vergleichsoperatoren (= > >= < <= != (<>))
mehrere Attribute können gleichzeitig vergleichen( Nur mit = und !=)
Bsp where (VN,NN)=(‘Markus‘,‘Hartmann‘)
Bedingungen können verknüpft werden
Beispiel Kapitel 3 6
Select playerno from players
Where town = ‘Stratford‘;
Select Name from players
Where (year_joined – year_of_birth)=17;
Select Name from players
Where Sex = M and year_of_birth>1970;
Between-Operator
Where year_of_birth Between 1965 and 1975
Erfüllt wenn Wert >= untergrenze und <= Obergrenze
2.2.2. In-Operator
Where year_of_birth in(1965,1967,1970)
Übung 5 Nr 17
Select Job, AVG(12*Sal)as, Jahresgehalt from emp
Groub by job
Having count(job)>2;Clerk
NVG beispiel
Sum(nvl(sal,0)+nvl(prov,druchschnitt))
Übung 5 Nr 16
Select deptno, AVG(sal) from emp
Groub by deptno
Having count deptno
2.2.3. JOIN
In form von mehr als 1 Tabelle
Where: Mindestens 1 Bedinung, die diese Tabelle verbindet.
Penalties
Players
10 daten
15 daten
Select * from players, penalties(kartesisches Produkt.)
150 Datensätze warden ausgegeben.
2.2.4. Equijoin(=)
InnerJoin
Nur Datensätzes, die in eiden Tabellen enthalten sind)
Outerjoin
Select * from…
Here pl.playerno= pl.playerno(+);
NON-EQUI Join(theta Join)
ANG(…,Sal…)
Gehstyle(Rg,Von,Bis)
2.3.
Sequences
Create Sequence sequence name
[start with value]
[increment by value]
[{max value max value / nomax value}]
[{min value min value / nomin value}]
[{cycle / nocycle}]
[{order / noorder}]
[{cache integer / nocache}];
Beispiel:
Create Sequence Blub
Start with 100
Increment by 10;
Seq_name.nextval
Seq_name.currval
Select seq_MA.currval from dual; = gibt
2.4.
DATENMANIPULATION
2.4.1. Insert
Insert into TabName [col1,col2,…]
Values(value1, values2, …);
# d.Spalten/values muss übereinstimmen
datentypen müssen übereinstimmen
Beispie:
Insert into players(name, playerno)
Values(‘alex’, 100);
Insert into players
Values(100, ’alex’, ’an’, Null, Null, Null, Null, Null);
Insert into players(playerno, name)
Values(Seg.MA.nextval, ‘alex’);
2.4.2. Massen inster
Insert into tabName[(col1,…)]
Select …;
Insert into players(playerno, Name)
Select Seq.mA Nextval, ename || ‘_’ || Seq.currval from emp;
Players
Playerno
name
1
King 1
2
Blake 2
15
clark 3
16
King 2
2.4.3. Änderung von Werten  Update
Update Tablename
Set col1 = expension / subquery
Set col2 =---||--[Werte condition];
Update emp
set sal= sal*1.1 expression
Where deptno = 10
Set (deptno, empno)=
Select deptno, empno from ….
Update emp
Set deptno = 10
Mgr=select empno from emp
Where ename =’Allen’
Where ename =’Blake’;
2.4.4. Löschen von Zeilen  Delete
Delete from tablename
[Where condtion];
Beispiel:
Delete from emp
Where deptno = 10;
2.4.5. Transaktion
-Set autocommit off
-commit;
-Rollback;
Zuerst mit Select Te
Herunterladen