Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula3.pdf ·...

49
Banco de Dados Aula 3 - Prof. Bruno Moreno 26/08/2011

Transcript of Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula3.pdf ·...

Banco de Dados

Aula 3 - Prof. Bruno Moreno

26/08/2011

Aula passada..

• PostgreSQL• Profissionais de BD• Vantagens do uso de BD• Modelagem de Dados• Esquema de Banco de Dados• Arquitetura de Banco de Dados• Independência de Dados• Linguagens SGBD• Utilitários do sistema de BD• Classificação de SGBDs• Modelo de Dados Relacional e OO

08:51

Roteiro

• Projeto de BD

• Esquema geral do projeto de um BD

• Conceitos de modelagem

• Diagrama E-R

08:56

PROJETO DE BDBanco de Dados I

08:56

Projeto de BD

• O projeto de BD pode ser dividido em duas fases(1) Modelagem conceitual

• Baseado na análise de requisitos, é construído um modelo conceitual de alto nível.

• Independente de SGBD

(2) Projeto lógico• Modelo conceitual é convertido em um modelo lógico

• O modelo lógico define como o BD será implementado por um SGBD

08:56

Esquema geral do projeto de um BD

08:56

Levantamento e análise de requisitos

Esquema conceitual

-Descrição concisa dos requisitos de dados dos usuários- Descrição detalhada de tipos de entidade, relacionamento e restrições

Não incluem detalhes de implementação

Esquema geral do projeto de um BD

08:59

O modelo conceitual é mapeado para o modelo de dados do SGBD

São definidas estruturas de armazenamento interno, índices, caminhos de acesso e

organizações de arquivo para os arquivos do BD

Esquema geral do projeto de um BD

09:00

Diagrama E-R

CONCEITOS DE MODELAGEMBanco de Dados I

09:00

Conceitos de modelagem

• Entidades (Tipo Entidade)– Um objeto do mundo real com uma existência

independente

– Existência• Física: pessoa, carro, casa, funcionário

• Conceitual: empresa, trabalho, curso universitário

– Um tipo entidade define uma coleção de entidades que possuem os mesmos atributos

• Conjunto de entidades– Coleção de todas entidades de um tipo entidade

09:00

Conceitos de modelagem

• Entidades possuem atributos

– Propriedades que descrevem entidades

– Empregado

• Nome, idade, endereço, salário e função

• Tipos de atributos

– Compostos ou simples

– Univalorado ou multivalorado

– Armazenado ou derivado

09:00

Conceitos de modelagem

• Atributos compostos

– Podem ser divididos em sub-partes menores

– Sub-partes representam atributos básicos com significados independentes

• Endereço: Rua, Cidade, Estado e CEP

• Telefone: DDD e Número

09:02

Endereço

EnderecoRua Cidade Estado CEP

Número Rua Apartamento

Conceitos de modelagem

• Atributos monovalorados

– Possuem um valor único para uma entidade

– Exemplo: idade

• Atributos multivalorados

– Podem possuir diversos valores

– Exemplos

• Telefone

• Titulação de uma pessoa

09:10

Conceitos de modelagem

• Atributos derivados

– Quando existe relação de dependência entre atributos

– Exemplo: idade e data de nascimento

• Idade é atributo derivado de DataDeNascimento

• DataDeNascimento é chamado atributo armazenado

– Atributos derivados de relacionamentos

• Exemplo: NumeroEmpregados de Departamento

09:11

Conceitos de modelagem

• Valor null para atributos

– Pode ser usado quando não existe valor aplicável ou quando o valor é desconhecido

– Atributo apartamento de ENDEREÇO

– Atributo titulação de PROFESSOR

– Atributo telefone de PESSOA

09:11

Conceitos de modelagem

• Atributo-chave– Restrição de unicidade de atributos de uma

entidade

– Atributo de uma entidade cujos valores são distintos para cada uma das entidades do conjunto de entidades• Nenhuma entidade pode ter, ao mesmo tempo, o

mesmo valor para o atributo-chave

– Os valores do atributo-chave são utilizados para identificar uma entidade univocamente

09:11

Conceitos de modelagem

• Atributo-chave

– Chave composta: atributos que, em conjunto, possuem valores distintos para cada entidade do conjunto de entidades

– No diagrama ER: sublinhado

– A restrição de chave deriva de restrições do minimundo

09:13

Conceitos de modelagem

• Atributo-chave

– Alguns tipos de entidades possuem mais do que um atributo chave

• Aluno: CPF e Matrícula

– Um tipo entidade também pode não ter chave

• Entidade fraca

09:18

Pessoa

CPF

Nome

DataNasc

Nacionalidade

Empresa

Nome

Local

Presidente

Placa_carro

Letras

Numero

Estado

Cidade

Dependente

Nome

Parentesco

Sexo

