71
Base de Dados 03 – Modelos de Base de Dados Vitor Vaz da Silva

Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

  • Upload
    others

  • View
    16

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Base de Dados

03 – Modelos de Base de Dados

Vitor Vaz da Silva

Page 2: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Base de Dados - Índice

• Dados

• Sistema de Ficheiros

• Sistema de Base de Dados

• Modelos

BD – ISEL - Vitor Silva 2

Page 3: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Dados

Constante

Valor fixo que não muda durante o processamento.

PI = 3.1416

Constante universal ou do programa

SI-1 – ISEL - Vitor Vaz Silva 3

Page 4: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Dados

Variável

Espaço em memória reservado para conter um valor que pode ser alterado durante o processamento a = a + 1 perímetro = 2 * PI * raio

SI-1 – ISEL - Vitor Vaz Silva 4

a <- a +1

perímetro <- 2 * PI() * raio

Page 5: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Dados Estrutura

Conjunto de variáveis que têm um

contexto comum

Struct – um elemento com diversas variáveis de tipos diferentes

Array – todos os elementos são do mesmo tipo

SI-1 – ISEL - Vitor Vaz Silva 5

Page 6: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Dados Estrutura - Struct

typedef struct Elemento{

int id;

char [12] utilizador;

Elemento [5] amigo;

}

Elemento e;

e.id=3;

SI-1 – ISEL - Vitor Vaz Silva 6

Page 7: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Dados Estrutura - Array

int [] numero;

float [][] medida;

Elemento [] individuo;

numero[3]=2;

medida[1][5]=0.23F;

SI-1 – ISEL - Vitor Vaz Silva 7

Page 8: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Dados Objecto

Estrutura ( dados )

Código ( métodos )

Elemento el = novoElemento();

el.putNumero(3);

int id = el.getNumero();

el.codigo=“154637”;

SI-1 – ISEL - Vitor Vaz Silva 8

Page 9: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Dados Ficheiro

Necessário definir o Formato do conteúdo para saber como escrever e ler – contexto Binário Texto Simples (UTF8, ASCII, …) Estruturado (ex: html, XML) Objectos

SI-1 – ISEL - Vitor Vaz Silva 9

Page 10: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Dados

• Constante

• Variável

• Estrutura

• Objecto

• Ficheiro

SI-1 – ISEL - Vitor Vaz Silva 10

Sei onde estão os dados na

memória e para os aceder

é necessário métodos

para ler e ou escrever

Page 11: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Dados

• Base de Dados

SI-1 – ISEL - Vitor Vaz Silva 11

Sei onde estão os dados

para os aceder

digo o que quero

e o que fazer

Page 12: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Dados

List <Elemento> lista = lerLista();

for (Elemento e : lista) e.escreve.amigo();

List <Elemento> amigo = bDados.ler.amigo();

for (Elemento e : amigo ) e.escreve.amigo();

SI-1 – ISEL - Vitor Vaz Silva 12

Page 13: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Dados lerLista();

por exemplo ler de um ficheiro

a escolha tem de ser feita pelo programador

bDados.ler.amigo();

resultado de uma pesquisa

o programador diz o que quer

SELECT nome, tlm FROM Amigo WHERE vive LIKE Lisboa;

SI-1 – ISEL - Vitor Vaz Silva 13

Page 14: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Dados

• Constante

• Variável

• Estrutura

• Objecto

• Ficheiro

• Base de Dados

SI-1 – ISEL - Vitor Vaz Silva 14

Page 15: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Base de Dados

IMPORTANTE – os 3 Ás

• Acrescentar

• Alterar

• Apagar

SI-1 – ISEL - Vitor Vaz Silva 15

Tem de manter integridade

Page 16: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Requisitos da Informação

Actualidade: O valor da informação

depende da sua actualidade, pois só com

base em informações actuais se podem

tomar decisões acertadas. Os sistemas

devem pois fornecer informação actual e

conter mecanismos de actualização

eficiente da informação.

BD - Acetatos – Pita 2009

Page 17: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Requisitos da Informação

Correcção: Não chega a informação ser

actual, é necessário que esta seja

correcta.

Só com informação rigorosa se podem

tomar decisões correctas!

