Banco de Dados. Diego Silveira Costa Nascimento. 20 de março de Instituto Federal do Rio Grande do Norte

Tamanho: px
Começar a partir da página:

Download "Banco de Dados. Diego Silveira Costa Nascimento. 20 de março de Instituto Federal do Rio Grande do Norte"

Transcrição

1 Banco de Dados Diego Silveira Costa Nascimento Instituto Federal do Rio Grande do Norte 20 de março de 2015

2 Ementa do Curso 1 Introdução 2 Abordagem Entidade-relacionamento 3 Abordagem Relacional 4 Normalização 5 Liguagem Estruturada de Consulta 6 Consultas Avançadas Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 2 / 104

3 Ementa do Curso 1 Introdução 2 Abordagem Entidade-relacionamento 3 Abordagem Relacional 4 Normalização 5 Liguagem Estruturada de Consulta 6 Consultas Avançadas Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 3 / 104

4 Objetivos da Disciplina Capacitar para desenvolvimento de sistemas que utilizam a tecnologia de Banco de Dados (BD); Apresentar os conceitos fundamentais da área; Ensinar as técnicas de modelagem de dados, bem como as técnicas de normalização; Implementar projetos com BD; Utilizar uma linguagem relacional; e Elaborar consultas de complexidade variada. Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 4 / 104

5 Motivações em Estudar Banco de Dados Sistemas de Bancos de Dados (BD) têm sido amplamente utilizados no desenvolvimento de sistemas computacionais corporativos; A disseminação de BDs requer a capacitação de profissionais da área na utilização e no gerenciamento de tais sistemas, diante de um nível de complexidade crescente; e Geralmente, profissionais de BD são muito bem remunerados. Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 5 / 104

6 Banco de Dados Definição São conjuntos de registros dispostos em estrutura regular que possibilita a organização dos dados e produção de informação. Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 6 / 104

7 Características Natureza auto-descritiva de um sistema de BD Um catálogo do SGBD armazena a descrição do banco de dados (meta-dados), permite trabalhar com diferentes BDs. Independência programa-dados Permite mudanças na estrutura de armazenamento e operações dos dados sem ter que mudar os programas que acessam os dados. Abstração de dados Um modelo de dados é usado para esconder detalhes de armazenamento, apresentando ao usuário uma visão conceitual dos dados; Suporta múltiplas visões dos dados Cada usuário pode ter diferentes visões do banco de dados, a qual descreve somente os dados de interesse dos usuário. Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 7 / 104

8 Propriedades Implícitas Um banco de dados representa algum aspecto do mundo real; Um banco de dados é uma coleção lógica e coerente de dados com algum significado inerente; Uma organização de dados ao acaso não pode ser corretamente interpretado como um banco de dados; Um banco de dados é projetado, construído e povoado por dados, atendendo a uma proposta; e Possui um grupo de usuários definido em algumas aplicações preconcebidas de acordo com o interesse desse grupo de usuário. Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 8 / 104

9 Benefícios Controle de Redundância; Compartilhamento dos dados com vários usuários; Restringe o acesso não autorizado dos dados; Provê múltiplas interfaces para diferentes tipos de usuários; Representa relacionamentos complexos dos dados; Manutenção de restrições de integridade; Provê Backup e Recuperação; e Potencial para ditar padrões. Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 9 / 104

10 Evolução Ilustração Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 10 / 104

11 Aplicações Tradicionais Sistemas bancários; Controle em hotelaria; Prontuário de pacientes em hospitais; Sites de relacionamento; Controle de estoque de supermercados; Cadastramento de funcionários por uma empresa; e Sistemas acadêmico. Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 11 / 104

12 Avanços Tecnológicos de Armazenamento Figuras; Vídeos; Mensagens sonoras; Mapas; e Dados temporais. Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 12 / 104

13 Sistema Gerenciador de Banco de Dados Definição É uma coleção de programas de propósito geral que facilita os processos de definição, construção, manipulação e compartilhamento de bancos entre vários usuários e aplicações. Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 13 / 104

14 Objetivo de um SGBD Gerenciamento eficiente (mais rápidos que arquivos); com segurança (crashes); de grandes quantidades (gigabyte); de informações persistentes; e compartilhadas (múltipos usuários). Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 14 / 104

15 Configuração de um Sistema de Bando de Dados Ilustração Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 15 / 104

16 Ementa do Curso 1 Introdução 2 Abordagem Entidade-relacionamento 3 Abordagem Relacional 4 Normalização 5 Liguagem Estruturada de Consulta 6 Consultas Avançadas Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 16 / 104

17 Modelos de Banco de Dados Definição É uma descrição dos tipos de informações que estão armazenadas em um banco de dados. Para construir um modelo de dados usa-se uma linguagem de modelagem de dados; A linguagem de modelagem pode ser textual ou gráfica; Existem linguagens de modelagem para descrever modelos de dados em diferentes níveis de abstração e objetivos; Cada representação de um modelo de dados recebe a denominação de esquema de banco de dados; Para um projeto de banco de dados, normalmente são considerados dois níveis de abstração de modelos de dados: Modelo conceitual; e Modelo lógico. Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 17 / 104

18 Modelo Conceitual Definição É uma descrição do banco de dados de forma independente de implementação em um SGBD. O modelo conceitual registra que dados podem aparecer no banco de dados, mas não registra como estes dados estão armazenados a nível de SGBD. Ilustração Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 18 / 104

19 Modelo Lógico Definição É uma descrição de um banco de dados no nível de abstração visto pelo usuário do SGBD. Desta forma, o modelo lógico é dependente do tipo particular de SGBD que está sendo usado. Ilustração Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 19 / 104

20 Entidade Definição Conjunto de objetos da realidade modelada sobre os quais deseja-se manter informações o banco de dados. Ilustração Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 20 / 104

21 Relacionamento Definição Conjunto de associações entre ocorrência de entidades. Ilustração Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 21 / 104

22 Cardinalidade de Relacionamento Definição É o número (mínimo, máximo) de ocorrências de entidade associadas a uma ocorrência da entidade em questão através do relacionamento. Classificação de relacionamentos binários: 1:1 (um-para-um); 1:N (um-para-muitos); N:N (muitos-para-muitos); Relacionamento Ternário; e Cardinalidade Mínima. Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 22 / 104

23 Relacionamento Binário 1:1 Ilustração Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 23 / 104

24 Relacionamento Binário 1:N Ilustração Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 24 / 104

25 Relacionamento Binário N:N Ilustração Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 25 / 104

26 Relacionamento Ternário Ilustração Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 26 / 104

27 Cardinalidade Mínima Ilustração Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 27 / 104

28 Atributo Definição Dado que é associado a cada ocorrêcia de uma entidade ou de um relacionamento. Ilustração Cardinalidade de atributo: Obrigatório; Mono-valorado; ou Multi-valorados. Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 28 / 104

29 Identificação de Entidade Definição Um identificador é um conjunto de um ou mais atributos (e possivelmente relacionamentos, como visto abaixo) cujos valores servem para distinguir uma ocorrência da entidade das demais ocorrências da mesma entidade. Tipo de identificação: Simples; ou Composto. Ilustração Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 29 / 104

30 Relacionamento Identificado Definição Há casos em que o identificador de uma entidade é composto não somente por atributos da própria entidade mas também por relacionamentos dos quais a entidade participa. Ilustração Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 30 / 104

31 Generalização Ilustração Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 31 / 104

32 Entidade Associativa Ilustração Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 32 / 104

33 Símbolos do Diagrama Entidade Relacionamento Ilustração Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 33 / 104

