55
SGBD

SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Embed Size (px)

Citation preview

Page 1: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

SGBD

Page 2: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Introdução

Page 3: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

BIBLIOTECA

SUPERMERCADO

INTERNET

Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados,

representando informações sobre um domínio específico.[Navathe]

Page 4: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

AGÊNCIA BANCÁRIA

LOCADORA DVD

Page 5: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Exemplo de um banco de dados

Page 6: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Compartilhamento dos dados:

A redundância controlada de dados acontece quando o software tem conhecimento da múltipla representação da informação e garante a sincronia entre as diversas representações. Do ponto de vista do usuário externo ao sistema em computador, tudo acontece como se existisse uma única representaçãoda informação. Essa forma de redundância é utilizada para melhorar a performance global do sistema. Um exemplo é um sistema distribuído, onde uma mesma informação é armazenada em vários computadores, permitindo acesso rápido a partir de qualquer um deles.

A redundância não controlada de dados acontece quando a responsabilidade pela manutenção da sincronia entre as diversas representações de uma informação está com o usuário e não com o software.

Page 7: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

RedigitaçãoA mesma informação é digitada várias vezes. No caso do exemplo da indústria, os dados de um produto são digitados no setor de vendas, no setor de produção e no setor de compras. Além de exigir trabalho desnecessário, a redigitação pode resultar em erros de transcrição de dados.

Inconsistências de dadosA responsabilidade por manter a sincronia entre as informações é do usuário. Por erro de operação, pode ocorrer que uma representação de uma informação seja modificada, sem que as demais representações o sejam. Exemplificando, uma alteração na estrutura de um determinado produto pode ser informada através do sistema de produção e deixar de ser informada nos demais sistemas. A estrutura do produto passa a aparecer de forma diferente nos vários sistemas. O banco de dados passa a ter informações inconsistentes.

A solução para evitar a redundância não controlada de informações é ocompartilhamento de dados.

Page 8: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Definição

Page 9: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Sistema Gerenciamento de Banco de Dados

Com o tempo, foram sendo identificadas funcionalidades comuns a muitos programas. Por exemplo, hoje em dia, a grande maioria dos programas comunica-se com os usuários através de interfaces gráficas de janelas.Entretanto, normalmente, os programas não contém todo código referente a exibição dos dados na interface, mas utilizam gerenciadores de interface de usuário, conjuntos de rotinas que incluem as funcionalidades que um programador vai necessitar frequentemente, ao construir uma interface de usuário. Da mesma forma, para comunicar-se com processos remotos, usam gerenciadores de comunicação. Para manter grandes repositórios compartilhados de dados, ou seja, para manter bancos de dados, são usados sistemas de gerência de banco de dados (SGBD).

Page 10: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Sistema de Gerenciamento de Bancos de Dados (SGBD) É uma coleção de programas que permite aos usuários criar e

manter um Banco de Dados. [Navathe]

É constituído por um conjunto de dados (BD) associados a um conjunto de programas para acesso a esses dados.[Silberschatz]

DADOSDADOS

Page 11: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

SGBD Exemplos

Page 12: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Vantagens dos SGBD

Velocidade Facilidade de acesso Redução da redundância Evita-se inconsistência

X

Page 13: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Vantagens

Page 14: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

1.A manutenção de programas torna-se mais simples, pois uma separação clara de funções torna programas mais facilmente compreensíveis.

2.A produtividade de programadores também aumenta, já que os programas ficam menores, pois usam funções já construídas.

Page 15: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Classificação dos usuários de um SGBD Administrador de BD: pessoa que tem o controle

sobre o funcionamento do BD. Funções: definição do esquema modificação da organização física e do esquema

(relativamente raras) concessão de autorização para acesso a dados (diferentes

permissões para diferentes usuários) especificação de restrições de integridade

A secretária pode...

Os alunos não podem....

O gerente pode...

Os clientes não podem....

nota >= 0 e <= 10

salario_professor >= 1000

Page 16: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Usuários

Page 17: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Classificação dos usuários de um SGBD Programadores de aplicação: profissionais da área

de computação que interagem usando comandos para desenvolver programas de aplicação.

Page 18: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Classificação dos usuários de um SGBD Usuários sofisticados (ou ocasionais): interagem

com o SGBD através da linguagem de consulta para atender às requisições.

Page 19: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Classificação dos usuários de um SGBD Usuários simples (ou ingênuos): não sofisticados,

interagem via os programas de aplicação existentes

Page 20: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

objetivos

Page 21: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Objetivos dos SGBD Prover um ambiente que seja conveniente e

eficiente para recuperar e armazenar informações de Banco de Dados Eliminar ou reduzir

Redundância ou inconsistência de dados Dificuldade de acesso aos dados Problemas de segurança

Eliminar ou reduzir Anomalias de acesso concorrente Isolamento dos dados

Page 22: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Linguagens

Page 23: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Linguagens de Base de Dados• Linguagem de Definição de Dados (“Data Definition Language” - DDL): é utilizada pelo DBA e projetistas de base de dados para definir seus esquemas. O SGBD tem um compilador para processar descrições em DDL e construir a descrição do esquema armazenado no catálogo;

Page 24: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

• Linguagem de Manipulação de Dados (“Data Manipulation Language” - DML): uma vez que o esquema é compilado e a base de dados preenchida com dados, os usuários têm que ter algum modo de manipular os dados. Manipulações comuns como recuperação, inserção, remoção e modificação de dados são realizadas pela DML.

Page 25: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Linguagem de Consulta Porção da linguagem de manipulação que

envolve o resgate de informações

Page 26: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Arquitetura

Page 27: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Arquitetura e Independência de Dados de SGBD’s

Objetivo Separar o usuário da aplicação do banco de dados físico.

A arquitetura mais difundida na literatura é a Arquitetura “Three-Schema” (também conhecida como arquitetura ANSI/SPARC), proposta por Tsichritzis & Klug em 1978.

1.O nível interno tem um esquema interno que descreve a estrutura de armazenamento físico da base de dados. O esquema interno usa um modelo de dados físico e descreve todos os detalhes de armazenamento de dados e caminhos de acesso à base de dados;

2. O nível conceitual tem um esquema conceitual que descreve a estrutura de toda a base de dados. O esquema conceitual é uma descrição global da base de dados, que omite detalhes da estrutura de armazenamento físico e se concentra na descrição de entidades, tipos de dados, relacionamentos e restrições. Um modelo de dados de alto-nível ou um modelo de dados de implementação podem ser utilizados neste nível.

3. O nível externo ou visão possui esquemas externos ou visões de usuários. Cada esquema externo descreve a visão da base de dados de um grupo de usuários da base de dados.

Page 28: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre
Page 29: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Arquitetura Three-Schema

A arquitetura “three-schema” pode ser utilizada para explicar conceitos de independência de dados, que podem ser definidos como a capacidade de alterar o esquema de um nível sem ter que alterar o esquema no próximo nível superior. Dois tipos de independência de dados podem ser definidos:

Independência Lógica de Dados: É a capacidade de alterar o esquema conceitual sem ter que mudar os esquemas externos ou programas de aplicação. Pode-se mudar o esquema conceitual para expandir a base de dados, com a adição de novos tipos de registros (ou itens de dados), ou reduzir a base de dados removendo um tipo de registro. Neste últimocaso, esquemas externos que se referem apenas aos dados remanescentes não devem ser afetados;

• Independência Física de Dados: É a capacidade de alterar o esquema interno sem ter que alterar o esquema conceitual externo. Mudanças no esquema interno podem ser necessárias devido a alguma reorganização de arquivos físicos para melhorar o desempenho nas recuperações e/ou modificações. Após a reorganização, se nenhum dado foi adicionado ou perdido, não haverá necessidade de modificar o esquema conceitual.

Page 30: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Modelo de Dados

Page 31: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Objetivo Transformar aspectos do Mundo Real em um Modelo de Dados

Formal Exemplos:

Toda pessoa tem um nome e uma data de nascimento (MUNDO REAL)

Pessoa

nome nasc

Toda conta em um banco tem um número e um saldo (MUNDO REAL)

Conta

numero saldo

Page 32: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Modelo Conceitual

Um modelo conceitual é uma descrição do banco de dados de forma independente de implementação em um SGBD. O modelo conceitual registra que dados podem aparecer no banco de dados, mas não registra como estes dados estão armazenados a nível de SGBD.

modelo conceitual=

modelo de dados abstrato, que descreve aestrutura de um banco de dados de forma

independente de um SGBD particular

Page 33: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Modelos Conceituais Modelos de alto nível Possuem conceitos que descrevem os dados

como os usuários os percebem Não são implementados em SGBD

UML Entidade-Relacionamento (E-R)

Toda conta em um banco tem um número e um saldo (MUNDO REAL)

Conta

numero saldo

Page 34: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

A técnica mais difundida de modelagem conceitual é a abordagem entidade-relacionamento (ER). Nesta técnica, um modelo conceitual é usualmente representado através de um diagrama, chamado diagrama entidade-relacionamento (DER).

Exemplo de modelo conceitual

Page 35: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Um modelo lógico é uma descrição de um banco de dados no nível de abstração visto pelo usuário do SGBD. Assim, o modelo lógico é dependente do tipo particular de SGBD que está sendo usado.Um modelo lógico para o BD acima deve definir quais as tabelas que o banco contém e, para cada tabela, quais os nomes das colunas. Abaixo é apresentado o modelo lógico (de forma textual)

TipoDeProduto(CodTipoProd,DescrTipoProd)Produto(CodProd,DescrProd,PrecoProd,CodTipoProd)CodTipoProd referencia TipoDeProduto

Modo textual

Page 36: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Modelos Lógicos São implementados em SGBD