BD - Acetatos – Pita 2009

Page 18: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Requisitos da Informação

Relevância: A informação deve ser

filtrada de modo a apresentar apenas

aquela que é relevante. Grandes

quantidades de informação tornam mais

lentas as tomadas de decisão.

BD - Acetatos – Pita 2009

Page 19: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Requisitos da Informação

Disponibilidade: Se a informação não

está disponível quando é necessária,

torna-se inútil. Cada vez mais as tomadas

de decisão são quase instantâneas.

BD - Acetatos – Pita 2009

Page 20: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Requisitos da Informação

Legibilidade: A informação deve ser

apresentada num formato que seja

legível e facilmente interpretada pelo

utilizador.

BD - Acetatos – Pita 2009

Page 21: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Como guardar dados?

• Sistema de Ficheiros

• Base de Dados

BD – ISEL - Vitor Silva 21

Page 22: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Sistema de Ficheiros

Prog A Prog B Prog C

Departamento de

Processamento de

Encomendas

Sistema de

Gestão

de Encom.

Fic

heir

o d

e

Clie

nte

s

Fic

heir

o d

e

Pro

du

tos

His

tóri

co

de

En

co

men

da

s

Prog A Prog B

Departamento de

Contabilidade

Sistema de

Facturação

Fic

heir

o d

e

Clie

nte

s

Fic

heir

o d

e

Pro

du

tos

Fic

heir

o d

e

Fa

ctu

ração

Prog A Prog B

Departamento de

Tesouraria

Sistema de

Facturação

Fic

heir

o d

e

Clie

nte

s

Fic

heir

o d

e

Factu

ração

Fic

heir

o d

e

Ven

da

s

BD - Acetatos – Pita 2009

Page 23: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Problemas do Modelo baseado em ficheiros

• Forte dependência entre dados e programas

• Um programa precisa de ter a estrutura dos dados para os poder manipular;

BD - Acetatos – Pita 2009

Page 24: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Problemas do Modelo baseado em ficheiros

• Duplicação de dados

• Neste modelo cada aplicação possui os seus próprios ficheiros. A partilha é difícil.

BD - Acetatos – Pita 2009

Page 25: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Problemas do Modelo baseado em ficheiros

• A manutenção do sistema é complicada e exige muito esforço;

BD - Acetatos – Pita 2009

Page 26: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Motivação para a utilização de um SGBD

.

Info. Funções

Negócio

Control

Modelo

de Negócio

Vistas

da Info

Sistema de Informação

Base de Dados

Dados da

Gestão de

Negócios

Dados da

Distribuição e

Logística

Dados das

Operações de

Produção

Dados da

Análise de

Mercado e

Suporte de

Produto

Dados de

Engenharia

Dados do

Planeamento

de Produção

Inventário

Trans-

portes

Análises

Previsões

Custos Inventário

Lista de

Materiais

Rela-

tórios IA

Bases de

Conhecimento

Folhas de

Cálculo

Programa

Texto

Geometria

Encami-

nhamen-

tos

Ordens

Especificações

de Qualidade BD - Acetatos – Pita 2009

Page 27: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Modelos de Base de Dados

• Flat files - 1960s - 1980s

• Hierarchical – 1970s - 1990s

• Network – 1970s - 1990s

• Relational – 1980s - present

• Object-oriented – 1990s - present

• Object-relational – 1990s - present

• Data warehousing – 1980s - present

• Web-enabled – 1990s - present

BD – ISEL - Vitor Silva 27

Page 28: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Base de Dados • Modelos conceptuais de bases de dados

• 1ª Geração

Modelo Hierárquico

Modelo de Rede

2ª Geração

Modelo Relacional

3ª Geração

Modelo Relacional Estendido

Orientado por Objectos

BD – ISEL - Vitor Silva 28

Page 29: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Base de Dados – 1ª Geração

Modelo Hierárquico

Cascata

Modelo de Rede

Listas ligadas de campos

Árvores

SI-1 – ISEL - Vitor Silva 29

Page 30: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Modelos de um SGBD Modelo em Rede

FILME

ACTOR

ligação Registo

Associação

Barca ao Vento Naufrágio Sempre a Remar

Zé dos Anzois Maria do Mar

