Kezdőoldal » Számítástechnika » Egyéb kérdések » Mit jelentenek ezek az sql...

Mit jelentenek ezek az sql parancsok?

Figyelt kérdés

OKJ Konzultáció Sallai András 2015_05_07

NORMAIZÁLÁS

--> [link]

-->Idegen kulcs

Összetett táblákból törlés

2 TÁBLA-->KAPCSOLATOT EGY MÁSIK TÁBLÁBAN-->EGYIKBEN SZÁMOK A MÁSIKBAN AZONOSÍTÓ KELL TÖRÖLNÖM

össze kapcsolva idegen kulcsal

törölje ki Nagy Jószefet és jegyét-->jegyet kitörlöm és utána lehet ő magát(idegen kulcsal lesz összekapcsol 2 tábla.)Mindig abból kell törölni ahol az idegen kulcs van)

Kapcsolatok adatbázisok között


1:N kapcsolatban van akkor optimális (erre kell törekedni)

1:1 tervezünk -->valószinüleg-->felesleges van felvéve egy mező (felesleges tábla

N:N-->logikailag így tudjuk-->valamelyi mezőt ki kel tenni táblába (plusz tábla kell)


Normalizálás


egy tábla többször szerepel az EDDA még rosszabb -->ebben a mezőbe több érték van-->ilyen van akkor nincsen 1 normálformán

1.össze szedtük h miket kell tárolni

2.majd tervezünk



Első Normárforma

-->egy táblából kettőt csinálok-->úgy h ne legyen fügösség

-->Kell h legyen egyedi azonosító (cd táblában-->cdAz)(plusz mező hozok létre)

-->Zeneszám oszlop ki-->CD táblából és egy külön táblába-->Zeneszám van egy CD és ZENESZÁM táblám//nincs függöség

1 adat többször is szerpel egy táblázatban//ha változtatni kell akkor nagyon sok ehylen kell-->akkor nincs 2. normárformán


2.normárforma

-->1. normárformán kell h lehgyen

-->nincsenek ismétlések

előadó CD ítrja nem ?Nem

előadó kapcsolatba valami infó kell?Nem

redundáns mert ismétlődik


mellérendelő viszony előadó és kiadó nincs teljesen allárendelbve egyedi aznisítónak-->mellérendelő viszonyban


akkor lenne jó cdAz-->allárendelve lenne teljesen


CD cím már alárendelő viszonybav van már


megnézem tartalmat és ismétlések vannak -->akkor


CD táblában van mező az mint alárendelő viszonybann legyen


kiadónak kell külön-->egyed


Kiado nem cd Kiado egyedhez tartozik

megkeressük egy létező táblában-->vagy létrehozunk egy másikhoz


N:N-->több a többhöz kapcsolat van meg kell szüntetni-->vagy egy kapcsoló táblaval vagy át kell rendeznem


kapcsolómező-->első tábla neve és másik tábla neve-->ez a kapcsoló mező igy 1:n kapcsolatunk van már


3.Normálforma


kIADÓKNÁL TÖBB ÉRTÉKET IS ADATOT AKAROK TÁROLNI-->VALAMI PLUSZ INFÓT AKAROK TÁROLNI-->VAN 2 OLYAN MEZŐ AMI NAGYON FÜGG EGYMÁSTÓL-->HA EGYIKET VÁLTOZTATOM VÁLTOZIK A MÁSIK IS

függöségben vannak-->ezért nincs 3.NF-->külön táblában rakom-->ORSZÁG táblába rakom


függöség=tranzitív függőség

3.NF van ?


mindig megnézem h 1 normárformán van vagy 2. vagy 3.


Fizika tervezés

-Idegen kulcsot is petesszük-->többes oldalon van idegen kulcs

-Adott adatbázistól h miben tárolom

-NULL-->nem információnk h mennyi-->null lehet van jutalma de lehet h nincs nem árulkta el nekünk

-0-->valakinek van jutalma valakinek nincs


------------------------------------------------------------------------------------------------------

SQL(Gyakorlat)



értelmezeni a kell pl.:Create stb.


collacte utf8_hungarian_ci-->akkor vanank értelmezve ha rendezés van betűrendszer szerint-->akkor h milyen ABC vegen figyelmbe-->collacte-->meg lehet adni h miszerint lehgen értelmezve

InnoDB-->táblatípusa

autoicrement=6-->ha van vbenne ez a mezó(autoicrement)-->akkor a következő()


Insert into-->sorok beszúrása(va olyan feladat h vehyük fel sor)

Táblába bele

alt+gr+7-->ezzel csinálok ferde aposztrofot

VALUES-->után konkrét értékek


------------------------------------------------------------

SELECT példák

1.feladat

vannak e miskolci dolgozók?


SELECT * FROM `szemelyek`WHERE telepules="Miskolc"


feladat-->számoljunk valamit megszámolás-->count mindig a számolás


SELECT COUNT(*) as Miskolciak

FROM `szemelyek`

WHERE telepules="Miskolc"

megszámolsá-->ki kell iratni mindig!!!!


select-->leválogatás

select után milyen mezők összes mező *

from-->milyen táblából szertnék

where-->szűrés


2Feladat

OR hazsnálata

mEGSZÁMOLOM HÁNYAL ÉLNEK SZOLNOK ÉS MISKOLCON


SELECT COUNT(*) as `Miskolciak és Szolnokiak`

FROM `szemelyek`

WHERE telepules="Miskolc" OR telepules="Szolnok"


` -->tábla neveket mező neveket as kulcszó neveket is-->akkor van értelme ha szóköz van a szövegben


ha megvan feladat-->txt le kell menteni

r

egy jegyzetömb-->ctrl+c és ctrl+v a


-----------------------------------------------------

AND használata (Logikai ÉS kapcsolat hazsnálata(akkor igaz ha mindegyik igaz különben nem))


Azon miskolciak, nevét szeretném megjeleníteni akiknek a fizetése több mint 650000 ft


SELECT nev

FROM szemelyek

WHERE telepules="Miskolc" AND fizetes>650000


---------------------------------------------------

Miylen besozstások vannak?


SELECT nev FROM beosztasok


---------------------------------------------------

Miylen beosztásai vannak a Miskolciaknak?


inner join-->köt össze

meg kell adni 2 táblába mi az összekapcsoló mezők


SELECT beosztasok.nev

FROM beosztasok

INNER JOIN szemelyek

ON beosztasok.az=szemelyek.beosztasAz

ezekkel összekötöttem a 2 táblát


WHERE szemelyek.telepules="Miskolc"

GROUP BY beosztasok.nev //csoportosítom



--------------------------------------------------

Modosítások

az mezőt azért nem növelem mert automatikusan növeli 1 az értéket-->auto_icrement


Szúrjuk be kettő új beosztást: szabó-->asztalos :


INSERT INTO beosztasok

(nev,leiras)

VALUES

("szabó","ruhákat készít")


INSERT INTO beosztasok

(nev,leiras) -->ez nem kell-->ha pontsoan annyit értéket adok meg amennyi mezőm van

VALUES ("asztalos","asztalokat készít")


másképp


//Update=használom általáéban a SET


INSERT INTO beosztasok

SET

nev="asztalos"

leiras="asztalokat készít";

----------------------------------------------------

Asztalosnak javítsuk ki a leírását, mert ajtókat is csinál//Update


UPDATE beosztasok

SET

leiras="asztalokat és ajtókat készít"

WHERE nev="asztalos"-->FONTOS!!!nagyon fontos h ezzel lehet kiadni//ha nem azzal adom kia kkor mindenhol megfog változni a jelszó globálisan!Többször megnézni!!!!


-----------------------------------------------------

Töröljük Reith Marion-->azonosítóját használjuk

töröljük az 3 azonosítót Rith Mariant


DELETE FROM szemelyek

WHERE az=3


------------------------------------------------------

Kitérő

elsődleges-kulszó 3db van--> ez az összetettkulcs

FOREIGN KEY(szemelyAz) REFERENCES szemly(Az)-->ezzel függöségi viszonyt alakítunk ki!! idegen kulcs összevan kapcsolva személy tábla Az mezőjével -->elsődleges kulcs//-->meg kell nézbni-->


-------------------------------------------------

függvények


count()-->számláljuk meg

sum()-->összegező

avg()--yátlag

min()-->minimum

max()-->maximum kiválasztása

minimum,maximum kiválaztás másként-->sorbarendezek és megjelenítés-->1//sok eredményből egy-->LIMIT 1


----------------------------------------------------

legnagyobb-->desc

Miskolciak összes fizetése


SELECT sum(fizetes) FROM `szemelyek`

WHERE telepules="Miskolc"


---------------------------------------------------

Miskolciak, és szolnokiak fizetése településenként


ként szerepel-->group by


SELECT sum(fizetes)

FROM `szemelyek`

WHERE telepules="Miskolc" OR telepules="Szolnok"

GROUP by telepules

--------------------------------------------------

Szolnokiak átlagfizetése


SELECT AVG(fizetes) FROM `szemelyek`

WHERE telepules="Szolnok"

---------------------------------------------------

Szolnokiak legidősebb dolgozója


SELECT nev, MIN(szuletes)

FROM szemelyek

where telepules="Szolnok"


---------------------------------------------------

hatványozás


SELECT power (3, 2)-->megadja 3 2 hatványát de nem így fogjuk hazsnálni ez csak az elv


Újabb asatbázisban dolgozunk


gyakEgy_v3.sql


testömeg,tesmagasság(kiszámolása)-->átlagos testömegindexet

testTomeg * (testMagassag^2)



Minden emberk testőmeg indexet kiirja

SELECT vezetekNev,keresztNev,testTomeg / power (testMagassag/100, 2)

FROM tanulok



-->akik nagyobb testömeg indexe nagyobb 25-->túlsúlyos


SELECT vezetekNev,keresztNev,testTomeg

FROM tanulok

WHERE testTomeg /

power (testMagassag/100, 2) >25

---------------------------------------------------------

Beszúrásnál ha két tábla kapcsolatban van idegenkulcsal melyikbe szúrok be elsőnek-->mind a két táblába új lesz

1 táblába szúrok és az Idegen kulcsban a másodikba


---------------------------------------------------------

Bevételek

h melyik vállatnak van a legnagyobb bevétele?


beszúrunk bevételeket a piros és kék zrt hez-->beszúrás fülell


Számoljuk ki a legnagyobb összfzetést



SELECT sum(bevetel)

FROM bevetelek

GROUP BY vallalatNev //vállaltonként


azok a vállatok kellnek akik a lgtöbb az össz bevételük-->nem csak egy de nem tudhatjuk hány van


megnézi melyik legnagyobb és abból több van


Feladat

kérdezzük le legnyagyoiob-->beágyazunk egy olyan select-tet ami-->ami megjeleniti ezeket válallatokat-->beátyazot select csak az h melyik a lgnagyobb-->külső select-->ha kijött redmény 62800000-->öszvebételü vállatokat listázza


Megoldás

legnagyobb összbevétü cégek


SELECT vallalatNev,

SUM(bevetel) AS ossz

FROM bevetelek

GROUP BY vallalatNev

HAVING osz=(

SELECT sum(bevetel) FROM bevetelek

GROUP BY vallalatNev

ORDER BY SUM(bevetel)DESC

LIMIT 1)

//KÓD NEM JÓ!!

-----------------------------------------------------

1970 előtt születtek


SELECT nev

FROM szemelyek

WHERE szuletes<"1970-01-01"


SELECT nev

FROM szemelyek

WHERE szuletes<"1970-01-01 08:13:00"


születés év részét venni//születési évre szürünk



......

where year(szuletes) < 1970



2015. okt. 19. 22:30
 1/3 anonim ***** válasza:
basszus szerintem senki nem fog egy teljes informatika órát tartani neked itt..
2015. okt. 19. 22:44
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:
Összefoglalnád a kérdést maximum 15 sorban?
2015. okt. 19. 22:49
Hasznos számodra ez a válasz?
 3/3 anonim ***** válasza:
Nem is ertem a cegek mit problemaznak az OKJ-s papirral. Masolni mar tok jol tudsz.
2015. okt. 19. 22:58
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!