24
BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS) Professor Carlos Muniz

BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS · BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS) Definição de modelo 3 z .com “Dados são os fatos em sua

Embed Size (px)

Citation preview

Page 1: BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS · BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS) Definição de modelo 3 z .com “Dados são os fatos em sua

BANCO DE DADOS

INTRODUÇÃO (MODELAGEM DE

BANCO DE DADOS)Professor Carlos Muniz

Page 2: BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS · BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS) Definição de modelo 3 z .com “Dados são os fatos em sua

BANCO DE DADOS

INTRODUÇÃO (MODELAGEM DE BANCO DE

DADOS)

Definição de modelo

2

Pro

fesso

r Carlo

s Mu

niz

pro

fesso

rcarlo

smu

niz

@gm

ail.co

m

Parece trivial o que pode ser um modelo, mas vamos nos esquecer da

informática por um momento, para assim explorarmos outras

possibilidades interessantes.

A seguir uma das muitas definições que “modelo” pode ter, e que serve

particularmente aos casos que iremos enquadrar:

Modelo é a representação abstrata e simplificada de um

sistema real, com a qual se pode explicar ou testar o seu

comportamento, em seu todo ou em partes.

* Exemplo do anúncio de apartamento no jornal (planta baixa).

Page 3: BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS · BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS) Definição de modelo 3 z .com “Dados são os fatos em sua

BANCO DE DADOS

INTRODUÇÃO (MODELAGEM DE BANCO DE

DADOS)

Definição de modelo

3

Pro

fesso

r Carlo

s Mu

niz

pro

fesso

rcarlo

smu

niz

@gm

ail.co

m

“Dados são os fatos em sua forma primária, como por exemplo um

nome de um empregado e o número de horas trabalhadas em uma

semana, números de peças em estoque ou pedidos de vendas.” (Stair,

1996).

“Quando estes fatos estão organizados ou arranjados de uma maneira

significativa, eles se tornam uma informação. Informação, portanto, é

um conjunto de fatos organizados de tal forma que adquirem um valor

adicional além do valor do fato em si. Por exemplo, um certo gerente

pode achar que o conhecimento do total de vendas mensais é mais

adequado ao seu propósito, ou seja, tem mais valor, do que as vendas

de cada representante de vendas individualmente.” (Stair, 1996)

Page 4: BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS · BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS) Definição de modelo 3 z .com “Dados são os fatos em sua

BANCO DE DADOS

INTRODUÇÃO (MODELAGEM DE BANCO DE

DADOS)

Definição de modelo

4

Pro

fesso

r Carlo

s Mu

niz

pro

fesso

rcarlo

smu

niz

@gm

ail.co

m

Banco de dados: “É uma coleção de dados relacionados. Dados, por sua

vez são uma coleção de fatos que podem ser guardados e que tem um

significado implícito...” (Navathe, 1994)

SGBD: “é uma coleção de programas que permite ao usuário criar e

manter um banco de dados.” (Navathe, 1994)

Page 5: BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS · BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS) Definição de modelo 3 z .com “Dados são os fatos em sua

BANCO DE DADOS

INTRODUÇÃO (MODELAGEM DE BANCO DE

DADOS)

O Modelo Conceitual de Dados

5

Pro

fesso

r Carlo

s Mu

niz

pro

fesso

rcarlo

smu

niz

@gm

ail.co

m

A Abordagem Entidade-Relacionamento (E-R)

Em março de 76, Peter P. Chen publicou o trabalho “The Entity-

Relationship Model: Toward the unified view of data”, onde definia

uma possível abordagem ao processo de modelagem dos dados. Passou

a ser considerado o referencial definitivo.

Conceitos Básicos do Modelo E-R

Utiliza-se basicamente um retângulo para representar entidades, um

losango para relacionamentos e balões para os atributos.

Page 6: BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS · BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS) Definição de modelo 3 z .com “Dados são os fatos em sua