34 Ementa do Curso 1 Introdução 2 Abordagem Entidade-relacionamento 3 Abordagem Relacional 4 Normalização 5 Liguagem Estruturada de Consulta 6 Consultas Avançadas Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 34 / 104

35 Tabela Definição É um conjunto não ordenado de linhas (tuplas); Cada linha é composta por uma série de campos (valor do atributo); Cada campo é identificado por nome de campo (nome de atributo); e O conjunto de campos das linhas de uma tabela que possuem o mesmo nome formam uma coluna. Ilustração Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 35 / 104

36 Chaves Definição E a forma na qual se estabelece relações entre linhas de tabelas de um banco de dados relacional. Tipos de chaves: Primária; Estrangeira; e Alternativa; Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 36 / 104

37 Chave Primária Definição Uma chave primária é uma coluna ou uma combinação de colunas cujos valores distinguem uma linha das demais dentro de uma tabela. Ilustração Tab: Departamento COD D1 D2 D3 DESC Compras Engenharia Vendas Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 37 / 104

38 Chave Estrangeira Definição Uma chave estrangeira é uma coluna ou uma combinação de colunas, cujos valores aparecem necessariamente na chave primária de uma tabela. Ilustração Tab: Empregado COD NOME COD_DEP CAT_FUNC E1 Souza D1 - E2 Santos D2 C5 E3 Silva D2 C5 E5 Soares D1 C2 Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 38 / 104

39 Chave Alternativa Definição Em alguns casos, mais de uma coluna ou combinações de colunas podem servir para distinguir uma linha das demais. Ilustração Tab: Empregado COD NOME COD_DEP CAT_FUNC CPF E1 Souza D E2 Santos D2 C E3 Silva D2 C E5 Soares D1 C Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 39 / 104

40 Ementa do Curso 1 Introdução 2 Abordagem Entidade-relacionamento 3 Abordagem Relacional 4 Normalização 5 Liguagem Estruturada de Consulta 6 Consultas Avançadas Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 40 / 104

41 Normalização Definição É uma regra que deve ser obedecida por uma tabela para que esta seja considerada bem projetada. Tipos de Normalização: Primeira forma normal (1FN); Segunda forma normal (2FN); Terceira forma normal (3FN); e Quarta forma normal (4FN). Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 41 / 104

42 Tabela Não Normalizada Exemplo Tab: Projeto_Empregado COD_PROJ TIPO DESC COD_EMP NOME CAT SAL INI DURAC LSC001 Desenvolvimento Sistema de Estoque 2146 João A1 4 01/11/91 24 LSC001 Desenvolvimento Sistema de Estoque 3145 Sílvio A2 4 02/10/91 24 LSC001 Desenvolvimento Sistema de Estoque 6126 José B1 9 03/10/92 18 LSC001 Desenvolvimento Sistema de Estoque 1214 Carlos A2 4 04/10/92 18 LSC001 Desenvolvimento Sistema de Estoque 8191 Mário A1 4 01/11/92 12 PAG02 Manutenção Sistema de RH 8191 Mário A1 4 01/05/93 12 PAG02 Manutenção Sistema de RH 4112 João A2 4 04/01/91 24 PAG02 Manutenção Sistema de RH 6126 José B1 9 01/11/92 12 Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 42 / 104

43 Primeira Forma Normal (1FN) Definição Diz-se que uma tabela está na primeira forma normal, quando ela não contém tabelas aninhadas. Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 43 / 104

44 Tabela na 1FN Exemplo Tab: Projeto Tab: Empregado COD TIPO DESC LSC001 Desenvolvimento Sistema de Estoque PAG02 Manutenção Sistema de RH COD_PROJ COD_EMP NOME CAT SAL INI DURAC LSC João A1 4 01/11/91 24 LSC Sílvio A2 4 02/10/91 24 LSC José B1 9 03/10/92 18 LSC Carlos A2 4 04/10/92 18 LSC Mário A1 4 01/11/92 12 PAG Mário A1 4 01/05/93 12 PAG João A2 4 04/01/91 24 PAG José B1 9 01/11/92 12 Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 44 / 104

45 Dependência Funcional Definição Diz-se que uma coluna C2 depende funcionalmente de uma coluna C1 (ou que a coluna C1 determina a coluna C2) quando, em todas linhas da tabela, para cada valor de C1 que aparece na tabela, aparece o mesmo valor de C2. Ilustração Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 45 / 104

46 Segunda Forma Normal (2FN) Definição Uma tabela encontra-se na segunda forma normal, quando, além de estar na 1FN, não contém dependências parciais. Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 46 / 104

47 Tabela na 2FN Exemplo Tab: Projeto_Empregado Tab: Empregado COD_PROJ COD_EMP INI DURAC LSC /11/91 24 LSC /10/91 24 LSC /10/92 18 LSC /10/92 18 LSC /11/92 12 PAG /05/93 12 PAG /01/91 24 PAG /11/92 12 COD_EMP NOME CAT SAL 2146 João A Sílvio A José B Carlos A Mário A João A2 4 Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 47 / 104

48 Terceira Forma Normal (3FN) Definição Uma tabela encontra-se na terceira forma normal, quando, além de estar na 2FN, não contém dependências transitivas. Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 48 / 104

49 Tabela na 3FN Exemplo Tab: Empregado COD_EMP NOME CAT 2146 João A Sílvio A José B Carlos A Mário A João A2 Tab: Categoria CAT SAL A1 4 A2 4 B1 9 Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 49 / 104

50 Quarta Forma Normal (4FN) Definição Uma tabela encontra-se na quarta forma normal, quando, além de estar na 3FN, não contém dependências multi-valoradas. Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 50 / 104

51 Incluindo uma Nova Entidade Exemplo Tab: Equipamento COD EQ1 EQ2 EQ3 DESC Projetor Notebook Roteador Tab: Projeto_Empregado_Equipamento COD_PROJ COD_EMP COD_EQUI PAG EQ1 PAG EQ1 PAG EQ1 PAG EQ2 PAG EQ2 PAG EQ2 PAG EQ3 PAG EQ3 PAG EQ3 Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 51 / 104

52 Tabela na 4FN Exemplo Tab: Projeto_Equipamento COD_PROJ PAG02 PAG02 PAG02 COD_EQUI E1 E2 E3 Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 52 / 104

53 Ementa do Curso 1 Introdução 2 Abordagem Entidade-relacionamento 3 Abordagem Relacional 4 Normalização 5 Liguagem Estruturada de Consulta 6 Consultas Avançadas Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 53 / 104

54 Linguagem SQL Derivada de Structured Query Language; Adotada como padrão para BDs relacionais; Implementada no projeto de pesquisa do System R da IBM em meados dos anos 70; Padronizada em 1986 e melhorada em 1989; SQL-2 ou SQL-92: Padrão hoje em vigor; e SQL-3: Em fase de desenvolvimento. Vai estender o padrão atual com conceitos de orientação a objeto e outros novos conceitos de BDs. Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 54 / 104

55 Comandos SQL Comandos de definição de dados; e Comandos de manipulação dos dados. Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 55 / 104

56 Comandos de Definição de Dados Criação e exclusão de banco de dados; Criação, alteração e exclusão de tabelas; Especificação de restrições; Criação de visão; Criação de procedimentos armazenados; e Criação de gatilhos. Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 56 / 104

57 Criando Banco de Dados Estrutura create database <nome do database > Exemplo create database sistema_academico Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 57 / 104

58 Excluindo Banco de Dados Estrutura drop database <nome do banco > Exemplo drop database sistema_academico Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 58 / 104

59 Tabelas Exemplo Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 59 / 104

