Jump to content

Duvidas em Base de Dados - consulta


Ricardo Sousa Pio
 Share

Recommended Posts

Ola..

Boa noite,

preciso de uma ajuda no meu projecto Final de Base de dados.

estou desenvolvendo um sistema de gestão de carpooling(Carona solidaria) e

não consigo fazer as seguinte consulta:

1- Obter dados de todas as boleias em curso, local de origem e destino, data e hora, passageiro, condutores e dados da viatura usada em cada boleia.

2-obter o nome do condutor que em media, colecta a maior quantia (medida em valor de custo/boleia*numero passageiros transportados), em boleias nao frequentes que tem como local de origem ou destino a faculdade. (retificado)

Link to comment
Share on other sites

Ja tenho as estrutura a Principio esta ai a estrutura das tabelas:

Tabela Utentes

create table utente(
pseudonimo varchar2(50),
nome varchar2(60),
categoria varchar2(20),
curso varchar(60)null,
numero number(10),
constraint "chave_primaria_utente" primary key(pseudonimo)
)

TABELA Local

create table local(
cod_local number(10),
latitude number(5,2),
longitude number(5,2),
nome varchar(60),
constraint "pk_local_cod" primary key(cod_local)
)

TABELA VIATURA

create table viatura(
cod_viatura number(10),
marca varchar(20),
modelo varchar(20),
matricula varchar(20),
pseudonimo varchar2(60),
num_ocupantes number (5),
constraint "pk_viatura_cod" primary key (cod_viatura),
constraint "fk_viatura_utente" foreign key (pseudonimo) references utente(pseudonimo)
)

TABELA CONDUTOR

create table condutor(
cod_condutor number(10),
num_conta number(10),
num_telefone varchar(20) null,
pseudonimo varchar2(60),
cod_viatura_uso number(10) null,
constraint "fk_condutor_viatura" foreign key (cod_viatura_uso) references viatura(cod_viatura),
constraint "pk_condutor_cod" primary key (cod_condutor),
constraint "fk_condutor_utente" foreign key (pseudonimo) references utente(pseudonimo),
constraint "fk_condutor_conta" foreign key (num_conta) references conta(num_conta)
)

TABELA BOLEIA

create table boleia(
cod_boleia number(10),
cod_condutor number(10),
cod_trajecto number(10),
custo number(10,3),
data_inicio date,
hora_inicio varchar2(15),
frequencia varchar2(5),
tipo_frequencia varchar2(10) null,
diaria varchar2(5)null,
dia_semana varchar2(10)null,
dia_mes number(2)null,
em_curso varchar(5),
data_termino date null,
descricao varchar2(150) null,
constraint "pk_boleia_cod" primary key (cod_boleia),
constraint "fk_boleia_condutor" foreign key (cod_condutor) references condutor(cod_condutor),
constraint "fk_boleia_trajecto" foreign key (cod_trajecto) references trajecto(cod_trajecto)
)

TABELA PASSAGEIRO

create table passageiro(
pseudonimo varchar2(60),
num_conta number(10) null,
cod_boleia number(10) null,
cod_passageiro number(10),
constraint "pk_passageiro_cod" primary key (cod_passageiro),
constraint "fk_passageiro_utente" foreign key (pseudonimo) references utente(pseudonimo),
constraint "fk_passageiro_boleia" foreign key (cod_boleia) references boleia(cod_boleia),
constraint "fk_passegeiro_conta" foreign key (num_conta) references conta(num_conta)
)

TABELA TRAJECTO

create table trajecto(
cod_trajecto number(10),
cod_local_origem number(10),
cod_local_destino number(10),
constraint "pk_trajecto_cod" primary key (cod_trajecto),
constraint "fk_trajecto_local_cod" foreign key (cod_local_origem) references sitio(cod_local),
constraint "fk_trajecto_local_cod2" foreign key (cod_local_destino) references sitio(cod_local)
constraint "verifica_local_origem_destino" check (cod_local_origem <> cod_local_destino)
)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.