BANCO DE DADOS

INTRODUÇÃO (MODELAGEM DE BANCO DE

DADOS)

O Modelo Conceitual de Dados

6

Pro

fesso

r Carlo

s Mu

niz

pro

fesso

rcarlo

smu

niz

@gm

ail.co

m

A proposta perdura até hoje devido ao preceito básico da formalização

do óbvio. Por isso o modelo é ao mesmo tempo objetivo, flexível e

adaptável. (Sua maior qualidade)

A Lei do Mundo: O mundo está cheio de coisas (entidades no original)

que possuem características próprias e que se relacionam entre si.

Page 7: BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS · BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS) Definição de modelo 3 z .com “Dados são os fatos em sua

BANCO DE DADOS

INTRODUÇÃO (MODELAGEM DE BANCO DE

DADOS)

O Modelo Conceitual de Dados

7

Pro

fesso

r Carlo

s Mu

niz

pro

fesso

rcarlo

smu

niz

@gm

ail.co

m

Chen enunciou o que todos já sabiam e faziam: “Observamos,

manipulamos, reproduzimos ou simulamos coisas, seus

relacionamentos e características e, portanto, assim devemos

representálas!”.

Conceito Básico na “Lei do

Mundo”

Abordagem do Modelo E-R

Conjunto de objetos, ou elementos

individualizados

Entidades

Individualização de objetos ou

elementos

Instâncias ou Ocorrências

Características próprias Atributos

Inter-relacionamento de objetos Relacionamentos

Page 8: BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS · BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS) Definição de modelo 3 z .com “Dados são os fatos em sua

BANCO DE DADOS

INTRODUÇÃO (MODELAGEM DE BANCO DE

DADOS)

Entidades

8

Pro

fesso

r Carlo

s Mu

niz

pro

fesso

rcarlo

smu

niz

@gm

ail.co

m

Conjunto de objetos da realidade modelada sobre os quais deseja-se

manter informações no banco de dados.

Identificação das Entidades

Devemos procurar reconhecer objetos, ou elementos individualizados,

através da observação de cinco grandes grupos de elementos:

Page 9: BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS · BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS) Definição de modelo 3 z .com “Dados são os fatos em sua

BANCO DE DADOS

INTRODUÇÃO (MODELAGEM DE BANCO DE

DADOS)

Entidades

9

Pro

fesso

r Carlo

s Mu

niz

pro

fesso

rcarlo

smu

niz

@gm

ail.co

m

Conjunto (entidade) Objetos que pertencem ao

conjunto

Meio de transporte Avião, automóvel, bicicleta

Animal Cachorro, cavalo, elefante

Utensílio doméstico Garrafa, mesa, telefone, panela

Utensílio escolar Livro, lápis, borracha, quadro,

disquete

Equipamento Computador, máquina de

escrever, calculadora

Pertence pessoal Chave, carteira, agenda, camisas

Page 10: BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS · BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS) Definição de modelo 3 z .com “Dados são os fatos em sua

BANCO DE DADOS

INTRODUÇÃO (MODELAGEM DE BANCO DE

DADOS)

Relacionamentos

10

Pro

fesso

r Carlo

s Mu

niz

pro

fesso

rcarlo

smu

niz

@gm

ail.co

m

Conjunto de associações entre ocorrências de entidades.

Identificação dos Relacionamentos

Relacionamento entre objetos de diferentes tipos

•Exemplo da pessoa e do carro: Eduardo tem um jipe amarelo.

A- Identificar os objetos envolvidos: Pessoa e Carro

B- Caracterizar os objetos: Pessoa (Nome, CPF, nascimento) e

Carro (Marca,

modelo, cor, ano de fabricação, placa)

C- Representar os objetos: fazer os desenhos

D- Identificar o relacionamento entre os objetos: Pessoa é

proprietária de Carro

Page 11: BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS · BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS) Definição de modelo 3 z .com “Dados são os fatos em sua

