Buscar

Aula 1 e 2

Prévia do material em texto

Modelagem de Dados – Apoio aulas 1 e 2 (Prof. Vanilde)
Bibliografia:
HEUSER, C. Projeto de Banco de Dados. Editora Artmed  6.Ed, 2009, Série de
Livros Didáticos, número 4.
 
SILBERSCHATZ, Abraham; KORTH, Henry F; SUDARSHAN, S. A. Sistema de banco
de dados. 5ª ed. Rio de Janeiro: Campus, 2006
 
ELMASRI, R.; NAVATHE, S., Sistemas de Banco de Dados. Pearson Education do Brasil, 4ª.Ed  2005.
Dados x informação 
Processo
Os dados relevantes e que devem ser manipulados por um determinado negócio se mantém estáveis mesmo que o negócio em questão modifique radicalmente sua forma de operação, ou seja, seus processos. Logo, os dados são mais estáveis que os processos. Por esta razão muitos autores acreditam que o banco de dados é uma das partes mais valiosas e importantes de um sistema de informação.
Banco de dados:
“É uma coleção organizada de fatos e informações” (Stair, 1996)
“É uma coleção de fatos registrados que refletem o estado de certos aspectos de interesse do mundo real. “(Machado e Abreu, 1995)
Sistema Gerenciador de Banco de Dados (SGBD):
é uma coleção de programas que permite ao usuário criar e manter um banco de dados. ” (Navathe, 1994)
“é uma coleção de programas e utilitários para organizar, armazenar, atualizar e recuperar dados.”(Hackathorn, 1993)
Evolução Histórica dos Banco de Dados:
Os primeiros Sistemas de Banco de Dados foram implantados no mercado no final da década de 60 e eram conceitualmente muito simples (não possuindo todos os conceitos anteriores), de acordo com as necessidades das aplicações da época. Inicialmente os grandes impulsionadores deste segmento foram a IBM, ORACLE e SYBASE.
A melhor maneira de entender a natureza geral e as características dos bancos de dados de hoje é olhar para as características dos sistemas que antecederam o uso da tecnologia de banco de dados: os Sistemas de Gerenciamento de Arquivos.
Cada usuário define e implementa os arquivos necessários para uma aplicação específica, acarretando repetição dos dados gerando inconsistência nas informações.
O acesso aos dados está escrito nos programas que o manipulam, subordinando os programas aos arquivos.
A manipulação dos dados contidos nos arquivos pelas aplicações específicas dificulta o desenvolvimento de novos sistemas e torna a manutenção dos aplicativos difícil e cara. 
O sistema possibilita uma redundância não controlada de dados e inconsistência ao permitir que em um sistema um dado seja alterado e esse mesmo dado não seja alterado em outro.
A responsabilidade sobre os procedimentos de backup e recuperação esta a cargo da aplicação.
Banco de Dados
Um arquivo (tabela) é definido uma única vez e atende a várias aplicações
Armazena-se junto com os dados toda as informações referentes à forma como foram estruturados os dados e onde eles estão armazenados fisicamente. Essas informações estão armazenadas em um catálogo que é chamado de meta-data.
Há separação entre programas e dados. No SGBD os acessos são escritos no banco de dados e os programas enviam comandos solicitando o acesso aos dados. Esse conceito é chamado de abstração de dados, que caracteriza-se por uma independência entre programas e dados e entre programas e operações de manipulação de dados.
São permitidas visões diferenciadas sobre a mesma base de dados para aplicações diferentes.
É permitido acesso simultâneo de vários usuários ao mesmo dado. Essa simultaneidade é tratada através do gerenciamento da concorrência.
 Componentes de um Sistema de Banco de Dados