1 2 3 4 5

Registo

Informação

Registo

Informação

Page 31: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Modelos de Um SGBD Modelo em Rede - Características

■ Uma estrutura de informação está

armazenada num registo

■ A referência (endereço) para essa

estrutura é utilizada na definição de

associações binárias

BD - Acetatos – Pita 2009

Page 32: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Modelos de Um SGBD Modelo em Rede - Características

■As associações são concretizadas à custa

de registos que referenciam os elementos

que nela participam

BD - Acetatos – Pita 2009

Page 33: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Modelos de Um SGBD Modelo em Rede - Características

■As ligações são relações binárias muitos

para um, de um registo do tipo associação

(member) para um registo de informação

(owner), isto é, cada registo do tipo membro

referencia um e apenas um registo do tipo

informação, enquanto que um registo de

informação pode ser referenciado por 0, 1 ou

muitos registos do tipo membro

BD - Acetatos – Pita 2009

Page 34: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Modelos de Um SGBD Modelo em Rede - Características

■A remoção de um registo é difícil

BD - Acetatos – Pita 2009

Page 35: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Modelos de um SGBD Modelo Hierárquico

FILME

ACTOR

Barca ao Vento Naufrágio Sempre a Remar

Zé dos Anzois Maria do Mar

Actor virtual

Filme virtual

Zé Zé Zé Maria Maria

Barca Naufrágio Remar Barca Naufrágio

Page 36: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Modelos de um SGBD

Modelo Hierárquico - Características

■ É uma restrição do modelo em Rede onde

só existem ligações de pais para filhos;

■ É mais adequado para representar

informação que denota um carácter

hierárquico

BD - Acetatos – Pita 2009

Page 37: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Modelos de um SGBD

Modelo Hierárquico - Características

■ É possível representar as mesmas

estruturas que se representam num modelo

em rede, à custa de registos virtuais que só

contêm apontadores para os registos de

informação;

BD - Acetatos – Pita 2009

Page 38: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Modelos de um SGBD

Modelo Hierárquico - Características

■ A principal vantagem tem a ver com a

maior facilidade no acesso à informação

descendente de um dado nó;

BD - Acetatos – Pita 2009

Page 39: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Base de Dados – 2ª Geração • Modelo Relacional

utiliza conceito de relação entre dados e possui um esquema. baseia-se na Teoria dos Conjuntos e na Álgebra Relacional. dados armazenados em tabelas = relações tabelas relacionadas entre si através de atributos comuns (chaves).

BD – ISEL - Vitor Silva 39

Page 40: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Base de Dados – 2ª Geração • Modelo Relacional

Facilidade em interrogar a base de dados (SQL)

Independência física e lógica dos dados

Facilidade de desenvolvimento de aplicações

Suporte para base de dados distribuídas

BD – ISEL - Vitor Silva 40

Page 41: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Modelos de um SGBD

Modelo Relacional

☺ Proposto por Codd em 1970;

☺ Tem um sólido fundamento Teórico:

Teoria de Conjuntos;

BD - Acetatos – Pita 2009

Page 42: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Modelos de um SGBD Modelo Relacional

☺ Baseia-se na utilização de conceitos

tais como a noção matemática de

Relação;

☺ Representa a Base de Dados como

um conjunto de Relações e de restrições

sobre essas relações;

BD - Acetatos – Pita 2009

Page 43: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Modelos de um SGBD

Modelo Relacional

☺ Define operações de manipulação de

relações;

☺ Modelo abstracto dos dados

independente do modelo físico

BD - Acetatos – Pita 2009

Page 44: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Base de Dados – 3ª Geração

• Extensões ao Modelo Relacional

• Modelos Orientados por Objectos

SIG–Sistemas de Informação Geográfica

Aplicações médicas

Aplicações científicas

Sistemas CAD/CAM

Sistemas multimédia

BD – ISEL - Vitor Silva 44

Page 45: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Base de Dados – 3ª Geração

• Características dos Novos Modelos

Tipos de dados complexos

Modelos de dados com semântica mais rica

Transacções de elevada duração

Manter a evolução dos “objectos” modelados

Representa formas mais elaboradas de conhecimento

BD – ISEL - Vitor Silva 45