Hierárquico Em Rede Relacional Binário Funcional Orientados a Objetos

Page 37: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Modelo de tabelas em um banco de dados relacional

Page 38: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

O modelo lógico descreve a estrutura do banco de dados, conforme vistapelo usuário do SGBD.

modelo lógico=

modelo de dados que representa a estruturade dados de um banco de dados conforme

vista pelo usuário do SGBD

Page 39: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Modelos Físicos Modelos de baixo nível Contém conceitos que descrevem os

detalhes de como os dados estão armazenados no computador

Page 40: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Projeto de Banco de DadosO projeto de um novo BD dá-se em duas fases:

1 Modelagem conceitualNesta primeira fase, é construído um modelo conceitual, na forma de um diagrama entidade-relacionamento. Este modelo captura as necessidades da organização em termos de armazenamento de dados de forma independente de implementação.2 Projeto lógicoA etapa de projeto lógico objetiva transformar o modelo conceitual obtido na primeira fase em um modelo lógico. O modelo lógico define como o banco de dados será implementado em um SGBD específico.

Page 41: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

evolução

Page 42: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Sistemas de Arquivos

Page 43: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Evolução

SISTEMA DE ARQUIVO SGBD HIERÁRQUICOS

Page 44: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Modelo Hierárquico Dados são representados como um conjunto de árvores, com raiz e seus

ramos Prós:

Os desenvolvedores deste sistema estão entre os primeiros a tratarem características como concorrência, recuperação, integridade e processamento eficiente de consultas.

Contras: Complexidade dos diagramas de estrutura de árvore Consultas complexas

Page 45: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Evolução

SISTEMA DE ARQUIVO SGBD HIERÁRQUICOS SGBD EM REDE

Page 46: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Modelo em Redes Os dados são representados por uma coleção de registros e os

relacionamentos entre dados são representados por meio de links Acesso aos dados através dos relacionamentos Exemplo:

Suponha os registros cliente e conta; Suponha que o cliente Hayes possui a conta A-102, Johnson

possui as contas A-101 e A-201, e Turner possui a conta A-305.

Hayes Main Harrison

Johnson Alma Palo Alto

Turner Putnam Stamford

A-102

A-101

A-201

A-305

400

500

900

350

Page 47: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Modelo em Redes As consultas são complicadas: o programador é forçado a

pensar em termos de links e, em como percorrê-los para obter as informações de que necessita.

Hayes Main Harrison

Johnson Alma Palo Alto

Turner Putnam Stamford

A-102

A-101

A-201

A-305

400

500

900

350

Page 48: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Evolução

SISTEMA DE ARQUIVO SGBD HIERÁRQUICOS SGBD EM REDE

Page 49: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Modelo Relacional Surgiu em 1970, por Codd, tendo por base a teoria

dos Conjuntos

Contribuiu decisivamente para a massificação da utilização da tecnologia de bases de dados

Page 50: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Evolução

SISTEMA DE ARQUIVO SGBD HIERÁRQUICOS

Banco de Dados Avançados

Page 51: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Evolução 1ª Geração - Pré-relacional

Modelo Hierárquico Modelo em Rede

2ª Geração - Relacional Modelo Relacional

3ª Geração - Pós-relacional Novos modelos

Page 52: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Novos modelos na área

SGBD ORIENTADOS A OBJETO

SGBD OBJETO-RELACIONAL

DATA WAREHOUSE DATA MINING

Page 53: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

Novos modelos na área

BANCO DE DADOS MULTIMÍDA

BANCO DE DADOS MÓVEIS

Som

Vídeo

Texto

BANCO DE DADOS ESPACIAIS

Page 54: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

“Novos” modelos na área Alguns não são nem tão novos assim, mas são considerados

avançados por serem não-convencionais

BANCO DE DADOS DEDUTIVOS

BANCO DE DADOS TEMPORAIS

BANCO DE DADOS ATIVOS

CREATE TRIGGER empregado-salarioON INSERT empregadoIF empregado.salario >

(SELECT ... )THEN abort

Page 55: SGBD. Introdução BIBLIOTECA SUPERMERCADO INTERNET Exemplos de Banco de Dados: É uma coleção de dados inter-relacionados, representando informações sobre

EXERCÍCIOSExercício 1.1: Enumere as principais diferenças entre o processamento de dados com arquivos convencionais e o processamento de dados com SGBD.

Exercício 1.2: Descreva alguns fatores que levam alguém a preferir o uso de arquivos convencionais ao uso de SGBD. Descreva alguns fatores que levam alguém a preferir o uso de SGBD ao uso de arquivos convencionais.

Exercício 1.3: Defina, os seguintes conceitos:banco de dados, sistema de gerência de banco de dados, modelo de dados,modelo conceitual, modelo lógico, modelagem conceitual e projeto lógico.

Exercício 1.4: Qual a diferença entre a redundância de dados controlada e a redundância de dados não controlada? Dê exemplos de cada uma delas.