Conceitos de modelagem

• Conjunto de valores de atributos (domínio)

– Conjunto de valores válidos para os atributos de cada entidade

– Exemplos

• Limite de idade permitido para empregados

• Quantidade de caracteres para CPF de aluno

– Não são representados no DER

– São especificados pelos tipos básicos de dados

• String, ponto flutuante, inteiro, ...

09:18

DIAGRAMA ENTIDADE-RELACIONAMENTO

Banco de Dados I

09:20

Exemplo: EMPRESA

• Descrição do minimundo(1) A empresa está organizada em departamentos.

Cada departamento tem um nome único, um número único e um empregado que o gerencia. O BD armazena a data que o empregado começou a gerenciar o departamento. O departamento pode ter diversas localizações

(2) Um departamento controla um número qualquer de projetos, cada qual com um único nome, um único número e uma única localização

09:21

Exemplo: EMPRESA

• Descrição do minimundo(3) Para cada empregado, é armazenado o CPF, endereço,

salário, sexo e data de nascimento. Um empregado está alocado a um departamento, mas pode trabalhar em diversos projetos que não são controlados, necessariamente, pelo mesmo departamento. O número de horas semanais que cada funcionário trabalha também é controlado, além do supervisor direto de cada funcionário.

(4) O banco também controla os dependentes de cada empregado para fins de seguro. Para cada dependente, é armazenado o primeiro nome, sexo, data de nascimento e o parentesco dele com o empregado.

09:22

Exemplo: EMPRESA

• Projeto conceitual

– A empresa está organizada em departamentos.

– Cada departamento possui

• Nome único

• Número único

• É gerenciado por um empregado

• A data que o empregado começou a gerenciar

• Pode ter diversas localizações

09:22

DEPARTAMENTONome, Numero, Gerente, DataInicioGerencia, {Localizacoes}

Exemplo: EMPRESA

• Projeto conceitual

• Um departamento controla um número qualquer de projetos

• Cada projeto contém

– Nome único

– Número único

– Localização única

09:23

PROJETONome, Numero, Localizacao, DepartamentoControle

Exemplo: EMPRESA

• Projeto conceitual

– Para cada empregado

• Nome, CPF, endereço, salário, sexo, data de nascimento, numero de horas semanais, supervisor direto

• Um empregado está alocado a um departamento, mas pode trabalhar em diversos projetos que não são controlados, necessariamente, pelo mesmo departamento

09:24

EMPREGADONome (Pnome, InicialM, UnNome), CPF, endereco, salario, sexo,

DataNascimento, Departamento, Supervisor, {TrabalhaEm(Projeto, Horas)}

Exemplo: EMPRESA

• Projeto conceitual

• Para cada dependente

– Primeiro nome, sexo, data de nascimento e o parentesco dele com o empregado

09:25

DEPENDENTENomeDependente, Sexo, DataNascimento, Parentesco, Empregado

Diagrama E-R

• Entidades:

• Entidades fracas:

• Atributo:

09:26

EMPREGADODEPARTAMENTO PROJETO

DEPENDENTE

Nome Localização

Diagrama E-R

• Atributo chave:

• Atribuo multi-valorado:

• Atributo composto:

• Atributo derivado:

09:28

CPF Número

Telefone

Endereço

Rua

Número

Bairro

Idade NroEmpregados

Tipos de Relacionamento

• No exemplo há diferentes relacionamentos implícitos

09:29

DEPARTAMENTONome, Numero, Gerente, DataInicioGerencia, {Localizacoes}

PROJETONome, Numero, Localizacao, DepartamentoControle

EMPREGADONome (Pnome, InicialM, UnNome), CPF, endereco, salario, sexo,

DataNascimento, Departamento, Supervisor, {TrabalhaEm(Projeto, Horas)}

DEPENDENTENomeDependente, Sexo, DataNascimento, Parentesco, Empregado

Tipos de Relacionamentos

• No modelo ER estas referências são representadas por relacionamentos

– Referências não são representadas como atributos

– Representados como LOSANGO

09:31

TRABALHA_PARA

Grau de um relacionamento

• Número de entidades que participam desse relacionamento

– Um EMPREGADO TRABALHA_PARA DEPARTAMENTO: grau 2

• Binário

09:31

EMPREGADO DEPARTAMENTOTRABALHA_PARA

Grau de um relacionamento

• Número de entidades que participam desse relacionamento

– Um EMPREGADO TRABALHA_PARA DEPARTAMENTO: grau 2

• Ternário

09:33

FORNECEDOR PROJETOFORNECE

PEÇA

Relacionamento Recursivo

• Nome de papel

– Significa o papel que uma entidade realiza em um relacionamento

– Relacionamento TRABALHA_PARA

• EMPREGADO é empregado

– Relacionamento SUPERVISÃO