Page 46: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Sistema de Gestão de Informação

Um “bom” sistema de gestão de

informação deve:

Permitir um bom grau de independência da

informação

Reduzir a redundância da informação

armazenada

BD - Acetatos – Pita 2009

Page 47: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Sistema de Gestão de Informação

Garantir a integridade da informação e

evitar a sua inconsistência

Facilitar a partilha de informação pelos

vários utilizadores

BD - Acetatos – Pita 2009

Page 48: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Sistema de Gestão de Informação

Possibilitar uma forma uniforme de garantir

a segurança e a privacidade da informação

Facilitar a definição da estrutura da

informação e do seu manuseamento

BD - Acetatos – Pita 2009

Page 49: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Modelo Entidade/Associação

• Tipo de modelação proposto por Peter Pin-Shan Chen (Chen) em 1976

• Desde então, muitas extensões e abordagens derivadas da mesma têm sido propostas

• O objectivo fundamental é a análise de um sistema procurando modelar o mundo real num conjunto de padrões pré-definidos.

BD - Acetatos – Pita 2009

Page 50: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Modelo Entidade/Associação

• Após a modelação (e durante ela) obtêm-se um conjunto de “padrões” modelados de um modo conceptual.

• É um bom mecanismo de comunicação entre

vários intervenientes, que falam dialectos diferentes : Analistas, Programadores, Clientes...

BD - Acetatos – Pita 2009

Page 51: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Entidades Entidade: Concretização da abstracção de um conjunto

de conceitos/objectos que partilham um conjunto de

características; Para cada carro é necessário conhecer

algumas características:

Atributo: Característica comum aos objectos ou

conceitos que a entidade representa

Carro

Características Comuns •Nº Portas

•Cilindrada

•Potencia

•Consumo

•... Atributos das

Entidades

Page 52: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Entidades

Dependendo do contexto as entidades

podem ter diferentes atributos, só aqueles

que são relevantes para o problema em

análise.

Matrícula Cilindrada Cor Nº de Chassis Nº de Motor Proprietário Marca

Entidade Carro numa aplicação para o IMTT

Ano Matrícula Cilindrada Consumo Acel. dos 0 aos 100 Marca Modelo

Entidade Carro numa aplicação para uma revista Auto

Page 53: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Associação

Por vezes, entre entidades existem

associações

Matrícula Cilindrada Cor Nº de Chassis Nº de Motor Proprietário Marca

Nome Nº BI Nº Contr. Morada Idade

CARRO

PROPRIETÁRIO

Page 54: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

54

A Arquitectura de 3 níveis ANSI/SPARC

Esquema

conceptual

Esquema

Externo

Esquema

Interno

...

Vista de

utilizador 1

(relatório)

Vista de

utilizador n

(nota encomenda)

BD1

Processamento

de encomendas

BD2

Serviço de clientes

...

Modelo de Dados

“empresarial”

EA não detalhado

EA detalhado

Esquema lógico 1

Esquema lógico 2

...

Esquemas lógicos

relacional

Esquema físico 1

Esquema físico 2

Esquemas físicos

BD específica

Page 55: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Base de Dados - relacional

Dados + Relações

• Tabelas que estão ligadas a tabelas

• As tabelas contêm dados

• As ligações entre tabelas são as relações

• As ligações são feitas pelas chaves

SI-1 – ISEL - Vitor Vaz Silva 55

Page 56: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Base de Dados - relacional

SI-1 – ISEL - Vitor Vaz Silva 56

Page 57: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Base de Dados - relacional

SI-1 – ISEL - Vitor Vaz Silva 57

C H A V E

RELAÇÃO OU

ASSOCIAÇÃO

ENTIDADE

A T R I B U T O S

Page 58: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Base de Dados ex: Pluviosidade

SI-1 – ISEL - Vitor Vaz Silva 58

idxLat lat

1 42.2

2 42.0

idxLatLonDia pluv

5110001825 0.015625

5120001825 0.03125

idxLon lon

1 -9.6

2 -9.4

RELAÇÃO OU

ASSOCIAÇÃO

Latitude Longitude

Chuva

Difícil chegar aos valores individuais; estão todos juntos!

Page 59: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Base de Dados ex: Pluviosidade

