Mostrando postagens com marcador SQL. Mostrar todas as postagens
Mostrando postagens com marcador SQL. Mostrar todas as postagens

Atividade Banco de dados - Mapa conceitual

Mapa mental ou mapa da mente é o nome dado para um tipo de diagrama, sistematizado pelo psicólogo inglês Tony Buzan, voltado para a gestão de informações e de conhecimento [Texto Wikipédia]. Os mapas mentais auxiliam :
       - Na compreensão e solução de problemas; 
       - Na memorização e aprendizado; 
       - Na criação de manuais, livros e palestras; 
       - Como ferramenta de brainstorming (tempestade de ideias);

Exercício 1 -Pensando em auxiliar os alunos e apresentar essa nova ferramenta (mapas mentais),  nesta primeira atividade do dia  vamos preencher o mapa conceitual da figura 1.


Figura 1. Mapa conceitual - Banco de dados e suas vertentes.
Para facilitar o trabalho, vamos utilizar o site Mind Mup, o modelo acima poderá ser acessado clicando aqui. Para abrir o arquivo diretamente o Mind Mup clique em abrir com e selecione o conectar mais aplicativos conforme figura 2.

Figura 2. Abrir o Mind Mup através do google docs


Não esqueça do like do vídeo e de curtir nossa pagina no facebook no link abaixo:

Problema do Canil - Gabarito

Essa postagem é o gabarito do problema do Canil proposto durante as aulas de restrições em SQL. Na primeira parte do problema (Para acessar o  problema, clique aqui) onde a partir das anotações do cliente você deveria criar um modelo Entidade-Relacionamento. A figura 1 mostra a solução que atende a demanda da primeira parte do problema.
Figura 1. Modelo Entidade Relacionamento do problema do Canil.

Na primeira parte do problema, não havia normalização das tabelas o que irá gerar redundância de dados. Para corrigir esses problemas, a 2ª parte da atividade (Clique aqui para acessar atividade) propunha a normalização das tabelas e a adição do campo colocação. O novo modelo conceitual do problema do Canil pode ser visto na figura 2.


Figura 2. Novo DER realizado após a normalização das tabelas.

Com base no modelo de Entidade-Relacionamento da figura 2, o modelo lógico/relacional foi criado utilizando as regras de derivações de modelos (mapeamento ER). A figura 3 mostra o resultado dessa derivação de modelos.
Figura 3. Modelo lógico/relacional do problema do Canil.
A partir do modelo apresentado na figura 3, bastava criar o banco de dados no Oracle utilizando os comandos discutidos em sala de aula. Por acreditar que é desnecessário deixar o script completo do modelo acima, abaixo deixarei somente o código de como criar a tabela "Participa" que será responsavel por relacionar as tabelas "Cão" "Competição".

create table participa(
Cod_cao number(4) constraint fk_cao references cao(cod_cao),
Cod_comp number(4) constraint fk_competicao references competicao(cod_comp),
constraint pk_composta_participa  primary key(Cod_cao, Cod_comp)
);


Nesta atividade onde a metodologia PBL(Problem Based Problem) foi aplicada, o aluno treinou:
    - Normalização de tabelas
    - Criação de modelo conceitual (DER)
    - Derivação de modelo conceitual para modelo lógico
    - Criação de banco de dados
    - Implementações de restrições PK e FK
    - Implementações de restrições em relacionamento N:N


*Não lembra como criar as chaves estrangeiras, acesse as notas de aulas clicando aqui....

Não esqueça do like do vídeo e de curtir nossa pagina no facebook no link abaixo:

DEFAULT - Atribuindo valores padrão aos campos

Conforme visto em nossa postagem "Criação de tabelas - Oracle" quando estamos criando uma tabela e seus respectivos campos (atributos ou colunas), ao definir os campos e os tipos dos dados, é possível atribuir um valor padrão ao campo usando a opção DEFAULT. Isto significa que, se um registro for inserido e o usuário não digitar nenhum valor na coluna onde um Default foi definido, o Oracle irá atribuir automaticamente um valor padrão. Para relembrar o comando Create, na Figura 1 temos a sintaxe do comando usando para criação de tabelas.
Figura 1. Sintaxe do comando create table.
Com base na sintaxe acima, uma tabela será criada para armazenar informações sobre personagens da série "DuckTales - Os Caçadores de Aventuras". Como a maioria dos personagens do desenho moram na cidade de Patópolis, vamos definir o campo cidade com o valor de padrão (Default) de "Patópolis", assim só será necessário digitar a cidade para os personagens que não moram em Patópolis. Na Figura 2 temos o comando usado para criar a tabela que chamamos de DuckTales.
Figura 2. Criação da tabela DuckTales onde foi definido um valor padrão para o campo cidade 
Após criar a tabela (Figura 2) vamos realizar a inserção dos dados onde não iremos digitar nenhum valor para o campo cidade (campo que também possui a restrição NOT NULL). A rotina de inserção de dados é mostrada na Figura 3.
Figura 3. Inserção de dados na tabela DuckTales.
O mesmo procedimento de inserção de dados (Figura 4) foi realizada para cadastrar um personagem que não habita na cidade de Patópolis, neste caso, seremos forçados a a digitar a cidade do personagem conforme mostra a linha 6 do comando.
Figura 4. Inserção de dados na tabela DuckTales não usando o valor padrão.
Após inserir os dados (Figuras 3 e 4) a Figura 5 mostra os dados que foram inseridos onde a cidade Patópolis aparece cadastrada mesmo sem ter sido digitada.
Figura 5. Inserção de dados na tabela DuckTales não usando o valor padrão.


