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 de
gestão da informação flexível se fazia sentir.
Modelo de banco de dados é uma descrição dos
tipos de informações que estão armazenadas em um
banco de dados.
Para construir um modelo de dados, usa-se uma
linguagem de modelagem de dados. Existem linguagens
textuais 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 em
1964 por Charles Bachman. Esse modelo é uma extensão
do modelo hierárquico. Os dados são representados por
uma coleção de registros e os relacionamentos por meio
de links. É representado por um diagrama constituído por
caixas e linhas.
No modelo em rede um dos sistemas mais
conhecidos é o CA IDMS da Computer Associates.
Um banco de dados dedutivo é capaz de definir
regras (dedutivas) que permitem derivar dados a partir
das relações básicas, podendo deduzir ou inferir
informação adicional à partir de fatos que estão
armazenados.
 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): os
dados são armazenados sob a forma de objetos, quer
dizer, de estruturas chamadas classes que apresentam
dados 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 para
representação dos dados é a relação, uma tabela com linhas
não ordenadas e colunas. Uma relação consiste de um
esquema 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, i
1
maior que i
2
, ...)
– data (extrair dia, extrair mês, d1
anterior 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)
Modelos de banco de dados

Modelos de banco de dados

  • 1.
    Modelos de Bancosde Dados Prof. Edgar Stuart Pincetta
  • 2.
    Os bancos dedados apareceram no fim dos anos 60, numa época em que a necessidade de um sistema de gestão da informação flexível se fazia sentir.
  • 3.
    Modelo de bancode dados é uma descrição dos tipos de informações que estão armazenadas em um banco de dados. Para construir um modelo de dados, usa-se uma linguagem de modelagem de dados. Existem linguagens textuais e linguagens gráficas.
  • 4.
    • Modelo paraorganizaçã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
  • 5.
    Representação com altoní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
  • 6.
    Representam os dadosem 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).
  • 7.
    Existem cinco modelosde 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.
  • 9.
    É um tipode 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
  • 10.
    O sistema comercialmais divulgado no modelo hierárquico foi o information Management System da IBM Corp(IMS).
  • 12.
    Os primeiros trabalhosusando este modelo foi em 1964 por Charles Bachman. Esse modelo é uma extensão do modelo hierárquico. Os dados são representados por uma coleção de registros e os relacionamentos por meio de links. É representado por um diagrama constituído por caixas e linhas.
  • 13.
    No modelo emrede um dos sistemas mais conhecidos é o CA IDMS da Computer Associates.
  • 15.
    Um banco dedados dedutivo é capaz de definir regras (dedutivas) que permitem derivar dados a partir das relações básicas, podendo deduzir ou inferir informação adicional à partir de fatos que estão armazenados.
  • 16.
     O primeirointerpretador 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);
  • 17.
    O exemplo acimafoi retirado do BD DEDALO
  • 18.
    Sistema de gestãode bancos de dados objeto): os dados são armazenados sob a forma de objetos, quer dizer, de estruturas chamadas classes que apresentam dados membros. Os campos são instâncias destas classes.
  • 19.
    Objetivo: modelar objetosdo 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
  • 20.
    Diversos sistemas experimentaise comerciais GemStone ORION O2 ONTOS ENCORE IRIS JASMINE
  • 21.
    Paradigma de Orientaçãoa 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
  • 22.
    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ç
  • 23.
    Preocupação com aevoluçã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)
  • 24.
    1) Objeto eIdentidade 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)
  • 25.
    2)Classes Classificação: Agrupa objetoscom 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
  • 26.
    3) Atributos emé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
  • 27.
    5)Hierarquia de Classese 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
  • 28.
    6)Polimorfismo  São diferentesimplementaçõ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
  • 29.
    Vantagens • Segue osprincípios das atuais linguagens de programação. • Manipulação de dados de forma mais consistente. • Armazenamento direto de tipos de dados complexos.
  • 30.
    Desvantagens • Poucos recursosde 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.
  • 31.
    No modelo relacionala principal construção para representação dos dados é a relação, uma tabela com linhas não ordenadas e colunas. Uma relação consiste de um esquema e de uma instância
  • 32.
    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)
  • 33.
    • Organização dosdados – conceitos do modelo • atributo, relação, chave, ... • Integridade – restrições básicas para dados e relacionamentos • Manipulação – linguagens formais e SQL
  • 34.
    O modelo apresentacinco conceitos: – domínio – atributo – tuplas – relação – chave
  • 35.
    • Conjunto devalores 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, i 1 maior que i 2 , ...) – data (extrair dia, extrair mês, d1 anterior a d2 , ...) • Definição de domínios de dados – DDL (indicação de tipos de dados.
  • 36.
    • Um itemde dado do BD • Possui um nome e um domínio • Exemplos – nome: string – idade: [0,120]
  • 37.
    Um conjunto depares (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), ...}
  • 38.
    • Conjunto deum ou mais atributos de uma relação • Tipos de chaves – chave primária (pk) – chave estrangeira (fk)