Informatika gyűjtemény

NézetNyomtat

Forma-1

A fiatalok körében egyre népszerűbbek a technikai sportok, így a Forma–1 is. A jelen versenyzőit mindenki ismeri, de nagyon kevesen tudnak bármit is a kezdetekről. Nem tudják, hogy valaha egy futamon egy autót több versenyző is vezethetett, sőt egy versenyző akár több kocsit is vezethetett. Adatbázisunk majd minden futamnak és versenyzőnek az adatait tartalmazza az első évtized eredményei mellett.

Az adatbázis tartalma

Készítsen új adatbázist forma1 néven! A mellékelt három – tabulátorokkal tagolt – szöveges állományt (gp.txt, eredmeny.txt, pilota.txt) importálja az adatbázisba a fájlnévvel azonos néven (gp, eredmeny, pilota)! Az állomány első sora a mezőneveket tartalmazza. A létrehozás során állítsa be a megfelelő típusokat és kulcsot! Az eredmeny táblához adjon hozzá Id néven egyedi azonosítót!

Táblák

gp (datum, nev, helyszin)
	datum		A nagydíj dátumát adja meg, amely egyben azonosító is (dátum).
	nev		A nagydíj neve (szöveg).
	helyszin	A nagydíjat lebonyolító ország neve (szöveg).

eredmeny (id, datum, pilotaaz, helyezes, hiba, csapat, tipus, motor)
	id		Az eredmény azonosítója (számláló).
	datum		Annak a nagydíjnak a dátuma, ahol az eredményt elérték (dátum).
	pilotaaz	Annak a pilótának azonosítója, aki az eredményt elérte (szám).
	helyezes	A versenyző helyezése az adott nagydíjon (szám); 
			ha nem ért célba, akkor a mező üres.
	hiba		A hiba megnevezése, ha a versenyző nem ért célba (szöveg); 
			ha célba ért, a mező üres.
	csapat		A versenyző csapatának neve (szöveg); 
			egyéni induló esetén a mező üres.
	tipus		A versenyző kocsijának típusa (szöveg).
	motor		A versenyző által használt kocsi motorjának típusa (szöveg).

pilota (az, nev, nem, szuldat, nemzet)
	az		A versenyző azonosítója (szám).
	nev		A versenyző neve (szöveg); 
			a név írásmódja angol, 
			tehát mindig a vezetéknév szerepel a név végén.
	nem		A versenyző neme (szöveg); 
			ha férfi, akkor F; ha nő, akkor N az értéke.
	szuldat		A versenyző születési dátuma (dátum).
	nemzet		A versenyző nemzetisége (szöveg).

Kérdések

A következő feladatok megoldásánál a lekérdezéseket a zárójelben olvasható néven mentse! Ügyeljen arra, hogy a megoldásban pontosan a kívánt mezők szerepeljenek!
  1. Sokan úgy gondolják, a Hill vezetéknevű pilóták egy családhoz tartoznak. Őket nem rokoni szálak kötik össze, hanem az, hogy mindhárman világbajnokságot nyertek. Készítsen lekérdezést, amely megjeleníti a Hill vezetéknevű versenyzők nevét, nemzetiségét és születési idejét a születési idő sorrendjében! (2bajnok)
  2. Adja meg lekérdezés segítségével, hogy az adatbázis mely futamgyőztesek (nagydíj-győztesek) nevét tartalmazza! Ügyeljen arra, hogy egy versenyző neve se jelenjen meg többször! (3gyoztes)
  3. Juan-Manuel Fangio volt a korszak egyik legnevesebb versenyzője. Készítsen lekérdezést, amely megadja, hogy hány éves volt, amikor az első versenyén indult! (4fangio)
  4. Készítsen lekérdezést, amely megadja, hogy a Ferrari típusú versenyautók esetében mi volt az a három leggyakoribb hiba, ami miatt nem fejezték be a futamot! (5hiba)
  5. Hozzon létre az eredmeny táblában egy logikai típusú, privat nevű mezőt! Készítsen lekérdezést, amely a privat mező értékét igazra állítja, ha a versenyzőnek nem volt csapata! (6privat)
  6. Ismerősünk szerette volna kideríteni, hogy mely országok kerültek a rendezők közé az első magyarországi nagydíjat követően. Úgy gondolta, meghatározza a rendező országokat az első magyarországival bezárólag, majd megkeresi a rendezők közül azokat, amelyek az előző listában nem szerepelnek. A megoldás begépelését sajnos nem volt ideje befejezni, így csak eddig jutott:
    	SELECT DISTINCT helyszin FROM gp WHERE helyszin NOT IN( ... );
    
    Készítse el azt a lekérdezést, amelyet a zárójelbe kell illeszteni! (7ujak)
  7. Készítsen lekérdezést, amely megjeleníti a Monacoban rendezett nagydíjak első 6 helyezettjének nevét, helyezését, csapatát, valamint a futam évét! A lekérdezést felhasználva készítsen jelentést! A jelentésben a lekérdezéshez kért mezők jelenjenek meg év, azon belül helyezés szerint csoportosítva! (8monaco)