Ainda ta com duvida, curta nossa pagina no facebook no link abaixo e poste sua duvida lá.

Operador de Concatenação

Quando uma seleção de dados é realizada através do comando Select você pode vincular colunas à outras colunas assim como adicionar String ao resultado da sua consulta, usando o operador de concatenação  | | . onde as colunas/strings em cada lado do operador são concatenadas para formar uma coluna de saída única. Para entender melhor, observe a figura 1 onde temos uma tabela aluno. Nesta tabela, o endereço do aluno esta dividido em 3 campos: Logradouro, compl_aluno e cidade_aluno e o nome esta dividido em nome_aluno e sobrenome_aluno.
Figura 1. Tabela de alunos

Usando as informações apresentadas na figura 1, a concatenação entre os campos usados para forma o endereço do aluno sera dado por: (logradouro||compl_aluno||cidade_aluno) e resultando da seleção usando a concatenação de colunas é apresentada na figura 2.

Select logradouro||compl_aluno||cidade_aluno From aluno;

Figura 2. Seleção usando concatenação dos campo de endereço


Lembrando que o nome da coluna que será exibido pode ser renomeado usando a clausula AS conforme figura 3.

Figura 3. Seleção usando concatenação e renomeação de colunas usando clausula AS.
Assim como concatenar colunas, é possível criar seleções adicionando Strings ao conteúdo selecionado na tabela. Abaixo é possível verificar o comando usado para realizar a concatenação de colunas e uma string e o resultado desta concatenação é apresentado na figura 4

SELECT nome_aluno||' mora na '|| logradouro AS teste_concatenação FROM aluno;

Figura 4. Resultado de seleção usando concatenação de colunas (nome_aluno e logradouro) e da string 'mora na'.
No exemplo acima foi concatenada a String 'mora na' aos campos nome_aluno e logradouro. Não esqueça que todas vez que uma string for concatenada, o valor dessa string deve estar entre aspas simples.

Espero que tenha ajudado, se curtiu nosso conteúdo, curtas nossas redes sociais....

Comando SPOOL - Gerando os dados e relatórios em arquivo.

Uma pergunta frequente entre meus alunos é:  Como gerar um arquivo TXT  ou CSV (extensão para abrir no microsoft Excel) gerando assim relatórios que possam ser impressos ou entregues via email quando uma atividade for solicitada. A solução para o problema desses alunos é o comando SPOOL cuja sintaxe pode ser vista abaixo.

SPO[OL] [file_name[.ext] [CRE[ATE] | REP[LACE] | APP[END]] | OFF | OUT]


O comando SPOOL é um comando SQL que salva uma série de instruções SQL e resultados de instruções em um arquivo de saída ou envia o arquivo para uma impressora. A utilização do SPOOL é simples, basta estar conectado ao SQL e digitar as seguintes linhas de comando:

 SQL> spool c:\[nome_qualquer_do_seu_arquivo].[txt ou csv]

 SQL>   Comando/relatórios que serão gravados no arquivo

 SQL>  spool off

O primeiro passo para a criação do Arquivo de SPOOL é indicar o nome e tipo do arquivo que será gerado o relatório. Nesta primeira linha de comando também deve ser indicado o diretório que o arquivo será gerado. Após habilitar o comando SPOOL, todos os comando digitados assim como as mensagens e relatórios gerados pelos SQL serão armazenados no arquivo criado. Na figura 1 é possível ver um exemplo onde um arquivo chamado atividade1.txt foi criado na pasta c:\test. Dentro deste arquivo serão salvas as informações obtidas através do comando DESC e do comando SELECT conforme apresentado na figura 2.

Figura 1. Criação de arquivo de SPOOL no SQL 11g Express. 
Após digitar todos os comandos que você deseja registar no arquivo de SPOOL, você deve finalizar o arquivo digitando SPOOL OFF no prompt de comando.
Após finalizar o comando, vá na pasta onde o arquivo foi gerado e verifique se está tudo ok.

Figura 2. Arquivo de extensão TXT gerado pelo SQL.
Por padrão, se você utilizar o comando SPOOL em um arquivo onde outras informações já tenham sido salvas, o comando irá substituir o arquivo existente por um novo arquivo. Caso o programador desejar incluir informações adicionais (Não substituir o conteúdo) ao arquivo já existente basta adicionar a palavra APPEND ao comando de criação de arquivo SPOOL conforme indicado na figura 3.
Figura 3. Inclusão de conteudo ao Arquivo de SPOOL.

Não esqueça que se você tiver usando uma rede no seu trabalho ou no laboratório da Universidade o administrador da rede pode restringir as pastas onde o usuário pode salvar arquivos, caso você tente gerar um arquivo em local onde o administrador de redes não concede permissão o SQL não irá avisa-lo sobre o "problema".

Espero que essa postagem tenha sido útil, qualquer duvida deixei uma mensagem para nós. Não esqueça de curtir nossas redes sociais (Facebook e G+) clicando os gadget abaixo.




Lista de exercícios - Preparação para Av3 - parte 2


Questão 1 - Com base no diagrama abaixo, faça uma subquery selecionando todos os personagens cadastrados que pertencem a editora Marvels. Lembre-se que não sabemos se Marvels está escrito em letras maiúsculas ou minusculas, portanto padronize essa busca da maneira mais conveniente.