60 Criando Tabela Estrutura create table <nome da tabela >( <nome do atributo 1> <tipo >, <nome do atributo 2> <tipo >) Exemplo create table tb_aluno ( matricula int, nome varchar (50), sexo char ) create table tb_disciplina ( identificador int, descricao varchar (50), creditos int ) create table tb_disciplina_cursada ( matricula_aluno int, identificador_disciplina int, semestre int, ano int, nota float ) Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 60 / 104

61 Alterando Tabela Estrutura alter table <nome da tabela > add <nome do atributo > <tipo > Exemplo alter table tb_aluno add cpf varchar (11) Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 61 / 104

62 Excluindo Tabela Estrutura drop table <nome da tabela > Exemplo drop table tb_aluno Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 62 / 104

63 Comandos de Manipulação de Dados Inserir registros em tabelas; Selecionando registros; Atualizar registros em tabelas; e Excluir registros em tabelas. Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 63 / 104

64 Inserindo Valores Estrutura insert into <nome da tabela > ( nome do atributo 1, nome do atributo 2) values ( valor 1, valor 2 ) Exemplo insert into tb_aluno ( matricula, nome, sexo, cpf ) values ( 1, João da Silva, M, ) Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 64 / 104

65 Selecionando Registros Estrutura select <nome do atributo 1>, <nome do atributo 2> from <nome da tabela > Exemplo select matricula, nome from tb_aluno Caso necessite selecionar todos os atributos de uma única vez, deve-se apenas utilizar o síbolo de asterisco ( ) em substituição do(s) nome(s) da(s) coluna(s). Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 65 / 104

66 Cláusula WHERE Estrutura select <nome do atributo 1>, <nome do atributo 2> from <nome da tabela > where <condi ção> Exemplo select matricula, nome from tb_aluno where matricula = 1 Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 66 / 104

67 Conectores Relacionais igual: =; maior: >; menor: <; maior igual: >=; menor igual: <=; diferente: <>; entre: between; e parte: like (Permitido o uso de máscara com % entre áspas simples). Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 67 / 104

68 Conectores Lógicos e: and; ou: or; é nulo: is null; e não é nulo: is not null. Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 68 / 104

69 Atualizando Valores Estrutura update <nome da tabela > set <nome do atributo > = <valor > where <condi ções > Exemplo update tb_aluno set nome = João da Silva Filho where matricula = 1 Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 69 / 104

70 Excluindo Valores Estrutura delete from <nome da tabela > where <condi ções > Exemplo delete from tb_aluno where matricula = 1 Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 70 / 104

71 Especificando Restrições de Integridade Declarativas: Domínio ou tipo de dados; Vazio; Padrão; Checagem; Unicidade; Chave primária; e Referencial. Procedimental: Procedimentos armazenados ou funções; e Gatilhos (Banco de dados ativos). Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 71 / 104

72 Restrição de Vazio Estrutura alter table <nome da tabela > alter <nome do atributo > set not null Exemplo alter table tb_aluno alter nome set not null Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 72 / 104

73 Restrição de Padrão Estrutura alter table <nome da tabela > alter <nome do atributo > set default <valor > Exemplo alter table tb_aluno alter sexo set default M Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 73 / 104

74 Restrição de Checagem Estrutura alter table <nome da tabela > add constraint <nome da restri ção> check (< restri ção >) Exemplo alter table tb_disciplina_cursada add constraint ck_tb_disciplina_cursada_nota check ( nota >= 0 and nota <= 10) Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 74 / 104

75 Restrição de Unicidade Estrutura alter table <nome da tabela > add constraint <nome da restri ção> unique (< nome do atributo >) Exemplo alter table tb_aluno add constraint u_tb_aluno_cpf unique ( cpf ) Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 75 / 104

76 Restrição de Chave Estrutura alter table <nome da tabela > add constraint <nome da restri ção> primary key ( nome do atributo ) Exemplos alter table tb_aluno add constraint pk_tb_aluno_matricula primary key ( matricula ) alter table tb_disciplina add constraint pk_tb_disciplina_identificador primary key ( identificador ) alter table tb_disciplina_cursada add constraint pk_tb_disciplina_cursada_matricula_disciplina primary key ( matricula_aluno, identificador_disciplina, semestre, ano ) Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 76 / 104

77 Restrição de Referencial Estrutura alter table <nome da tabela > add constraint <nome da restri ção> foreign key (< nome do atributo >) references <nome da tabela - referência >(<nome do atributo - referência >) Exemplos alter table tb_disciplina_cursada add constraint fk_tb_disciplina_cursada_matricula_aluno foreign key ( matricula_aluno ) references tb_aluno ( matricula ) alter table tb_disciplina_cursada add constraint fk_tb_disciplina_cursada_idenfificador_disciplina foreign key ( identificador_disciplina ) references tb_disciplina ( identificador ) Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 77 / 104

78 Criando Visão Estrutura create view <nome da vis ão> as <consulta sql > Exemplo create view vw_alunos as select matricula, nome from secretaria. tb_aluno Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 78 / 104

79 Criando Função Estrutura create function <nome da função>( <parâmetros >) returns <tipo de retorno > as $$ <definição do comando >; $$ language <nome da linguagem > Exemplo create function fn_inserir_aluno ( matricula INT, nome VARCHAR (50), sexo CHAR, cpf VARCHAR (11) ) returns void as $$ insert into tb_aluno ( matricula, nome, sexo, cpf ) values ($1,$2,$3,$4 ); $$ language SQL Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 79 / 104

80 Criando Função Exemplo create function fn_descricao_sexo ( sexo CHAR ) returns varchar (10) as $$ declare psexo alias for $1; begin if ( psexo = M ) then return MASCULINO ; else return FEMININO ; end if; end ; $$ language PLPGSQL Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 80 / 104

81 Criando Gatilhos Estrutura create trigger <nome do gatilho > [BEFORE, AFTER ] [INSERT,UPDATE, DELETE ] on <nome da tabela > for each row execute procedure <nome da fun ção >() Exemplos create table tb_log_alteracao_nota ( codigo serial, data date, matricula_aluno int, identificador_disciplina int, nota_anterior float, nota_atual float, usuario varchar (20) ) Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 81 / 104

82 Criando Gatilhos Exemplos create function fn_log_alterar_nota () returns trigger as $$ begin insert into tb_log_alteracao_nota (data, matricula_aluno, identificador_disciplina, nota_anterior, nota_atual, usuario ) values (now (), OLD. matricula_aluno, OLD. identificador_disciplina, OLD.nota, NEW.nota,user ); return null ; end ; $$ language PLPGSQL create trigger tg_alterar_nota after update on tb_disciplina_cursada for each row execute procedure fn_log_alterar_nota () Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 82 / 104

83 Ementa do Curso 1 Introdução 2 Abordagem Entidade-relacionamento 3 Abordagem Relacional 4 Normalização 5 Liguagem Estruturada de Consulta 6 Consultas Avançadas Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 83 / 104

84 Exemplo de um Banco de Dados Exemplos Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 84 / 104

85 Operação de Renomeação AS Definição A linguagem SQL permite a renomeação de relações e atributos recorrendo à cláusula as. Exemplo select e. pnome as nome from empregado as e Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 85 / 104

86 Cláusula GROUP BY Estrutura select <nome do atributo 1>, <nome do atributo 2> from <nome da tabela > where <condi ções > group by <nome do atributo > Funções de grupo: count(); min(); max(); sum(); ou avg(). Exemplo select e.sexo, count (*) from empregado as e group by e. sexo Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 86 / 104

