Banco de dados II - create

345 visualizações

Publicada em

Banco de dados II - create

Publicada em: Educação
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
345
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
10
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Banco de dados II - create

  1. 1. Banco de Dados II Professor Wagner Gadêa Lorenz wlorenz@svs.iffarroupilha.edu.br São Vicente do Sul, 27 de Agosto de 2013 1
  2. 2. DDL  DDL (Data Definition Language) ou Linguagem de Definição de Dados:  disponibiliza comandos para a definição e criação do esquema de base de dados;  comandos para criação, exclusão e alteração de objetos na base de dados (exemplo de objetos: tabelas, visões, índice, procedimentos armazenados, etc.) ;  comandos que especificam direitos de acesso; e comandos que permitem criar restrições de integridade (triggers). 2
  3. 3. História do PostgreSQL  O PostgreSQL (conhecido anteriormente como Postgres95) derivou do projeto POSTGRES da universidade de Berkley, cuja última versão foi a 4.2.  O POSTGRES foi originalmente patrocinado pelo DARPA (Agência de Projetos de Pesquisa Avançada para Defesa), ARO (Departamento de Pesquisa Militar), NSF (Fundação Científica Nacional) e ESL Inc.  A implementação do projeto POSTGRES iniciou em 1986, já em 87 tornou-se operacional. 3
  4. 4. História do PostgreSQL  A primeira versão lançada para o público externo foi em 1989. Devido a uma crítica feita ao seu sistema de regras, o POSTGRES teve essa parte re-implementada e lançada em uma segunda versão em 1990.  Em 1991 foi lançada a versão 3, com melhorias no executor de consultas e algumas partes do código foram re-escritas.  As versões subsequentes, até o Postgres95, foram focadas em confiabilidade e portabilidade. 4
  5. 5. PostgreSQL hoje  A equipe do projeto cresceu e se espalhou pelo mundo.  O Grupo Global de Desenvolvimento do PostgreSQL tem membros nos Estados Unidos, Canadá, Japão, Russia, vários países da Europa e alguns outros.  Esse grupo é formado essencialmente por empresas especializadas em PostgreSQL, empresas usuárias do sistema, além dos pesquisadores acadêmicos e programadores independentes. 5
  6. 6. PostgreSQL hoje  Além da programação, essa comunidade é responsável pela documentação, tradução, criação de ferramentas de modelagem e gerenciamento, e elaboração de extensões e acessórios. 6
  7. 7. PostgreSQL hoje  Pela riqueza de recursos e conformidade com os padrões, ele é um SGBD muito adequado para o estudo universitário do modelo relacional, além de ser uma ótima opção para empresas implementarem soluções de alta confiabilidade sem altos custos de licenciamento.  É um programa distribuído sob a licença BSD, o que torna o seu código fonte disponível e o seu uso livre para aplicações comerciais ou não.  http://www.postgresql.org/ 7
  8. 8. Comandos DDL  A primeira ação que devemos fazer é selecionar o SGBD que será utilizado para criar a base de dados e suas respectivas tabelas.  Utilizaremos o PostgreSQL. 8
  9. 9. Criação de Base de Dados e Esquema  Vamos inicialmente criar a nossa base de dados. Para isso usamos o comando CREATE.  Sintaxe:  CREATE DATABASE nome da base de dados;  Comando:  CREATE DATABASE exercicios; 9
  10. 10. Criação de Base de Dados e Esquema  Também podemos excluir uma base de dados. Para isso usamos o comando DROP.  Sintaxe:  DROP DATABASE nome da base de dados;  Comando:  DROP DATABASE exercícios;  Obs: O comando deve ser executado com cuidado, já que irá eliminar também todas as tabelas existentes na base. 10
  11. 11. Criação de Tabelas e Definição de Constrains  Com a base de dados criada, é necessário criarmos as tabelas para essa base de dados. • CREATE TABLE – Cria uma nova tabela na base de dados, especificando nome, atributos e restrições. • ALTER TABLE – Altera definições de uma tabela. • DROP TABLE – Remove uma tabela, quando suas definições não são mais necessárias. 11
  12. 12. Criação de Tabelas e Definição de Constrains  CREATE TABLE – Colunas são especificadas primeiro, sob a forma: <nomeCol> <domínio> <restrição> – Depois Chaves, integridade referencial e restrições de integridade  Sintaxe: CREATE TABLE <nome_da_tabela> ( <nome_da_col1> <tipo_da_col1> NOT NULL, <nome_da_col2> <tipo_da_col2> NOT NULL, ... PRIMARY KEY <lista_de_nomes_de_col>, FOREIGN KEY <nomes_de_col> REFERENCES <nome_tab_ref>(<nome_da_col_ref>) ); 12
  13. 13. Criação de Tabelas e Definição de Constrains  Comando: CREATE TABLE filmes ( cod char(5) NOT NULL, titulo varchar(40) NOT NULL, distribuidora integer NOT NULL, data_prod date, tempo int, PRIMARY KEY (cod) ); 13
  14. 14. Criação de Tabelas e Definição de Constrains  Comando: CREATE TABLE distribuidora ( cod_dist integer NOT NULL, nome varchar(80) NOT NULL, PRIMARY KEY (cod_dist) ); 14
  15. 15. Criação de Tabelas e Definição de Constrains  DROP TABLE  Para excluir uma tabela, utiliza-se o comando DROP. Quando você exclui uma tabela, você exclui todos os dados que foram armazenados nela.  Sintaxe: DROP TABLE nome_da_tabela ; Comando: DROP TABLE filmes; 15
  16. 16. Criação de Tabelas e Definição de Constrains  ALTER TABLE  O comando nos permite alterar a estrutura de uma tabela. Com ele podemos adicionar atributos, excluir atributos, alterar o tipo ou tamanho do atributo, adicionar e excluir constrains.  Sintaxe - Adicionar atributo: ALTER TABLE <nome_da_tabela> ADD <nome_da_col1> <tipo_da_col1> ; Comando - Adicionar atributo ALTER TABLE filmes ADD sinopse varchar(200); 16
  17. 17. Criação de Tabelas e Definição de Constrains  Sintaxe - Excluir atributo: ALTER TABLE <nome_da_tabela> DROP <nome_da_col1>; Comando - Excluir atributo ALTER TABLE filmes DROP sinopse; 17
  18. 18. Criação de Tabelas e Definição de Constrains  Sintaxe - Adiciona uma chave primária: ALTER TABLE <nome_da_tabela> ADD PRIMARY KEY <nome_da_col1>; Comando - Adicionar atributo ALTER TABLE filmes ADD PRIMARY KEY (cod); 18
  19. 19. Prática 19
  20. 20. Prática – Criar Tabelas  Exemplo Modelo Relacional AUTOR ( COD_AUTOR, NOME, NASCIMENTO) LIVRO (TITULO, COD_AUTOR, COD_EDITORA, VALOR REAL, PUBLICACAO, VOLUME) Cod_Autor referencia AUTOR Cod_Editora referencia EDITORA EDITORA( COD_EDITORA, RAZAO, CGC, ENDERECO, CIDADE ) 20
  21. 21. Prática – Criar Tabelas AUTOR ( COD_AUTOR, NOME, NASCIMENTO) CREATE TABLE Autor( Cod_Autor integer NOT NULL, Nome char(30) NOT NULL, Nascimento date NULL, PRIMARY KEY (Cod_Autor) ); 21
  22. 22. Prática – Criar Tabelas EDITORA( COD_EDITORA, RAZAO, CGC, ENDERECO, CIDADE ) CREATE TABLE Editora( Cod_Editora integer NOT NULL, Razao char(40) NOT NULL, CGC char (14) NOT NULL unique, Endereco char(40) NOT NULL, Cidade char(25) NOT NULL, PRIMARY KEY (Cod_Editora) ); 22
  23. 23. Prática – Criar Tabelas LIVRO (TITULO, COD_AUTOR, COD_EDITORA, VALOR REAL, PUBLICACAO, VOLUME) Cod_Autor referencia AUTOR Cod_Editora referencia EDITORA CREATE TABLE Livro( Titulo char(30) NOT NULL, Cod_Autor integer NOT NULL, Cod_Editora integer NOT NULL, ValorReal real NOT NULL, Publicacao date NOT NULL, Volume integer, PRIMARY KEY (Titulo, Cod_Autor), FOREIGN KEY (Cod_Autor) REFERENCES AUTOR, FOREIGN KEY (Cod_Editora) REFERENCES EDITORA ); 23
  24. 24. Prática – Criar Tabelas DROP TABLE Editora OBS : não exclui se tiverem livros referenciando uma editora. Cláusula ON DELETE CASCADE 24
  25. 25. Prática – Criar Tabelas LIVRO (TITULO, COD_AUTOR, COD_EDITORA, VALOR REAL, PUBLICACAO, VOLUME) Cod_Autor referencia AUTOR Cod_Editora referencia EDITORA CREATE TABLE Livro( Titulo char(30) NOT NULL, Cod_Autor integer NOT NULL, Cod_Editora integer NOT NULL, ValorReal real NOT NULL, Publicacao date NOT NULL, Volume integer, PRIMARY KEY (Titulo, Cod_Autor), FOREIGN KEY (Cod_Autor) REFERENCES AUTOR, FOREIGN KEY (Cod_Editora) REFERENCES EDITORA ON DELETE CASCADE ); 25
  26. 26. Comando INSERT  Comando INSERT é usado em banco de dados, quando queremos inserir dados na base. Podemos especificar uma linha a ser inserida ou escrever uma consulta cujo resultado é um conjunto de linha a inserir. 26
  27. 27. Comando INSERT  Sintaxe: INSERT INTO nome_da_tabela (atributo_1,...,atributo_n) VALUES (valor_1,..., valor_n);  Comando: INSERT INTO autor (Cod_Autor, nome, nascimento) VALUES (1,’fulano’, ‘02/02/1985’); .... INSERT INTO Editora (Cod_Editora, Razao,CGC,Endereco,Cidade) VALUES (1, 'Editora 1', '323344HJ', 'Av. Rio Branco', 'Santa Maria'); ..... 27
  28. 28. Comando INSERT INSERT INTO Livro (Titulo,Cod_Autor,Cod_Editora,ValorReal,Publicacao,Volume) VALUES ('TITULO 1',1,1,'35.00','22-03-2011','1'); ... Efetuar INSERT para a nossas tabelas Filmes e Distribuidora. INSERT INTO distribuidora (cod_dist,nome) VALUES (1,'distribuidora1'); ... INSERT INTO filmes (cod,titulo,distribuidora,data_prod,tempo) VALUES (1,'filme1',1,'23/08/2011',120); ... 28
  29. 29. Comando SELECT  Depois que inserimos dados em uma tabela, podemos começar a fazer a consulta nessa tabela. A estrutura básica de uma consulta em SQL consiste em três comandos: SELECT, FROM E WHERE.  O comando SELECT é usado para selecionar os atributos desejados no resultado de uma consulta.  O comando FROM define quais tabelas serão usadas na consulta.  O comando WHERE descreve a condição da consulta e não é obrigatório. 29
  30. 30. Comando SELECT  Sintaxe: select lista_atributos from tabela [where condição] 30
  31. 31. Comando SELECT  Consultar tabela  SELECT * FROM filmes;  SELECT * FROM distribuidora;  SELECT cod,titulo,distribuidora,data_prod,tempo FROM filmes; 31
  32. 32. Comando UPDATE  O comando UPDATE modifica valores inseridos dentro de uma tabela  Sintaxe: UPDATE nome da tabela SET nome do atributo1 = novo valor [{, nome do atributo_n = novo valor};] [WHERE condição;] Comando: UPDATE filmes SET titulo = ‘Titulo foi trocado' WHERE cod =‘1'; 32
  33. 33. Comando DELETE  Sintaxe: DELETE FROM nome_da_tabela [;] [WHERE condição] O comando WHERE permite aplicar uma condição que seleciona quais linhas da tabela serão excluídas. Excluir o Filme com titulo ‘filme2’.  Comando: DELETE FROM filmes WHERE titulo=‘filme2’; 33
  34. 34. Comando DELETE  Quando você utiliza o DELETE sem a condição WHERE, todos os registros da tabela serão excluídos.  Comando: DELETE FROM filmes; 34
  35. 35. Ordenação de Resultados  O comando ORDER BY, como o próprio nome diz, é utilizado para ordenar o resultado de uma consulta. Ele não altera a ordem dos dados da tabela física, somente o resultado da consulta aparece ordenado. 35
  36. 36. Ordenação de Resultados  Sintaxe: select lista_atributos from lista_tabelas [where condição] [order by nome_atributo 1 [desc] {[, nome_atributo n [desc]]} ]  Comando:  select * from filmes order by tempo;  select * from filmes order by tempo desc;  select * from filmes order by cod asc, tempo desc; 36
  37. 37. Ordenação de Resultados  É possível limitar a quantidade de valores ordenados a retornar.  select * from filmes order by tempo LIMIT 2; 37
  38. 38. Comando SELECT • Facilidades para projeção de informações – Não há eliminação de duplicatas no Select • tabela ≡ coleção – retorno de valores calculados • uso de operadores aritméticos (+,-,*,/) – invocação de funções de agregação • COUNT (contador de ocorrências [de um atributo]) • MAX / MIN (valores máximo / mínimo de um atributo) • SUM (somador de valores de um atributo) • AVG (média de valores de um atributo) 38
  39. 39. Comando SELECT • Função COUNT - Exemplos – informar o total de filmes cadastrados. select count (*) from filmes; – total de filmes com mais de 120 min de duração. select count (*) from filmes where tempo> 120; 39
  40. 40. Cláusula WHERE • Facilidades para seleção de dados – busca por padrões • cláusula [NOT] LIKE – teste de existência de valores nulos • cláusula IS [NOT] NULL – busca por intervalos de valores • cláusula [NOT] BETWEEN valor1 AND valor2 – teste de pertinência elemento-conjunto • cláusula [NOT] IN 40
  41. 41. Cláusula WHERE • Busca por padrões where atributo like ´padrão´ % : casa com qq cadeia de caracteres ´_´ : casa com um único caractere [a-f] : casa com qq caractere entre ´a´ e ´f´ (SQL-Server) • Exemplos – buscar cod e nome dos filmes com inicial ‘f’ select cod, titulo from filmes where titulo like 'f%' 41
  42. 42. Prática • Utilizar o arquivo “Banco de dados tennis” disponível no Moodle da disciplina. • Efetuar operações de SELECT utilizando condições WHERE. • Lista de Exercícios. 42
  43. 43. Conteúdo e Dúvidas  Conteúdo  Disponível no moodle.  Dúvidas wlorenz@svs.iffarroupilha.edu.br 43

×