Gerenciamento e Projeto de Banco de Dados
Classificado em Computação
Escrito em em português com um tamanho de 13,91 KB.
Dados e Informações
- Dados: Fatos brutos.
- Informações: Resultado do processamento de dados brutos para revelar seu significado.
- Gerenciamento de dados: Foca na geração, no armazenamento e na recuperação adequada dos dados.
Banco de Dados
- Banco de dados: Coleção logicamente coerente de dados com algum significado. É projetado, construído e populado com dados para uma finalidade específica.
- Base de dados: Refere-se aos dados armazenados no sistema de banco de dados.
- Sistema de Gerenciamento de Banco de Dados (SGBD): Conjunto de programas que gerenciam a estrutura do banco de dados e controlam o acesso aos dados armazenados. Facilita o processo de definição, construção, manipulação e compartilhamento de bancos de dados entre diversos usuários e aplicações.
Vantagens do SGBD
- Controle de redundância.
- Permite que os dados no banco sejam compartilhados por diversas aplicações e usuários.
- Integra visualizações muito diferentes dos usuários sobre os dados em um único repositório de dados que engloba tudo.
- Restrição a acesso não autorizado.
- Armazenamento persistente para objetos do programa.
- Estruturas de armazenamento.
- Garante padrões.
- Tempo reduzido para desenvolvimento de aplicações.
- Flexibilidade.
- Disponibilidade de informações atualizadas.
- Economias de escala.
Tipos de Bancos de Dados
- Operacional, transacional, de produção: Dá suporte às operações diárias de uma empresa.
- Data warehouses: Armazenam dados utilizados para gerar informações necessárias à tomada de decisões táticas e estratégicas.
Tipos de Dados
- Dados não estruturados: Existem em seu estado original (bruto), no formato em que foram coletados.
- Dados estruturados: Resultado da obtenção de dados não estruturados e de sua formatação (estruturação) visando facilitar o armazenamento, a utilização e a geração de informações.
- Dados semiestruturados: Dados que já foram parcialmente processados.
Projeto de Banco de Dados
- Atividades que focam na elaboração da estrutura que será utilizada para armazenar e gerenciar dados do usuário final.
- Objetivos:
- Precisão e consistência dos dados.
- Velocidade operacional.
- Facilita o gerenciamento dos dados.
Funções
- DBA:
- Autorizar o acesso ao banco de dados.
- Coordenar e monitorar seu uso.
- Adquirir recursos de software e hardware conforme a necessidade.
- Solucionar problemas como falhas na segurança e demora no tempo de resposta do sistema.
- Projetista de banco de dados:
- Identificar os dados a serem armazenados.
- Escolher estruturas apropriadas para representar e armazenar esses dados.
- Se comunicar com todos os potenciais usuários a fim de entender suas necessidades e criar um projeto que as atenda.
- Interage com cada potencial grupo de usuários e desenvolve visões do banco de dados que cumprem os requisitos de dados e processamento desses grupos.
Modelos de Banco de Dados
- Bancos de dados relacionais:
- Separa o armazenamento físico dos dados de sua representação conceitual.
- Fornece uma base matemática para a representação e a consulta dos dados.
- Bancos de Dados Orientados a Objeto:
- Forneciam estruturas de dados mais gerais.
- Incorporavam tipos de dados abstratos, encapsulamento de operações, herança e identidade de objeto.
- A complexidade do modelo e a falta de um padrão inicial contribuíram para seu uso limitado.
- XML:
- É o principal padrão para intercâmbio entre diversos tipos de bancos de dados e páginas Web.
- Combina conceitos dos modelos usados nos sistemas de documentos com os conceitos de modelagem de banco de dados.
Conceitos Importantes
- Banco de dados: Depósito de fatos cuidadosamente projetado e estruturado.
- Sistema de informação: Fornece a coleta de dados, o armazenamento e recuperação deles.
- Análise de sistemas: Processo que estabelece a necessidade e a extensão de um sistema de informações.
- Desenvolvimento de sistemas: Processo de criação de sistemas de informação.
- Desenvolvimento de bancos de dados: Processo de projeto e implementação de bancos.
- Criar modelos conceituais, lógicos e físicos.
- Normalizados, não redundantes, totalmente integrados.
- Criar estrutura de armazenamento, carregamento e gerenciamento de dados.
Níveis Gerenciais e Tomada de Decisão
- Gerentes seniores: Tomam decisões estratégicas de longo prazo sobre produtos e serviços.
- Gerentes médios: Executam os programas e planos da gerência sênior.
- Trabalhadores do conhecimento e de dados: Consiste em criar novos conhecimentos ou manipular e disseminar a informação.
- Gerentes operacionais: Monitoram as atividades diárias da empresa.
Ciclo de Vida de Desenvolvimento de Sistemas (SDLC)
- Planejamento:
- Avaliação inicial: os sistemas existentes devem permanecer, ser modificados ou substituídos?
- Estudo de viabilidade: aspectos técnicos de hardware e exigência de software, custo do sistema, custo operacional.
- Análise:
- Requisitos do usuário.
- Avaliação do sistema existente.
- Projeto lógico do sistema.
- Projeto:
- Projeto detalhado dos processos do sistema.
- Especificações técnicas.
- Projeto do sistema de banco de dados.
- Implementação e teste:
- Codificação, teste e depuração.
- Criação do banco de dados.
- Validação e teste de aceitação.
- Implantação e operação:
- Revisão e impressão da documentação final.
- Treinamento dos usuários.
- Todas as funções do sistema estão em funcionamento e foram validadas.
- O sistema é continuamente avaliado e passa por sintonia fina.
- Manutenção:
- Corretiva.
- Adaptativa.
- Aperfeiçoamento.
Fases do Projeto de Banco de Dados
- Definição do sistema:
- Análise da situação da empresa.
- Qual é a sua missão nesse ambiente?
- Qual é a estrutura organizada?
- Definição dos problemas e restrições.
- Como o sistema existente funciona?
- Que entrada exige?
- Que documento gera?
- Definição dos objetivos:
- Qual é o objetivo inicial do sistema proposto?
- O sistema fará interface com outros sistemas?
- O sistema compartilhará os dados com outros usuários ou sistemas?
- Projeto de banco de dados:
- Projeto conceitual.
- Seleção do software de SGBD.
- Projeto lógico.
- Projeto físico.
- Projeto conceitual:
- Análise e requerimentos de bancos de dados.
- Modelagem entidade-relacionamento e normalização.
- Verificação do modelo de dados.
- Projeto de banco de dados distribuídos.
- Seleção de SGBD:
- Custo.
- Recursos e ferramentas do SGBD.
- Modelo subjacente.
- Portabilidade.
- Projeto lógico:
- É dependente do SGBD.
- Traduz o modelo conceitual em definições de tabelas e visualizações, etc.
- Projeto físico:
- Dependente do hardware.
- Definir as estruturas de armazenamento e caminhos de acesso para desempenho ideal.
Abordagens de Projeto
- Top-down:
- Identifica os conjuntos de dados.
- Define os elementos de dados de cada um desses conjuntos.
- Identificação de diferentes tipos de entidades.
- Definição de cada atributo.
- Bottom-up:
- Identifica os elementos de dados.
- Agrupa-os em conjuntos de dados.
- Centralizado x descentralizado:
- Escopo.
- Tamanho do sistema.
- Estilo de gerenciamento.
- Estrutura da empresa.
Outros Conceitos
- Módulo cliente: Projetado para executar em uma estação de trabalho ou computador pessoal.
- Módulo servidor: É responsável pelo armazenamento de dados, acesso, pesquisa e outras funções.
- Abstração de dados: Característica fundamental da abordagem de banco de dados. Refere-se à supressão de detalhes da organização e armazenamento dos dados. Destaca recursos essenciais para um melhor conhecimento desses dados.
- Modelo de dados: Uma coleção de conceitos que podem ser usados para descrever a estrutura de um banco de dados.
- Estrutura de banco de dados: Tipos, relacionamentos, restrições que se aplicam aos dados e operações básicas de recuperação e atualizações no banco de dados.
- Modelos de dados de alto nível: Entidades, atributos e relacionamentos.
- Modelos de dados de baixo nível: Ordenação de registros e caminhos de acesso.
- Modelos de dados representativos: Baseados em registros.
- Entidade: Um objeto ou conceito do mundo real que é descrito no banco de dados (funcionário, projeto).
- Atributo: Representa alguma propriedade de interesse que descreve melhor uma entidade (nome ou salário do funcionário).
- Relacionamento: Acontece entre duas ou mais entidades, representa uma associação entre elas.
- Esquemas: Descrição do banco de dados, é especificado durante o projeto do banco de dados.
- Diagrama de esquema: Representa apenas alguns aspectos de um esquema (nomes de tipos de registros, itens de dados).
- Estado: Os dados no banco de dados em determinado momento no tempo.
- Instâncias: O conjunto atual de ocorrências no banco de dados.
- Metadados: As descrições das construções e restrições do esquema são armazenadas no catálogo do SGBD.
Níveis de Abstração
- Nível interno:
- Descreve a estrutura do armazenamento físico do banco de dados.
- Usa um modelo de dados físicos.
- Descreve detalhes completos do armazenamento de dados e caminhos de acesso para o banco de dados.
- Nível conceitual:
- Descreve a estrutura do banco de dados inteiro para a comunidade de usuários.
- Oculta os detalhes das estruturas de armazenamento físico.
- Concentra na descrição de entidades, tipos de dados, relacionamentos, operações do usuário e restrições.
- Nível externo:
- Inclui uma série de esquemas externos ou visões do usuário.
- Descreve a parte do banco de dados em que um grupo de usuários em particular está interessado.
- Oculta o restante do banco de dados do grupo de usuários.
Independência de Dados
- Independência lógica de dados: Capacidade de alterar o esquema conceitual sem ter de alterar os esquemas externos ou os programas de aplicação. Acrescentar ou remover um tipo de registro ou item de dados.
- Independência física de dados: Capacidade de alterar o esquema interno sem ter de alterar o esquema conceitual.
Linguagens de Banco de Dados
- DDL (Linguagem de Definição de Dados):
- Usada pelo DBA e projetistas de banco de dados.
- Processar instruções dos construtores de esquemas.
- Armazenar a descrição de esquema no catálogo do SGBD.
- É usada para especificar o esquema conceitual.
- VDL (Linguagem de Definição de Visão).
- SDL (Linguagem de Definição de Armazenamento).
- DML (Linguagem de Manipulação de Dados).
Interfaces SGBD
- Interface baseada em menu para clientes.
- Baseada em formulários.
- Gráfica com o usuário.
- Para DBA.
Componentes do SGBD
- Gerenciador de buffer.
- Gerenciador de dados armazenados.
- Compilador de consulta.
- Otimizador de consulta.
Arquitetura Cliente/Servidor
- Lida com grande número de PCs, estações de trabalho, servidores de arquivo, impressoras, servidores web.
- As máquinas clientes oferecem ao usuário as interfaces apropriadas para utilizar esses servidores.
- Arquitetura C/S duas camadas:
- Servidor é chamado servidor de consulta ou servidor de transação.
- Conectividade de banco de dados aberta (ODBC).
- Conectividade de banco de dados Java (JDBC).
- Arquitetura três camadas:
- Acrescenta uma camada intermediária entre o cliente e o servidor.
- Servidor de aplicação ou servidor web.