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... · 2006. 7. 31. · O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

  • 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.