Banco de Dados CIn/UFPE

Slides:



Advertisements
Apresentações semelhantes
Teas 01 Banco de dados.
Advertisements

Curso: Banco de Dados I Análise de Sistemas PUC Campinas
Evolução dos SGBD’s (2ª Parte).
Resumo 1.1) Introdução 1.2) Abordagem Convencional de Arquivos
BANCO DE DADOS Transparências baseadas no capítulo 1 do livro de KORTH e SILBERCHATZ e 1 e 2 do livro de ELMASRI e NAVATHE. Juliana Amaral e Rodrigo Baroni.
Funcionalidades de um SGBD
MODELAGEM DE SISTEMAS DE INFORMAÇÃO
SISTEMAS DE INFORMAÇÃO
SISTEMAS DE INFORMAÇÃO
Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação.
Maurício Edgar Stivanello
SGBD.
Sistema Gerenciador de Banco de Dados SGBD
Sistema Gerenciador de Banco de Dados SGBD
Introdução aos Sistemas Gerenciadores de Banco de Dados
Introdução a Bancos de Dados
Professora: Aline Vasconcelos
SCC Bancos de Dados e Suas Aplicações
Conceitos Básicos Dado: fato do mundo real que está registrado e possui um significado implícito no contexto de um domínio de aplicação Exemplos: endereço,
Seminários Avançados I
Material III-Bimestre Wagner Santos C. de Jesus
Prof. Alexander Roberto Valdameri
Prof. Alexander Roberto Valdameri
Fundamentos de Banco de Dados Prof. Alexander Roberto Valdameri
Sistemas de Informação
Professor Victor Sotero
Administração de Sistemas de Informação Banco de Dados
CONCEITOS Modelo de Dados
Educação Profissional Técnica de Nível Médio em Informática
SGBD.
Tecnologias de Linguagens para Banco de Dados
Banco de Dados Aplicado ao Desenvolvimento de Software
Bancos de Dados Projeto de BD
É um conjunto de registos dispostos numa estrutura regular que possibilita a reorganização dos mesmos e a produção de informação com a menor redundância.
Banco de Dados e Usuários do Banco de Dados (capítulo 1)
BD.
Prof. Kelly E. Medeiros Bacharel em Sistemas de Informação
ACESSO A BASE DE DADOS.
Projeto de Banco de Dados
Introdução a Banco de dados
Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.
Contexto da disciplina
A abordagem de banco de dados para gerenciamento de dados
Fundamentos de Banco de Dados Fundamentos de Banco de Dados Prof. Gale 2º. Semestre 2008.
Banco de Dados Aplicado ao Desenvolvimento de Software
Objetivos do Capítulo Explicar a importância da implementação de processos e tecnologias de gerenciamento de dados numa organização. Explicar as vantagens.
Cristina Paludo Santos URI – Campus de Santo Ângelo
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
Introdução a Banco de Dados Aula 04
Bancos de Dados Estrutura e Funcionamento de um SGBD
Introdução a Banco de Dados Aula 01
Mestrado em Engenharia de Computação área de concentração Geomática
Banco de Dados Universidade do Estado de Santa Catarina
Bancos de Dados Fundamentos Prof. Marcos R. Cardoso.
Projeto de Banco de Dados
UCSal – Bacharelado em Informática
UCSal – Bacharelado em Informática Banco de Dados Profa. Semíramis Assis
B ANCO DE DADOS Introdução ABTécnico. C ONCEITO É uma coleção de dados interrelacionados, representando informações sobre um domínio específico. Exemplos:
Plano de Ensino Conceitos e Características Tipos de Banco de Dados
1 Database Systems, 8 th Edition Sistemas de Banco de Dados: Projeto, Implementação e gestão Oitava Edição Capítulo 2 Modelo de Dados.
4P/SI – 2010/02 Prof. Carlos Alberto Seixas BANCO DE DADOS I.
1 Database Systems, 8 th Edition Sistemas de Banco de Dados: Projeto, Implementação e gestão Oitava Edição Capítulo 2 Modelo de Dados.
TÉCNICAS DE ESTIMATIVAS
Banco de Dados Distribuídos Sílvia Cristina de Matos Soares
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 1 Tópicos  Introdução  Um exemplo  Características da abordagem de banco de dados  Vantagens.
Modelos de dados.
Banco de Dados Parte 1 Profa. Ana Karina Barbosa Fevereiro/2008.
Fundamentos de Banco de Dados Prof. André Cypriano M. Costa
BANCO DE DADOS Prof. Marcelo West
Modelagem de Banco de Dados: Conceitos
Transcrição da apresentação:

