28
Sistemas de Bases de Dados Sistemas de Bases de Dados Orlando Belo Departamento de Informática Escola de Engenharia Universidade do Minho Edição 2004 Desenho e Modelação de Esquemas de Bases de Dados

Desenho e Modelação de Esquemas de Bases de Dadosomb/BDTextos2007_/SBD-NL-ModelacaoBD.pdf · • Nesta unidade de ensino iremos apenas abordar a etapa do desenho de esquemas,

  • Upload
    voanh

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Desenho e Modelação de Esquemas de Bases de Dadosomb/BDTextos2007_/SBD-NL-ModelacaoBD.pdf · • Nesta unidade de ensino iremos apenas abordar a etapa do desenho de esquemas,

Sistemas de Bases de DadosSistemas de Bases de Dados

Orlando BeloDepartamento de Informática

Escola de Engenharia

Universidade do Minho

Edição 2004

Desenho e Modelação de Esquemas de Bases de Dados

Page 2: Desenho e Modelação de Esquemas de Bases de Dadosomb/BDTextos2007_/SBD-NL-ModelacaoBD.pdf · • Nesta unidade de ensino iremos apenas abordar a etapa do desenho de esquemas,

O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 2

Índice

• Ciclo de Vida de uma Base de Dados• Modelação de Esquemas de Bases de Dados• Diagramas ER• Notação Chen• Notação (Baseada em) UML• Notação “Crow’s Foot”• Notação IDEF1X• Notação Baseada em Sombras (“shading”)• Bibliografia• Referências WWW

Page 3: Desenho e Modelação de Esquemas de Bases de Dadosomb/BDTextos2007_/SBD-NL-ModelacaoBD.pdf · • Nesta unidade de ensino iremos apenas abordar a etapa do desenho de esquemas,

O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 3

Ciclo de Vida de uma Base de Dados

• O ciclo de vida de uma base de dados integra as principais etapas do desenho do seu esquema lógico global, alocação de dados num sistema computacional e na definição dos esquemas locais específicos ao sistema de bases de dados.

• Em termos gerais, podemos considerar seis etapas fundamentais:– Análise de requisitos.– Desenho do esquema.

• Modelação ER.• Integração de vistas.• Transformação do modelo ER.• Normalização das tabelas.

– Refinamento de utilização.– Distribuição dos dados.– Esquemas locais e desenho físico.– Implementação, monitorização e modificação da base de dados.

• Nesta unidade de ensino iremos apenas abordar a etapa do desenho de esquemas, em particular os aspectos relacionados com a modelação ER.

Page 4: Desenho e Modelação de Esquemas de Bases de Dadosomb/BDTextos2007_/SBD-NL-ModelacaoBD.pdf · • Nesta unidade de ensino iremos apenas abordar a etapa do desenho de esquemas,

O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 4

Modelação ER de Bases de Dados

• A modelação ER é a técnica de modelação de dados mais popular, dado ser simples, de fácil compreensão e leitura e um bom meio de discussão e análise em processos de definição para esquemas de bases de dados.

• Os diagramas ER são excelentes meios – ferramentas – para a comunicação com os utilizadores finais do sistemas de bases de dados quando se pretende apresentar e validar os nossos sistemas de dados durante a fase de modelação.

Page 5: Desenho e Modelação de Esquemas de Bases de Dadosomb/BDTextos2007_/SBD-NL-ModelacaoBD.pdf · • Nesta unidade de ensino iremos apenas abordar a etapa do desenho de esquemas,

O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 5

Notações para Diagramas ER

• Actualmente existem muitas e variadas formas de construção de um diagrama ER (Entidade-Relacionamento ou Entidade-Associação) que utilizam diferentes tipos de notação.

• Algumas das ferramentas de modelação de esquemas existentes no mercado permitem-nos escolher qual a notação que queremos utilizar.

• As notações que iremos abordar são:– Chen.– (Baseada em) UML.– “Crow’s Foot”.– IDEF1X.– Baseada em Sombras (“shading”).

• No nosso caso particular, começaremos por demonstrar e aplicar a nota Chen e, de seguida, apresentar as outras notações enunciadas anteriormente.

Page 6: Desenho e Modelação de Esquemas de Bases de Dadosomb/BDTextos2007_/SBD-NL-ModelacaoBD.pdf · • Nesta unidade de ensino iremos apenas abordar a etapa do desenho de esquemas,

O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 6

A Notação Chen

