Newest Viewed Downloaded

Adatbázisok 20118. gyakorlat

Adatbázisok 2011

8. gyakorlat ‹#›

SQL nyelv

Structured Query Language Struktúrált lekérdező nyelv A relációs adatbáziskezelés szabványos nyelve Két fő csoportba sorolhatók az utasításai DDL (Data Definition Language) – adatstruktúra definiáló utasítások DML (Data Manipulation Language) – adatokon műveletet végző utasítások ‹#›

SQL szintaxis

Kisbetűk és nagybetűk egyenértékűek a nyelv alapszavaiban Utasítások sorfolytonosan írhatók, az utasítás végét ; jelzi Változók nincsenek, csak tábla- és oszlopnevekre lehet hivatkozni Pl. tábla.oszlop (ha a tábla egyértelmű, akkor elhagyható) Alias név: név AS újnév (nem mindenhol kötelező) Szövegkonstansok: ‘ jelek között ’ Relációjelek, logikai műveletek -> lásd. előadás ‹#›

Adatbázis létrehozása

Adatbázis létrehozása CREATE DATABASE adatbazis; Adatbázis használata pl. MySQL adatbáziskezelő rendszernél mysql> use adatbazis Innentől kezdve az összes SQL utasítás ezen az adatbázison lesz értelmezve (a következő „use” utasítás kiadásáig) ‹#›

Relációsémák definiálása

CREATE TABLE táblanév ( oszlopnév adattípus [feltétel], … …, oszlopnév adattípus [feltétel] [, táblaFeltételek] ); Az adattípushoz „DEFAULT érték” megadásával alapértelmezett érték definiálható (egyébként alapértelmezetten NULL) ‹#›

Adattípusok

INT(n): egész szám, n darab számjegy CHAR(hossz): hossz hosszú karaktersorozat, fix hosszú VARCHAR(hossz): változó hosszú, de maximálisan hossz hosszú karaktersorozat DATE: dátum pl. ’1988-11-25’ TIME: időpont(óra,perc,másodperc) pl. ’16:05:32’ REAL: valós szám BIT(hossz): hossz darab bit ‹#›

Feltételek

Feltételek (egy adott oszlopra vonatkoznak): PRIMARY KEY: elsődleges kulcs UNIQUE: kulcs REFERENCES tábla(oszlop)[ON-feltételek]:külső kulcs Táblafeltételek(az egész táblára vonatkoznak): PRIMARY KEY(oszloplista): elsődleges kulcs UNIQUE: kulcs FOREIGN KEY(oszloplisa)REFERENCES tábla(oszloplista): külső kulcs Ha a (külső) kulcs több oszlopból áll, akkor csak táblafeltétel formájában adható meg! ‹#›

Példa

Feladat: Hozzuk létre az OSZTÁLY(osztálykód, osztálynév, vezAdószám) DOLGOZÓ(adószám, név, lakcím, osztálykód) relációsémákat SQL-ben! CREATE TABLE Osztály ( osztálykód CHAR(3) PRIMARY KEY, osztálynév CHAR(20), vezAdószám DECIMAL(10) ); CREATE TABLE Dolgozó ( adószám DECIMAL(10) PRIMARY KEY, név CHAR(30), lakcím CHAR(40) DEFAULT ’ismeretlen’, osztálykód CHAR (3) REFERENCES Osztály(osztálykód) ); ‹#›

Táblák módosítása

Új oszlop hozzáadása: ALTER TABLE táblanév ADD (oszlopnév típus[táblafeltétel]); Oszlop hozzáadása: ALTER TABLE táblanév MODIFY (oszlopnév[táblafeltétel]); Oszlopok törlése: ALTER TABLE táblanév DROP (oszlop,oszlop,...,oszlop); Az oszlopok törlését nem minden rendszer engedi meg. Tábla törlése: DROP TABLE táblanév; ‹#›

Táblák módosítása – példák

ALTER TABLE Dolgozó ADD (szüldátum DATE); ALTER TABLE Dolgozó MODIFY (lakcím VARCHAR(60)); ALTER TABLE Osztály MODIFY (vezAdószám REFERENCES Dolgozó(adószám)); ‹#›

Új sor felvétele a táblába

INSERT INTO táblanév [(oszloplista)] VALUES (értéklista); Két fajtája: Amikor ismerünk minden adatot, és abban a sorrendben adjuk meg, ahogy a táblában a mezőnevek egymás után következnek: INSERT INTO Dolgozó VALUES (1111, ’ Tóth Aladár, ’Szeged, Kálvária tér 2.’, ’12’); Amikor a mezők sorrendjétől is függetlenül, akár csak néhány mező kitöltve adunk meg: INSERT INTO Dolgozó (név, adószám) VALUES (’ Tóth Aladár’, 1111); de ebben az esetben is fontos a mezők (általunk definiált) sorrendje. Amely mezők nem szerepelnek az oszloplistában, azok NULL értéket kapnak. ‹#›

Adatok módosítása

UPDATE táblanév SET oszlop1 = kifejezés1, …, oszlopn = kifejezésn [WHERE feltétel]; Az értékadás minden olyan soron végrehajtódik amely eleget tesz a WHERE feltételnek (ennek hiányában az összes sorra) Pl. UPDATE Dolgozó SET Lakcím = ’Szeged, Rózsa u. 5.’ WHERE név = ’Tóth Aladár’; ‹#›

Adatok törlése

DELETE FROM táblanév [WHERE feltétel]; Hatására azon sorok törlődnek, amelyek eleget tesznek a WHERE feltételnek (ennek hiányában pedig az összes sor törlődik a táblában, de a séma megmarad!) Pl.: DELETE FROM Dolgozó WHERE adószám = 1111; ‹#›

Feladat

Attribútum Típus Opciók Id INT(6) PRIMARY KEY, NOT NULL, auto_increment vezeteknev VARCHAR(20) NOT NULL Keresztnev VARCHAR(20) NOT NULL szulev INT(4) NOT NULL Attribútum Típus Opciók kod INT(6) PRIMARY KEY, NOT NULL, auto_increment nev VARCHAR(20) NOT NULL fonokid INT(6) NOT NULL, REFERENCES nevek(id) Nevek Reszleg ‹#›

Showing 1 - 14 of 14 items Details

Name: 
08_gyak
Author: 
Koree
Company: 
N/A
Description: 
Adatbázisok 20118. gyakorlat
Tags: 
table | null | dolgozó | táblanév | key | not | kulcs | oszlop
Created: 
9/6/2011 9:00:13 AM
Slides: 
14
Views: 
2
Downloads: 
0
Rating: 
0


> Comment



Share this presentation
|

Comments

Share this presentation:

|
Sitemap