Banco de Dados CIn/UFPE Ana Carolina Salgado Fernando Fonseca Valéria Times

Tópicos Conceitos Básicos Modelagem Conceitual Modelo Relacional Mapeamento ER/Relacional SQL / Aplicações Modelos Orientados a Objetos SGBD Objeto-relacional Projeto

Conceitos Básicos Informação e Dado Banco de Dados Sistemas de Gerenciamento de Banco de Dados (SGBD) Arquitetura dos SGBD Evolução dos SGBD Perspectivas de Mercado dos SGBD

Informação X Dado Conceitos Básicos Fatos registrados, e que têm um significado implícito, sobre acontecimentos Gravação em código adequado de uma observação, de um objeto, de um fenômeno Utilizados para transmitir, armazenar e deduzir informações

Informação X Dado Conceitos Básicos Significado associado ou deduzido de um conjunto de dados e de associações entre eles. Conhecimentos que podem ser inferidos dos dados.

Processamento de Arquivos Definição Coleção de programas de aplicação que realizam tarefas para os usuários (e.g. impressão de relatórios). Por quê falar sobre Arquivos? Conhecimento dos problemas encontrados em processamento de arquivos é importante para evitá-los em sistemas de BD. Necessidade de conversão de um sistema baseado em arquivos para um sistema de BD.

Processamento de Arquivos Setor de VENDAS Arquivos Programas de Aplicação Entrada de Dados e Relatórios Manipulação de Arquivos Definição de Arquivos IMÓVEL ( Código, Rua, Cidade, CEP, Tipo, Quartos, Aluguel, CPF_Prop) PROPRIETARIO ( CPF, Nome, Endereço, Fone) CLIENTE ( CPF, Nome, Endereço, Fone, TipoEscolhido, AluguelMax) Arquivos Programas de Aplicação Entrada de Dados e Relatórios Manipulação de Arquivos Definição de Arquivos Setor de CONTRATOS IMÓVEL ( Código, Rua, Cidade, CEP, Aluguel) ALUGUEL ( NumContrato, Imóvel, CPF_Cli, Valor, Duração, FormaPagto) CLIENTE ( CPF, Nome, Endereço, Fone)

Processamento de Arquivos Limitações Separação e Isolamento de Dados Dificuldade no acesso aos dados porque eles são isolados em arquivos separados. Exemplo:Listar todas as casas que satisfazem os requisitos de clientes Criar um arquivo temporário dos clientes que preferem casas. Identificar casas cujo valor do aluguel seja menor ou igual ao limite dado pelos clientes. Testar e sincronizar o processamento dos dois arquivos para garantir a extração correta dos dados.

Processamento de Arquivos Limitações (Cont.) Duplicação de Dados Conseqüência da abordagem descentralizada: dados e programas desenvolvidos por setor e de forma independente. Duplicação excessiva de dados é problemática: Custo adicional para realização das operações de entrada de dados e atualização. Custo adicional do espaço de armazenamento. Pode gerar inconsistências, acarretando em custos adicionais para detecção e correção de erros. Exemplo: valor do aluguel pode ser atualizado apenas no setor de vendas.

Processamento de Arquivos Limitações (Cont.) Dependência entre Dados e Programas Dificuldade em mudar as definições das estruturas de arquivo existentes. Exemplo:Aumentar o tamanho do campo de endereço do imóvel Criar um programa de conversão para: Abrir o arquivo original para leitura Abrir um arquivo temporário representando a nova estrutura Ler um registro do arquivo original, converter o dado e gravá-lo no arquivo temporário. Repetir isto p/ todos os registros. Remover o arquivo original. Renomear o arquivo temporário.

Processamento de Arquivos Limitações (Cont.) Incompatibilidade de Formatos de Arquivos Como a definição dos arquivos são embutidas nos programas de aplicação, os formatos destes arquivos dependem da linguagem de programação escolhida. Pode haver a necessidade de escrita de um software para converter os arquivos para um formato comum e facilitar o processamento. Isto acarreta em consumo de tempo e dinheiro. Exemplo: O setor de Contratos pode desejar obter o nome e o endereço de todos os proprietários cujos imóveis estão atualmente alugados.