Para realizar os testes, acesse nossa postagem com o script do exemplo acima. Para copiar e colar o script no developer, clique aqui para acessar a postagem com o script.


Questão 2 - Com base no diagrama apresentado na questão 1, faça uma subquery selecionando o nome do heroi e o alterego dos personagens cadastrados que moram  na cidade de Gotham. Lembre-se de padronizar a busca da maneira mais conveniente.

Questão 3 - Analise as tabelas abaixo:

O que será exibido caso o comando abaixo seja executado?

SELECT NOME FROM CLIENTE WHERE CODCLI IN (SELECT CODCLI FROM PEDIDO);

Questão 4 - Utilize o diagrama da questão 1, apresente uma lista com o nome do herói e o alterego dos personagens cadastrados assim como sua cidade e país usando a junção natural.

Questão 5 - Utilize o diagrama da questão 1, apresente uma lista com o nome do herói e o alterego dos personagens cadastrados que são brasileiros. Também deve ser exibido nessa seleção a cidade e país do personagem usando a junção natural. 

Questão 6 - Utilize o diagrama da questão 1, apresente uma lista com todas informações dos personagens cadastrados que não são Americanos (EUA). Também deve ser exibido nessa seleção a cidade e país dos personagens usando a junção natural. 

Questão 7 - Utilize o diagrama da questão 1, apresente uma listagem de todos os personagens cadastrados, assim como as informações da editora de cada personagem usando a Equijunção. 

Questão 8 - Utilize o diagrama da questão 1, apresente uma lista com o nome do herói, o alterego e a habilidade e nome da editora dos personagens cadastrados. 

Questão 9 - Utilize o diagrama da questão 1, apresente uma lista com o nome do herói, o alterego e a habilidade e nome da editora dos personagens cadastrados da editora DCComics. 

Questão 10 - Utilize o diagrama da questão 1, apresente uma lista com o nome de todos os grupo disponíveis em ordem alfabética. 

Questão 11 - Utilize o diagrama da questão 1, apresente uma listagem de todos os personagens cadastrados, assim como as informações da editora de cada personagem ordenados pelo nome do personagem.

Questão 12 - Selecionar todos os nomes de heróis, o nome de seus respectivos criadores e o ano de sua criação.

Questão 13 - Selecionar todos os nomes de heróis, o nome de seus respectivos criadores e o ano de sua criação ordenado por ano.

Questão 14 - Selecionar todos os nomes de heróis e a equipe que eles fazem parte.

Questão 15 - Selecionar todos os nomes e alterego dos heróis assim como a equipe que eles fazem parte.


Questão 16 - Selecionar todos os nomes dos heróis que fazem parte da 'Liga da Justiça'.

O gabarito dessa atividade está no link:

http://goo.gl/wG87Cg

Para dificultar a vida de vocês, o trecho em vermelho do link esta criptografado usando cifra de Vigenèrée   usando  K= BRUNO. Os números não mudam e a cifra é case sensitive.

Duvidas, envie uma mensagem ou acesse nossa fanpage. 

Lista de exercícios - Seleção de dados

Execute o script abaixo:

/*

create table produto(cod_prod number(5), 
nm_prod varchar2(20),
N_lote number(5), 
u_venda varchar2(10),
preco_custo number(6,2));

insert into produto values(1, 'STELLA ARTOIS', 123, 'unidade',3.4);
insert into produto values(2, 'KAISER', 23, 'unidade',1.4);
insert into produto values(3, 'cOCA COLA 2L', 123, 'litro',5.9);
insert into produto values(4, 'PICHANA', NULL, 'peça',53.2);
insert into produto values(5, 'LIMAO', NULL, 'kg',10);
insert into produto values(6, 'VODKA BIROSCOV', 223,'unidade', 0.99);
insert into produto values(7, 'Jack Daniels', 666, 'unidade',60.99);
insert into produto values(8, 'CostelinhA', NULL, 'Kg',25);
insert into produto values(9, 'SAL grosso', 99, 'unidade',2.1);
insert into produto values(10, 'ABACAXI', NULL, 'unidade',8.20);
insert into produto values(11, 'AlHo', 111, 'pct',5.3);
insert into produto values(12, 'KIWI', NULL, 'duzia',2.1);
insert into produto values(13, 'Maminha', NULL, 'KG',32.4);
insert into produto values(14, 'LiNgUiÇa', NULL, 'Kg', 12.1);
insert into produto values(15, 'Pão Frances', NULL, 'Kg',2.1);

*/

Com base no script acima, responda:

Questão 1 - Exiba todos os dados da tabela produto onde o nome do produto (nome_prod) deve estar em ordem alfabética .

Questão 2 - Exiba todos os nomes de produtos cadastrados na tabela produto exibindo o nome do produto (nome_prod) em ordem alfabética descendente e exibindo todos os caracteres do nome em letras maiúsculas.

Questão 3 - Exiba todos os nomes (nome_prod) de produtos cadastrados e seus respectivos preços de custo (preco_custo) tabela produto exibindo o nome do produto em ordem alfabética assim como todos os caracteres do nome em letra minúscula. O nome da coluna nome_prod também deve ser renomeada durante a exibição para PRODUTO.

Questão 4 - Exiba todos os nomes (nome_prod) de produtos cadastrados e seus respectivos preços de custo (preco_custo) da tabela produto onde a tabela deve ser ordenada do produto mais caro para o mais barato.

