Soluções        Serviços          Atendimento       Governo        Consultoria T.I      Treinamento

Software

Bancos de dados, ou bases de dados (em Portugal), são coleções de informações que se relacionam de forma que crie um sentido.[1][2][3] São de vital importância para empresas, e há duas décadas se tornaram a principal peça dos sistemas de informação.[4][2][5] Normalmente existem por vários anos sem alterações em sua estrutura.[6][7]

São operados pelos Sistemas Gerenciadores de Bancos de Dados (SGBD), que surgiram na década de 70.[8][9] Antes destes, as aplicações usavam sistemas de arquivos do sistema operacional para armazenar suas informações.[10][9] Na década de 80 a tecnologia de SGBD relacional passou a dominar o mercado, e atualmente utiliza-se praticamente apenas ele.[8][9] Outro tipo notável é o SGBD Orientado a Objetos, para quando sua estrutura ou as aplicações que o utilizam mudam constantemente.[6]

A principal aplicação de Banco de Dados é controle de operações empresariais.[4][5][11] 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.[1]

Índice

  • 1 Modelos de base de dados
  • 2 Aplicações de bancos de dados
    • 2.1 Aplicativo de Banco de Dados
  • 3 Transação
  • 4 Segurança em banco de dados
  • 5 Funções internas comuns em BDs
  • 6 Ver também
  • 7 Referências
  • 8 Ligações externas

Modelos de base de dados

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 planilhas eletrônicas.

O modelo em rede permite que várias tabelas sejam usadas simultaneamente através do uso de apontadores (ou referências). Algumas colunas contêm apontadores para outras tabelas ao invés de dados. Assim, as tabelas são ligadas por referências, o que pode ser visto como uma rede. Uma variação particular deste modelo em rede, o modelo hierárquico, limita as relações a uma estrutura semelhante a uma árvore (hierarquia - tronco, galhos), ao invés do modelo mais geral direcionado por grafos.

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.

Diferentemente dos modelos hierárquico e de rede, não existem quaisquer apontadores, de acordo com o Princípio de Informação: toda informação tem de 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 Edgard Frank Codd, matemático e pesquisador da IBM, para descrever como as bases de dados devem funcionar. Embora esta teoria seja a base para o software de bases de dados relacionais, muito poucos sistemas de gestão de bases de dados seguem o modelo de forma restrita ou a pé da letra - lembre-se das 13 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.

Aplicações de bancos de dados

Sistemas Gerenciadores de Bancos de dados são usados em muitas aplicações, enquanto atravessando virtualmente a gama inteira de software de computador. Os Sistemas Gerenciadores de Bancos de dados são o método preferido de armazenamento/recuperação de dados/informações para aplicações multi-usuárias grandes onde a coordenação entre muitos usuários é necessária. Até mesmo usuários individuais os acham conveniente, entretanto, muitos programas de correio eletrônico e organizadores pessoais estão baseados em tecnologia de banco de dados standard.

Aplicativo de Banco de Dados

Um Aplicativo de Banco de dados é um tipo de software exclusivo para gerenciar um banco de dados. Aplicativos de banco de dados abrangem uma vasta variedade de necessidades e objectivos, de pequenas ferramentas como uma agenda, até complexos sistemas empresariais para desempenhar tarefas como a contabilidade.

O termo "Aplicativo de Banco de dados" usualmente se refere a softwares que oferecem uma interface para o banco de dados. O software que gerencia os dados é geralmente chamado de sistema gerenciador de banco de dados (SGBD) ou (se for embarcado) de "database engine".

Exemplos de aplicativos de banco de dados são Microsoft Visual FoxPro, Microsoft Access, dBASE, FileMaker, (em certa medida) HyperCard, MySQL,Intpró, PostgreSQL, Firebird, Microsoft SQL Server, Oracle, Informix, DB2, Caché e Sybase.

Em Março, 2004, AMR Research (como citado em um artigo da CNET News.com listado na secção de "Referências") previu que aplicações de banco de dados de código aberto seriam amplamente aceitas em 2006.

Transação

É um conjunto de procedimentos que é executado num banco de dados, que para o usuário é visto como uma única ação.