• A notação Chen é um dos formalismos mais interessantes para desenhar esquemas de bases de dados. A sua simplicidade permite ao arquitecto mais inexperiente representar e transmitir a forma como os dados serão organizados e armazenados numa base de dados.

• Através da notação Chen podemos representar e caracterizar:– Entidades.– Relacionamentos entre entidades.– Atributos de entidades e de relacionamento.

Page 7: Desenho e Modelação de Esquemas de Bases de Dadosomb/BDTextos2007_/SBD-NL-ModelacaoBD.pdf · • Nesta unidade de ensino iremos apenas abordar a etapa do desenho de esquemas,

O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 7

Construtores ER Básicos

Aluno

nome

Aluno_CV

númerofrequenta

morada localidade

rua

codPostal

Entidade

Entidade Fraca

Relacionamento Chave

Descritor ou normal

Complexo ou Composto

Multivalor

Atributo

telefone

Page 8: Desenho e Modelação de Esquemas de Bases de Dadosomb/BDTextos2007_/SBD-NL-ModelacaoBD.pdf · • Nesta unidade de ensino iremos apenas abordar a etapa do desenho de esquemas,

O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 8

Entidades e Atributos

nome

Entidade

Atributo simples

Atributo complexo

Atributo multivalorIdentificador

(chave)

Aluno

morada

rualocal

codPostal

telefonenúmero

Page 9: Desenho e Modelação de Esquemas de Bases de Dadosomb/BDTextos2007_/SBD-NL-ModelacaoBD.pdf · • Nesta unidade de ensino iremos apenas abordar a etapa do desenho de esquemas,

O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 9

Tipos de Relacionamentos

N CursoAluno frequenta1

N

Disciplina

coordenaFuncionárioN

1

Relacionamento

Cardinalidade

RelacionamentoBinário

Relacionamento Binário Recursivo

Relacionamento Ternário

N CursoAluno frequenta1

Page 10: Desenho e Modelação de Esquemas de Bases de Dadosomb/BDTextos2007_/SBD-NL-ModelacaoBD.pdf · • Nesta unidade de ensino iremos apenas abordar a etapa do desenho de esquemas,

O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 10

Tipos de Cardinalidade de um Relacionamento

1 AtletaAluno é-um1

1 DisciplinaAluno frequentaN

N DisciplinaProfessor leccionamM

um para um1:1

um para muitos

1:N

muitos para muitos

N:N

Page 11: Desenho e Modelação de Esquemas de Bases de Dadosomb/BDTextos2007_/SBD-NL-ModelacaoBD.pdf · • Nesta unidade de ensino iremos apenas abordar a etapa do desenho de esquemas,

O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 11

Tipos de Existência de um Relacionamento

1 AtletaAluno frequenta1

1 CursoAluno frequentaN

N DisciplinaAluno frequentaM

Opcional

Obrigatória ou mandatória

Desconhecida

Page 12: Desenho e Modelação de Esquemas de Bases de Dadosomb/BDTextos2007_/SBD-NL-ModelacaoBD.pdf · • Nesta unidade de ensino iremos apenas abordar a etapa do desenho de esquemas,

O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 12

Construtores Avançados

• Modelação de dados orientada ao objecto. • Generalização• Agregação

Page 13: Desenho e Modelação de Esquemas de Bases de Dadosomb/BDTextos2007_/SBD-NL-ModelacaoBD.pdf · • Nesta unidade de ensino iremos apenas abordar a etapa do desenho de esquemas,

O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 13

Generalização

AuxiliaresTécnicosProfessores

d

Pessoal

U

U U

Super-Tipo

Sub-Tipo

d (dijunção)o (sobreposição)

Page 14: Desenho e Modelação de Esquemas de Bases de Dadosomb/BDTextos2007_/SBD-NL-ModelacaoBD.pdf · • Nesta unidade de ensino iremos apenas abordar a etapa do desenho de esquemas,

O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 14

Agregação

EquipamentoCarrossariaMotor

A

Carro

Super-Tipo

Sub-Tipo

Agregação

Page 15: Desenho e Modelação de Esquemas de Bases de Dadosomb/BDTextos2007_/SBD-NL-ModelacaoBD.pdf · • Nesta unidade de ensino iremos apenas abordar a etapa do desenho de esquemas,

O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 15

Clusters – Organização por Grupos

• Os clusters (grupos) permitem agrupar entidades de acordo com as suas áreas funcionais.

