UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO

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

Download "UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO"

Transcrição

1 UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO ANÁLISE DE MÉTODOS DE CONSULTA POR SIMILARIDADE DE TEXTOS EM BANCO DE DADOS Área de Banco de Dados por Rodrigo Andreatta da Costa Julia Marques Carvalho da Silva, MSc Orientadora Itajaí (SC), dezembro de 2008

2 UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO ANÁLISE DE MÉTODOS DE CONSULTA POR SIMILARIDADE DE TEXTOS EM BANCO DE DADOS Área de Banco de Dados por Rodrigo Andreatta da Costa Relatório apresentado à Banca Examinadora do Trabalho de Conclusão do Curso de Ciência da Computação para análise e aprovação. Orientadora: Julia Marques C. da Silva, MSc Itajaí (SC), dezembro de 2008

3 SUMÁRIO LISTA DE ABREVIATURAS...v LISTA DE FIGURAS...vi LISTA DE TABELAS...ix RESUMO...x ABSTRACT...xi 1 INTRODUÇÃO PROBLEMATIZAÇÃO Formulação do Problema Solução Proposta OBJETIVOS Objetivo Geral Objetivos Específicos METODOLOGIA ESTRUTURA DO TRABALHO FUNDAMENTAÇÃO TEÓRICA BANCO DE DADOS Linguagem SQL Algoritmos para Operações de Consulta Funções para Tratamento de Strings ALGORITMOS DE BUSCA Algoritmo da Força Bruta Algoritmo de Knuth-Morris-Pratt Algoritmo de Boyer-Moore Algoritmo de Rabin-Karp Algoritmo de Levenshtein Algoritmo de Smith Waterman Algoritmo de Stochastic Model Algoritmo de Jaro Metric Algoritmo de Hamming Distance Algoritmo de Soundex Distance Metric Algoritmo de Convington s Distance Function Considerações sobre os Algoritmos de Similaridade Analisados APLICAÇÕES COM ALGORITMOS DE SIMILARIDADE Similarity Retrivel Engine XSimilarity Sistema de Reconhecimento de Imagens Similares Considerações sobre os aplicativos similares ii

4 2.4 SISTEMA DE AVALIAÇÃO DA PESQUISA INSTITUCIONAL PROJETO Hamming Distance Levenshtein KMP Jaro Rabin-Karp Algoritmo Proposto TESTES RESULTADOS OBTIDOS ANÁLISE DA HIPÓTESE Hipótese Hipótese Hipótese Hipótese Hipótese Hipótese Conclusões CONCLUSÃO...75 REFERÊNCIAS BIBLIOGRÁFICAS...77 A Cenários de testes...80 A.1 CENÁRIO 1: USUÁRIO COM POUCAS PRODUÇÕES A.1.1 Cenário 1a: Participação em Bancas A.1.2 Cenário 1b: Projeto de Pesquisa A.1.3 Cenário 1c: Artigo em Evento Nacional A.1.4 Cenário 1d: Orientação de TCC A.1.5 Cenário 1e: Projeto de Pesquisa A.1.6 Cenário 1f: Projeto de Pesquisa A.1.7 Cenário 1g: Participação em Banca A.1.8 Cenário 1h: Participação em Banca A.1.9 Cenário 1i: Participação em banca A.2 CENÁRIO 2 USUÁRIO COM MAIS DE 1000 PRODUÇÕES A.2.1 Cenário 2a: Participação em Banca A.2.2 Cenário 2b: Artigo em Evento Internacional A.2.3 Cenário 2c: Artigo em Evento Nacional A.2.4 Cenário 2d: Curso de Curta Duração A.2.5 Cenário 2e: Participação em Banca A.2.6 Cenário 2f: Artigo em Evento Internacional A.2.7 Cenário 2g: Resumo em Evento Nacionais A.2.8 Cenário 2h: Artigo em Evento Internacional A.2.9 Cenário 2i: Comissão de Avaliação de Cursos iii

5 A.2.10 Cenário 2j: Artigo em Evento Nacional iv

6 LISTA DE ABREVIATURAS BD CCIFM CGI CNPq CPF DCL DDL DLL DML DNA DQL HCFMRP KMP ODBC PACS PL/SQL PROPPEC SAPI SIREN SGBD SQL SRIS TCC UNIVALI XML Banco de Dados Centro de Ciências das Imagens e Física Médica Common Gateway Interface Conselho Nacional de Desenvolvimento Científico e Tecnológico Cadastro de Pessoa Física Data Control Language Data Definition Language Dynamic-link library Data Manipulation Language Deoxyribonucleic acid Data Query Language Hospital das Clínicas da Faculdade de Medicina de Ribeirão Preto Knuth-Morris-Pratt Open Data Base Connectivity Picture Archiving and Communication System Procedural Language/Structured Query Language Pró-reitoria de Pesquisa, Pós-graduação, Extensão e Cultura Sistema de Avaliação da Produção Institucional Similarity Retrivel Engine Sistema Gerenciador de Banco de Dados Structured Query Language Sistema de Reconhecimento de Imagens Similares Trabalho de Conclusão de Curso Universidade do Vale do Itajaí Extensible Markup Language v

7 LISTA DE FIGURAS Figura 1. Exemplo de banco de dados relacional...8 Figura 2. Sintaxe do comando de consulta...10 Figura 3. Exemplo de uma consulta SQL...12 Figura 4. Exemplo de uma consulta SQL com operador LIKE...12 Figura 5. Tipos de alinhamentos de strings...15 Figura 6. Exemplo de funcionamento do algoritmo de força bruta...16 Figura 7. Exemplo da fórmula para calculo da próxima posição a ser utilizada na comparação do algoritmo KMP...18 Figura 8. Valores de d(k) para o exemplo da Figura Figura 9. Algoritmo para determinação do D(k)...19 Figura 10. Resolução do mesmo exemplo mostrado na Figura 6, mas com a utilização do algoritmo de KMP...20 Figura 11. Explicação da heurística do bom sufixo e do mau caractere...21 Figura 12. Exemplo da utilização da heurística do mau caractere baseado na Figura Figura 13. Exemplo da utilização da heurística do bom sufixo baseado na Figura Figura 14. Exemplo de applet comparando as palavras a costa e rodrigo a costa...23 Figura 15. Resultado da pesquisa do algoritmo Boyer-Moore...24 Figura 16. Exemplo do algoritmo de Rabin Karp Figura 17. Definição da função de Levenshtein...27 Figura 18. Exemplo de applet comparando as palavras andreata e andreatta...28 Figura 19. Definição da função de Smith Waterman...29 Figura 20. Exemplo de comparação usando a função Smith Waterman...29 Figura 21. Métrica do algoritmo de Jaro...30 Figura 22. Exemplo da métrica de Jaro...31 Figura 23. Exemplo de cadeia de bits...31 Figura 24. Atribuição de valores do algoritmo de Convington s Distance...33 Figura 25. Exemplo de execução de consultas por similaridade sobre a tabela Exame, k-nn query usando a métrica textura...36 Figura 26. Exemplo da execução de consultas por similaridade sobre a tabela automóveis Figura 27. Casos de uso apresentando as principais funcionalidades do sistema...38 Figura 28. Interface do Xsimilarity...39 Figura 29. Exemplo arquivo XML...40 Figura 30. Exemplo de uma consulta do XSimilarity...41 Figura 31. Visualização das imagens médicas do SRIS...42 Figura 32. Tela de resultados de consultas por similaridade do SRIS...43 Figura 33. Tela do SAPI...46 Figura 34. Referências das produções...47 Figura 35. Detalhes das produções...48 Figura 36. Diagrama entidade-relacionamento do SAPI...49 Figura 37. Código PHP do SAPI utilizado para efetuar a comparação...51 Figura 38. Sintaxe das funções de similaridade produzidas...52 Figura 39. Comparação entre as strings ABACATE e ABATE...53 Figura 40. Implementação da função Hamming Distance Figura 41. Resultado da comparação entre as palavras ABACATE e ABATE utilizando a função Hamming Distance...54 vi

