Baixe o app para aproveitar ainda mais
Prévia do material em texto
Banco de Dados 1 • Aula 03 Claudio Lobo Banco de Dados 1 Slide 2 Objetivos • C04. Conhecer os principais conceitos de modelagem e normalização de dados; – C04H7. Ser capaz de construir um modelo de negócios; – C04H8. Ser capaz de construir um modelo lógico de dados; – C04H9. Entender um modelo físico de dados e suas implicações na construção do banco de dados; – C04H10. Conhecer e utilizar as 3 primeiras formas normais. Claudio Lobo Banco de Dados 1 Slide 3 Introdução • Um modelo de (banco de) dados é uma descrição dos tipos de informações que estão armazenadas em um banco de dados. – O modelo de dados não informa o que está armazenado no banco de dados, mas apenas que o banco de dados contém informações sobre dados que estão armazenados. • O modelo de dados é a descrição formal da estrutura de um banco de dados. Claudio Lobo Banco de Dados 1 Slide 4 Introdução • Para se construir um modelo de dados, usa-se uma linguagem de modelagem de dados. • Um mesmo modelo de dados pode ser representado de várias formas. – Cada apresentação do modelo recebe a denominação esquema de banco de dados. • No projeto de banco de dados, normalmente são considerados dois níveis de abstração de modelo de dados: – Modelo conceitual – a primeira etapa do projeto de BD. – Modelo lógico – a segunda etapa do projeto de BD. Claudio Lobo Banco de Dados 1 Slide 5 Modelo Conceitual • É uma descrição do banco de dados de forma independente de implementação em um SGBD. • Registra que dados podem aparecer no banco de dados, mas não registra como estes dados estão armazenados num SGBD. • É um modelo de dados abstrato. – Descreve a estrutura de um banco de dados de forma independente de um SGBD particular. Claudio Lobo Banco de Dados 1 Slide 6 Modelo Conceitual • A técnica mais difundida de modelagem conceitual é a abordagem Entidade-Relacionamento (ER). – O modelo conceitual é representado pelo Diagrama Entidade- Relacionamento (DER). Claudio Lobo Banco de Dados 1 Slide 7 Modelo Lógico • É uma descrição de um banco de dados no nível de abstração visto pelo usuário do SGBD. – É dependente do tipo de SGBD que está sendo usado. – Pode ser representado de forma textual ou gráfica. Departamento (cod_depto,nome_depto) Empregado (matricula, nome_emp ,cod_depto) cod_depto referencia Departamento Claudio Lobo Banco de Dados 1 Slide 8 Abordagem Entidade-Relacionamento (ER) • Foi criada em 1976 por Peter Chen. • É um padrão de fato para modelagem conceitual. – Mesmo as técnicas de modelagem orientada a objetos baseiam-se nos conceitos da abordagem ER. • Antes de entender a abordagem, é necessário conhecer os conceitos de: – Entidade – Relacionamento – Atributo – Generalização/Especialização – Entidade associativa. Claudio Lobo Banco de Dados 1 Slide 9 Abordagem Entidade-Relacionamento (ER) • Entidade – Conceito fundamental da abordagem ER. – Representa, no modelo conceitual, um conjunto de objetos da realidade que foi modelada. • Interessam apenas os objetos sobre os quais deseja-se manter informações. – Em um DER, uma entidade é representada por um retângulo, que contém o nome da entidade. – As entidades acima representam conjuntos de Alunos, de Professores e de Veículos. Aluno Professor Veículo Claudio Lobo Banco de Dados 1 Slide 10 Abordagem Entidade-Relacionamento (ER) • Entidade – Caso seja necessário referir um objeto particular (uma determinada pessoa ou um determinado departamento) fala-se em ocorrência ou instância de entidade. Claudio Lobo Banco de Dados 1 Slide 11 Abordagem Entidade-Relacionamento (ER) • Relacionamento – O DER deve permitir especificar as propriedades dos objetos que serão armazenadas no BD. • Uma dessas propriedades é a associação entre objetos. – Um relacionamento é representado por um losango, ligado por linhas às entidades que participam do relacionamento. AlunoProfessor Ensina Claudio Lobo Banco de Dados 1 Slide 12 Abordagem Entidade-Relacionamento (ER) • Auto-Relacionamento – Um relacionamento nem sempre associa entidades diferentes. – Pode acontecer um relacionamento entre ocorrências de uma mesma entidade. • Cada uma das entidades exercerá um papel no relacionamento. – No relacionamento da figura, a entidade EMPREGADO ora atua com o papel de empregado, ora atua como o papel de chefe (afinal, todo chefe também é um empregado) Empregado Chefia chefe empregado Claudio Lobo Banco de Dados 1 Slide 13 Abordagem Entidade-Relacionamento (ER) • Cardinalidade de Relacionamentos – Uma propriedade importante de um relacionamento é quantas ocorrências de uma entidade podem estar associadas a uma outra no relacionamento. • Isso é a Cardinalidade de uma entidade em um relacionamento. – A cardinalidade pode ser de dois tipos: • Cardinalidade mínima. • Cardinalidade máxima. – Claudio Lobo Banco de Dados 1 Slide 14 Abordagem Entidade-Relacionamento (ER) • Cardinalidade de Relacionamentos – Cardinalidade mínima. • Número mínimo de ocorrências da entidade no relacionamento. – Cardinalidade máxima. • Número máximo de ocorrências da entidade no relacionamento. Claudio Lobo Banco de Dados 1 Slide 15 Abordagem Entidade-Relacionamento (ER) • Cardinalidade de Relacionamentos – Cardinalidade máxima. • Para fins práticos, apenas duas cardinalidades máximas são relevantes: a cardinalidade máxima 1 e a cardinalidade máxima “muitos”, representada pela letra n. • Ao observar a convenção usada na figura, à primeira vista, pode parecer pouco natural, já que vai anotada “do outro lado” do relacionamento a qual se refere. DepartamentoEmpregado Trabalha 1n Cada empregado trabalha em 1 Departamento Em cada Departamento podem trabalhar n empregados. Claudio Lobo Banco de Dados 1 Slide 16 Abordagem Entidade-Relacionamento (ER) • Cardinalidade de Relacionamentos – Cardinalidade máxima. • A cardinalidade máxima pode ser usada para classificar relacionamentos entre duas entidades em: – n:n (muitos-para-muitos) – 1:n (um-para-muitos) – 1:1 (um-para-um). AlunoProfessor Ensina nn DepartamentoEmpregado Trabalha 1n PessoaCNH Possui 11 Claudio Lobo Banco de Dados 1 Slide 17 Abordagem Entidade-Relacionamento (ER) • Cardinalidade de Relacionamentos – Cardinalidade mínima. • Para fins de projeto de BD, consideram-se apenas duas cardinalidades mínimas: – Cardinalidade mínima 1. » Também chamada “associação obrigatória”, já que indica que o relacionamento deve obrigatoriamente associar uma ocorrência de entidade a cada ocorrência da entidade em questão. – Cardinalidade mínima 0. » Também chamada de “associação opcional”, pois não obriga (zero) a existência da entidade em questão. Claudio Lobo Banco de Dados 1 Slide 18 Abordagem Entidade-Relacionamento (ER) • Cardinalidade de Relacionamentos – Cardinalidade mínima. • A cardinalidade mínima é representada no diagrama junto (à esquerda) da cardinalidade máxima. ConcursoCandidato Realiza (0,n) QuartelRecruta Serve (0,n) (1,1)(0,n) Claudio Lobo Banco de Dados 1 Slide 19 Abordagem Entidade-Relacionamento (ER) • Atributo – É o dado que é associado a cada ocorrência de uma entidade ou de um relacionamento. – São representados graficamente conforme mostra a figura. • Na prática, atributos não são representados graficamente, para não sobrecarregar os diagramas, já que muitas vezes entidades possuem um grande número de atributos. • Prefere-se usar uma representação textual que aparece separadamente do diagrama ER. Claudio Lobo Banco de Dados 1 Slide 20 Abordagem Entidade-Relacionamento (ER) • Atributo – Um atributo pode possuir uma cardinalidade. – A cardinalidadede um atributo define quantos valores deste atributo podem estar associados a uma ocorrência da entidade/relacionamento a qual ele pertence. • A cardinalidade (1,1) pode ser omitida no diagrama. Claudio Lobo Banco de Dados 1 Slide 21 Abordagem Entidade-Relacionamento (ER) • Atributo – Assim como entidades possuem atributos, relacionamentos também podem possuir atributos. – Isso ocorre quando um atributo necessário não pertence nem a uma nem a outra entidade. Claudio Lobo Banco de Dados 1 Slide 22 Abordagem Entidade-Relacionamento (ER) • Identificação de entidades – Um identificador é um conjunto de um ou mais atributos (e mesmo relacionamentos) cujos valores servem para distinguir uma ocorrência da entidade das demais ocorrências da mesma entidade. – Cada entidade deve possuir um identificador. • No DER, atributos identificadores são representados por um círculo preto. – O caso mais simples é o da entidade que possui um único atributo como identificador. Claudio Lobo Banco de Dados 1 Slide 23 Abordagem Entidade-Relacionamento (ER) • Identificação de entidades – Existem casos em que o identificador da entidade é composto por diversos atributos. • Dessa forma, para se identificar unicamente a entidade, é necessário conhecer mais de um atributo. Claudio Lobo Banco de Dados 1 Slide 24 Abordagem Entidade-Relacionamento (ER) • Identificação de entidades – Existem casos em que o identificador de uma entidade é composto por atributos da própria entidade e também por relacionamentos dos quais a entidade participa (relacionamento identificador). – No DER, o relacionamento usado como identificador é indicado por uma linha mais escura. • Alguns autores dizem que a entidade DEPENDENTE da outra é uma entidade fraca. • O termo “fraca” deriva-se do fato de a entidade somente existir (ter sentido) quando relacionada a outra entidade e de usar como parte de seu identificador, entidades relacionadas. Claudio Lobo Banco de Dados 1 Slide 25 Abordagem Entidade-Relacionamento (ER) • Identificação de entidades – Relacionamento identificador Claudio Lobo Banco de Dados 1 Slide 26 Abordagem Entidade-Relacionamento (ER) • Identificação de entidades – O identificador de uma entidade (simples, composto por diversos atributos ou por identificadores externos), deve obedecer duas propriedades: • O identificador deve ser mínimo. – O identificador deve ser composto de tal forma que, retirando um dos atributos ou relacionamentos que o compõe, ele deixa de ser identificador. • Cada entidade deve possuir um único identificador. – Em alguns casos, diferentes conjuntos de atributos podem servir para distinguir as ocorrências da entidade. – Cabe ao modelador decidir qual dos dois atributos será usado como identificador da entidade. Claudio Lobo Banco de Dados 1 Slide 27 Abordagem Entidade-Relacionamento (ER) • Identificação de relacionamentos – Em princípio, uma ocorrência de relacionamento diferencia- se das demais do mesmo relacionamento pelas ocorrências de entidades que dele participam. • Ou seja, para cada par há, no máximo, um relacionamento. – Mas, há casos em que entre as mesmas ocorrências de entidade podem existir diversas ocorrências de relacionamento. • Exemplo: o relacionamento CONSULTA entre MÉDICO e PACIENTE Claudio Lobo Banco de Dados 1 Slide 28 Abordagem Entidade-Relacionamento (ER) • Identificação de relacionamentos – Neste caso, é necessário algo que distingua uma consulta entre um médico e seu paciente das demais consultas. • Atributos identificadores de relacionamentos. – Para o exemplo, poderia ser a data-hora da consulta. • Um consulta não pode ocorrer, com o mesmo paciente e médico, na mesma data e hora. Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27 Slide 28
Compartilhar