• Na formação de clusters devem-se seguir os seguintes passos:– Definição de pontos de agrupamento dentro das áreas funcionais.– Constituição dos clusters de entidades.

• As entidades a agrupar devem existir na mesma área funcional.• Se existirem conflitos no agrupamento de entidades deve-se deixar as

entidades desagrupadas.– Constituição de clusters de entidades de nível superior.– Validação do diagrama com os clusters.

Page 16: Desenho e Modelação de Esquemas de Bases de Dadosomb/BDTextos2007_/SBD-NL-ModelacaoBD.pdf · • Nesta unidade de ensino iremos apenas abordar a etapa do desenho de esquemas,

O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 16

Identificação de Áreas Funcionais

AuxiliarTécnicoProfessor

d

PessoalU

U U

supervisiona1

N

1Departamento tem

NUnidade

tem

1

N

1

Escola

tem

N

1

tem

N

integraMN

Recurso

1

tem

N

Projecto

ProjectosFuncionários

Organização

Professores AuxiliaresTécnicos

Page 17: Desenho e Modelação de Esquemas de Bases de Dadosomb/BDTextos2007_/SBD-NL-ModelacaoBD.pdf · • Nesta unidade de ensino iremos apenas abordar a etapa do desenho de esquemas,

O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 17

Formação de Clusters

d

Pessoal

UU U

supervisiona1

N

1

tem

N

1

tem

N

integraMN

Técnicos AuxiliaresProfessores

Organização

Projectos

Projecto

Departamento

Projecto

Unidade

Professores Técnicos Auxiliares

Page 18: Desenho e Modelação de Esquemas de Bases de Dadosomb/BDTextos2007_/SBD-NL-ModelacaoBD.pdf · • Nesta unidade de ensino iremos apenas abordar a etapa do desenho de esquemas,

O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 18

Notação (Baseada em) UML

• Inspiração clara na UML (“Unified Modellig Language”).• Construtores Básicos

– Entidades– Entidades fracas– Relacionamentos

• Construtores Avançados– Especialização e Generalização– Agregação– Composição

Connoly and Begg, 2002

Page 19: Desenho e Modelação de Esquemas de Bases de Dadosomb/BDTextos2007_/SBD-NL-ModelacaoBD.pdf · • Nesta unidade de ensino iremos apenas abordar a etapa do desenho de esquemas,

O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 19

Entidades e Atributos

número {CP}nomedata-nascimentoendereço

rualocalidadecódigoPostal

telefone [1..N]contribuinte {CA}curso {CE}/médiaActual

Aluno

Atributo composto ou complexo

Chave Primária

Atributo multivalor

Atributo derivado

Chave Secundária ou Alternada

Chave Estrangeira ou Externa

Atributo simples

Nome da Entidade

Aluno

número

Aluno Entidade com chave primária

Entidade

Entidade com atributos

Page 20: Desenho e Modelação de Esquemas de Bases de Dadosomb/BDTextos2007_/SBD-NL-ModelacaoBD.pdf · • Nesta unidade de ensino iremos apenas abordar a etapa do desenho de esquemas,

O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 20

Tipos de Relacionamentos

Inscrito

DisciplinaAluno frequenta

Curso

Relacionamento Complexo -Ternário

CursoAluno

FrequentaDisciplinaAluno

1..1 1..*

0..* 1..1

TemAlunoCVAluno

1..1 0..1

Relacionamento Binário

Page 21: Desenho e Modelação de Esquemas de Bases de Dadosomb/BDTextos2007_/SBD-NL-ModelacaoBD.pdf · • Nesta unidade de ensino iremos apenas abordar a etapa do desenho de esquemas,

O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 21

Especialização e Generalização

FuncionárioProfessor

Pessoal

Sub-Classe

Mandatório, Opcional

Super-Classe

{Mandatório,Ou}OU, E

Uma especialização é o processo de maximizar as diferenças entre os membros de uma entidade através da identificação e distinção das suas propriedades específicas.

Uma generalização é o processo de minimizar as diferenças entre os membros de uma entidade através da identificação das suas propriedades comuns.

Page 22: Desenho e Modelação de Esquemas de Bases de Dadosomb/BDTextos2007_/SBD-NL-ModelacaoBD.pdf · • Nesta unidade de ensino iremos apenas abordar a etapa do desenho de esquemas,

O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 22

Agregação

integraAlunoErasmus

agregação entidade que representa o todo no relacionamento

entidade que representa a parte no relacionamento