Processamento de Arquivos Limitações (Cont.) Consultas Pré-determinadas Usuários sempre dependem do ES para a escrita de consultas/relatórios requeridos. Conseqüentemente: O tipo de consulta/relatório a ser produzido deve ser estabelecido a priori. Impossibilidade de realização de consultas não-planejadas (i.e. consultas ad-hoc). Aumento da carga de trabalho do ES, resultando em: Escrita de Programas Inadequados ou ineficientes na satisfação dos requisitos dos usuários. Com documentação reduzida. De manutenção difícil. Omissão/Redução de funcionalidades importantes (e.g. recuperação, segurança, ...)

Processamento de Arquivos Causas das Limitações: Todos os problemas anteriores podem ser atribuídos aos seguintes fatores: A definição dos dados é embutida nos programas de aplicação, ao invés de ser armazenada separadamente e independentemente. Qualquer controle sobre o acesso e a manipulação dos dados é feito apenas pelos programas de aplicação. A opção de processamento de arquivos pode ser feita quando: Volume de dados armazenados for pequeno. Volume de dados for grande, mas apenas operações de consultas são necessárias.

Por quê Banco de Dados? Banco de Dados X Arquivo Dados Manipulados por vários usuários com uma única visão Registros físicos compostos de campos Dados manipulados por vários usuários com visões diferentes Agrupamento de um conjunto de arquivos, compartilhados por usuários diferentes, concorrentes e... competidores

Por quê Banco de Dados? Aplicação 1 Aplicação 2 Aplicação 3 BD

Por quê Banco de Dados? BD Setor de VENDAS Programas de Aplicação Entrada de Dados e Relatórios SGBD BD Dados e Metadados Programas de Aplicação Entrada de Dados e Relatórios Setor de CONTRATOS IMÓVEL ( Código, Rua, Cidade, CEP, Tipo, Quartos, Aluguel, CPF_Prop) ALUGUEL ( NumContrato, Imóvel, CPF_Cli, Valor, Duração, FormaPagto) CLIENTE ( CPF, Nome, Endereço, Fone, TipoEscolhido, AluguelMax) PROPRIETARIO ( CPF, Nome, Endereço, Fone)

Banco de Dados Definição Coleção de dados inter-relacionados Conjunto de dados estruturados que são confiáveis, coerentes e compartilhados por usuários que têm necessidade de informações diferentes. Coleção compartilhada de dados logicamente relacionados e da descrição destes dados que são projetados para satisfazer as necessidades de informação de uma organização.

Sistemas de Gerenciamento de Banco de Dados (SGBD) Sistemas de Computação que permitem ao usuário, definir, criar, manter e controlar o acesso ao BD. Consistem em uma coleção de dados inter-relacionados e em um conjunto de programas para acessá-los. Contém Informações sobre um empreendi- mento particular Coleção de Dados Banco de Dados

SGBD Conjunto de Programas Descrever Armazenar Manipular Interrogar e Tratar

SGBD Objetivo dos SGBD Prover um ambiente que seja conveniente e eficiente para recuperar e armazenar informações de Bancos de Dados Eliminar ou Reduzir Redundância e Inconsistência de Dados Dificuldade no Acesso aos Dados Isolamento dos Dados Anomalias de Acesso Concorrente e Problemas de Segurança

SGBD Funcionalidades dos SGBD Armazenamento, recuperação e atualização de dados Dicionário de dados acessível aos usuários Gerenciamento de transações Controle de concorrência Técnicas de recuperação Serviços de autorização Suporte para Interoperabilidade Mecanismos de Integridade Independência de dados Funções básicas (organização de índices, análise estatística, ...)

. . . SGBD Abstração de Dados Simplifica a Interação do Usuário com o Sistema . . . Visão 2 Visão 1 Visão n Nível Conceitual Nível Físico

SGBD Modelo de Dados Uma Coleção de Ferramentas Conceituais para Descrição de Dados, Relacionamentos entre eles, a Semântica dos Dados e Restrições de Consistência Modelos Lógicos / Conceituais Baseados em Registros Hierárquico Em Rede Relacional

SGBD Baseados em Objetos Entidade-Relacionamento (E-R) Binário Infológico Funcional Semânticos Orientados a Objetos Modelos Físicos Estruturas de Memória

