39
Modelos de Bancos de Dados Prof. Edgar Stuart Pincetta

Modelos de banco de dados

Embed Size (px)

DESCRIPTION

Os modelos de banco de dados mais conhecidos

Citation preview

Page 1: Modelos de banco de dados

Modelos de Bancos de Dados

Prof. Edgar Stuart Pincetta

Page 2: Modelos de banco de dados

Os bancos de dados apareceram no fim dos anos 60,numa época em que a necessidade de um sistema degestão da informação flexível se fazia sentir.

Page 3: Modelos de banco de dados

Modelo de banco de dados é uma descrição dostipos de informações que estão armazenadas em umbanco de dados.

Para construir um modelo de dados, usa-se umalinguagem de modelagem de dados. Existem linguagenstextuais e linguagens gráficas.

Page 4: Modelos de banco de dados

• Modelo para organização dos dados de um

BD

– define um conjunto de conceitos para a

representação de dados

• exemplos: entidade, tabela, atributo, ...

– existem modelos para diferentes níveis de abstração de representação de dados

• modelos conceituais

• modelos lógicos

• modelos físicos

Page 5: Modelos de banco de dados

Representação com alto nível de abstração

– modela de forma mais natural os fatos do

mundo real, suas propriedades e seus

relacionamentos

– independente de BD

– preocupação com a semântica da aplicação

– exemplo: modelo entidade-relacionamento

Page 6: Modelos de banco de dados

Representam os dados em alguma estrutura

(lógica) de armazenamento de dados

– também chamados de modelos de BD

– dependente de BD

– exemplos

• modelo relacional (tabelas)

• modelos hierárquico e XML (árvore)

• modelo orientado a objetos (classes - objetos complexos).

Page 7: Modelos de banco de dados

Existem cinco modelos de SGBD, diferenciados de acordo com a representação dos dados que contêm :

Modelo hierárquico;

Modelo de rede;

Modelo Dedutivo;

Modelo Orientado a Objeto;

Modelo Relacional.

Page 8: Modelos de banco de dados
Page 9: Modelos de banco de dados

É um tipo de sistema de Gerenciamento de Banco de Dados que conecta registros numa estrutura de dados em árvore, através de ligações de tal modo que cada tipo de registo tenha apenas um possuidor

Page 10: Modelos de banco de dados

O sistema comercial mais divulgado no modelo hierárquico foi o information Management System da IBM Corp(IMS).

Page 11: Modelos de banco de dados
Page 12: Modelos de banco de dados

Os primeiros trabalhos usando este modelo foi em1964 por Charles Bachman. Esse modelo é uma extensãodo modelo hierárquico. Os dados são representados poruma coleção de registros e os relacionamentos por meiode links. É representado por um diagrama constituído porcaixas e linhas.

Page 13: Modelos de banco de dados

No modelo em rede um dos sistemas mais conhecidos é o CA IDMS da Computer Associates.

Page 14: Modelos de banco de dados
Page 15: Modelos de banco de dados

Um banco de dados dedutivo é capaz de definirregras (dedutivas) que permitem derivar dados a partirdas relações básicas, podendo deduzir ou inferirinformação adicional à partir de fatos que estãoarmazenados.

Page 16: Modelos de banco de dados

O primeiro interpretador surge em 1972. O nome Prolog significa Programming Logic (lógica de programação).

O Sistema LDL (Logic Data Language) Projetado em 1984 pelo MCC (Microelectronics and Computer Technology Corporation);

Page 17: Modelos de banco de dados

O exemplo acima foi retirado do BD DEDALO

Page 18: Modelos de banco de dados

Sistema de gestão de bancos de dados objeto): osdados são armazenados sob a forma de objetos, querdizer, de estruturas chamadas classes que apresentamdados membros. Os campos são instâncias destas classes.

Page 19: Modelos de banco de dados

Objetivo: modelar objetos do mundo real de forma mais direta;

É um sistema com as funcionalidades e características de uma linguagem de programação OO e de um SGBD

Definição:

O projeto de um BDOO implica a integração de tecnologia de banco de dados com a tecnologia orientada a objetos

Page 20: Modelos de banco de dados

Diversos sistemas experimentais e comerciais

GemStone

ORION

O2

ONTOS

ENCORE

IRIS

JASMINE

Page 21: Modelos de banco de dados

Paradigma de Orientação a Objetos

Encapsulamento

•Permite o desenvolvimento de sistemas de

forma fácil, natural e modular

•Criado por pesquisadores e cientistas de bd ao

redor do mundo, começaram a aparecer a partir

da década de 80;

Semântica vinculada ao conceito de objeto

•Baseia-se em 2 conceitos:

Extensibilidade

Page 22: Modelos de banco de dados

Exemplo: objeto Empregado

•Encapsulamento

Objeto: entidade da realidade que encapsula

estrutura (dados) e comportamento( métodos)

Vantagens: aplicação não programa a definição

e manipulação de dados, desenvolvimento

