Conceitos Básicos
Segundo Korth, um banco de dados “é uma
coleção de dados inter-relacionados, representando informações sobre um domínio
específico”, ou seja, sempre que for possível agrupar informações que se
relacionam e tratam de um mesmo assunto, posso dizer que tenho um banco de
dados.
Podemos
exemplificar situações clássicas como uma lista telefônica, um catálogo de CDs
ou um sistema de controle de RH de uma empresa.
Já
um sistema de gerenciamento de banco de dados (SGBD) é um software que possui
recursos capazes de manipular as informações do banco de dados e interagir com
o usuário. Exemplos de SGBDs são: Oracle, SQL Server, DB2, PostgreSQL, MySQL, o
próprio Access ou Paradox, entre outros.
Por
último, temos que conceituar um sistema de banco de dados como o conjunto de
quatro componentes básicos: dados, hardware, software e usuários. Date conceituou que
“sistema de bancos de dados pode ser considerado como uma sala de arquivos
eletrônica”. A Figura 1 ilustra os componentes de um sistema
de banco de dados.
Figura 1. Componentes de um sistema de banco de dados.
Os
objetivos de um sistema de banco de dados são o de isolar o usuário dos
detalhes internos do banco de dados (promover a abstração de dados) e promover
a independência dos dados em relação às aplicações, ou seja, tornar
independente da aplicação, a estratégia de acesso e a forma de armazenamento.
Abstração de dados
O sistema de banco de dados deve
garantir uma visão totalmente abstrata do banco de dados para o usuário, ou
seja, para o usuário do banco de dados pouco importa qual unidade de
armazenamento está sendo usada para guardar seus dados, contanto que os mesmos
estejam disponíveis no momento necessário.
Esta abstração se dá em três níveis (Figura
2):
- Nível de visão do usuário: as partes do banco de dados que o usuário tem acesso de acordo com a necessidade individual de cada usuário ou grupo de usuários;
- Nível conceitual: define quais os dados que estão armazenados e qual o relacionamento entre eles;
- Nível físico: é o nível mais baixo de abstração, em que define efetivamente de que maneira os dados estão armazenados.
Figura 2. Níveis de abstração.
Projeto de banco de dados
Todo
bom sistema de banco de dados deve apresentar um projeto, que visa a
organização das informações e utilização de técnicas para que o futuro sistema
obtenha boa performance e também facilite infinitamente as manutenções que
venham a acontecer.
O projeto de banco de dados se dá em
duas fases:
- Modelagem conceitual;
- Projeto lógico.
Estas
duas etapas se referem a um sistema de banco de dados ainda não implementado,
ou seja, que ainda não exista, um novo projeto. Para os casos em que o banco de
dados já exista, mas é um sistema legado, por exemplo, ou um sistema muito
antigo sem documentação, o processo de projeto de banco de dados se dará
através da utilização de uma técnica chamada de Engenharia Reversa, que será
visto em outra oportunidade.
Modelo
conceitual
É a
descrição do BD de maneira independente ao SGBD, ou seja, define quais os dados
que aparecerão no BD, mas sem se importar com a implementação que se dará ao
BD. Desta forma, há uma abstração em nível de SGBD.
Uma
das técnicas mais utilizadas dentre os profissionais da área é a abordagem
entidade-relacionamento (ER), onde o modelo é representado graficamente através
do diagrama entidade-relacionamento (DER) (Figura 3).
O
modelo acima, entre outras coisas, nos traz informações sobre Alunos e Turmas.
Para cada Aluno, será armazenado seu número de matrícula, seu nome e endereço,
enquanto para cada turma, teremos a informação de seu código, a sala utilizada
e o período.
Modelo
Lógico
Descreve
o BD no nível do SGBD, ou seja, depende do tipo particular de SGBD que será
usado. Não podemos confundir com o Software que será usado. O tipo de SGBD que
o modelo lógico trata é se o mesmo é relacional, orientado a objetos,
hierárquico, etc.
Abordaremos
o SGBD relacional, por serem os mais difundidos. Nele, os dados são organizados
em tabelas (Quadro 1).
Aluno
|
||
mat_aluno
|
nome
|
endereco
|
1
|
Cecília Ortiz Rezende
|
Rua dos Ipês, 37
|
2
|
Abílio José Dias
|
Avenida Presidente Jânio Quadros, 357
|
3
|
Renata Oliveira Franco
|
Rua Nove de Julho, 45
|
Turma
|
||
cod_turma
|
sala
|
periodo
|
1
|
8
|
Manhã
|
2
|
5
|
Noite
|
Quadro
1. Exemplo de tabelas em um SGBD relacional.
O
modelo lógico do BD relacional deve definir quais as tabelas e o nome das
colunas que compõem estas tabelas.
Para
o nosso exemplo, poderíamos definir nosso modelo lógico conforme o seguinte:
Aluno (mat_aluno, nome, endereço)
Turma (cod_turma, sala, período)
Turma (cod_turma, sala, período)
É
importante salientar que os detalhes internos de armazenamento, por exemplo,
não são descritos no modelo lógico, pois estas informações fazem parte do
modelo físico, que nada mais é que a tradução do modelo lógico para a linguagem
do software escolhido para implementar o sistema.
Conclusões
Nesta
primeira coluna, abordei os conceitos básicos de banco de dados. Estes
conceitos são os primeiros passos para se aventurar em projetos de bancos de
dados. Vimos algumas terminologias e conceitos que são importantes para iniciar
um projeto de maneira a documentar todas as etapas tendo assim, uma ferramenta
de apoio fundamental para a implementação e manutenção futura no sistema.
A principal
aplicação de Banco de Dados é controle de operações empresariais. 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.
Nenhum comentário:
Postar um comentário