Adatbázis-kezelés Takács Gábor takacsg@sze.hu rs1.sze.hu/~takacsg Konzultáció: kedd 11:00–12:00
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
Népszerű RDBMS-ek MySQL (Oracle Corp) Oracle (Oracle Corp) DB2 (IBM) Teradata (NCR) SQL Server (Microsoft)
SQL Server 2012 Letölthető: MSDNAA Express változat ingyenes (Server Management Studio külön települ)
minden megkezdett 8 bit típusú oszlop 1 byte Adattípusok 1 bigint -9.223.372.036.854.775.808 9.223.372.036.854.775.807 8 int -2.147.483.648 2.147.483.647 4 smallint -32.768 32.767 2 tinyint 255 1 bit 1, NULL is lehet minden megkezdett 8 bit típusú oszlop 1 byte decimal(p,s) -10^38 +1 10^38 –1 p-től függ numeric(p,s) min. 5, max. 17 byte money -922.337.203.685.477,5808 +922.337.203.685.477,5807 smallmoney -214.748.3648 +214.748.3647
Adattípusok 2 Típus Mettől Meddig Méret float(n) -1,79E + 308 n=1-24: 4 byte (7 jegy) real -3,40E + 38 3,40E + 38 (ua. float(24)) n=25-53: 8 byte (15) Típus Leírás char Fix hosszú nem Unicode kar., maximum 8.000 kar. varchar Változó hosszú nem Unicode kar., maximum 8.000 kar. varchar(max) Változó hosszú nem Unicode kar., maximum 231 kar (csak SQL Server 2005). text Változó hosszú nem Unicode kar., maximum 2.147.483.647 kar. Típus Mettől Meddig datetime (3.33 millisec pontosság) Jan 1. 1753 Dec 31. 9999 smalldatetime (1 perc pontosság) Jan 1. 1900 Jun 6. 2079
Adattípusok 3 Típus Leírás nchar Fix hosszú nem Unicode kar., maximum 4.000 kar. nvarchar Változó hosszú nem Unicode kar., maximum 4.000 kar. nvarchar(max) Változó hosszú nem Unicode kar., maximum 230 kar (csak SQL Server 2005). ntext Változó hosszú nem Unicode kar., maximum 1.073.741.823 kar. Típus Leírás binary Fix hosszú bináris adat., maximum 8.000 byte. varbinary Változó hosszú bináris adat., maximum 8.000 byte. varbinary(max) Változó hosszú bináris adat., maximum 231 byte (csak SQL Server 2005). image Változó hosszú bináris adat., maximum 2.147.483.647 byte.
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)
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
Hogyan tároljunk nagy mennyiségű adatot? Miért nem jó így?
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
Relációs adatbázis Táblák Mezők Rekordok Kapcsolatok Kulcsok
Mi lehetne a jó megoldás? Relációs adatbázis Egyed-Kapcsolat diagramja EGYEDMODELL
id nev varos 1. Kiss István Győr 2. Nagy Viktória Budapest 3. Terminológia Tábla Sorok (Rekordok) Oszlopok Mezők id nev varos 1. Kiss István Győr 2. Nagy Viktória Budapest 3. Kovács Mihály Szekszárd 4. Szabó János Ács
Hallgatók tábla neptun [nchar](6) NOT NULL, nev [nvarchar](50) NOT NULL, telepules [nvarchar](50) NOT NULL, utca [nvarchar](50) NOT NULL, irsz [nchar](10) NULL, tel [nvarchar](50) NULL, szdat [smalldatetime] NOT NULL, fiu [bit] NULL, kforma [nchar](10) NULL, kdij [money] NULL, egyeb [nvarchar](max) NULL,
Tantárgyak tábla tkod [nvarchar](50) NOT NULL, tnev [nvarchar](50) NOT NULL, kredit [tinyint] NOT NULL, tkov [nchar](10) NOT NULL,
Jegyek tábla neptun [nchar](6) NOT NULL, tkod [nvarchar](50) NOT NULL, jegy [tinyint] NOT NULL, vdatum [smalldatetime] NOT NULL, uv [tinyint] NULL, tanev [nchar](10) NULL, felev [nchar](10) NULL
Adatmodell sematikus ábra Egyedhalmaz (táblák) Attribútum (sorok) Kapcsolat (közös kulcs) Összeköttetés
Köszönöm a figyelmet!