Banco de dados: diferenças entre revisões
Conteúdo apagado Conteúdo adicionado
m Foram revertidas as edições de 2001:8A0:6A62:7E00:49ED:7FD7:1CE:288D para a última revisão de Marcos Elias de Oliveira Júnior, de 19h42min de 22 de novembro de 2018 (UTC) Etiqueta: Reversão |
Correções ortográficas e gramaticais, likagemd e páginas relacionadas |
||
Linha 2:
{{corrigir|data=abril de 2015}}
[[Ficheiro:Postgres Query.jpg|thumb|Exemplo de output de uma interrogação SQL a uma base de dados.]]
{{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
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>
Linha 12:
Existem vários Modelos de Base de Dados: [[Modelo Plano]], [[Modelo em rede|Modelo em Rede]], [[Modelo hierárquico|Modelo Hierárquico]], [[Modelo relacional|Modelo Relacional]], [[Banco de dados orientado a objetos|Orientado a objetos]], e [[Banco de dados objeto-relacional|Objeto-Relacional]].
* O [[modelo plano]] (ou tabular) consiste de matrizes simples, bidimensionais, compostas por elementos de dados: inteiros, números reais, etc. Este modelo plano é a base das [[planilha eletrônica|planilhas eletrônicas]];
* O [[modelo em rede]] permite que várias tabelas sejam usadas simultaneamente
* O [[modelo hierárquico]] é uma variação particular do [[modelo em rede]], limita as relações a uma estrutura semelhante a de uma árvore (hierarquia - tronco, galhos), ao invés do modelo mais geral direcionado por [[teoria dos grafos|grafos]];
* [[Banco de dados relacional|Bases de dados relacionais]] consistem, principalmente de três componentes:
**Uma coleção de estruturas de dados, **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: de domínio (também conhecidas como type), de 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.▼
'''Bases de Dados Relacionais'''
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>▼
▲
▲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 [[Microsoft Access|Access]], [[Oracle (banco de dados)|Oracle]], [[MySQL|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>
== Aplicações de bancos de dados ==
Linha 33 ⟶ 39:
** Todas as regras e restrições definidas no banco de dados devem ser obedecidas. Relacionamentos por chaves estrangeiras, checagem de valores para campos restritos ou únicos devem ser obedecidos para que uma transação possa ser completada com sucesso.
* [[ACID#Isolamento|Isolamento]]
** Cada transação funciona completamente
* [[ACID#Durabilidade|Durabilidade]]
** Significa que os resultados de uma transação são permanentes e podem ser desfeitos somente por uma transação subsequente. Por exemplo: todos os dados e status relativos a uma transação devem ser armazenados num repositório permanente, não sendo passíveis de falha por uma falha de [[hardware]].
== Controle de Concorrência ==
Linha 46 ⟶ 52:
== Segurança em banco de dados ==
Os [[bancos de dados]] são utilizados para armazenar diversos tipos de [[informações]], desde [[dados]] sobre uma conta de [[e-mail]] até dados importantes da [[Receita Federal]]. A segurança do banco de dados herda as mesmas dificuldades que a segurança da informação enfrenta, que é garantir a integridade, a disponibilidade e a confidencialidade. Um
Uma forma comum de ataque à segurança do banco de dados é [[injeção de SQL]], em bancos de dados que façam uso desta linguagem, mas bancos de dados [[NoSQL]] também podem ser vítimas. Para evitar estes ataques, o desenvolvedor de aplicações deve garantir que nenhuma entrada possa alterar a estrutura da consulta enviada ao sistema.
Os bancos de dados SQL implementam mecanismos que restringem ou permitem acessos aos dados de acordo com
== 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 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 ==
Linha 70 ⟶ 76:
{{portal|Portal=[[Portal:Tecnologias de informação|Portal das tecnologias de informação]]}}
*
*[[CDDB]]
* [[Cliente-servidor]]
* [[Sistema de gerenciamento de banco de dados]]
|