Modelos de banco de dados

Post on 05-Jul-2015

3.697 views 0 download

description

Os modelos de banco de dados mais conhecidos

Transcript of Modelos de banco de dados

Modelos de Bancos de Dados

Prof. Edgar Stuart Pincetta

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.

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.

• 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

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

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).

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.

É 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

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

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.

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

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.

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);

O exemplo acima foi retirado do BD DEDALO

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.

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

Diversos sistemas experimentais e comerciais

GemStone

ORION

O2

ONTOS

ENCORE

IRIS

JASMINE

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

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ç

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)

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)

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

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

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

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

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.

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.

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

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)

• 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

O modelo apresenta cinco conceitos:

– domínio

– atributo

– tuplas

– relação

– chave

• 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.

• Um item de dado do BD

• Possui um nome e um domínio

• Exemplos

– nome: string

– idade: [0,120]

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), ...}

• Conjunto de um ou mais atributos de uma

relação

• Tipos de chaves

– chave primária (pk)

– chave estrangeira (fk)