A integridade de uma transação depende de 4 propriedades, conhecidas como ACID.

  • Atomicidade
    • Todas as ações que compõem a unidade de trabalho da transação devem ser concluídas com sucesso, para que seja efetivada. Qualquer ação que constitui falha na unidade de trabalho, a transação deve ser desfeita (rollback). Quando todas as ações são efetuadas com sucesso, a transação pode ser efetivada (commit).
  • Consistência
    • Nenhuma operação do banco de dados de uma transação pode ser parcial.O status de uma transação deve ser implementado na íntegra. Por exemplo, um pagamento de conta não pode ser efetivado se o processo que debita o valor da conta corrente do usuário não for efetivado antes, nem vice-versa.
  • Isolamento
    • Cada transação funciona completamente à parte de outras estações. Todas as operações são parte de uma transação única. O principio é que nenhuma outra transação, operando no mesmo sistema, pode interferir no funcionamento da transação corrente(é um mecanismo de controle). Outras transações não podem visualizar os resultados parciais das operações de uma transação em andamento.
  • Durabilidade
    • Significa que os resultados de uma transação são permanentes e podem ser desfeitos somente por uma transação subseqüente.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.

Na prática, alguns SGBDs relaxam na implementação destas propriedades buscando desempenho.

Controle de concorrência é um método usado para garantir que as transações sejam executadas de uma forma segura e sigam as regras ACID. Os SGBD devem ser capazes de assegurar que nenhuma ação de transações completadas com sucesso (committed transactions) seja perdida ao desfazer transações abortadas (rollback).

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 produzindo executando essas transações serialmente em alguma ordem. Diz-se que um sistema que garante esta propriedade assegura a seriabilidade.

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 Sistema gerenciador de banco de dados deve fornecer mecanismos que auxiliem nesta tarefa.

Uma forma comum de ataque à segurança do banco de dados, é a 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 papeis ou roles fornecidos pelo administrador. O comando GRANT concede privilégios específicos para um objeto (tabela, visão, seqüência, banco de dados, função, linguagem procedural, esquema ou espaço de tabelas) para um ou mais usuários ou grupos de usuários.[12]

Funções internas comuns em BDs

  • Tabelas
  • Regras
  • Procedimentos armazenados (mais conhecidos como stored procedures)
  • Gatilho
  • Default
  • Visão
  • Índice
  • Generalizadores

Ver também

Portal A Wikipédia possui o portal:
Portal das tecnologias de informação
  • CDDB
  • Cliente-servidor
  • Sistema de gerenciamento de banco de dados
  • Normalização
  • Banco de dados distribuídos
  • Arquitetura de dados
  • Banco de dados geográficos
  • Administração de dados
  • Banco de dados hierárquico
  • Banco de Dados Orientado a Objetos
  • Prevayler
  • Key field
  • OLAP
  • Modelo relacional
  • SQL (Structured Query Language)
  • Matriz CRUD
  • Engenharia de software
  • Lista de banco de dados

Referências

  1. a b BANCO DE DADOS (PDF) pp. 1. Zoneamento Ecológico Econômico do Estado de Minas Gerais. Página visitada em 23 de outubro de 2011. "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."
  2. a b Bancos de Dados Geográficos (PDF) pp. 3. Instituto Nacional de Pesquisas Espaciais (Maio de 2005). Página visitada em 23 de outubro de 2011. "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, notadamente 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."
  3. Bancos de Dados - Conceitos Básicos (PDF) pp. 1. Universidade Federal do Mato Grosso do Sul. Página visitada em 23 de outubro de 2011. "Banco de Dados: é uma coleção de dados logicamente coerente que possui um significado implícito cuja interpretação é 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"
  4. a b Visão geral de Segurança em Bancos de Dados (PDF). Universidade Católica de Brasília pp. 1. Ly-online. Página visitada em 23 de outubro de 2011. "Com a grande utilização de sistemas baseados em tecnologia, os Bancos de Dados são hoje uma ferramenta vital paras as organizações."
  5. a b Mineração de Dados em Grandes Bancos de Dados Geográficos (PDF) pp. 3. Instituto Nacional de Pesquisas Espaciais (Novembro de 2001). Página visitada em 23 de outubro de 2011. "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."
  6. a b Um modelo de evolução de esquemas conceituais para bancos de dados orientados a objetos com o emprego de versões (PDF) pp. 13;16. Universidade Federal do Rio Grande do Sul (Dezembro de 1998). Página visitada em 23 de outubro de 2011. "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, freqüentemente, 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."
  7. Banco de Dados (PDF) pp. 3. Universidade de Brasília. Página visitada em 23 de outubro de 2011. "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."
  8. a b Projeto de Banco de Dados (PDF). Universidade Federal do Rio Grande do Sul pp. V. Juliano Ribeiro (1998). Página visitada em 23 de outubro de 2011. "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."
  9. a b c INTRODUÇÃO A BANCO DE DADOS (PDF) pp. 6;15. Universidade de São Paulo (Fevereiro de 2005). Página visitada em 23 de outubro de 2011. "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."
  10. Introdução a Banco de Dados (PDF) pp. 9. Universidade Federal do Rio de Janeiro. Página visitada em 23 de outubro de 2011. "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."
  11. Bancos de Dados Distribuídos (PDF) pp. 4. Universidade Federal de Santa Catarina. Página visitada em 23 de outubro de 2011. "Bancos de Dados: [...] usados pela imensa maioria das empresas; exercem papel vital na operação da empresa."
  12. ↑ Cláusula Grant - Documentação PostgreSQl