8 Figura 42. Tabela gerada na comparação entre as palavras ABACATE e ABATE utilizando a função Hamming Distance Figura 43. Trecho principal do código da função Levenshtein...55 Figura 44. Resultado da comparação entre as palavras ABACATE e ABATE utilizando a função Levenshtein Figura 45. Primeiro passo do exemplo do algoritmo de Levenshtein...56 Figura 46. Primeira comparação da segunda iteração do exemplo do algoritmo de Levenshtein Figura 47. Segunda comparação da segunda iteração do exemplo do algoritmo de Levenshtein Figura 48. Terceira comparação da segunda iteração do exemplo do algoritmo de Levenshtein...58 Figura 49. Quarta comparação da segunda iteração do exemplo do algoritmo de Levenshtein Figura 50. Quinta comparação da segunda iteração do exemplo do algoritmo de Levenshtein Figura 51. Resultado final da tabela de comparações do exemplo do algoritmo de Levenshtein...60 Figura 52. Implementação da função KMP Figura 53. Resultado da comparação entre as strings ABACATE e ABATE utilizando o algoritmo KMP...61 Figura 54. Primeira comparação do exemplo do algoritmo KMP Figura 55. Segunda comparação do exemplo do algoritmo KMP Figura 56. Resultado da comparação entre ABACATE e ABATE utilizando o algoritmo Jaro Figura 57. Implementação da função KMP Figura 58. Implementação da função Rabin-Karp Figura 59. Resultado da comparação entre as strings ABACATE e ABATE utilizando o algoritmo Rabin-Karp Figura 60. Primeira comparação do exemplo do algoritmo de Rabin-Karp Figura 61. Segunda comparação do exemplo do algoritmo de Rabin-Karp Figura 62. Terceira comparação do exemplo do algoritmo de Rabin-Karp...66 Figura 63. Terceira comparação do exemplo do algoritmo de Rabin-Karp...67 Figura 64. Gráfico do número de docentes por faixa de quantidade de produções Figura 65. Gráfico da média do grau de similaridade resultante dos dois cenários de testes Figura 66. Gráfico da média do tempo de execução em segundos resultante dos dois cenários de testes...71 Figura 67. Teste Z para comparação entre médias...72 Figura 68. Produção original e alterada do cenário 1a...80 Figura 69. Produção original e alterada do cenário 1b...81 Figura 70. Produção original e alterada do cenário 1c...82 Figura 71. Produção original e alterada do cenário 1d...83 Figura 72. Produção original e alterada do cenário 1e...84 Figura 73. Produção original e alterada do cenário 1f Figura 74. Produção original e alterada do cenário 1g...86 Figura 75. Produção original e alterada do cenário 1h...87 Figura 76. Produção original e alterada do cenário 1i...88 Figura 77. Produção original e alterada do cenário 2a...89 Figura 78. Produção original e alterada do cenário 2b...90 Figura 79. Produção original e alterada do cenário 2c...91 Figura 80. Produção original e alterada do cenário 2d...92 Figura 81. Produção original e alterada do cenário 2e...93 Figura 82. Produção original e alterada do cenário 2f Figura 83. Produção original e alterada do cenário 2g...95 Figura 84. Produção original e alterada do cenário 2h...96 vii

9 Figura 85. Produção original e alterada do cenário 2i...97 Figura 86. Produção original e alterada do cenário 2j...98 viii

10 LISTA DE TABELAS Tabela 1. Composição de um comando de seleção...11 Tabela 2. Comparação entre funções dos bancos Oracle, Postgre e SQL Server...14 Tabela 3. Regras do Soundex Code...32 Tabela 4. Exemplo da regra do algoritmo Soundex Code com a string Dickson e Dixon Tabela 5. Valores das penalidades da função de Convigton s Distance...33 Tabela 6. Tabela comparativa entre aplicativos similares...44 Tabela 7. Tabela de resultados geral dos testes quanto ao grau de similaridade...69 Tabela 8. Tabela de resultados do cenário 1a...81 Tabela 9. Tabela de resultados do cenário 1b Tabela 10. Tabela de resultados do cenário 1c...82 Tabela 11. Tabela de resultados do cenário 1d Tabela 12. Tabela de resultados do cenário 1e...84 Tabela 13. Tabela de resultados do cenário 1f Tabela 14. Tabela de resultados do cenário 1g Tabela 15. Tabela de resultados do cenário 1h Tabela 16. Tabela de resultados do cenário 1i Tabela 17. Tabela de resultados do cenário 2a...89 Tabela 18. Tabela de resultados do cenário 2b Tabela 19. Tabela de resultados do cenário 2c...91 Tabela 20. Tabela de resultados do cenário 2d Tabela 21. Tabela de resultados do cenário 2e...93 Tabela 22. Tabela de resultados do cenário 2f Tabela 23. Tabela de resultados do cenário 2g Tabela 24. Tabela de resultados do cenário 2h Tabela 25. Tabela de resultados do cenário 2i Tabela 26. Tabela de resultados do cenário 2j ix

