30
Banco de Dados Prof.: Clayton Maciel Costa [email protected] 1

Banco de Dados - professor.pbaesse.net · Processo de Projeto de Banco de Dados 2 Levantamento e Análise de Requisitos Projeto Conceitual Projeto Lógico (Mapeamento do Modelo de

Embed Size (px)

Citation preview

Banco de Dados

Prof.: Clayton Maciel Costa [email protected] 1

Processo de Projeto de Banco de Dados

2

Levantamento e Análise de Requisitos

Projeto Conceitual

Projeto Lógico (Mapeamento do Modelo de Dados)

Projeto Físico

BD

Requisitos do Banco de Dados

Esquema Conceitual (Alto Nível)

Esquema Lógico (Modelo do SGBD)

Catálogo do SGBD

Esquema Interno

Minimundo

1

2

3

4

Projeto Conceitual: Modelo ER

3

• Modelo de dados ER

• Não é implementado por nenhum SBD;

• Utilizado como modelo conceitual para projeto de BDs: • Ferramenta para a modelagem de BDs.

• Proposto por P. Chen em 1976;

Princípio Básico:

Representar dados através: Entidades;

Relacionamentos entre as entidades;

Atributos: propriedades de entidades ou relacionamentos.

Projeto Conceitual: Modelo ER

4

• 1976 O Dr. Peter Chen (visite bit.csc.lsu.edu/~chen/chen.html) propôs o modelo Entidade-Relacionamento (ER) para projetos de banco de dados dando uma nova e importante percepção dos conceitos de modelos de dados. Assim como as linguagens de alto nível, a modelagem ER possibilita ao projetista concentrar-se apenas na utilização dos dados, sem se preocupar com estrutura lógica de tabelas.

Dr. Peter Chen, criador do

modelo ER.

5

Considere o BD chamado EMPRESA e seus requisitos.

• Organizada em departamentos: • um nome único;

• um número único;

• um empregado que gerencia o departamento;

• a data de quando o empregado começou a gerenciar o departamento deve ser registrada;

• um departamento pode ter varias localizações.

• Um departamento controla um número de projetos: • cada qual com um nome e número únicos;

• uma única localização.

Aplicação Exemplo

6

• Cada empregado:

• nome, identidade, endereço, salário, sexo, data nascimento;

• um empregado é assinalado a um departamento;

• pode trabalhar em diversos projetos, os quais não são necessariamente controlados pelo mesmo departamento;

• o número de horas por semana que o empregado trabalha em cada projeto e o supervisor direto de cada empregado;

• Registro para cada empregado: • número de dependentes (para seguro);

• para cada dependente:

• primeiro nome, sexo, data de nascimento e relacionamento com o empregado.

Aplicação Exemplo

7

Aplicação Exemplo Esquema Conceitual do BD EMPRESA

Modelo ER: Entidades e Atributos

8

Entidade

• Representação abstrata de um objeto do mundo real;

• Exemplos de entidades do mundo real:

• Objeto concreto: • Um empregado, um carro, um estudante.

• Objeto abstrato: • Uma empresa, uma conta bancária, uma disciplina.

• Conjunto de entidades (tipo de entidade):

• Entidades que apresentam características semelhantes;

• Exemplo: • Estudantes, Empregados, Contas.

Modelo ER: Entidades e Atributos

9

Atributos de uma entidade

• Propriedades que caracterizam uma entidade. • Exemplos:

• Atributos de empregados:

• matrícula, nome, endereço, rg, cpf, data-nasc, salário, lotação, data-admissão.

• Atributos de estudantes:

• matrícula, nome, curso, rg, cpf, data-ingresso.

• A cada atributo de uma entidade deve estar associado um valor.

Modelo ER: Entidades e Atributos

10

Atributos de uma entidade • Atributos chave de uma entidade:

• Conjunto de atributos que identificam univocamente uma entidade • Exemplo:

• Matrícula é atributo chave para Estudante.

• Chave pode ser formada por vários atributos: chave composta • Exemplo:

• Numero e Nome são chaves compostas da entidade Departamento.

• Domínio de um atributo:

• Conjunto de valores que podem ser atribuídos a um atributo para cada entidade individualmente: • Exemplo:

• RG:Integer; Nome do Empregado:String.

Modelo ER: Entidades e Atributos

11

Modelo ER: Entidades e Atributos

12

Atributos de uma entidade • Tipos de atributos:

• Atributo atômico: • Atributo que não pode ser subdividido. Exemplo: Salário.

• Atributo composto: • Atributo formado por vários atributos. Exemplo: Endereço.

• Atributo monovalorado: • Atributo para o qual está associado um único valor. Exemplo: Nome.

• Atributo multivalorado: • Atributo para qual podem estar associados vários valores. Exemplo:

Para o atributo telefone podem estar associados vários valores, como telefone residencial, comercial e celular.

• Atributo derivado: • Atributo cujo valor é derivado com base no valor de um outro atributo

(atributo base). Exemplo: Atributo idade pode ser derivado do atributo data-nasc.

Modelo ER: Entidades e Atributos

13

Modelo ER: Relacionamentos

14

Relacionamento • Abstração que representa associações entre

diferentes conjuntos de entidades.

• Exemplo: • Empregado John Smith trabalha para Departamento

pesquisa. • Empregado Fred Brown gerencia Departamento pesquisa. • Departamento pesquisa controla Projeto X.

Modelo ER: Relacionamentos

15

Tipo de Relacionamento • Define um conjunto de associações entre n tipos de

entidade E1, E2,...,En

• Exemplo:

• Trabalha_para entre Empregado e Departamento

Modelo ER: Relacionamentos

16

Tipo de Relacionamento

• Formalmente, um tipo de relacionamento R é um conjunto de (instâncias de) relacionamentos ri, onde cada ri associa n (instâncias de) entidades (e1,...,en) e cada ej pertence a um tipo de entidade Ej

• R ∈ E1 x E2 x ... x En

• ri = (e1, ..., en)

• Grau de um Tipo de Relacionamento • Número de tipos de entidade participantes de um tipo de

relacionamento.

Modelo ER: Relacionamentos

17

Modelo ER: Relacionamentos

18

Modelo ER: Relacionamentos

19

Restrições sobre Relacionamento

• Limitam as possíveis combinações de entidades que podem participar no conjunto de relacionamentos;

• Cardinalidade: número de instâncias de um tipo de relacionamento do qual uma entidade pode participar;

• Participação: se a existência de uma entidade depende de seu relacionamento com outra entidade através de um tipo de relacionamento parcial ou total: • Exemplo: Todo empregado deve trabalhar p/ um departamento. (total)

• Exemplo: Nem todo empregado gerencia um departamento. (parcial)

• Cardinalidade + Participação Restrições Estruturais

Modelo ER: Relacionamentos

20

Modelo ER: Relacionamentos

21

Modelo ER: Relacionamentos

22

Relacionamentos Recursivos • Auto relacionamento

• Relacionamento envolvendo um único conjunto de entidades;

• Exemplo:

• Cada departamento possui vários supervisores:

• Responsáveis por um subconjunto de empregados do departamento.

• Modelagem do relacionamento entre empregado e supervisor:

• Um supervisor também é uma entidade do tipo Empregado;

• Relacionamento supervisiona.

Supervisiona

Empregado

1

1

2

2

1 1

Empregado desempenha dois papéis

- é-supervisionado-por (1)

- é-supervisor-de (2)

Modelo ER: Relacionamentos

23

24

Aplicação Exemplo Esquema Conceitual do BD EMPRESA

Modelo ER: Entidades

25

Entidade Fraca • Entidade cuja existência depende de estar associada, via um

relacionamento (relacionamento de identificação), com uma outra entidade (entidade forte);

• Exemplo: • Considere o relacionamento dependência entre os conjuntos

de entidades Empregado e Dependente. • Dependente contém os dependentes dos empregados da empresa.

• A existência de um dependente Bárbara: • Depende da existência de um empregado André e que

• Bárbara esteja relacionada a André através do relacionamento dependência.

• Uma entidade fraca é identificada • Por estar relacionada com uma entidade forte:

• Pelo atributo chave da entidade forte.

• Atributos da própria entidade fraca: • Chave parcial.

26

Aplicação Exemplo Esquema Conceitual do BD EMPRESA

27

Modelo ER: Notação

Nome atributo

Símbolo Representação

Conjunto de entidades

Conjunto de entidades fracas

Conjunto de relacionamentos (relacionamento)

Relacionamento de identificação

Atributo

28

Modelo ER: Notação

Nome atributo

Símbolo Representação

Atributo chave

Nome atributo Atributo derivado

Nome atributo *

Nome atributo

Nome atributo Nome atributo

Atributo multivalorado

Atributo composto

29

Modelo ER: Notação Símbolo Representação

E1 R E2 1 N

Cardinalidade 1:N

R E (min,max) Restrição estrutural de

participação de E em R

E1 R E2 Participação total de E2 em R

Nome atributo Atributo chave parcial de uma entidade fraca

FIM

30