Programas de Aplicações/Consultas: software que permite aos usuários acessarem o banco de dados
Sistema Gerenciador de Banco de Dados(SGBD): coleção de programas que permite aos usuários criar e manter um banco de dados. O SGBD é, portanto, um sistema de software de propósito geral que facilita os processos de definição, construção, manipulação e compartilhamento de bancos de dados entre vários usuários e aplicações.
Base de Dados: arquivos contendo os dados e os metadados. 
Pessoas envolvidas com Banco de Dados
Administrador de dados (AD): responsáveis por identificar os dados a serem armazenados no BD e por escolher as estruturas apropriadas para representar e armazenar esses dados. Eles devem se comunicar com os possíveis usuários do BD, obter a visão dos dados que cada um possui, integrando-as de forma a se obter uma representação adequada de todos os dados. Estas visões são então analisadas e, posteriormente, integradas para que, ao final, o projeto da base de dados possa ser capaz de dar suporte aos requisitos de todos os grupos de usuários.
Além disto, desenvolve e mantém o dicionário de dados, garante as necessidade corporativas de dados 
OBS: algumas organizações chamam esta função de Analista de Banco de Dados ou Projetista
Administradores do BD (ABD) : em qualquer organização onde muitas pessoas compartilham muitos recursos, existe a necessidade de um administrador chefe para supervisionar e gerenciar estes recursos. Num ambiente de base de dados, o recurso primário é a própria base de dados e os recursos secundários são o próprio SGBD e software relacionados. A administração desses recursos são de responsabilidade do DBA (“Database Administrator”). 
O DBA é responsável por:
Autorizar acesso à base de dados e coordenar e monitorar seu uso.
Desenvolver os esquemas internos através da construção das tabelas, índices, etc., Garantir a segurança dos dados, bem como seu backup e recuperação em caso de falhas, Garantir a performance do banco de dados
Desenvolver visões que atendam ao esquema externo
OBS: Em grandes organizações, existe uma equipe de DBA´s;
Analistas de sistemas e Programadores de aplicação: os analistas de sistemas determinam os requisitos dos usuários finais, especialmente de usuários que necessitam de maior interação com o BD, enquanto que os programadores de aplicações utilizam-se destas especificações para desenvolver uma aplicação.
Usuários Finais: existem profissionais que precisam ter acesso à base de dados para consultar, modificar e gerar relatórios. A base de dados existe para estes usuários. Existem algumas categorias de usuários finais:
usuários ocasionais: ocasionalmente fazem acesso à base de dados, mas eles podem necessitar de diferentes informações a cada vez que fazem acesso. Eles podem usar uma linguagem de consulta sofisticada para especificar suas requisições e são tipicamente gerentes de médio ou alto-nível;
usuários comuns ou paramétricos: estes usuários realizam operações padrões de consultas e atualizações, chamadas TRANSAÇÕES PERMITIDAS, que foram cuidadosamente programadas e testadas. Estes usuários constantemente realizam recuperações e modificações na base de dados;
usuários sofisticados: incluem engenheiros, analistas de negócios e outros que procuraram familiarizar-se com as facilidades de um SGBD para atender aos seus complexos requisitos;
Pessoal de suporte 
Principais características de um SGBD
Independência de Dados
 “Consiste na capacidade de permitir que haja evolução na descrição dos dados da empresa, sem que os sistemas ou aplicações tenhas que ser alterados”
 “Imunidade das aplicações às mudanças na estrutura de armazenagem e estratégias de acesso”
Pode-se apresentar dois tipos
Independência Lógica dos Dados: consiste na capacidade de alterar o esquema conceitual sem provocar modificações nos esquemas externos ou nos programas aplicativos.
Independência Física dos Dados: consiste na capacidade de alterar o esquema interno sem provocar modificações no esquema conceitual.
Controle de Redundância
“Redundância é armazenar o mesmo dado várias vezes para atender diversas aplicações. Para manter a consistência do banco de dados, deve-se armazenar o dado uma única vez e em apenas um lugar no banco de dados. Isto permite manter a consistência, economizar espaço de armazenamento.” Em alguns caso, a redundância é necessária, porém ela deve ser controlada pelo sistema de gerenciamento de banco de dados. “ (Elmasri & Navathe,1994)
“É um conceito representado pelo controle centralizado dos dados compartilhados por diversas aplicações, reduzindo a repetição de dados a um mínimo justificável e aceita apenas por questão de desempenho.” (Cerícola, 1991)
 Problemas da redundância de dados:
 duplicação de esforço para manter os dados atualizados;
 desperdício de espaço de armazenamento;
 possibilidade de inconsistência dos dados
Compartilhamento de Dados
Permitir a usuário diferentes a utilização simultânea de um mesmo dado.
Exemplos: As informações sobre clientes podem ser acessadas pelo sistema de vendas, de contas a receber e faturamento simultaneamente.
 A mesma base de dados sobre empregados pode ser usada simultaneamente pelo sistema de recursos humanos e pelo sistema de vendas. No primeiro caso os dados serão utilizados no processo de pagamento e no segundo no processo de alocação dos vendedores às áreas de atendimento a cliente.
Restrições de Acesso
“Um SGBD deve prover controles de segurança e autorização, que são utilizados para criar contas e seus respectivos direitos de acesso quando múltiplos usuários compartilham um banco de dados.” (Navathe,1994)
“ Os controles de segurança abrangem conceitos tais como: procedimentos de validação e controle, garantia de integridade e controle de acesso, que visam resguardar o banco de dados de uma possível perda ou destruição de dados seja por falha de programa ou por falha de equipamento” (Cerícola, 1991)
 Exemplos: O sistema de pagamento poderá atualizar o cargo ocupado pelo empregado enquanto o sistema de vendas poderá apensa consultar qual o cargo de um determinado empregado.
