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 kötelezően. # Ebben a pozícióban egy számjegyet, szóközt, vagy pluszjelet illetve mínuszjelet adhat meg. Ha kihagyja ezt a pozíciót, az Access egy szóközzel tölti ki. L Betű. Ebben a pozícióban egyetlen betűt kell megadnia. ? Betű. Ebben a pozícióban nem kötelező megadni betűt. A Betű vagy számjegy. Ebben a pozícióban egyetlen betűt vagy számjegyet kell megadni. a Betű vagy számjegy. Ebben a pozícióban nem kötelező megadni betűt vagy számjegyet. & Bármilyen karakter vagy szóköz. Ebben a pozícióban egyetlen karaktert vagy egy szóközt kell megadni. C Bármilyen karakter vagy szóköz. Ebben a pozícióban nem kötelező megadni karaktert vagy szóközt.., : ; - / Ezres és tizedes elválasztók, dátumelválasztók és időelválasztók.
Adatbázis II. SQL (Makány Györgytől) és kapcsolatok Nagy Gyula
Structured Query Language relációs adatbázisok adatainak visszakeresésére, frissítésére, kezelésére szolgáló nyelv. Születési idő és hely: 1976 IBM, a relációs adatmodellel nagyjából egyidőben. Szabványosítva ANSI SQL néven 1986-ban Egyszerű, gyorsan tanulható (kb. 40 kulcsszó, angol mondat) SQL
Az SQL-t sokszor beépítik adatbáziskezelő rendszerekbe Gyakori a minta alapján történő lekérdezés. Az SQL rendszerek illeszkednek az elterjedt adatállomány-formátumokhoz. Az SQL kapcsolatai
Adattípusai lefedik az adatbáziskezelőkben előforduló szokásos típusokat: •CHARkaraktertípus •STRINGakár karakteres szöveg •DATE, TIMEdátum, idő •SMALLINT16 bites előjeles egész szám •INTEGER32 bites előjeles egész szám •DOUBLE PRECISION64 bites egész, kb. 15 értékes jegy •DECIMALfixpontos törtszám, max. 15 jegy •FLOATlebegőpontos valós, max. 15 pontos jegy SQL adattípusok
•Adatdefiníciós utasítások •Lekérdezések •Adatkarbantartó utasítások •Speciális beágyazott utasítások Az SQL utasításai
Elmaradások A km mező adatainak végén jelenjen meg a mértékegység (km). (Formátum) Készítsünk egyedi beviteli formátumot a rendszámok rögzítéséhez.
Adatdefiníciós utasítások oszloptípus definiálása CREATE DOMAIN oszloptípus definiálása adattábla létrehozása CREATE TABLE adattábla létrehozása kulcsok definiálása CONSTRAINTS kulcsok definiálása adattábla szerkezetének megváltoztatása ALTER TABLE adattábla szerkezetének megváltoztatása adattábla megszüntetése DROP TABLE adattábla megszüntetése önálló feltétel definiálása CREATE ASSERTION önálló feltétel definiálása önálló feltétel megszüntetése DROP ASSERTION önálló feltétel megszüntetése index létrehozása CREATE INDEX index létrehozása nézettábla létrehozása CREATE VIEW nézettábla létrehozása nézettábla törlése DROP VIEW nézettábla törlése adatbázisséma létrehozása CREATE SCHEMA adatbázisséma létrehozása
SELECT autok.rendszám, autok.szín FROM autok Lekérdezések 1. A lekérdezések mindig ezzel az igével kezdődnek. SELECT A lekérdezések mindig ezzel az igével kezdődnek. Az összes oszlop megjelenik a lekérdezésben * Az összes oszlop megjelenik a lekérdezésben oszlopok az oszlopok neveinek vesszővel elválasztott sorozata oszlopfelirat az oszlop neve helyett álló szöveg (ideiglenes név) a lekérdezésben érintett adattáblák nevei FROM a lekérdezésben érintett adattáblák nevei
Az oszlopokra és a mezőkre kifejezéseket lehet megfogalmazni. Mezőkre például adatkonverziót (CAST), karakteres, matematikai (ABS, SIN, EXP, stb.), logikai vagy dátum műveletet, Oszlopokra különféle függvényeket (MIN, MAX, SUM, COUNT, AVG, stb.) Lekérdezések 2 SELECT First(autok.rendszám) AS FirstOfrendszám, Min(autok.km) AS MinOfkm FROM autok
SELECT Avg(Year(Date())-[év]) AS éves FROM Autók WHERE (((Autók.ár)> )); SELECT Sum(Autók.ülés) AS SumOfülés FROM Autók WHERE (((Autók.típus) Like "*Suzuki*"));
Lekérdezések 3. Záradékok a megjelenítendő rekordok szűrésére: DISTINCT, WHERE, LIKE, IN, BETWEEN, NOT, AND, OR a talált sorok rendezése ORDER BY a talált sorok rendezése ( ( ASC, DESC) a talált sorok csoportosítása GROUP BY a talált sorok csoportosítása meg nem felelő sorok kizárása HAVING meg nem felelő sorok kizárása
Példa SELECT autok.rendszám, [km]/(Year(Date())-[év]) AS átlag_km FROM autok WHERE (((autok.fogyasztás)>6) AND ((autok.típus) Like "Opel*")) ORDER BY autok.rendszám; Listázzuk a 6 liternél többet fogyasztó Opel gépkocsik rendszámát valamint hogy átlagosan évente mennyit futottak (ezt a mezőt nevezzük "átlag_km"-nek).
Lekérdezés 5. További lehetőségek: Táblák egyesítése (UNION) Táblák metszete (INTERSECT) Táblák különbsége (EXCEPT vagy MINUS) Táblák összekapcsolása (alkérdéssel) Táblák külső összekapcsolása (INNER-,OUTER JOIN)
Adatkarbantartó utasítások új rekordok bevitele INSERT új rekordok bevitele rekordok tartalmának megváltoztatása UPDATE rekordok tartalmának megváltoztatása rekordok törlése DELETE rekordok törlése
Kapcsolatok
Ingatlan adatbázis három táblával Ingatlan témában létrehoztunk három táblát: Ingatlan, Képviselő, Típus. Hogyan gyűjthetjük ki az összetartozó adatokat. Ennek első lépése az, hogy a táblák között kapcsolatokat definiálunk. Ezt követően létrehozhatunk lekérdezéseket, űrlapokat és jelentéseket
Ingatlan adatbázis
Kulcsmezők A kapcsolat a kulcsmezők értékeit rendeli egymáshoz. A legtöbb esetben egyik táblában kulcs a másik táblában pedig ez az idegen kulcs. A képviselőkhöz ingatlanok, amelyekért felelnek, a két tábla képviselőID mezőin át.
A KépviselőID-t a Képviselő táblában kulcs lesz Kijelöljük a KépviselőID mezőt, Majd a sárga kulcsra kattintunk. PRESS ANY KEY TO CONTINUE AND ANY OTHER KEY TO QUIT
A táblák
Kapcsoljuk össze az Ingatlan táblát a Típus táblával:
Egy a többhöz Az egy-a-többhöz kapcsolatban az A tábla valamely rekordjához több rekord tartozhat a B táblában, Egy képviselőhöz több lakás, de egy lakáshoz csak egy képviselő tartozik Több a többhöz valójában kettő egy a többhöz kapcsolat
A hivatkozási integritás Microsoft Access szabályok rendszere, amelyet a kapcsolódó táblákban lévő rekordok közötti kapcsolatok érvényességének biztosítására és a kapcsolódó adatok véletlen törlésének, vagy módosításának megakadályozására használ.
Kapcsolt mezők kaszkádolt frissítése Ha a Kapcsolt mezők kaszkádolt frissítése: a rekord elsődleges kulcsának módosításakor automatikusan frissíti az elsődleges kulcsot az új értékre az összes kapcsolódó táblában is. Ha módosítjuk a Képviselő táblában az azonosítóját, akkor az Ingatlanok táblában is automatikusan frissül
Kapcsolt rekordok kaszkádolt törlése aa Kapcsolt rekordok kaszkádolt törlése négyzetet kiválasztjuk, akkor a rekordok törlésekor automatikusan törlödnek a kapcsolódó rekordok a kapcsolódó táblákban. HHa például törlünk egy képviselőt a Képviselők táblából, akkor minden ingatlana is automatikusan törlődik az Ingatlan táblából HHa rekordokat törlünk, és a Kapcsolt rekordok kaszkádolt törlése négyzet be van jelölve, a figyelmeztetést jelenít meg, hogy a kapcsolódó rekordok is törlődnek.