SI-1 – ISEL - Vitor Vaz Silva 59

idxLat lat

1 42.2

2 42.0

idxLat idxLn data pluv

5 11 1955/12/31 0.015625

5 12 1955/12/31 0.03125

idxLon lon

1 -9.6

2 -9.4

Latitude Longitude

Pluviosidade

Page 60: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Base de Dados ex: Pluviosidade

SI-1 – ISEL - Vitor Vaz Silva 60

Latitude

Longitude

*

*

1

1

Modelo Entidade – Associação (EA)

tem

tem

chuva data

lat

lon

Pluviosidade

Modelo de Chen

Page 61: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Base de Dados ex: Pluviosidade

SI-1 – ISEL - Vitor Vaz Silva 61

Latitude

lat Pluviosidade

chuva

data

Longitude

lon

Modelo Entidade – Associação (EA)

tem

tem

Modelo de pata de galo (crow’s foot)

Page 62: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Base de Dados Conceitos do Modelo Relacional

• Tuple = Par Ordenado = Instância de valores para cada atributo

• Domínio = conjunto de valores possíveis de um atributo

• Entidade = qualquer objecto ou conceito

• Atributo = característica de uma entidade

• Grau da relação = nº de atributos de uma relação

• Cardinalidade da Relação = nº de tuplos

SI-1 – ISEL - Vitor Vaz Silva 62

Page 63: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Base de Dados Chaves

Candidata – atributo ou conjunto de atributos que identificam de forma única cada linha da tabela

A chave candidata pode ser:

Primária – só uma, escolhida entre as candidatas

Estrangeira (ou importada) – uma ou mais chaves,

atributo cujo valor coincide com a chave primária de outra tabela

SI-1 – ISEL - Vitor Vaz Silva 63

Page 64: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Base de Dados ex: Pluviosidade

SI-1 – ISEL - Vitor Vaz Silva 64

idxLat lat

1 42.2

2 42.0

idxLatLon pluv

5110001825 0.015625

5120001825 0.03125

idxLon lon

1 -9.6

2 -9.4

Latitude Longitude

Chuva Identifique as chaves

Candidatas

Primárias

Estrangeiras

Page 65: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Base de Dados ex: Pluviosidade

SI-1 – ISEL - Vitor Vaz Silva 65

idxLat lat

1 42.2

2 42.0

idxLat idxLn data pluv

5 11 1955/12/31 0.015625

5 12 1955/12/31 0.03125

idxLon lon

1 -9.6

2 -9.4

Latitude Longitude

Pluviosidade

Identifique as chaves

Candidatas

Primárias

Estrangeiras

Page 66: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Base de Dados Relação

(*) Uma Relação é um conjunto de Pares Ordenados

(+) Um Par Ordenado é um conjunto de valores de atributos

Tabela

(*) Uma Tabela é um conjunto de linhas

(+) Uma linha é um conjunto de colunas

SI-1 – ISEL - Vitor Vaz Silva 66

Page 67: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Base de Dados

SI-1 – ISEL - Vitor Vaz Silva 67

Aplicação

(Programa)

Sistema de

Comunicações

SGBD

Base de

Dados

Interface

(Programa)

Page 68: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Base de Dados

SI-1 – ISEL - Vitor Vaz Silva 68

SGBD

Base de

Dados

SQLite

SQLite3.exe

SQL

Page 69: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Base de Dados

SI-1 – ISEL - Vitor Vaz Silva 69

Aplicação

(JAVA) SGBD

Base de

Dados

SQLite

SQL

Page 70: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Base de Dados

BD – ISEL - Vitor Silva 70

Aplicação

(JAVA)

Internet

SGBD

Base de

Dados

Interface

( php )

MySQL

SQL

Page 71: Base de Dados - tektonia - BD_03A - Base de Dados.pdf · Base de Dados - Índice •Dados •Sistema de Ficheiros •Sistema de Base de Dados •Modelos BD – ISEL - Vitor Silva

Base de Dados

Referências:

J.A. Hoffer;M.B. Prescott, “Modern Database Management”

Peter Rob, Carlos Coronel, “Database Systems: Design, Implementation and Management”

BD – ISEL - Vitor Silva 71