TP Aula 02 - ipp.ptncastro/TeoricoPraticas/T...Muitos para muitos N:M Um relacionamento 1:1 implica...
Transcript of TP Aula 02 - ipp.ptncastro/TeoricoPraticas/T...Muitos para muitos N:M Um relacionamento 1:1 implica...
��������� ������
��������������
António RochaNuno Melo e Castro
����������������
��������� ������
����������
� O modelo E-R (entidade-relacionamento) baseia-se na percepção de um universo constituído por um grupo básico de objectos chamados Entidades e por Relacionamentos entre esses objectos
� Entidade� É um objecto que existe e é distinguível de outros objectos, tem
algum significado, e sobre o qual é necessário guardar informação
� Relacionamento� É uma associação entre várias entidades e representa a maneira
como essas entidades podem estar logicamente relacionadas.
��������� ������ �
����������
� Um conjunto de entidades é um grupo de entidades do mesmo tipo ou classe
� As entidades são caracterizadas por um conjunto de atributos
� Atributo� É uma função que mapeia um conjunto de entidades num
domínio, e, identifica, qualifica e descreve esse conjunto de entidades.� Caracteriza os conjuntos de entidades� Associa a cada entidade um só valor do respectivo domínio, ou
então o valor NULL
��������� ������ �
����������
� Relacionamento� Um relacionamento especifica de que forma as entidades se
relacionam� Sendo E1, E2,.., En conjuntos de entidades, então um conjunto de
relacionamentos R é um subconjunto de {(e1, e2, … en) | e1 ∈ E1, e2∈ E2, …, en ∈ En}, onde (e1, e2, …, en) é uma relação
� Formalmente, é uma relação matemática em n ≥ 2 (possivelmente indistintos) conjuntos de entidades
� Um conjunto de relacionamentos é um grupo de relacionamentos do mesmo tipo
� Exemplo� Entidade “Cliente” = {nome, morada, bi}� Entidade “Conta” = {nºconta, saldo}� Relação “Conta do Cliente” entre “Cliente” e “Conta”
� (“jorge”, “53342”) ∈ ”Conta do cliente”
��������� ������ �
����������� Restrições de mapeamento
� Um diagrama E-R pode definir certas restrições às quais o conteúdo da base de dados tem que obedecer. Uma restrição importante é a cardinalidade do mapeamento, que expressa o número de entidades ao qual a outra entidade pode estar associada via um relacionamento.
� Cardinalidades de mapeamentos são especialmente úteis na descrição de conjuntos de relacionamentos binários, apesar de contribuírem ocasionalmente na descrição dos conjuntos de relacionamentos que envolvem relacionamentos n-ários (n>2).
� Para um conjunto de relacionamentos binário R entre os conjuntos de entidades A e B, a cardinalidade do mapeamento tem de ser uma das seguintes:� Um para um, um para muitos ou muitos para muitos
��������� ������
����������
� Descreve graficamente a estrutura lógica global de uma base de dados� É construída com os seguintes componentes:
� Rectângulos Conjuntos de entidades� Elipses Atributos� Losangos Relações entre conjuntos de entidades� Linhas Ligam os atributos aos conjuntos de entidades, e
conjuntos de entidades às relações
� Ou então por:� Rectângulos Conjuntos de entidades, relações, e respectivos
atributos� Linhas Ligam os conjuntos de entidades, e conjuntos de
relações� Símbolos Cardinalidade das relações
��������� ������ �
����������
� Exemplo de um Modelo E-R
��������� ������ �
����������
� Exemplo de uma instância do modelo
��������� ������ �
����������
� Relação ternária (se o empregado trabalhar em vários locais)
��������� ������ �
����������
��������� ������
����������
� Relações entre entidades da mesma classe
��������� ������
����������
� Hierarquias ISA
��������� ������ �
�����������������
� O modelo relacional usa um conjunto de tabelas para representar tanto dados como relações entre esses dados
� Cada tabela tem múltiplas colunas, e cada coluna tem um nome único
� Cada tabela tem vários registos, e cada registo tem exactamente o mesmo número de valores que todos os outros registos da tabela
� Cada valor de uma coluna, de um determinado registo, está contido no domínio dessa coluna
��������� ������ �
�����������������
��������� ������ �
�����������������
� Chave� É um atributo (simples ou composto) que identifica univocamente uma
entidade num conjunto� No limite, a associação de todos os atributos de uma entidade constituem a
chave. Tem a propriedade de, em qualquer instante, não existiremdiferentes instâncias que contenham o mesmo valor para esse atributo
� Chave candidata� É um subconjunto do atributo Chave, que ainda sendo Chave não pode ser
reduzido sem o deixar de ser� Chave primária
� É uma das chaves candidatas� Chave estrangeira
� Atributo não chave (simples ou composto) que existe numa entidade, e que é chave primária noutra entidade
��������� ������
�����������������
��������� ������ �
�����������������
� Mapeamento Modelo E-R � � Relacional
Uma ou mais tabelasRelacionamento
Campo ou ColunaAtributo
Registo ou linhaEntidade
Uma ou mais tabelas e respectivos relacionamentos
Conjunto de Entidades
RelacionalE-R
��������� ������ �
� Exemplo de um modelo E-R
��������� ������ �
�����������������
� Considerando o modelo E-R anterior, este é o equivalente modelo Relacional� As entidades Cliente e Produto originaram as tabelas Cliente e
Produto� A relação Factura originou a tabela Factura e respectivos
relacionamentos com as tabelas Cliente e Produto� Um cliente pode ter várias facturas, mas uma factura só tem associado um
cliente� Numa factura constam um ou vários produtos, e cada produto pode
constar em mais do que uma factura� Foram identificadas as chaves primárias (PK) e mais alguns atributos
considerados importantes
��������� ������ �
������������������ Regras dos relacionamentos
� Um relacionamento pode ser� Um para um 1:1� Um para muitos 1:M� Muitos para muitos N:M
� Um relacionamento 1:1 implica que uma das tabelas tenha de conter o identificador da outra
� Um relacionamento 1:M implica que a tabela do lado (M) tem de conter o identificador da tabela do lado (1)
� Um relacionamento N:M implica que seja criada uma nova tabela, sendo também criados relacionamentos 1:1 ou 1:M entre as tabelas iniciais e a nova tabela
� Um relacionamento entre duas tabelas obriga sempre a importar umatributo (simples ou não).
� A esse atributo chama-se Chave Estrangeira ou Chave Importada.
��������� ������
�����������������
� Detalhe do modelo� É criada a nova tabela (resultante da relação N:M)� Surgem as chaves estrangeiras
��������� ������
�����������������
� Detalhe do modelo (continuação)� É definida a chave primária da tabela Factura/Produto
��������� ������ �
�����������������
� Propriedades das Entidades� Não pode haver instâncias repetidas � � garante a
existência de uma chave primária� As instâncias não são ordenadas� Os atributos não são ordenados e o seu nome tem de ser
único na entidade� Os valores dos atributos são atómicos (não
decomponíveis)� Uma entidade que satisfaça esta condição diz-se normalizada
na primeira forma normal. Isto implica que no modelo relacional todas as entidades estão normalizadas.
��������� ������ �
�����������������
� Regras de Integridade� Integridade das Entidades
� Nenhum atributo participante na chave primária poderá ter um valor nulo.
� Impede-se a contradição entre a noção de chave primária (identificador unívoco) e a noção de valor nulo (desconhecido) que é o contrário de identificador
� Integridade referencial� Se uma entidade A tem um atributo x (simples ou composto) que é uma
chave primária numa outra entidade B, diz-se que x é chave estrangeira em A, e então, qualquer valor de x em A deverá ser (i) ou (ii)� i) Igual a um valor de x em alguma instância de B� ii) Nulo
� Integridade de Domínio� O valor de um atributo de uma entidade está contido no domínio desse
atributo, nessa entidade� Integridade Aplicacional
� Conjunto de regras de negócio (não são garantidas pelo modelo)