Baixe o app para aproveitar ainda mais
Prévia do material em texto
Disciplina: Fundamentos de Banco de Dados Aula 4: Modelagem conceitual: cardinalidade e atributos Apresentação Nesta aula, continuaremos nosso estudo da modelagem conceitual aprendendo a respeito de cardinalidade e atributos. Faremos juntos ainda algumas modelagens. Objetivos Praticar a modelagem de atributos; Explicar a modelagem conceitual. Exercício de modelagem Vamos iniciar a nossa aula realizando juntos uma modelagem. Veja as regras a seguir: 1 Uma empresa de treinamento oferece vários cursos na área de informática. 2 Um professor pode lecionar em vários cursos. 3 Cada curso é lecionado por um e apenas um professor. 4 Um aluno está matriculado em um ou em vários cursos. Vamos incialmente identi�car os objetos do mundo real: Temos professor, curso, aluno e empresa de treinamento. Esses objetos, a princípio, iriam gerar as entidades tipo correspondentes, ou seja: Professor, aluno, curso e empresa. Mas temos aqui uma particularidade a ser observada, o que é a empresa? Se você pensar bem, verá que ela é a realidade que está sendo modelada, o minimundo, já que “dentro” dela é onde estão os cursos, os alunos e os docentes. Dessa forma, existem na realidade apenas 3 entidades tipo: ALUNO PROFESSOR CURSO Vamos ver agora como essas entidades se relacionam. No enunciado consta que: Professor leciona cursos; Aluno está matriculado em cursos. Podemos inferir então dois relacionamentos leciona, entre professor e curso, e matrícula, entre aluno e curso. Nosso modelo então �caria da seguinte forma: Um professor pode lecionar em vários cursos. Cada curso é lecionado por um e apenas um professor. Um aluno está matriculado em um ou em vários cursos. Repare que o texto marcado passa uma ideia de quantidade, ou seja, com quantos cursos um aluno pode se relacionar, quantos cursos um professor pode lecionar ou quantos professores podem ter um curso. A isso chamamos cardinalidade e vamos agora com observar mais detalhes. Cardinalidade Expressa a quantidade – máxima ou mínima - de entidades de uma entidade tipo, com as quais uma outra entidade, de outra entidade tipo, pode se relacionar. Cardinalidade máxima Sejam duas entidades tipo A e tipo B: Clique nos botões para ver as informações. Uma entidade em A está associada no máximo a uma entidade em B e uma entidade em B está associada no máximo a uma entidade em A. 1: 1 (um para um) Uma entidade em A está associada a qualquer número de entidades em B, enquanto uma entidade em B está associada no máximo a uma entidade em A. 1: n (um para muitos) Uma instância da entidade A se relaciona com muitas instâncias da entidade B. Uma instância da entidade B se relaciona com muitas instâncias da entidade da A. m: n (muitos para muitos) Cardinalidade mínima Sejam duas entidades tipo A e tipo B: Clique nos botões para ver as informações. Indica que a participação no relacionamento é opcional, ou seja, uma entidade de A pode ou não se relacionar com uma entidade de B. 1: 1 (um para um) Indica que a participação no relacionamento é obrigatória, ou seja, uma entidade de A tem que obrigatoriamente se relacionar com pelo menos uma entidade de B. Vamos a um exemplo: Empregado x gerência x departamento Note que todo departamento é gerenciado por um empregado, isto é, para o departamento a participação é obrigatória, mas observe também que nem todo empregado é gerente de departamento, portanto para empregado a participação é opcional. 1: n (um para muitos) Representação da Cardinalidade A representação da cardinalidade é feita colocando entre parênteses o par mínimo /máximo. Para mínimo temos 0 e 1. Para Máximo 1 e N. Isso nos dá 4 possibilidades: 1 (0,1) Mínimo 0, máximo 1. 2 (1,1) Mínimo 1, máximo 1. 3 (0, N) Mínimo 0, máximo vários. 4 (1, N) Mínimo 1, máximo vários. Vejamos agora um exemplo completo de cardinalidade: Um empregado trabalha em um ou nenhum departamento, e um departamento possui um ou vários empregados. Observando o enunciado, notaríamos que: Um departamento tem no mínimo um, no máximo vários empregados (1, N); Um empregado trabalha no mínimo em nenhum departamento e no máximo em 1 (0,1). Teríamos, portanto, a seguinte modelagem: Observe que a cardinalidade de departamento é representada próximo à entidade tipo empregado, e a de empregado ao lado de departamento, a isto chamamos cardinalidade cruzada e essa é a forma como iremos representá-la. Voltemos à empresa de treinamento. Um professor pode lecionar em vários cursos. (máximo N) Cada curso é lecionado por um e apenas um professor. (1,1) Um aluno está matriculado em um ou em vários cursos. (1, N) Observe que aqui a cardinalidade foi representada de forma cruzada, porém não existe no enunciado dados referentes à cardinalidade entre curso e aluno. Nesse caso, quando não sabemos a cardinalidade, utilizamos sempre (0, N). Outra observação importante de referência à cardinalidade entre professor e curso é a frase: Um professor pode lecionar em vários cursos. A palavra “vários” marca de forma inequívoca o máximo N. Quando temos “pode” ou omissão, sempre utilizamos 0 no mínimo. Modelagem de atributos Valores É um símbolo que pode ser conotado a um elemento de um conjunto, ou seja, é uma concatenação ou agregação de caracteres que possibilita a representação simbólica. É a abstração mais elementar dentro do modelo ER . Veja alguns exemplos.1 https://estacio.webaula.com.br/cursos/go0058/aula4.html Lúcia Leonardo Bruno Masculino Feminino Casado Solteiro Viúvo Redundância Divorciado Atributo Atributos são propriedades que de�nem o signi�cado principal de uma entidade ou relacionamento. NOME Lúcia Leonardo Bruno SEXO Masculino Feminino ESTADO CIVIL Casado Solteiro Viúvo Redundância Divorciado Um atributo é representado gra�camente como um pequeno círculo ligado a entidade ou ao relacionamento. Veja o modelo a seguir. A seguir, veremos um exemplo de modelagem. Vamos retomar o caso das pessoas que conhecem locais: Vamos acrescentar atributos à entidade pessoa: Agora, vamos acrescentar atributos à entidade local: Em seguida, acrescentaremos atributos ao relacionamento conhecimento, pois note que a data não vem da pessoa, nem do local. É de quando a pessoa conheceu o local, ou seja, é do relacionamento. Categorias de atributos Os atributos podem ser classi�cados de acordo com as seguintes categorias: 1 Atributos simples ou atômicos São os que não possuem partes que o compõem como, por exemplo: Nome. 2 Atributos compostos ou moleculares São compostos por partes que possuem signi�cado próprio e que, quando agregadas, mantêm relação entre si produzindo uma informação. Normalmente nos referimos à agregação sem levar em conta os seus componentes. O exemplo típico é o endereço. 3 Atributos monovalorados Quando existe um único valor para o atributo. Exemplo: Nome. 4 Atributos multivalorados Quando pode existir mais de um valor para o atributo. Exemplo: Telefone. 5 Atributos opcionais Quando pode ou não existir valor para o atributo, ou seja, atributos que podem ser nulos. Exemplo: Telefone. 6 Atributos mandatórios (obrigatórios) Quando obrigatoriamente deve existir valor para o atributo, ou seja, atributos que não podem ser nulos. Exemplo: Nome. Observe a �gura abaixo, nela vemos representados os diversos tipos de atributos existentes na entidade aluno e podemos notar que: Matrícula e CPF são atributos únicos, isto é, representados pela bolinha cheia. Todos os outros são não únicos (bolinha vazia). E-mail e telefone são atributos multivalorados (repare no n entre parênteses). Todos os outros são monovalorados. Endereço é composto, representado como um atributo que tem atributos. Os outros são monovalorados. CPF, data de nascimento e e-mail são opcionais (repare no 0 entre parênteses), todos os outros são obrigatórios. Iremos, agora, detalhar os atributos monovalorados, multivalorados, obrigatórios e opcionais. Eles são representados de formasimilar à cardinalidade, sendo o primeiro valor referente a ser opcional ou obrigatório, e o segundo a ser mono ou multivalorado. Temos então: (0,1) Opcional e monovalorado (1,1) Obrigatório e monovalorado (0,N) Opcional e multivalorado (1,N) Obrigatório e multivalorado Observe a �gura a seguir: Vamos fazer um resumo da representação: 1 Bolinha cheia Atributo único 2 Bolinha vazia Atributo não único 3 Possui subatributos Atributo composto 4 Só uma bolinha Atributo simples 5 (1, N) Atributo obrigatório = 1 Atributo multivalorado = N 6 (0,1) Atributo opcional = 0 Atributo monovalorado = 1 Se você analisar, a �gura da entidade tipo aluno não aparece em nenhum lugar (1,1). Isso decorre do fato de que todo atributo a princípio é obrigatório e monovalorado. Para poluir menos o diagrama, essa informação é omitida. Portanto, se um atributo não possuir informação, como por exemplo a matricula do aluno, ela é obrigatória e monovalorada. Atenção Por padrão um atributo é simples, obrigatório, monovalorado e não único. Se nada for dito que modi�que isso, ele deverá ser representado dessa forma. Vamos retomar o estudo de caso da empresa de treinamento, acrescentando agora atributos: Uma empresa de treinamento oferece vários cursos na área de informática; Um professor pode lecionar em vários cursos; Cada curso é ensinado por um e apenas um professor; Um aluno está matriculado em um ou em vários cursos a partir de uma determinada data; Um professor é identi�cado pelo id e possui nome e pode possuir nenhuma ou várias titulações; Um aluno é identi�cado pela sua matrícula e possui nome e endereço (composto de rua, número e complemento); Um curso é identi�cado pelo seu nome e possui carga horária. Vamos analisar os atributos: Clique nos botões para ver as informações. • Um professor é identi�cado pelo id – se alguém é identi�cado por um atributo, ele sempre será obrigatório e único. É o que denominamos atributo identi�cador além do que, por padrão, será monovalorado e simples; • Possui nome – como nada foi dito de especial, será obrigatório, monovalorado, simples e não único; • Possui nenhuma ou várias titulações. O nenhuma mostra que é opcional, e o várias que é multivalorado além do que, por padrão, simples e não único. Professor • Um aluno é identi�cado por sua matrícula - se alguém é identi�cado por um atributo, ele sempre será obrigatório e único. É o que denominamos atributo identi�cador além do que, por padrão, será monovalorado e simples; • Possui nome – como nada foi dito de especial, será obrigatório, monovalorado, simples e não único; • E endereço (composto de rua, número e complemento) - como especi�cado no enunciado, ele é um atributo composto e, por padrão, obrigatório, monovalorado e não único. Aluno • Um curso é identi�cado pelo seu nome - se alguém é identi�cado por um atributo, ele sempre será obrigatório e único. É o que denominamos atributo identi�cador além do que, por padrão, será monovalorado e simples; • Possui carga horária - como nada foi dito de especial, será obrigatório, monovalorado, simples e não único. Curso Após essa análise, a modelagem �caria conforme o modelo a seguir: Atividade 1. Uma empresa de TV a cabo deseja automatizar seu serviço de cobrança. Para isso, todos os requisitos abaixo devem ser preenchidos: Um canal deve ser identi�cado por seu número e deve conter o nome; Um pacote é um conjunto de canais que é disponibilizado ao cliente mediante uma assinatura; Cada pacote criado pela empresa tem que conter no mínimo um canal, ou vários, e um canal só pode pertencer a um e somente um pacote; O pacote deve possuir como informações: Nome, preço, e os canais que contém; Para um cliente ser cadastrado, ele precisa fazer uma assinatura de ao menos um pacote; Para um cliente deve ser guardado: O CPF, nome, endereço, e o seu e-mail; Um cliente deve ser identi�cado pelo seu CPF; Uma assinatura deve possuir um e somente um cliente, um ou vários pacotes, data de ativação da assinatura, data de desativação da assinatura e o endereço de instalação. Agora, em uma folha de papel, faça o DER correspondente. Depois, con�ra o gabarito. 2. Uma locadora mantém um cadastro de todos os seus usuários com as informações básicas: RG, nome, endereço (logradouro, número, complemento, CEP, cidade, UF), CNH e idade. Todo usuário cadastrado realizou pelo menos uma locação na empresa; Cada carro da frota é registrado com vários atributos para sua descrição: Número de chassi, placa, marca, modelo, ano e cor; Quando um usuário aloca um carro, são registradas data e hora de locação; No banco de dados, os carros da frota são organizados por categorias; Uma categoria é descrita por código, um nome de categoria (Exemplo: Primeira classe), preço da diária da categoria e uma descrição das características dessa categoria; Todo carro pertence a uma categoria que de�ne suas características e o preço da diária; Para cada carro da frota é mantido um histórico dos consertos realizados, indicando dia, valor, descrição do serviço e o�cina que o realizou. Agora, faça o DER correspondente. 3. Hollywood possui diversos estúdios cinematográ�cos, cada um caracterizado por um nome único, um dono, data de fundação e pelo faturamento do ano anterior. Esses estúdios produzem �lmes que possuem um nome único, o número de meses que levou sendo feito, o ano de lançamento, o número do copyright, e o custo total do �lme; Em cada �lme atuam atores, que possuem um nome artístico único, um número de seguro social (também único), uma nacionalidade, idade, sexo, e um conjunto de tipos de papéis para o qual seu tipo físico é aconselhável (Ex.: Avó, mocinha, jovem, galã com idade avançada, adolescente). Estes tipos de papéis não são pré-de�nidos, constituindo uma lista preenchida a critério de cada ator; Em cada �lme em que atua, um ator ganha um cachê e desempenha um personagem que possui um nome; Estúdios podem existir mesmo se ainda não tiverem produzido um �lme, mas só são considerados atores os que já atuaram em pelo menos um �lme. Agora, faça o DER correspondente. Notas Modelo ER 1 • Modelo entidade; • relacionamento. Referências DATE, C. J. Introdução a sistemas de banco de dados. 7. ed. Rio de Janeiro: Campus, 2000. ELMASRI, R.; NAVATHE, S. B. Sistemas de banco de dados. 6. ed. São Paulo: Pearson Addison Wesley, 2011. SILBERSCHATZ, A.; KORTH, H. F.; SUDARSHAN, S. Sistemas de banco de dados. 5. ed. Rio de Janeiro: Campus, 2006. Próxima aula Modelagem lógica. Explore mais Pesquise na internet sites, vídeos e artigos relacionados ao conteúdo visto. Em caso de dúvidas, converse com seu professor online por meio dos recursos disponíveis no ambiente de aprendizagem. Leia os textos: Tecnologias de banco de dados e modelagem de dados – Parte 2; <https://www.devmedia.com.br/tecnologias-de-banco-de- dados-e-modelagem-de-dados-parte-2/1871 > ; Relacionamento entre entidades: tipos e cardinalidade <https://www.luis.blog.br/relacionamento-entre-entidades-tipos-e- cardinalidade/ > ; Conceito cardinalidade <//blog.dbaacademy.com.br/conceito-cardinalidade/ > . https://www.devmedia.com.br/tecnologias-de-banco-de-dados-e-modelagem-de-dados-parte-2/1871 https://www.luis.blog.br/relacionamento-entre-entidades-tipos-e-cardinalidade/ https://blog.dbaacademy.com.br/conceito-cardinalidade/
Compartilhar