11 RESUMO COSTA, Rodrigo Andreatta da. Análise de Métodos de Consulta por Similaridade de Textos em Banco de Dados. Itajaí, f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) Centro de Ciências Tecnológicas da Terra e do Mar, Universidade do Vale do Itajaí, Itajaí, Os sistemas de bancos de dados evoluíram nos últimos anos, sendo cada vez mais comum encontrar bases com grandes volumes de dados. Nelas são encontradas informações dos mais diversos tipos, números, textos, datas e inclusive dados de tipos mais complexos, como arquivos e imagens. Porém estas informações não têm muita valia se não puderem ser recuperadas de alguma forma. A consulta vem a ser, por este motivo, uma funcionalidade muito importante para auxiliar os usuários. Contudo este procedimento permite apenas pesquisas por palavras fixas. Por outro lado, existem aplicações que necessitam realizar buscas textuais cujas consultas não podem retornar resultados iguais (idênticos) ou distintos, mas qual é o grau de semelhança. O objetivo deste trabalho é apresentar os principais algoritmos de busca por similaridade de textos, escolher alguns para serem implementados e analisar qual melhor se adequa ao cenário do Sistema de Avaliação da Produção Institucional (SAPI) e executar uma comparação entre os resultados obtidos nos testes. Palavras-chave: Busca por String. Algoritmos de Similaridade. Similaridade de Textos. x

12 ABSTRACT The databases systems have been improved significantly in the last years. Nowadays, it s very common to find bases with a large number of records. They are able to store different kinds of data, like numbers, characters, date and also complex data as images and files. But this stored information doesn t have any value if it cannot be recovered. The query comes to be, therefore, a very important feature to help the users. The problem is that the database management systems allow only exact searches. Otherwise, there are applications that need to do text searches can t return distinct or identical results, but the similarity s degree. The aim of this work is to show some algorithms to search for similar texts, choose some of them to implement and to analyze which is the best for the scenario of SAPI and to execute a comparison among the test s results. Keywords: String Searches, Similarity Algorithms, Text Similarity. xi

13 1 INTRODUÇÃO No passado era comum encontrar em empresas áreas de arquivamento de documentos, tanto de texto, quanto de imagens, vídeos e sons, que formavam uma base de dados. O armazenamento requeria muito espaço físico e a busca por informações era lenta e imprecisa. Com o aperfeiçoamento da tecnologia, foi criada uma forma computacional de guardar estas informações, forma esta que ficou conhecida como banco de dados. Os bancos de dados costumam ser acessados e configurados por um sistema gerenciador de banco de dados (SGBD). O SGBD normalmente utiliza um modelo relacional, onde as estruturas têm forma de tabelas, compostas por linhas e colunas. Em bancos de dados pode ocorrer o armazenamento de dados semelhantes, um exemplo disso ocorre em bibliotecas digitais. Em uma base de dados composta pela integração de sistemas de informações externos pode acontecer de existir informações relacionadas ao mesmo assunto, porém gravadas de maneiras diferentes. Borges et al. (2005) cita como exemplo o caso onde, o nome de uma cidade pode estar armazenado das seguintes formas: Rio Grande - RS, R. Grande, Rio Grande, Rio Graande. e assim por diante. Nestes casos, como não há como afirmar se duas representações são provenientes de um mesmo objeto, uma saída é criar um mecanismo que verifique a proximidade entre os valores. Entretanto as possibilidades de busca e cruzamento de informações são realizadas de diversas formas, possibilitando que uma consulta retorne dados não pertinentes. Neste cenário, para se conseguir realizar uma consulta eficaz e confiável, é necessário a indexação adequada dos registros armazenados na base que possua suporte à similaridade, o que nem sempre ocorre. A idéia da técnica de busca por similaridade é baseada em recuperar objetos semelhantes ou próximos ao elemento pesquisado, sendo definido como espaço métrico o conjunto dos objetos referenciados. Na atualidade existem programas na área da medicina que utilizam Content-based image retrieval em consultas à banco de dados de imagens.

14 Santos Filho (2001 apud Borges et al., 2005) afirma que: Esta técnica executa comparações por semelhança, permitindo uma consulta precisa o suficiente para que possa retornar resultados satisfatórios, porém não tão precisa que venha deixar de retornar resultados relevantes.. Outra possível utilização de similaridade em consultas está na validação de estruturas genéticas, onde uma seqüência de DNA (formada por agrupamento de letras que dão origem a cadeias compostas por milhares de nucleotídeos). Altschul (1990) apud Souza (2004) desenvolveu uma ferramenta capaz de definir o coeficiente de semelhança entre diferentes cadeias de seqüências. A busca em textos é um importante recurso utilizado em ferramentas para edição de texto, para recuperação de dados e manipulação de símbolos. Segundo Carvalho et al. (2005): Os problemas de busca em texto consistem em encontrar todas as ocorrências (ou a primeira ocorrência) de uma palavra no texto. Onde a palavra e o texto são strings de um mesmo alfabeto. O importante é reportar todas as ocorrências sabendo-se que a busca por uma palavra de tamanho m em um texto de tamanho n (onde n > m) tem um tempo O(n) no pior caso (para m fixo). A UNIVALI possui um sistema conhecido como Sistema de Avaliação da Produção Institucional (SAPI) que é utilizado para gerenciar as produções dos docentes, mantendo uma base de dados de todas as produções que são desenvolvidas, de forma integrada com o sistema Lattes. Uma produção é qualquer artigo, trabalho acadêmico ou orientação. Cada produção registrada no Lattes é carregada para o SAPI. Neste momento, cada produção do Lattes é comparada com aquelas que já existem no currículo do SAPI, onde aquelas que apresentam 90% de similaridade são consideradas iguais e então os dados são atualizados. As produções com menos de 90% são consideradas como novas e inseridas no SAPI. Atualmente, para realizar esta comparação todas as produções do Lattes e do SAPI são carregadas para a página PHP e então comparadas. Esta tarefa demanda um alto processamento do servidor web, onde em currículos com alto número de produções (por exemplo, 450 produções) pode levar até cinco minutos para realizar o processamento. Considerando o cenário citado acima, surgiu a idéia de desenvolver rotinas implementadas nos sistemas gerenciadores de banco de dados para resolver o problema de lentidão nas comparações e também nas ineficiências existentes no processo. 2

