logo search
Проектування та розробка баз даних реєстру повітряних суден (на прикладі реєстру цивільних повітряних суден України)

6.2 Опис запитів по вибору даних, що реалізують описані задачі

1. Видати список всіх зареєстрованих повітряних суден (бортовий номер, власник, реєструючий орган)

SELECT aircraft.Null_No, registration.Owner, reg_organ.Name

FROM aircraft, registration, reg_organ

WHERE aircraft. RegID = registration.ID and registration.OrganName = reg_organ.name;

2. Видати всі результати обслуговування повітряного судна (бортовий номер, результати) за період з 1.01.2011 по 1.01.2012

SELECT aircraft.hull_No, serv.result

FROM serv, service, aircraft, registration, reg_organ

WHERE aircraft. RegID = registration.ID and registration.OrganName = reg_organ.name and service.Name = serv.servName and serv.Null_No=aircraft.Null_No and serv.srvDate BETWEEN TO_DATE(`1.01.2011, `DD.MM.YYYY) AND TO_DATE(`1.01.2012,DD.MM.YYYY);

3. Видати перелік авіакомпаній, судна яких зареєстровані

SELECT aircompany.Name

FROM aircompany, aircraft, registration, reg_organ

WHERE aircraft. RegID = registration.ID and registration.OrganName = reg_organ.name and aircraft.companyname = aircompany.Name

4. Видати список зареєстрованих повітряних суден (бортові номери, назви типів) з кількістю місць менше 250

SELECT aircraft.Hull_NO, aircrafttype.Name

FROM aircrafttype, aircraft, registration, reg_organ

WHERE aircraft. RegID = registration.ID and registration.OrganName = reg_organ.name and aircrafttype.Name = aircraft.ac_type and aircrafttype.placecount<250;

5. Вивести список служб, які обслуговували певний рейс

SELECT serv.ServName

FROM serv, aircraft,

WHERE serv.Hull_No=aircraft.Hull_No and Aircraft.id=148;

6. Видати повітряні судна заданої авіакомпанії (бортові номери), що пройшли повторну реєстрацію

SELECT aircraft.Hull_NO

FROM aircompany, aircraft, registration, reg_organ

WHERE aircraft. RegID = registration.ID and registration.OrganName = reg_organ.name and aircraft.companyname = `Авиакомпания#1;

7. Видати кількість літаків певного типу, що належать заданій авіакомпанії

SELECT COUNT(*)

FROM aircraft, registration, reg_organ

WHERE aircraft. RegID = registration.ID and registration.OrganName = reg_organ.name and aircraft.tp_Name=АН-140 and aircraft.companyname=Авиакомпания#2;

8. Вибрати ті судна (бортові номери) АН-140, які не проходили обслуговування в періодс 1.01.2011 до 01.01.2012

SELECT aircraft.hull_No

FROM aircraft, aircrafttype

WHERE aircraft.ac_type = aircrafttype.Name AND aircraft.ac_type=АН-140 AND aircraft.Hull_No NOT IN (

SELECT aircraft.Hull_No

FROM aircraft, serv

WHERE serv.Hull_No = aircraft.hull_No AND serv.srvDate not BETWEEN TO_DATE(`1.01.2011, `DD.MM.YYYY) AND TO_DATE(`1.01.2012,DD.MM.YYYY);

);