Tel: Instituto Superior Técnico, Av. Rovisco Pais, Lisboa, Portugal

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

Download "pfilipe@isel.pt, Tel: +351.1.8317211 2 Instituto Superior Técnico, Av. Rovisco Pais, 1049-001 Lisboa, Portugal"

Transcrição

1 Algoritmo de Tradução de Interrogações Lógicas para SQL Porfírio P. Filipe 1, Nuno J. Mamede 2 1 Inst. Sup. de Eng. de Lisboa, R. Conselheiro Emídio Navarro, Lisboa, Portugal Tel: Instituto Superior Técnico, Av. Rovisco Pais, Lisboa, Portugal Tel: ARQUITECTURA DO SISTEMA A arquitectura do sistema de interrogações em língua natural representada na Figura 1 é baseada numa linguagem de representação intermédia, designada por linguagem de interrogação lógica (LIL), para a qual a pergunta em língua natural é transformada antes de ser realizada a tradução para uma interrogação SQL. A linguagem LIL expressa o significado da pergunta em conceitos de alto nível, independentes da estrutura da base de dados do domínio [1][2]. A arquitectura do sistema pode ser dividida em dois módulos. O primeiro módulo processa a língua natural (componente linguística), onde a pergunta é submetida à análise morfológica, sintáctica e semântica sendo obtidas como resultado uma ou mais interrogações LIL que correspondem às possíveis interpretações da pergunta formulada em língua natural. Face á dimensão do domínio e à flexibilidade da língua natural é normal existirem várias interpretações para a mesma pergunta. Sistema de Interrogações Edite Modelo Conceptual Hierarquia de Tipos Representação Geral Apoio à Tradução Descoberta do Contexto da Pergunta Dados de Apoio á Tradução LIL/SQL Acesso Via ODBC Base de Dados do Domínio Consulta Pergunta em Língua Natural Português, Francês, Inglês,... Análise Morfológica Informação Sobre Palavras Análise Sintáctica Estrutura Sintáctica (árvore sintáctica) Análise Semântica Interrogação Lógica (linguagem LIL) Tradução LIL/SQL Interrogação SQL (SELECT) SGBD Resposta Interpretação da Resposta Figura 1 - Arquitectura do Sistema de Interrogações O segundo módulo está relacionado com o processamento dependente da estrutura da base de dados do domínio, traduzindo as interrogações LIL para interrogações SQL que são passadas ao sistema de gestão da base de dados do domínio com o objectivo de obter dados para produzir as respostas. A principal vantagem desta arquitectura é a separação completa entre a componente linguística e o conhecimento dependente da base de dados do domínio. A portabilidade do sistema de interrogações para outro domínio (outra base de dados do domínio) é garantida pelo preenchimento adequado do modelo conceptual. O processamento da pergunta em língua natural é feito por etapas: a partir da língua natural é gerada uma árvore sintáctica que permite a construção de uma interrogação lógica sendo esta finalmente transformada, aplicando o algoritmo de tradução de uma interrogação lógica para SQL, numa instrução SELECT. A comunicação com o sistema de gestão da base de dados do domínio é independente da realização prática porque é executada através de um driver ODBC. O modelo conceptual é a componente do sistema de interrogações que representa simbolicamente os constrangimentos conceptuais associados ao domínio da aplicação [4]. O modelo conceptual tem três componentes: (i) uma hierarquia de tipos que contém a informação sobre a herança; (ii) uma representação geral que é uma representação explícita dos constrangimentos conceptuais do domínio e (iii) dados de apoio à tradução LIL/SQL. Durante a análise semântica é seleccionada uma interpretação da pergunta que respeite os constrangimentos conceptuais do domínio. Por exemplo, se for perguntado ao sistema de interrogações: Quais os hotéis com piscina com água salgada? existem duas interpretações possíveis. Pode ser interpretado que água salgada se refere ao hotel ou que se refere à piscina. São executadas duas consultas ao modelo conceptual e a consulta que pergunta se a entidade hotel tem a propriedade água salgada vai falhar. O facto hotel tem água salgada é irrelevante e por isso não é representado no modelo conceptual. Quando uma pergunta não tem pelo menos uma interpretação que respeita os constrangimentos conceptuais do domínio, diz-se que está semanticamente incorrecta. A LINGUAGEM FONTE A linguagem LIL é inspirada no formalismo apresentado no projecto de MASQUE/SQL [2] e foi descrita em [6][7][8]. A sintaxe da linguagem LIL é a de uma lógica de primeira ordem com o poder expressivo de uma lógica de predicados que permite representar, de uma forma bastante intuitiva, os conceitos do mundo real:

2 (a) Um termo pode ser uma constante uma variável ou um símbolo de função aplicado a um tuplo de termos. As constantes representam objectos do mundo, incluindo objectos abstractos como eventos e situações. Exemplos de constantes: Ritz, sauna, -5 e Exemplos de variáveis: _3 e X. (b) Uma fórmula primitiva é constituída por um símbolo de predicado (que se escreve como um termo) e por um ou dois argumentos (termos). Uma fórmula primitiva tem a seguinte sintaxe: simbolo_de_predicado(termo 1 [, termo 2 ]) São exemplos de fórmulas primitivas: hotel(x) e ter(x, sauna) (c) Uma expressão LIL é um conjunto de fórmulas LIL separadas por vírgulas e tem a seguinte sintaxe: fórmula 1,, fórmula n É exemplo de uma expressão LIL: autor(x), ter(x, livro) (d) Um conectivo lógico liga duas fórmulas LIL originando outra fórmula. A conjunção (&) com a seguinte sintaxe: &(prd 1 (trm1,trm 2 ),,prd n (trm n1,trm n2 )) A disjunção (V) com a seguinte sintaxe: V(prd 1 (trm 1,trm 2 ),,prd n (trm n1,trm n2 )) São exemplos de utilização de conectivos lógicos: &(ter(x, restaurante), ter(x, sauna)) V(ter(X, livro), ter(x, disco)) (e) Fórmulas predefinidas na linguagem LIL: EXACT(termo 1, termo cte ) (igual) SUP(termo 1, termo cte ) (maior) INF(termo 1, termo cte ) (menor) TRADUÇÃO Estrutura de Dados Auxiliar Os dados de apoio à tradução da linguagem LIL para SQL dependentes da estrutura da base de dados do domínio são representados na Figura 2 (a sombreado) como uma extensão do modelo conceptual. A notação usada na Figura 2 é o IDEF1X (Integration DEFinition for Information Modeling). definidas cinco funções para explorar a estrutura de dados auxiliar que devolvem uma cadeia de caracteres. Função TRANSLATION(X,Y,Z) Todos os argumentos são símbolos. O primeiro argumento refere uma associação, o segundo uma entidade e o terceiro uma entidade, uma propriedade, um valor de propriedade, ou um nome próprio. O caracter _ pode ser usado para expressar o conceito qualquer símbolo. Esta função devolve a tradução do facto (parte da pergunta) especificado nos argumentos. Função CLASS(X) Usando a coluna CLASSIFICATION.DESG_CLASS, esta função indica se o argumento, um símbolo, é representado por uma tabela Table ou por uma coluna Column na base de dados do domínio. Função DEFAULT(X) Esta função é usada para determinar as propriedades omitidas ou entidades omitidas dependendo do tipo do argumento indicado: Se o argumento é uma propriedade devolve a entidade omitida associada a essa propriedade. Se o argumento é uma entidade devolve a propriedade omitida associada a essa entidade. Esta função devolve o símbolo representado na coluna DEFAULT.SYMBOL2 quando o seu argumento figurar na coluna DEFAULT.SYMBOL1. Função EQUIVALENT(X) O argumento desta função pode ser um símbolo de propriedade ou de entidade retornando a expressão que foi usada na definição desse argumento. Se na definição do argumento figurar um símbolo de função é devolvido o nome da função existente na coluna CLASSIFICATION.DESC_CLASS e os argumentos presentes na tabela EQ_SYMBOL, caso contrário é devolvido o próprio argumento. Função FORMATTER(X) O argumento desta função refere uma propriedade e devolve o nome de uma função. A função identificada nesta consulta deve ser utilizada para apresentar ao utilizador os dados associados à propriedade indicada em argumento de forma adequada. O ALGORITMO DE TRADUÇÃO Figura 2 Modelo Relacional da Estrutura de Dados Funções Auxiliares Para definir o acesso aos dados de apoio ao algoritmo de tradução LIL/SQL sobre como cada conceito é representado na base de dados do domínio foram O algoritmo de tradução da linguagem LIL para SQL assume que a instrução SELECT é obtida concatenando traduções parciais de cada fórmula LIL que figuram na interrogação LIL. As fórmulas LIL com um argumento variável identificam propriedades ou entidades que a resposta deve contemplar. A tradução de fórmulas LIL com um argumento originam elementos da cláusula SELECT ou FROM, enquanto as restantes fórmulas definem a cláusula FROM ou WHERE, isto é, as condições às quais a resposta deve satisfazer.

3 Depois de traduzir todas as fórmulas pertencentes à interrogação LIL, é necessário verificar se a cláusula FROM contém todas as tabelas referidas na cláusula SELECT e na cláusula WHERE. As tabelas em falta devem ser acrescentadas na cláusula FROM separadas por vírgula. Uma operação semelhante deve ser realizada para identificar colunas em falta que pertencem a tabelas que não têm explicitada nenhuma coluna em toda a instrução SELECT. O processo de tradução usa oito regras: uma para substituir variáveis pelo seu tipo, duas para traduzir fórmulas primitivas, uma para traduzir fórmulas que tenham conectivos lógicos, uma para traduzir fórmulas predefinidas, duas para garantir que a instrução SQL está completa e ainda outra para definir a formatação do resultado. Regra 1 Substituição de Variáreis Durante o processo de tradução é assumido que as variáveis são substituídas pelos seus tipos, isto é, pelos nomes das classes a que pertencem. A expressão LIL: prd 1 (X 1 ), prd 2 (X 1,trm 2 ), depois de ser aplicada a substituição X 1 /prd 1 (assumindo que prd 1 é o tipo da variável X 1 ), é transformada em prd 2 (prd 1,trm 2 ). Quando a substituição ocorre referese o tipo de X 1 como X 1cte. Regra 2 Fórmulas Primitivas Unárias A tradução de uma fórmula primitiva com um argumento (prd(trm)) identifica uma tabela ou uma expressão que envolve colunas. Existem duas possibilidades, dependendo do valor retornado pela função CLASS(prd): (a) Se o valor retornado é Table, então o valor retornado pela função EQUIVALENT(prd) é concatenado, com uma vírgula, à cláusula FROM. Se trm é constante (um nome próprio), então a expressão retornada pela função TRANSLATION(_,pred,trm) é concatenada, com o operador AND, à cláusula WHERE; (b) Se o valor retornado é Column, então Se a interrogação LIL contém uma fórmula do tipo prd 2 (trm 2,prd), então Se trm é constante (valor de uma propriedade), então a expressão retornada pela função TRANSLATION(prd 2,trm 2cte,prd(trm)) é concatenada, com o operador AND, à cláusula WHERE; Se trm é variável, então Se o valor retornado pela função EQUIVALENT(prd) contém um símbolo de função, então o valor retornado pela função EQUIVALENT(prd) é concatenado, com uma vírgula, à cláusula SELECT. Senão o valor retornado pela avaliação de EQUIVALENT(trm 2cte ).EQUIVALENT(prd) é concatenado, com uma vírgula, à cláusula SELECT. Se a interrogação LIL não contém uma fórmula do tipo pred 2 (trm 2,prd), então Se o valor retornado pela função EQUIVALENT(prd) contém um símbolo de função, então o valor retornado pela avaliação de EQUIVALENT(prd) é concatenado, com uma vírgula, à cláusula SELECT. Senão o valor retornado pela avaliação de DEFAULT(prd).EQUIVALENT(prd) é concatenado, com uma vírgula, à cláusula SELECT. Regra 3 Fórmulas Primitivas Binárias A tradução de uma fórmula primitiva com dois argumentos (prd(trm 1,term 2 )) é a expressão retornada pela função TRANSLATION(prd,trm 1cte, trm 2cte ), que deve ser concatenada, com o operador AND, à cláusula WHERE. Regra 4 Fórmulas com Conectivas Lógicas A tradução de uma fórmula que usa o conectivo e (&(prd 1 (trm 2, trm 3 ),..., prd a (trm b, trm c ))) é a expressão retornada pela avaliação de TRANSLATION(prd 1cte, trm 2cte, trm 3cte ) AND... AND TRANSLATION(prd acte, trm bcte, trm cct ), que deve ser concatenada, com o operador AND, à cláusula WHERE. A tradução de uma fórmula que usa o conectivo ou (V(prd 1 (trm 2,trm 3 ),...,prd a (trm b,trm c ))) é a expressão retornada pela avaliação de (TRANSLATION(prd 1cte,trm 2cte,trm 3cte ) OR... OR TRANSLATION(prd acte,trm bcte, trm ccte )), que deve ser concatenada, com o operador AND, à cláusula WHERE. Regra 5 Fórmulas Predefinidas A tradução de uma fórmula com o predicado EXACT (EXACT(trm, cte)) é concatenada, com o operador AND, à cláusula WHERE e é determinada por: (a) Se a interrogação LIL contém uma fórmula do tipo prd 2 (trm 2,trm), então TRANSLATION(prd 2, trm 2cte, EXACT(trm, cte)) (b) Senão DEFAULT(trm cte ).EQUIVALENT(trm cte )=cte A tradução de uma fórmula com o predicado SUP (SUP(trm, cte)) é concatenada, com o operador AND, à cláusula WHERE e é determinada por: (a) Se a interrogação LIL contém uma fórmula do tipo prd 2 (trm 2,trm), então TRANSLATION(prd 2, trm 2cte, SUP(trm, cte)) (b) Senão