15 Atualmente, os sistemas gerenciadores de banco de dados (SGBD's) comerciais existentes não conseguem executar consultas de strings aproximadas para textos (GRAVANO, 2001 apud BORGES, CONY, FREITAS, 2005). Desta forma, o presente TCC visa pesquisar e avaliar algoritmos de pesquisa que consigam distinguir informações similares, mas que possam estar representadas de maneiras diferentes em base de dados textuais. 1.1 PROBLEMATIZAÇÃO Formulação do Problema Os SGBD s foram criados para permitir o armazenamento de informações, permitindo aos usuários a recuperação dos dados através de consultas. Estas consultas possuem certa restrição, pois apenas são possíveis comparações exatas com operadores do tipo: maior que, menor que, igual, diferente, entre outros. Uma deficiência deste sistema está no fato da impossibilidade da execução de consultas buscando por informações similares. Na grande maioria dos gerenciadores de banco de dados há apenas funções para alterar a formatação e comparação de strings Solução Proposta A solução proposta é pesquisar funções baseadas em algoritmos que realizam busca por similaridade. Após análise das funções encontradas foram escolhidas algumas delas para serem implementadas e disponibilizadas no SGBD. Foram realizados testes para saber qual algoritmo realiza as buscas trazendo os dados mais próximos aos desejados e com o melhor desempenho. E por último, foi documentado os resultados de cada algoritmo codificado. 1.2 OBJETIVOS Objetivo Geral Investigar, implementar e avaliar o uso de algoritmos de busca por similaridade, baseados em métricas de distância entre Strings Objetivos Específicos Pesquisar e analisar possíveis aplicações similares; Compreender o processo de pesquisa em banco de dados; 3

16 Pesquisar e definir os algoritmos que serão implementados; Implementação dos algoritmos: o KMP; o Rabin Karp; o Levenshtein; o Hamming Distance; o Jaro. Testes dos algoritmos; Comparar os algoritmos, resultados obtidos e documentar informações sobre as informações obtidas. 1.3 METODOLOGIA O projeto tem como modelo de metodologia as seguintes etapas principais: (i) estudo; (ii) especificação; (iii) implementação; (iv) testes; e (v) documentação. A etapa de estudo tem como função a análise do problema que gerou o motivo do trabalho, pesquisa de tecnologias necessárias para o desenvolvimento dos objetivos propostos, busca por produtos similares e análise quanto a viabilidade do projeto. A especificação é a segunda etapa do projeto proposto. É nesta fase que é feito o levantamento e definição do que será desenvolvido, é procurado por algoritmos que possuem características de pesquisa em textos, é feita a escolha os algoritmos que serão codificados e formulada a criação da documentação em geral. O próximo passo é a implementação dos algoritmos que foram escolhidos na etapa de especificação. Nesta fase também se encontra a tarefa da obtenção e instalação do SGBD. Nesta fase foram escolhidos alguns dos algoritmos encontrados para serem transformados em funções codificadas na linguagem PL/SQL. As duas últimas etapas são os testes e documentação, onde após a criação de um banco de dados real são processadas as rotinas com as funções criadas. Para os testes, foram selecionados registros da base de dados obtida. Após isso, cada registro foi copiado e modificado para ser 4

17 executado nas funções. Cada dupla de registros (original e modificado) teve sua similaridade calculada pelos algoritmos implementados e também por uma função do PHP chamada similar_text para haver um ponto de referência ao avaliar os resultados gerados em cada teste. 1.4 ESTRUTURA DO TRABALHO Este trabalho está dividido em quatro capítulos principais, onde no primeiro é descrita uma introdução do assunto de banco de dados, explicado qual o problema que originou a idéia deste trabalho e definida qual a solução proposta. Também são expostos os objetivos gerais e específicos do projeto. O segundo capítulo é composto pela fundamentação teórica, onde são explicados os principais assuntos que serão abordados no trabalho. Há tópicos que conceituam e definem os temas de banco de dados, linguagem SQL, principais algoritmos existentes para realização de consultas em banco de dados, funções para tratamentos de strings e os aplicativos existentes no mercado que possuem uma funcionalidade parecida ao projeto proposto. O terceiro capítulo é formado pela implementação dos algoritmos escolhidos, onde são selecionadas duas palavras para serem aplicadas às funções e para explicar como cada algoritmo se comporta para as mesmas variáveis de entrada. Este capítulo é a base de informação para documentar o capítulo quatro que é onde são comentados os resultados obtidos. 5

18 2 FUNDAMENTAÇÃO TEÓRICA Considerando que este trabalho é focado ao assunto de banco de dados, mais especificadamente ao procedimento de consultas por strings em textos, neste capítulo serão apresentados alguns conceitos sobre banco de dados, a linguagem utilizada para realizar consultas, algoritmos existentes e algumas funções utilizadas para tratamento de strings. 2.1 BANCO DE DADOS No cotidiano, a maioria das pessoas se depara com situações ou atividades que utilizam algum tipo de banco de dados. Situações como, ir ao banco imprimir um extrato da conta, fazer uma reserva de um hotel ou passagem aérea, consultar a disponibilidade de livros em uma biblioteca e consultar preços de produtos em supermercados são formas invisíveis de interação com banco de dados. Segundo Date (2007) banco de dados é basicamente um sistema computacional que executa a manutenção de registros. Pode ser feita uma comparação como sendo o equivalente eletrônico de um armário de arquivamento, onde são armazenados conjuntos de arquivos de dados computadorizados. Podem também ser considerados como um sistema de computador cuja função principal é armazenar informações, permitindo que estas possam ser consultadas ou alteradas quando necessário. Para Elmasri (2006) Um banco de dados é uma coleção de dados relacionados. Os dados são fatos que podem ser gravados e que possuem um significado implícito. Estes sistemas podem ser encontrados desde em pequenos computadores de mão (palm), computadores pessoais, até grandes mainframes ou clusters de computadores, sendo que quanto mais mobilidade existir menor é a quantidade de recursos fornecidos pelo sistema. Em máquinas com grande poder de processamento os sistemas costumam ser multi-usuário, onde mais de que um usuário pode acessar o banco de dados ao mesmo tempo, diferentemente do que ocorre em sistemas monousuário. Date (2007) caracteriza os dados de um banco de dados como integrados e compartilhados, pois é uma unificação de vários arquivos que podem ser acessados por mais de um usuário onde,

19 normalmente, cada usuário está interessado em apenas uma pequena parte das informações armazenadas. Segundo Elmasri e Navathe (2006), um banco de dados pode ser de qualquer tamanho e ter sua complexidade variável, podendo ser mantido manualmente ou automaticamente. Quando se está lendo sobre banco de dados é comum encontrar o termo Sistema Gerenciador de Banco de Dados, conhecido como SGBD. Trata-se de um conjunto de softwares (programas) responsáveis por manter o banco de dados em funcionamento. Segundo Date (2007), o SGBD é a peça mais importante de todo o sistema. De uma forma simples, ele está localizado entre o banco de dados físico (hardware), onde os dados estão realmente gravados, e o usuário que está utilizando o sistema. Para Elmasri e Navathe (2006) O SGBD é um sistema de software de propósito geral que facilita os processos de definição, construção, manipulação e compartilhamento de banco de dados entre vários usuários e aplicações. Atualmente os SGBD s utilizam o modelo de dados relacional que foi considerado como sendo o mais flexível e adequado para tratar os vários problemas que se colocam no nível de implementação da base de dados. A estrutura fundamental do modelo relacional é a relação (tabela), que é formada por várias linhas (conhecidas como registros) que por sua vez são compostas por um ou mais atributos que guardam o tipo de dados a ser armazenado. Um SGBD possui algumas funcionalidades importantes, como por exemplo: Controlar a concorrência entre usuários ou programas: isto ocorre pois a mesma informação não pode ser alterada por mais de um recurso ao mesmo tempo. Considerando como exemplo uma reserva de passagem de avião, no momento em que a atendente estiver realizando uma alteração na reserva do passageiro, o registro que possui as informações desta reserva é bloqueado pelo SGBD contra a ação de outros recursos (outros funcionários ou rotinas que são executadas no banco de dados). Apenas a pós o fim da tarefa da atendente é que o registro é liberado para outra operação. Segundo Mattoso (2005), o bloqueio pode ser lógico (através de linguagem de programação) ou físico (travando o registro ou a tabela). 7

20 Controlar as transações: por exemplo, em uma operação de reserva de vôo, no decorrer das alterações feitas pela atendente operações de inserção, deleção e alteração são executadas, porém serão percebidas ou visualizadas por outros recursos apenas após a confirmação (comando conhecido como commit) ou rejeição (comando conhecido como roolback) das ações. Controlar o acesso feito pelos usuários: é possível atribuir permissões para cada usuário separadamente ou para grupos informando quais tabelas cada um tem acesso e quais operações (alteração, inserção, deleção, consulta) cada um pode realizar. Controle de integridade nos dados: por exemplo, em uma operação de reserva de vôo, o SGBD deve validar o que a atendente está informando como cidade destino, sendo que, a tabela de reservas pode aceitar apenas cidades que já foram cadastradas em outra tabela no banco de dados. Por exemplo, a Figura 1 apresenta a tabela CURSO, com quatro registros, sendo que cada registro é composto pelos campos NOME, NÚMERO, CRÉDITOS e DEPARTAMENTO. Figura 1. Exemplo de banco de dados relacional Um ponto interessante no modelo ER é que não há caminhos pré-definidos para se fazer acesso aos dados. Por exemplo, é possível ligar a tabela CURSO (campo Número ) com a tabela 8

21 SECAO (campo Curso ). Da mesma forma pode-se ligar a tabela CURSO (campo Número ) com a tabela PRE-REQUISITO (campo Número ) para saber qual curso precisa ser feito primeiro. Contudo, para a utilização de tal funcionalidade, precisa-se tomar cuidado de alguns fatores como, por exemplo, a repetição de informação e a incapacidade de representar parte da informação e perda de informação Linguagem SQL A SQL (Structured Query Language), conhecido também como Linguagem de Consulta Estruturada, é uma linguagem padrão de pesquisa criada para se comunicar com bancos de dados. Segundo Battisti (2006), esta linguagem foi desenvolvida para ser independente de hardware e software. Para Battisti (2006): Ao usar o SQL, não é necessário saber a respeito do software de banco de dados ou do hardware envolvido em uma operação. Tudo o que você precisa conhecer são os comandos/instruções SQL padrão para solicitar informações, que obrigatoriamente é o mesmo em todos os sistemas que utilizam o SQL. Battisti (2006) comenta que as instruções SQL são conduzidas com um único comando que contém uma descrição completa da informação exigida. Explica também que o maior benefício do método SQL é não haver a necessidade de se preocupar em como os dados são recuperados, mas somente com o conteúdo do conjunto de dados. Segundo Leme (2006), os comandos SQL são divididos conforme abaixo: Data Definition Language (DDL), Linguagem de Definição de Dados: Permite ao usuário criar/apagar tabelas, índices e visões. Os principais comandos são create, drop e alter. Data Manipulation Language (DML), Linguagem de Manipulação de Dados: Permite ao usuário inserir, alterar, apagar ou selecionar registros (dados) em uma tabela. Os principais comandos são insert, update, delete e select. Data Control Language (DCL), Linguagem de Controle de Dados: Controla as permissões de acesso dos usuários do banco de dados para ver ou manipular informações. Os principais comandos são grant e revoke. 9

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

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Ementa Introdução a Banco de Dados (Conceito, propriedades), Arquivos de dados x Bancos de dados, Profissionais de Banco de dados,

Leia mais

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

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

Leia mais

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

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II BANCO DE DADOS II AULA 3 Linguagem SQL Linguagem de manipulação de dados (DML) DISCIPLINA: Banco de

Leia mais

Tarefa Orientada 16 Vistas

Tarefa Orientada 16 Vistas Tarefa Orientada 16 Vistas Objectivos: Vistas só de leitura Vistas de manipulação de dados Uma vista consiste numa instrução de SELECT que é armazenada como um objecto na base de dados. Deste modo, um

Leia mais

Linguagem de Consulta Estruturada SQL- DML

Linguagem de Consulta Estruturada SQL- DML Linguagem de Consulta Estruturada SQL- DML INTRODUÇÃO A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

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

Structured Query Language (SQL)

Structured Query Language (SQL) SQL Histórico Structured Query Language (SQL) Foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation Language) para suas primeiras tentativas