Questão 5 - O mercado onde o BD esta sendo analisado, está dando um desconto de 10% em todos os produtos. Devido a essa demanda, é preciso Exibir todos os nomes (nome_prod) de produtos cadastrados, seus respectivos preços de custo (preco_custo) e o valor do desconto. A coluna com o valor do desconto deve ser chamada "Valor do desconto" e o calculo será dado por:
desconto=preco_custo*0,1

Questão 6 - O mercado onde o BD esta sendo analisado, está numa país fictício onde o imposto sobre o produto é de 27,5%. Exiba todos os produtos(nome_prod) da tabela, seus respectivos preços (preco_custo) e o quanto de imposto deve ser pago em cada produto. O calculo do imposto é dado por:
imposto= preco_custo*0,275

Questão 7 - O mercado onde o BD esta sendo analisado, está numa país fictício onde o imposto sobre o produto é de 27,5%. Exiba todos os produtos(nome_prod) da tabela, seus respectivos preços (preco_custo) e o quanto de imposto deve ser pago em cada produto. Para facilitar a visualização, o valor do imposto de conter somente 2 casas depois da virgula usando regra de arredondamento.

Questão 8 - Qual a função do comando COMMIT?

Questão 9 - Analise a sequencia de "quase" instruções SQL abaixo:

insert into ....
insert into ....
insert into ....

savepoint A;

update....
insert into ....

savepoint B;

insert into ....
delete ....

savepoint C;

update ....
insert into ....
insert into ....

Usando a opção "Rollback to savepoint C;" a instrução onde um registro está sendo deletado foi cancela?
Quais instruções ficarão na cache do BD se o comando "Rollback to savepoint A;" for executado?

Questão 10 -  Exiba todos os nomes (nome_prod) e o tamanho da string dos nome dos produtos que tiver a palavra cola no nome.

Questão 11 -  Exiba todos os nomes (nome_prod) e o tamanho da string dos nome dos produtos que tiver a palavra cola no nome. Lembre que a pessoal que cadastrou o produto pode ter usado letras maiúscula e minusculas.  Faça a busca convertendo todas as letras para maiúsculas.


O gabarito dessa atividade está no link:

http://goo.gl/rCNBbr

Para dificultar a vida de voces, o trecho em vermelho do link esta criptografado usando cifra de Cesar e K= f (5).

Quer aprender mais sobre Criptografia? Acesse a video-aula: 

Duvidas, envie uma mensagem ou acesse nossa fanpage. 



SQL Developer - Criação de Scripts

O Oracle SQL Developer é uma IDE (Integrated Development Environment-Ambiente de desenvolvimento) com uma GUI (Graphical User Interface - Interface gráfica) que facilita a utilização do SQL tanto por desenvolvedores quanto administradores de BD. Através dessa GUI o usuário poderá executar instruções do DDL (Data Definition Language), DML (Data Manipulation Language), DCL (Data Definition Language) e DTC (Transaction Control Language). Quem quiser instalar a IDE em casa, clique aqui e acesse o site da ORACLE para fazer o DOWNLOADO software é gratuito sendo necessário somente realizar um cadastro para realizar o Download.
Nesta postagem usaremos o SQL Developer para executar um script facilitando assim o aprendizado de comandos de Manipulação de Dado (DML). Em geral o Oracle Developer pode ser encontrado na pasta "Oracle/desenvolvimento de aplicações" do menu iniciar do windows conforme indicado na figura 1. 
(Não esquecer de executar o serviço antes de usar o developer). 
Figura 1. SQL Developer - IDE desenvolvida para facilitar a programação do BD. 

Ao acessar o SQL Developer, o usuário irá se deparar com uma tela semelhante a imagem da figura 2. Na mesma figura (2), dentre os diversos elementos  e opções disponíveis no SQL Developer, iremos destacar 2 áreas:

               A área de trabalho (Worksheet) - onde o usuário poderá digitar os comando                        usados no SQLplus ou criar/colar scripts.

               Saída do script - onde o usuário poderá verificar se o resultado do comando/script                  que foi executado no worksheet.

Figura 2. Apresentação do SQL Developer
Figura 3. Exemplo de utilização do Workshop e saída do script.
Em destaque na figura 3 podemos visualizar uma barra de propriedades onde encontrar elementos que permitem executar o script após a digitação. O botão que possibilita a execução do script é o segundo botão da barra de propriedades que está em destaque na figura 4.
Figura 4. Ícone de execução de script no Sql Developer.

Com base nessas informações, agora você pode desenvolver uma sequencia de rotinas e executar através do Developer sempre precisar utilizar a interface do SQLplus. Com o Developer, alem de poder guardar suas instruções em um arquivo (por exemplo um TXT), será possível corrigir eventuais erros de maneira rápida e fácil....
Quem quiser executar um script pronto, acesse nossa postagem "Script para aula de introdução a DML "  clicando aqui e faça o teste!!!!!!





Script para aula de introdução a DML (Linguagem de Manipulação de Dado)