4 DEFAULT(trm cte ).EQUIVALENT(trm cte )>cte A tradução de uma fórmula com o predicado INF (INF(trm,cte)) é concatenada, com o operador AND, à cláusula WHERE e é determinada por: (a) Se a interrogação LIL contém uma fórmula do tipo prd 2 (trm 2,trm), então TRANSLATION(prd 2, trm 2cte, INF(trm, cte)) (b) Senão DEFAULT(trm cte ).EQUIVALENT(trm cte )<cte Regra 6 Tabelas em Falta Se a cláusula FROM não contém todas as tabelas referenciadas na cláusula SELECT e WHERE, então todas as tabelas em falta devem ser concatenadas, com uma vírgula, à cláusula FROM. Regra 7 Colunas em Falta Procurar as tabelas que são referenciadas na interrogação LIL em fórmulas com um argumento variável e que não têm colunas na cláusula SELECT. Para cada uma das tabelas encontradas (designadas por T) deve ser concatenado, com uma vírgula, à cláusula SELECT o valor retornado pela avaliação de EQUIVALENT(T).DEFAULT(T). Figura 3 Modelo Relacional da BD do Domínio O caracter? é usado para representar uma cláusula vazia da instrução SELECT. Interrogação em língua natural: Quais os nomes dos alunos com notas superiores a 15 valores que efectuaram o exame da disciplina de Física? Regra 8 Formatação Opcional Aplicar a função FORMATTER a cada coluna (ou expressão que envolve funções de equivalência) da cláusula SELECT para obter o formato final de cada propriedade. Algoritmo Iniciar com uma instrução SELECT vazia Para cada fórmula LIL fazer Inicio Tentar aplicar a Regra 1 Escolher a Regra apropriada do conjunto {2,3,4,5} Aplicar a regra escolhida Fim Tentar aplicar a Regra 6 e a Regra 7 Aplicar a Regra 8 EXEMPLO Para demonstrar a aplicação do algoritmo de tradução LIL/SQL apresenta-se o seguinte exemplo comentado, assumindo que na base de dados do domínio o extracto do modelo relacional significativo para o exemplo está conforme o representado na Figura 3.

5 Interrogação na linguagem LIL: nome(x), ter(aluno, nome),ter(aluno, nota), SUP(nota,15), efectuar(aluno, exame), ter(exame, disciplina), disciplina(fisica) Aplicação do algoritmo de Tradução LIL/SQL: 1) Interrogação SQL: SELECT? FROM? Tradução de: nome(x), usando a Regra 2: A chamada à função CLASS(nome) retorna Column e existe na interrogação LIL a fórmula ter(aluno, nome) À cláusula SELECT é concatenado o valor obtido pela avaliação da expressão: EQUIVALENT(ALUNO).EQUIVALENT(NOME), que é ALUNO.NOME 2) Interrogação SQL: SELECT ALUNO.NOME FROM? Tradução de: ter(aluno, nome), usando a Regra 3: TRANSLATION(TER, ALUNO, NOME), que é 3) Interrogação SQL: (sem alterações). Tradução de: ter(aluno, nota), usando a Regra 3: TRANSLATION(TER, ALUNO, NOTA), que é ALUNO.NUMERO = EXAME.NUMERO 4) Interrogação SQL: SELECT ALUNO.NOME FROM? WHERE ALUNO.NUMERO = EXAME.NUMERO Tradução de: SUP(nota, 15), usando a Regra 5: Existe na interrogação LIL a fórmula ter(aluno, nota) pela avaliação da expressão: TRANSLATION(TER, ALUNO, SUP(NOTA, 15)), que é EXAME.NOTA > 15 5) Interrogação SQL: SELECT ALUNO.NOME FROM? WHERE ALUNO.NUMERO = EXAME.NUMERO AND ALUNO.NOTA>15 Tradução de: efectuar(aluno, exame), usando a Regra 3: TRANSLATION(EFECTUAR, ALUNO, EXAME), que é ALUNO.NUMERO = EXAME.NUMERO 6) Interrogação SQL: (sem alterações), devido à expressão determinada já existir na cláusula WHERE. Tradução de: ter(exame, disciplina), usando a Regra 3: TRANSLATION(TER, EXAME, DISCIPLINA), que é EXAME.C_DISCIPLINA = DISCIPLINA.C_DISCIPLINA 7) Interrogação SQL: SELECT ALUNO.NOME FROM? WHERE ALUNO.NUMERO = EXAME.NUMERO AND ALUNO.NOTA>15 AND EXAME.C_DISCIPLINA = DISCIPLINA.C_DISCIPLINA Tradução de: disciplina(fisica), usando a Regra 2: A chamada à função CLASS(disciplina) retorna Column e existe na interrogação LIL a fórmula ter(exame, disciplina) TRANSLATION(TER, EXAME, DISCIPLINA(FISICA)), que é DISCIPLINA.D_DISCIPLINA = FISICA 8) Interrogação SQL: SELECT ALUNO.NOME FROM? WHERE ALUNO.NUMERO = EXAME.NUMERO AND ALUNO.NOTA>15 AND EXAME.C_DISCIPLINA = DISCIPLINA.C_DISCIPLINA AND DISCIPLINA.D_DISCIPLINA = FISICA Aplicando a Regra 6 é concatenada, com uma vírgula, à cláusula FROM ALUNO, EXAME, DISCIPLINA. 9) Interrogação SQL resultado da aplicação do algoritmo: SELECT ALUNO.NOME FROM ALUNO, EXAME, DISCIPLINA WHERE ALUNO.NUMERO = EXAME.NUMERO AND ALUNO.NOTA>15 AND EXAME.C_DISCIPLINA = DISCIPLINA.C_DISCIPLINA AND DISCIPLINA.D_DISCIPLINA = FISICA Aplicando a função FORMATTER à coluna NOME da cláusula SELECT, obtém-se informação complementar à tradução. Neste exemplo, a função FORMATTER retorna Nome_Próprio, servindo esta palavra chave para identificar o formato dos nomes próprios. CONCLUSÃO O algoritmo apresentado é independente da base de dados e do domínio considerado [5]. Foi implementado como um módulo do Edite que é um sistema de interrogações em língua natural (português, francês, inglês, e espanhol) concebido para aceder a dados existentes numa base de dados relacional. O objectivo principal do Edite é proporcionar aos utilizadores a capacidade de obter informação armazenada numa base de dados relacional [3]. O utilizador não é obrigado a aprender uma linguagem de comunicação