Leia mais

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados: MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA RESUMO DE AULA CRIAÇÃO E MANIPULAÇÃO DO BANCO DE DADOS

Leia mais

INTRODUÇÃO. Diferente de Bando de Dados

INTRODUÇÃO. Diferente de Bando de Dados INTRODUÇÃO Diferente de Bando de Dados 1 INTRODUÇÃO DADOS São fatos conhecidos que podem ser registrados e que possuem significado. Ex: venda de gasolina gera alguns dados: data da compra, preço, qtd.

Leia mais

Processo de Controle das Reposições da loja

Processo de Controle das Reposições da loja Processo de Controle das Reposições da loja Getway 2015 Processo de Reposição de Mercadorias Manual Processo de Reposição de Mercadorias. O processo de reposição de mercadorias para o Profit foi definido

Leia mais

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1

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 rdnf@cin.ufpe.br IF685

Leia mais

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

Leia mais

Introdução ao SQL Avançado

Introdução ao SQL Avançado Introdução ao SQL Avançado Introdução as consultas, manipulação e a filtragem de dados com a linguagem SQL Prof. MSc. Hugo Vieira L. Souza Este documento está sujeito a copyright. Todos os direitos estão

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

Conceitos de Banco de Dados

Conceitos de Banco de Dados Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir

Leia mais

Introdução a Banco de Dados

Introdução a Banco de Dados Introdução a Banco de Dados Ricardo Henrique Tassi - Departamento de Replicação Índice 1- Introdução... 03 2- Quais são os bancos de dados mais conhecidos hoje em dia...04 3- Quais são os tipos de banco...05

Leia mais

Principais Comandos SQL Usados no MySql

Principais Comandos SQL Usados no MySql Principais Comandos SQL Usados no MySql O que é um SGBD? Um Sistema Gerenciador de Banco de Dados (como no Brasil) ou Sistema Gestor de Base de Dados (SGBD) é o conjunto de programas de computador (softwares)

Leia mais

Lição 1 - Criação de campos calculados em consultas

Lição 1 - Criação de campos calculados em consultas 1 de 5 21-08-2011 22:15 Lição 1 - Criação de campos calculados em consultas Adição de Colunas com Valores Calculados: Vamos, inicialmente, relembrar, rapidamente alguns conceitos básicos sobre Consultas

Leia mais

Orientação a Objetos

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