BANCO DE DADOS

INTRODUÇÃO (MODELAGEM DE BANCO DE

DADOS)

Relacionamentos

11

Pro

fesso

r Carlo

s Mu

niz

pro

fesso

rcarlo

smu

niz

@gm

ail.co

m

E- Caracterizar o relacionamento entre os objetos:

Nem toda pessoa é proprietária de um carro

Um carro pode pertencer a uma pessoa ou não

Algumas pessoas têm mais de um carro

Se um carro pertence a uma pessoa ele não pertence a mais ninguém

F- Representar o relacionamento

Page 12: BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS · BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS) Definição de modelo 3 z .com “Dados são os fatos em sua

BANCO DE DADOS

INTRODUÇÃO (MODELAGEM DE BANCO DE

DADOS)

Caracterização dos Relacionamentos

12

Pro

fesso

r Carlo

s Mu

niz

pro

fesso

rcarlo

smu

niz

@gm

ail.co

m

Sua caracterização deverá ser feita baseada no atendimento de alguns

requisitos:

• Cardinalidade (ou grau) do relacionamento

Pode ser 1:1 (Um para Um), 1:N (Um para Muitos) ou M:N (Muitos

para Muitos - deverá ser desfeito no modelo lógico)

• Número de elementos que participam do relacionamento

Relacionamentos geralmente se dão entre duas entidades, pois

relacionamentos ternários ou de maiores graus não são muitos

freqüentes.

• Condição de participação dos elementos no relacionamento

• Condição de estabelecimento do relacionamento

Page 13: BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS · BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS) Definição de modelo 3 z .com “Dados são os fatos em sua

BANCO DE DADOS

INTRODUÇÃO (MODELAGEM DE BANCO DE

DADOS)

Atributos

13

Pro

fesso

r Carlo

s Mu

niz

pro

fesso

rcarlo

smu

niz

@gm

ail.co

m

Dado que é associado a cada ocorrência de uma entidade ou de um

relacionamento.

O Papel dos Atributos

O atributo é uma característica própria de cada um dos objetos em um

ambiente. Essas características devem ser comuns a todos os objetos,

ou elementos individualizados, pertencentes a um mesmo conjunto.

2.5.2 Atributos Identificados de Entidades

Conjunto de um (identificador simples) ou mais (identificador

composto) atributos cujos valores servem para distinguir uma

ocorrência da entidade das demais ocorrências da mesma entidade.

Identificado por um círculo preenchido.

Page 14: BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS · BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS) Definição de modelo 3 z .com “Dados são os fatos em sua

BANCO DE DADOS

INTRODUÇÃO (MODELAGEM DE BANCO DE

DADOS)

Atributos

14

Pro

fesso

r Carlo

s Mu

niz

pro

fesso

rcarlo

smu

niz

@gm

ail.co

m

Relacionamentos Identificadores (Entidade Fraca)

A entidade fraca deriva do fato de ela somente existir quando

relacionada a uma outra entidade. Sua representação se dá por uma

linha mais grossa no relacionamento com a entidade “forte”. Exemplo:

Empregado e dependente.

Page 15: BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS · BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS) Definição de modelo 3 z .com “Dados são os fatos em sua

BANCO DE DADOS

INTRODUÇÃO (MODELAGEM DE BANCO DE

DADOS)

Atributos Identificadores de

Relacionamentos

15

Pro

fesso

r Carlo

s Mu

niz

pro

fesso

rcarlo

smu

niz

@gm

ail.co

m

Em alguns casos certos relacionamentos podem ocorrer várias vezes e

podem ser diferenciados. Exemplo: Médico consulta paciente.

Page 16: BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS · BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS) Definição de modelo 3 z .com “Dados são os fatos em sua

BANCO DE DADOS

INTRODUÇÃO (MODELAGEM DE BANCO DE

DADOS)

O Modelo Relacional de Dados

16

Pro

fesso

r Carlo