relacionamento

Uma agregação representa um relacionamento do tipo”tem-um” ou “é-parte-de” entre dois tipos de entidades em que uma delas representa o todo e a outra a parte constituinte.

Page 23: Desenho e Modelação de Esquemas de Bases de Dadosomb/BDTextos2007_/SBD-NL-ModelacaoBD.pdf · • Nesta unidade de ensino iremos apenas abordar a etapa do desenho de esquemas,

O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 23

Composição

integraAlunoErasmus

composição entidade que representa o todo no relacionamento

entidade que representa a parte no relacionamento

relacionamento

Uma composição é uma forma específica de agregação que representa uma associação entre entidades,na qual existe um forte conceito de propriedade e um tempo de vida coincidente entre a parte e o todo.

Page 24: Desenho e Modelação de Esquemas de Bases de Dadosomb/BDTextos2007_/SBD-NL-ModelacaoBD.pdf · • Nesta unidade de ensino iremos apenas abordar a etapa do desenho de esquemas,

O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 24

Notação “Crow’s Foot”

frequentamCursoAluno

é_geridoDirectorCurso

pertenceProfessorGabinete

leccionamDisciplinaProfessor

Professorsupervisiona

um para um (1:1)

um para muitos (1:N)

muitos para muitos (N:N)

um para muitos (1:N)

recursivo binário (1:N)

um lado opcionalmin=0, max=1Aluno Entidade

Aluno CV Entidade de

intersecção

Everest,R., 1986

min=1,max=1

Tipos de Relacionamentos

Page 25: Desenho e Modelação de Esquemas de Bases de Dadosomb/BDTextos2007_/SBD-NL-ModelacaoBD.pdf · • Nesta unidade de ensino iremos apenas abordar a etapa do desenho de esquemas,

O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 25

Notação IDEF1X

Aluno

nomedata Nascimento...

número

Chave Primária

Nome da Entidade

Atributos regulares

frequentamCursoAluno

é_geridoDirectorCurso

pertenceProfessorGabinete

leccionamDisciplinaProfessor

Professorsupervisiona

Bruce, T.A., 1992

um para um (1:1)

um para muitos (1:N)

muitos para muitos (N:N)

um para muitos (1:N)

recursivo binário (1:N)

um lado opcional

muitos

Tipos de Relacionamentos

Page 26: Desenho e Modelação de Esquemas de Bases de Dadosomb/BDTextos2007_/SBD-NL-ModelacaoBD.pdf · • Nesta unidade de ensino iremos apenas abordar a etapa do desenho de esquemas,

O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 26

Notação Baseada em Sombras (“shading”)

frequentam

CursoAluno

é_gerido

DirectorCurso

pertence

ProfessorGabinete

leccionam

DisciplinaProfessor

Professorsupervisiona

um para um (1:1)

um para muitos (1:N)

muitos para muitos (N:N)

um para muitos (1:N)

recursivo binário (1:N)

um lado opcionalAluno Entidade

Aluno CV Entidade fraca

Reiner,D.et al, 1985

Teorey, T.J. Et al, 1986

Tipos de Relacionamentos

Page 27: Desenho e Modelação de Esquemas de Bases de Dadosomb/BDTextos2007_/SBD-NL-ModelacaoBD.pdf · • Nesta unidade de ensino iremos apenas abordar a etapa do desenho de esquemas,

O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 27

Ferramentas para a Modelação de BD

• Sybase Power Designer (http://www.sybase.com/products/developmentintegration/powerdesigner)

• Microsoft Visio 2003 (http://office.microsoft.com/en-au/FX010857981033.aspx)• Embarcadero Studio (http://www.embarcadero.com/products/erstudio/index.html)• Computer Associates ERWin (http://www3.ca.com/solutions/Product.aspx?ID=260)• Database Designer (http://www.ezyware.com/)• DB Designer (http://fabforce.net/dbdesigner4/)

Page 28: Desenho e Modelação de Esquemas de Bases de Dadosomb/BDTextos2007_/SBD-NL-ModelacaoBD.pdf · • Nesta unidade de ensino iremos apenas abordar a etapa do desenho de esquemas,

O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 28

Bibliografia

• Connolly, T., Begg, C., Database Systems - A Practical Approach to Design, Implementation, and Management, III Edição, Addison-Wesley, 2002.

• Teorey, T., Database Modeling and Design: The Fundamental Principles, II Ediçao, Morgan Kaufmann, 1994.