Leia mais

Persistência e Banco de Dados em Jogos Digitais

Persistência e Banco de Dados em Jogos Digitais Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem

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

Noções de. Microsoft SQL Server. Microsoft SQL Server

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

Leia mais

MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento. Toledo PR. Versão 2.0 - Atualização 26/01/2009 Depto de TI - FASUL Página 1

MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento. Toledo PR. Versão 2.0 - Atualização 26/01/2009 Depto de TI - FASUL Página 1 MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento Toledo PR Página 1 INDICE 1. O QUE É O SORE...3 2. COMO ACESSAR O SORE... 4 2.1. Obtendo um Usuário e Senha... 4 2.2. Acessando o SORE pelo

Leia mais

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

Manual SAGe Versão 1.2 (a partir da versão 12.08.01)

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

Leia mais

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd. Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos

Leia mais

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados. BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br INTRODUÇÃO Hoje é

Leia mais

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec SQL Curso Prático Celso Henrique Poderoso de Oliveira Novatec 1 Introdução Desde o início da utilização dos computadores, sabemos que um sistema é feito para aceitar entrada de dados, realizar processamentos

Leia mais

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1. Universidade Federal de Santa Maria Curso de Arquivologia Disciplina de Banco de Dados Aplicados à Arquivística Prof. Andre Zanki Cordenonsi Versao 1.0 Março de 2008 Tópicos Abordados Conceitos sobre Banco

Leia mais

Astra. Introdução e conceitos básicos do sistema

Astra. Introdução e conceitos básicos do sistema 2011 www.astralab.com.br Astra Introdução e conceitos básicos do sistema Este documento permite entender melhor como funciona o sistema Astra e algumas funções básicas de seus softwares. Equipe de Documentação

Leia mais

Comandos de Manipulação

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

Leia mais

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 2 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Revisão sobre Banco de Dados e SGBDs Aprender as principais

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II BANCO DE DADOS II AULA 1 Linguagem SQL Linguagem de definição de dados (DDL) DISCIPLINA: Banco de Dados

Leia mais

Guia Site Empresarial

Guia Site Empresarial Guia Site Empresarial Índice 1 - Fazer Fatura... 2 1.1 - Fazer uma nova fatura por valores de crédito... 2 1.2 - Fazer fatura alterando limites dos cartões... 6 1.3 - Fazer fatura repetindo última solicitação

Leia mais

MANUAL DE PROCEDIMENTOS PARA CADASTRO DE PEDIDO DE COMPRA

MANUAL DE PROCEDIMENTOS PARA CADASTRO DE PEDIDO DE COMPRA MANUAL DE PROCEDIMENTOS PARA CADASTRO DE PEDIDO DE COMPRA PEDIDO DE COMPRAS Este manual tem como objetivo apresentar os passos necessários para inserir um pedido de compras no ERP-FURB. Com a implantação

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 Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses

Leia mais

LINGUAGEM DE BANCO DE DADOS

LINGUAGEM DE BANCO DE DADOS LINGUAGEM DE BANCO DE DADOS Gabriela Trevisan Bacharel em Sistemas de Informação Universidade Federal do Rio Grande Pós-Graduanda Formação Pedagógica de Professores (FAQI) Conceito de BD Um banco de dados

Leia mais

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 11-1. INTRODUÇÃO TRIGGERS (GATILHOS OU AUTOMATISMOS) Desenvolver uma aplicação para gerenciar os dados significa criar uma aplicação que faça o controle sobre todo ambiente desde a interface, passando

Leia mais

SISTEMA GERENCIADOR DE BANCO DE DADOS

SISTEMA GERENCIADOR DE BANCO DE DADOS BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br SISTEMA GERENCIADOR

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

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

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 1 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Apresenta a diferença entre dado e informação e a importância

Leia mais

Anexo III Funcionamento detalhado do Sistema Montador de Autoria

Anexo III Funcionamento detalhado do Sistema Montador de Autoria 1 Sumário Anexo III Funcionamento detalhado do Sistema Montador de Autoria Anexo III Funcionamento detalhado do Sistema Montador de Autoria... 1 1 Sumário... 1 2 Lista de Figuras... 5 3 A Janela principal...

Leia mais

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de

Leia mais

Busca. Pesquisa sequencial

Busca. Pesquisa sequencial Busca Banco de dados existem para que, de tempos em tempos, um usuário possa localizar o dado de um registro, simplesmente digitando sua chave. Uma tabela ou um arquivo é um grupo de elementos, cada um

Leia mais

Como funciona? SUMÁRIO

Como funciona? SUMÁRIO SUMÁRIO 1. Introdução... 2 2. Benefícios e Vantagens... 2 3. Como utilizar?... 2 3.1. Criar Chave / Senha de Usuário... 2 3.2. Recursos da Barra Superior... 2 3.2.1. Opções... 3 3.2.1.1. Mover Para...

Leia mais

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Prof. MSc. Hugo Souza Iniciando nossas aulas sobre

Leia mais

Disciplina de Banco de Dados Introdução

Disciplina de Banco de Dados Introdução Disciplina de Banco de Dados Introdução Prof. Elisa Maria Pivetta CAFW - UFSM Banco de Dados: Conceitos A empresa JJ. Gomes tem uma lista com mais ou menos 4.000 nomes de clientes bem como seus dados pessoais.

Leia mais

4.6. SQL - Structured Query Language

4.6. SQL - Structured Query Language 4.6. SQL - Structured Query Language SQL é um conjunto de declarações que é utilizado para acessar os dados utilizando gerenciadores de banco de dados. Nem todos os gerenciadores utilizam SQL. SQL não

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

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1 DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1 1 Sumário 1 - Instalação Normal do Despachante Express... 3 2 - Instalação do Despachante Express em Rede... 5 3 - Registrando o Despachante Express...

Leia mais

Questão - 01. Essência do Excel 2003...

Questão - 01. Essência do Excel 2003... Valdir Questão - 01 Como deve proceder o usuário do Microsoft para que sejam atualizados os cálculos das funções ou fórmulas utilizadas nas planilhas? a) Pressionar a tecla F9 no teclado b) Pressionar

Leia mais

Revisão: Introdução. - Integração com o AutoManager; 1 Atualização de versão do banco de dados PostgreSQL

Revisão: Introdução. - Integração com o AutoManager; 1 Atualização de versão do banco de dados PostgreSQL Urano Indústria de Balanças e Equipamentos Eletrônicos Ltda. Rua Irmão Pedro 709 Vila Rosa Canoas RS Fone: (51) 3462.8700 Fax: (51) 3477.4441 Características do Software Urano Integra 2.2 Data: 12/05/2014

Leia mais

Programa EndNote. Download para teste no site: http://www.endnote.com/endemo.asp. (Atualmente o EndNote está na versão 5x)

