Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai

Slides:



Advertisements
Hasonló előadás
Tananyag: konzultáció
Advertisements

2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
Lekérdezések SQL-ben Relációs algebra A SELECT utasítás
© Kozsik Tamás Adatbáziskezelés •Relációs adatbáziskezelők •Noha a Java objektum-elvű, egyelőre nem az objektum-elvű adatbáziskezelőket támogatja.
Adatbázis rendszerek I
Anyagadatbank c. tárgy gyakorlat
Adatbázisok SQL. TARTALOM Szijártó M.2 Témakörök  Az SQL tulajdonságai  A műveletek fajtái  Objektum-műveletek  Lekérdezések Tulajdonságok és műveletek.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Adatbázisok gyakorlat 8. gyakorlat SQL alapok.
1 Informatikai Szakképzési Portál Adatbázis kezelés Az SQL nyelv elemei.
Elmaradás.  0 Számjegy. Ebben a pozícióban egyetlen számjegyet kell megadnia.  9 Számjegy. Ebben a pozícióban egyetlen számjegyet lehet megadni, nem.
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
Delphi programozás alapjai
SQL Structured Query Language
5. GYAKORLAT SQL CREATE TABLE, aktualizálás. S QL Structured Query Language A relációs adatbáziskezelés szabványos nyelve Nem algoritmikus, de beépíthető.
– SQL 2: Adatok kezelése – Tarcsi Ádám, január 30. Adatbázis gyakorlat.
– Adattáblák & adatok kezelése – Tarcsi Ádám január Adatbázis gyakorlat.
PL/SQL I. ADATBÁZIS ALAPÚ RENDSZEREK.  PL/SQL = Procedural Language/SQL  utasítást ; zárja le  PL/SQL blokk lezárása: /  kis- és nagybetű egyenértékű.
SQL – DQL (Data Query Language ) adat lekérdezések
INSERT INTO Egy vagy több rekordot ad hozzá a táblához. Egyetlen rekordot hozzáfűző kifejezés: INSERT INTO cél_tábla (mező1,mező2,…) VALUES (érték1, érték2,
Triggerek II. ADATBÁZIS ALAPÚ RENDSZEREK.  Az Oracle kifinomult módon támogatja a sorszámozások generálását  Szekvencia: olyan adatbázis-objektum, amely.
Adatbázis alapú rendszerek
Adatbázis rendszerek II.
Készítette: Sárközi Anikó
Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT.
2006. október 9.Markó Tamás, PTE TTK1 Az Oracle SQL 7. Kényszerek megadása. Indexek kezelése.
SQL92 lehetőségek KL A tábla B tábla C view adatok VIEW működése utasítás: SELECT.. FROM A,B … SELECT.. FROM C Az adatok a hivatkozáskor állítódnak elő.
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
SQL, adatdefiníció, adatok megváltoztatása, megszorítások
Adatbázis kezelés SQL. Történeti áttekintés 1976IBM:SEQUEL,SQL 1976IBM:SEQUEL,SQL 1983ORACLE 1983ORACLE 1984INFORMIX 1984INFORMIX 1986SQL – szabvány :
Kényszerek megadása. Indexek kezelése.
1 Informatikai Szakképzési Portál Adatbázis kezelés DML – Adat manipuláló nyelv.
- adatbázisséma definiálása (DDL) Data Definition Languages, - adatok aktualizálása (DML),Data Maniputaion Language - lekérdezési lehetőségek (DML) Data.
SQL. SQL = Structured Query Language (= struktúrált lekérdező nyelv). A relációs adatbázis-kezelés szabványos nyelve. Nem algoritmikus nyelv, de algoritmikus.
SQL.
Az SQL nyelv alapjai.
DML. Új rekord beszúrása: INSERT INTO tábla (oszlop1,oszlop2,…) VALUES (érték1,érték2,…); Rekord módosítása: UPDATE tábla SET oszlop = érték WHERE feltétel;
DDL – Adatdefiníciós nyelv
Adatbázis adminisztrátori ismeretek
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele a minimum elégséges érdemjegynek!
Adatbázis-kezelés SQL-lel. SQL SQL = Structured Query Language – Strukturált Lekérdezőnyelv Relációs adatbázis-kezelők lekérdezési nyelve. Alapjait az.
Adatbázis-kezelés SQL-lel
Felhasználók és jogosultságok
SQL DDL DATA DEFINITION LANGUAGE. Táblák létrehozása CREATE TABLE táblanév ( oszlopnév1 típus(méret) /DEFAULT érték/ /NOT NULL/, oszlopnév2 típus(méret)
Készítette: Tóth Ervin
Az SQL nyelv. SQL Az SQL utasításait két fő csoportba szokták sorolni: DDL (= Data Definition Language): adatstuktúra definiáló utasítások. DML (= Data.
Adatbázis-kezelés JAG,
SQL-Structured Query Language. Parancs(utasítás) csoportok CREATE - táblák létrehozása ALTER – táblák módosítása DROP – táblák törlése DDL –Data Definition.
SQL.
1 Sramó András Adatbázis-technológia V. előadás Adatbázis-technológia 5. előadás Az SQL.
– SQL 3: SELECT - 1. – Tarcsi Ádám, január 31. Adatbázis gyakorlat.
Tarcsi Ádám, Adatbázis gyakorlat – Adattáblák – Tarcsi Ádám, január.
Ma az un. Relációs adatmodelleket használjuk.
5. gyakorlat Fleiner Rita.
Webprogramozó tanfolyam
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda 3. Előadás Az SQL adatbázisnyelv (Tartalom ) Az SQL története Az SQL felépítése Adattípúsok.
SQL történelem 1970 Edgar F. Codd (IBM) cikke 12 szabály a relációs adatmodellekre 1979 első kereskedelmi forgalmazású relációs adatbáziskezelő 1986 az.
SQL. SQL jellemzői Nem algoritmikus (nem tartalmaz algoritmikus szerkezeteket: ciklus, eljárás, elágazás) Nem rekurzív (önmagát nem hívhatja) Halmazorientált.
Adatbázis rendszerek I
1 Verseny 2000 gyakorlat SQL 2000 Server Portál adatbázis létrehozása.
– SELECT - 1. – Tarcsi Ádám január Adatbázis gyakorlat.
Adatbáziskezelés. Adat és információ Információ –Új ismeret Adat –Az információ formai oldala –Jelsorozat.
SQL.
Adatbázis-kezelés 1-2. adatbázis-kezelő rendszer 1.új adatbázisokat hozhassanak (adat definició 2.lekérdezések és módosítások (adat manipuláció) 3.Támogassa.
Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda
Adatbázis alapú rendszerek
Adatbázisok SQL.
Logisztikai projekt - gyakorlat Adatbázis-elmélet
DDL parancsok – Tábla műveletek, mezőtulajdonságok
Előadás másolata:

Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai SQL ALAPOK Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai

Bevezetés SQL: Structured Query Language – Strukturált Lekérdező Nyelv Szabvány határozza meg, azonban számos “nyelvjárása” létezik – egy ilyen a MySQL rendszerben használt változat (ezt vesszük) Nincs jelentős eltérés a különböző változatok közt Nem algoritmikus nyelv, jellemző használata: Beágyazzuk egy algoritmikus nyelven írt programba az SQL- utasítást Az SQL-utasítás hatására az adatbázis előáll a válasszal Az algoritmikus nyelven íródó programban feldolgozzuk az adatokat

Az SQL két része Az SQL-utasításokat a jellegük alapján két részre osztjuk DDL DML Data Definition Language – adatdefiníciós nyelv Data Manipulation Language – adatkezelő utasítások

Az SQL szintaxisa “Beszédes” nyelv, az utasítások neve általában a megfelelő angol szó, ezekből alkotunk “mondatokat” a nyelv alapszavait általában nagybetűkkel írjuk, de a kisbetűs írásmód is egyenértékű A parancsokat írhatjuk sorfolytonosan, vagy akár tagoltabban, a végüket ; jelzi Változó nincs, csak attribútumorkra lehet hivatkozni – ha egy utasításon belül nem egyértelmű, mire, elérírjuk a tábla nevét: tábla.attrib SELECT attrib FROM tábla; select attrib from tábla;

Az SQL szintaxisa, SQL Logika Szövegkonstans: ‘idézőjelek közt’ Relációjelek: =, <=, >=, !=, <> A logikában szokásos műveletek: AND, OR, NOT. Az SQL logika nem a klasszikus “igaz-hamis” logika, hanem úgymond háromértékű: TRUE, FALSE, UNKNOWN. Ha valahol NULL (“nem definiált, nem adott”) érték fordul elő, a rá vonatkozó logikai kifejezés kiértékelése ismeretlent ad válaszul Ha azt akarjuk ellenőrizni, hogy egy adott atttribútum NULL-e, akkor: attrib IS NULL NEM fog helyes választ adni: attrib=NULL

Adatbázis létrehozása CREATE DATABASE adatbázis_neve; Létrehoz egy új, üres adatbázist a kiszolgálón (pl. kiadható a konzolon.) Konzolos elérésnél a USE adatbázis_neve; paranccsal lehet kiválasztani egy adatbázist, programozási környezetekből elérve általában valamilyen metódushívással.

Sémák definiálása A relációs adatbázissémákat definiálnunk kell az adatbázis létrehozása után CREATE TABLE [IF NOT EXISTS] séma_neve ( attr1 {ADATTÍPUS} [{megszorítások}], attr2 {ADATTÍPUS} [{megszorítások}], … attrn {ADATTÍPUS} [{megszorítások}] [,{táblaszintű_megszorítások}] ) [{táblára_vonatkozó_megszorítások}];

SQL adattípusok a korábbi parancsban {adattípus} helyére a következők valamelyike kerül: (létezik néhány egyéb adattípus is) INT(n) n jegyű egész szám CHAR(n) pontosan n hosszú szöveg VARCHAR(n) legfeljebb n hosszú szöveg DATE dátum, pl. 2012-10-17 TIME időpont, pl. 11:10:45 REAL valós szám

Példa: TÁBLA DEFINIÁLÁSA Egy autók adatait tároló táblát így definiálnánk: CREATE TABLE IF NOT EXISTS auto ( sorszam INT(10) PRIMARY KEY, rendszam CHAR(6), gyarto VARCHAR(128), evjarat INT(4), tipus VARCHAR(128) ); Elsődleges kulcs

Használjunk táblaszintűt! MEgszorítások A MySQL nem támogatja! Használjunk táblaszintűt! Oszlopszinten: PRIMARY KEY – elsődleges kulcs UNIQUE – kulcs REFERENCES más_tábla(attrib) [{ON-feltételek}] – külső kulcs NOT NULL – nem lehet null AUTO_INCREMENT – mindig növekszik az értéke Táblaszinten: PRIMARY KEY (oszlop_lista) – ha több attribútumból áll a kulcs FOREIGN KEY (oszlop_lista) REFERENCES másik_tábla(oszlop_lista) [{ON-feltételek}] – hasonlóan

MEgszorítások ON feltételek: külső kulcsoknál megadható, hogy történjen-e valami az aktuális táblában, ha a táblában, ahol elsődleges kulcsként fordul elő az attribútum, valamilyen változás áll be – pl. ha egy vevőt törölnek egy adatbázisból, elérhető így, hogy automatikusan törlődjön az összes vásárlása is. ON UPDATE CASCADE – adatmódosításnál a friss adat bemásolódik ON DELETE CASCADE – ha törlik a hivatkozott sort, törlődnek a rá hivatkozó sorok is ON DELETE SET NULL – a hivatkozott sor törlésekor a hivatkozó sorokban NULL kerül a külső kulcsba

Táblák módosítása Létrehozás után lehetőség van a tábák szerkezetén, kulcsain, kapcsolatain változtatni – valamint törölhetők ALTER TABLE tábla_neve ADD (oszlopnév {TÍPUS} [{feltételek}]); ALTER TABLE tábla_neve MODIFY (oszlopnév [{feltételek}]); ALTER TABLE tábla_neve DROP(oszlopnév1, …, oszlopnévk); DROP TABLE tábla_neve;

ADATBEVITEL INSERT INTO tábla_neve VALUES ({az oszlopok értékei az új rekordban}); ha csak néhány oszlopot töltenénk fel, és a többi maradjon null: INSERT INTO tábla_neve (oszlop1,…,oszlopk) VALUES (érték1,…,értékk); Például: INSERT INTO hallgato (eha, nev, szak, eletkor) VALUES (‘mintaat.sze’, ‘Minta Áron’, ‘programtervező informatikus BSc’, 22);

Adatmódosítás UPDATE tábla_neve SET oszlop1 = érték1, …, oszlopk = értékk [WHERE feltétel]; A WHERE feltételben valamilyen feltételt kell megadni arra, mely sorok módosuljanak. Példa: UPDATE hallgato SET eletkor=23 WHERE eha=‘mintaat.sze’;

Adatok törlése DELETE FROM tábla_neve [WHERE feltéltel]; Törli a feltétel szerinti sort vagy sorokat az adott táblából Példa: Töröljük a hallgatókat, akiknek 34 és 40 közti az életkoruk: DELETE FROM hallgato WHERE eletkor BETWEEN 34 AND 40;

FELADATOK Osztály (osztálykód, osztálynév, vezAdószám) Dolgozó (adószám, név, lakcím, fizetés, osztálykód) 6.1 Hozzuk létre a sémák feletti táblákat! Hogyan adnánk meg, hogy vezAdószám külső kulcs? 6.2 Szúrjunk be a ‘hulladékgatdálkodási’ osztályt, és egy új dolgozót erre az osztályra. Nevezzük is ki osztályvezetőnek. 6.3 Növeljük az összes 10 és 20 közti osztálykódú dolgozó fizetését 20%- kal. 6.4 Kovács Márta nyugdíjba ment. Töröljük az adatait. 6.5 Töröljük ki a ‘hulladékgazdálkodási’ osztályt.