s Mu

niz

pro

fesso

rcarlo

smu

niz

@gm

ail.co

m

Evolução dos Modelos Lógicos de Dados

O modelo lógico é uma ferramenta para descrição de estruturas de

dados em uma forma passível de ser processada por um SGBD. É um

nível de abstração mais baixo que um Modelo Conceitual, mas mais

alto que um Modelo Físico, pois não considera aspectos físicos de

armazenamento, acesso e desempenho.

3.2 Histórico do Modelo Relacional

O Modelo Relacional foi introduzido por Codd em 1970, como auxílio

para o desenvolvimento de banco de dados relacionais:

• Forte base teórica, fundamentada na teoria dos conjuntos;

• Conceitos simples: relações, atributos, tuplas e domínios;

• Base para a maioria dos SGBDs que dominam o mercado.

Page 17: BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS · BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS) Definição de modelo 3 z .com “Dados são os fatos em sua

BANCO DE DADOS

INTRODUÇÃO (MODELAGEM DE BANCO DE

DADOS)

Os Principais Elementos de um BD

Relacional

17

Pro

fesso

r Carlo

s Mu

niz

pro

fesso

rcarlo

smu

niz

@gm

ail.co

m

Tabelas

Uma tabela (ou relação) é um conjunto não ordenado de linhas (ou

tuplas). Um exemplo de tabela (a seguir) que armazena dados de

empregados de uma organização.

CodigoEmp Nome CodigoDepto CategFuncional

E5 Souza D1 C5

E3 Santos D2 C5

E2 Silva D1 C2

E1 Soares D1 -

Page 18: BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS · BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS) Definição de modelo 3 z .com “Dados são os fatos em sua

BANCO DE DADOS

INTRODUÇÃO (MODELAGEM DE BANCO DE

DADOS)

Os Principais Elementos de um BD

Relacional

18

Pro

fesso

r Carlo

s Mu

niz

pro

fesso

rcarlo

smu

niz

@gm

ail.co

m

Tabelas

Cada linha é composta por uma série de campos (valor de atributo).

Neste exemplo cada linha é referente a um empregado da companhia e

cada campo é uma informação referente a este empregado (código,

nome, departamento, categoria funcional).

Cada campo é identificado por um nome de campo (nome de atributo),

que na tabela representam o cabeçalho da tabela.

O conjunto de campos homônimos de uma tabela forma uma coluna.

Page 19: BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS · BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS) Definição de modelo 3 z .com “Dados são os fatos em sua

BANCO DE DADOS

INTRODUÇÃO (MODELAGEM DE BANCO DE

DADOS) Os Principais Elementos de um BD

Relacional

19

Pro

fesso

r Carlo

s Mu

niz

pro

fesso

rcarlo

smu

niz

@gm

ail.co

m

Tabelas

Tabela de banco de dados relacional X Arquivo convencional de

sistema operacional:

• As linhas da tabela não tem ordenação, a menos que na consulta

seja explícita essa ordenação. Já num arquivo comum você pode

acessar um certo conteúdo referenciando sua linha de relativa dentro

do arquivo.

• Os valores de campo dentro da tabela são atômicos (não pode ser

composto de outros) e monovalorados (possui um único valor). Esses

tipos de representações podem ser feitas em muitas linguagens de

programação.

• Para consultar um banco de dados o acesso pode ser por quaisquer

critérios envolvendo os campos de uma ou mais linhas. Num arquivo

isso só seria possível com uma estrutura de apoio como ponteiros.

Page 20: BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS · BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS) Definição de modelo 3 z .com “Dados são os fatos em sua

BANCO DE DADOS

INTRODUÇÃO (MODELAGEM DE BANCO DE

DADOS) Chave Primária

20

Pro

fesso

r Carlo

s Mu

niz

pro

fesso

rcarlo

smu

niz

@gm

ail.co

m

Chave => Conceito básico para identificar as linhas e estabelecer