• EMPREGADO é supervisor

09:34

EMPREGADO SUPERVISÃO

supervisor

supervisionado

Razões de Cardinalidade

• Relacionamentos binários

• Especifica o número máximo de instâncias de relacionamento em que uma entidade pode participar

• TRABALHA_PARA

– DEPARTAMENTO e EMPREGADO

– 1:N

09:34

Razões de Cardinalidade

• Tipos de relacionamentos binários

– 1:1 (GERENCIA)

– 1:N

– N:1

– M:N (TRABALHA_PARA: EMPREGADO e PROJETO)

09:35

Razões de Cardinalidade

• Tipos de relacionamentos binários

– 1:1 (GERENCIA)

– 1:N

– N:1

– M:N (TRABALHA_PARA: EMPREGADO e PROJETO)

09:36

e1

e2

e3

e4

d1

d2

d3

d4

EMPREGADO DEPARTAMENTO

r1

r2

r3

r4

GERENCIA

.

.

.

.

.

.

.

.

.

Razões de Cardinalidade

• Tipos de relacionamentos binários

– 1:1 (GERENCIA)

– 1:N

– N:1

– M:N (TRABALHA_PARA: EMPREGADO e PROJETO)

09:36

e1

e2

e3

e4

p1

p2

p3

p4

EMPREGADO PROJETO

r1

r2

r3

r4

TRABALHA_EM

.

.

.

.

.

.

.

.

.

Razões de Cardinalidade

09:37

EMPREGADO TRABALHA_PARAN

DEPARTAMENTO1

EMPREGADO TRABALHA_PARA(1,N)

DEPARTAMENTO(1,1)

Razões de Cardinalidade

• Restrições de participação

– Determina se a existência de uma entidade depende de seu relacionamento com outra entidade

– Determina o mínimo de instâncias de relacionamento

• Restrição de cardinalidade mínima

09:38

Razões de Cardinalidade

• Tipos de restrições de participação– Total: toda e qualquer entidade de um conjunto

entidade específico deve estar relacionada a outra

– Conhecida como dependência de existência• Exemplo: todo EMPREGADO deve trabalhar para um

DEPARTAMENTO (TRABALHA_PARA)

– Parcial: algumas entidades de um conjunto entidade específico está relacionada com a outra• Exemplo: um EMPREGADO gerencia ou não um

DEPARTAMENTO

09:38

Razões de Cardinalidade

• Tipos de restrições de participação

– Participação total no DER

– Participação parcial no DER

09:38

TRABALHA_PARAEMPREGADO DEPARTAMENTO

GERENCIAEMPREGADO DEPARTAMENTO

Entidade fraca

• Entidade fraca sempre possui uma restrição de participação total em relação ao seu relacionamento identificador

– Relacionamento identificador: relacionamento da entidade fraca com a forte

– O contrário é inválido

• Exemplo: CARTEIRA_HABILITAÇÃO depende de PESSOA mas possui o atributo-chave NUMERAÇÃO

09:39

Entidade fraca

CPF Nome DataNasc Sexo Salario

123456 José 01/01/80 M 2.000,00

654321 Maria 01/01/79 F 2.500,00

09:40

Nome DataNasc Sexo Parentesco CPF_Empregado

João 01/01/00 M Filho 123456

João 01/01/00 M Filho 654321

Manoel 01/02/02 M Filho 123456

EMPREGADO

DEPENDENTE

Entidade fraca

• Chave parcial

– Conjunto de atributos que identifica, de modo exclusivo, as entidades fracas que estão relacionadas a uma mesma proprietária

– Exemplo: nenhum dependente da mesma entidade forte pode ter o mesmo nome

• Nome de DEPENDENTE será chave parcial

• É comum que chave parcial de entidades fracas seja composta

09:40

Entidade fraca

• No DER

– O relacionamento e a ligação são representados pela borda dupla

09:40

DEPENDENTE_DEDEPENDENTE EMPREGADO

Atributos de relacionamentos• Relacionamento TRABALHA_EM

– Atributo horas

• Relacionamento GERENCIA– Atributo dataInicio

• 1:1- atributo pode ser representado em qualquer uma das entidades

• 1:N- atributo pode ser representado na entidad“1”

• M:N- atributo deve ser atributo de relacionamento

09:40

Demais convenções DER

• Análise de requisitos– Normalmente, substantivos geram entidades e

verbos geram relacionamentos– Atributos surgem de substantivos adicionais que são

utilizados para descrever outros substantivos

• Nomes de cada entidade no singular• Letras maiúsculas para tipos de entidade e

relacionamento• Relacionamentos nomeados de forma que facilite

leitura da direita para esquerda e de cima para baixo

09:43

Demais convenções DER

Não são regras!

09:44

Freqüência!

Aula 3 - BD - Prof. Bruno Moreno

26/08/2011