O sistema de controle de material poderá incluir um novo material no cadastro existente enquanto a área de compras consultará as informações sobre os materiais necessários para o processo de produção.
Segurança e autorização
 senhas para usuários e para grupos de usuários;
 restrição de acesso a parte do banco de dados;
 proibição de executar certas operações;
 acesso restrito apenas a transações “enlatadas”;
 proibição de uso de software privilegiado, como o software de criação de contas.
Restrições de Integridade
 “A maioria dos SGBD provem certas restrições de integridade que devem ser aplicadas aos dados. O SGBD deve ter mecanismos para possibilitar a definição das restrições e assegurar o respeito a estas. Um exemplo de restrição de integridade é a definição de um tipo de dado (data type) para cada item de dado.
Exemplo: Ao definir o tipo cores como: azul, vermelho, amarelo e verde. E em seguida definir um atributo cor_parede como do tipo cores. O SGBD aceitará apenas os tipos definidos ou seja azul, vermelho, amarelo e verde como válidos para este atributo.
 Pergunta: o que aconteceria se o usuário informasse a cor branco para o atributo cor_parede?
Mecanismos de Backup e Recuperação
 “Um SGBD deve prover facilidades para recuperação de falhas do hardware ou software.
 Estes mecanismos evitam que cada aplicação tenha que projetar e desenvolver seus próprios controles contra a perda de dados.
Exemplo: Se o sistema falha no meio de um programa de alteração complexo, o mecanismo de recuperação é responsável por assegurar que o banco de dados será restaurado para o estágio que ele se encontrava antes do início da execução do programa.
Benefícios adicionais dos bancos de dados
Potencial para o estabelecimento e o cumprimento de padrões
Flexibilidade de mudanças
Redução no tempo de desenvolvimento de novas aplicações
Disponibilidade de informação atualizada
Economia de escala
Bancos de dados NÃO são sempre a solução!!!
Quando NÃO usar bancos de dados (desvantagens)
 Volume de dados pequeno, aplicações simples, bem definidas. Mudanças não são esperadas.
 Requisitos estritos de tempo real.
Acessos múltiplos e concorrentes não são necessários
BD x Abstração de Dados
Abstração é um processo mental que seleciona algumas características e propriedades de um conjunto de objetos e exclui outras que não são relevantes
Um dos maiores benefícios dos sistemas de banco de dados é proporcionar aos usuários uma visão abstrata dos dados. O sistema é capaz de ocultar alguns detalhes sobre a forma de armazenamento e a manutenção dos dados.
• A eficiência da recuperação de informações está relacionada à forma como as estruturas de representação são projetadas e, dado a complexidade e importância destas representações, elas devem ser protegidas em níveis de abstrações.
• Estes níveis facilitam a manutenção do sistema e a interação dos usuários com os sistemas.
Níveis de Abstração de Dados em um SGBD (Arquitetura ANSI/SPARC)
Nível de Externo: O mais alto nível de abstração. Proporciona uma visão parcial do banco de dados. Diferentes visões são usados por diferentes usuários.
Nível Conceitual: quais dados estão armazenados e quais são os inter-relacionamentos existentes entre eles. Usado pelos administradores de banco de dados e programadores.
Nível Físico: como os dados estão, de fato, armazenados (descrição em detalhes das estruturas de dados). Mais baixo nível de abstração. Administradores de banco de dados devem ter noções da organização deste nível.
Níveis de Abstração de Dados em um SGBD (Arquitetura ANSI/SPARC)
Objetivo é permitir que o SGBD garanta:
1) diferentes níveis de abstrações do BD
2) independência de dados
 O que interessa é que os dados estejam disponíveis no momento necessário, independentemente de como este foi armazenado
A arquitetura ANSI/SPARC permite 2 tipos de independência de dados:
 Independência de Dados Lógica
• É a capacidade de alterar o nível conceitual sem afetar o nível externo ou programas de aplicação. Exemplo: 
Adição/exclusão de um campo. No último caso, as visões do nível externo que referem-se aos dados restantes não seriam afetadas
Independência de Dados Física
• É a capacidade de alterar o nível interno sem afetar o nível conceitual. Exemplo:
Criação de estruturas de acesso para melhorar a performance de consulta ou atualização.
Modelo, Instâncias e Esquemas 
Modelo de BD
É uma especificação formal para descrever qualquer BD a partir de estruturas de dados, regras de integridade de dados (RI) e operações sobre os dados.
Os modelos de dados permitem descrever:
 Os relacionamentos entre os dados,
 A semântica dos dados e
 As regras de consistência
Modelo de BD
Exemplos de Modelos de Dados:
 Entidade e relacionamento
 Relacional
 Baseado em Objetos
 Hierárquico
 Rede
Esquema de BD
 Também chamado de intenção do BD
É a descrição de um BD segundo um modelo de dados
Instância de BD
 Também chamado de extensão do BD)
 
É a coleção dos dados armazenados no BD em um determinado momento
Projeto (Design) de BD

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes