A Modelação de Dados é uma das técnicas para conhecermos as estruturas dos dados, os seus tipos e as relações entre eles, referentes à criação de uma BD.
As ferramentas de modelação de dados mais utilizada, desde o surgimento dos SGBD’s são os Diagramas Entidade- Relacionamento (DER)
Mais recentemente, desde que surgiu o paradigma da programaçlão orientada a objetos a ferramente de modelação de dados mais utilizada é o Diagrama de Classes.
Sistemas de Informação Modelo Entidade-Relacionamento (ER) Ou Modelo Entidade-Relação Ou Modelo Entidade-Associação
Desenho da base de dados Planear e analisar Desenho conceptual Desenho lógico Desenho físico Implementação Desenhar a estrutura lógica e física de uma ou mais bases de dados de forma a acomodar a informação necessária aos utilizadores de uma organização
Modelo Entidade-Relacionamento (ER) Objectivo : representar o mundo real Tipo de modelo : modelo conceptual Forma final: Diagrama ER (DER) Diagrama ER: Entidades Atributos Relações entre entidades Grau Cardinalidade Tipo de participação
Entidade ? Entidade=“objecto”=“conceito” Elemento gráfico (DER): Rectângulo Aluno Tudo o que distingue uma pessoa , lugar , evento ou conceito e sobre o qual se deve manter informação
Relação (relacionamento)? Relação=“associa” duas ou mais entidades Elemento gráfico(DER)=losângulo Classificação Grau: Quantas entidades? Cardinalidade: Número de ocorrências entre entidades Tipo de participação: Caracter obrigatório ou optional, com que as entidades participam na relação Curso Aluno Matricular
Diagramas de ocorrências 1ª Função: Identificar a cardinalidade da relação 2ª Função: Identificar o tipo de participação Curso Aluno C1 C2 C3 A1 A2 A3 A4 A5
Diagrama de ocorrências Cardinalidade da relação Num curso matriculam-se vários alunos (N) Um aluno matricula-se num só curso (1) A cardinalidade da relação é 1:N Sentido Curso/Aluno: 1 Curso > N Alunos Sentido Aluno/Curso: 1 Aluno > 1 Curso Curso Aluno C1 C2 C3 A1 A2 A3 A4 A5
Diagrama de ocorrências Tipo de participação Todos os alunos estão matriculados num curso Todos os cursos têm alunos matriculados Tipo de participação (Entidade Curso) - Participação obrigatória Tipo de participação (Entidade Aluno) - Participação obrigatória Curso Aluno C1 C2 C3 A1 A2 A3 A4 A5 Um curso vários alunos Um aluno um curso
Relação (relacionamento)? Grau da relação: Binária (duas entidades) Cardinalidade: 1:N Tipo de participação: Obrigatória de ambos os lados Curso Aluno Matricular 1 N Cardinalidade do relacionamento Tipo de participação
Classificação de relações Grau da relação Binária Ternária N-ária Cardinalidade da relação (binárias) Relação um-para-um (1:1) Relação um-para-muitos (1:N) Relação muitos-para-muitos (N:M) Tipo de participação Participação obrigatória Participação não obrigatória (opcional) (sem participação)
Combinar ... Cardinalidade & Participação
Relação binária um-para-um (1:1) Relação binária um-para-um com participação obrigatória de ambos os lados Relação binária um-para-um sem participação obrigatória de ambos os lados A1 B1 A2 A3 B2 B3 Entidade A Entidade B Entidade A Entidade B Verbo 1 1 A1 B1 A2 A3 B2 B3 Entidade A Entidade B Entidade A Entidade B Verbo 1 1 A4 B4
Relação binária um-para-um (1:1) (continuação) Relação binária um-para-um com participação obrigatória de um lados (entidade A) Relação binária um-para-um com participação obrigatória de um dos lados (entidade B) A1 B1 A2 A3 B2 B3 Entidade A Entidade B Entidade A Entidade B Verbo B4 1 1 A1 B1 A2 A3 B2 B3 Entidade A Entidade B Entidade A Entidade B Verbo A4 1 1
Relação binária um-para-um (1:1) – Try our self “Na 1ª liga de futebol Portuguesa, cada clube tem o seu estádio; Não há clube sem estádio, nem estádio sem clube (...)”
Relação binária um-para-muitos (1:N) Relação binária um-para-muitos com participação obrigatória de ambos os lados Relação binária um-para-muitos sem participação obrigatória de ambos os lados A1 B1 A2 A3 B2 B3 Entidade A Entidade B Entidade A Entidade B Verbo 1 N Entidade A Entidade B Verbo 1 N B4 B5 Um para vários Um para um A1 B1 A2 A3 B2 B3 Entidade A Entidade B B4 B5 A4 B6
Relação binária um-para-muitos (1:N)(continuação) Relação binária um-para-muitos com participação obrigatória de um dos lados (entidade A) Relação binária um-para-muitos com participação obrigatória de um dos lados (entidade B) Entidade A Entidade B Verbo 1 N Entidade A Entidade B Verbo N 1 A1 B1 A2 A3 B2 B3 Entidade A Entidade B B4 B5 B6 A1 B1 A2 A3 B2 B3 Entidade A Entidade B B4 B5 A4
Relação binária um-para-muitos (1:N) – Try our self “Na 1ª liga de futebol Portuguesa, os clubes inscrevem vários jogadores. Em determinado instante os jogadores trabalham num clube (...)“
Relação binária muitos-para-muitos (N:M) Relação binária muitos-para-muitos com participação obrigatória de ambos os lados Relação binária muitos-para-muitos sem participação obrigatória de ambos os lados A1 B1 A2 A3 B2 B3 Entidade A Entidade B Entidade A Entidade B Verbo A4 A5 N M Entidade A Entidade B Verbo A1 B1 A2 A3 B2 B3 Entidade A Entidade B A4 A5 A6 B4 N M
Relação binária muitos-para-muitos (N:M) (continuação) Relação binária muitos-para-muitos com participação obrigatória de um dos lados (Entidade A) Relação binária muitos-para-muitos com participação obrigatória de um dos lados (Entidade B) A1 B1 A2 A3 B2 B3 Entidade A Entidade B Entidade A Entidade B Verbo A4 A5 B4 M N Entidade A Entidade B Verbo A1 B1 A2 A3 B2 B3 Entidade A Entidade B A4 A5 A6 N M
Relação binária muitos-para-muitos – Try our self Os clubes de futebol inscrevem vários jogadores na liga Portuguesa de Futebol. Para os jogos, os treinadores dos clubes, convocam alguns dos seus jogadores. Vários jogadores participam em vários jogos.
Esboço do DER (incompleto ... )
Relacionamentos Ternários A1 T 1 PA A2 A3 T 1 BD T 2 BD Aluno Turno A4 Disciplina PA BDI (EI) BDI (EIN) A1 A2 A3 Aluno A4 Disciplina PA BDI (EI) BDI (EIN) Os alunos inscrevem-se em disciplinas e frequentam turnos. Existem turnos comuns a várias disciplinas, por exemplo, o turno T2BD é frequentado por alunos de BDI curso EI e BDI curso EIN.
Relacionamentos Ternários Relação ternária simplificada Relação ternária complexa
Entidades Fracas Sala é fortemente dependente de um Edifício. Para identificar uma sala é necessário saber o edifício. NSala é chave parcial Sala D 1 Sala 1 no edifício D ... ... ... 25 1 A 25 2 D 25 1 D Capacidade NSala NEdificio Sala
Relações Recursivas Um conteúdo didáctico pode estar associado a outros conteúdos O conteúdo “Programação” pode estar associado aos conteúdos “Java”, “C#”, “C++”, “Delphi” O conteúdo “BD” pode estar associado aos conteúdos “Access”, “mySQL”, “Oracle”, “SQL Server”