Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaBrigitta Borbélyné Megváltozta több, mint 10 éve
1
Tarcsi Ádám, ade@elte.hu
Adatbázis gyakorlat – Adattáblák – Tarcsi Ádám, 2005. január
2
Miről lesz szó? Adatbáziskezelés SQL Oracle adatbázis-kezelő Belépés
Tábla készítés - CREATE TABLE Lekérdezések - SELECT
3
Adatbázisok Adatkezelés kialakulása: szekvenciális fájlok kezelése
Nehézkes: csak elemi műveletek Keresést meg kell írni, lassú Komplex adatok tárolása bonyolult Biztonság nincs: meghibásodás, hozzáférés-védelem Csak 1 ember dolgozhat rajta egyszerre
4
Adatbázis-kezelés alapja
Adatmodellezés, elméleti háttér Adatbázis eszközök használata Szabványos adatdefiníciós és lekérdezőnyelv: SQL Az adatmodellezés célja, hogy a valós információk tárolására kitaláljunk valami olyasféle struktúrát, amiben az adatok információvesztés nélkül tárolhatók, az adatok közti kapcsolatok leírhatók és a struktúra a számítógépes feldolgozás szempontjából hatékony. A modelleinket többféle alapmodellre építhetjük. Mi csak a relációssal foglalkozunk, de manapság elterjedőben van néhány másfajta is, pl. objektum-orientált modell, félig strukturált adatmodell. A relációs modellben az adatokat táblákban tároljuk. A táblák között később kapcsolatokat építhetünk. A reláció tulajdonképpen egy táblázat! Táblák: attribútumok vagy oszlopok (egyedi név, típus) sorok vagy rekordok Példa:…
5
Elvárások Egy adatbázis-kezelő rendszerrel szemben a következő elvárásaink vannak: Adatbázis-létrehozások: séma, struktúra megadás speciális – adatdefiníciós nyelven Adatok lekérdezése, módosítása – lekérdező vagy adatmanipulációs nyelven Támogassa a nagy mennyiségű adatok hosszú időn keresztüli tárolását. Garantálja a biztonságot. Felügyelje a több felhasználó által egy időben történő adathozzáféréseket A felhasználó adatbázis-kezelőn keresztül éri el az adatokat. Egy adatbázis-kezelő rendszerrel szemben a következő elvárásaink vannak: Tegye lehetővé a felhasználók számára, hogy új adatbázisokat hozhassanak létre és azok sémáját, vagyis az adatok logikai struktúráját egy speciális nyelven adhassák meg. Ezt a speciális nyelvet adatdefiníciós nyelvnek nevezzük. Engedje meg a felhasználóknak, hogy az adatokat egy megfelelő nyelv segítségével lekérdezhessék és módosíthassák. Ezt a nyelvet szokás lekérdezőnyelvnek vagy adatmanipulációs nyelvnek nevezni. Támogassa nagyon nagy mennyiségű adat (gigabájtok vagy még több adat) hosszú időn keresztül való tárolását, garantálja az adatok biztonságát a meghibásodásokkal és az illetéktelen felhasználókkal szemben, és tegye lehetővé a hatékony adathozzáférést a lekérdezések és az adatbázis-módosítások számára. Felügyelje a több felhasználó által egy időben történő adathozzáféréseket úgy, hogy az egyes felhasználók műveletei ne legyenek hatással a többi felhasználóra és az egyidejű adathozzáférések ne vezethessenek az adatok hibássá vagy következetlenné válásához.
6
Adatbázis eszközök használata
Oracle, MS SQL Server, IBM DB2, Informix, Sybase, MySQL, PostgresSQL, stb. Néhány fájlkezelő (amik NEM, vagy csak félig-meddig adatbázis-kezelők): dBase, Clipper, FoxPro, Access, … Kliens – Server kapcsolat. A kliensen dolgozik a felhasználó vagy közvetlen adatbázis-eléréssel (pl. SQL parancsokat ad ki), vagy egy olyan programmal, ahol a program tárolja az adatait adatbázisban (pl. a program SQL utasításokat tartalmaz).
7
SQL - Structured Query Language
DDL (Data Definition Language – Adat Definiáló Nyelv) séma kezelő utasítások: adatbázisok, táblák létrehozása, módosítása és törlése pl.: CREATE, ALTER, DROP DML (Data Manipulation Language – Adat Manipuláló nyelv): adat kezelő utasítások: adatok rögzítése, módosítása, törlése és lekérdezése pl.: INSERT, UPDATE, DELETE, SELECT DCL (Data Control Language) GRANT, REVOKE, ABORT, COMMIT… Ekvivalens a relációs algebrával, , de számos olyan lényeges része is van, mely többet nyújt mint a relációs algebra, mint például az összesítések és az adatbázis-módosítások.
8
Oracle - Belépés ODBC: Start / Beállítások / Vezérlőpult / Felügyeleti eszközök / ODBC adatforrások Felhasználói DSN Kiszolgáló, felhasználói név, jelszó beállítása Ügyfél beállítása – Named pipe-ok Oracle Belépés: Jelszó:
9
SQL alapok: Adatbázisok létrehozása
Adatbázisok adminisztrációja, felhasználók, felhasználói jogok Adattáblák létrehozása, módosítása, törlése: CREATE TABLE, ALTER TABLE, DROP TABLE Adattáblák feltöltése – INSERT INTO Adatok keresése – SELECT Adatok módosítása – UPDATE Adatok törlése - SELECT
10
Tábla létrehozás, eldobás
CREATE TABLE tDiak (DAzon NUMBER, Nev VARCHAR(40), Kor INTEGER, TAzon NUMBER); Tábla eldobása: DROP TABLE tDiak;
11
Adattípusok – ORACLE Egészek Lebegőpontos számok Beíráskor ellenőrzés!
NUMBER(p): előjellel együtt maximum p karakter széles egész szám. NUMBER(p,s): p: a teljes szám szélessége, s: a tizedesek száma (törtrész szélessége) NUMBER: szám, alapértelmezett mezőszélesség: 10 (INTEGER): NUMBER-ként kezeli (SQL Server adattípus) Lebegőpontos számok FLOAT Beíráskor ellenőrzés!
12
Adattípusok – ORACLE Karakteres típusok
CHAR(hossz) - fix hosszú szöveg VARCHAR(n) - max. n hosszú szöveg VARCHAR2(n) - max. n hosszú szöveg. Ajánlott. RAW - nagy méretű szöveg, max 255 hosszú, nem csak szöveget tárolhat! Hosszabb szövegeket levágja!
13
Adattípusok – ORACLE Dátum típus: Egyéb típusok
DATE: dátum és általában időpont is! i.e jan. 01. és i.sz dec. 31. közé. Formázható! Egyéb típusok BLOB -bináris nagyméretű objektum, max. 4GB méretű adat tárolására (multimédia típus)
14
CREATE TABLE CREATE TABLE <név>
(<oszlopnév1> <oszloptípus1>, <oszlopnév2> <oszloptípus2>, … , <oszlopnévn> <oszloptípusn> [CONSTRAINT <megszorításnév> …)]
15
Megszorítás - CONSTRAINT
Elsődleges kulcs – PRIMARY KEY egyedi azonosító példa: tTanar táblában TAzon, tDiak tablaban DAzon szokásos elnevezés: pk_tablanev CONSTRAINT <megszorításnév> PRIMARY KEY (<mezőnév1>,…, <mezőnévk> )
16
CONSTRAINT 2. Idegen kulcs – FOREIGN KEY
Másik táblában (hivatkozott tábla) elsődleges kulcsként előforduló értékeket vehet fel Nem törölhető olyan rekord, amelyre hivatkoznak. példa: tDiak táblában TAzon mező szokásos elnevezés: fk_hivatkozotablanev_hivatkozotttablanev (fk_tDiak_tTanar) CONSTRAINT <megszorításnév> FOREIGN KEY (<mezőnév1>,…, <mezőnévk> ) REFERENCES <hivatkozotttáblanév> (<újmezőnév1>,…, <újmezőnévk>)
17
CONSTRAINT 3. Egyediség - UNIQUE
adott mezőben minden értéknek különbözőnek kell lennie szokásos elnevezés: uq_tablanev CONSTRAINT <megszorításnév> UNIQUE (<mezőnév1>,…, <mezőnévk>)
18
CONSTRAINT 4. Feltétel– CHECK Példa:
Adott mező mely halmazból vehesse fel az értékeit szokásos elnevezés: ck_tablanev Sokféle feltétel: AND, OR, BETWEEN, SELECT, mezőnév>0, … I. CONSTRAINT <megszorításnév> CHECK (<mezőnév1> IN (<halmaz1>),…, <mezőnévk> IN (<halmazk>)) II. IN (<halmaz>) Példa: CONSTRAINT ck_tablanev CHECK (Nev IN('Pistike','Ferike')) CONSTRAINT ck_tablanev2 CHECK (Jegy IN(1,2,3,4,5))
19
Megszorítások 5. Alapértelmezett érték - DEFAULT
Ha egy rekordnál az adott mező értékét nem adjuk meg, akkor az alapértelmezett értéket veszi fel értékként DEFAULT <érték vagy kifejezés>
20
Megszorítások 6. Nem nullérték - NOT NULL Lehetséges értelmezései
Ismeretlen érték: pl.: nem ismerem a címét Alkalmazhatatlan érték: pl.: hajadon esetén a „Férj neve” mező kitöltése Visszatartott érték: nincs rá jogom, titkos adat esetén Elsődleges kulcs NOT NULL
21
Megszorítások 7. Azonosító
A program automatikusan generál az adott mezőbe egy számot (meg lehet adni a kezdőértéket és a lépésszámot) IDENTITY (1,1)
22
Példa CREATE TABLE tTanar (TAzon INTEGER NOT NULL, Nev VARCHAR(50),
CONSTRAINT pk_tTanar PRIMARY KEY (TAzon)) CREATE TABLE tDiak (DAzon INTEGER NOT NULL, Nev VARCHAR(50) NOT NULL, Kor INTEGER NOT NULL, TAzon INTEGER NOT NULL DEFAULT 1, CONSTRAINT pk_tDiak PRIMARY KEY (DAzon), CONSTRAINT fk_tDiak_tTanar FOREIGN KEY (TAzon) REFERENCES tTanar (TAzon), CONSTRAINT ck_tDiak CHECK (Kor BETWEEN 1 AND 100), CONSTRAINT uq_tDiak UNIQUE (Nev))
23
Megszorítások lekérdezése
SELECT constraint_name, constraint_type FROM user_contraints WHERE table_name = ‘TÁBLANÉV’; SELECT constraint_name, column_name FROM user_cons_columns WHERE table_name = ‘TÁBLANÉV’;
24
Megszorítás módosítása
Megszorítás hozzáadása: ALTER TABLE <tábla név> ADD CONSTRAINT <név> <típus> <(oszlop)>; Not null típusú megszorítás (mezőszintű): ALTER TABLE <tábla név> MODIFY <mezőnév> CONSTRAINT <típus> NOT NULL; Megszorítás törlése: ALTER TABLE <tábla név> DROP CONSTRAINT <megszorítás név>;
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.