Jump to content
Fórum Script Brasil
  • 0

Trigger/Gatilho no MySQL


Question

Alguém que entenda de MySQL, me ajuda, por favor

 

1 - Desenvolva um gatilho (trigger) que insira um registro de garagem coberta para todo apartamento incluído do tipo cobertura.

2 - Desenvolva um gatilho (trigger) que desvalorize o preço do apartamento em 30% quando uma garagem vinculada a ele for excluída

Esse é o database:

 

create database imobiliaria;

use imobiliaria;

create table sindico (
  matricula int(3) not null auto_increment,
  nome varchar(80) default null,
  endereco varchar(80) default null,
  telefone varchar(15) default null,
  primary key (matricula)
);

insert into sindico values (1,'antonio carlos','avenida santos dummont, número 789, califórnia, são paulo','(11) 3456-6787'),(2,'sidnei delgado','alameda xv de novembro, número 123, jockey club, são paulo','(11) 3452-4562');

create table condominio (
  codigo int(5) not null auto_increment,
  nome varchar(50) default null,
  endereco varchar(80) default null,
  matricula_sind int(3) default null,
  primary key (codigo),
  key fx_cond_sindico (matricula_sind),
  constraint fx_cond_sindico foreign key (matricula_sind) references sindico (matricula)
);

insert into condominio values (1,'condomí­nio são paulo','alameda getulio vargas, número 897, centro, são paulo',1),(2,'condomínio brasil','avenida general gusmão, número 453, penha, são paulo',2);

create table apartamento (
  numero varchar(5) not null,
  tipo varchar(20) default null,
  codigo_cond int(5) default null,
  valor double(10,2) default '0.00',
  primary key (numero),
  key fk_ap_cond (codigo_cond),
  constraint fk_ap_cond foreign key (codigo_cond) references condominio (codigo)
);

insert into apartamento values ('a101','padrão',1,100000.00),('a201','padrão',1,115000.00),('a301','padrão',1,125000.00),('a401','padrão',1,135000.00),('a501','cobertura',1,150000.00),('b101','padrão',2,200000.00),('b201','padrão',2,215000.00),('b301','padrão',2,225000.00),('b401','padrão',2,235000.00),('b501','cobertura',2,250000.00);

create table garagem (
  numero int(3) not null auto_increment,
  tipo varchar(20) default null,
  numero_ap varchar(5) default null,
  primary key (numero),
  key fk_gar_apartamento (numero_ap),
  constraint fk_gar_apartamento foreign key (numero_ap) references apartamento (numero)
);

insert into garagem values (1,'padrão','a101'),(2,'padrão','a201'),(3,'padrão','a301'),(4,'padrão','a401'),(5,'coberta','a501'),(6,'padrão','b101'),(7,'padrão','b101'),(8,'padrão','b201'),(9,'padrão','b201'),(10,'padrão','b301'),(11,'padrão','b301'),(12,'padrão','b401'),(13,'padrão','b401'),(14,'coberta','b501'),(15,'coberta','b501');

create table proprietario (
  rg varchar(15) not null,
  nome varchar(80) default null,
  telefone varchar(15) default null,
  email varchar(50) default null,
  primary key (rg)
);

insert into proprietario values ('12345678-0','carlos eduardo','(11) 3256-7890','[email protected]'),('32145678-4','oswaldo lima','(11) 2314-9876','oswaldol[email protected]'),('32156788-0','pedro castro','(11) 3452-8743','[email protected]'),('46536267-3','maria luiza','(11) 2345-1627','[email protected]'),('54367281-2','joana darc','(11) 4563-2315','[email protected]'),('74853928-2','benedito goes','(11) 3427-4132','[email protected]'),('76534126-4','matheus henrique','(11) 2234-1123','[email protected]'),('98635314-5','augusto silva','(11) 4122-2134','[email protected]'),('99987271-1','marcos vinicius','(11) 2124-2427','[email protected]');

create table proprietario_apartamento (
  prop_ap_id int(3) not null auto_increment,
  numero_ap varchar(5) default null,
  rg_prop varchar(15) default null,
  primary key (prop_ap_id),
  key fk_pa_apartamento (numero_ap),
  key fk_pa_proprietario (rg_prop),
  constraint fk_pa_apartamento foreign key (numero_ap) references apartamento (numero),
  constraint fk_pa_proprietario foreign key (rg_prop) references proprietario (rg)
);

insert into proprietario_apartamento values (1,'a101','12345678-0'),(2,'a201','32145678-4'),(3,'a301','32156788-0'),(4,'a401','46536267-3'),(5,'a501','54367281-2'),(6,'b101','74853928-2'),(7,'b201','76534126-4'),(8,'b301','98635314-5'),(9,'b401','99987271-1'),(10,'b501','99987271-1');
Link to post
Share on other sites

1 answer to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      149421
    • Total Posts
      645924
×
×
  • Create New...