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