Programa EndNote. Download para teste no site: http://www.endnote.com/endemo.asp. (Atualmente o EndNote está na versão 5x) Programa EndNote 1. Informações O EndNote é um gerenciador de referências bibliográficas desenvolvido pela Thomson Reuters. O software permite armazenar e organizar as referências encontradas nas buscas

Leia mais

O Gerenciamento de Documentos Analógico/Digital

O Gerenciamento de Documentos Analógico/Digital Tipos de GED: Document imaging Document management Document Imaging / Document Management O Gerenciamento de Documentos Analógico/Digital Mundo analógico Criação Revisão Processamento Arquivo Mundo digital

Leia mais

Sistema de Gestão de Freqüência. Manual do Usuário

Sistema de Gestão de Freqüência. Manual do Usuário Serviço Público Federal Universidade Federal da Bahia Centro de Processamento de Dados Divisão de Projetos / SGF Sistema de Gestão de Freqüência Sistema de Gestão de Freqüência Manual do Usuário Descrição

Leia mais

Manual do Sistema "Vida Controle de Contatos" Editorial Brazil Informatica

Manual do Sistema Vida Controle de Contatos Editorial Brazil Informatica Manual do Sistema "Vida Controle de Contatos" Editorial Brazil Informatica I Vida Controle de Contatos Conteúdo Part I Introdução 2 1 Vida Controle... de Contatos Pessoais 2 Part II Configuração 2 1 Configuração...

Leia mais

Treinamento sobre SQL

Treinamento sobre SQL Treinamento sobre SQL Como Usar o SQL Os dois programas que você mais utilizara no SQL Server são: Enterprise Manager e Query Analyzer. No Enterprise Manager, você pode visualizar e fazer alterações na

Leia mais

Operações de Caixa. Versão 2.0. Manual destinado à implantadores, técnicos do suporte e usuários finais

Operações de Caixa. Versão 2.0. Manual destinado à implantadores, técnicos do suporte e usuários finais Operações de Caixa Versão 2.0 Manual destinado à implantadores, técnicos do suporte e usuários finais Sumário Introdução... 3 Suprimento... 3 Sangria... 4 Abertura de Caixa... 6 Fechamento de Caixa...

Leia mais

Disciplina: Unidade III: Prof.: E-mail: Período:

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: pro@mariofilho.com.br Período: 5º. SIG - ADM Relembrando... Necessidade de Dados Projeto

Leia mais

Manual de Publicaça o no Blog da Aça o TRIBOS nas Trilhas da Cidadania

Manual de Publicaça o no Blog da Aça o TRIBOS nas Trilhas da Cidadania Manual de Publicaça o no Blog da Aça o TRIBOS nas Trilhas da Cidadania Sumário Objetivos do Blog... 2 Log-in... 3 Esqueci minha senha... 4 Utilizando o Blog... 5 Encontrando seu Blog... 5 Conhecendo o

Leia mais

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

Leia mais

Manual do Visualizador NF e KEY BEST

Manual do Visualizador NF e KEY BEST Manual do Visualizador NF e KEY BEST Versão 1.0 Maio/2011 INDICE SOBRE O VISUALIZADOR...................................................... 02 RISCOS POSSÍVEIS PARA O EMITENTE DA NOTA FISCAL ELETRÔNICA.................

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados LINGUAGEM SQL Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL, é uma linguagem de pesquisa declarativa para banco de dados relacional (base de dados relacional). Muitas das características

Leia mais

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011 Banco de Dados Aula 1 - Prof. Bruno Moreno 16/08/2011 Roteiro Apresentação do professor e disciplina Definição de Banco de Dados Sistema de BD vs Tradicional Principais características de BD Natureza autodescritiva

Leia mais

MANUAL TISS Versão 3.02.00

MANUAL TISS Versão 3.02.00 MANUAL TISS Versão 3.02.00 1 INTRODUÇÃO Esse manual tem como objetivo oferecer todas as informações na nova ferramenta SAP que será utilizada pelo prestador Mediplan, a mesma será responsável para atender

Leia mais

BANCO DE DADOS. Fixação dos conteúdos Integridade Referencial Normalização Exercícios

BANCO DE DADOS. Fixação dos conteúdos Integridade Referencial Normalização Exercícios BANCO DE DADOS Fixação dos conteúdos Integridade Referencial Normalização Exercícios BANCO DE DADOS X SGBD Banco de Dados: Um "banco de dados" pode ser definido como um conjunto de "dados" devidamente

Leia mais

Banco de Dados I Introdução

Banco de Dados I Introdução Banco de Dados I Introdução Prof. Moser Fagundes Curso Técnico em Informática (Modalidade Integrada) IFSul Campus Charqueadas Sumário da aula Avaliações Visão geral da disciplina Introdução Histórico Porque

Leia mais

Banco de Dados. Marcio de Carvalho Victorino www.dominandoti.eng.br. Exercícios SQL

Banco de Dados. Marcio de Carvalho Victorino www.dominandoti.eng.br. Exercícios SQL Banco de Dados Exercícios SQL 1 TRF (ESAF 2006) 32. Analise as seguintes afirmações relacionadas a Bancos de Dados e à linguagem SQL: I. A cláusula GROUP BY do comando SELECT é utilizada para dividir colunas

Leia mais

Backup. Permitir a recuperação de sistemas de arquivo inteiros de uma só vez. Backup é somente uma cópia idêntica de todos os dados do computador?

Backup. Permitir a recuperação de sistemas de arquivo inteiros de uma só vez. Backup é somente uma cópia idêntica de todos os dados do computador? Backup O backup tem dois objetivos principais: Permitir a recuperação de arquivos individuais é a base do típico pedido de recuperação de arquivo: Um usuário apaga acidentalmente um arquivo e pede que

Leia mais

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados 1. Conceitos Básicos No contexto de sistemas de banco de dados as palavras dado e informação possuem o mesmo significado, representando uma

Leia mais

Análise de Ponto de Função

Análise de Ponto de Função Complemento para o Curso Análise de Ponto de Função FUNÇÕES DO TIPO DADO O termo Arquivo não significa um arquivo do sistema operacional, como é comum na área de processamento de dados. Se refere a um

Leia mais

Registro e Acompanhamento de Chamados

Registro e Acompanhamento de Chamados Registro e Acompanhamento de Chamados Contatos da Central de Serviços de TI do TJPE Por telefone: (81) 2123-9500 Pela intranet: no link Central de Serviços de TI Web (www.tjpe.jus.br/intranet) APRESENTAÇÃO

Leia mais

Faça um Site PHP 5.2 com MySQL 5.0 Comércio Eletrônico

Faça um Site PHP 5.2 com MySQL 5.0 Comércio Eletrônico Editora Carlos A. J. Oliviero Faça um Site PHP 5.2 com MySQL 5.0 Comércio Eletrônico Orientado por Projeto 1a Edição 2 Reimpressão São Paulo 2011 Érica Ltda. Noções Livrarse Preparação muitas muita Sumário

