Upload
edgar-stuart
View
3.697
Download
0
Embed Size (px)
DESCRIPTION
Os modelos de banco de dados mais conhecidos
Citation preview
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)