[Música] Olá meu nome é Sara estou acompanhando vocês na disciplina de bancos de dados que está sendo oferecida para o curso de engenharia da computação da Univesp nós estamos hoje na aula 6 e nós vamos estudar alguns conceitos referentes ao mapeamento do modelo entidade relacionamento para o modelo relacional bom Por que nós fazemos esse mapeamento do modelo entidade relacionamento para o modelo relacional classicamente quando nós estamos trabalhando com desenvolvimento de sistemas nós precisamos fazer no primeiro momento um modelo conceit na sequência depois que esse modelo conceitual já está bem estabelecido nós fazemos uma um mapeamento
para que esse modelo possa ser transformado em um modelo de mais baixo nível que esteja mais próximo das estruturas que serão implementadas nas tecnologias que nós vamos usar então o mapeamento é uma forma de projetar um esquema de banco de dados relacional ou seja fazer um projeto lógico tendo como base o esquema que nós construímos como um modelo como um projeto conceitual o projeto conceitual então é feito independente do sgbd que será escolhido para eh implementar o banco de dados e após a escolha do sgbd nós já Podemos trabalhar com o projeto lógico com o
modelo lógico então Aqui nós temos uma figura que nós vimos rapidamente na nossa primeira aula nessa figura nós estamos mostrando um pouco do ciclo de vida ou um pouco do dos das tarefas que nós temos que desenvolver quando nós estamos eh trabalhando com o desenvolvimento de sistemas e principalmente quando nós temos que projetar a estrutura lógica que será usada para armazenar os dados no banco de dados então nós temos aqui uma linha pontilhada que está delimitando as tarefas que eh precisam ser executadas Antes de nós escolhermos a tecnologia que nós vamos usar para implementar o
nosso banco de dados então nós temos aqui algumas tarefas que nós executamos em relação aos dados e algumas tarefas que executamos em relação às aplicações que serão desenvolvidas sobre esse banco de dados percebam que aqui nós temos uma coleta e análise de requisitos que nos permite entender o contexto que será modelado e principalmente entender Quais são os requisitos de dados que nós temos que eh considerar para construir o nosso noss modelo conceitual a partir do momento em que nós já temos esses requisitos nós podemos construir o projeto conceitual ou modelo conceitual e só então nós
vamos passar para o projeto Lógico que já está no momento que essa essa tarefa já executada no momento e Que Nós escolhemos Qual é o sgbd que vai ser utilizado para implementar o modelo de dados uma vez que nós temos o projeto lógico nós podemos então implementá-lo de fato no sgbd e construir o modelo físico que permitirá armazenar os dados na tecnologia bom quando nós implementamos o nosso banco de dados em um sgbd nós temos a garantia de que algumas restrições serão mantidas sobre esses sobre esses dados alguns exemplos dessas restrições são as restrições de
domínio as restrições de chave e as restrições de integridade referencial que é implementada a partir do momento que que nós estabelecemos as chaves estrangeiras no nosso modelo de dados bom para que essas restrições sejam eh mantidas no nosso na nossa aplicação da maneira eh que no atende aos requisitos de dados que nós levantamos lá na coleta de dados nós precisamos então ter uma certeza de que temos o nosso projeto lógico bem estabelecido então fazer o projeto conceitual com muito cuidado e então mapeá-lo para o projeto lógico é uma boa alternativa para tentar garantir a qualidade
do nosso projeto e consequentemente a qualidade dos dados Então vamos ver algumas eh algumas regras que nós podemos seguir para fazer esse mapeamento do modelo entidade de relacionamento para o modelo relacional a primeira delas é como nós fazemos para mapear os tipos entidade fortes ou entidades regulares Que Nós criamos no nosso modelo conceitual para cada tipo entidade forte em um modelo entidade relacionamento é criada uma relação no modelo relacional essa relação inclui todos os atributos simples e os componentes simples dos atributos compostos do tipo entidade forte então Lembrando aqui que no nosso modelo relacional nós
não podemos usar os tipos compostos os nossos tipos precisam ser simples porque nós temos a restrição de trabalhar com tipos de dados atômicos e por enfim Nós escolhemos um atributo chave da entidade para eh atuar como a chave primária da relação recém-criada então lembrando do nosso modelo entidade de relacionamento nós tínhamos lá uma uma entidade funcionário com todos esses atributos incluindo esse atributo composto para fazer o mapeamento então Nós criamos uma relação para o nosso modelo relacional chamamos essa relação de funcionários incluímos aqui todos os atributos simples e no caso do atributo composto nós vamos
incluir apenas os componentes simples daquele atributo então nós ficamos com o identificador primeiro nome sobrenome endereço data de nascimento salário e Sexo para a nossa relação que representa o tipo entidade funcionário outra relação que nós temos no nosso modelo entidade de relacionamento desculpe outra entidade forte que nós temos no nosso modelo entidade relacionamento é a entidade departamento percebam que a entidade departamento ela possui dois atributos que tem características específicas um deles é localizações que é um atributo multivalorado e o outro é número de Empregados que é um atributo derivado neste caso o nosso mapeamento vai
criar uma relação chamada departamento que tem apenas dois atributos número e nome localizações como é multivalor orado nós não podemos colocar no modelo da maneira como nós estamos fazendo com os atributos simples vamos ter que trabalhar com isso de uma outra forma e o número de Empregados é um atributo derivado Nós não precisamos criar uma estrutura para armazenar este valor Nossa outra entidade no modelo entidade relacionamento é projeto projeto tem três atributos Simples então os três serão colocados na relação que criaremos para projeto notem aqui que na entidade projeto Nós temos dois atributos que podem
ser considerados atributos chave nós escolheremos apenas um para eh ser usado como Nossa chave primária então Aqui nós temos a relação projeto com os três atributos e escolhemos número para ser a nossa chave primária vamos ver então como ficariam os dados quando eles estiverem armazenados nessas estruturas nessas relações Lembrando que essas relações também são conhecidas como tabelas então nós temos uma representação aqui na forma de tabela Aqui nós temos a a relação funcionário com alguns dados já cadastrados já incluídos a relação departamento e a relação projeto notem que no atributo identificador de funcionário no atributo
número de departamento e no atributo número de projeto nós não temos valores repetidos nós tivemos que inserir valores diferentes se nós tentássemos inserir um valor repetido nesse atributo o próprio sgbd no qual esse modelo Lógico está implementado eh nos impedirá de fazer essa inserção desse valor repetido bom e como nós trabalhamos então com o multivalorado com o atributo multivalorado para cada um desses atributos é preciso criar uma nova relação no nosso modelo relacional essa relação incluirá um atributo a correspondente ao atributo multivalorado mas o atributo chave primária que foi escolhido para aquela relação que representa
a entidade onde esse atributo multivalorado foi especificado lá no modelo conceitual o atributo k será uma chave estrangeira desta nova relação e a chave primária desta relação será a combinação do atributo dos atributos a e k vamos ver um exemplo então Aqui nós temos o a nossa entidade departamento com o nosso atributo multivalorado como nós mapeamos A Entidade departamento uma relação que tem o atributo número o atributo nome como nós fazemos agora para colocar esses atributos para criar uma estrutura lógica que permita cadastrar esses multivalores no atributo localizações então Nós criamos uma nova relação que
nós chamamos de departamento localizações que tem dois atributos de número e localização localização é o próprio atributo multivalorado de número é um atributo que foi trazido para esta relação com base no atributo número que é a chave primária da relação departamento então notem que denum é um atributo nós chamamos esse atributo de estrangeiro porque ele está aqui vindo de uma outra relação de número aqui vai ser chamado então de chave estrangeira ele vai compor junto com localização a chave primária desta relação e o nosso sgbd será capaz de garantir a integridade referencial Ou seja eu
só vou poder cadastrar um valor em denum que já está cadastrado no departamento ou seja nós só podemos cadastrar localização para um departamento se ele já está cadastrado no sistema e isto é uma restrição de idade referencial implementada no sgbd relacional Aqui nós temos então um exemplo das tabelas já instanciadas e temos três departamentos sendo que esses departamentos possuem uma ou mais localizações o departamento cinco é o único que possui múltiplas localizações e para ele então existem três duplas na tabela de departamento localizações cinco eh o departamento cinco em Ribeirão Preto o departamento cinco novamente
em Santos e o departamento 5 novamente em São Paulo então percebam que são três valores para localizações Ribeirão Preto Santos e São Paulo porém cada um desses valores cadastrado em uma tupla diferente porque nós não podemos colocar num atributo no modelo relacional mais de um Val por fim nós temos que pensar nas entidades fracas como faremos o mapeamento das entidades fracas para cada tipo entidade fraca no modelo entidade de relacionamento é criado uma relação no modelo relacional essa relação inclui todos os atributos daquela entidade que são simples ou componentes dos compostos inclui como atributo chave
estrangeira a chave da entidade forte associada àquela entidade fraca já vamos ver porquê e a chave primária da relação é criada como uma combinação desse atributo chave da entidade forte com o atributo chave parcial da entidade fraca então Aqui nós temos a nossa entidade fraca é a entidade Dependente com a chave parcial nome o mapeamento Então é eu crio uma nova relação no modelo relacional com todos os atributos simples e elementos eh simples componentes simples dos atributos multivalorados ou desculpem dos atributos compostos e trago para a a relação dependente um atributo que será uma chave
estrangeira relacionada ao atributo chave primária de funcionário que é a entidade forte desta entidade dependente e a chave primária desta entidade dependente é uma composição da chave parcial com essa chave estrangeira Então vamos ver um exemplo de como os dados ficam armazenados nessas tabelas aqui nós temos o a relação funcionário e aqui a nossa nova relação dependente então para cada tupla para cada dependente temos uma tupla cadastrada e o responsável por esse dependente dentro desse sistema ou seja o funcionário de quem esse dependente Depende Ele é armazenado aqui por meio do seu identificador F idente
é uma chave estrangeira Então eu só posso colocar valores aqui que se refiram a funcionários que já existem cadastrado no sistema e esta verificação de referência é implementada pelo nosso sgbd há uma outra característica aqui que nós podemos observar que é a seguinte percebam que o dependente Clara Morais está aparecendo aqui duas vezes não não é o mesmo dependente na realidade são dois dependentes diferentes cada um deles está relacionado a um funcionário diferente mas eles possuem o mesmo nome então na entidade fraca nós podemos ter este tipo de eh característica como é uma chave parcial
ela sozinha não consegue identificar estes estas tuplas não consegue diferenciar mas ela combinada com a chave estrangeira forma uma chave primária que permite esse cadastro pois esta Clara Morais se diferencia desta outra Clara Morais por meio do os funcionários que estão relacionados a ela a primeira ao funcionário 1163 a segunda ao funcionário 1165 Aqui nós temos um resumo então do mapeamento que nós fizemos do modelo entidade de relacionamento para o modelo relacional considerando apenas os os mapeamentos das entidades atributos e algumas discussões sobre chave nós temos outros elementos para trabalhar mas olhando apenas por aqui
nós já vemos que temos já algumas coisas interessantes que precisam estar bem assimiladas primeiro quando nós temos atributos simples ou elementos simples de atributos compostos eles aparecem no nosso modelo relacional como atributos das relações mas os atributos multivalorados precisam ser trabalhados fizemos esse trabalho a partir desse desta relação débito localizações e temos também a questão da entidade fraca Lembrando que a entidade fraca precisa compor a sua chave com a chave primária da entidade forte e para todas essas relações para todas não para duas dois pares de relações nós temos o conceito de chave estrangeira que
está representando aqui um tipo de relacionamento entre funcionário dependente e entre dependente e Departamento localizações com isso nós finalizamos essa nossa primeira aula sobre mapeamento entidade de relacionamento para relacional e eu peço que vocês trabalhem esses conceitos Antes de nós eh trabalharmos os próximos que serão apresentados na próxima aula [Música] [Música] m n