Banco de dados: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
Aspargos (discussão | contribs)
m Desfeita(s) uma ou mais edições de Ghgfhgfgg, com Reversão e avisos
m
Linha 1:
{{mais-notas|data=outubro de 2011}}
{{corrigir|data=abril de 2015}}
[[Image:Postgres Query.jpg|thumb|An example of output from an SQL database query.]]
{{PBPE|Bancos de dados|bases de dados}} <ref>{{citar livro|nome = LAUDON, K.C.; LAUDON, J.P.|sobrenome = |título = Sistemas de Informação Gerenciais|ano = 2011|isbn = |nome2 = LAUDON, J.P.|local = São Paulo|editora = Pearson Prentice Hall|página = 114}}</ref> são um conjunto de arquivos relacionados entre si com registros sobre pessoas, lugares ou coisas. São coleções organizadas de dados que se relacionam de forma a criar algum sentido (Informação) e dar mais eficiência durante uma pesquisa ou estudo.<ref name="ref 1"/><ref name="ref 2">{{citar web|url=http://mtc-m12.sid.inpe.br/col/sid.inpe.br/iris@1912/2005/07.01.19.10/doc/Pr%E9-Texto.pdf|data=Maio de 2005|acessodata=23 de outubro de 2011|publicado=[[Instituto Nacional de Pesquisas Espaciais]]|formato=PDF|título=Bancos de Dados Geográficos|páginas=3|citação=Há quase duas décadas, bancos de dados tornaram-se o componente central de sistemas de informação [...]. Esta evolução foi possível graças a uma sólida tecnologia desenvolvida para armazenamento e manipulação de dados convencionais, notadamenteem especial os chamados sistemas de gerência de bancos de dados objeto-relacionais (SGBD-OR). O projeto e operação de sistemas de informação geográfica vem seguindo o mesmo rumo, adotando bancos de dados geográficos (BDGs) como ponto central da arquitetura.}}</ref><ref name="p5">{{citar web |url=http://www.dct.ufms.br/~edson/bd1/bd1.pdf |título=Bancos de Dados - Conceitos Básicos |acessodata=23 de outubro de 2011 |formato=PDF |publicado=[[Universidade Federal do Mato Grosso do Sul]] |páginas=1 |citação=Banco de Dados:É uma coleção de dados logicamente coerente que possui um significado implícito cuja interpretação e dada por uma determinada aplicação; representa abstratamente uma parte do mundo real, conhecida como Mini-Mundo ..., que é de interesse de uma certa aplicação}}</ref> São de vital importância para empresas e há duas décadas se tornaram a principal peça dos sistemas de informação.Normalmente existem por vários anos sem alterações em sua estrutura.<ref name="ref 3"/><ref name="p6">{{citar web |url=http://www.cic.unb.br/~fernando/matdidatico/apostilas/resumo/bdadossp.pdf |título=Banco de Dados |acessodata=23 de outubro de 2011 |formato=PDF |publicado=[[Universidade de Brasília]] |páginas=3 |citação=O que é um banco de dados: coleção de informações que existe por um longo período de tempo e que é gerenciada por um SGBD.}}</ref>
 
São operados pelos [[Sistema de gerenciamento de banco de dados|Sistemas Gerenciadores de Bancos de Dados]] ('''SGBD'''), que surgiram na década de 70.<ref name="ref 5"/><ref name="p3"/> Antes destes, as aplicações usavam sistemas de arquivos do sistema operacional para armazenar suas informações.<ref name="p1">{{citar web |url=http://www.cos.ufrj.br/~marta/BdRel.pdf |título=Introdução a Banco de Dados |acessodata=23 de outubro de 2011 |formato=PDF |publicado=[[Universidade Federal do Rio de Janeiro]] |páginas=9 |citação=Antes de SGBDs as aplicações utilizavam sistemas de arquivos do Sistema Operacional. Através de arquivos, as aplicações armazenavam seus dados através das interações com a aplicação.}}</ref><ref name="p3"/> Na década de 80, a tecnologia de SGBD relacional passou a dominar o mercado, e atualmente utiliza-se praticamente apenas ela.<ref name="ref 5">{{citar web |url=http://www.julianoribeiro.com.br/troca/banco_de_dados/material_der.pdf |título=Projeto de Banco de Dados |acessodata=23 de outubro de 2011 |data=1998 |formato=PDF |obra=[[Universidade Federal do Rio Grande do Sul]] |publicado=Juliano Ribeiro |páginas=V |língua= |língua2= |língua3= |lang= |citação=Sistemas de gerência de banco de dados (SGBD) surgiram no início da década de 70 com o objetivo de facilitar a programação de aplicações de banco de dados (BD). [...] Nessa mesma época, houve um investimento considerável de pesquisa na área de banco de dados. Esse investimento resultou em um tipo de SGBD, o SGBD relacional. A partir da década de 80 [...] este tipo de SGBD passou a dominar o mercado, tendo se convertido em padrão internacional. O desenvolvimento de sistemas de informação ocorre hoje quase que exclusivamente sobre banco de dados, com uso de SGBD relacional.}}</ref><ref name="p3">{{citar web |url=http://www.ime.usp.br/~jef/apostila.pdf |título=INTRODUÇÃO A BANCO DE DADOS |acessodata=23 de outubro de 2011 |data=Fevereiro de 2005 |formato=PDF |publicado=[[Universidade de São Paulo]] |páginas=6;15 |citação=O primeiro [...] (SGBD) comercial surgiu no final de 1960 com base nos primitivos sistemas de arquivos disponíveis na época, os quais não controlavam o acesso concorrente por vários usuários ou processos. Os SGBDs evoluíram desses sistemas de arquivos de armazenamento em disco, criando novas estruturas de dados com o objetivo de armazenar informações. Com o tempo, os SGBD’s passaram a utilizar diferentes formas de representação, ou modelos de dados, para descrever a estrutura das informações contidas em seus bancos de dados. Atualmente, os seguintes modelos de dados são normalmente utilizados pelos SGBD’s: modelo hierárquico, modelo em redes, modelo relacional (amplamente usado) e o modelo orientado a objetos. [...] Um [...] (SGBD) é uma coleção de programas que permitem aos usuários criarem e manipularem uma base de dados. Um SGBD é, assim, um sistema de software de propósito geral que facilita o processo de definir, construir e manipular bases de dados de diversas aplicações.}}</ref> Outro tipo notável é o SGBD Orientado a Objetos, para quando sua estrutura ou as aplicações que o utilizam mudam constantemente.<ref name="ref 3">{{citar web |url=http://www.lume.ufrgs.br/handle/10183/26388 |título=Um modelo de evolução de esquemas conceituais para bancos de dados orientados a objetos com o emprego de versões |acessodata=23 de outubro de 2011 |data=Dezembro de 1998 |formato=PDF |publicado=[[Universidade Federal do Rio Grande do Sul]] |páginas=13;16 |citação=Sistemas de bancos de dados orientados a objetos têm sido desenvolvidos, principalmente, para modelos e aplicações altamente dinâmicas que manuseiam objetos estruturados: grandes e complexos, que apresentam, frequentemente, modificações tanto no seu valor quanto em sua estrutura. [...] Um banco de dados sobrevive, tipicamente, a décadas servindo programas de aplicação, entretanto, com o passar do tempo, alterações são requeridas a fim de refletir de forma completa e concisa a parte relevante do mundo real que está sendo modelada. [...] Bancos de dados orientados a objetos permitem ainda uma modelagem mais dinâmica e abrangente da realidade, sendo geralmente adotados para modelagem de estruturas complexas presentes em aplicações de bancos de dados não-convencionais.}}</ref>
 
A principal aplicação de Banco de Dados é controle de operações empresariais.<ref name="ref 6">{{citar web |url=http://www.lyfreitas.com/artigos_mba/artbancodedados.pdf |título=Visão geral de Segurança em Bancos de Dados |acessodata=23 de outubro de 2011 |formato=PDF |obra=[[Universidade Católica de Brasília]] |publicado=Ly-online |páginas=1 |citação=Com a grande utilização de sistemas baseados em tecnologia, os Bancos de Dados são hoje uma ferramenta vital paras as organizações.}}</ref><ref name="ref 4">{{citar web|url=http://www.dpi.inpe.br/geopro/modelagem/relatorio_data_mining.pdf|data=Novembro de 2001|acessodata=23 de outubro de 2011|publicado=[[Instituto Nacional de Pesquisas Espaciais]]|formato=PDF|título=Mineração de Dados em Grandes Bancos de Dados Geográficos|páginas=3|citação=Sistemas gerenciadores de banco de dados estão presentes na maioria das organizações públicas e empresas de médio e grande porte, contendo os mais diferentes dados sobre produtos, fornecedores, clientes, empregados, etc.}}</ref><ref name="p4">{{citar web |url=http://www.inf.ufsc.br/~frank/BDD/BDDIntro.pdf |título=Bancos de Dados Distribuídos |acessodata=23 de outubro de 2011 |formato=PDF |publicado=[[Universidade Federal de Santa Catarina]] |páginas=4 |citação=Bancos de Dados: [...] usados pela imensa maioria das empresas; exercem papel vital na operação da empresa.}}</ref> Outra aplicação também importante é gerenciamento de informações de estudos, como fazem os Bancos de Dados Geográficos, que unem informações convencionais com espaciais.<ref name="ref 1">{{citar web |url=http://www.zee.mg.gov.br/zee_externo/pdf/componentes_geofisico_biotico/2banco_de_dados.pdf |título=BANCO DE DADOS |acessodata=23 de outubro de 2011 |formato=PDF |publicado=[[Zoneamento Ecológico Econômico do Estado de Minas Gerais]] |páginas=1 |citação=Um Banco de Dados é uma coleção logicamente coerente de dados com um determinado significado inerente. Os bancos de dados geográficos surgiram devido a uma grande necessidade de integração entre os dados convencionais e os dados espaciais. [...] Dados geográficos são dados como mapas, imagens de satélite, pontos, linhas, áreas, além de dados alfanuméricos que lhes são associados.}}</ref>
 
== Modelos de base de dados ==
Linha 15 ⟶ 16:
* [[Banco de dados relacional|Bases de dados relacionais]] consistem, principalmente de três componentes: uma coleção de estruturas de dados, nomeadamente relações, ou informalmente tabelas; uma coleção dos operadores, a álgebra e o cálculo relacionais; e uma coleção de restrições da integridade, definindo o conjunto consistente de estados de base de dados e de alterações de estados. As restrições de integridade podem ser de quatro tipos: domínio (também conhecidas como type), atributo, relvar (variável relacional) e restrições de base de dados.
 
Assim bem diferente dos modelos hierárquico e de rede, não existem quaisquer apontadores, de acordo com o [[Princípio da Informação]]: toda a [[informação]] deve ser representada como [[dados]]; qualquer tipo de atributo representa relações entre conjuntos de dados. As bases de dados relacionais permitem aos utilizadores (incluindo programadores) escreverem consultas (''queries'') que não foram antecipadas por quem projetou a base de dados. Como resultado, bases de dados relacionais podem ser utilizadas por várias aplicações em formas que os projetistas originais não previram, o que é especialmente importante em bases de dados que podem ser utilizadas durante décadas. Isto tem tornado as bases de dados relacionais muito populares no meio empresarial.
 
O [[modelo relacional]] é uma teoria matemática desenvolvida por [[Edgar Frank Codd]] para descrever como as bases de dados devem funcionar. Embora esta teoria seja a base para o software de bases de dados relacionais, poucos sistemas de gestão de bases de dados seguem o modelo de forma restrita ou a pé da letra - lembre-se das [[12 regras de Codd|12 leis do modelo relacional]] - e todos têm funcionalidades que violam a teoria, desta forma variando a complexidade e o poder. A discussão se esses bancos de dados merecem ser chamados de relacional ficou esgotada com o tempo, com a evolução dos bancos existentes. Os bancos de dados hoje implementam o modelo definido como objeto-relacional. Os primeiros sistemas comerciais baseados no MR foram disponibilizados em 1980 e desde então ele vem sendo implementado em muitos sistemas, tais como Access,Oracle, MySql, entre outros.<ref>{{Citar web|título = Bancos de Dados Relacionais|URL = http://www.fatecsp.br/dti/tcc/tcc0025|obra = www.fatecsp.br|acessadoem = 2015-06-29}}</ref>
Linha 23 ⟶ 24:
 
== Transação ==
ÉUma transação é um conjunto de procedimentos, executados num banco de dados, que o usuário percebe como uma única ação.
 
A integridade de uma transação depende de 4quatro propriedades, conhecidas como [[ACID]].:
 
* [[Atomicidade]]
Linha 41 ⟶ 42:
Uma transação é uma unidade que preserva consistência. Requeremos, portanto, que qualquer escalonamento produzido ao se processar um conjunto de transações concorrentemente seja computacionalmente equivalente a um escalonamento produzido executando essas transações serialmente em alguma ordem. Diz-se que um sistema que garante esta propriedade assegura a [[seriabilidade]] ou também [[serialização]]<ref name="elmasri" />.
 
== Bloqueio (Lockinglocking) ==
Em vez de bloquear um banco de dados inteiro uma transação pode bloquear apenas os itens de dados que ela acessa. Sobre tal política, a transação precisa manter bloqueios por tempo suficiente para garantir a serializabilidade, mas por um período curto o suficiente para não prejudicar o desempenho excessivamente.<ref>{{citar livro|título=Sistemas de Banco de Dados tradução da 6° edição|ultimo=Silberschatz|primeiro=Abraham|editora=Campus|ano=2012|local=|páginas=|acessodata=}}</ref>
 
Linha 52 ⟶ 53:
 
== Recuperação de bancos de dados ==
Existem alguns mecanismos capazes de permitir a recuperação de um banco de dados de alguma inconsistência causada por falhas internas (erros de consistência, como recuperação de um estado anterior àa uma transação que deu erro) e externas (queda de energia, catástrofe ambiental).<ref name="elmasri">Ramez Elmasri e Shamkant B. Navathe, Sistemas de Banco de Dados, 6.ed., São Paulo: Pearson Addison Wesley, 2011.</ref>.
 
Os mecanismos mais comuns são o [[Log de dados]], no qual é usado em conjunto dos outros métodos; utilização de [[Buffer]] no qual, apesar de normalmente ser feito pelo próprio sistema operacional, é controle por rotinas de baixo nível pelo [[Sistema de gerenciamento de banco de dados]]. Possui também o as possibilidades de [[:en:Write-ahead logging]] e informações das transações possibilitando o ''REDO'' (refazer) e o ''UNDO'' (desfazer), assim sempre possibilitando a volta do banco de dados àa um estado anterior consistente, além de cópias de sombra dos logs e dos últimos dados alterados do banco de dados.
 
== Funções internas comuns em BDs ==