Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
Modelos de banco de dados
-
Upload
edgar-stuart -
Category
Technology
-
view
3.697 -
download
0
description
Transcript of Modelos de banco de dados
![Page 1: Modelos de banco de dados](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/1.jpg)
Modelos de Bancos de Dados
Prof. Edgar Stuart Pincetta
![Page 2: Modelos de banco de dados](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/2.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/3.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/4.jpg)
• 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](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/5.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/6.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/7.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/8.jpg)
![Page 9: Modelos de banco de dados](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/9.jpg)
É 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](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/10.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/11.jpg)
![Page 12: Modelos de banco de dados](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/12.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/13.jpg)
No modelo em rede um dos sistemas mais conhecidos é o CA IDMS da Computer Associates.
![Page 14: Modelos de banco de dados](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/14.jpg)
![Page 15: Modelos de banco de dados](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/15.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/16.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/17.jpg)
O exemplo acima foi retirado do BD DEDALO
![Page 18: Modelos de banco de dados](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/18.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/19.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/20.jpg)
Diversos sistemas experimentais e comerciais
GemStone
ORION
O2
ONTOS
ENCORE
IRIS
JASMINE
![Page 21: Modelos de banco de dados](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/21.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/22.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/23.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/24.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/25.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/26.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/27.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/28.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/29.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/30.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/31.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/32.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/33.jpg)
• 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](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/34.jpg)
O modelo apresenta cinco conceitos:
– domínio
– atributo
– tuplas
– relação
– chave
![Page 35: Modelos de banco de dados](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/35.jpg)
• 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](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/36.jpg)
• 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](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/37.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/38.jpg)
• 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](https://reader034.fdocumentos.tips/reader034/viewer/2022051413/5598e08f1a28abe12f8b481d/html5/thumbnails/39.jpg)