Ligações externas

  • CNET News.com article, An
  • Forum sobre banco de dados Oracle - Português
  • Modelo Entrez de Database - em inglês
  • Acessando Banco de Dados em Java (PARTE 1)
  • Acessando Banco de Dados em Java (PARTE 2)
  • Acessando Banco de Dados em Java (PARTE 3)
  • Comparação entre banco de dados relacionais (em inglês), Wikipedia
Obtida de "http://pt.wikipedia.org/w/index.php?title=Banco_de_dados&oldid=27521342"

MAIS INFORMAÇÕES DO SETOR DE SOFTWARE

Parque Tecnologico Capital Digital (Cidade Digital)

Toda a informação será disponibilizada através do site da secretaria de Ciência e Tecnologia do [ ... ]


Zend Framework

article thumbnail

Zend Framework Logotipo do Zend Framework Desenvolvedor Zend Tech [ ... ]


Steve Jobs

article thumbnail

Steve Jobs Steve Jobs apresentando um iPhone 4 durante a Apple Worldwide Develo [ ... ]


ITILv3

A versão 3 da biblioteca ITIL foi lançada mundialmente em maio de 2007 como uma atualização comp [ ... ]


Paradigmas de programação

Um paradigma de programação fornece e determina a visão que o programador possui sobre a estrut [ ... ]


Rede complexa

Rede Complexa é uma forma de modelar a natureza onde as propriedades de um elemento são resumidas [ ... ]


Microsoft

article thumbnail

Microsoft Microsoft Corporation Logotipo da Microsoft Slogan “We i [ ... ]


Lista de softwares Públicos

em 11/11/2011LISTA DE SOFTARES PÚBLICOSSoftware Público Brasileiro InVesalius  (542 [ ... ]


Software proprietário

Software proprietário ou não livre é aquele cuja cópia, redistribuição ou modificação sã [ ... ]


Zope


Zope Desenvolvedor Zope Corporation Plataforma multiplataforma Versão es [ ... ]


Teoria de sistemas

A teoria de sistemas estuda, de modo interdisciplinar, a organização abstrata de fenômenos, indep [ ... ]


Framework

Um framework, ou arcabouço, em desenvolvimento de software, é uma abstração que une códigos c [ ... ]


Administração de dados

Administração de dados é a função responsável por desenvolver e administrar de modo central [ ... ]


Antivírus

article thumbnail

Os antivírus são programas de computador concebidos para prevenir, detectar e eliminar vírus de [ ... ]


Ferramenta CASE

Ferramentas CASE (do inglês Computer-Aided Software Engineering) é uma classificação que abran [ ... ]


CakePHP

CakePHP é um framework escrito em PHP que tem como principais objetivos oferecer uma estrutura qu [ ... ]


Análise de requisitos de software

Análise de requerimento de software Origem: Wikipédia, a enciclopédia livre. Na engenharia de [ ... ]


Business Intelligence - Inteligência empresarial

Inteligência empresarial (em inglês Business Intelligence), refere-se ao processo de coleta, orga [ ... ]


CodeIgniter

CodeIgniter Desenvolvedor EllisLab, Inc. Lançado em 28 de Fevereiro de 2006  [ ... ]


Web 2.0

article thumbnail

Web 2.0 é um termo criado em 2004 pela empresa americana O'Reilly Media[1] para designar uma segu [ ... ]


Linguagem de programação

Uma linguagem de programação é um método padronizado para expressar instruções para um compu [ ... ]


Arquitetura de software

A arquitetura de software de um sistema consiste na definição dos componentes de software, suas  [ ... ]


Sistema de gerenciamento de conteúdo

Sistema de Gestão de Conteúdo (SGC) - do inglês Content Management Systems (CMS) mas igualmente d [ ... ]


Rede social

article thumbnail


Rede social Uma rede social é uma estrutura social composta por pessoas ou organizaçõ [ ... ]


Desenvolvimento de software

Na computação, o desenvolvimento de software é o ato de elaborar e implementar um sistema computa [ ... ]


Sistema Integrado de Aprendizagem de Produtos e Serviços

Sistema Integrado de Aprendizagem de Produtos e Serviços - Sinapse (acrônimo) é o nome de uma met [ ... ]


Outsourcing em gestão

O outsourcing em gestão é uma ferramenta administrativa em que o terceririzado realiza a ativida [ ... ]


Gestão de riscos em segurança

O gerenciamento de riscos em segurança é a essência da segurança corporativa, que atua no sent [ ... ]


Matriz de interações

article thumbnail

A Matriz de Interações (ou Matriz CRUD) é utilizada, no processo de desenvolvimento de sistemas [ ... ]


ISO da segurança da informação

ISO 27001 Origem: Wikipédia, a enciclopédia livre. ISO/IEC 27001 é um padrão para sistema de g [ ... ]


Nanomedicina

Nanomedicina é a denominação dada à junção da medicina e da nanotecnologia. Em suma a nanomedi [ ... ]


Alta tecnologia

Alta tecnologia (em inglês, high tech) refere-se à tecnologia considerada de ponta (em inglês,  [ ... ]


Miniaturização

Miniaturização é o processo de produção de objetos de consumo cada vez menores (miniaturas), in [ ... ]


Sharepoint

Plataforma de colaboraçãoO Windows Sharepoint Services (WSS) é uma plataforma de colaboração vo [ ... ]


Banco de dados

article thumbnail

Bancos de dados, ou bases de dados (em Portugal), são coleções de informações que se relacion [ ... ]


Model-view-controller (MVC)

article thumbnail


Um diagrama simples exemplificando a relação entre Model, View e Controller. As linhas sól [ ... ]


Business-to-business

Business to Business - B2B é o nome dado ao comércio associado a operações de compra e venda, de [ ... ]


Indústria de software

A Indústria de Software é o conjunto dos negócios que envolvem o desenvolvimento, a manutençã [ ... ]


Sistemas dinâmicos

article thumbnail

O atrator de Lorenz é um exemplo de sistema dinâmico não-linear. O estudo deste sistema incen [ ... ]


Tecnologia da informação

article thumbnail

Mapa com os gastos em TI em todo o planeta Tecnologia da Informação (TI) É a área de  [ ... ]


Kohana Framework

Kohana é um framework para aplicações web de código aberto, escrito em PHP 5 que adota o padr [ ... ]


web desktop

article thumbnail

Tela do eyeOS 0.9 Um webtop, web desktop, desktop online ou OS online (OS é a sigla para [ ... ]


XMI (ou XML Metadata Interchange)

XMI (ou XML Metadata Interchange) é um padrão da OMG (grupo de gerenciamento de objetos) para tr [ ... ]


CRM - Customer relationship management

Customer Relationship Management (CRM) é uma expressão em inglês que pode ser traduzida para a l [ ... ]


APPS

article thumbnail

Apps (do inglês application) é uma forma abreviada para software aplicativo. A extensão .app si [ ... ]


PDA - Personal digital assistant

article thumbnail


PalmOne LifeDrive Personal digital assistants (PDAs ou handhelds), assistente pessoal di [ ... ]


Microsoft Office

article thumbnail

Microsoft Office Desenvolvedor Microsoft Plataforma x86 e x64 Lançad [ ... ]


Sistema de informação contábil

O sistema de informação contábil é um dos componentes do sistema de informação gerencial (SIG, [ ... ]


Modelo Balbúrdia

No início da computação, poucos programadores seguiam algum tipo de metodologia baseando-se, em [ ... ]


Matriz de Interações (ou Matriz CRUD)

article thumbnail

A Matriz de Interações (ou Matriz CRUD) é utilizada, no processo de desenvolvimento de sistemas [ ... ]


Artigos Relacionados

Pluriverso - Inteligência em Tecnologia

Pluriverso - Inteligência em Tecnologia


Ed.Centro Sul, 2°Andar, SCIA, Qd. 14, Conj. 07, Lt 1, S. Ind.
CEP: 71.250-135, Brasília-DF.  
Como Chegar
| Atendimento  


+55 (61) 4141.5555

Serviços

Desenvolvimento de Software
Oursourcing de T.I
Consultoria em Tecnologia
Licitação com o Governo

Produtos

ERP, CRM, Colaboração
Cloud Computing

Soluções
Soluções em Outsourcing de Tecnologia
Integração de Software
Avaliação de nível tecnológico
Cálculo de custos de T.I
Softwares customizados


Porque escolher a Pluriverso

Blog Corporativo
Blog do Software

Conheça a Pluriverso
quem somos
verticais de atuação
portifólio
casos de sucesso

Atendimento
contatos
sala de imprensa
como chegar
Trabalhe conosco

desenvolvimento de software