relações entre as linhas de tabelas em um banco de dados.

A chave primária é uma coluna (ou combinação de colunas) cujos

valores identificam umalinha das demais dentro da tabela. Na tabela

exemplo da página anterior a chave primária é a coluna CodigoEmp.

Um exemplo de chave primária composta seria a tabela de

Dependentes a seguir, onde é preciso se considerar as colunas

CodEmp e NoDepen para identificar cada linha.

CodEmp NoDepen Nome Tipo DataNasc

E1 01 João Filho 12/01/2001

E1 02 Maria Filha 20/10/2003

E2 01 Ana Esposa 12/12/1970

Page 21: BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS · BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS) Definição de modelo 3 z .com “Dados são os fatos em sua

BANCO DE DADOS

INTRODUÇÃO (MODELAGEM DE BANCO DE

DADOS) Chave Estrangeira

21

Pro

fesso

r Carlo

s Mu

niz

pro

fesso

rcarlo

smu

niz

@gm

ail.co

m

Uma chave estrangeira é uma coluna (ou colunas no caso da chave

composta) cujos valores aparecem necessariamente como chave

primária em alguma tabela. É através das chaves estrangeiras que

são implementados os relacionamentos em um banco de dados

relacional.

Page 22: BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS · BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS) Definição de modelo 3 z .com “Dados são os fatos em sua

BANCO DE DADOS

INTRODUÇÃO (MODELAGEM DE BANCO DE

DADOS) Implementação das Entidades e Atributos

22

Pro

fesso

r Carlo

s Mu

niz

pro

fesso

rcarlo

smu

niz

@gm

ail.co

m

Este passo é razoavelmente óbvio:

• Cada entidade define uma tabela;

• Cada atributo da entidade define uma coluna desta tabela;

• Os atributos identificadores da entidade definem as colunas que

compões a chaveprimária da tabela.

Exemplo:

Esquema relacional correspondente:

Pessoa (CodigoPess, Nome, Endereco, DataNasc, DataAdm)

Page 23: BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS · BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS) Definição de modelo 3 z .com “Dados são os fatos em sua

BANCO DE DADOS

INTRODUÇÃO (MODELAGEM DE BANCO DE

DADOS) Implementação das Entidades e Atributos

23

Pro

fesso

r Carlo

s Mu

niz

pro

fesso

rcarlo

smu

niz

@gm

ail.co

m

Na conversão dos nomes dos atributos para os nomes das colunas não

é aconselhável transcrever os mesmos nomes dos atributos

iretamente para o nome das colunas. Como as colunas são acessadas

por outros programas é conveniente manter seus nomes curtos. Além

disso em SGBDs nomes de colunas não podem espaços em branco nem

hífens, e é aconselhável não usar acentos e cedilha.

Ao se usar abreviaturas, manter o padrão durante todo o projeto. E

não usar o nome da tabela junto aos nomes das colunas (salvo a chave

primária).

Relacionamento identificador:

Page 24: BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS · BANCO DE DADOS INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS) Definição de modelo 3 z .com “Dados são os fatos em sua

BANCO DE DADOS

INTRODUÇÃO (MODELAGEM DE BANCO DE

DADOS) Implementação das Entidades e Atributos

24

Pro

fesso

r Carlo

s Mu

niz

pro

fesso

rcarlo

smu

niz

@gm

ail.co

m

Caso a entidade possua um relacionamento identificador (como no

exemplo do Empregado e dependente da página anterior) devemos

seguir:

• Para cada relacionamento identificador é criada na tabela que

implementa a entidade identificada (Dependente recebe uma chave

estrangeira que é a chave primária de Empregado);

• A chave primária da tabela que implementa a entidade identificada

pelo relacionamento identificador é formada pelo identificador da

entidade mais as chaves estrangeiras que mapeiam o relacionamento

(a chave de Dependente é formada pelo código de empregado e o

número de seqüência do dependente).