Para facilitar os exercícios relacionados à  DML (Linguagem de Manipulação de Dado) em SQL (Oracle), um Script foi criado para ganhar tempo e focar nossa aula no assunto proposto. Para executar o script, você deverá usar a IDE (Integrated Development Environment) Oracle SQL Developer. Ainda não conhece o SQL Developer clique aqui e acesse nossa postagem.
Voltando a DML, esse Banco de Dados (BD) será desenvolvido para guardar informações sobre personagens de gibi (super heróis em sua maioria) assim como seus guardar informações de seus criadores e editoras que publicam suas historias. Na Figura 1 é possível ver o Diagrama de Entidade Relacionamento (DER) desenvolvido para esse Banco de Dados (BD).
Figura 1. Modelo logica que será implementado em SQL.
Com base no DER apresentado na figura 1, o script SQL abaixo foi desenvolvido, para que ele seja executado no SQL Developer, basta copiar o texto que está  entre "/*"  e  " */".

/*

DROP TABLE criadorpersonagem;
DROP TABLE equipe;
DROP TABLE grupo;
DROP TABLE personagem;
DROP TABLE editora;
DROP TABLE criador;




Create table editora(cod_editora number(2) constraint pk_cod_editora_editora primary key,
nome varchar2(27) NOT NULL,
fundador varchar2(40));

insert into editora values(1, 'Marvels', 'Martin Goodman');
insert into editora values(2, 'DCcomics', 'Malcolm Wheeler-Nicholson');
insert into editora values(3, 'Panini', 'Giuseppe Panini');
insert into editora values(4, 'Dargaud','Georges Dargaud');


DROP TABLE cidade;

Create table cidade(cod_cid number(2) constraint pk_cod_cid_cidade primary key,
nome varchar2(15) NOT NULL,
pais varchar2(13));



insert into cidade values(1, 'Gotham', 'EUA');
insert into cidade values(2, 'Coast City', 'EUA');
insert into cidade values(3, 'Atlantis', 'desconhecido');
insert into cidade values(4, 'Nova Iorque', 'EUA');
insert into cidade values(5, 'Novo Mexico', 'EUA');
insert into cidade values(6, 'Moscou', 'Russia');
insert into cidade values(7, 'Witzeldorf', 'Alemanha');
insert into cidade values(8, 'Alberta', 'Canada');
insert into cidade values(9, 'Metropolis', 'EUA');
insert into cidade values(10, 'Desconhecido', 'Alemanha');
insert into cidade values (11, 'Bauru','Brasil');
insert into cidade values(12,'Abobrinha','Brasil');
insert into cidade values(13,'Galia','França');
insert into cidade values(14,'Roma','Italia');
insert into cidade values(15,'Doomstadt','Latvéria');
insert into cidade values(16,'Leningrado','Russia');
insert into cidade values(17,'Cairo','Egito');
insert into cidade values(18,'Seul','Coreia do Sul');


Create table personagem(cod_perso number(4) constraint pk_cod_perso_personagem primary key,
alterego    varchar2(20),
nm_heroi    varchar2(20),
apelido     varchar2(20),
habilidade  varchar2(25),
armas  varchar2(25),
cod_cid     number(2) Constraint  fk_cidade_personagem  references cidade(cod_cid),
cod_edit    number(2) Constraint  fk_editora_personagem  references editora(cod_editora)
);


insert into personagem values(1,'Bruce Wayne','BATMAN','Cavaleiro das trevas','fisico/intelecto','Batrangue e tecnologia',1,2);

insert into personagem values(2,'Dick Grayson','Asa Noturna', Null, 'Acrobata','bastao',1,2);

insert into personagem values(3,'Lucius Fox','Lucius Fox',Null, 'Nenhuma', Null,1,2);

insert into personagem values(4,'Alfred Pennyworth','Alfred Pennyworth', null,'Nenhuma',null,1,2);

insert into personagem values(5,'Harley Quinn','Arlequina','Princesa do Crime','Força por veneno','armas de fogo',1,2);

insert into personagem values(6,'Jean-Paul Valley','Azrael ','Anjo vingador','Exímio lutador','armadura',1,2);

insert into personagem values(7,'Jack Napier','Coringa','Joker','Quimico/Louco/inteligente','explosivos/armas de fogo',1,2);

insert into personagem values(8,'Terry Gene Kase','Ras Al Ghul',Null,'Alquimista/lutador/Genio','Espada',1,2);

insert into personagem values(9,'Jonathan Crane','Espantalho',Null,'psicologia do medo','gas do medo',1,2);

insert into personagem values(10,'Antonio Diego','BANE',Null,'força por veneno','força bruta',1,2);

insert into personagem values(11,'Harvey Dent','Duas-Caras','Janus','Obsecado por dualidade','armas de fogo',1,2);

insert into personagem values(12,'Selina Kyle','Mulher-Gato','A gata','ginasta','chicote',1,2);

insert into personagem values(13,'Edward Nigma','Charada',Null,'Inteligencia',Null,1,2);

insert into personagem values(14,'Jervis Tetch','Chapeleiro Louco',Null,'controle da mente',null,1,2);

insert into personagem values(15,'Hal Jordan','Lanterna Verde',Null,'Militar','Anel energetico',2,2);

insert into personagem values(16,Null,'Sinestro',Null,null,'Anel energetico',2,2);

insert into personagem values(17,'Arthur Curry','Aquaman','O Rei dos Mares','Telepatia/Sonar/força','tridente',3,2);

insert into personagem values(18,'Tony Stark','Homem de Ferro','Cavaleiro de Ferro','bilionário/gênio','Armadura',4,1);

insert into personagem values(19,'Matthew Murdock','Demolidor','Homem sem medo','Acrobada/Radar','Bastão',4,1);

insert into personagem values(20,'Wilson Fisk','Rei do Crime',Null,'intelig/força/milionario','armas de fogo',4,1);

insert into personagem values(21,'Bruce Banner','Hulk','Gigante Verde','força ilimitada',Null ,5,1);

insert into personagem values(22,'Piotr Rasputin','Colossus',Null,'Transmutação em Aço',Null ,6,1);

insert into personagem values(23,'Arkady Rossovich','Ômega Vermelho',Null,'Fator de cura','Tentáculos',6,1);

insert into personagem values(24,'Kurt Wagner','Noturno','Azulão/demonio','Teletransporte/acrobata',Null,7,1);

insert into personagem values(25,'James Logan Howlett','Wolverine','Arma X','Fator de cura','Garras de adamantium',8,1);

insert into personagem values(26,'Clark Kent','Superman','Homem de aço','Super poderes',Null,9,2);

insert into personagem values(27,'Lex Luthor','Lex Luthor',Null,'Genio/ bilionario',Null,9,2);

insert into personagem values(28,'Erik Lehnsherr','Magneto','Mestre do magnetismo','Manipula Campo magnetico',Null,10,1);

insert into personagem values(29,'Cebolácio Júnior',Null,'Cebolinha','Estrategista',Null,11,3);

insert into personagem values(30,'Francisco A.Bento',Null,'Chico Bento',Null,'enxada',12,3);

insert into personagem values(31,'Monica',Null,'Monica','Força, dentuça','Coelho são-são',11,3);

insert into personagem values(32,'Magali',Null,'Magali','Apetite Voraz','Melancia',11,3);

insert into personagem values(33,'Cássio Marques ',Null,'Cascão','velocidade','fedor, sujeita',11,3);

insert into personagem values(34,'André Urvelino Mota','Capitão Feio',Null,'voar','raio de sujeira',11,3);

insert into personagem values(35,'Rosa Maria',Null,'Rosinha',Null,Null,12,3);

insert into personagem values(36,'Asterix ',Null,'Asterix','Inteligencia','poção mágica, espada',13,4);

insert into personagem values(37,'Obelix',Null,'Gigante','Força bruta','poção mágica',13,4);

insert into personagem values(38,'Panoramix',Null,'Druida','Inteligencia','poções mágicas',13,4);

insert into personagem values(39,'Caio Júlio César',Null,'Cesar','estrategista','espada',14,4);

insert into personagem values(40,'Victor von Doom','Dr. Destino','Dr. Doom','inteligencia, magia','Armadura, tecnologia',15,1);

insert into personagem values(41,'Otto G. Octavius','Doutor Octopus',Null,'intelig., concentração','tentaculos de metal',4,1);

insert into personagem values(42,'Norman Osborn','Duende Verde',Null,'intelig., vel., resis.','planador, bomba abobora',4,1);

insert into personagem values(43,'Ivan Kragoff','Fantasma Vermelho',Null,'intelig., invisibilidade',Null,16,1);

insert into personagem values(44,'Godfrey Calthrop','Godfrey Calthrop',Null,'Tecnopatia',Null,4,1);

insert into personagem values(45,'Illyana N. Rasputin','Magia','Rainha Vermelha','Magias, voar','Espada e armadura mistica',6,1);

insert into personagem values(46,'Jean Grey','Fenix','Garota Marvel','Telecinese, voar',Null,4,1);

insert into personagem values(47,'Kilowog','Kilowog',null,'Engenheiro','Anel energetico',null,2);

insert into personagem values(48,'Patriota ','Elijah Bradley','Eli','força, veloc.,agil.','escudo',null,1);

insert into personagem values(49,'Thor Odinson','Thor','Deus do Trovão','força, veloc.,agil.','martelo Mjolnir',null,1);

insert into personagem values(50,'Ororo Munroe','Tempestade','Bruxa do tempo','controle climático',null,17,1);

insert into personagem values(51,'J.A.R.V.I.S.','Visão',null,'Rajadas mentai',null,18,1);





DROP TABLE criador;

Create table criador(cod_criador number(2) constraint pk_cod_criado_criador primary key,
nome varchar2(20) NOT NULL,
pais varchar2(10));

insert into criador values(1, 'Stan Lee', 'EUA');
insert into criador values(2, 'Bob Kane', 'EUA');
insert into criador values(3, 'Len Wein', 'EUA');
insert into criador values(4, 'Paul Dini', 'EUA');
insert into criador values(5, 'Jean-Paul Valley', 'EUA');
insert into criador values(6, 'Neal Adams', 'EUA');
insert into criador values(7, 'Chuck Dixon', 'EUA');
insert into criador values(8, 'Bill Finger', 'EUA');
insert into criador values(9, 'John Broome', 'EUA');
insert into criador values(10, 'Paul Norris', 'EUA');
insert into criador values(11, 'Len Wein', 'EUA');
insert into criador values(12, 'Jim Lee','EUA');
insert into criador values(13, 'Jerry Siegel','EUA');
insert into criador values(14, 'Mauricio de Sousa','Brasil');
insert into criador values(15, 'Albert Uderzo','França');
insert into criador values(16, 'René Goscinny','França');
insert into criador values(17, 'Chris Claremont','Inglaterra');
insert into criador values(18, 'Steve Englehart','EUA');
insert into criador values(19, 'Allan Heinberg','EUA');
insert into criador values(20, 'Roy Thomas','EUA');

 

create table criadorpersonagem(
cod_cria number(3) Constraint fk_cod_cria_criadorpersonagem  references criador (cod_criador),
cod_persona number(3) Constraint fk_cod_perso_criadorpersonagem  references personagem (cod_perso),
Ano number(4),
Constraint pk_XXXX_criadorpersonagem  primary key(cod_cria, cod_persona));

insert into criadorpersonagem values(20,51,1968);
insert into criadorpersonagem values(1,49,1962);
insert into criadorpersonagem values(3,50,1975);
insert into criadorpersonagem values(19,48,2005);
insert into criadorpersonagem values(1,46,1963);
insert into criadorpersonagem values(17,45,1975);
insert into criadorpersonagem values(1,42,1964);
insert into criadorpersonagem values(1,41,1963);
insert into criadorpersonagem values(1,40,1962);
insert into criadorpersonagem values(1,43,1963);
insert into criadorpersonagem values(15,36,1959);
insert into criadorpersonagem values(18,47,1986);
insert into criadorpersonagem values(15,37,1959);
insert into criadorpersonagem values(17,44,1963);
insert into criadorpersonagem values(15,38,1959);
insert into criadorpersonagem values(15,39,1959);
insert into criadorpersonagem values(16,36,1959);
insert into criadorpersonagem values(16,37,1959);
insert into criadorpersonagem values(16,38,1959);
insert into criadorpersonagem values(16,39,1959);
insert into criadorpersonagem values(14,29,1960);
insert into criadorpersonagem values(14,30,1960);
insert into criadorpersonagem values(14,31,1963);
insert into criadorpersonagem values(14,32,1963);
insert into criadorpersonagem values(14,33,1961);
insert into criadorpersonagem values(14,34,1972);
insert into criadorpersonagem values(14,35,1961);
insert into criadorpersonagem values(2,9,1941);
insert into criadorpersonagem values(2,11,1942);
insert into criadorpersonagem values(2,1,1939);
insert into criadorpersonagem values(2,2,1940);
insert into criadorpersonagem values(3,3,1979);
insert into criadorpersonagem values(2,4,1943);
insert into criadorpersonagem values(4,5,1992);
insert into criadorpersonagem values(5,6,1992);
insert into criadorpersonagem values(6,7,1971);
insert into criadorpersonagem values(2,8,1941);
insert into criadorpersonagem values(7,10,1993);
insert into criadorpersonagem values(2,12,1940);
insert into criadorpersonagem values(8,13,1948);
insert into criadorpersonagem values(2,14,1948);
insert into criadorpersonagem values(9,15,1959);
insert into criadorpersonagem values(9,16,1961);
insert into criadorpersonagem values(10,17,1941);
insert into criadorpersonagem values(1,18,1963);
insert into criadorpersonagem values(1,19,1964);
insert into criadorpersonagem values(1,20,1967);
insert into criadorpersonagem values(1,21,1962);
insert into criadorpersonagem values(11,22,1975);
insert into criadorpersonagem values(12,23,1975);
insert into criadorpersonagem values(11,24,1975);
insert into criadorpersonagem values(11,25,1974);
insert into criadorpersonagem values(13,26,1938);
insert into criadorpersonagem values(13,27,1940);
insert into criadorpersonagem values(1,28,1963);


Create table grupo(cod_grupo number(2) constraint pk_cod_grupo_grupo primary key,
nome varchar2(30) NOT NULL);

insert into grupo values(1, 'Solitario');
insert into grupo values(2, 'X_men');
insert into grupo values(3, 'Esquadrão suicida');
insert into grupo values(4, 'Irmandade mutante');
insert into grupo values(5, 'Liga da justiça');
insert into grupo values(6, 'Jovens titans');
insert into grupo values(7, 'esquadrão suicida');
insert into grupo values(8, 'Ordem de São Dumas');
insert into grupo values(9, 'Sociedade das sombras');
insert into grupo values(10, 'Liga da injustiça');
insert into grupo values(11, 'Sexteto Secreto');
insert into grupo values(12, 'Soc. Secreta de Supervilões');
insert into grupo values(13, 'Novos Vigadores');
insert into grupo values(14, 'Tropa Alfa');
insert into grupo values(15, 'Vingadores');
insert into grupo values(16, 'Turma da Monica');
insert into grupo values(17, 'Tropa dos lanternas verdes');
insert into grupo values(18, 'Jovens vingadores');



create table equipe(
cod_grup number(3) Constraint fk_cod_grup_equipe  references grupo(cod_grupo),
cod_personag number(3) Constraint fk_cod_personag_equipe  references personagem (cod_perso),
Constraint pk_composta_grupo  primary key(cod_grup, cod_personag));


insert into equipe values(2,50);
insert into equipe values(15,49);
insert into equipe values(15,51);
insert into equipe values(18,48);
insert into equipe values(17,47);
insert into equipe values(17,15);
insert into equipe values(2,46);
insert into equipe values(2,45);
insert into equipe values(5,1);
insert into equipe values(6,2);
insert into equipe values(1,3);
insert into equipe values(1,4);
insert into equipe values(7,5);
insert into equipe values(8,6);
insert into equipe values(7,7);
insert into equipe values(10,7);
insert into equipe values(9,8);
insert into equipe values(10,9);
insert into equipe values(7,10);
insert into equipe values(1,11);
insert into equipe values(10,12);
insert into equipe values(10,13);
insert into equipe values(11,14);
insert into equipe values(5,15);
insert into equipe values(10,16);
insert into equipe values(12,16);
insert into equipe values(5,17);
insert into equipe values(15,18);
insert into equipe values(13,19);
insert into equipe values(1,20);
insert into equipe values(16,29);
insert into equipe values(16,30);
insert into equipe values(16,31);
insert into equipe values(16,32);
insert into equipe values(16,33);
insert into equipe values(16,34);
insert into equipe values(15,21);
insert into equipe values(2,22);
insert into equipe values(4,23);
insert into equipe values(2,24);
insert into equipe values(2,25);
insert into equipe values(15,25);
insert into equipe values(14,25);
insert into equipe values(5,26);
insert into equipe values(12,27);
insert into equipe values(4,28);
insert into equipe values(11,41);

*/