87 Cláusula HAVING Estrutura select <nome do atributo 1>, <nome do atributo 2> from <nome da tabela > where <condi ções > group by <nome do atributo > having <condi ções > Exemplo select e.dno, avg (e. salario ) from empregado as e group by e. dno having avg (e. salario ) < Importante Predicados da cláusula WHERE são aplicados depois da formação dos grupos. Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 87 / 104

88 Cláusula ORDER BY Estrutura select <nome do atributo 1>, <nome do atributo 2> from <nome da tabela > where <condi ções > order by <nome do atributo > <tipo de ordenação> Tipo de ordenação: Ascendente: asc; ou Descendente: desc. Exemplo select * from empregado as e order by e. pnome desc Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 88 / 104

89 Operações de Conjunto União dos resultados de uma ou mais queries; Interseção entre os resultados de duas queries; e Subtração entre os resultados de duas queries. Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 89 / 104

90 Operações de Conjunto para União Estrutura <Primeira consulta > union <Segunda consulta > Exemplo select e. pnome, e. sexo from empregado as e union select d. nome_dependente, d. sexo from dependente as d Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 90 / 104

91 Operações de Conjunto para Interseção Estrutura <Primeira consulta > intersect <Segunda consulta > Exemplo select e. pnome, e. sexo from empregado as e intersect select e. pnome, e. sexo from empregado as e where e. superssn is not null Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 91 / 104

92 Operações de Conjunto para Subtração Estrutura <Primeira consulta > except <Segunda consulta > Exemplo select e. pnome, e. sexo from empregado as e except select e. pnome, e. sexo from empregado as e where e. superssn is not null Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 92 / 104

93 Junções entre Tabelas Junção cruzada; Junção interna; e Junção externa: Esquerda; Direita; ou Completa. Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 93 / 104

94 Junção Cruzada Estrutura select <atributos > from <primeira tabela > cross join <segunda tabela > Exemplo select e1.pnome, e2. pnome from empregado as e1 cross join empregado as e2 Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 94 / 104

95 Junção Interna Estrutura select <atributos > from <primeira tabela > inner join <segunda tabela > on (<condição>) Exemplo select e1.pnome, e2. pnome from empregado as e1 inner join empregado as e2 on (e1.ssn = e2. superssn ) Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 95 / 104

96 Junção Externa a Esquerda Estrutura select <atributos > from <primeira tabela > left outer join <segunda tabela > on (<condição>) Exemplo select e1.pnome, e2. pnome from empregado as e1 left outer join empregado as e2 on (e1.ssn = e2. superssn ) Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 96 / 104

97 Junção Externa a Direita Estrutura select <atributos > from <primeira tabela > right outer join <segunda tabela > on (<condição>) Exemplo select e1.pnome, e2. pnome from empregado as e1 right outer join empregado as e2 on (e1.ssn = e2. superssn ) Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 97 / 104

98 Junção Externa Completa Estrutura select <atributos > from <primeira tabela > inner join <segunda tabela > on (<condição>) Exemplo select e1.pnome, e2. pnome from empregado as e1 full outer join empregado as e2 on (e1.ssn = e2. superssn ) Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 98 / 104

99 Subconsultas Na cláusula SELECT; Na cláusula FROM; ou Na cláusula WHERE. Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 99 / 104

100 Subconsulta na Cláusula Select Estrutura select <atributos >, (< subconsulta >) from <primeira tabela > Exemplo select e. pnome, ( select count (*) from dependente as d where e.ssn = d.essn ) as qt_dependente from empregado as e Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 100 / 104

101 Subconsulta na Cláusula From Estrutura select <atributos > from (< subconsulta >) Exemplo select e. pnome, d. qt_dependentes from empregado as e inner join ( select d.essn, count (*) as qt_dependentes from dependente as d group by d. essn ) as d on (e. ssn = d. essn ) Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 101 / 104

102 Expressões em Subconsulta in; not in; exists; e not exists. Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 102 / 104

103 Subconsulta na Cláusula Where Estrutura select <atributos > from <tabela > where ( subconsulta ) Exemplo select e.ssn, e. pnome from empregado as e where e.ssn in ( select d.essn from dependente as d group by d. essn ) Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 103 / 104

104 Subconsulta na Cláusula Where Exemplo select e.ssn, e. pnome from empregado as e where exists ( select d.essn from dependente as d where d. essn = e. ssn group by d. essn ) Diego S. C. Nascimento (IFRN) Banco de Dados Apresentação 104 / 104

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO Disciplina: Banco de Dados I Professor: Prof. Me. Everton

Leia mais

Introdução ao Banco de Dados. Banco de Dados

Introdução ao Banco de Dados. Banco de Dados Introdução ao Banco de Dados Prof. Tiago Garcia de Senna Carneiro UFOP Prof. Técnicas de Programação II 2006 PARTE 1: Conceitos Básicos Banco de Dados SGDB: Sistema Gerenciador de Banco de Dados Definição:

Leia mais

SQL (Tópicos) Structured Query Language

SQL (Tópicos) Structured Query Language SQL (Tópicos) Structured Query Language ISI Introdução aos Sistemas de Informação SQL (Tópicos) 1 SQL: componentes SQL / DDL (Data Definition Language) Permite definir os Esquemas de Relação Permite definir

Leia mais

Revisão Banco de Dados

Revisão Banco de Dados Revisão Banco de Dados Carlos Henrique - Aula 2 Descoberta de Conhecimento e Mineração de Dados Tópicos Abordados Conceitos Básicos Características Arquitetura Lógica Usuários Finais Modelo E/R Linguagens

Leia mais

Banco de Dados I Introdução SQL

Banco de Dados I Introdução SQL Banco de Dados I Introdução SQL Frederico Queiroga fredericoqueiroga@gmail.com https://sites.google.com/site/fredericoqueiroga/ Linguagem SQL Aspectos Gerais: Independência do fabricante: Está incorporada

Leia mais

BCD29008 Banco de dados

