Aula 10 banco de dados

1,013 views

Published on

SQL (Structured Query Language)

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,013
On SlideShare
0
From Embeds
0
Number of Embeds
158
Actions
Shares
0
Downloads
47
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Aula 10 banco de dados

  1. 1. Banco de Dados Jorge Ávila
  2. 2. Antes de mais nada  Normalização:  Primeira Forma Normal:  Uma tabela está na 1FN, se e somente se, não possuir atributos multivalorados.  Uma relação está na 1FN quando todos os atributos da relação estiverem baseados em um domínio simples, não contendo grupos ou valores repetidos  Exemplo  Projetos(codp, tipo, descrição, code, nome, categ, salário, data_início, tempo_aloc)  Outra forma de identificar se a tabela não está na 1FN é verificando se existe tabela aninhadas, ou seja, mais de um registro para uma chave primária
  3. 3. Antes de mais nada  Normalização:  Segunda Forma Normal  Uma relação está na 2FN se, e somente se, estiver na 1FN e cada atributo não-chave for dependente da chave primária inteira, isto é, cada atributo não-chave não poderá ser dependente de apenas parte da chave.  No caso de tabelas com chave primária composta, se um atributo depende apenas de uma parte da chave primária, então esse atributo deve ser colocado em outra tabela.  Exemplo:  Projetos(codp, tipo, descrição)  Empregados(code, nome, categ, salário)  ProjEmp(codp, code, data_início, tempo_aloc)
  4. 4. Antes de mais nada  Normalização:  Terceira Forma Normal  Uma relação R está na 3FN, se estiver na 2FN e cada atributo não-chave de R não possuir dependência transitiva, para cada chave candidata de R.  Projetos(codp, tipo, descrição)  Empregados(code, nome, categ)  Categorias(categ, salário)  ProjEmp(codp, code, data_início, tempo_aloc)
  5. 5. BANCOS DE DADOS RELACIONAIS  Os Bancos de Dados Relacionais foram desenvolvidos para facilitar o acesso aos dados. Pois enquanto em um banco de dados hierárquico os usuários precisam definir as questões de maneira mais específica, iniciando pela raiz, nos Bancos de Dados Relacionais os usuários podem fazer perguntas relacionadas através de vários pontos.  A arquitetura de um banco de dados relacional pode ser descrita usando os termos tabela, linha e coluna. Veja um exemplo;
  6. 6. BANCOS DE DADOS RELACIONAIS  Temos a “Tabela Clientes” que contém duas colunas que são o “Código do Cliente” e o “Nome”, Cada linha é formada por uma lista ordenada de colunas representando um registro.  Então um registro é uma instância de uma tabela, ou entidade. Uma entidade é uma representação de um conjunto de informações sobre determinado conceito do sistema. Toda entidade possui atributos, que são as informações que referenciam a entidade.
  7. 7. BANCOS DE DADOS RELACIONAIS  Se houverem informações a serem armazenadas, você tem uma entidade. Exemplificando: Eu desejo armazenar os seguintes dados do livro:  Título, Autor, Editora, Ano, Edição e Volume. Temos então a entidade Livro.  No exemplo acima “Antônio Silva” é uma instância (registro) da “Tabela Clientes”. As colunas de uma tabela são também chamadas de atributos. Então a coluna “Nome” é um atributo da “Tabela Clientes”.
  8. 8. BANCOS DE DADOS RELACIONAIS  As tabelas relacionam-se umas as outras através de chaves. Uma chave é um conjunto de um ou mais atributos que determinam a unicidade de cada registro. No nosso caso a chave da “Tabela Clientes” é o “Código do Cliente”, pois ele é único para cada registro.
  9. 9. História  A primeira versão da linguagem SQL, chamada SEQUEL (Structured Query English Language), surgiu em 1974 nos laboratórios da IBM (Califórnia). Entre 1976 e 1977 ela foi revisada e ampliada, tendo então o seu nome alterado para SQL.  Devido ao sucesso da nova forma de consulta e manipulação de dados dentro de um ambiente de banco de dados, sua utilização tornou-se cada vez maior. Vários SGBD’s atuais utilizam o SQL como a linguagem padrão para o acesso às bases de dados.
  10. 10. Linguagem SQL  Linguagem de definição de dados (DDL)  Permite ao usuário a definição da estrutura e organização dos dados armazenados, e das relações existentes entre eles.  Alguns sistemas de banco de dados usam o comando ALTER, que permite ao usuário alterar um objeto, por exemplo, adicionando uma coluna a uma tabela existente.  Outros comandos DDL:         CREATE DATABASE CREATE TABLE CREATE INDEX CREATE VIEW ALTER TABLE ALTER INDEX DROP INDEX DROP VIEW
  11. 11. Linguagem SQL  Linguagem de manipulação de dados (DML)  Permite a um usuário, ou a um programa de aplicação, a execução de operações de inclusão, remoção, seleção ou atualização de dados previamente armazenados na base de dados.  Os comandos que realizam respectivamente as funções acima referidas são:  Insert;  Select;  Update;  Delete.
  12. 12. função comandos SQL descrição do comando exemplo inclusões Insert é usada para inserir um registro (formalmente uma tupla) a uma tabela existente consultas Select O Select é o principal Select * From Pessoa; comando usado em SQL para realizar consultas a dados pertencentes a uma tabela. alterações Update para mudar os valores de dados em uma ou mais linhas da tabela existente. UPDATE Pessoa SET data_nascimento = '11/09/1985' WHERE id_pessoa = 7 exclusões Delet permite remover linhas existentes de uma tabela. DELETE FROM pessoa WHERE id_pessoa = 7 Insert into Pessoa (id, nome, sexo) value;
  13. 13. Linguagem SQL  DCL - Linguagem de Controle de Dados  O DCL (Data Control Language - Linguagem de Controle de Dados).  DCL controla os aspectos de autorização de dados e licenças de usuários para controlar quem tem acesso para ver ou manipular dados dentro do banco de dados.  Duas palavras-chaves da DCL:  GRANT - autoriza ao usuário executar ou setar operações.  REVOKE - remove ou restringe a capacidade de um usuário de executar operações.
  14. 14. Linguagem SQL  DTL - Linguagem de Transação de Dados  BEGIN WORK (ou START TRANSACTION, dependendo do dialeto SQL) pode ser usado para marcar o começo de uma transação de banco de dados que pode ser completada ou não.  COMMIT finaliza uma transação dentro de um sistema de gerenciamento de banco de dados.  ROLLBACK faz com que as mudanças nos dados existentes desde o último COMMIT ou ROLLBACK sejam descartadas.  DQL - Linguagem de Consulta de Dados  Embora tenha apenas um comando, a DQL é a parte da SQL mais utilizada. O comando SELECT permite ao usuário especificar uma consulta ("query") como uma descrição do resultado desejado
  15. 15. Vantagens e Desvantagens da Linguagem SQL  Vantagens:  Independência de fabricante  Portabilidade entre plataformas de hardware e software  Redução dos custos com treinamento  Usa inglês estruturado de alto nível  Permite consultas interativas  Múltiplas visões dos dados  Definição dinâmica dos dados
  16. 16. Vantagens e Desvantagens da Linguagem SQL  Desvantagens:  Falta de ortogonalidade nas expressões, funções embutidas, variáveis indicadoras, referência a dados correntes, constante NULL, conjuntos vazios, e etc;  Definição formal da linguagem após sua criação;  Discordância com as linguagens hospedeiras (geralmente procedurais e orientadas para registros e não para conjuntos);  Falta de algumas funções;  Não dá suporte a alguns aspectos do modelo relacional (join explícito, domínios, e etc.) Críticas (segundo C.J. Date)
  17. 17. Tabelas dos Exemplos  As tabelas a seguir serão usadas nos exemplos que se seguem:  CLIENTE (cod_cli, nome_cli, endereco, cidade, cep, uf)  VENDEDOR (cod_vend, nome_vend, sal_fixo, faixa_comiss)  PEDIDO ( num_ped, prazo_entr, cd_cli, cd_vend)  ITEM_PEDIDO (no_ped, cd_prod, qtd_ped)  PRODUTO (cod_prod, unid_prod, desc_prod, val_unit)
  18. 18. Criação de um Bando de Dados SQL  Para a criação de um banco de dados em SQL temos os seguintes comandos:  Creat Data Base;  Para conhecer quais os bancos de dados existentes dentro do MySQL basta usar o comando SHOW DATABASES. SHOW significa mostrar, apresentar, exibir e DATABASES significa bases de dados ou bancos de dados, ou seja, manda mostrar os bancos de dados existentes.
  19. 19. Criação e Destruição de Tabelas  O comando CREATE TABLE é usado para criar uma tabela. A sua forma geral é:  CREATE TABLE <nome_tabela> (<descrição das colunas>, <descrição das chaves>);  onde:  <nome_tabela> dever ser substituído pelo nome da tabela a ser criada.  <descrição das colunas> deve ser substituída pela relação das colunas da tabela e seus respectivos tipos de dados (por exemplo, smallint, char, varchar, integer, number, float e etc). <descrição das chaves> deve ser substituída pela lista das colunas que são tratadas como chaves estrangeiras.
  20. 20. Script de Criação das Tabelas dos Exemplos  Algumas colunas podem receber o valor NULL (nulo), e a coluna definida como chave primária, além de não poder receber NULL.
  21. 21. Script de Criação das Tabelas dos Exemplos
  22. 22. Criação e Destruição de Tabelas  Para excluirmos uma tabela existente devemos usar o comando DROP TABLE. A sua forma geral é: DROP TABLE <nome_tabela>; onde: <nome_tabela> dever ser substituído pelo nome da tabela a ser excluída.  Exemplos      drop table item_pedido;  drop table pedido;  drop table vendedor;  drop table produto;  drop table cliente;
  23. 23. Executando Consultas sobre as Tabelas  Selecionando Colunas Específicas de uma Tabela  Problema:  Listar todos os produtos com as respectivas descrições, unidades e valores unitários.
  24. 24. Executando Consultas sobre as Tabelas  Problema:  Listar os nomes dos clientes, as cidade e os estados onde eles estão localizados.
  25. 25. EXERCICIO 1. Com base no que você já aprendeu sobre banco de dados faça uma produção textual de no mínimo 5 linhas descrevendo o diagrama abaixo:
  26. 26. EXERCICIO 2. Marque V para verdadeiro e F para falso: ( ) CREATE, DROP, ALTER são comandos da Linguagem de Definição de Dados (DDL); ( ) É possível usarmos o comando CREATE para alterar estruturas da base de dados. ( ) O comando UPDATE realiza a exclusão de registros em uma tabela; ( ) Para apagar linhas da tabela tanto faz usar o comando DROP como o DELETE. ( ) O comando INSERT realiza a inclusão de um ou mais registros em uma tabela; A sequência correta seria: a) V -V - F –V - F; b) V - F - F –V - V; c) F -V - V – F - F; d) V - F - F – F - V;
  27. 27. EXERCICIO 3. Relacione a primeira coluna com a segunda e no final, indique a resposta correta: 1 - CREATE ( ) Comando responsável por inserir valores em uma tabela; 2 – INSERT ( ) - Responsável por retornar registros de uma tabela; 3 – DROP ( ) - Remove registros de uma tabela; 4 – SELECT ( ) - Tem o poder de remover estruturas do banco de dados; 5 – DELETE ( ) - Responsável por criar estruturas no banco de dados; A sequência correta seria: a) 4 - 2 - 1 - 3 - 5; b) 2 - 4 - 5 - 3 - 1; c) 3 - 5 - 4 - 2 - 1; d) 2 - 1 - 3 - 4 - 5;
  28. 28. INTRODUÇÃO AO MySQL 1º Passo: Após a Instalação do MySQL no seu computador, abra o MySQL Command Line Client. No meu caso eu baixei a versão 5.5 e sempre deixo fixado no Menu Iniciar, mas qualquer coisa é só você seguir o caminho (Iniciar-> Todos os Programas-> MySQL-> MySQL Server).
  29. 29. jorgeavila11.wordpress.com
  30. 30. Gostou ? Compartilha...

×