facilitado, empacotamento do objeto

Dados: Nome, DataNasc, Endereço, etç

Métodos:

ObtémIdade, AumentaSalário, AlteraEndereço, A

dmite, Demite, etç

Page 23: Modelos de banco de dados

Preocupação com a evolução do sistema

•Extensibilidade

Habilidade de estender um sistema já existente

de forma transparente

Formas de extensibilidade:

Extensão da definição( inclusão de novos dados

e métodos

Instanciação(objetos gerados com a mesma

estrutura e comportamento)

Herança(definição de um objeto é aproveitada

na definição de objetos mais especializados)

Page 24: Modelos de banco de dados

1) Objeto e Identidade do Objeto (OI)

Objeto: Tratamento uniforme dado a qualquer

entidade do mundo real

Identidade do objeto (OID)

Identificação interna única, gerada pelo

SGBD

Identificação independente de valor ( inalterável)

Page 25: Modelos de banco de dados

2)Classes

Classificação: Agrupa objetos com a mesma

estrutura e comportamento, sendo portanto, uma

coleção de objetos

A

Advogado

B

Engenheiro

C

Executivo

D

Operário

E

Professor

Classe Indivíduo:

Objetos: Ocorrência de uma classe

Page 26: Modelos de banco de dados

3) Atributos e métodos

Atributo: São os dados que caracterizam e

definem o estado dos objetos

Métodos

Conjunto de procedimentos associados a um

objeto ( ações que caracterizam o comportamento)

Modificam o estado dos objetos

Page 27: Modelos de banco de dados

5)Hierarquia de Classes e Herança

Classes ( subclasses) podem ser definidas a partir

de outras classes (superclasses)

Construção de uma hierarquia com herança de

propriedades ( atributos e métodos) pelas

subclasses; estas podem definir propriedades

adicionais

Reusabilidade: evita a redefinição de propriedades

Page 28: Modelos de banco de dados

6)Polimorfismo

São diferentes implementações de um mesmo

método, podendo ser:

Overloading (sobrecarga): implementação de

um mesmo método em classes diferentes

Overriding(sobreposição): implementação de

um mesmo método na mesma classes

Page 29: Modelos de banco de dados

Vantagens

• Segue os princípios das atuais linguagens de

programação.

• Manipulação de dados de forma mais consistente.

• Armazenamento direto de tipos de dados complexos.

Page 30: Modelos de banco de dados

Desvantagens

• Poucos recursos de ferramentas gráficas para

desenvolvimento.

• Instável com relação a direcionamento de suas

aplicações, já que tudo se resume em objetos.

• Linguagem para consultas de objetos são difíceis e

nem um pouco padronizadas.

• Pouco explorado ainda.

Page 31: Modelos de banco de dados

No modelo relacional a principal construção pararepresentação dos dados é a relação, uma tabela com linhasnão ordenadas e colunas. Uma relação consiste de umesquema e de uma instância

Page 32: Modelos de banco de dados

Definido em 1970 (E. Codd – IBM/Califórnia)

• Modelo com uma sólida base formal

– teoria dos conjuntos

• Modelo simples

– estruturas tabulares

– poucos conceitos

• Linguagens declarativas para a

manipulação de dados

• álgebra relacional e cálculo relacional (formais)

• SQL (comercial)

Page 33: Modelos de banco de dados

• Organização dos dados

– conceitos do modelo

• atributo, relação, chave, ...

• Integridade

– restrições básicas para dados e

relacionamentos

• Manipulação

– linguagens formais e SQL

Page 34: Modelos de banco de dados

O modelo apresenta cinco conceitos:

– domínio

– atributo

– tuplas

– relação

– chave

Page 35: Modelos de banco de dados

• Conjunto de valores permitidos para um dado• Exemplos– inteiro, string (domínios básicos)– data, hora (domínios compostos)– [0, 120], (‘M’, ‘F’) (domínios definidos)• Para um domínio existem operações válidas– inteiro (somar, dividir, i1maior que i2, ...)– data (extrair dia, extrair mês, d1anterior a d2, ...)• Definição de domínios de dados– DDL (indicação de tipos de dados.

Page 36: Modelos de banco de dados

• Um item de dado do BD

• Possui um nome e um domínio

• Exemplos

– nome: string

– idade: [0,120]

Page 37: Modelos de banco de dados

Um conjunto de pares (atributo, valor)– define uma ocorrência de um fato do mundo real ou de um relacionamento entre fatos• Valor de um atributo– definido no momento da criação de uma tupla– deve ser • compatível com o domínio OU NULL (valor inexistente ou indeterminado)• atômico (indivisível: não-estruturado e monovalorado)• Exemplo– tupla de aluno: {(nome, ‘João’), (idade, 34), (matrícula, 03167034), ...}

Page 38: Modelos de banco de dados

• Conjunto de um ou mais atributos de uma

relação

• Tipos de chaves

– chave primária (pk)

– chave estrangeira (fk)

Page 39: Modelos de banco de dados