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

Transcrição

Desenho e Modelação de Esquemas de Bases de Dados
Sistemas de Bases de Dados
Edição 2004
Desenho e Modelação de Esquemas de
Bases de Dados
Orlando Belo
Departamento de Informática
Escola de Engenharia
Universidade do Minho
Í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
O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados.
2
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.
O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados.
3
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.
O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados.
4
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.
O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados.
5
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.
O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados.
6
Construtores ER Básicos
Entidade
Entidade Fraca
Relacionamento
Aluno
Aluno_CV
frequenta
Atributo
Chave
Descritor ou normal
número
nome
rua
Complexo ou
Composto
morada
localidade
codPostal
Multivalor
telefone
O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados.
7
Entidades e Atributos
Entidade
Identificador
(chave)
Atributo multivalor
número
Aluno
telefone
nome
morada
Atributo simples
rua
Atributo complexo
codPostal
local
O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados.
8
Tipos de Relacionamentos
Relacionamento
Aluno
Funcionário
N
frequenta
N
1
Curso
Cardinalidade
coordena
1
Aluno
N
frequenta
1
Curso
Relacionamento
Binário
Relacionamento
Binário Recursivo
Relacionamento
Ternário
N
Disciplina
O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados.
9
Tipos de Cardinalidade de um Relacionamento
Aluno
Aluno
Professor
1
1
N
é-um
frequenta
leccionam
1
N
M
Atleta
Disciplina
um para um
1:1
um para muitos
1:N
Disciplina
O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados.
muitos para muitos
N:N
10
Tipos de Existência de um Relacionamento
Aluno
Aluno
Aluno
1
1
N
frequenta
frequenta
frequenta
1
N
M
Atleta
Opcional
Curso
Obrigatória ou
mandatória
Disciplina
Desconhecida
O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados.
11
Construtores Avançados
•
•
•
Modelação de dados orientada ao objecto.
Generalização
Agregação
O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados.
12
Generalização
Super-Tipo
Pessoal
d (dijunção)
o (sobreposição)
U
Professores
U
U
d
Técnicos
Auxiliares
Sub-Tipo
O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados.
13
Agregação
Super-Tipo
Carro
Agregação
A
Motor
Carrossaria
Equipamento
Sub-Tipo
O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados.
14
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.
O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados.
15
Identificação de Áreas Funcionais
Organização
Escola
1
tem
N
1
Departamento
tem
Unidade
N
1
1
tem
tem
N
N
Projecto
N
integra
Pessoal
M
1
supervisiona
N
1
Professores
Técnicos
U
N
U
U
d
tem
Auxiliares
Recurso
Professor
Técnico
Auxiliar
Projectos
Funcionários
O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados.
16
Formação de Clusters
Organização
1
Departamento
1
tem
tem
Projecto
Unidade
N
Projectos
Projecto
N
N
integra
Pessoal
M
1
supervisiona
N
U
Professores
Professores
U
U
d
Técnicos
Técnicos
O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados.
Auxiliares
Auxiliares
17
Notação (Baseada em) UML
•
•
•
Connoly and Begg, 2002
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
O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados.
18
Entidades e Atributos
Aluno
Entidade
Aluno
Entidade com chave
primária
número
Entidade com atributos
Aluno
Chave Primária
Atributo simples
Chave Secundária
ou Alternada
número {CP}
nome
data-nascimento
endereço
rua
localidade
códigoPostal
telefone [1..N]
contribuinte {CA}
curso {CE}
/médiaActual
Atributo derivado
O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados.
Nome da Entidade
Atributo composto
ou complexo
Atributo multivalor
Chave Estrangeira
ou Externa
19
Tipos de Relacionamentos
Aluno
Aluno
Aluno
Aluno
Tem
1..1
0..1
Inscrito
0..*
1..1
Frequenta
1..1
1..*
frequenta
AlunoCV
Relacionamento
Binário
Curso
Disciplina
Disciplina
Relacionamento
Complexo -Ternário
Curso
O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados.
20
Especialização e Generalização
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.
Super-Classe
Mandatório, Opcional
Pessoal
OU, E
{Mandatório,Ou}
Professor
Funcionário
Sub-Classe
O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados.
21
Agregação
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.
relacionamento
Erasmus
entidade que
representa a parte
no relacionamento
integra
Aluno
agregação
O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados.
entidade que
representa o todo
no relacionamento
22
Composição
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.
relacionamento
Erasmus
entidade que
representa a parte
no relacionamento
integra
Aluno
composição
O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados.
entidade que
representa o todo
no relacionamento
23
Notação “Crow’s Foot”
Aluno
Entidade
min=1,max=1
um lado opcional
min=0, max=1
um para um (1:1)
Aluno CV
Entidade de
é_gerido
Curso
Director
intersecção
um para muitos (1:N)
Aluno
frequentam
um para muitos (1:N)
Tipos de
Relacionamentos
pertence
Gabinete
Professor
leccionam
Curso
Professor
muitos para muitos (N:N)
Disciplina
recursivo binário (1:N) supervisiona
Everest,R., 1986
Professor
O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados.
24
Notação IDEF1X
um lado opcional
Nome da Entidade
Aluno
um para um (1:1)
número
nome
data Nascimento
...
é_gerido
Curso
Director
Chave Primária
um para muitos (1:N)
Aluno
frequentam
um para muitos (1:N)
Atributos regulares
Tipos de
Relacionamentos
pertence
Gabinete
Professor
leccionam
Professor
muitos para muitos (N:N)
recursivo binário (1:N) supervisiona
Bruce, T.A., 1992
Professor
O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados.
Curso
Disciplina
muitos
25
Notação Baseada em Sombras (“shading”)
um lado opcional
Aluno
Entidade
um para um (1:1)
Aluno CV
Entidade fraca
é_gerido
Curso
Director
frequentam
Aluno
Curso
pertence
um para muitos (1:N)
Tipos de
Relacionamentos
um para muitos (1:N)
Gabinete
Professor
leccionammuitos para muitos (N:N)
Professor
Disciplina
recursivo binário (1:N) supervisiona
Reiner,D.et al, 1985
Professor
Teorey, T.J. Et al, 1986
O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados.
26
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/)
O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados.
27
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.
O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados.
28