Érettségi‎ > ‎Gyakorlat‎ > ‎Adatbázisok‎ > ‎

Feltalálók

Magyar találmányok, technikai alkotások neveinek gyűjteménye és feltalálók adatai állnak rendelkezésre a talalmany.txt, kutato.txt és a kapcsol.txt állományban. A találmányok és a feltalálók között N:M (több a többhöz) kapcsolat van, ezt kapcsoló tábla használatával oldjuk fel. 

Feladatok

  1. Készítsen új adatbázist  feltalalok néven! Importálja az adattáblákat az adatbázisba talalmany, kutato és kapcsol néven! A txt típusú adatállományok tabulátorokkal tagoltak, és az első soruk tartalmazza a mezőneveket. 
  2. Beolvasás után állítsa be a megfelelő adatformátumokat és kulcsokat! A táblákba ne vegyen fel új mezőt! 

    Táblák

    talalmany (tkod, talnev) 
       tkod A találmány azonosítója (szám), ez a kulcs 
       talnev A találmány neve (szöveg) 

    kutato (fkod, nev, szul, meghal) 
       fkod A kutató vagy feltaláló azonosítója (szám), ez a kulcs 
       nev A kutató neve, vezeték- és utónév sorrendben (szöveg) 
       szul A kutató születési éve (szám) 
       meghal Halálozási éve – ma is élők esetén üres (szám) 

    kapcsol (tkod, fkod) 
       tkod A találmány azonosítója (szám) 
       fkod A kutató azonosítója (szám) 

    Csak akkor szerepel egy találmány azonosítója a kapcsol táblában, ha a feltaláló neve ismert. 

    Készítse el a következő feladatok megoldását! A zárójelben lévő néven mentse el azokat!
  3. Listázza ki ábécérendben lekérdezés segítségével azoknak a találmányoknak a nevét, amelyek nevében szerepel a „motor” szó! (3motor) 
  4. Lekérdezéssel írassa ki Forgó László találmányainak nevét! (4forgo) 
  5. Adja meg lekérdezés segítségével, hogy ki volt a golyóstoll feltalálója és hány évig élt! (5golyostoll) 
  6. Sorolja fel lekérdezés alkalmazásával azoknak a találmányoknak a nevét, amelyeknek a feltalálója nincs megadva az adatbázisban! (6nevtelen) 
  7. Milyen találmányaik voltak azoknak a kutatóknak, akik a XIX. század első felében (1801 és 1850 között, a határokat is beleszámolva) is éltek? A kutatók és a találmányok nevét adja meg lekérdezés használatával! (7felszazad) 
  8. Sorolja fel lekérdezés alkalmazásával azoknak a kutatóknak a nevét és a találmányaik számát, akik legalább 3 kutatási eredménnyel szerepelnek az adatbázisban! (8kutszam) 
  9. Adja meg lekérdezés segítségével, hogy a „transzformátor” feltalálóinak – a „transzformátor”-on kívül – milyen más találmányaik vannak az adatbázisban! Minden találmány neve egyszer szerepeljen a listában! (9transzformator)                            
  10. Lekérdezéssel listázza ki azokat a feltalálókat és találmányaik nevét, akiknek a vezetékneve szerepel a találmány nevében! (10nevado) 

    Segítségül néhány SQL szövegkezelő függvény: 

    Left(szöveg,hossz)  a hossz argumentumban megadott számú karaktert adja balról 
    Right(szöveg,hossz)  a hossz argumentumban megadott számú karaktert adja jobbról 
    Len(szöveg) a szöveg karaktereinek számát adja 
    InStr(szöveg1,szöveg2) szöveg1-ben a szöveg2 hányadik karakternél kezdődik 
    Mid(szöveg, kezdet, hossz) a szöveg-ből kezdet pozíciótól hossz darab karaktert ad eredményül

    Ugyanezek a függvények HSQL-ben (ami a Base belső SQl motorja):

    Left(szöveg,hossz)  a hossz argumentumban megadott számú karaktert adja balról 
    Right(szöveg,hossz)  a hossz argumentumban megadott számú karaktert adja jobbról 
    Length(szöveg) a szöveg karaktereinek számát adja 
    Locate(szöveg1,szöveg2) szöveg1-ben a szöveg2 hányadik karakternél kezdődik 
    Substring(szöveg, kezdet, hossz) a szöveg-ből kezdet pozíciótól hossz darab karaktert ad eredményül