adatb_2012_09_11

Download Report

Transcript adatb_2012_09_11

Adatbáziskezelés
Horváth Ernő
1
Elérhetőségek
Kiss Jenő
http://rs1.sze.hu/~kissj/
Horváth Ernő
http://rs1.sze.hu/~herno/
Tanszéki honlap
http://it.sze.hu
2
Kabinet használat
• Felhasználó név: EIK
• Jelszó nincs
• L:\ - írási jog, vizsgán használható
• D:\ - írási jog
• C:\temp - ide érdemes dolgozni
3
Népszerű RDBMS-ek
MySQL (Oracle Corp)
Oracle (Oracle Corp)
Cassandra (Apache)
DB2 (IBM)
Teradata (NCR)
SQL Server (Microsoft)
4
SQL Server 2008
Letölthető:
• MSDNAA
• Express változat ingyenes (Server
Management Studio külön települ, 4GB limit)
5
SQL Server 2008
Otthoni telepítés során meg kell adni a Server nevet, ez
lehet tetszőleges, de ezzel kell belépni
.\server formátumban
6
Adattípusok 1
bigint
int
smallint
tinyint
bit
decimal(p,s)
numeric(p,s)
money
smallmoney
-9.223.372.036.854.775.808
-2.147.483.648
-32.768
0
0
-10^38 +1
-10^38 +1
-922.337.203.685.477,5808
-214.748.3648
9.223.372.036.854.775.807
2.147.483.647
32.767
255
1, NULL is lehet
10^38 –1
10^38 –1
+922.337.203.685.477,5807
+214.748.3647
8
4
2
1
minden megkezdett 8 bit típusú oszlop 1 byte
p-től függ
min. 5, max. 17 byte
8
4
7
Adattípusok 2
Típus
float(n)
real
Típus
char
varchar
varchar(max)
text
Mettől
-1,79E + 308
-3,40E + 38
Meddig
1,79E + 308
3,40E + 38 (ua. float(24))
Méret
n=1-24: 4 byte (7 jegy)
n=25-53: 8 byte (15)
Leírás
Fix hosszú nem Unicode kar., maximum 8.000 kar.
Változó hosszú nem Unicode kar., maximum 8.000 kar.
Változó hosszú nem Unicode kar., maximum 231 kar (csak SQL Server 2005).
Változó hosszú nem Unicode kar., maximum 2.147.483.647 kar.
Típus
datetime (3.33 millisec pontosság)
smalldatetime (1 perc pontosság)
Mettől
Jan 1. 1753
Jan 1. 1900
Meddig
Dec 31. 9999
Jun 6. 2079
8
Adattípusok 3
Típus
nchar
nvarchar
nvarchar(max)
ntext
Típus
binary
varbinary
varbinary(max)
image
Leírás
Fix hosszú nem Unicode kar., maximum 4.000 kar.
Változó hosszú nem Unicode kar., maximum 4.000 kar.
Változó hosszú nem Unicode kar., maximum 230 kar (csak SQL Server 2005).
Változó hosszú nem Unicode kar., maximum 1.073.741.823 kar.
Leírás
Fix hosszú bináris adat., maximum 8.000 byte.
Változó hosszú bináris adat., maximum 8.000 byte.
Változó hosszú bináris adat., maximum 231 byte (csak SQL Server 2005).
Változó hosszú bináris adat., maximum 2.147.483.647 byte.
9
Legfontosabb adattípusok
•
•
•
•
•
nchar (fix hosszúságú karakteres)
nvarchar (változó hosszúságú karakteres)
smalldatetime (év, nap, óra, perc)
int (+- ~2milliárd)
tinyint (0..255)
10
Alapfogalmak
• Egyed (entity): minden olyan objektum ami
megkülönböztethető más objektumoktól. Pl.
tanuló, gépjármű
• Tulajdonság (attribute): az egyedek leírására
szolgál. Pl. név, neptun kód, alvázszám
• Kapcsolat: az egyedek közti viszony 1:1, 1:N,
M:N
11
Relációs adatbázis
•
•
•
•
•
Táblák
Mezők
Rekordok
Kapcsolatok
Kulcsok
12
Hogyan tároljunk nagy mennyiségű
adatot?
• Miért nem jó így?
13
Miért nem jó? (folyt.)
•
•
•
•
•
Redundáns (ismétlődő) adatok
Adattípusok konzisztenciáját nem biztosítja
Nem kereshető, nehezen átlátható
Nem biztonságos
Nincs verziókövetés
Jobb lenne egy C/Java struktúrában tárolni?
• Sajnos nem sokkal.
14
Mi lehetne a jó megoldás?
Relációs adatbázis Egyed- Kapcsolat diagramja
15
Hallgatók tábla
neptun
nev
telepules
utca
irsz
tel
szdat
fiu
kforma
kdij
egyeb
[nchar](6) NOT NULL,
[nvarchar](50) NOT NULL,
[nvarchar](50) NOT NULL,
[nvarchar](50) NOT NULL,
[nchar](10) NULL,
[nvarchar](50) NULL,
[smalldatetime] NOT NULL,
[bit] NULL,
[nchar](10) NULL,
[money] NULL,
[nvarchar](max) NULL,
16
Tantárgyak tábla
tkod
tnev
kredit
tkov
[nvarchar](50) NOT NULL,
[nvarchar](50) NOT NULL,
[tinyint] NOT NULL,
[nchar](10) NOT NULL,
17
Jegyek tábla
neptun
tkod
jegy
vdatum
uv
tanev
felev
[nchar](6) NOT NULL,
[nvarchar](50) NOT NULL,
[tinyint] NOT NULL,
[smalldatetime] NOT NULL,
[tinyint] NULL,
[nchar](10) NULL,
[nchar](10) NULL
18
Egyed- Kapcsolat modell
• Egyedhalmaz
(táblák)
• Attribútum
(sorok)
• Kapcsolat
(közös kulcs)
• Összeköttetés
19
Terminológia
Tábla
Sorok (Rekordok)
Oszlopok
Mezők
id nev
1. Kiss István
varos
Győr
2. Nagy Viktória
Budapest
3. Kovács Mihály
4. Szabó János
Szekszárd
Ács
20
Köszönöm a figyelmet!
21