Kutyaaktivitás_2023_majus_középszint

Kutyaaktivitás_2023_majus_középszint

1. Adatbázis és táblák létrehozása

Először hozzuk létre az adatbázist kutyaaktivitas néven, majd importáljuk a fájlokat a megfelelő táblákba.

Adatbázis létrehozása:

CREATE DATABASE kutyaaktivitas;

USE kutyaaktivitas;

Táblák létrehozása:

  • kutya tábla:j

CREATE TABLE kutya (

id INT AUTO_INCREMENT PRIMARY KEY,

nev VARCHAR(255) UNIQUE NOT NULL,

szuldatum DATE NOT NULL,

kan BOOLEAN NOT NULL,

ivartalanitott BOOLEAN NOT NULL,

testtomeg INT NOT NULL,

kaloria INT NOT NULL

);

  • aktivitas tábla:

CREATE TABLE aktivitas (

id INT AUTO_INCREMENT PRIMARY KEY,

datum DATE NOT NULL,

kutyaid INT,

razas BOOLEAN NOT NULL,

vakarozas BOOLEAN NOT NULL,

ugatas INT NOT NULL,

kaloria INT NOT NULL,

alvas INT NOT NULL,

FOREIGN KEY (kutyaid) REFERENCES kutya(id)

);

Táblák importálása:

A phpMyAdmin segítségével importálhatjuk a két szöveges fájlt (kutya.txt, aktivitas.txt). Győződjünk meg róla, hogy a fájlok UTF-8 kódolásúak és tabulátorokkal vannak tagolva.

  • Nyissuk meg a phpMyAdmin felületet.
  • Válasszuk ki az kutyaaktivitas adatbázist.
  • Kattintsunk az "Importálás" fülre.
  • Töltsük fel a fájlokat (kutya.txt és aktivitas.txt), és biztosítsuk, hogy a fájlok tabulátorral tagoltak és UTF-8 kódolásúak.

2. Lekérdezések megoldása

Most készítsük el a kért lekérdezéseket:

2. Ábécérendben az ivartalanított szukák nevei:

SELECT nev

FROM kutya

WHERE ivartalanitott = TRUE AND kan = FALSE

ORDER BY nev;

3. Kutyák, akiknél volt olyan nap, amikor alvásuk legfeljebb 80 pontot ért el és rázás vagy vakarózás is történt:

SELECT DISTINCT k.nev

FROM kutya k

JOIN aktivitas a ON k.id = a.kutyaid

WHERE a.alvas <= 80 AND (a.razas = TRUE OR a.vakarozas = TRUE);

4. A ".Husi" nevű kutya, aki augusztusban több energiát használt fel, mint a normális napi energiaigénye:

SELECT COUNT(*) AS augusztusi_napok

FROM aktivitas a

JOIN kutya k ON a.kutyaid = k.id

WHERE k.nev = '.Husi'

AND MONTH(a.datum) = 8

AND a.kaloria > k.kaloria;

5. Legutoljára használt aktivitásmérővel rendelkező kutya:

SELECT k.nev, MIN(a.datum) AS elso_hasznalat

FROM kutya k

JOIN aktivitas a ON k.id = a.kutyaid

GROUP BY k.id

ORDER BY elso_hasznalat DESC

LIMIT 1;

Készítsd el weboldaladat ingyen! Ez a weboldal a Webnode segítségével készült. Készítsd el a sajátodat ingyenesen még ma! Kezdd el