Escribe para buscar…

Query - Airline Fligts

Esta página todavía no se ha traducido — se muestra en su idioma original:Català

Introducció

El camp temàtic d’aquesta base de dades són els vols de companyies aèries a Rússia.

En desenvolupar aquesta base de dades de demostració, vam perseguir diversos objectius:

  • L’esquema de la base de dades ha de ser prou senzill com per ser entès sense explicacions addicionals.

  • Al mateix temps, l’esquema de la base de dades ha de ser prou complex per permetre escriure consultes significatives.

  • La base de dades ha de contenir dades reals amb les quals sigui interessant treballar.

Instal.lació

Entra dins el contenidor postgres_db_1 i descarrega la base de dades Airline Flights:

shell
$ docker exec -it postgres_db_1 sh
... $ curl https://gitlab.com/xtec/postgres-data/-/raw/main/airline_flights.dump | su postgres -c " pg_restore -C -d postgres"

Conecta’t a la base de dades:

shell
... $ psql -U postgres airline_flights
    ... $ \d
                           List of relations
          Schema  |         Name          |   Type   |  Owner   
        ----------+-----------------------+----------+----------
         bookings | aircrafts             | view     | postgres
         bookings | aircrafts_data        | table    | postgres
        ...

Esquema

classDiagram
direction LR

class Bookings { 
  # book_ref
  book_date
  total_amount
}
class Tickets { 
  # ticket_no
  passenger_id
  passenger_name
  contact_data
}
Tickets ..> Bookings : book_ref

class Airports {
  # airport_code
  airport_name
  ...
}

class Flights {
  # flight_id
  flight_no
  schedule_departure
  ...
}

Flights ..> Airports: departure_airport
Flights ..> Airports: arrival_airport
Flights ..> Aircrafts: aircraft_code

class Tickets_flights {
  fare_conditions
  amount
}

Tickets_flights --> Tickets : # ticket_no
Tickets_flights --> Flights : # flight_id

class Aircrafts {
  # aircraft_code
  model
  range
}

class Seats {
  # seat_no
  fare_condtions
}

Seats --> Aircrafts:  #aircraft_code

Schema bookings

L’esquema bookings conté tots els objectes de la base de dades de demostració. Quan us connecteu a la base de dades, el paràmetre de configuració search_path s’estableix automàticament en bookings, public, de manera que no cal que especifiqueu explícitament el nom de l’esquema.

Tanmateix, per a la funció bookings.now, sempre heu d’especificar l’esquema per distingir aquesta funció de la funció estàndard now.

Translations

Per defecte, els valors de diversos camps traduïbles es mostren en rus. Aquests són airport_name i city de la vista de airports, així com el model de la vista de aircrafts.

Podeu optar per mostrar aquests camps en un altre idioma (tot i que a la base de dades de demostració només es proporciona la traducció a l’anglès).

Per canviar a l’anglès, configureu el paràmetre bookings.lang a en. Pot ser convenient triar l’idioma a nivell de base de dades:

sql
ALTER DATABASE demo SET bookings.lang = en;

Heu de tornar a connectar-vos a la base de dades perquè aquesta ordre tingui efecte.

Consultes

1.- Tots els vols operats pels diferentes tipus d’avions:

{% sol %}

sql
SELECT * FROM aircrafts;

Estás leyendo una vista previa.

Inicia sesión con Google para leer la página completa. Sigue el itinerario de aprendizaje — cada página se desbloquea cuando has leído las que la preceden. El alumnado y el profesorado leen las páginas de su curso sin límite.

Iniciar sesión