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)

  1. 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.
  2. Análise:
    • Requisitos do usuário.
    • Avaliação do sistema existente.
    • Projeto lógico do sistema.
  3. Projeto:
    • Projeto detalhado dos processos do sistema.
    • Especificações técnicas.
    • Projeto do sistema de banco de dados.
  4. Implementação e teste:
    • Codificação, teste e depuração.
    • Criação do banco de dados.
    • Validação e teste de aceitação.
  5. 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.
  6. Manutenção:
    • Corretiva.
    • Adaptativa.
    • Aperfeiçoamento.

Fases do Projeto de Banco de Dados

  1. 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?
  2. 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?
  3. Projeto de banco de dados:
    • Projeto conceitual.
    • Seleção do software de SGBD.
    • Projeto lógico.
    • Projeto físico.
  4. 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.
  5. Seleção de SGBD:
    • Custo.
    • Recursos e ferramentas do SGBD.
    • Modelo subjacente.
    • Portabilidade.
  6. Projeto lógico:
    • É dependente do SGBD.
    • Traduz o modelo conceitual em definições de tabelas e visualizações, etc.
  7. 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.

Entradas relacionadas: