desenho e modelação de esquemas de bases de dadosomb/bdtextos2007_/sbd-nl-modelacaobd.pdf · •...
TRANSCRIPT
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
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
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.
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.
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.
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.
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
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
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
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
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
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
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)
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
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.
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
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
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
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
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
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.
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.
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.
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
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
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
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/)
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.