BCD29008 Banco de dados BCD29008 Banco de dados Linguagem SQL Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 21 de agosto de 2017

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com 02/06/2016 SUMÁRIO SQL DDL DML SQL (STRUCTURED

Leia mais

Introdução ao PostgreSQL

Introdução ao PostgreSQL Introdução ao PostgreSQL Fontes Karine Reis Ferreira karine@dpi.inpe.br Gilberto Câmara gilberto@dpi.inpe.br Gilberto Ribeiro de Queiroz gribeiro@dpi.inpe.br Marcos André Gonçalves - UFMG Parte 3 Aula

Leia mais

Comandos de Manipulação

Comandos de Manipulação SQL - Avançado Inserção de dados; Atualização de dados; Remoção de dados; Projeção; Seleção; Junções; Operadores: aritméticos, de comparação,de agregação e lógicos; Outros comandos relacionados. SQL SQL

Leia mais

Conceitos SQL SQL 19/03/2017 O que é dado? O que é BD? O que é uma informação? O que é SGBD? O que é SQL? O que é BD? O que é SGBD?

Conceitos SQL SQL 19/03/2017 O que é dado? O que é BD? O que é uma informação? O que é SGBD? O que é SQL? O que é BD? O que é SGBD? - ---@--- Conceitos O que é dado? O que é uma informação? O que é BD? O que é BD? O que é SGBD? O que é? O que é SGBD? Como se comunicar com o SGBD? 1 O que é? Onde Nasceu? Tipos de Bancos Relacionais

Leia mais

Revisão de Bancos de Dados

Revisão de Bancos de Dados Revisão de Bancos de Dados Conceitos Básicos 1. Defina o que é um banco de dados e o que é um sistema gerenciador de bancos de dados (SGBD). 2. Defina as arquiteturas de software em duas camadas (cliente/servidor)

Leia mais

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO Disciplina: Banco de Dados I Professor: Prof. Me. Everton

Leia mais

SQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL.

SQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL. LINGUAGEM SQL SQL CREATE DATABASE MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL. SQL CREATE TABLE SQL NOT NULL O valor NOT NULL obriga que o campo contenha sempre

Leia mais

Banco de Dados I. Aula 16 - Prof. Bruno Moreno 04/11/2011

Banco de Dados I. Aula 16 - Prof. Bruno Moreno 04/11/2011 Banco de Dados I Aula 16 - Prof. Bruno Moreno 04/11/2011 Plano de Aula O comando DELETE Cláusula CHECK Comparações utilizando NULL Funções agregadas Junções de tabelas em SQL Visões Comando DELETE DELETE

Leia mais

Introdução a Bancos de Dados

Introdução a Bancos de Dados Introdução a Bancos de Dados - Conceitos - Modelos lógicos e relacional - Álgebra relacional - SQL - Projeto Lógico INPE - Divisão de Processamento de Imagens INPE 1 Sistemas de Banco de Dados Definição:

Leia mais

Fundamentos de SQL. Curso: Técnico em Redes de Computadores Disciplina: Tecnologias e Linguagem de Banco de dados Professor: Rodrigo da Rocha

Fundamentos de SQL. Curso: Técnico em Redes de Computadores Disciplina: Tecnologias e Linguagem de Banco de dados Professor: Rodrigo da Rocha Fundamentos de SQL Curso: Técnico em Redes de Computadores Disciplina: Tecnologias e Linguagem de Banco de dados Professor: Rodrigo da Rocha SQL - Introdução SQL-Structured Query Language (Linguagem de

Leia mais

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida SQL PostgreSQL I Criação de Tabelas Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida Composição da SQL Linguagem de Definição de Dados (DDL): Comandos para

Leia mais

Rápida revisão do Modelo Relacional

Rápida revisão do Modelo Relacional Rápida revisão do Modelo Relacional Conceito de relação Tuplas e atributos Rápida revisão do Modelo Relacional Regras de integridade Entidade: Deve existir uma chave primária com valor único e não-nulo.

Leia mais

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR SQL Structured Query Language, ou Linguagem de Consulta Estruturada, foi desenvolvida pela IBM nos anos 70 para demonstrar a viabilidade do modelo relacional para bancos de dados. No final dos anos 80

Leia mais

Utilizando o Postgres - comandos SQL para a manipulação de dados

Utilizando o Postgres - comandos SQL para a manipulação de dados Utilizando o Postgres - comandos SQL para a manipulação de dados SELECT A declaração SELECT é utilizada para selecionar os dados de um banco de dados. SELECT nome FROM clientes WHERE A cláusula WHERE é

Leia mais

SQL Básica. Andre Noel

SQL Básica. Andre Noel SQL Básica Andre Noel Introdução A SQL é um dos principais motivos de sucesso dos BDs relacionais comerciais Introdução A SQL é um dos principais motivos de sucesso dos BDs relacionais comerciais Se tornou

Leia mais

SQL BÁSICO. Luiz Antônio Vivacqua Corrêa Meyer

SQL BÁSICO. Luiz Antônio Vivacqua Corrêa Meyer SQL BÁSICO Luiz Antônio Vivacqua Corrêa Meyer SQL (Structured Query Language) Início na década de 70 pela IBM com o nome de SEQUEL. Em 1980 o produto mudou seu nome para SQL. American National Standards

Leia mais

ANÁLISE E PROJETO DE BANCO DE DADOS

ANÁLISE E PROJETO DE BANCO DE DADOS ANÁLISE E PROJETO DE BANCO DE DADOS SQL FELIPE G. TORRES SQL A linguagem SQL (Struct Query Language) é utilizada como padrão em bancos de dados relacionais. Seu desenvolvimento foi originalmente no início

Leia mais

Banco de Dados. Professora: Luciana Faria

Banco de Dados. Professora: Luciana Faria Banco de Dados Professora: Luciana Faria Introdução ao linguagem é a SQL (Structured Query Language) Linguagem de Consulta Estruturada Para se utilizar, administrar, e trabalhar com um banco de dados é

Leia mais

BANCO DE DADOS II SQL Básico. COTEMIG Gerson Borges

BANCO DE DADOS II SQL Básico. COTEMIG Gerson Borges BANCO DE DADOS II SQL Básico COTEMIG Gerson Borges gerson@cotemig.com.br Definição de Banco de Dados [Elmasri & Navathe, 2000] Um banco de dados é uma coleção de dados relacionados Representando algum

Leia mais

L Q S m e g a u g n Li A

L Q S m e g a u g n Li A A Linguagem SQL Introdução Originalmente proposta para o System R desenvolvido nos laboratórios da IBM na década de 70 SEQUEL (Structured English QUEry Language) Objeto de um esforço de padronização coordenado

Leia mais

A linguagem SQL

A linguagem SQL SQL 2008.1 A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua primeira versão

Leia mais

Lista 02 Sistema de Banco de Dados CAP 241 Computação Aplicada I

Lista 02 Sistema de Banco de Dados CAP 241 Computação Aplicada I Lista 02 Sistema de Banco de Dados CAP 241 Computação Aplicada I Considere o diagrama relacional da Figura 1 e escreva os comandos SQL para executar os exercícios abaixo. Figure 1 Diagrama relacional.

Leia mais

'%'! $!0" $ 8 ' %%! % '! $ $$% + ' %!%$/)!'4!+,"/)!)+,/)% *! +,"0''% * %$!*!$$ #!"%&%'%'%$! "94(# ' %'$%$$$%0%$%' *!% %%%'!**% > %% %%!31?

'%'! $!0 $ 8 ' %%! % '! $ $$% + ' %!%$/)!'4!+,/)!)+,/)% *! +,0''% * %$!*!$$ #!%&%'%'%$! 94(# ' %'$%$$$%0%$%' *!% %%%'!**% > %% %%!31? MODELAGEM FÍSICA Capítulo 3! " # $ $!%%%& '$! $% $$%"%' ) ' *'!%'!$ $ $ $% +, %#!!" '$*'#%! $ $$%" % '$%!!% $% * % $ *-! %$% $!* '% $!$$.!'% & $%!% $ $ ' %/!$ 0 $*' $% *0 )#%!$0% 1&$$$%+#!*22,"$% )'%$$%%&

Leia mais

Conceitos básicos. Funcionario SIAPE Nome Lotacao Cargo Salario Admissao

Conceitos básicos. Funcionario SIAPE Nome Lotacao Cargo Salario Admissao SQL Lúbia Vinhas Conceitos básicos En#dades: en4dade é uma coisa do mundo real, com uma existência independente. Atributos são as propriedades dessa coisa. Cada atributo está associado a um determinado

Leia mais

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida SQL PostgreSQL I Criação de Tabelas Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida Composição da SQL Linguagem de Definição de Dados (DDL): Comandos para

Leia mais

Linguagem SQL. ENG1518 Sistemas de Informação Gerenciais Prof. Marcos Villas

Linguagem SQL. ENG1518 Sistemas de Informação Gerenciais Prof. Marcos Villas Linguagem SQL ENG1518 Sistemas de Informação Gerenciais Prof. Marcos Villas villas@puc-rio.br SQL Linguagem padrão de acesso tabelas em um banco de dados relacional Permite definir e manipular dados DML