Leia mais

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com.

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com. Sistemas da Informação Banco de Dados I Edson Thizon (edson@esucri.com.br) 2008 Apresentação (mini-currículo) Formação Acadêmica Mestrando em Ciência da Computação (UFSC/ ) Créditos Concluídos. Bacharel

Leia mais

Material de Apoio. SEB - Contas a Pagar. Versão Data Responsável Contato 1 05/12/2011 Paula Fidalgo paulaf@systemsadvisers.com

Material de Apoio. SEB - Contas a Pagar. Versão Data Responsável Contato 1 05/12/2011 Paula Fidalgo paulaf@systemsadvisers.com Material de Apoio SEB - Contas a Pagar Versão Data Responsável Contato 1 05/12/2011 Paula Fidalgo paulaf@systemsadvisers.com Conteúdo CONFIGURAÇÃO... 3 Cadastro de Fornecedores... 3 Métodos de Pagamento...

Leia mais

Introdução Banco de Dados

Introdução Banco de Dados Introdução Banco de Dados Vitor Valerio de Souza Campos Adaptado de Vania Bogorny Por que estudar BD? Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária reserva de hotel matrícula em

Leia mais

Este documento tem o objetivo de esclarecer alguns procedimentos e definir parâmetros para facilitar o processo.

Este documento tem o objetivo de esclarecer alguns procedimentos e definir parâmetros para facilitar o processo. Prezado Curador, Em dezembro de 2010 o INCT-HVFF (INCT-Herbário Virtual da Flora e dos Fungos) teve um projeto aprovado junto ao CNPq, no âmbito do programa Reflora, cujo objetivo é aumentar a base informacional

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

15/03/2010. Análise por pontos de função. Análise por Pontos de Função. Componentes dos Pontos de Função. Componentes dos Pontos de Função

15/03/2010. Análise por pontos de função. Análise por Pontos de Função. Componentes dos Pontos de Função. Componentes dos Pontos de Função Análise por pontos de função Análise por Pontos de Função Referência: Manual de práticas de contagem IFPUG Versão 4.2.1 Técnica que permite medir a funcionalidade de um software ou aplicativo, sob a visão

Leia mais

ÍNDICE 1 INTRODUÇÃO. 04 2 ACESSO AOS SISTEMAS. 05 3 DOCUMENTOS MANUTENÇÃO. 08 08 3.2 10 3.3 OCR. 11 4 REGISTRO DE DOCUMENTOS. 13 5 GERANDO DOCUMENTOS

ÍNDICE 1 INTRODUÇÃO. 04 2 ACESSO AOS SISTEMAS. 05 3 DOCUMENTOS MANUTENÇÃO. 08 08 3.2 10 3.3 OCR. 11 4 REGISTRO DE DOCUMENTOS. 13 5 GERANDO DOCUMENTOS ÍNDICE 1 INTRODUÇÃO... 04 2 ACESSO AOS SISTEMAS... 05 3 DOCUMENTOS MANUTENÇÃO... 08 3.1Tipos de Documentos... 08 3.2 Relações entre Documentos... 10 3.3 OCR... 11 4 REGISTRO DE DOCUMENTOS... 13 5 GERANDO

Leia mais

IMPLEMENTAÇÃO DAS CAMADAS Inference Machine e Message Service Element PARA UM SERVIDOR DE SISTEMA DE GERENCIAMENTO DE Workflow HOSPITALAR

IMPLEMENTAÇÃO DAS CAMADAS Inference Machine e Message Service Element PARA UM SERVIDOR DE SISTEMA DE GERENCIAMENTO DE Workflow HOSPITALAR IMPLEMENTAÇÃO DAS CAMADAS Inference Machine e Message Service Element PARA UM SERVIDOR DE SISTEMA DE GERENCIAMENTO DE Workflow HOSPITALAR Jeferson J. S. Boesing 1 ; Manassés Ribeiro 2 1.Aluno do Curso

Leia mais

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador> FACULDADE DE ENGENHARIA DE COMPUTAÇÃO PROJETO FINAL I e II PLANO DE TRABALHO O Trabalho de Conclusão de Curso (TCC) a ser desenvolvido

Leia mais

Considerações a serem feitas antes da implantação.

Considerações a serem feitas antes da implantação. Multi-Loja Objetivo O objetivo deste documento é demonstrar o conceito de Multi-loja utilizando o Sismoura. É uma ferramenta que permite a comunicação entre as empresas, possibilitando assim que a matriz

Leia mais

Figura 1: tela inicial do BlueControl COMO COLOCAR A SALA DE INFORMÁTICA EM FUNCIONAMENTO?

Figura 1: tela inicial do BlueControl COMO COLOCAR A SALA DE INFORMÁTICA EM FUNCIONAMENTO? Índice BlueControl... 3 1 - Efetuando o logon no Windows... 4 2 - Efetuando o login no BlueControl... 5 3 - A grade de horários... 9 3.1 - Trabalhando com o calendário... 9 3.2 - Cancelando uma atividade

Leia mais

SUMÁRIO Acesso ao sistema... 2 Atendente... 3

SUMÁRIO Acesso ao sistema... 2 Atendente... 3 SUMÁRIO Acesso ao sistema... 2 1. Login no sistema... 2 Atendente... 3 1. Abrindo uma nova Solicitação... 3 1. Consultando Solicitações... 5 2. Fazendo uma Consulta Avançada... 6 3. Alterando dados da

Leia mais

02 - Usando o SiteMaster - Informações importantes

02 - Usando o SiteMaster - Informações importantes 01 - Apresentação do SiteMaster - News Edition O SiteMaster foi desenvolvido para ser um sistema simples de gerenciamento de notícias, instalado em seu próprio computador e com configuração simplificada,

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

Aplicação Prática de Lua para Web

Aplicação Prática de Lua para Web Aplicação Prática de Lua para Web Aluno: Diego Malone Orientador: Sérgio Lifschitz Introdução A linguagem Lua vem sendo desenvolvida desde 1993 por pesquisadores do Departamento de Informática da PUC-Rio

Leia mais

LINGUAGEM SQL PARA CONSULTAS EM MICROSOFT ACCESS

LINGUAGEM SQL PARA CONSULTAS EM MICROSOFT ACCESS LINGUAGEM SQL PARA CSULTAS EM MICROSOFT ACCESS Objetivos: Neste tutorial serão apresentados os principais elementos da linguagem SQL (Structured Query Language). Serão apresentados diversos exemplos práticos

Leia mais

Integridade dos Dados

Integridade dos Dados 1 Integridade dos Dados Integridade dos Dados Melissa Lemos melissa@inf.puc-rio.br A integridade dos dados é feita através de restrições, que são condições obrigatórias impostas pelo modelo. Restrições

Leia mais

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha

Leia mais