Pessoal, neste post vou tratar sobre o Conceito de Banco de Dados e Sistemas de Gerenciamento de Banco de Dados (SGBD), tratando a diferença entre esses dois conceitos de forma clara e explicativa. Sobre Banco de dados vamos expor sobre sua evolução, definição e utilização. Sobre SGDB vamos falar de sua definição, Arquitetura, Modelo de Dados, Independência de dados, Linguagem de Manipulação de Dados (ou DML, de Data Manipulation Language), Linguagem de definição de dados (LDD ou DDL, do Inglês Data Definition Language).
Com a Importância da informação para tomada de decisão nas empresas e organizações, isso impulsionou o desenvolvimento de sistemas para processamento de informações.
As principais ferramentas utilizadas são:
– Processadores de Texto (editoração eletrônica de informações)
– Planilhas (Cálculos com tabelas de valores)
– Sistemas de Gerenciamento de Banco de Dados (Armazenamento de grande volume de dados, estruturados em registros e tabelas, com recursos para acesso e processamento de informações).
Banco de Dados é uma coleção de dados inter-relacionados, representando informações sobre um domínio específico.
Exemplos: Lista telefônica, controle do acervo de uma biblioteca, sistema de controle dos recursos humanos de uma empresa.
O SGBD é um software com recursos específicos para facilitar a manipulação das informações dos dados e o desenvolvimento de programas aplicativos.
Um sistema de gerência de banco de dados (SGBD) é uma coleção de programas que permite que usuários criem e mantenham bancos de dados.
Exemplos: MS SQL Server, Oracle Database, IBM DB2, MySQL e PostgreSQL.
Sistema de Banco de Dados é um sistema de manutenção de registros por computador envolvendo quatro componentes principais, sendo eles dados, hardware, software e usuários. O sistema de banco de dados pode ser considerado como uma sala de arquivos eletrônica. Existe uma série de métodos, técnicas e ferramentas que visam sistematizar o desenvolvimento de banco de dados.
Os objetivos de um sistema de banco de dados é isolar os usuários dos detalhes mais internos do banco de dados (abstração de dados) e também prover independência de dados ás aplicações (estrutura física de armazenamento e à estratégia de acesso).
As vantagens de utilizar um sistema de banco de dados é a rapidez na manipulação e no acesso á informação, redução do esforço humano (desenvolvimento e utilização), disponibilização da informação no tempo necessário, controle integrado de informações distribuídas fisicamente, redução de redundância e de inconsistência de informações, compartilhamento de dados, aplicação automática de restrições de segurança, redução de problemas de integridade.
Tratando os papéis humanos em um Sistema de Banco de dados no caso nossos queridos usuários. Em um Sistema de Banco de Dados possuímos a seguinte hierarquia “Programadores de Aplicações”, “Usuários Sofisticados”, “Usuários especializados”, “Usuários ingênuos”. Num Sistema de banco de dados também possuímos administradores, aquela pessoa que é responsável pelo controle do sistema de banco de dados sendo o “Administrador de dados (AD)” e o “Administrador do SGBD (DBA)”. Na Administração de Sistemas de banco de dados o papel do o “Administrador de dados (AD)” é efetuar a definição e atualização do esquema do Banco de dados e o papel do “Administrador do SGBD (DBA)” é a definição da estrutura de armazenamento e a estratégia de acesso, concessão de autorização para acesso a dados, definição de controles de integridade, definição de estratégias para copia de segurança (backup) e recuperação (recover), monitoramento do desempenho, execução de rotinas de desempenho, modificação da organização física.
Características Gerais de um SGBD
• Controle de Redundâncias
• Compartilhamento dos Dados
• Controle de Acesso
• Interfaceamento
• Esquematização
• Controle de Integridade
• Backups
Iremos detalhar cada característica de um SGBD para que possa compreender com clareza.
Controle de Redundâncias:
A redundância consiste no armazenamento de uma mesma informação em locais diferentes, provocando inconsistências. Em um Banco de dados as informações só se encontram armazenadas em um único local, não existindo duplicação descontrolada dos dados. Quando existem replicações dos dados, estas são decorrentes do processo de armazenagem típica do ambiente Cliente-Servidor, totalmente sob controle do Banco de dados.
Compartilhamento dos Dados:
O SGBD de incluir software de controle de concorrência ao acesso dos dados, garantindo em qualquer tipo de situação a escrita/leitura de dados sem erros.
Controle de Acesso:
O SGBD de dispor de recursos que possibilitem selecionar a autoridade de cada usuário. Assim um usuário poderá realizar qualquer tipo de acesso, outros poderão ler alguns dados e atualizar outros e outros ainda poderão somente acessar um conjunto restrito de dados para escrita e leitura.
Interfaceamento:
Um Banco de dados deverá disponibilizar formas de acesso gráfico, em linguagem natural, em SQL ou ainda via menus de acesso, não sendo uma “caixa-preta” somente sendo passível de ser acessada por aplicações.
Esquematização:
Um Banco de dados deverá fornecer mecanismos que possibilitem a compreensão do relacionamento existente entre as tabelas e de sua eventual manutenção.
Controle de Integridade:
Um Banco de dados deverá impedir que aplicações ou acessos pelas interfaces possam comprometer a integridade dos dados.
Backups:
O SGBD deverá apresentar facilidade para recuperar falhas de hardware e software, através da existência de arquivos de “pré-imagem” ou de outros recursos automáticos, exigindo minimamente a intervenção de pessoal técnico.
Arquitetura de Três Esquemas e a Independência dos Dados:
O Sistema de Banco de Dados deve prover uma visão abstrata dos dados para os usuários. Essa Abstração se dá em três níveis, o primeiro nível é o externo, o segundo nível é o conceitual e o terceiro nível é o interno.
Nível Interno (Físico):
Nível mais baixo de abstração. Descreve como os dados estão realmente armazenados, englobando estruturas complexas de baixo nível e descreve os detalhes completos do armazenamento de dados e caminho de acesso ao banco de dados.
Nível Conceitual:
Descreve quais dados estão armazenados e seus relacionamentos. Neste nível, o Banco de dados é descrito através de estruturas relativamente simples, que podem envolver estruturas complexas no nível físico. Concentra-se na descrição de entidades, tipos de dados, conexões, operações de usuários e restrições.
Nível Externo (Visões do Usuário):
Descreve partes do banco de dados, de acordo com as necessidades de cada usuário, individualmente ocultando o restante do banco de dados.
Linguagens de SGBD:
O SGBD deve oferecer linguagens e interfaces apropriadas para cada categoria de usuários.
Linguagem de Definição de Dados (DDL):
Está Linguagem é utilizada para permitir especificar o esquema do banco de dados, através de um conjunto de definições de dados.
A Compilação dos comandos em DDL é armazenada no dicionário de dados (metadados).
Linguagem de Manipulação de Dados (DML):
Está Linguagem permite ao usuário acessar ou manipular os dados, vendo-os da forma como são definidos no nível de abstração mais alto do modelo de dados utilizado.
Uma Consulta (“query”) é um comando que requisita uma recuperação de informação. A parte de uma DML que envolve recuperação de informação é chamada linguagem de consulta.
Manipulação de Dados:
• Recuperação da informação armazenada
• Inserção de novas informações
• Exclusão de informações
• Modificação de dados armazenados
Módulos componentes do SGBD
• Módulo de programa que fornece a interface entre os dados de baixo nível de armazenados num banco de dados e os programas aplicativos ou as solicitações submetidas ao sistema.
• Software que manipula todos os acessos ao banco de dados, proporcionando a interface de usuário ao sistema de banco de dados.
Ilustrando o papel do sistema de gerência de banco de dados, de forma conceitual:
O usuário emite uma solicitação de acesso.
O SGBD intercepta a solicitação e a analisa.
O SGBD inspeciona os esquemas externos (ou sub esquemas) relacionados aquele usuário, os mapeamentos entre os três níveis, e a definição da estrutura de armazenamento.
O SGBD realiza as operações solicitadas no banco de dados armazenado.
Abaixo segue imagens com arquiteturas utilizadas em SGBD’s:
Caso alguém queira tirar alguma duvida dos exemplos citados e os conceitos explicados neste post, favor comentar para que possa ajudar da melhor maneira possível.
Que a Graça e Paz estejam com vocês.
Muito bom ! Vou indicar para meus companheiros de turma no curso de Sistemas de informação, acho que estabelecer conceitos que aparentemente são simples mas que realmente tem uma complexidade e importância muito grade é algo útil quando se trata de uma graduação ou especialização na área.
José Rodolfo, é de grande satisfação agradecer por indicar este conteúdo para seu colegas e amigos, acredito que vai ser de grande ajuda! Obrigado por visitar nosso Blog. Compartilhar é crescer.
Grande Abraço,
Emerson
Bem legal Emerson, acho que da para adicionar a DCL apos a DDL e a DML tbm hein! Parabéns pelo seu trabalho ai no blog!
Valeu mario, Obrigado pelo apoio. Vou fazer esse acrescimo num próximo post, obrigado pela dica.
[]s,
Emerson
Poxa legal mesmo, estou começando agora com Banco de Dados, não sei absolutamente nada, mas gostei do site e já estou inscrito nele. Gostaria de um norte sobre o assunto, por onde começar, qual certificação buscar, enfim.
Parabéns pelo site!
Minha dica pra quem está começando: ESQUEÇA certificação!
Estude para APRENDER, faça tudo o que puder na prática, instale o SGBD que vc quiser aprender no teu computador pessoal, passe algumas horas dos fins de semana instalando, fuçando, aprendendo coisas novas!
E vá pensar em certificação depois disso, quem sabe depois de já estar trabalhando.
Só pra vc ter uma noção, eu comecei a estudar Oracle em 1998 e tirei minha primeira certificação ano passado, em 2012.
O mercado quer profissionais que tenham conhecimento, e não que tenham um pedaço de papel!
A certificação é importante sim, mas só depois de adquirir conhecimento e experiência.
Valeu Milton, vou seguir essa linha sem dúvidas! Sabe de algum material bom pra começar? TIpo MySQL!
Abs
Lucas,
Obrigado por visitar nosso Blog. Um bom começo é você ler a série Quero ser um DBA: http://certificacaobd.com.br/quero-ser-um-dba/ , depois leia e estude sobre o SGBD que está mais habituado (Oracle, MS SQL Server, MySQL, Postgres) não tem uma receita certa, mais os SGBDs que possuem muito mercado são Oracle e MS SQL Server.Recomendo avaliar o Mercado de trabalho da região para estudar um SGBD em Particular. Bom essas são minhas dicas.
Att,
Emerson
Boa, estou começando por ai mesmo, entender melhor o conceito pra depois ver pra qual SGBD prosseguir. Bom eu estou na região de Ribeirão Preto, acredito que o forte aqui seja MySQL ou estou enganado?
Abs e obrigado ai por responder
Lucas,
Tenho feito uma série de posts para iniciantes em MySQL, http://certificacaobd.com.br/category/geral/dbarea/mysql-dbarea/ . No meu blog pessoal (http://blog.gaudencio.net.br) também tem mais material. Bons Estudos.
Att,
Emerson