SGBD Instâncias e Esquemas Independência de Dados Instância de BD é a Coleção de Informações Armazenadas no Banco de Dados em um Determinado Instante (Extensão) Esquema é o projeto geral do BD (Intenção) Independência de Dados Habilidade de Modificar a Definição de um Esquema em um Nível sem Afetar a Definição do Esquema em um Nível Mais Alto Independência Lógica de Dados Independência Física de Dados

SGBD Linguagens Linguagem de Definição de Dados Data Definition Language (DDL) - Especifica o Esquema do BD . Permite que o ABD ou usuário nomeie e descreva as entidades e os relacionamentos requeridos pela aplicação. Possibilita a especificação de restrições de integridade e de segurança. Linguagem de Manipulação de Dados Data Manipulation Language (DML) - Manipulação dos Dados como Organizados pelo Modelo de Dados Apropriado.

SGBD Linguagem de Manipulação de Dados (Cont.) Provê um conjunto de instruções para suportar as operações básicas de manipulação de dados mantidos no BD. Linguagem de Consulta Query Language é a parte da Linguagem de Manipulação que envolve o Resgate de Informações. Linguagem de alto nível e especialmente projetada para satisfazer diversos requisitos de recuperação de dados.

SGBD Linguagem de Manipulação de Dados (Cont.) Tipos de DML: Procedimental: Permite que o usuário indique ao sistema quais dados são necessários e como exatamente recuperá-los. Trata registros individualmente. É embutida em uma linguagem de programação de alto nível (chamada de linguagem hospedeira). É mais difícil de aprender/usar. Exemplo: DML de Sistemas Hierárquicos ou Baseado em Redes.

SGBD Tipos de DML (Cont.): Não-Procedimental: Permite que o usuário apenas indique ao sistema quais dados são necessários. Opera sobre conjuntos de registros. É também chamada de linguagem declarativa. Exemplos: SQL e QBE Linguagem de 4a Geração Tipo Especial de Linguagem que Combina Estruturas de Controle de Linguagens de Programação com Estruturas de Controle para Manipulação de Elementos de um Banco de Dados.

SGBD Modelo BD Descreve Estado Realidade Nebulosa Observação Conceitual Atualiza Valores Define ABD Descreve Modelo Lógico BD Minimundo Organiza Idéias Modelo Físico Cria

. . . Arquitetura de SGBD Arquitetura ANSI/SPARC para SGBD Nível Externo Esquema Externo 1 . . . Esquema Externo 2 Esquema Externo n (Subesquema) Nível Conceitual Esquema Conceitual Nível Interno Esquema Físico

Arquitetura dos SGBD Usuários Não-Espec. Engenheiros de SW ABD Especialistas Interfaces dos Aplic.. Programa de Aplic. Consultas Esquema de BD Pré-Compilador DML Processador de Consulta Código Objeto da Aplicação Compilador de DDL Gerenciador de BD Sistema Gerenciador de BD Gerenciador de Arquivos Arquivos de dados Dicionário de Dados Disco de Ar- mazenamento

Ambiente de SGBD Tipos de Pessoas Envolvidas: Administrador de BD (ABD) Responsável pelo gerenciamento dos recursos do sistema de BD e pela solução de problemas. Usuários Pessoas cujos trabalhos requerem acessos ao BD para consultar, atualizar e gerar relatórios. Podem ser classificados em: Especialistas: São familiarizados totalmente com as facilidades do SGBD. Não-Especialistas: Fazem uso do SGBD com a ajuda de aplicativos que dispõem de interfaces gráficas e dirigidas por menus.

Ambiente de SGBD Tipos de Pessoas Envolvidas (Cont.): Engenheiros de SW São completamente familiarizados com o funcionamento do SGBD. Consistem de: Analistas de sistemas: Identificam os requisitos dos usuários e especificam transações para satisfazer estes requisitos. Programadores: Implementam as especificações das transações projetadas pelos analistas. Em seguida, testam, documentam e mantêm estas transações.

Evolução dos SGBD SGBD em Rede SGBD Hierárquicos Sistemas de Arquivos SGBD Orientados a Objetos SGBD Relacionais SGBD Objeto-Relacional

Evolução dos SGBD Sistemas de Arquivos Replicação Isolamento Utilização de Linguagens de Programação como COBOL, PL/I Sistemas Baseados no Modelo Hierárquico Representar Hierarquias Exemplo: IMS, UNIVAC 1100, CDC 6000, CYBER 70 e 170 Departamento Pai Hierarquia Funcionário Filho