6 artificial sendo-lhe facilitada a possibilidade de formular perguntas na sua língua nativa. O Edite responde a perguntas escritas sobre recursos turísticos transformando as questões colocadas em interrogações SQL. As respostas dependem do tipo de pergunta podendo ser: listas nominais de recursos, texto, imagens, ou gráficos. Actualmente, a base de dados do domínio contém recursos turísticos organizados em 253 tipos distintos preenchendo 209 tabelas. REFERÊNCIAS [1] Androutsopoulos I., Ritchie G., Thanisch P., An Efficient and Portable Natural Language Query Interface for Relational Databases, Proceedings of the 6th International Conference on Industrial & Engineering Applications of Artificial Intelligence and Expert Systems, Edinburgh, U.K. Gordon and Breach Publishers Inc., Langhorne, PA, U.S.A., pages , [2] Androutsopoulos I., Interfacing a Natural Language Front-End to a Relational Database (MSc thesis). Technical paper 11, Dept. of AI, Univ. of Edinburgh, [3] Androutsopoulos I., Natural Language Interfaces - An Introduction. Journal of Natural Language Engineering, Cambridge University Press, [4] Filipe P., Sistema de Interrogações em Língua Natural para Bases de Dados: Modelo Conceptual, Aquisição de Vocabulário e Tradução, M.Sc. Dissertation. Instituto Superior Técnico, Universidade Técnica de Lisboa, [5] Grosz B. J., Appelt D. E., Martin P. A., Pereira C. N., TEAM: An Experiment in the Design of Transportable Natural-Language Interfaces. Artificial Intelligence 32, pages Elsevier Science Publishers B.V. (North- Holland), [6] Marques L., Edite - Um Sistema de Acesso a Base de Dados em Língua Natural Análise Morfológica, Sintáctica e Semântica,.M.Sc. Dissertation. Instituto Superior Técnico, Universidade Técnica de Lisboa, [7]. Reis P., Mamede N. LIL-SQL. Processamento de Interrogações LIL por Tradução para SQL. Technical Report. Grupo de Sistemas e Serviços Telemáticos, INESC, [8]. Reis P., Mamede N., Matias J., Edite A Natural Language Interface to Databases: a New Dimension for an Old Approach in Proceeding of the Fourth International Conference on Information and Communication Technology in Tourism, ENTER 97, Edinburgh, Scottland, 1997.

UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO

UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Sistema de Interrogações em Língua Natural para Bases de Dados Modelo Conceptual, Aquisição de Vocabulário e Tradução Porfírio Pena Filipe (Licenciado)

Leia mais

Edite - Um sistema de Acesso a Base de Dados em Língua Natural

Edite - Um sistema de Acesso a Base de Dados em Língua Natural Edite - Um sistema de Acesso a Base de Dados em Língua Natural Maria Luísa Torres Ribeiro Marques da Silva Coheur (Tese de mestrado defendida em Maio de 1997) 1 Motivação Direcção Geral de Turismo Inventário

Leia mais

Tarefa Orientada 10 Obter informação a partir de uma tabela

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

Leia mais

Tarefa Orientada 13 Agrupamento e sumário de dados

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

Leia mais

Bases de Dados II 6638: BSc in Information Systems and Technologies. Cap. 1 Arquitectura de Sistemas de Bases de Dados. Module Introduction

Bases de Dados II 6638: BSc in Information Systems and Technologies. Cap. 1 Arquitectura de Sistemas de Bases de Dados. Module Introduction Bases de Dados II 6638: BSc in Information Systems and Technologies Cap. 1 Module Introduction Objectivos O propósito e a origem da arquitectura de base de dados a três níveis. O conteúdo dos níveis externo,

Leia mais

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

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

Leia mais

Tarefa Orientada 12 Junção Externa, Auto-Junção e União

Tarefa Orientada 12 Junção Externa, Auto-Junção e União Tarefa Orientada 12 Junção Externa, Auto-Junção e União Objectivos: Junção externa (Outer JOIN) Junção externa à esquerda (LEFT Outer JOIN) Junção externa à direita (RIGHT Outer JOIN) Junção externa completa

Leia mais

Desenvolvimento de uma base de dados. Relação. Modelo lógico: SGBD relacional

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.

Leia mais

Banco de Dados Aula 02. Colégio Estadual Padre Carmelo Perrone Profº: Willian

Banco de Dados Aula 02. Colégio Estadual Padre Carmelo Perrone Profº: Willian Banco de Dados Aula 02 Colégio Estadual Padre Carmelo Perrone Profº: Willian Conceitos básicos Dado: Valor do campo quando é armazenado dento do BD; Tabela Lógica: Representa a estrutura de armazenamento

Leia mais

SQL UMA ABORDAGEM INTERESSANTE

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

Leia mais

Bases de Dados. Bibliografia. 1. Parte I Componente Teórica. Pedro Quaresma

Bases de Dados. Bibliografia. 1. Parte I Componente Teórica. Pedro Quaresma Índice Bases de Dados Pedro Quaresma Departamento de Matemática Universidade de Coimbra 2010/2011 1. Parte I Componente Teórica 1.1 Introdução 1.2 Modelo ER 1.3 Modelo Relacional 1.4 SQL 1.5 Integridade

Leia mais

Tarefa Orientada 11 Junção Interna

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

Leia mais

DESENVOLVIMENTO DE SOFTWARE

DESENVOLVIMENTO DE SOFTWARE VARIAÁ VEL Antes de iniciarmos os comandos referentes a Banco de Dados, precisamos de uma breve descrição técnica sobre Variáveis que serão uma constante em programação seja qual for sua forma de leitura.

Leia mais

Os dados no MySQL são armazenado em tabelas. Uma tabela é uma colecção de informação relacionada e consiste em colunas e linhas.

Os dados no MySQL são armazenado em tabelas. Uma tabela é uma colecção de informação relacionada e consiste em colunas e linhas. MySQL 101 Recapitulando Os dados no MySQL são armazenado em tabelas. Uma tabela é uma colecção de informação relacionada e consiste em colunas e linhas. As bases de dados são úteis quando necessitamos

Leia mais

Licenciatura de EI 2010/2011. msantos@ispgaya.pt. Mário Santos / Carlos Ramos

Licenciatura de EI 2010/2011. msantos@ispgaya.pt. Mário Santos / Carlos Ramos 5º semestre Licenciatura de EI 2010/2011 msantos@ispgaya.pt cramos@ispgaya.ptpt / Carlos Ramos 1 Objectivos da Disciplina de Sistemas de Informação da Licenciatura de EI Complementar a formação em bases

Leia mais

Sistemas de Informação

Sistemas de Informação 5º semestre Licenciatura de EI 2011/2012 msantos@ispgaya.pt cramos@ispgaya.pt / Carlos Ramos 1 Objectivos da Disciplina de Sistemas de Informação da Licenciatura de EI Complementar a formação em bases

Leia mais

Programação SQL. Introdução

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:

Leia mais

Banco de Dados. Prof. Antonio

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

Leia mais

Aspectos genéricos - Base de Dados

Aspectos genéricos - Base de Dados Aspectos genéricos - Base de Dados 1) Ficheiros de dados, registos e campos 2) Base de Dados Flat_File (de uma tabela) 2.1) Especificação e exemplo 2.2) Limitações das bases de dados baseadas em uma só

Leia mais

ENIAC. Introdução aos Computadores e à Programação (Noções Básicas)

ENIAC. Introdução aos Computadores e à Programação (Noções Básicas) ENIAC Introdução aos Computadores e à ção (Noções Básicas) Introdução aos Computadores e à ção (Noções Básicas) 1 Introdução aos Computadores e à ção (Noções Básicas) 2 O transistor foi inventado em 1947

Leia mais

Tarefa Orientada 14 Subconsultas

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

Leia mais

Banco de Dados. Prof. Dr. Rogério Galante Negri

Banco de Dados. Prof. Dr. Rogério Galante Negri Banco de Dados Prof Dr Rogério Galante Negri Tradicionalmente O armazenamento dos dados utilizava arquivos individuais, sem nenhum relacionamento Cada programa utilizava seu próprio sistema de arquivo

Leia mais

4.2. UML Diagramas de classes

4.2. UML Diagramas de classes Engenharia de Software 4.2. UML Diagramas de classes Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Um diagrama de classes serve para modelar o vocabulário de um sistema Construído e refinado ao longo

Leia mais

Curso de Iniciação ao Access Basic (I) CONTEÚDOS

Curso de Iniciação ao Access Basic (I) CONTEÚDOS Curso de Iniciação ao Access Basic (I) CONTEÚDOS 1. A Linguagem Access Basic. 2. Módulos e Procedimentos. 3. Usar o Access: 3.1. Criar uma Base de Dados: 3.1.1. Criar uma nova Base de Dados. 3.1.2. Criar

Leia mais

Bases de Dados. O que é uma Base de Dados? Pós-Grduação em SIG

Bases de Dados. O que é uma Base de Dados? Pós-Grduação em SIG Bases de Dados O que é uma Base de Dados? Dados Pode-se começar por tentar dar uma definição do que são Dados. Os dados são factos em bruto, que não são necessáriamente relevantes para qualquer coisa que

Leia mais

SQL (Structured Query Language)

SQL (Structured Query Language) (Structured Query Language) I DDL (Definição de Esquemas Relacionais)... 2 I.2 Domínios... 2 I.3 Criação de Tabelas... 2 I.4 Triggers... 4 II DML Linguagem para manipulação de dados... 5 II.2 Comando SELECT...

Leia mais

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 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

Leia mais

Banco de dados 1. Linguagem SQL DDL e DML. Professor: Victor Hugo L. Lopes

Banco de dados 1. Linguagem SQL DDL e DML. Professor: Victor Hugo L. Lopes Banco de dados 1 Linguagem SQL DDL e DML Professor: Victor Hugo L. Lopes Agenda: Introdução à linguagem de dados; DDL; DML; CRUD; Introdução à linguagem SQL. 2 Por que precisamos da linguagem SQL? A algebra

Leia mais

UMA SEMÂNTICA DIFUSA PARA CONSULTAS FLEXÍVEIS EM BASES DE DADOS RELACIONAIS

UMA SEMÂNTICA DIFUSA PARA CONSULTAS FLEXÍVEIS EM BASES DE DADOS RELACIONAIS UMA SEMÂNTICA DIFUSA PARA CONSULTAS FLEXÍVEIS EM BASES DE DADOS RELACIONAIS Samyr Abrahão Moises¹, Silvio do Lago Pereira² ¹Aluno do Curso de Análise e Desenvolvimento de Sistemas FATEC-SP ²Prof. Dr. do

Leia mais

Bases de Dados. DML Data Manipulation Language Parte 1

Bases de Dados. DML Data Manipulation Language Parte 1 Bases de Dados DML Data Manipulation Language Parte 1 DML Data Manipulation Language Diz respeito à manipulação dos dados. É utilizada para: Inserir dados numa tabela(tuplos) Remover dados de uma tabela(tuplos)

Leia mais

Banco de Dados. Conversão para o Banco de Dados SisMoura

Banco de Dados. Conversão para o Banco de Dados SisMoura Banco de Dados Conversão para o Banco de Dados SisMoura Objetivo : Converter as informações contidas em um determinado banco de dados para o banco de dados do Sismoura. Restaurar Banco de Dados em branco

Leia mais

Banco de Dados. Um momento crucial na organização dos dados é a forma com que cadastramos estes dados, a estrutura de armazenamento que criamos.

Banco de Dados. Um momento crucial na organização dos dados é a forma com que cadastramos estes dados, a estrutura de armazenamento que criamos. Banco de Dados O que é um Banco de Dados? Este assunto é muito vasto, tentaremos resumi-lo para atender as questões encontradas em concursos públicos. Já conhecemos o conceito de dado, ou seja, uma informação

Leia mais

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição 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 Ingress SQL

Leia mais

Definida pelo American National Standard Institute (ANSI) em 1986

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

Leia mais

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados -

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados - Banco de Dados Aula 02 Modelagem de Dados Roteiro Definição Evolução Projeto de BD Abstração Esquema e Instância Definição É uma representação, normalmente gráfica, de estruturas de dados reais. Auxilia

Leia mais

Consultas SQL com mais de uma 01 tabela

Consultas SQL com mais de uma 01 tabela Consultas SQL com mais de uma 01 tabela Mostrar a marca, modelo, cor e valor de todos os carros com valores entre 20.000 e 30.000 SELECT MARCAS.marca, MARCAS.modelo, CARROS.cor, CARROS.valor FROM MARCAS,

Leia mais

Processamento e Otimização de Consultas

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

Leia mais

NOME SEXO CPF NASCIMENTO SALARIO

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

Leia mais

PHP INTEGRAÇÃO COM MYSQL PARTE 1

PHP INTEGRAÇÃO COM MYSQL PARTE 1 INTRODUÇÃO PHP INTEGRAÇÃO COM MYSQL PARTE 1 Leonardo Pereira leonardo@estudandoti.com.br Facebook: leongamerti http://www.estudandoti.com.br Informações que precisam ser manipuladas com mais segurança

Leia mais

Bases de Dados 2007/2008. Aula 1. Referências

