Conceito
Um banco de dados é um local onde é possível armazenar dados de maneira estruturada e com a menor redundância possível, 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. Estes dados devem poder ser utilizados por programas e usuários diferentes. 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.
Metodologia
Independentemente da complexidade do Banco de Dados, o seu desenvolvimento seguirá sete importantes etapas:
1) Análise de requisitos do banco de dados
Aqui acontece um diagnóstico das necessidades do sistema. Através de reuniões com os possíveis usuários, o líder da equipe de desenvolvimento irá mapear todas as funcionalidades do BD, que podem ser tanto uma ação ao clicar num botão, quanto o esquema de cores de cada formulário.
Após as reuniões, os requisitos são documentados através do Documento de Especificação do Projeto (DEP), que detalha com todas as descrições tudo o que o sistema realizará, e esquematizados pelo Diagrama de Casos de Uso, que é uma orientação lógica para os desenvolvedores.
Com a validação de ambos, pelos usuários, esse será o conteúdo fixo da estrutura do BD, não podendo ser alterado, como diz a metodologia RUP, onde se define um escopo fechado e seu desenvolvimento ocorre por pacotes (etapa 4) com testes e entregas parciais que no final irão compor um único sistema.
2) Plano de testes do desenvolvimento do banco de dados
Para que o desenvolvimento do banco de dados tenha qualidade, é importante que o programador planeje os testes logo no início. Assim, esse plano serve como orientação de como cada funcionalidade será testada posteriormente. Para isso, o plano pode ser criado numa plataforma de gerenciamento de tarefas de forma que todos os envolvidos no projeto possam ter acesso às instruções de testes detalhadas e comentar possíveis erros e necessidades de alterações, desde que o escopo definido na primeira etapa não seja alterado.
3) Modelagem de dados
Essa etapa visa contemplar a organização lógica e estrutural de ligações entre cada funcionalidade.
Num BD, as informações são conectadas através de tabelas, isso significa que cada campo vai ter alguma interação com outro campo em outra tabela, possuindo conexões entre si. Esse conceito é conhecido como Modelagem Entidade Relacionamento.
4) Codificação de pacotes
Essa é a etapa que a duração mais varia de projeto a projeto, e aonde todas as tabelas definidas no passo anterior vão “ganhar vida”, passando a ter a interação de interface e ações que o usuário poderá realizar. É aqui que é construído aquele botão que irá inserir um novo cadastro de um produto ou pessoa.
As funcionalidades que foram mapeadas são agrupadas em pacotes, levando em conta as possíveis áreas do BD, como por exemplo, num determinado pacote poderia conter as funcionalidades “Cadastro e Consulta de Hóspedes” e “Controle de Quartos”. Os pacotes são ordenados por dependência das informações, ou seja, se a área de hospedagem precisa que entrem informações sobre hóspedes e quartos, então ambos devem ser codificados antes de codificar essa área, portanto, num pacote posterior.
5) Realização de testes internos e externos
Os testes planejados na segunda etapa são realizados a cada finalização da codificação de um pacote, tanto pela equipe interna de desenvolvedores, quanto pelos usuários. Os erros são reportados e posteriormente corrigidos pelos desenvolvedores.
6) Integração e Implementação
A integração do BD é a junção de forma funcional de todos os pacotes codificados. Assim tem-se a versão beta completa para realização de testes. Com tudo certo na versão beta, temos a versão final que é instalada em um servidor.
Esse servidor pode ser local, onde uma máquina física de uma rede de vários computadores armazena os dados ou mesmo o próprio computador do usuário; mas também pode ser virtual, onde há hospedagem de todo o banco num site hospedeiro. A diferença entre eles é basicamente a segurança dos dados e acessibilidade, vai depender de cada situação. Em boa parte dos casos há ainda a capacitação dos usuários para utilização do BD.
7) Documentação
Ao término do desenvolvimento há a elaboração de um documento que traz detalhes sobre o código para que qualquer alteração, atualização ou implementação possa ser feita por qualquer outro desenvolvedor no futuro. Nessa etapa, há também a criação dos manuais de instalação e de utilização para auxílio aos usuários de forma instrutiva.
Software
Existem vários softwares de BD, como: Borland Paradox; Filemaker; IBM DB2; Ingres; Microsoft Access; Microsoft FoxPro; Sybase; PostgreSQL; etc. Mas alguns merecem destaque:
Oracle: Um dos primeiros BDs de sucesso que surgiu na década de 70, devido a uma oportunidade que Larry Ellison viu, uma vez que, até então, nenhuma empresa se empenhou em comercializar um BD Relacional. Mas seu principal diferencial hoje são as atualizações que surgem todos os anos, fazendo com que a Oracle tenha sempre soluções para atualizadas, garantindo suporte e facilidade para seus usuários.
MySQL: Software de BD de código aberto, suas principais características são: portabilidade, compatibilidade, desempenho e estabilidade, pouca exigência de hardware, facilidade no manuseio, interfaces gráficas, e outras vantagens.
Microsoft SQL server: é um produto de software cuja principal função é a de armazenar e recuperar dados solicitados por outras aplicações de software, seja aqueles no mesmo computador ou aqueles em execução em outro computador através de uma rede (incluindo a Internet). O Microsoft SQL possui diversas versões, cada uma voltada para atender melhor a um tipo de público.
Diagrama de Blocos
Interações com as Tecnologias
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 multiusuá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.
Informações Adicionais
Há vários tipos de modelos de dados, cada um com suas vantagens dependendo do sistema para o qual está se aplicando. Vale destacar alguns dos modelos mais comuns:
· Modelo de banco de dados hierárquico
· Modelo relacional
· Modelo de rede
· Modelo de banco de dados orientado para objetos
· Modelo entidade-relacionamento
· Modelo documental
· Modelo entidade-atributo-valor
· Esquema em estrela
· O modelo relacional-objeto, que combina os dois que compõem seu nome
Referências Bibliográficas
http://br.ccm.net/contents/65-bancos-de-dados
https://pt.wikipedia.org/wiki/Banco_de_dados
http://www.devmedia.com.br/conceitos-fundamentais-de-banco-de-dados/1649
https://pt.wikipedia.org/wiki/MySQL
https://pt.wikipedia.org/wiki/Microsoft_SQL_Server
https://www.lucidchart.com/pages/pt/o-que-%C3%A9-um-modelo-de-banco-de-dados