Evolução dos SGBD Sistemas Baseados no Modelo em Rede Reconhece Natureza de Dados em Geral como Não-Hierárquica Construídos a Partir de um Modelo Definido Exemplo: DBMS10, IDS II, DMS II, IMAGE Proprietário Departamento Conjunto CODASYL Funcionário Membro

Evolução dos SGBD Sistemas Relacionais Dados Representados segundo Tabelas Modelo Formal apoiado na Teoria dos Conjuntos Tecnologia Relacional Exemplos: DB/2, UNIFY, PROGRESS, SYBASE, ORACLE, INFORMIX, INGRES COD NOME GERENTE DEPARTAMENTO

Evolução dos SGBD Sistemas Orientados a Objetos Conceito mais Especializado de Detalhamento da Realidade (Herança) Conceito de Reutilização, permitindo Maior Produtividade Aumentam a Consistência do Resultado da Análise Melhor Ligação Analista X Usuário Suportam com Mais Flexibilidade Alterações na Realidade Podem Enfrentar de Forma Mais Completa Domínios Mais Complexos da Realidade Possuem maior Continuidade em Todas as fases do Ciclo de Vida do Projeto

Evolução dos SGBD Características Básicas dos Sistemas Orientados a Objetos Abstração (Dados e Procedimentos) Encapsulamento Herança Comunicação por meio de Mensagens Polimorfismo Métodos de Organização Exemplos: GEMSTONE/OPAL, OBJECTSTORE, ORION, ONTOS, O2, ÍRIS

Evolução dos SGBD Sistema Objeto-relacional Extensão de Tipo Básico em Contexto SQL Objetos Complexos em Contexto SQL Herança em Contexto SQL Suporte para Regras de Produção Aplicações Gerenciamento de Acervos Gráficos e de Vídeo na Indústria do Entretenimento Problemas de Análise de Séries de Tempo no Mercado Financeiro Bancos de Dados Científicos Sistemas de Informação Geográficas Dados Multimídia freqüentemente acessados pela WWW Exemplos DB2/6000 C/S, Illustra, CA-Ingres, Odapter, UniSQL

Evolução dos SGBD Classificação Primeira Geração (Fim dos anos 60) Hierárquico Rede Segunda Geração (Início dos anos 70) Relacional Terceira Geração (A partir do meio da década de 80) Modelos Semânticos Extensões do Modelo Relacional Orientação a Objetos

Evolução dos SGBD Classificação Bancos de Dados Convencionais Características Dados bem Estruturados Tipos de Dados Simples (Inteiros, Reais, Caracteres,...) Transações Simples e Curtas Acesso Através de Chaves Exemplos de Aplicações Folha de pagamento Controle de estoque Contas a Pagar Gerações 1a e 2a

Evolução dos SGBDs Bancos de Dados Não Convencionais Características Grande Volume de Dados Estruturados Tipos de Dados Complexos (Textos, Gráficos, Imagens, Sons) Transações Longas Caminhos de Acesso Não Triviais Controle de Versões Exemplos de Aplicações Automação de Escritórios Projeto Assistido por Computador (CAD) Engenharia de Software (CASE) Sistemas de Informação Geográfica Geração 3a

Perspectivas Três Grandes Ondas Tecnológicas

Perspectivas Tecnologia Relacional Mercado: US$ 8.000.000.000,00

Perspectivas Tecnologia Orientada a Objetos Mercado: US$ 80.000.000,00

Perspectivas Tecnologia Objeto-relacional Previsão Mercado em 2005: 50% Maior que o Relacional

Tecnologia de Banco de Dados Conceitos, Métodos, Ferramentas e Sistemas para o Gerenciamento durável : vida de dados > vida processos confiável: integridade, consistência, prevenção de perdas independente: independência mútua aplicação-BD e Uso confortável: interfaces de alto nível flexível: acesso ad-hoc de Bancos de Dados grandes: tamanho de dados > tamanho da memória integrados: de/para múltiplas aplicações, redundância controlada multi-usuários: acessos paralelos

Tecnologia de Banco de Dados Vantagens Redundância e consistência de dados Disponibilidade de informações adicionais Compartilhamento de dados Integridade de dados Segurança, Concorrência e Recuperação Maior independência de dados Maior produtividade Facilidade de acesso aos dados Padronização (formato dos dados, ...) Desvantagens Complexidade Custo (SW, HW, Treinamento, Conversão) Eficiência Maior impacto na ocorrência de falhas