Bases de Dados 2007/2008. Aula 1. Referências Bases de Dados 2007/2008 Aula 1 Sumário 1. SQL Server 2000: configuração do acesso ao servidor. 1.1. SQL Server Service Manager. 1.2. SQL Server Enterprise Manager. 1.3. SQL Query Analyzer. 2. A base de

Leia mais

Tarefa Orientada 15 Manipulação de dados

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

Leia mais

UFCD 786. Instalação e configuração de sistemas de bases de dados

UFCD 786. Instalação e configuração de sistemas de bases de dados UFCD 786 Instalação e configuração de sistemas de bases de dados 1 Noção de Base de Dados De uma forma genérica uma base de dados é um conjunto de dados (BD) Exemplos de BD s: Uma agenda de moradas Uma

Leia mais

Ficheiros de dados, registos e campos pág. 2 Limitações das bases de dados baseadas numa só tabela pág. 2 Sistemas de Gestão de Base de Dados pág.

Ficheiros de dados, registos e campos pág. 2 Limitações das bases de dados baseadas numa só tabela pág. 2 Sistemas de Gestão de Base de Dados pág. Conteúdos Dos ficheiros de dados aos sistemas de gestão de base de dados Ficheiros de dados, registos e campos pág. 2 Limitações das bases de dados baseadas numa só tabela pág. 2 Sistemas de Gestão de

Leia mais

UFCD 787. Administração de base de dados. Elsa Marisa S. Almeida

UFCD 787. Administração de base de dados. Elsa Marisa S. Almeida UFCD 787 Administração de base de dados Elsa Marisa S. Almeida 1 Objectivos Replicação de base de dados Gestão de transacções Cópias de segurança Importação e exportação de dados Elsa Marisa S. Almeida

Leia mais

Vídeo Vigilância Abordagem Open-Source

Vídeo Vigilância Abordagem Open-Source Vídeo Vigilância Abordagem Open-Source Alunos: Justino Santos, Paulo Neto E-mail: eic10428@student.estg.ipleiria.pt, eic10438@student.estg.ipleiria.pt Orientadores: Prof. Filipe Neves, Prof. Paulo Costa

Leia mais

Teoria De Bases de dados

Teoria De Bases de dados Teoria De Bases de dados Paulo Leocádio Índice A informática na empresa...2 Da dependência à independência dos dados...3 Os três níveis da arquitectura de um SGBD...6 Funções e estrutura de um SGBD...7

Leia mais

Identificação das variáveis de entrada; resultados/variáveis de saída e método ou solução. (procedimentos e funções)

Identificação das variáveis de entrada; resultados/variáveis de saída e método ou solução. (procedimentos e funções) Aulas anteriores... Formulação adequada do problema Identificação das variáveis de entrada; resultados/variáveis de saída e método ou solução Definição do algoritmo Método de decomposição hierárquica utilizando

Leia mais

Disciplina: Tecnologias de Banco de Dados para SI s

Disciplina: Tecnologias de Banco de Dados para SI s Curso de Gestão em SI Disciplina: Tecnologias de Banco de Dados para SI s Rodrigo da Silva Gomes (Extraído do material do prof. Ronaldo Melo - UFSC) Banco de Dados (BD) BD fazem parte do nosso dia-a-dia!

Leia mais

Sistemas de Gestão de Bases de Dados

Sistemas de Gestão de Bases de Dados Cadeira de Tecnologias de Informação Ano lectivo 2008/2009 Sistemas de Gestão de Bases de Dados Profª Ana Lucas (Responsável) Mestre Fernando Naves Mestre Cristiane Pedron Engª Filipa Pires da Silva Dr.

Leia mais

O que são Bancos de Dados?

O que são Bancos de Dados? SQL Básico Liojes de Oliveira Carneiro professor.liojes@gmail.com www.professor-liojes.blogspot.com O que são Bancos de Dados? É o software que armazena, organiza, controla, trata e distribui os dados

Leia mais

Tarefa Orientada 1 Base de Dados Editora

Tarefa Orientada 1 Base de Dados Editora Tarefa Orientada 1 Base de Dados Editora Objectivos: Criar as tabelas da base de dados Editora Criar o diagrama da base de dados Editora Inserir registos com os dados de teste Criar as tabelas da base

Leia mais

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos

Leia mais

Á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çõ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

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

Introdução e motivação SGBD XML Nativo Consultas em SGBDs XML Prática. Bancos de dados XML. Conceitos e linguagens de consulta

Introdução e motivação SGBD XML Nativo Consultas em SGBDs XML Prática. Bancos de dados XML. Conceitos e linguagens de consulta Bancos de dados XML Conceitos e linguagens de consulta Sidney Roberto de Sousa MC536 - Bancos de Dados: Teoria e prática Material base: W3Schools XPath and XQuery Tutorial http://www.w3schools.com/xpath/

Leia mais

Tecnologia de Base de Dados Introdução à Base de Dados

Tecnologia de Base de Dados Introdução à Base de Dados Introdução à Base de Dados MSc. Eugénio Alberto Macumbe Plano Temático 1. Introdução à Base de Dados; 2. Modelo Relacional; 3. Modelação de dados; 4. Formas Normais e Processo de Normalização; 5. Operações

Leia mais

Figura 1 - O computador

Figura 1 - O computador Organização e arquitectura dum computador Índice Índice... 2 1. Introdução... 3 2. Representação da informação no computador... 4 3. Funcionamento básico dum computador... 5 4. Estrutura do processador...

Leia mais

ES C O L A S U PERI O R A G RÁ RI A

ES C O L A S U PERI O R A G RÁ RI A Licenciatura em Ecoturismo Ref.ª : 8810005 Ano lectivo: 2012-13 DESCRITOR DA UNIDADE CURRICULAR LÍNGUA INGLESA E COMUNICAÇÃO ENGLISH LANGUAGE AND COMMUNICATION 1. Unidade Curricular: 1.1 Área científica:

Leia mais

Comandos DDL. id_modulo = id_m odulo

Comandos DDL. id_modulo = id_m odulo Comandos DDL Estudo de Caso Controle Acadêmico Simplificado Uma escola contém vários cursos, onde cada aluno possui uma matricula num determinado curso. Estes cursos, por sua vez, possuem módulos, aos

Leia mais

8VDQGR5HSRUW0DQDJHUFRP&ODULRQH3RVWJUH64/ -XOLR&HVDU3HGURVR 8VDQGRSDUkPHWURV

8VDQGR5HSRUW0DQDJHUFRP&ODULRQH3RVWJUH64/ -XOLR&HVDU3HGURVR 8VDQGRSDUkPHWURV 8VDQGRSDUkPHWURV O envio de parâmetros para um relatório é uma das funções mais úteis do Report Manager, com eles você pode: Permitir que o usuário final altere palavras ou sentenças de um relatório; Atribuir

Leia mais

Sistemas de Gestão de Bases de Dados

Sistemas de Gestão de Bases de Dados Cadeira de Tecnologias de Informação Ano lectivo 2007/08 Sistemas de Gestão de Bases de Dados Prof. Mário Caldeira Profª Ana Lucas Dr. Fernando Naves Engª Winnie Picoto Engº Luis Vaz Henriques Dr. José

Leia mais

Engenharia de Software e Sistemas Distribuídos. Enunciado Geral do Projecto

Engenharia de Software e Sistemas Distribuídos. Enunciado Geral do Projecto LEIC-A, LEIC-T, LETI, MEIC-T, MEIC-A Engenharia de Software e Sistemas Distribuídos 2 o Semestre 2014/2015 Enunciado Geral do Projecto O que se segue é uma descrição geral do domínio do projecto a desenvolver

Leia mais

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados Sistema de Bancos de Dados Conceitos Gerais Sistema Gerenciador de Bancos de Dados # Definições # Motivação # Arquitetura Típica # Vantagens # Desvantagens # Evolução # Classes de Usuários 1 Nível 1 Dados

Leia mais

Bases de Dados 2012/2013 Restrições de Integridade em SQL. Helena Galhardas 2012 IST. Bibliografia

Bases de Dados 2012/2013 Restrições de Integridade em SQL. Helena Galhardas 2012 IST. Bibliografia Bases de Dados 2012/2013 Restrições de Integridade em SQL Helena Galhardas Bibliografia Raghu Ramakrishnan, Database Management Systems, Cap. 3 e 5 1 1 Sumário Restrições de Integridade (RIs) em SQL Chave

Leia mais

PROGRAMA. Objectivos Gerais :

PROGRAMA. Objectivos Gerais : PROGRAMA ANO LECTIVO : 2005/2006 CURSO : ENGENHARIA MULTIMÉDIA ANO: 2.º DISCIPLINA : SISTEMA DE GESTÃO DE BASE DE DADOS DOCENTE RESPONSÁVEL PELA REGÊNCIA : Licenciado Lino Oliveira Objectivos Gerais :

Leia mais

DISCIPLINAS DO CURSO INFORMÁTICA ÊNFASE GESTÃO DE NEGÓCIOS.

DISCIPLINAS DO CURSO INFORMÁTICA ÊNFASE GESTÃO DE NEGÓCIOS. DISCIPLINAS DO CURSO INFORMÁTICA ÊNFASE GESTÃO DE NEGÓCIOS. PROFESSOR: DOUGLAS DUARTE DISCIPLINA: LPBD 5º SEMESTRE AULA 02 MYSQL O MySQL é um sistema de gerenciamento de banco de dados (SGBD), que utiliza

Leia mais

SQL - Banco de Dados. Disciplina: Banco de Dados. Professor: José Antônio. José Antônio - CEFET-RN 23/09/2015

SQL - Banco de Dados. Disciplina: Banco de Dados. Professor: José Antônio. José Antônio - CEFET-RN 23/09/2015 SQL - Banco de Dados 1 Disciplina: Banco de Dados Professor: José Antônio 2 Tópicos de discussão Criando um banco de dados Incluindo, atualizando e excluindo linhas nas tabelas Pesquisa básica em tabelas

Leia mais

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível de independência do

Leia mais

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras 16/08/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 SQL A linguagem SQL é responsável por garantir um bom nível

Leia mais

Reconhecer alguns dos objectos VBA Automatizar bases de dados recorrendo à programação VBA e scripts SQL

Reconhecer alguns dos objectos VBA Automatizar bases de dados recorrendo à programação VBA e scripts SQL OBJECTIVOS Reconhecer alguns dos objectos VBA Automatizar bases de dados recorrendo à programação VBA e scripts SQL O objecto DOCMD Este objecto permite o acesso a todas as operações sobre todos os objectos

Leia mais

14/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

14/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Faculdade INED Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan 1 Unidade 2 Introdução a SQL 2 Leitura Obrigatória ELMASRI,

Leia mais

Introdução aos Sistemas de Bases de Dados

Introdução aos Sistemas de Bases de Dados Sistemas de Bases de Dados Edição 2004 Introdução aos Sistemas de Bases de Dados Orlando Belo Departamento de Informática Escola de Engenharia Universidade do Minho Índice Introdução ao armazenamento de

Leia mais

O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador.

O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador. O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador. Linguagem de Programação Uma linguagem de programação é um método padronizado para expressar

Leia mais

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais 1 LINGUAGEM SQL SQL Server 2008 Comandos iniciais SQL - STRUCTURED QUERY LANGUAGE Quando os Bancos de Dados Relacionais estavam sendo desenvolvidos, foram criadas linguagens destinadas à sua manipulação.

Leia mais

SQL (Structured Querie Language) Escola Secundária de Emídio Navarro 2001/2002 Estruturas, Tratamento e Organização de Dados

SQL (Structured Querie Language) Escola Secundária de Emídio Navarro 2001/2002 Estruturas, Tratamento e Organização de Dados SQL (Structured Querie Language) SQL é mais que uma linguagem de interrogação estruturada. Inclui características para a definição da estrutura de dados, para alterar os dados de uma base de dados, e para

Leia mais

Ficha prática nº 7. SGBD Microsoft Access e SQL Server

Ficha prática nº 7. SGBD Microsoft Access e SQL Server Instituto Superior Politécnico de Viseu Escola Superior de Tecnologia Departamento de Informática Ficha prática nº 7 SGBD Microsoft Access e SQL Server Objectivo: Criação de uma aplicação em arquitectura

Leia mais

SQL: Interrogações simples

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

Leia mais

2008.1 SQL. Autor: Renata Viegas

2008.1 SQL. Autor: Renata Viegas SQL Autor: Renata Viegas 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

Leia mais

Bases Computacionais da Ciência

Bases Computacionais da Ciência BC0005 Bases Computacionais da Ciência Aula 04 Noções de Banco de Dados (Base de Dados) Santo André, junho de 2010 Roteiro da Aula PARTE I Parte Teórica Definições e conceitos básicos Modelo Relacional

Leia mais

INE 5616 Banco de Dados II

INE 5616 Banco de Dados II UFSC-CTC-INE Curso de Sistemas de Informação INE 5616 Banco de Dados II Ronaldo S. Mello 2011/1 http://www.inf.ufsc.br/~ronaldo/ine5616 Programa da Disciplina Objetivo Conteúdo Avaliação Bibliografia Cronograma

Leia mais

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza PHP e Banco de Dados progweb2@thiagomiranda.net Conteúdos Os materiais de aula, apostilas e outras informações estarão disponíveis em: www.thiagomiranda.net PHP e Banco de Dados É praticamente impossível