Agora voce já possui um BD criado e poderá fazer todos seus testes em DML. Não esqueça de Tentear analisar as linhas de instrução e comprar com o modelo da figura 1 para melhor entender o BD. Qualquer duvida, entre e contato.....

Primeiras atividades de SQL

1ª Atividade de Banco de dados, Leia as instruções antes de iniciar a atividade.....

     - Todos os comandos devem ser gravados num arquivo SPOOL tipo TXT que será entregue para o professor
     -  A primeira linha do arquivo deve conter seu NOME e RA
     -  Não entregar o arquivo no prazo ou fora de formato irá diminuir sua nota!!!!!

Questão 1 - Criação de tabelas - Utilizando o SQLplus, crie duas tabelas baseando-se no dicionario de dados abaixo:
    * o atributo cidade deve conter um valor padrão (Default) definido por você... 





Para verificar a estrutura das tabelas use o comando:

describe nome_da_tabela


Questão 2 - Atividade de modificação de tabelas -  Conforme visto em sala de aula, promova as alterações descristas abaixo:

A) Excluir o atributo onde é armazenado o endereço do Cliente.

B) Incluir os campos logradouro (30 caracteres), complemento (10 caracteres) e CEP (8 digitos) na tabela onde estão armazenados os dados dos clientes.

C) Alterar o atributo onde o nome do cliente é armazenado reduzindo o numero de caracteres da string de 40 para 30.

D) Incluir o atributo fornecedor (18 caracteres) na tabela onde são armazenados os produtos.

E) Incluir o atributo CPF_cli (11 digitos) na tabela onde são guardadas as informações dos clientes.

F) Incluir o atributo data de nascimento (dt_nasc_cli) na tabela na tabela onde são guardadas as informações dos clientes.

Questão 3 - Inclusão de dados - Incluir os dados abaixo na tabela criada para armazenar os dados dos clientes. Usar a tabela abaixo como referencia:
Figura1. Dados que devem ser inseridos na base de dados.



Questão 4 -Inclusão de dados - Incluir o nome registro onde nome_cli será o seu nome e no campo Logradouro voce deverá inserir seu RA.

Questão 5 -Inclusão de dados - Incluir 6 registros completos na tabela criada para armazenar informações sobre produtos:

Questão 6 - Alteração de dados - Ao verificar os dados cadastrados, notamos que a cliente de código 107 (Defuntina) está aparecendo com o sexo masculino(representado pela letra M), altere o sexo da cliente em questão para F de feminino.

Questão 7 - Alteração de dados - O cliente "Zé Mané" mudou-se para a "Rua XXX,12 ap.3", favor atualizar as informações do cliente no banco de dados.

