Capítulo 7: Outras linguagens! Query-by-Example (QBE)" Datalog"
|
|
|
- Luísa Flores Canto
- 10 Há anos
- Visualizações:
Transcrição
1 Capítulo 7: Outras linguagens! Query-by-Example (QBE)" Datalog" 1!
2 Query-by-Example (QBE)! Estrutura básica" Perguntas apenas numa relação" Perguntas em várias relações" A Condition Box! Exemplo do Access" 2!
3 QBE Estrutura de base! Linguagem gráfica de perguntas a bases de dados relacionais" O sistema cria templates de relações solicitadas por utilizadores" As perguntas são feitas com padrões, por exemplo " 3!
4 Tabelas QBE para o exemplo do banco! 4!
5 Tabelas QBE (Cont.)! 5!
6 Perguntas numa só relação! Encontrar todos os números de empréstimos da agência Perryridge" _x é uma variável" P. significa print (display)" os tuplos duplicados são removidos por default" Para reter os duplicados usar P.ALL " 6!
7 Perguntas numa só relação (Cont.)! Encontrar os números dos empréstimos de valor superior a 700" Nome de agências que não sejam em Brooklyn" 7!
8 Perguntas numa só relação (Cont.)! Números de empréstimos feitos conjuntamente pelo Smith e o Jones." Todos os clientes que vivem na mesma localidade que o Jones" 8!
9 Perguntas em várias relações! Nomes de todos os clientes com empréstimos na agência Perryridge" 9!
10 Condition Box! Permite impor condições extra sobre atributos." " E.g. Números de empréstimos feitos pelo Smith, pelo Jones, ou por ambos" 10!
11 Condition Box (Cont.)! Números de contas com saldo entre $1,300 e $1,500 " " Agências com activos maiores que pelo menos os de uma agência em Brooklyn" 11!
12 Outras características! Com o QBE é ainda possível executar ordenação de tuplos, algumas formas de agregação, e modificação de bases de dados." Tudo o que é possível exprimir com o QBE, também o é com SQL"... mas não vice-versa!!" 12!
13 Microsoft Access QBE! O Microsoft Access suporta uma variante do QBE - Graphical Query By Example (GQBE)" É diferente do QBE em:" Em vez de usar variáveis para dizer que os valores de dois atributos têm que ser iguais, usa linhas a ligar os atributos." Por default, as linhas especificam inner joins. Mas é possível alterar para outer joins." As condições, valores a afixar, etc, são especificados na design grid! 13!
14 Exemplo em Access QBE! Encontrar os nomes de clientes, saldo e número de conta de todos as contas da agência de Perryridge! 14!
15 Datalog! Estrutura de Base " Sintaxe de regras Datalog" Semântica de programas não recursivos" Operações relacionais em Datalog" Recursão em Datalog (programas definidos e estratificados)" 15!
16 Estrutura de Base! Um programa Datalog é um conjunto de regras, que definem relações (vistas). " Exemplo: definir relação (vista) v1 com todos os números de conta e respectivos saldos, para as contas de Perryridge com saldo superior a 700." " "v1(a, B) : account(a, Perryridge, B), B > 700." Qual o saldo da conta A-217 na vista v1?!!!!?- v1( A-217, B).! Quais as contas com saldo superior a 800??- account(a,_,b), B > 800! Permite recursão."! 16!
17 Exemplos de perguntas! Cada regra define um conjunto de tuplos que pertencem à vista" E.g. v1(a, B) : account(a, Perryridge, B), B > 700 lê-se como" para todo A, B! se (A, Perryridge, B) account e B > 700" então (A, B) v1! O conjunto de tuplos duma view é definido como a união dos conjuntos de tuplos de cada uma das suas regras." Exemplo:" " "interest-rate(n, 5) : account(n,a, B), B < "interest-rate(n, 6) : account(n,a, B), B >= 10000" 17!
18 Negação em Datalog! Definir a view c contendo os nomes de todos os clientes que têm pelo menos um depósito mas não têm empréstimos:" " "c(n) : depositor(n, A), not is-borrower(n).!is-borrower(n) : borrower (N,L).! NOTA: usando directamente not borrower (N, L) na 1ª regra dava resultado diferente: clientes N que têm pelo menos um depósito e existe algum empréstimo L que não é de N" Para evitar confusão (e problemas de implementação), é usual exigir-se que as variáveis em literais negados apareçam na cabeça da regra ou em algum literal positivo do corpo da regra." 18!
19 Regras por camadas (views sobre views)! Quais os juros de cada uma das contas de Perryridge" interest(a, l) : perryridge-account(a,b),!!!interest-rate(a,r), l = B * R/100.! perryridge-account(a,b) : account(a, Perryridge, B).! interest-rate(n,0) : account(n, A, B), B < 2000." interest-rate(n,5) : account(n, A, B), B >= 2000." Camadas das várias views:" 19!
20 Recursão em Datalog! Considere a relação:" precedencia(x, Y)! "contendo pares X, Y de cadeiras onde X dá precedência directa para Y." Cada cadeira pode dar precedência para outras, directa ou indirectamente" Uma cadeira X dá precedência indirectamente a Y, se dá precedência directa a uma cadeira Z, que por sua vez dá precedência para Y" Encontrar todas as cadeiras que dão precedência (directa ou indirecta) a Bases de Dados. Podemos escrever o seguinte programa Datalog recursivo:" precbd(x) :- precedencia(x, BD ).! precbd(x) :- precedencia(x, Y), precbd(y).! 20!
21 Recursão em Datalog (Cont.)! De forma mais geral: criar view precs com todos os pares (X, Y) onde X dá precedência directa ou indirecta para Y:! " "precs(x, Y) : precedencia(x, Y).!precs(X, Z) : precs(x,y), precs(y,z).! Quais as cadeiras que dão precedência a BD"!!!?- precs(x, BD )." 21!
22 Exemplo de pergunta complexa! Questão 28 da ficha de problema SQL:" Quais os nomes dos alunos que não seguiram pelo menos uma das precedências (directas) aconselhadas, e em que cadeiras não as seguiram?" nao_fez(naluno,ccurso,ccadeira) :- curso_cadeira(ccurso,ccadeira,_semestre),!!! not esta_inscrito(naluno,ccurso,ccadeira).! esta_inscrito(na,ccr,ccd) :- inscricoes(na,ccr,ccd,_din,_dav,_nt).! query(nome,cadeira) :- alunos(num,nome,_l,_dt,_sx,_cr),!!!! inscricoes(num,ccurso,ccadeira,_din,_dav,nt),!!! precedencias(ccurso,ccadeira,cadp),!!!! nao_fez(num,ccurso,cadp),!!!!! cadeiras(ccadeira,cadeira,_c,_d).! query(nome,cadeira) :- alunos(num,nome,_l,_dt,_sx,_cr),!!!! inscricoes(num,ccurso,ccadeira,din,_dav,_nt),!!! precedencias(ccurso,ccadeira,cadp),!!!! inscricoes(num,ccurso,cadp,_din,dav,_nt),!!!! DAv > Din,!!!!!!! cadeiras(ccadeira,cadeira,_c,_d).! E se fossem precedências indirectas, bastava substituir precedencias por precs.! 22!
23 Sintaxe de regras Datalog! Um literal positivo (ou átomo) tem a forma" " "p(t 1, t 2..., t n )" p é o nome da relação, com n atributos" cada t i é uma constante ou uma variável" Um literal negativo (ou por default) tem a forma " " "not p(t 1, t 2..., t n )! Operadores de comparação são entendidos como predicados " E.g. X > Y é entendido como o átomo >(X,Y)" Conceptualmente > define uma relação (infinita) contendo todos os pares (X,Y) onde X é maior que Y." Operações aritméticas são entendidas como predicados" E.g. A is B + C é entendido como +(B, C, A), onde a relação (infinita) + tem todos os triplos em que o 3º valor é igual à soma dos primeiros 2." 23!
24 Sintaxe de regras Datalog (Cont.)! Regras são da forma:"!!p(t 1, t 2,..., t n ) : L 1, L 2,..., L m.! cada L i é um literal (positivo ou negativo)" cabeça átomo p(t 1, t 2,..., t n ) " corpo literais L 1, L 2,..., L m " A uma regra com corpo vazio chama-se um facto:" " "p(v 1, v 2,..., v n ).! afirma que o tuplo (v 1, v 2,..., v n ) pertence à relação p! Um programa Datalog é um conjunto (finito) de regras" Um programa diz-se definido, se nenhuma das suas regras contém literais negativos (i.e. se not não aparece no programa)." 24!
25 Semântica duma regra! Uma instância duma regra é o resultado de substituir cada uma das variáveis da regra por alguma constante." Eg. Sendo v1" " " v1(a,b) : account (A, Perryridge, B), B > 700." Uma instância de v1 é:" " v1( A-217, 750) : account( A-217, Perryridge, 750), 750 > 700." O corpo duma instância duma regra R é satisfeito num conjunto de factos I (interpretação, ou instância da base de dados) sse" 1. "Para cada átomo q i (v i,1,..., v i,ni ) R, l contem q i (v i,1,..., v j,ni ).! 2. "Para cada literal not q j (v j,1,..., v j,ni ) R, l não contem q j (v i,1,..., v j,ni ).! 25!
26 Restrições nas variáveis! É possível escrever regras com um nº infinito de soluções. " "maior(x, Y) : X > Y!not-in-loan(B, L) : not loan(b, L)! Para evitar este problema, em Datalog:" Toda a variável que apareça na cabeça duma regra tem que aparecer também no corpo dessa regra, e num átomo que não seja expressão aritmética." Toda a variável que apareça num literal negativo no corpo duma regra tem que aparecer também num átomo do corpo dessa mesma regra." 26!
27 Semântica de Programas Definidos! Seja I uma interpretação (conjunto de factos). Define-se, para um programa definido P:" T P (I) = {p(t 1, t 2,..., t n ) : existe uma instância R duma regra R de P com cabeça p(t 1, t 2,..., t n ) cujo corpo está satisfeito em I}" A semântica (significado) de um programa definido P sobre uma instância duma base de dados I é o resultado do menor pontofixo da sequência:" I 0 = I I n+1 = T P (I n )" "(sendo P definido, esta sequência é não decrescente)" O resultado duma vista v com k argumentos, num programa P e base de dados I é o conjunto de todos os factos v(t 1, t 2,..., t k ) pertencentes ao ponto-fixo." 27!
28 Monotonicidade! Uma vista V é monotónica se para qualquer par de conjunto de factos I 1 e I 2 tais que l 1 I 2, se tem E v (I 1 ) E v (I 2 ), onde E v é a expressão que define V.! Um programa Datalog P é monotónico sse para todo o I 1 e I 2 : l 1 I 2 implica T P (I 1 ) T P (I 2 ), " Vistas de álgebra relacional que usem os operadores, σ,,, e ρ (bem como outros e.g. joins definidos à custa destes) são monotónicas. " Views de álgebra relacional com podem não ser monotónicas." Da mesma forma, programas Datalog definidos são monotónicos, mas programas Datalog com negação podem não o ser." 28!
29 Não-monotonicidade! A semântica à custa do operador T P só funciona em programas monotónicos." Algumas conclusões numa iteração, podem deixar de o ser numa iteração posterior possibilidade de não convergência para um ponto fixo. E.g. other_accounts(num) :- not perryridge_account(num).! perryridge_account(n) : account(num, Perryridge, _B).! Na 1ª iteração uma conta doutra sucursal aparece na view other_accounts mas desaparece na 2ª iteração." Pode-se estender a iteração do T P para lidar com negação em programas estratificados (i.e. sem recursão sobre negação)" 29!
30 Programas Estratificados! Um programa Datalog é estratificado se cada um dos seus predicados pode ser colocado num estrato de tal forma que:" 1. Para cada literal positivo q no corpo duma regra com cabeça p p(..) :-., q(..), o estrato de p é maior ou igual do que o estrato de q" 2. Dada uma regra com um literal negativo no corpo p(..) :-, not q(..), o estrato de p é estritamente maior que o estrato de q" Por outras palavras, recursão e negação não se misturam" 30!
31 Programas Estratificados! A semântica dum programa estratificado é definida estrato a estrato, começando pelo menor deles (que não tem negação)." Em cada estrato usa-se a iteração T P " Calculado o resultado final da iteração de T P num estrato n, usase para nos livrarmos da negação no estrato n+1:" Seja not q um literal negativo que aparece no corpo duma instância duma regra do estrato n+1:" Se q T P dum estrato anterior apague-se a instância" Caso contrário apague-se o not q do corpo dessa instância" Como os estratos inferiores são calculados antes, os seus factos não mudam. Logo, os resultados de cada estrato são monotónicos, se fixados os resultados dos estratos anteriores." 31!
32 Operações Relacionais em Datalog! Projecção do atributo account-name de account:" " "query(account-name) : account(account-name, N, B).! Produto cartesiano das relações r 1 e r 2." " "query(x 1, X 2,..., X n, Y 1, Y 2,..., Y m ) : " "r 1 (X 1, X 2,..., X n ), r 2 (Y 1, Y 2,..., Y m ).! União das relações r 1 e r 2."!! query(x 1, X 2,..., X n ) : r 1 (X 1, X 2,..., X n ). " query(x 1, X 2,..., X n ) : r 2 (X 1, X 2,..., X n ). " Selecção de tuplos de r 1 que obedecem a condição cond."!! query(x 1,..., X n ) : r 1 (X 1,..., X n ), cond(x 1,..., X n ). " Diferença entre r 1 e r 2." " "query(x 1, X 2,..., X n ) : r 1 (X 1, X 2,..., X n ), " " not r 2 (X 1, X 2,..., X n ). " 32!
Query-by-Example (QBE) Datalog
Capítulo 7: Outras linguagens Query-by-Example (QBE) Datalog 1 Query-by-Example (QBE) Estrutura básica Perguntas apenas numa relação Perguntas em várias relações A Condition Box Exemplo do Access 2 QBE
Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Standards ISO e ANSI SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003
Bases de Dados Introdução à linguagem SQL História Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R Renomeada para SQL (Structured Query Language) Standards ISO e ANSI SQL-86, SQL-89,
Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:
Álgebra Relacional Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída operação (REL 1 ) REL 2 operação (REL 1,REL 2 ) REL 3 Operações básicas: seleção projeção
IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1
IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1 Banco de Dados Fundamentos de SQL Structured Query Language Aula2 Apresentado por: Robson do Nascimento Fidalgo [email protected] IF685
SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
SQL Linguagem de Manipulação de Dados Banco de Dados SQL DML SELECT... FROM... WHERE... lista atributos de uma ou mais tabelas de acordo com alguma condição INSERT INTO... insere dados em uma tabela DELETE
Universidade da Beira Interior Cursos: Engenharia Informática, Ensino da Informática, Matemática Aplicada e Matemática /Informática
Modelos de Dados 1 - Introdução 2 - Modelo Relacional 2.1. Estrutura de Dados Relacional 2.1.1. Modelo Conceptual de Dados Um modelo conceptual de dados é a representação de um conjunto de objectos e das
Introdução às Bases de Dados
Introdução às Bases de Dados Chave primária Domínios Relação F# F Nome Estado Cidade F1 José 20 Braga F2 João 10 Faro F3 Luís 30 Lisboa F4 Rui 30 Setúbal Atributos Tuplas Introdução às Bases de Dados Modelo
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
CAP. I ERROS EM CÁLCULO NUMÉRICO
CAP. I ERROS EM CÁLCULO NUMÉRICO 0. Introdução Por método numérico entende-se um método para calcular a solução de um problema realizando apenas uma sequência finita de operações aritméticas. A obtenção
Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis
1. TIPOS DE DADOS Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser classificadas em dois tipos: As instruções, que
Tarefa Orientada 14 Subconsultas
Tarefa Orientada 14 Subconsultas Objectivos: Subconsultas não correlacionadas Operadores ALL, SOME e ANY Subconsultas correlacionadas Operador EXISTS Subconsultas incluídas na cláusula FROM de uma consulta
BDII SQL Junção Revisão 8
exatasfepi.com.br BDII SQL Junção Revisão 8 André Luís Duarte Leais são as feridas feitas pelo amigo, mas os beijos do inimigo são enganosos. Provérbios 27:6 SQL Introdução Produto cartesiano Nomes alternativos
Orientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
BANCO DE DADOS aula 6 álgebra relacional -
INSTITUTO DE EXATAS E TECNOLÓGICAS Curso de Ciência da Computação BANCO DE DADOS aula 6 álgebra relacional - professor: Juliano Varella de Carvalho 5.1. Álgebra Relacional relações de exemplo conta agencia
Prof.: Clayton Maciel Costa [email protected]
Programação com acesso a BD Prof.: Clayton Maciel Costa [email protected] 1 Agenda Estrutura Básica de consultas SQL: A cláusula SELECT; A cláusula FROM; A cláusula WHERE. Operação com cadeias
Banco de Dados I 2007. Módulo II: Modelagem Entidade- Relacionamento versus Relacional. (Aula 3) Clodis Boscarioli
Banco de Dados I 2007 Módulo II: Modelagem Entidade- Relacionamento versus Relacional (Aula 3) Clodis Boscarioli Agenda: Exercícios de Mapeamento ME-R para MR; Restrições de Domínio; Restrições de Chave
Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento.
Roteiro Modelo de Dados Relacional Posicionamento Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto [email protected] www.decom.ufop.br/luiz Introdução
Capítulo 1. x > y ou x < y ou x = y
Capítulo Funções, Plano Cartesiano e Gráfico de Função Ao iniciar o estudo de qualquer tipo de matemática não podemos provar tudo. Cada vez que introduzimos um novo conceito precisamos defini-lo em termos
1 Máquina URM, comandos e programas URM
1 Máquina URM, comandos e programas URM Definição 1 : Máquina URM (Unlimited Register Machine) Uma máquina URM é constituída por uma sucessão de registos 2 < R i > i IN. Cada registo pode conter um valor
SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
SQL Linguagem de Definição de Dados Banco de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix
Computadores e Sistemas de Informação. Bases de Dados Relacionais (linguagem SQL)
Computadores e Sistemas de Informação Bases de Dados Relacionais (linguagem SQL) 2004/2005 Utilidade das Bases de Dados Recolha e processamento de dados que possuem um volume significativo, que são interrelacionados,
Modelagem de Dados. Aula 02 Arquitetura e Álgebra Relacional. Maxwell Anderson
Modelagem de Dados Aula 02 Arquitetura e Álgebra Relacional Maxwell Anderson Arquitetura de Sistemas de Banco de Dados São três níveis de arquitetura: Nível físico Nível lógico Nível de view Nível de view
Faculdade Pitágoras 24/10/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet
Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan Unidade 6.1 Álgebra Relacional -Conceitos - Seleção - Projeção
Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas
Processamento e Otimização de Consultas Banco de Dados Motivação Consulta pode ter sua resposta computada por uma variedade de métodos (geralmente) Usuário (programador) sugere uma estratégia para achar
Disciplina: Unidade III: Prof.: E-mail: Período:
Encontro 08 Disciplina: Sistemas de Banco de Dados Unidade III: Modelagem Lógico de Dados Prof.: Mario Filho E-mail: [email protected] Período: 5º. SIG - ADM Relembrando... Necessidade de Dados Projeto
SQL DML. Frederico D. Bortoloti [email protected]
Banco de Dados I SQL DML Frederico D. Bortoloti [email protected] SQL - DML Os exemplos da aula serão elaborados para o esquema de dados a seguir: Empregado(matricula, nome, endereco, salario, supervisor,
Prof. Marcelo Machado Cunha www.marcelomachado.com [email protected]
Prof. Marcelo Machado Cunha www.marcelomachado.com [email protected] Ementa Introdução a Banco de Dados (Conceito, propriedades), Arquivos de dados x Bancos de dados, Profissionais de Banco de dados,
NOME SEXO CPF NASCIMENTO SALARIO
Tutorial SQL Fonte: http://www.devmedia.com.br/articles/viewcomp.asp?comp=2973 Para começar Os Sistemas Gerenciadores de Bancos de Dados Relacionais (SGBDr) são o principal mecanismo de suporte ao armazenamento
SQL: Interrogações simples
SQL: Interrogações simples Fernando Lobo Base de Dados, Universidade do Algarve 1 / 20 Structured Query Language (SQL) É uma implementação da álgebra relacional incluindo os operadores extendidos. Contém
Noções de. Microsoft SQL Server. Microsoft SQL Server
Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados
Banco de Dados I 2007. Módulo III: Linguagens de Consulta. (Aula 2) Clodis Boscarioli
Banco de Dados I 2007 Módulo III: Linguagens de Consulta (Aula 2) Clodis Boscarioli Agenda: Álgebra Relacional; Operador Divisão; Álgebra Relacional Estendida. Operações Adicionais Divisão Operação adicional,
Banco de Dados. Arquitetura e Terminologia. Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.
Banco de Dados Arquitetura e Terminologia Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br [email protected] 2015 Modelo de Dados e Esquemas O modelo de Banco de Dados é como um detalhamento
RELAÇÕES BINÁRIAS Produto Cartesiano A X B
RELAÇÕES BINÁRIAS PARES ORDENADOS Um PAR ORDENADO, denotado por (x,y), é um par de elementos onde x é o Primeiro elemento e y é o Segundo elemento do par A ordem é relevante em um par ordenado Logo, os
Uma expressão básica em SQL consiste em três cláusulas: select, from e where.
Introdução a Banco de Dados O.K. Takai; I.C.Italiano; J.E. Ferreira. 67 8 A Linguagem SQL A linguagem SQL é um padrão de linguagem de consulta comercial que usa uma combinação de construtores em Álgebra
Tarefa Orientada 10 Obter informação a partir de uma tabela
Tarefa Orientada 10 Obter informação a partir de uma tabela Objectivos: Consultar dados de uma tabela Utilizar operadores aritméticos, relacionais, lógicos, de concatenação de cadeias de caracteres, LIKE
Disciplina de Banco de Dados Parte V
Disciplina de Banco de Dados Parte V Prof. Elisa Maria Pivetta CAFW - UFSM Modelo de Dado Relacional O Modelo Relacional O Modelo ER é independente do SGDB portanto, deve ser o primeiro modelo gerado após
António Rocha Nuno Melo e Castro
António Rocha Nuno Melo e Castro SQL- Strutured Query Language é a linguagem mais usada nas bases dados relacionais. Originalmente desenvolvida pela IBM Actualmente é um standard, o mais recente é o SQL:2003
Definida pelo American National Standard Institute (ANSI) em 1986
2.3. Linguagens Relacionais SQL Structured Query Language Linguagem para o modelo relacional: Definida pelo American National Standard Institute (ANSI) em 1986 Adoptada em 1987 como um standard internacional
APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL
1. O que é Linguagem SQL 2. Instrução CREATE 3. CONSTRAINT 4. ALTER TABLE 5. RENAME TABLE 6. TRUCANTE TABLE 7. DROP TABLE 8. DROP DATABASE 1 1. O que é Linguagem SQL 2. O SQL (Structured Query Language)
Álgebra Relacional. OBS: as operações Seleção e Projeção são operações unárias porque atuam em relações únicas.
Álgebra Relacional Álgebra Relacional é o conjunto básico de operações para o Modelo Relacional. Essas operações permitem a um usuário especificar as solicitações básicas de recuperação. O resultado de
Tarefa Orientada 13 Agrupamento e sumário de dados
Tarefa Orientada 13 Agrupamento e sumário de dados Objectivos: Funções de agregação Agrupamento e sumário de dados Funções de agregação Nesta tarefa orientada iremos formular consultas que sumariam os
Programação Orientada a Objetos Herança Técnico em Informática. Prof. Marcos André Pisching, M.Sc.
Herança Técnico em Informática, M.Sc. Herança 2 Herança Reutilização de código Exemplo Banco: Um banco oferece diversos serviços que podem ser contratados individualmente pelos clientes. Quando um serviço
Microsoft Access: Criar consultas para um novo banco de dados. Vitor Valerio de Souza Campos
Microsoft Access: Criar consultas para um novo banco de Vitor Valerio de Souza Campos Conteúdo do curso Visão geral: consultas são essenciais Lição: inclui sete seções Tarefas práticas sugeridas Teste.
Banco de dados 1. Linguagem DML SQL Select Avançado. Professor: Victor Hugo L. Lopes
Banco de dados 1 Linguagem DML SQL Select Avançado Professor: Victor Hugo L. Lopes Agenda: -União de tabelas em consultas; -Joins. 2 Até este momento, vimos as capacidades da SQL de completa manipulação
Modelo de Dados. Modelo para organização dos dados de um BD
Modelo de Dados Modelo para organização dos dados de um BD define um conjunto de conceitos para a representação de dados exemplos: entidade, tabela, atributo,... existem modelos para diferentes níveis
Módulo III. Folhas de Cálculo
Módulo III Ferramentas do Office Folhas de Cálculo Ferramentas de produtividade 1 Folhas de Cálculo O que é: Uma Folha de Cálculo é, por tradição, um conjunto de células que formam uma grelha ou tabela
ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.
Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 8 ARRAYS Introdução Até agora, utilizamos variáveis individuais. Significa que uma variável objeto
Conceitos básicos de programação
O QUE É UM PROGRAMA? Para executar uma dada tarefa é geralmente necessário entender o sistema onde ela é realizada. Por exemplo, para fazer um bolo temos um sistema composto por: Ingredientes Cozinheiro
INSTITUTO TECNOLÓGICO
PAC - PROGRAMA DE APRIMORAMENTO DE CONTEÚDOS. ATIVIDADES DE NIVELAMENTO BÁSICO. DISCIPLINAS: MATEMÁTICA & ESTATÍSTICA. PROFº.: PROF. DR. AUSTER RUZANTE 1ª SEMANA DE ATIVIDADES DOS CURSOS DE TECNOLOGIA
Lógica Matemática e Computacional 5 FUNÇÃO
5 FUNÇÃO 5.1 Introdução O conceito de função fundamenta o tratamento científico de problemas porque descreve e formaliza a relação estabelecida entre as grandezas que o integram. O rigor da linguagem e
Processamento e Otimização de Consultas
Introdução Processamento e Banco de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM 1 Processamento
APLICAÇÕES DA DERIVADA
Notas de Aula: Aplicações das Derivadas APLICAÇÕES DA DERIVADA Vimos, na seção anterior, que a derivada de uma função pode ser interpretada como o coeficiente angular da reta tangente ao seu gráfico. Nesta,
Introdução ao SQL. Aécio Costa
Aécio Costa A linguagem SQL é um padrão de linguagem de consulta comercial e possui as seguintes partes: Linguagem de definição de dados (DDL) Linguagem interativa de manipulação de dados (DML) Definição
Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de
Escola Secundária c/3º CEB José Macedo Fragateiro Curso Profissional de Nível Secundário Componente Técnica Disciplina de Sistemas Digitais e Arquitectura de Computadores 29/21 Módulo 1: Sistemas de Numeração
Sumário. INF01040 Introdução à Programação. Elaboração de um Programa. Regras para construção de um algoritmo
INF01040 Introdução à Programação Introdução à Lógica de Programação s Seqüenciais Sumário Elaboração de um programa/algoritmo Formas de representação de um algoritmo Elementos manipulados em um programa/algoritmo
Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi
Apostila de Fundamentos de Programação I Prof: André Luiz Montevecchi Introdução O mundo atual é dependente da tecnologia O uso intenso de diversos aparatos tecnológicos é parte integrante do nosso dia-a-dia
Capítulo 4: SQL! Database System Concepts! Silberschatz, Korth and Sudarshan (modificado)!
Capítulo 4: SQL! Linguagem de Definição de Dados" Estrutura básica" Operações com conjuntos" Funções de agregação" Valores nulos" Subconsultas embutidas" Relações derivadas" Junções" Vistas" Modificação
Autómatos Finitos Determinísticos
Ficha 2 Autómatos Finitos Determinísticos 2.1 Introdução Se olharmos, de forma simplificada, para um computador encontramos três componentes principais: a) A unidade de processamento central b) As unidades
Modelo Relacional - Manipulação
Modelo Relacional - Manipulação Duas categorias de linguagens formais álgebra relacional e cálculo relacional comerciais (baseadas nas linguagens formais) SQL Linguagens formais - Características orientadas
Tarefa Orientada 11 Junção Interna
Tarefa Orientada 11 Junção Interna Objectivos: Junção Interna (INNER JOIN) Junção Interna A operação de junção interna (INNER JOIN) é utilizada para combinar colunas de duas ou mais tabelas. O resultado
Microsoft Access 2010. Para conhecermos o Access, vamos construir uma BD e apresentar os conceitos necessários a cada momento
Microsoft Access 2010 Para conhecermos o Access, vamos construir uma BD e apresentar os conceitos necessários a cada momento 1 Principais objetos do Access Tabelas Guardam a informação da BD (Base de Dados)
Modelos. Comunicação com clientes
Material baseado nas notas de aula: Maria Luiza M. Campos IME/2005 Carlos Heuser - livro Projeto de Banco de Dados CasaNova / PUC/RJ Prof. MSc. Edilberto Silva [email protected] Sistemas de Informação Brasília/DF
SQL UMA ABORDAGEM INTERESSANTE
SQL é uma linguagem de consulta estruturada, do inglês Structured Query Language. É uma linguagem de pesquisa declarativa para banco de dados relacional (base de dados relacional). Muitas das características
Índice. Introdução 31. Tutorial 1: O Microsoft Access como Sistema de Gestão de Bases de Dados Relacionais 35
Introdução 31 1. Bases de Dados Relacionais 31 2. Modelação de Bases de Dados 31 3. Modelo de Classes UML 32 4. Linguagem SQL 32 5. Sobre o Microsoft" Access" 32 Tutorial 1: O Microsoft Access como Sistema
Programação SQL. Introdução
Introdução Principais estruturas duma Base de Dados: Uma BD relacional é constituída por diversas estruturas (ou objectos ) de informação. Podemos destacar: Database: designa a própria BD; Table/Tabela:
Criação de Consultas e Relatórios no Access CRIAÇÃO DE CONSULTAS E RELATÓRIOS NO ACCESS
Criação de Consultas e Relatórios no Access CRIAÇÃO DE CONSULTAS E RELATÓRIOS NO ACCESS Sumário Conceitos / Autores chave... 3 1. Introdução... 4 2. Consultas... 5 3. Relatórios... 8 4. Conclusões... 11
GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva [email protected] www.facom.ufu.br/~ilmerio/sbd UFU/FACOM
GBC043 Sistemas de Banco de Dados Introdução Ilmério Reis da Silva [email protected] www.facom.ufu.br/~ilmerio/sbd UFU/FACOM Página 2 Definição BD Def. Banco de Dados é uma coleção de itens de dados
Databases. Dependências Funcionais
Databases Dependências Funcionais P. Serendero, 2011-13 Referências e exemplos tirados de diversas fontes, excetuando aqueles relacionados com embarcações Dependências Funcionais (DF) Uma Base de Dados,
CAPÍTULO 6 - ESTRUTURA DE SELEÇÃO
6.1 - INTRODUÇÃO CAPÍTULO 6 - ESTRUTURA DE SELEÇÃO Existem problemas que podem ter mais de um caminho a ser seguido para seleção correta, ou existem restrições em suas soluções. O sujeito que irá executar
Noções elementares sobre conjuntos
Noções elementares sobre conjuntos Conjunto, elemento de um conjunto Factos Um conjunto pode ser visto, intuitivamente, como uma colecção de objectos. Cada um destes objectos é um elemento do conjunto.
Banco de Dados I Linguagem SQL Parte 2. Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello
Banco de Dados I Linguagem SQL Parte 2 Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello Introdução Como vimos, um SGBD possui duas linguagens: DDL: Linguagem de Definição de Dados. Usada
Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan
Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan Unidade 6.2 Álgebra Relacional - 1 PACIENTE cod-pac nome-pac
ALGORITMOS PARTE 01. Fabricio de Sousa Pinto
ALGORITMOS PARTE 01 Fabricio de Sousa Pinto Algoritmos: Definição 2 É uma sequência de instruções finita e ordenada de forma lógica para a resolução de uma determinada tarefa ou problema. Algoritmos 3
Introdução aos cálculos de datas
Page 1 of 7 Windows SharePoint Services Introdução aos cálculos de datas Aplica-se a: Microsoft Office SharePoint Server 2007 Ocultar tudo Você pode usar fórmulas e funções em listas ou bibliotecas para
SQL Structured Query Language
Janai Maciel SQL Structured Query Language (Banco de Dados) Conceitos de Linguagens de Programação 2013.2 Structured Query Language ( Linguagem de Consulta Estruturada ) Conceito: É a linguagem de pesquisa
Programação SQL. Manipulação de Dados. DML Data Manipulation Language
Programação SQL Manipulação de Dados DML Data Manipulation Language Manipulação de Dados (DML) Os comandos INSERT, UPDATE, DELETE, são normalmente classificados como pertencendo a uma sublinguagem da linguagem
CIn/UFPE Projeto Conceitual de BD - Prof. Robson Fidalgo 1
CIn/UFPE Projeto Conceitual de BD - Prof. Robson Fidalgo 1 Projeto Conceitual de BD Transformação ER/Relacional Por: Robson do Nascimento Fidalgo [email protected] CIn/UFPE Projeto Conceitual de BD - Prof.
Banco de Dados. Prof. Antonio
Banco de Dados Prof. Antonio SQL - Structured Query Language O que é SQL? A linguagem SQL (Structure query Language - Linguagem de Consulta Estruturada) é a linguagem padrão ANSI (American National Standards
Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: 2010-1 Prof. Dr. Raimundo Moura
UFPI CCN DIE Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: 2010-1 Prof. Dr. Raimundo Moura O projeto Desenvolver um compilador de um subconjunto básico da linguagem PORTUGOL.
Microsoft Access INTRODUÇÃO. Sumário INTRODUÇÃO INTRODUÇÃO INTRODUÇÃO INTRODUÇÃO. O que é Banco de Dados?
Microsoft Access Sumário 1. 2. ABRINDO UM BANCO DE DADOS PRONTO 3. ASSISTENTE DE BANCO DE DADOS 4. NAVEGANDO PELO BANCO DE DADOS 5. CRIANDO UM BANCO DE DADOS DESDE O INÍCIO 6. CRIANDO COSULTAS 7. CRIANDO
Fernando Albuquerque - [email protected]. Bancos de Dados. Fernando Albuquerque. 061-2733589 [email protected]
Bancos de Dados Fernando Albuquerque 061-2733589 [email protected] Tópicos Introdução O modelo relacional A linguagem SQL Introdução O que é um banco de dados : Coleção de informações que existe por
Engenharia de Software III
Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf ([email protected]) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,
Linguagem Lógica Prolog
Linguagem Lógica Prolog Linguagens de Programação Departamento de Computação Universidade Federal de Sergipe Conteúdo O que é diferente na Programação Lógica Cláusulas, Fatos, Regras e Predicado Objetos
Banco de Dados. Álgebra Relacional. Prof. Enzo Seraphim
Banco de Dados Álgebra Relacional Prof. Enzo Seraphim Introdução A álgebra relacional é composta por um conjunto de operações utilizadas para manipular Relações como um todo Toda Operação Relacional é
Diagrama de transição de Estados (DTE)
Diagrama de transição de Estados (DTE) O DTE é uma ferramenta de modelação poderosa para descrever o comportamento do sistema dependente do tempo. A necessidade de uma ferramenta deste tipo surgiu das
Programação Orientada a Objetos. Prof. Diemesleno Souza Carvalho [email protected] http://www.diemesleno.com.br
Programação Orientada a Objetos Prof. Diemesleno Souza Carvalho [email protected] http://www.diemesleno.com.br Programação Orientada a Objetos Na aula passada, vimos: Encapsulamento Programação Orientada
Consultas (Queries) ou Interrogações
Consultas (Queries) ou Interrogações Principal finalidade das interrogações: Extracção, manipulação (inserção, alteração e remoção) e definição de dados. As interrogações mais comuns destinam-se a pesquisar
Desenvolvimento de uma base de dados. Relação. Modelo lógico: SGBD relacional
Desenvolvimento de uma base de dados Realidade Bases de dados relacionais e SQL Conceitos básicos de bases de dados relacionais A 3ª forma normal Structured Query Language (SQL) Modelo conceptual (e.g.
Descoberta de Conhecimento em Bases de Dados. Classificação
Universidade Técnica de Lisboa INSTITUTO SUPERIOR DE ECONOMIA E GESTÃO Informática e Sistemas de Informação Aplicados em Economia Descoberta de Conhecimento em Bases de Dados. Classificação Descoberta
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
Organização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Aritmética Computacional Slide 1 Sumário Unidade Lógica e Aritmética Representação de Números Inteiros Aritmética de Números Inteiros Representação de Números
Tarefa Orientada 15 Manipulação de dados
Tarefa Orientada 15 Manipulação de dados Objectivos: Criação de tabelas teste Comando INSERT INTO Inserção de dados Comando INSERT Actualização de dados Comando UPDATE Eliminação de dados Comando DELETE
Administração e Optimização de BDs
Departamento de Engenharia Informática 2010/2011 Administração e Optimização de BDs Mini-Projecto 1 2º semestre A resolução deve ser claramente identificada com o número de grupo e entregue sob a forma
Introdução à Lógica de Programação
Introdução à Lógica de Programação Sistemas Numéricos As informações inseridas em um computador são traduzidos em dados, ou seja, em sinais que podem ser manipulados pelo computador. O computador trabalha
Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.
1 Diagrama de Classes Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes. Um dos objetivos do diagrama de classes é definir a base para
RESUMO 2 - FÍSICA III
RESUMO 2 - FÍSICA III CAMPO ELÉTRICO Assim como a Terra tem um campo gravitacional, uma carga Q também tem um campo que pode influenciar as cargas de prova q nele colocadas. E usando esta analogia, podemos
Introdução à Linguagem
Introdução à Linguagem Curso de Nivelamento do PPGMNE Janeiro / 2011 Juliano J. Scremin [email protected] Um pouco de história Um pouco de história: Nascimento do Python Um pouco de história:
