JoaoSI16 (discussão | contribs)
Etiqueta: visualeditor
Joaopo (discussão | contribs)
Sem resumo de edição
Etiqueta: visualeditor
 
(5 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 1: Linha 1:
= Conceito e História =
=Conceito e História ==
Um Sistema De Gerenciamento de Banco de Dados (SGBD’S), é um componente
essencial na estrutura de um Bando de Dados, que tem como função criar uma
gestão dos dados ou registros contidos em suas tabelas.


A princípio, dois modelos de Sistema de Gerenciamento Banco de Dados e
===  Conceito ===
seus fundamentos surgiram na empresa IBM (International Business Machines/
Não se pode conceituar um SGBD (Sistema de Gerenciamento de Banco de Dados), sem antes definir o que é um Banco de Dados. Basicamente, todos os programas que precisam armazenar dados devem possui um banco de dados com as informações organizadas de maneira a se relacionar quando necessário, para uma busca. Programas ficam armazenados nos mais diversos dispositivos, quando os executamos, ficam em uma memória temporária, na medida que encerramos o programa, todos os dados são limpos. É aí que entra o banco de dados. Os programas possuem um local onde os dados ficam armazenados, assim quando o programa está sendo executado, os dados apresentados são buscados, armazenados ou modificados diretamente do banco de dados.
Máquinas de Negócios Internacional) na década de 1960. Um é denominado de
Modelo Hierárquico e o outro é o Modelo em Rede, que permitiam por exemplo,
guardar dados de clientes, serviços, funcionários, empresas e fornecedores. A
IBM foi fundada em 1888 e incorporada em 1911 nos Estados Unidos, a empresa tem
foco na área de informática e atualmente fabrica e vende Hardwares e Softwares.
Apesar de toda facilidade que os dois modelos geravam, faltava algo muito
importante, que era a relação entre esses dados, assim sendo, na década de 1970
um ex-pesquisador da empresa, chamado Edgar Frank Codd (falecido em 2003),
publicou o primeiro artigo sobre o Modelo Relacional que apesar de dar o mesmo
acesso as informações como os modelos anteriores, tal modelo permite dar uma
sequência com o acesso, por exemplo, a empresa pode identificar onde seu
cliente mora e quais foram suas compras, a partir das compras, tem-se o acesso
a data das compras e qual a influência realizada no estoque dessa empresa, que
no caso se houver diminuição no estoque pode-se ter acesso direto ao
fornecedor.


Tal sistema foi criado com o objetivo de facilitar o armazenamento e a
O que difere os SGBD’s é o conjunto de requisitos e funcionalidades que eles oferecem, como segurança, integridade, controle de concorrência e recuperação/tolerância a falhas.
manipulação de dados, através de um conjunto de tabelas, onde quaisquer
informações são introduzidas de forma organizada e assim o gerenciamento de
todos os dados foi melhorado e simplificado.  


= Funcionamento =
===  A origem dos Bancos de Dados ===
Todo Banco de Dados tem como base para seu funcionamento 4 componentes,
Os primeiros computadores surgiram na década de 50, para uso militar e universitário. No entanto, nessa época, todos os dados eram guardados em papel, e até hoje, em alguns lugares se faz uso do papel como forma de armazenamento de dados, apesar de ser uma forma muito ultrapassada.
primeiramente temos a Base de Dados, em seguida um Sistema Gerenciador,
posteriormente uma Linguagem de Exploração e por fim Programas Adicionais.


'''A Base de
As primeiras formas de registros informatizados foram surgindo com o passar dos anos, a primeira foi os arquivos sequenciais, onde todos os documentos que antes estavam no papel, foram sendo digitalizados um atrás do outro, formando uma sequência de arquivos, onde, se a pessoa quisesse acessar algum arquivo, o arquivo seria lido da primeira digitalização até encontrar a desejada, de forma sequencial. A forma mais avançada de armazenamento veio a ser os arquivos de acesso direto, onde se por exemplo você precisasse acessar o registro X, bastava ir diretamente ao registro X.  
Dados''' são os próprios dados e informações, ou seja, a estrutura de um Banco
de Dados.  


'''''O Sistema Gerenciador (SGBD’S''),''' como já dito, é o responsável por gerenciar todos os dados de um Banco
Na década de 60, o departamento de defesa dos Estados Unidos decidiu criar uma maneira de armazenar dados de uma forma mais segura e inteligente, logo, criou um evento que ficou conhecido como Codasyl, reunindo militares, empresas e universidades. Como resultado dessa união, surgiu o Banco de Dados, e também a linguagem de programação Cobol.
de Dados.


'''A
Desde então, os Bancos de Dados passaram por evoluções, a IBM propôs o modelo hierárquico, basicamente os dados seriam armanezados, e haveria uma hierarquia entre os dados. Depois, surgiu o modelo em rede, onde os dados foram interligados em uma rede inteligente, sem hierarquia entre os dados. Contudo, surgiu, da necessidade de maior relação entre os dados armazenados, o modelo relacional, que é usado até os dias de hoje. Surgiram modelos mais recentes, como os modelos orientados a objeto, mas ao se iniciar um estudo de Banco de Dados, costuma-se partir do modelo relacional.
linguagem de Exploração''' é uma linguagem que permite o acesso ou a
exploração dos dados.


'''Os programas
==  Funções de um SGBD ==
Adicionais''' são por exemplo, gerência de usuários, otimizadores
de dados, qualquer função extra está inclusa nesses programas.


A função de um SGBD’S se consiste na criação de um sistema de segurança,
===  Segurança ===
onde define-se regras de acesso e os tipos de funções (copiar, editar, ler,
* Talvez a principal funcionalidade de um SGBD. Todos eles devem possuir regras para restringir e garantir o acesso somente de pessoas autorizadas, com o acesso ao banco e qual o nível de acesso que o usuário irá possuir (Leitura, escrita, alteração, exclusão, etc). Outro quesito que um SGBD possui e faz parte da segurança, são as cópias e a recuperação de dados em caso de falhas, permitindo que informações sejam recuperadas a partir de outro local. Grandes corporações possuem backups de seus bancos de dados até em países diferentes para garantir que nenhuma catástrofe destrua os dados armazenados.
apagar) que cada usuário irá ter, para controlar o acesso e preservar a
integridade das informações.


= Modelos =
===  Controle de Redundâncias ===
O primeiro SGBD’S, como dito anteriormente foi o '''''Hierárquico''''', onde os
* Vamos pensar em um sistema rodando em diversos computadores, este sistema possui os dados armazenados em um único local. O Controle de redundâncias organiza esse fluxo, para que dados inconsistentes não sejam armazenados, uma série de regras são criadas para que os dados sejam armazenados corretamente e não tenha dados duplicados ou inválidos.
dados são classificados hierarquicamente, cada um com sua devida importância,
como podemos visualizar na seguinte imagem:    


[[Arquivo:1.jpg|centre|374x374px]]  
===  Acesso ===
* O controle de acesso irá garantir também a integridade dos dados, pois o SGBD deverá possuir a possibilidade de configurar níveis de autoridade de cada usuário. Enquanto uns poderão ter acesso total, outros poderão ter restrições só liberando alguma das funcionalidades que são a leitura, escrita, atualização, etc; ou até mesmo liberar o acesso a um conjunto restrito de dados.


Em seguida, temos o modelo em '''''Redes''''', no modelo anterior,
===  Interfaceamento ===
pode-se notar que havia apenas ligações simples, porém no modelo em Redes é
* Deve possui uma forma de acesso gráfico, em linguagem natural, menus de acesso e em SQL. Podendo ser acessada diretamente, não sendo necessário passar pela aplicação que há utiliza.
permitido que haja mais conexões entre os mesmos dados. Dessa forma cria-se um
rede complexa, que necessita de uma estrutura mais completa e geralmente a
utilização é em computadores de grande porte. Representação:                                       


[[Arquivo:Ima2.jpg|centre]]                   
===  Esquematização ===
* Normalmente em um banco de dados as tabelas se relacionam entre si, um SGDB deve fornecer mecanismos que compreendem estes relacionamentos. Deve compreender por exemplo, um diagrama de classes UML.


Após o modelo em Redes, surge o modelo '''''Relacional''''', que tem um
===  Integridade ===
diferencial, pois este sistema possibilita a continuidade na navegação ou
* Um item que também entra em segurança, o controle da integridade deverá impedir que aplicações ou acessos que possam comprometer a integridade dos dados sejam feitos. Deverá garantir o acesso somente de pessoas autorizadas e ainda de acordo com os níveis de acesso.
acesso aos dados. Como explicado anteriormente, possibilita uma sequência, um
exemplo seria quando uma empresa acessa o registro do cliente, a partir das
informações do cliente o sistema Relacional vai poder conectar outros dados,
como as compras do cliente e as datas das compras. Dessa forma, um dado abrange
uma relação maior com outros dados, para melhor compreensão segue a imagem:                                                                                                                  


[[Arquivo:Ima3.png|centre|525x525px]]
===  Backups ===
Outro SGBD’S, é o '''''Orientado a Objetos''''', que se tornou
* Última característica e uma das mais importantes. Cópias de segurança são imprescindíveis para a segurança de qualquer informação e em um SGBD isto é mais evidente. Pois estamos sujeitos a falhas tanto de hardware quanto de software e através de mecanismos previamente ajustados podemos recuperar as informações minimizando as perdas.
uma grande tendência, pois como o Sistema Relacional permitia relações mais complexas
entre os dados, logo o nível de dificuldade de utilização é maior. Então,
criou-se este modelo orientado a objetos, que permite uma manipulação de dados
complexos de forma fácil e além disso pode utilizar várias bases de linguagem,
inclusive C++ que na época de 1990 dominou todo o mercado comercial. Representação:                                                                                                                                                                                                                                                                                                                                                      


[[Arquivo:Ima4.png|centre]]
== Modelos ==


= '''Vantagens e Desvantagens''' =
=== Modelo hierárquico ===
Ao utilizar-se um SGBD’S há
* Os dados são classificados hierarquicamente, de acordo com uma arborescência descendente. Este modelo utiliza apontadores entre os diferentes registros. Trata-se do primeiro modelo de SGBD.
'''''vantagens''''' nos seguintes quesitos:


'''- ''Segurança:''''' o sistema de gerenciamento de banco de dados pode ser utilizado para
=== Modelo rede ===
restringir informações ou dados.
* Como o modelo hierárquico, ele utiliza cursores para os registros. Contudo, a estrutura já não é necessariamente arborescente no sentido descendente.


'''- ''Integridade dos Dados:''''' no sistema de gerenciamento são determinadas funções e regras para os
=== Modelo relacional ===
usuários, evitando alterações.
* Os dados são registrados em quadros de duas dimensões (linhas e colunas). A manipulação destes dados é feita de acordo com a teoria matemática das relações.


'''- ''Disponibilização:''''' os mesmos dados podem ser disponibilizados ou compartilhados a
=== Modelo dedutivo ===
diferentes usuários.
* Os dados são representados sob a forma de tabela, mas a sua manipulação é feita através do cálculo de predicados.


'''- ''Armazenamento Conciso:''''' o SGBD’S tem como regra geral, que os dados devem aparecer uma única
=== Modelo objeto ===
vez, reduzindo a redundância de dados e também o custo de armazenamento.
* Os dados são armazenados sob a forma de objetos, isto é, de estruturas chamadas classes, que apresentam os dados. Os campos são instâncias destas classes.


'''- ''User-Friendly:''''' os dados são de fácil acesso e manipulação, dessa maneira, não há a
A partir do fim dos anos 1990, os bancos de tipo relacional se tornaram os bancos de dados mais comuns, representando cerca de 75% dos bancos existentes.
necessidade de usuários individuais ou especialistas para atender as
necessidades de tais dados.


Todavia, há '''''desvantagem''''',
== Vantagens e Desvantagens ==
relatada a seguir:


'''-''' A mais significativa, desvantagem dos sistemas de
=== Vantagens ===
gestão de base de dados é o seu custo, não tanto em termos de preço do software
* No item que diz respeito as funções de um SGBD, foram mostradas funcionalidades que agregam ao uso de um Sistema Gerenciador de Banco de Dados, como a segurança, o controle de redundância, o acesso, backups, entre outros.
de base, mas fundamentalmente em despesas de desenvolvimento. É um tipo de
software altamente sofisticado que requer, para o seu desenho e
desenvolvimento, uma equipe com formação adequada. A construção duma base de
dados deficiente tem consequências enormes numa organização.  


= '''Referências Bibliográficas''' =
=== Quando não utilizar um SGBD ===
'''''- Sites:'''''
Em algumas situações, o uso de um SGBD pode representar uma carga desnecessária aos custos quando comprado à abordagem processamento tradicional de arquivos como por exempo:
*    Alto investimento inicial na compra de software e hardware adicionais;


<nowiki>http://www.devmedia.com.br/gerenciamento-de-banco-de-dados-analise-comparativa-de-sgbds/30788</nowiki>
* Generalidade que um SGBD fornece na definição e processamento de dados;
Problemas adicionais podem surgir caso os projetos de banco de dados ou os administrdores de banco de dados não elaboram os projetos corretamente ou se as aplicações não são implementadas de forma apropriada. Se o DBA não administrar o banco de dados de forma apropriada, tanto a segurança quando a integridade dos sistemas podem ser comprometidas. A sobrecarga causada pelo uso de um SGBD e a má administração justificam a utilização da abordagem processamento tradicional de arquivos em casos como:
* O banco de dados e as aplicações são simples, bem definidas e não se espera mudanças no projeto;


<nowiki>http://ehgomes.com.br/disciplinas/bdd/sgbd.php</nowiki>
* A necessidade de processamento em tempo real de certas aplicações, que são terrivelmente prejudicadas pela sobrecarga causada pelo uso de um SGBD;


<nowiki>https://pt.wikipedia.org/wiki/Banco_de_dados#Modelos_de_base_de_dados</nowiki>
* Não haverá múltiplo acesso ao banco de dados.


https://pt.wikipedia.org/wiki/Sistema_de_gerenciamento_de_banco_de_dados
== Alguns exemplos de SGBDs ==
 
=== Pago ===
* Oracle
* IBM DB2
* dBase
* Microsoft SQL Server
 
=== Gratuito ===
* MySQL
* MariaDB
* PostgreSQL
* Firebird
 
== Referências Bibliográficas ==
* http://br.ccm.net/contents/66-o-que-e-o-sistema-de-gerenciamento-de-bancos-de-dados
* http://www.devmedia.com.br/gerenciamento-de-banco-de-dados-analise-comparativa-de-sgbds/30788
* https://pt.wikipedia.org/wiki/Sistema_de_gerenciamento_de_banco_de_dados
* http://www.cursoemvideo.com/

Edição atual tal como às 15h15min de 6 de junho de 2017

Conceito e História

Conceito

Não se pode conceituar um SGBD (Sistema de Gerenciamento de Banco de Dados), sem antes definir o que é um Banco de Dados. Basicamente, todos os programas que precisam armazenar dados devem possui um banco de dados com as informações organizadas de maneira a se relacionar quando necessário, para uma busca. Programas ficam armazenados nos mais diversos dispositivos, quando os executamos, ficam em uma memória temporária, na medida que encerramos o programa, todos os dados são limpos. É aí que entra o banco de dados. Os programas possuem um local onde os dados ficam armazenados, assim quando o programa está sendo executado, os dados apresentados são buscados, armazenados ou modificados diretamente do banco de dados.

O que difere os SGBD’s é o conjunto de requisitos e funcionalidades que eles oferecem, como segurança, integridade, controle de concorrência e recuperação/tolerância a falhas.

A origem dos Bancos de Dados

Os primeiros computadores surgiram na década de 50, para uso militar e universitário. No entanto, nessa época, todos os dados eram guardados em papel, e até hoje, em alguns lugares se faz uso do papel como forma de armazenamento de dados, apesar de ser uma forma muito ultrapassada.

As primeiras formas de registros informatizados foram surgindo com o passar dos anos, a primeira foi os arquivos sequenciais, onde todos os documentos que antes estavam no papel, foram sendo digitalizados um atrás do outro, formando uma sequência de arquivos, onde, se a pessoa quisesse acessar algum arquivo, o arquivo seria lido da primeira digitalização até encontrar a desejada, de forma sequencial. A forma mais avançada de armazenamento veio a ser os arquivos de acesso direto, onde se por exemplo você precisasse acessar o registro X, bastava ir diretamente ao registro X.

Na década de 60, o departamento de defesa dos Estados Unidos decidiu criar uma maneira de armazenar dados de uma forma mais segura e inteligente, logo, criou um evento que ficou conhecido como Codasyl, reunindo militares, empresas e universidades. Como resultado dessa união, surgiu o Banco de Dados, e também a linguagem de programação Cobol.

Desde então, os Bancos de Dados passaram por evoluções, a IBM propôs o modelo hierárquico, basicamente os dados seriam armanezados, e haveria uma hierarquia entre os dados. Depois, surgiu o modelo em rede, onde os dados foram interligados em uma rede inteligente, sem hierarquia entre os dados. Contudo, surgiu, da necessidade de maior relação entre os dados armazenados, o modelo relacional, que é usado até os dias de hoje. Surgiram modelos mais recentes, como os modelos orientados a objeto, mas ao se iniciar um estudo de Banco de Dados, costuma-se partir do modelo relacional.

Funções de um SGBD

Segurança

  • Talvez a principal funcionalidade de um SGBD. Todos eles devem possuir regras para restringir e garantir o acesso somente de pessoas autorizadas, com o acesso ao banco e qual o nível de acesso que o usuário irá possuir (Leitura, escrita, alteração, exclusão, etc). Outro quesito que um SGBD possui e faz parte da segurança, são as cópias e a recuperação de dados em caso de falhas, permitindo que informações sejam recuperadas a partir de outro local. Grandes corporações possuem backups de seus bancos de dados até em países diferentes para garantir que nenhuma catástrofe destrua os dados armazenados.

Controle de Redundâncias

  • Vamos pensar em um sistema rodando em diversos computadores, este sistema possui os dados armazenados em um único local. O Controle de redundâncias organiza esse fluxo, para que dados inconsistentes não sejam armazenados, uma série de regras são criadas para que os dados sejam armazenados corretamente e não tenha dados duplicados ou inválidos.

Acesso

  • O controle de acesso irá garantir também a integridade dos dados, pois o SGBD deverá possuir a possibilidade de configurar níveis de autoridade de cada usuário. Enquanto uns poderão ter acesso total, outros poderão ter restrições só liberando alguma das funcionalidades que são a leitura, escrita, atualização, etc; ou até mesmo liberar o acesso a um conjunto restrito de dados.

Interfaceamento

  • Deve possui uma forma de acesso gráfico, em linguagem natural, menus de acesso e em SQL. Podendo ser acessada diretamente, não sendo necessário passar pela aplicação que há utiliza.

Esquematização

  • Normalmente em um banco de dados as tabelas se relacionam entre si, um SGDB deve fornecer mecanismos que compreendem estes relacionamentos. Deve compreender por exemplo, um diagrama de classes UML.

Integridade

  • Um item que também entra em segurança, o controle da integridade deverá impedir que aplicações ou acessos que possam comprometer a integridade dos dados sejam feitos. Deverá garantir o acesso somente de pessoas autorizadas e ainda de acordo com os níveis de acesso.

Backups

  • Última característica e uma das mais importantes. Cópias de segurança são imprescindíveis para a segurança de qualquer informação e em um SGBD isto é mais evidente. Pois estamos sujeitos a falhas tanto de hardware quanto de software e através de mecanismos previamente ajustados podemos recuperar as informações minimizando as perdas.

Modelos

Modelo hierárquico

  • Os dados são classificados hierarquicamente, de acordo com uma arborescência descendente. Este modelo utiliza apontadores entre os diferentes registros. Trata-se do primeiro modelo de SGBD.

Modelo rede

  • Como o modelo hierárquico, ele utiliza cursores para os registros. Contudo, a estrutura já não é necessariamente arborescente no sentido descendente.

Modelo relacional

  • Os dados são registrados em quadros de duas dimensões (linhas e colunas). A manipulação destes dados é feita de acordo com a teoria matemática das relações.

Modelo dedutivo

  • Os dados são representados sob a forma de tabela, mas a sua manipulação é feita através do cálculo de predicados.

Modelo objeto

  • Os dados são armazenados sob a forma de objetos, isto é, de estruturas chamadas classes, que apresentam os dados. Os campos são instâncias destas classes.

A partir do fim dos anos 1990, os bancos de tipo relacional se tornaram os bancos de dados mais comuns, representando cerca de 75% dos bancos existentes.

Vantagens e Desvantagens

Vantagens

  • No item que diz respeito as funções de um SGBD, foram mostradas funcionalidades que agregam ao uso de um Sistema Gerenciador de Banco de Dados, como a segurança, o controle de redundância, o acesso, backups, entre outros.

Quando não utilizar um SGBD

Em algumas situações, o uso de um SGBD pode representar uma carga desnecessária aos custos quando comprado à abordagem processamento tradicional de arquivos como por exempo:

  • Alto investimento inicial na compra de software e hardware adicionais;
  • Generalidade que um SGBD fornece na definição e processamento de dados;

Problemas adicionais podem surgir caso os projetos de banco de dados ou os administrdores de banco de dados não elaboram os projetos corretamente ou se as aplicações não são implementadas de forma apropriada. Se o DBA não administrar o banco de dados de forma apropriada, tanto a segurança quando a integridade dos sistemas podem ser comprometidas. A sobrecarga causada pelo uso de um SGBD e a má administração justificam a utilização da abordagem processamento tradicional de arquivos em casos como:

  • O banco de dados e as aplicações são simples, bem definidas e não se espera mudanças no projeto;
  • A necessidade de processamento em tempo real de certas aplicações, que são terrivelmente prejudicadas pela sobrecarga causada pelo uso de um SGBD;
  • Não haverá múltiplo acesso ao banco de dados.

Alguns exemplos de SGBDs

Pago

  • Oracle
  • IBM DB2
  • dBase
  • Microsoft SQL Server

Gratuito

  • MySQL
  • MariaDB
  • PostgreSQL
  • Firebird

Referências Bibliográficas