Leia mais

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita: SQL Laboratório de Computação para Ciências Módulo II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional em Ensino

Leia mais

BANCO DE DADOS. Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE <nome_banco_de_dados>

BANCO DE DADOS. Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE <nome_banco_de_dados> BANCO DE DADOS 1. Scripts de criação de banco de dados Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE Onde:

Leia mais

BANCO DE DADOS GERENCIAL 1 A U L A 2

BANCO DE DADOS GERENCIAL 1 A U L A 2 BANCO DE DADOS GERENCIAL 1 A U L A 2 N Í V E I S D E V I S Ã O, S U B G R U P O D D L : C R I A N D O B A N C O D E D A D O S, C R I A N D O T A B E L A S, E S T R U T U R A D A T A B E L A CONCEITOS :

Leia mais

Modelo Entidade-Relacionamento (E-R)

Modelo Entidade-Relacionamento (E-R) Modelo Entidade-Relacionamento (E-R) composto n lote n n n contrato_compra_venda n possui proprietário possui n associado cadastro n banco faz fronteira pertence n ruas n quadras n financiado empréstimo

Leia mais

SQL-99: Esquema de BD EMPRESA

SQL-99: Esquema de BD EMPRESA SQL-99: Esquema de BD EMPRESA SQL-99: Instâncias do esquema EMPRESA 1 Consultas externa, aninhada e correlacionada para cada tupla da consulta externa, a consulta aninhada devolve o atributo solicitado

Leia mais

MySql. Introdução a MySQL. Andréa Garcia Trindade

MySql. Introdução a MySQL. Andréa Garcia Trindade MySql Introdução a MySQL Andréa Garcia Trindade Introdução O que é Banco de Dados SGBD MYSQL Tipos de Tabelas Tipos de Dados Linguagem SQL Comandos SQL O que é um Banco de Dados? Conjuntos de dados Grupo

Leia mais

Agenda. Linguagem de Consulta SQL. 1. Introdução Histórico. 1. Introdução BD Relacionais

Agenda. Linguagem de Consulta SQL. 1. Introdução Histórico. 1. Introdução BD Relacionais Linguagem de Consulta SQL Profa. Carla A. Lima Reis SQL Agenda Introdução Histórico BD relacionais Linguagem SQL Definição de BD Manipulação de BD com SQL Consultas SQL Consultas com várias tabelas Subconsultas

Leia mais

A U L A 8 C O N S U L T A S U N I N D O D U A S O U M A I S T A B E L A S P A R T E 2

A U L A 8 C O N S U L T A S U N I N D O D U A S O U M A I S T A B E L A S P A R T E 2 BANCO DE DADOS GERENCIAL 1 A U L A 8 C O N S U L T A S U N I N D O D U A S O U M A I S T A B E L A S P A R T E 2 Na aula passada, uma situação muito comum é, ao construirmos uma consulta (select), termos

Leia mais

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language) AULA 8 8.1. OBJETIVO DA AULA Relembrar conceitos e recursos básicos apresentados nas aulas anteriores, dar continuidade nas codificações iniciadas e ainda não finalizadas, explorar acesso a banco de dados

Leia mais

Exercício Aula Passada. SQL Linguagem de Manipulação de Dados. Exercício Aula Passada. Exercício Aula Passada. Exercício Aula Passada

Exercício Aula Passada. SQL Linguagem de Manipulação de Dados. Exercício Aula Passada. Exercício Aula Passada. Exercício Aula Passada Ciência da Computação GBC043 Sistemas de Banco de Dados SQL Linguagem de Manipulação de Dados Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br Bloco B - sala 1B137 1 semestre de 2018 2 Escreva

Leia mais

PostgreSQL Desenvolvedor

PostgreSQL Desenvolvedor CONTEÚDO PROGRAMÁTICO PostgreSQL Desenvolvedor Carga horária: 32 horas TreinaWeb Tecnologia LTDA CNPJ: 06.156.637/0001-58 Av. Paulista, 1765 - Conj 71 e 72 São Paulo - SP CONTEÚDO PROGRAMÁTICO Ementa do

Leia mais

Preparação. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 10/12/2013

Preparação. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 10/12/2013 Linguagem de Manipulação de Dados (DML) Estudo Dirigido A Linguagem SQL Preparação Criar um banco de dados denominado Escola ; Criar a tabela, como especificado abaixo: # RA Numeric(8) Nome Serie Turma

Leia mais

A Linguagem SQL. Introdução a Banco de Dados DCC 011

A Linguagem SQL. Introdução a Banco de Dados DCC 011 A Linguagem SQL Introdução Originalmente proposta para o System R desenvolvido nos laboratórios da IBM na década de 70 SEQUEL (Structured English QUEry Language) Objeto de um esforço de padronização coordenado

Leia mais

Bancos (Bases) de Dados

Bancos (Bases) de Dados Bancos (Bases) de Dados Aula #8 SQL Prof. Eduardo R. Hruschka * Slides baseados no material elaborado pelas professoras: Cristina D. A. Ciferri Elaine P. M. de Souza SQL (Structured Query Language) Linguagem

Leia mais

Atualização e Inserção de Dados. SQL Avançado. Pedro F. Carvalho OCP Oracle g

Atualização e Inserção de Dados. SQL Avançado. Pedro F. Carvalho OCP Oracle g Pedro F. Carvalho OCP Oracle 2008.2 10g SQL Avançado Atualização e Inserção de Dados Comando INSERT Sumário Inclusão simples, inclusão de dados com SELECT Comando UPDATE Alteração simples, alteração usando

Leia mais

BCD29008 Banco de dados

BCD29008 Banco de dados BCD29008 Banco de dados Modelo ER & Modelo Relacional Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 18 de

Leia mais

E-BOOK GUIA RÁPIDO DE SQL W W W. T R E I N A W E B.C O M. B R

E-BOOK GUIA RÁPIDO DE SQL W W W. T R E I N A W E B.C O M. B R 101010101 001010101 101010100 E-BOOK GUIA RÁPIDO DE SQL INTRODUÇÃO Este é um guia rápido de SQL criado pela equipe do TreinaWeb e serve principalmente para iniciantes na linguagem. SQL é a sigla em inglês

Leia mais

Marcelo Henrique dos Santos

Marcelo Henrique dos Santos Mestrado em Educação (em andamento) MBA em Marketing e Vendas (em andamento) Especialista em games Bacharel em Sistema de Informação Email: marcelosantos@outlook.com AULA 03 SQL (Structure Query Language)

Leia mais

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Introdução à Banco de Dados. Nathalia Sautchuk Patrício Introdução à Banco de Dados Nathalia Sautchuk Patrício Histórico Início da computação: dados guardados em arquivos de texto Problemas nesse modelo: redundância não-controlada de dados aplicações devem

Leia mais

SQL. Prof. Roger Cristhian Gomes

SQL. Prof. Roger Cristhian Gomes SQL Prof. Roger Cristhian Gomes SQL SQL - Structured Query Language Linguagem de acesso e manipulação de sistemas de base de dados computacionais que segue o padrão ANSI Existem diferenças entre as versões

Leia mais

Subsistema de Integridade Semântica

Subsistema de Integridade Semântica Restrições de Integridade Semântica Controle de valores válidos para os dados estados dos dados condizentes com os requisitos da aplicação transições de estados corretas O SGBD deve controlar esta integridade

Leia mais

Restrições de Integridade Semântica

Restrições de Integridade Semântica Restrições de Integridade Semântica Controle de valores válidos para os dados estados dos dados condizentes com os requisitos da aplicação transições de estados corretas O SGBD deve controlar esta integridade