Leia mais

TEMPTOOL UMA FERRAMENTA PARA A MODELAGEM TEMPORAL DOS DADOS

TEMPTOOL UMA FERRAMENTA PARA A MODELAGEM TEMPORAL DOS DADOS TEMPTOOL UMA FERRAMENTA PARA A MODELAGEM TEMPORAL DOS DADOS Eugênio de O. Simonetto 1, Cristiano R. Moreira, Duncan D. A. Ruiz 2, Luciano C. Ost 1, Glauco B.V.Santos 1 RESUMO O trabalho apresenta uma ferramenta

Leia mais

Linguagem de Consulta - SQL

Linguagem de Consulta - SQL SQL Structured Query Language Linguagem de Consulta Estruturada; Originou-se da linguagem SEQUEL (1974); Revisada e chamada de SQL em 1976/77; Em 1986, padronizada pelo ANSI/ISO - chamada SQL-86; Em 1987

Leia mais

Capítulo 1. Linguagens e processadores

Capítulo 1. Linguagens e processadores Capítulo 1. 1. Linguagens 1.1. Definição Definição : Uma linguagem L sobre um alfabeto, também designado com frequência por vocabulário, V, é um conjunto de frases, em que cada frase é uma sequência de

Leia mais

Sistemas de Informação

Sistemas de Informação MODELO CONCEPTUAL DE DADOS Escola Superior de Tecnologia e Gestão de Felgueiras Engenharia Informática 3º ano - 2003/2004 Ana Maria Madureira 1. MODELO CONCEPTUAL DE DADOS Descreve o S.I. da Organização

Leia mais

Tarefa Orientada 20 Cursores

Tarefa Orientada 20 Cursores Tarefa Orientada 20 Cursores Objectivos: Declarar cursores Utilizar cursores Utilizar funções do sistema para trabalhar com cursores Actualizar dados através de cursores Um cursor é um objecto da base

Leia mais

Curso PHP Aula 08. Bruno Falcão brunogfalcao@gmail.com

Curso PHP Aula 08. Bruno Falcão brunogfalcao@gmail.com + Curso PHP Aula 08 Bruno Falcão brunogfalcao@gmail.com + Roteiro Conectividade com BD SQL + SQL Structured Query Language. Padrão para interagir com banco de dados relacionais. + Banco de dados Um banco

Leia mais

INE 5432 Banco de Dados II

INE 5432 Banco de Dados II UFSC-CTC-INE Curso de Ciências da Computação INE 5432 Banco de Dados II Ronaldo S. Mello 2010/1 http://www.inf.ufsc.br/~ronaldo/ine5432 Programa da Disciplina Objetivo Conteúdo Avaliação Bibliografia Cronograma

Leia mais

A linguagem da Lógica Proposicional (Capítulo 1)

A linguagem da Lógica Proposicional (Capítulo 1) A linguagem da Lógica Proposicional (Capítulo 1) LÓGICA APLICADA A COMPUTAÇÃO Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Definições 2. Alfabeto 3. Fórmulas bem formadas (FBF) 4. Exemplos

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

Android e Bancos de Dados

Android e Bancos de Dados (Usando o SQLite) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do

Leia mais

INE 5336 Banco de Dados II

INE 5336 Banco de Dados II UFSC-CTC-INE Curso de Ciências da Computação INE 5336 Banco de Dados II Ronaldo S. Mello 2008/2 http://www.inf.ufsc.br/~ronaldo/ine5336 Programa da Disciplina Objetivo Conteúdo Avaliação Bibliografia Cronograma

Leia mais

Concepção e Desenvolvimento de Interfaces para o Motor de Busca Geográfico GeoTumba!

Concepção e Desenvolvimento de Interfaces para o Motor de Busca Geográfico GeoTumba! Concepção e Desenvolvimento de Interfaces para o Motor de Busca Geográfico GeoTumba! Sérgio Freitas, Ana Paula Afonso, Mário Silva Faculdade de Ciências da Universidade de Lisboa Departamento de Informática

Leia mais

PROGRAMA. Aquisição dos conceitos teóricos mais importantes sobre bases de dados contextualizados à luz de exemplos da sua aplicação no mundo real.

PROGRAMA. Aquisição dos conceitos teóricos mais importantes sobre bases de dados contextualizados à luz de exemplos da sua aplicação no mundo real. PROGRAMA ANO LECTIVO: 2005/2006 CURSO: LICENCIATURA BI-ETÁPICA EM INFORMÁTICA ANO: 2.º DISCIPLINA: BASE DE DADOS DOCENTE RESPONSÁVEL PELA REGÊNCIA: Licenciado Lino Oliveira Objectivos Gerais: Aquisição

Leia mais

Structured Query Language (SQL) SQL é uma linguagem normalizada (ANSI) para consultas e actualizações de bases de dados relacionais.

Structured Query Language (SQL) SQL é uma linguagem normalizada (ANSI) para consultas e actualizações de bases de dados relacionais. Structured Query Language (SQL) SQL é uma linguagem normalizada (ANSI) para consultas e actualizações de bases de dados relacionais. A instrução SELECT As consultas a uma base de dados relacional fazem-se

Leia mais

Como funcionam os comandos de SQL no Logic Basic Por Alan Oliveira

Como funcionam os comandos de SQL no Logic Basic Por Alan Oliveira Como funcionam os comandos de SQL no Logic Basic Por Alan Oliveira www.linksinfo.com.br Tutorial versão 1.0 Sobre o Logic basic: Parte 1 Sobre o Logic Basic e o SQL O Logic Basic é uma linguagem de programação

Leia mais

1 Máquina URM, comandos e programas URM

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

Leia mais

Sistemas Gerenciadores de Bancos de Dados

Sistemas Gerenciadores de Bancos de Dados Sistemas Gerenciadores de Bancos de Dados Orivaldo V. Santana Jr A partir de slides elaborados por Ivan G. Costa Filho Fernando Fonseca & Robson Fidalgo 1 Sistemas de Arquivos Sistemas de arquivos Principal

Leia mais

Ao conjunto total de tabelas, chamamos de Base de Dados.

Ao conjunto total de tabelas, chamamos de Base de Dados. O QUE É O ACCESS? É um sistema gestor de base de dados relacional. É um programa que permite a criação de Sistemas Gestores de Informação sofisticados sem conhecer linguagem de programação. SISTEMA DE

Leia mais

Sistemas Gerenciadores de Bancos de Dados

Sistemas Gerenciadores de Bancos de Dados Sistemas Gerenciadores de Bancos de Dados Fernando Castor A partir de slides elaborados por Fernando Fonseca & Robson Fidalgo 1 Sistemas de Arquivos Sistemas de arquivos Principal característica é a replicação

Leia mais