Criando um relacionamento 1-n

   Iremos agora criar uma tabela de titutares stitu e uma
   tabela de dependentes sdep.
   
   CRIANDO AS TABELAS
     Criando a tabela de titular.:
     Escreva o script abaixo no bloco de notas.
     
 create table stitu(
 cod_tit    int not null primary key,
 nome       varchar(40) not null,
 snome      varchar(50) not null,
 fone       varchar(20));

    Salve como cria_stitu.sql e insira em seu banco de dados, criando assim
    a tabela stitu. USAR REDIRECIONAMENTO -
    
    MySQL -u root -p Banco < cria_stitu.sql
    
    Vamos agora criar a tabela de dependentes .:
    Escreva o script abaixo no bloco de notas.

 create table sdep(
 cod_ped    int not null,
 cod_tit    int not null,
 nome       varchar(40) not null,
 snome      varchar(50) not null,
 PRIMARY KEY  (cod_ped,cod_tit));
 
    Assim na última linha do script temos uma chave composta,
    formada pela chave estrajeira (cod_dep) e pela chave primária da tabela sdep (cod_tit).
    
    PRIMARY KEY  (cod_ped,cod_tit));
    
    Salve como cria_sdep.sql e insira em seu banco de dados, criando assim
    a tabela sdep. USAR REDIRECIONAMENTO -
    
    MySQL -u root -p Banco < cria_sdep.sql
    
    Insira os dados nas duas tabelas.

    SCRIPT PARA INSERIR DADOS NA TABELA sdep .:
    
use lemb;
insert into stitu(cod_tit,nome,snome,fone)
 values
(1,"cristiano","ronaldo","8489-2929"),
(2,"flacia","algusto guimarães","8374-5958"),
(3,"joana","maria de almeida","8490-4993"),
(4,"bruna","da silva","7467-2928");

     SCRIPT PARA INSERIR DADOS NA TABELA sdep .:
use lemb;
insert into sdep(cod_ped,cod_tit,nome,snome)
 values
(1,1,"cristiano","ronaldo jr"),
(2,1,"maria","bartolomeu ronaldo"),
(3,1,"amanda","bartolomeu ronaldo"),
(1,2,"paula","algusto guimarães"),
(2,2,"Osmar","algusto guimarães"),
(1,3,"joana","maria de almeida"),
(1,4,"bruna","da silva");
     
     
    Dado o exemplo abaixo fazer o mesmo para stitu e sdep.
    
mysql> select sdep.* from stitu inner join sdep on sdep.cod_tit = stitu.cod_tit order by sdep.cod_ped;
+---------+---------+--------+------------+
| cod_ped | cod_tit | nome   | snome      |
+---------+---------+--------+------------+
|       1 |       1 | ana    | clara      |
|       1 |       2 | ana    | maria      |
|       1 |       3 | Luiza  | chaves     |
|       2 |       2 | jose   | carlos     |
|       2 |       1 | jose   | pedro      |
|       3 |       2 | renata | dos santos |
+---------+---------+--------+------------+
6 rows in set (0.00 sec)
 
 com o exemplo acima - fazer um script para realizar a execução.
 
Início

 

Listando somente um titular

Em nosso exemplo iremos listar os dependentes do titular 1. Fazendo o script .: use lemb; select sdep.* from stitu inner join sdep on sdep.cod_tit = stitu.cod_tit where sdep.cod_tit = 1; Salvar como selec_dependentes2.sql Executando; F:\banco_mysql > mysql -u root -p < selec_dependentes.sql Enter password: cod_ped cod_tit nome snome 1 1 cristiano ronaldo jr 2 1 maria bartolomeu ronaldo 3 1 amanda bartolomeu ronaldo F:\banco_mysql> Listando somente um titular, mas com a seleção do nome sendo maior que "b". Editando o script .: use lemb; select sdep.* from stitu inner join sdep on sdep.cod_tit = stitu.cod_tit where sdep.cod_tit = 1 and sdep.nome > "b"; Salve como selec_dependentes2.sql Executando; F:\banco_mysql > mysql -u root -p < selec_dependentes.sql Enter password: cod_ped cod_tit nome snome 1 1 cristiano ronaldo jr 2 1 maria bartolomeu ronaldo F:\banco_mysql>
Início