Leia mais

MODELAGEM DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc.

MODELAGEM DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc. MODELAGEM DE DADOS -INTRODUÇÃO AO SQL Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br INTRODUÇÃO AO SQL Ferramentas brmodelo Ferramenta Case PostgreSQL versão 8 ou superior SGBD Em 1986 o

Leia mais

Subsistema de Integridade Semântica

Subsistema de Integridade Semântica Restrições de Integridade Semântica Controle de valores válidos para os dados estados dos dados condizentes com os requisitos da aplicação transições de estados corretas O SGBD deve controlar esta integridade

Leia mais

Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA, total e disjuntiva.

Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA, total e disjuntiva. Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA, total e disjuntiva. Seja então o conjunto de entidades pessoa, com os atributos bi_pessoa, nome_pessoa e morada_pessoa,

Leia mais

Banco de Dados I. Aula 17 - Prof. Bruno Moreno 08/11/2011

Banco de Dados I. Aula 17 - Prof. Bruno Moreno 08/11/2011 Banco de Dados I Aula 17 - Prof. Bruno Moreno 08/11/2011 Plano de Aula Visões em SQL Normalização Motivação Definição Formas Normais Banco de Dados I VISÕES Visões É uma tabela única derivada de outra(s)

Leia mais

Banco de dados na Web

Banco de dados na Web Banco de dados na Web 4º TSI Jonathan de Matos Conteúdo Conceitos fundamentais diferenças entre mysql e postgresql programas clientes: psql - pgadmin 3 - phppgadmin terminal interativo psql: comandos linguagem

Leia mais

Banco de Dados. Maurício Edgar Stivanello

Banco de Dados. Maurício Edgar Stivanello Banco de Dados Maurício Edgar Stivanello Agenda Conceitos Básicos SGBD Projeto de Banco de Dados SQL Ferramentas Exemplo Dado e Informação Dado Fato do mundo real que está registrado e possui um significado

Leia mais

Preparação criar tabela. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 12/11/2018

Preparação criar tabela. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 12/11/2018 Linguagem de Manipulação de Dados (DML) Estudo Dirigido A Linguagem SQL Preparação criar tabela Criar um novo arquivo de banco de dados chamado Escola Criar a tabela, como especificado abaixo: Create table

Leia mais

Laboratório de Banco de Dados. Prof. Luiz Vivacqua.

Laboratório de Banco de Dados. Prof. Luiz Vivacqua. (la.vivacqua@gmail.com) Ementa Conceitos básicos Sistemas de banco de dados Relacional Visão Geral do PostGreSQL Álgebra Relacional Operadores básicos Operadores adicionais A Linguagem de Consulta Estruturada

Leia mais

SQL (com MySQL) Apresentação OBJETIVOS. Programação

SQL (com MySQL) Apresentação OBJETIVOS. Programação SQL (com MySQL) Programação Formato: Mentored - Presencial Preço: 395 ( Os valores apresentados não incluem IVA. Oferta de IVA a particulares e estudantes. ) Horário: Flexível das 2ª a 6ª das 9h às 21h30

Leia mais

Curso de Banco de Dados. Prof. Rone Ilídio

Curso de Banco de Dados. Prof. Rone Ilídio Curso de Banco de Dados Prof. Rone Ilídio Introdução BD 1 BD 2 SQL BD 3 Dados Aplicação Sistemas de Gerência de Banco de Dados -SGBD Introdução Aplicação que controla os dados Drives ODBC, BDE, ect SQL

Leia mais

Programando em SQL. Triggers, Stored Procedures e funções. Profa. Késsia Marchi

Programando em SQL. Triggers, Stored Procedures e funções. Profa. Késsia Marchi Programando em SQL Triggers, Stored Procedures e funções Objetivo Descrever as funcionalidades de triggers, store procedures e funções; Apresentar vantagens e benefícios; Criação e Gerenciamento de Store

Leia mais

SQL Linguagem de Definição de Dados

SQL Linguagem de Definição de Dados SQL Linguagem de Definição de Dados Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais

Leia mais

A linguagem SQL

A linguagem SQL SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua primeira versão recebeu o nome de

Leia mais

Aula de SQL Comandos DDL. André Luiz de Oliveira Eduardo Raul Hruschka

Aula de SQL Comandos DDL. André Luiz de Oliveira Eduardo Raul Hruschka Aula de SQL Comandos DDL André Luiz de Oliveira Eduardo Raul Hruschka E-mail: andre_luiz@icmc.usp.br erh@icmc.usp.br Agenda Instalação do MySQL e Workbench Comandos DDL Data Definition Language Criação

Leia mais

PCS3413. Engenharia de So-ware e Banco de Dados. Aula 17. Escola Politécnica da Universidade de São Paulo

PCS3413. Engenharia de So-ware e Banco de Dados. Aula 17. Escola Politécnica da Universidade de São Paulo PCS3413 Engenharia de So-ware e Banco de Dados Aula 17 Escola Politécnica da Universidade de São Paulo 1 SQL STRUCTURED QUERY LANGUAGE Manipulação de dados operações de modificam o estado das tabelas:

Leia mais

Manipulação de Dados com SQL

Manipulação de Dados com SQL Manipulação de Dados com SQL Wendel Melo Faculdade de Computação Universidade Federal de Uberlândia www.facom.ufu.br/~wendelmelo Banco de Dados I manipulação de dados com SQL 2 Structured Query Language

Leia mais

Page 1. Prof. Constantino Jacob

Page 1. Prof. Constantino Jacob Tópicos Introdução à SQL Definição Tipos de Operações Instrução SELECT Sintaxe básica Operações relacionais de restrição, projeção e junção Instruções DML Delete, Update e Insert Instruções DDL Create

Leia mais

Fundamentos de Banco de Dados Postgre com Sql

Fundamentos de Banco de Dados Postgre com Sql Fundamentos de Banco de Dados Postgre com Sql Prof. Luiz Claudio Ferreira de Souza Prof. Luiz Claudio F. de Souza 1 Obtenha os Slids no endereço www.luizclaudiofs.blogspot.com Prof. Luiz Claudio F. de

Leia mais

mod._1_teoria_sistemas de bancos de dados.doc

mod._1_teoria_sistemas de bancos de dados.doc SISTEMAS DE BANCOS DE DADOS Os Sistemas de Bancos de Dados apareceram para acabar com os problemas e desvantagens dos tradicionais Sistemas de Processamento de Arquivos, onde os registros permanentes eram

Leia mais

Aula 06 Sistemas Embarcados LT38C

Aula 06 Sistemas Embarcados LT38C Aula 06 Sistemas Embarcados LT38C Prof. Lucas Ricken Garcia 2017/1 Introdução a Banco de Dados Coleção de dados relacionados. Fatos conhecidos que podem ser registrados e possuem significado implícito.

Leia mais

Banco de Dados Modelo Relacional, Algebra Relacional, SQL

Banco de Dados Modelo Relacional, Algebra Relacional, SQL Banco de Dados Modelo Relacional, Algebra Relacional, SQL Fontes Karine Reis Ferreira karine@dpi.inpe.br Gilberto Câmara gilberto@dpi.inpe.br Gilberto Ribeiro de Queiroz gribeiro@dpi.inpe.br Marcos André

Leia mais

Normalização: (Uma tabela muito Normalizada significa que ele é muito bem feita, e muito relacionado) 5FN (Somente 10% dos DBAs dos ADs conseguem ) A normalização de dados é uma série de passos que se

Leia mais

