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 otação Chen otação (Baseada em) UML otação Crow s Foot otação IDEFX otaçã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. ormalizaçã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. esta 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
otaçõ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. IDEFX. Baseada em Sombras ( shading ). o 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 otaçã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 _CV Atributo Relacionamento frequenta Chave número Descritor ou normal nome Complexo ou Composto Multivalor morada telefone rua localidade codpostal O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 7
Entidades e Atributos Identificador (chave) Entidade Atributo multivalor número telefone nome Atributo simples rua morada local codpostal Atributo complexo O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 8
Tipos de Relacionamentos Relacionamento frequenta Curso Relacionamento Binário Funcionário coordena Cardinalidade Relacionamento Binário Recursivo frequenta Curso Relacionamento Ternário 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 é-um Atleta um para um : frequenta Disciplina um para muitos : Professor leccionam M Disciplina muitos para muitos : O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 0
Tipos de Existência de um Relacionamento frequenta Atleta Opcional frequenta Curso Obrigatória ou mandatória frequenta M Disciplina Desconhecida O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados.
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. 2
Generalização Super-Tipo Professores U Pessoal d U Técnicos U Auxiliares d (dijunção) o (sobreposição) Sub-Tipo O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 3
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. 4
Clusters Organização por Grupos Os clusters (grupos) permitem agrupar entidades de acordo com as suas áreas funcionais. a 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. 5
Identificação de Áreas Funcionais Organização Escola tem Departamento tem Unidade tem tem Pessoal supervisiona Projecto integra M tem d Professores Técnicos 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. 6 U U U
Formação de Clusters Organização Departamento tem Unidade tem Projecto Projectos Projecto integra M Pessoal supervisiona U d U U Professores Técnicos Auxiliares Professores Técnicos Auxiliares O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 7
otaçã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. 8
Entidades e Atributos Entidade número Entidade com chave primária Chave Primária Atributo simples Chave Secundária ou Alternada Atributo derivado Entidade com atributos número {CP} nome data-nascimento endereço rua localidade códigopostal telefone [..] contribuinte {CA} curso {CE} /médiaactual ome da Entidade Atributo composto ou complexo Atributo multivalor Chave Estrangeira ou Externa O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 9
Tipos de Relacionamentos Tem.. 0.. CV Relacionamento Binário Inscrito 0..*.. Curso Frequenta....* Disciplina frequenta 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 Pessoal Mandatório, Opcional {Mandatório,Ou} OU, E Professor Funcionário Sub-Classe O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 2
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 integra entidade que representa a parte no relacionamento agregação entidade que representa o todo no relacionamento O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 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 integra entidade que representa a parte no relacionamento composição entidade que representa o todo no relacionamento O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 23
otação Crow s Foot Entidade um lado opcional min=0, max= min=,max= CV Entidade de um para um (:) Curso é_gerido Director intersecção frequentam um para muitos (:) Curso Tipos de Relacionamentos um para muitos (:) Gabinete Professor pertence Professor muitos para muitos (:) leccionam Disciplina Everest,R., 986 recursivo binário (:) Professor supervisiona O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 24
otação IDEFX ome da Entidade um lado opcional número um para um (:) Curso é_gerido Director nome data ascimento... Chave Primária frequentam um para muitos (:) Curso Atributos regulares um para muitos (:) Gabinete pertence Professor Tipos de Relacionamentos Professor leccionam muitos para muitos (:) Disciplina Bruce, T.A., 992 recursivo binário (:) Professor supervisiona muitos O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 25
otação Baseada em Sombras ( shading ) Entidade um lado opcional um para um (:) é_gerido CV Entidade fraca Curso Director frequentam um para muitos (:) Curso Tipos de Relacionamentos um para muitos (:) Gabinete Professor pertence Professor leccionammuitos para muitos (:) Disciplina Reiner,D.et al, 985 Teorey, T.J. Et al, 986 recursivo binário (:) Professor supervisiona 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/fx0085798033.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, 994. O.Belo, Sistemas de Bases de Dados, Desenho e Modelação de Esquemas de Bases de Dados. 28