Questão 8 - Exclusão de dados - João Sem Sobrenome não é mais cliente de nossa empresa, favor excluir suas informações de nosso cadastro.

Questão 9 - Alter - João Sem Sobrenome não é mais cliente de nossa empresa, favor excluir suas informações de nosso cadastro.


Duvidas e sugestões acesse nossas redes sociais abaixo:


Treinado o comando Select do SQL

Exercícios de fixação!!!

Com  base no DER da Figura 1, crie as tabelas no SQL não esquecendo das restrições PRIMARY KEY e FOREIGN KEY.

Figura 1. DER que será utilizado na construção do BD.
Agora inclua aproximadamente 10 registro na tabela Produto e 3 ou 4 registros na tabela Fornecedor. Casos falte "inspiração" para a criação dos registros, pode usar como base os dados apresentados na Figura 2 e Figura 3.
Figura 2. Exemplo de dados a serem inseridos na tabela Produto.
Figura 3. Exemplo de dados a serem inseridos na tabela Fornecedor.


Com base nas tabelas criadas, execute as seguintes seleções:

- Exiba uma lista com todas as informações de todos os fornecedores

- Exiba uma lista com todas as informações de todos os produtos

- Exiba somente o nome do fornecedor e o nome do vendedor do seu primeiro registro.

- Exiba uma lista somente com o nome de todos os produtos cadastrados na tabela Produto.

- Escolha um fornecedor qualquer da sua base de dados e exiba uma lista com todas as informações dos produtos que esse fornecedor fornece para sua empresa.

- Exiba uma lista somente como o nome e o preço de todos os produtos que custam menos de R$ 10,00

- Exiba uma lista somente com o nome e o numero de telefone dos fornecedores que são de São Paulo (selecionar pelo código do tel)

- Exiba uma lista com o nome do produto que o lote está entre 100 e 1500

- Exiba uma lista com o nome de todos os produtos fornecidos pelo fornecedor cujo código seja 1 e 2