Aula 6 BD1 Modelo Relacional. Profa. Elaine Faria UFU

Aula 6 BD1 Modelo Relacional. Profa. Elaine Faria UFU Aula 6 BD1 Modelo Relacional Profa. Elaine Faria UFU - 2017 Introdução Modelo Relacional Proposto por Codd em 1970 Revolucionou a área de banco de dados É o modelo dominante base para os SGBDs líderes

Leia mais

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável.

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. SQL (Structured Query Language) SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. Além de permitir a realização de consultas, SQL possibilita: definição

Leia mais

Escola Secundária de Albufeira. Comandos MySQL. (Páginas Web Dinâmicas: PHP e MySQL) Carlos Nunes

Escola Secundária de Albufeira. Comandos MySQL. (Páginas Web Dinâmicas: PHP e MySQL) Carlos Nunes Escola Secundária de Albufeira Comandos MySQL (Páginas Web Dinâmicas: PHP e MySQL) (csmnunes@gmail.com) 2009/2010 Criar Base de Dados CREATE DATABASE basededados; Apagar Base de Dados DROP DATABASE basededados;

Leia mais

Abordagem relacional. Capítulo 4

Abordagem relacional. Capítulo 4 Abordagem relacional Capítulo 4 Abordagem Relacional Abordagem de modelagem de dados usada nos sistemas de gerência de banco de dados do tipo relacional. Modelagem em nível lógico (SGBD) e não conceitual.

Leia mais

Arquitetura dos SBDs Características e Benefícios Visão Geral de Projeto de BD MER: Entidades e Atributos Atividade.

Arquitetura dos SBDs Características e Benefícios Visão Geral de Projeto de BD MER: Entidades e Atributos Atividade. Banco de Dados Aula 1.4 - Sistemas de Banco de Dados Bruno Neiva Moreno Instituto Federal do Rio Grande do Norte Campus Nova Cruz bruno.moreno@ifrn.edu.br 1/25 Arquitetura dos SBDs 2/25 Objetivos dos SGBDs

Leia mais

Prova de Tecnologia da Informação

Prova de Tecnologia da Informação 1. A arquitetura de três esquemas possui três níveis: nível interno, nível conceitual e o nível externo ou de visão. Com respeito ao nível conceitual podemos afirmar que; a. Descreve os detalhes completos

Leia mais

Marcio Victorino

Marcio Victorino 1 2 Agenda Sistemas de Informação Computadorizados. Compartilhamento de Dados. Banco de Dados. Sistema Gerenciador de Banco de Dados. Modelos: Conceitual; Lógico; e Físico. 3 Sistemas de Informação Computadorizados

Leia mais

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão SISTEMAS DE BANCO DE DADOS Prof. Adriano Pereira Maranhão 1 SQL Structured Query Language SQL Desenvolvida pela IBM Structured English Query Language Sequel Linguagem de consulta para o sistema R Primeiro

Leia mais

DCC011 Introdução a Banco de Dados SQL gerenciar tabelas e dados

DCC011 Introdução a Banco de Dados SQL gerenciar tabelas e dados DCC011 Introdução a Banco de Dados SQL gerenciar tabelas e dados Mirella M. Moro Departamento de Ciência da Computação Universidade Federal de Minas Gerais mirella@dcc.ufmg.br Programa Introdução Conceitos

Leia mais

Linguagem de Consulta Estruturada (SQL)

Linguagem de Consulta Estruturada (SQL) Linguagem de Consulta Estruturada (SQL) SQL SQL (Structured Query Language), ou Linguagem de Consulta Estruturada. Usada em Bancos de Dados Relacionais. É padronizada (SQL ANSI). ANSI (American National

Leia mais

Triggers em PostgreSQL. Linguagem de Programação de Banco de Dados. Triggers em PostgreSQL. Triggers em PostgreSQL

Triggers em PostgreSQL. Linguagem de Programação de Banco de Dados. Triggers em PostgreSQL. Triggers em PostgreSQL Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com Linguagem de Programação de Banco de Dados Triggers em PostgreSQL Todos os bancos de dados comerciais possuem uma linguagem procedural auxiliar para a

Leia mais

#nao fazer #Só pode fazer para testar... drop database if exists modelo4; create database modelo4; use modelo4; #Auto_relacionamento #Pessoa = Conjuge = filho #Observar para Criticar #O que achou? # Deixando

Leia mais

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language)

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language) Básico da Linguagem SQL Definição de Esquemas em SQL SQL(Structured Query Language) Desenvolvida como a linguagem de consulta do protótipo de SGBD Sistema R (IBM, 1976). Adotada como linguagem padrão de

Leia mais

SQL Linguagem de Manipulação de Dados SQL DML SQL DML. Exemplo Modelo Relacional. Exemplo ME-R SQL DML CONTINUAÇÃO...

SQL Linguagem de Manipulação de Dados SQL DML SQL DML. Exemplo Modelo Relacional. Exemplo ME-R SQL DML CONTINUAÇÃO... Ciência da Computação GBC043 Sistemas de Banco de Dados SQL Linguagem de Manipulação de Dados Profa. Maria Camila Nardini Barioni camila.barioni@facom.ufu.br Bloco B - sala 1B137 SQL DML CONTINUAÇÃO...

Leia mais

Modelagem Conceitual parte I

Modelagem Conceitual parte I Modelagem Conceitual parte I Vitor Valerio de Souza Campos Objetivos Apresentar a modelagem conceitual como parte integrante do projeto de um BD Mostrar as vantagens de uma documentação conceitual de dados

Leia mais

BANCO DE DADOS PARA NINJAS

BANCO DE DADOS PARA NINJAS BANCO DE DADOS PARA NINJAS PARANGABA RONNISON REGES VIDAL Ceará, 25 de Outubro de 2016 ROTEIRO l Conhecimento Pra que usar? Ferramentas SGBD's Consultas (Jutsu) Linguagem de Consulta PRA QUE USAR? PRA

Leia mais

Modelagem Conceitual parte I

Modelagem Conceitual parte I Modelagem Conceitual parte I Vitor Valerio de Souza Campos Objetivos Apresentar a modelagem conceitual como parte integrante do projeto de um BD Mostrar as vantagens de uma documentação conceitual de dados

Leia mais

IMPLEMENTAÇÃO DE BANCO DE DADOS

IMPLEMENTAÇÃO DE BANCO DE DADOS IMPLEMENTAÇÃO DE BANCO DE DADOS MODULO 2 LINGUAGEM SQL CONTEÚDO 2. LINGUAGEM SQL 2.1 Linguagens de Definição de Dados (DDL) 2.1.1 Criação de tabela: CREATE 2.1.2 Alteração de Tabela: ALTER 2.1.3 Exclusão

Leia mais

Projeto de Banco de Dados

Projeto de Banco de Dados Projeto de Banco de Dados Laboratório de Banco de Dados Prof. Luiz Antônio Vivacqua C. Meyer (luiz.vcm@gmail.com) Sintaxe Geral SELECT [ALL/DISTINCT] coluna1, coluna2,..., colunan FROM nome_tabela1, nome_tabela2,...,

Leia mais

Formação em Banco de Dados. Subtítulo

Formação em Banco de Dados. Subtítulo Formação em Banco de Dados Subtítulo Sobre a APTECH A Aptech é uma instituição global, modelo em capacitação profissional, que dispõe de diversos cursos com objetivo de preparar seus alunos para carreiras

Leia mais

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita: SQL Tópicos Especiais Modelagem de Dados Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional em Ensino de Ciências

Leia mais