Ir para conteúdo
Fórum Script Brasil
  • 0

duvida exercicio pl/sql


ricardinho

Pergunta

estou com um exercicio p fazer de pl/sql meu estou com muitas duvidas estou comecando a estudar pl/sql entendam não quero q fazem para mim so quero alguém q entenda de pl sql e me de umas dicas o exercicio é o seguinte

Desenvolva um PL/SQL para calcular o valor da conta de telefone mensal dos clientes, sendo que todo cliente possui um pacote grátis, ao mês, de 400 minutos válidos para ligações locais (mesmo DDD). O minuto excedente de ligações locais e de ligações para DDD diferente é calculado com base na tabela BD_CUSTO_DDD.

Inserir os registros referentes às contas na tabela BD_CONTAS_MENSAIS.

as tabelas:

Create table BD_CLIENTES(

COD_CLIENTE NUMBER(10) NOT NULL constraint PK_BD_CLI primary key,

NOM_CLIENTE VARCHAR2(50) NOT NULL,

NUM_CPF NUMBER(11) NOT NULL,

NUM_RG VARCHAR2(15) NOT NULL,

NOM_CIDADE VARCHAR2(15) NOT NULL,

NOM_BAIRRO VARCHAR2(12) NOT NULL,

NOM_LOGRADOURO VARCHAR2(40) NOT NULL,

SGL_UF VARCHAR2(2) NOT NULL,

NUM_CEP VARCHAR2(8) NOT NULL);

--------------------------------------------------------------------------------------

Create table BD_TELEFONES(

COD_CLIENTE NUMBER(10) NOT NULL,

DDD_TELEFONE NUMBER(3) NOT NULL,

NUM_TELEFONE NUMBER(8) NOT NULL,

DIA_VENCIMENTO NUMBER(2) NOT NULL,

STA_LINHA VARCHAR2(1) NOT NULL constraint CHK_STATUS check (sta_linha in('A', 'I', 'C')),

constraint PK_BD_TEL primary key (ddd_telefone, num_telefone),

constraint FK_TEL_CLI foreign key (cod_cliente) references BD_CLIENTES(cod_cliente));

-------------------------------------------------------------------------------------

Create table BD_LIGACOES(

DDD_TELEFONE NUMBER(3) NOT NULL,

NUM_TELEFONE NUMBER(8) NOT NULL,

ANO_MES NUMBER(6) NOT NULL,

SEQ_TELEFONE NUMBER(5) NOT NULL,

DDD_TELEFONE_DESTINO NUMBER(3) NOT NULL,

NUM_TELEFONE_DESTINO NUMBER(8) NOT NULL,

DAT_INICIO DATE NOT NULL,

DAT_TERMINO DATE NOT NULL,

constraint PK_LIG primary key (ddd_telefone, num_telefone, ano_mes, seq_telefone),

constraint FK_LIG_TEL foreign key( ddd_telefone, num_telefone) references BD_TELEFONES( ddd_telefone, num_telefone));

--------------------------------------------------------------------------------------

Create table BD_CUSTO_DDD(

DDD_ORIGEM NUMBER(3) NOT NULL,

DDD_DESTINO NUMBER(3) NOT NULL,

VAL_MINUTO NUMBER(4,2),

constraint PK_BD_CUSTO primary key( ddd_origem, ddd_destino));

--------------------------------------------------------------------------------------

Create table BD_CONTAS_MENSAIS(

COD_CLIENTE NUMBER(10) NOT NULL,

ANO_MES NUMBER(6) NOT NULL,

DDD_TELEFONE NUMBER(3) NOT NULL,

NUM_TELEFONE NUMBER(8) NOT NULL,

TOT_MINUTOS_LOCAIS NUMBER(6) NULL,

VAL_MINUTOS_LOCAIS NUMBER(11,2) NULL,

TOT_MINUTOS_INTER NUMBER(6) NULL,

VAL_MINUTOS_INTER NUMBER(11,2) NULL,

DAT_VENCIMENTO DATE NOT NULL,

VAL_PAGO NUMBER(11,2) NULL,

DAT_PAGAMENTO DATE NULL,

VAL_ACRESCIMO NUMBER(11,2) NULL,

constraint PK_CONTAS primary key (cod_cliente, ddd_telefone, num_telefone, ano_mes),

constraint FK_CON_TEL foreign key (ddd_telefone, num_telefone) references BD_TELEFONES( ddd_telefone, num_telefone),

constraint FK_CON_CLI foreign key (cod_cliente) references BD_CLIENTES(cod_cliente));

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...