E aí pessoal tudo bem com vocês bem-vindos a mais uma aula de banco de dados um eu sou o Tiago chegar e nas últimas aulas a gente falou muito sobre teorias conceitos de banco de dados entre outros assuntos bem iniciais nessa aula a gente já vai falar de algo um pouco mais prático a gente vai começar a trabalhar com modelagem de banco de dados então eu separei para hoje é alguns conceitos como levantamento de requisitos a gente vai ver um pouquinho sobre modelagem do banco sobre o modelo relacional conceitual a gente vai entender o que
que você ação está sendo assim pelas Mary der em que basicamente possibilita a gente já começa a construir os diagramas do banco de dados e nesse diagramas a gente encontra vários elementos que representam visualmente né graficamente cada item que deve conter em um banco de das Comunidades atributos relacionamento e a gente finaliza com o e pretendido seria e uma evolução a entidade relacionamento e também é o der estendidos bom para começar vamos retornar aqui com o ciclo de vida de um banco de dados então é bem importante a gente saber todo esse ciclo até mesmo
para saber o que a gente vai fazer nesse semestre e por onde a gente começa a até mesmo para saber o que a gente está fazendo agora e para o que isso vai servir no futuro então basicamente a gente tem as três etapas aqui a terceira que é de implementação a gente não vai mexer nessa disciplina Então até deixar ela ali um pouquinho mais opaca né sumindo ali a primeira etapa é análise de requisitos consiste basicamente entendeu o problema entendeu que a gente vai fazer eu vou passar bem rapidamente por isso é na verdade existem
outras disciplinas que focam bastante início disciplina de engenharia de software talvez pega um pouco análise de sistemas o nosso Foco hoje nós tapa dois né na disciplina na verdade né Etapa 2 que é o Projeto lógico então o programa de modelo de dados conceitual contendo os dados e seus relacionamentos que eu der Então a gente vai estudar alguns conceitos pelo mer modelo entidade relacionamento para um futuro conseguir pegar esses conceitos e aplicar eles visualmente construindo o diagrama entidade-relacionamento nessa etapa 2 né no projeto lógico a gente tem três sub-etapas vamos dizer assim a primeira que
é da aula de hoje é o modelo de dados conceitual para a gente vai entender esse modelo de dados conceitual os elementos os itens do Diagrama como construir um diagrama o que ele representa para que depois né vem as etapas 2 e 3 ali que a transformação desse modelo em tabelas EA normalização dessas tabelas depois de passar por essas três etapas na Etapa 2 a gente está pronto para fazer a implementação então que vocês vão fazer nesse semestre é tudo que é necessário para entregar um modelo Oi Bru bebê a né para o cara ali
que vai fazer a implementação disso que no caso sejam vocês mesmos mais lá em banco de dados os dois bom então começar a falar um pouquinho de análise de requisitos é bem importante por ti tudo que a gente vai construir um software um banco de dados a gente precisa entender muito bem o que aquilo o que é aquela empresa que ele negócio sei lá o quê que eu estou implementando é que eu vou implementar no futuro então o que são requisitos requisitos são todos os elementos necessários que eu preciso para que aquilo funcione sou um
software eu preciso saber quais são as funcionalidades desse software quem vai mexer com esse sol ter entre outras coisas é falando em banco de dados os requisitos eles são determinados pelo usuário do banco de dados então por exemplo do nome da loja né ou gerente da loja alguém que opera ali né A sistematização não informatizada ainda a loja desse local é onde eu quero implementar o meu banco de dados ou algum especialista no negócio em questão então se eu for por exemplo fazer o bonde dados para uma escola talvez eu não posso ligar para o
professor e perguntar como que é o banco de dados de uma escola eu tenho que pedir mais para alguém que gerencia a escola que entende de todos os as áreas da escola e não só de dar aula Tá bom então a pessoa que vai fornecer informações para eu conseguir esses requisitos normalmente é quem não usa o banco de dados um especialista naquele negócio é um especialista em ensino ou no caso né se eu fosse informatizar uma loja que vende produtos bastão especialista ali e comércio mesmo em como Aquela organização está organizada nem para entender como
isso é feito e organizar isso por meio do meu banco de dados são os requisitos basicamente são as informações necessárias a respeito daquele negócio então eu tenho é aquele negócio para saber é aquele negócio normalmente né ele contém muitas informações eu preciso saber quais informações que estão relacionados aquele negócio específico para saber como eu preciso modelar e no futuro construir um banco de dados para aquele suporte aquelas informações é o projetista do banco de dados né o o administrador de dados lembra a gente no norte mala Ele vai entrevistar a população de usuários finais normalmente
né porque não falei numa escola não posso falar Só compressorzinho falar com quem entende mais E por que não falar com os professores e coordenadores pessoal do registro acadêmico não tinha tem que falar ele com todo mundo né a população de usuários finais todo mundo que vai mexer nesse sistema no futuro e para poder determinar a finalidade do uso do banco de dados e o que ele precisa conter mais ou menos a ir né De acordo com o que eu já comentei com vocês é extremamente importante porque se eu não souber Quais são os requisitos
de sistema como que eu vou saber quais são as informações que eu vou guardar no banco de dados é uma das etapas mais assim fundamentais vamos dizer assim mais importante também dá muito trabalho é eu tenho que entender porque apresento um problema né quando a gente vai desenvolver um sistema que a gente entende de sistema entende de banco de dados mas às vezes a gente não entende como um e-comerce funciona como uma escola como a clínica médica funciona então a gente tem que ir lá entender conversar muitas das vezes né O que a pessoa vai
passar para a gente não é realmente o que ela tá precisando realmente usuário final ele tem uma ideia um pouco mais superficial além dos dados da informação e tal então o processo bem trabalhoso mas que se bem feito é o resultado ali né do banco de dados do sistema do que vai ser feito é o melhor possível e assim é normalmente a gente pensar é só ir lá entrevista Então as pessoas depende talvez que a entrevista a gente consiga coletar essas informações Mas como eu disse às vezes o entrevistado ele não vai conseguir passar todas
as informações necessárias então às vezes é interessante também você passar ali fazer parte da empresa por um tempo né então entendeu convívio participação apresentações interessante Às vezes você fica lhe observando como tudo acontece porque às vezes quem trabalha nessa empresa nesse negócio na escola Clínica Sei lá onde é tem muitas coisas que são óbvias para ele e ele faz ali sem perceber mas que isso é muito importante para ter no sistema então às vezes ele nem comenta a não cada Eu tenho um cadastro de produtos é bem tranquilo aí na cabeça dele é óbvio que
tem que e regulou rigoroso ali porque o produto ele pode vencer e tal aí ele não passa isso para gente porque para ele é óbvio né então a gente estando ali né no convívio participando ali das etapas é mais fácil da gente entender o que tá acontecendo Ah e essas apresentações ser interessante para que por exemplo você foi lá entrevistou olhou conviveu participou escreve isso a nota às vezes até os diagramas que a gente vai elaborar daqui a pouco servem né pra gente mostrar depois para o cliente né para o dono do negócio ali usuário
final é para mostrar para ele o que a gente entendeu para ver se realmente é o que ele pediu né e não ter problemas de telefone sem fio né da gente fala uma coisa outra pessoa entendeu outra passar outra para frente e assim por diante Então essa mãe tava bem importante não vou falar muito dela no nosso caso na disciplina como é que serão né os levantamentos as análises de requisitos que a gente a fazer basicamente a gente vai ter um enunciado um problema ali descrito e com base nesse problema a gente vai coletar as
informações Então a nossa análise de requisitos na primeira vai ser um pouco mais simplificada né Eu já vou dar para você só a empresa funciona dessa forma e aí tenta montar o diagrama com base nessas poucas informações que vocês têm Então vai ser um pouco mais tranquilo mas é interessante a gente saber o que essa análise né de requisitos novamente lá é o que antecede análise é o levantamento é a primeira você coleta essas informações analisar essas informações os requisitos para poder ir lá e fazer o seu projeto lógico do banco de dados Ah beleza
então análise de requisitos ali a gente já viu rapidamente a gente vai parte agora para o cerne né núcleo da disciplina que a projeto Lógico que a gente vai entender um pouco melhor sobre a modelagem de dados conceitual para poder produzir os nossos diagramas bom então já falei para vocês né que a gente vai trabalhar com o Méier e o der basicamente a gente tem um modelo entidade-relacionamento lembra que a gente vai trabalhar trabalhar com o modelo relacional basicamente modelo relacional não entidades se relacionando a gente vai entender um pouquinho melhor sobre o que são
esses elementos daqui para frente o mar é um modelo de dados conceitual de alto nível então é mais próximo do usuário se a gente mostrar às vezes não deram ali para o usuário final ele vai conseguir entender ele vai ter uma visão geral ali de como o negócio dele funciona então é alto nível a gente não tá falando nada de código ele não se preocupa nem representar como esses dados vão ser realmente armazenado só a sentar Como tudo se relaciona dentro daquele negócio é o modelo VR né Modelo entidade-relacionamento ele é utilizado principalmente durante o
processo de projeto do banco de dados o projeto lógico do banco de dados que a gente vai fazer o Mary foi apresentado em 1976 pelo PTN e é composto por elementos representados graficamente por meio do der o diagrama entidade-relacionamento Então existe um modelo entidade-relacionamento aconteceu conceito né entidade aí só tributo é aquilo e tal o diagrama entidade-relacionamento vem para representar graficamente visualmente o mar tá então é bem tranquilo aí as vezes as pessoas confundem O que é mera O que é der é a mesma coisa né conceitual né dar o diagrama pensa né no modelo
e diagrama né que aí fica fácil de entender é assim o padrão para o modelo entidade-relacionamento vocês vão ver mesmo que em alguns casos eu vou dar duas representações visuais e o mesmo elemento Mas não tem problema tá é ambos aí né Se você usar o que tá por usar um outro ambos representam a mesma coisa os principais elementos do modelo entidade-relacionamento são as entidades os atributos e os relacionamentos ali em cima é eu coloquei uma representação gráfica e bem simplificada de cada um deles eles vão né se interar um pouco melhor desses elementos mais
para frente mas basicamente O que as entidades ela só representada por um retângulo e a descrição o seu nome bem ao centro EA entidade é a gente vai encontrar dois chips tem as entidades identidades que a gente diz também que elas são as entidades comuns porque existem também as entidades fracas usa tributos eles são representados por uma elipse e ali e o nome Essa é uma das representações por exemplo de um atributo mas pode ter também uma outra representação gráfica onde a gente tem um círculo por fora e a descrição dentro é uma bolinha também
só que a descrição e vai estar fora né ali igual nesse exemplo que colocado é ao lado ela vai tá dentro e os atributos também Existem os atributos comuns tem os atributos atributos do tipo chave primária multivalorado composto derivado atributo de relacionamento que a gente já vai ver é quando a gente vai estudando os relacionamento relacionamento basicamente serve aí para interligar né o ter uma conexão entre as diversas entidades não Resumindo bastante eu tenho as entidades que seriam ali os elementos que eu vou ter no meu banco de dados esses elementos são descritos por atributos
tão é e que podem ser desses tipos e no banco de dados realmente eu tenho diversas entidades e como o único por meio dos relacionamentos e os relacionamentos eles podem ter atributos existe também a cardinalidade para ver a quantidade né o como ele se relacionamento eles se relacionam e Existem algumas entidades que se relacionam com elas mesmas então é para isso que a gente usa o alto relacionamento o mais comum é relacionamento binário onde eu vou ter uma entidade se relacionando com outra e a gente pode ter também diversas né três ou mais entidades relacionadas
se relacionando e é assim a gente né Chama relacionamentos cenários o mais comum entre três e entidades então vocês vão ver também muita na literatura alguns exemplos relacionamentos ternários tá mais para trair serve mas eu já vi relacionamento com quatro ou mais entidades E aí então um relacionamento é na área eu acho que ele faz mais sentido e esse é um exemplo de um der né com aqueles elementos que eu apresentei anteriormente todos se comunicando então apresento é a olhando rapidamente eu não não não fui eu que fiz não entendi ainda muito bem esse diagrama
entidade-relacionamento mas basicamente é sobre um posto de combustível né Tem Bandeira posto combustível preço Pessoa bairro veículo então isso aqui são as coisas que tá no mínimo mundo de um posto de combustível E se a gente for analisar aqui por exemplo veículo o veículo ele tem parar placa marca e modelo não lembro a entidade possui atributos é essas entidades ela se relacionam então por exemplo veículo ele tem um proprietário que é uma pessoa tá então eu tô dando uma visão bem geral e de agora em diante a gente vai começar a entender analisar cada um
desses elementos com um pouco mais de detalhes é bom começando tão pelas entidades a as entidades são objetos que existem no mundo real e possui uma identificação distinta e com um significado próprio ou seja são as coisas que existem no negócio entidade é tudo aquilo que existe um negócio quando eu falo um negócio tá pessoal é uma clínica é uma escola é aquilo que eu estou querendo informatizar e aquilo que eu tô pensando no banco de dados tá então são as coisas né que existem naquele negócio ou ainda que descrevem o negócio tem um posto
de combustível igual ao exemplo anterior que descreve um mundo ali de um posto de combustível oposto o combustível o carro o cliente né as pessoas que tem um carro que abastece no posto então esses elementos maiores esses objetos tá bom futuramente as entidades Elas serão as tabelas do meu banco de dados o que a gente já comentou que em um banco de dados a gente organiza esses dados em tabelas que se relacionam então por exemplo né se a gente analisar aqui veículo vai ser uma tabela essa tabela vai ter alguns atributos é umas colunas a
e ela se relaciona com outras em a gente vai né detalhando um pouco melhor isso tem algumas coisas que eu vou repetir bastante para vocês irem meio que associando o que a gente já falou lá atrás com que vai acontecer aqui na frente a a a representação gráfica se dá por meio né de um retângulo com o nome escrito no seu interior a hora que tem alguns exemplos de entidades então por exemplo o funcionário João né O que é entidade aqui é funcionário e não João João já seria o valor é uma Instância desse objeto
a gente tem que pensar sempre no todo né no maior aluna Maria aluna é uma entidade o veículo Fusca buscar o valor né é uma Instância de um objeto Vamos pensar assim então veículo aqui seria a entidade o cliente Manoel o produto iPhone o livro Projeto de banco de dados estão livro é um elemento que pode ter atributos representações diferentes se a gente voltar aqui para descrição Neo um objeto o objeto existente no mundo real O livro é algo que existe e ela no mundo real que possui uma identificação distinta no caso o livro eu
tenho vários livros cada um com a sua identificação de tinta e o significado próprio mas do mesmo jeito que os outros elementos bom E aqui tem a representação gráfica então Coloquei todos eles aqui lado a lado é eu estou usando um dentro que faz opções todas que eu passei para você ir lá nas primeiras aulas eu tô usando draw.ai ou para fazer a representação gráfica Existem várias outras ferramentas Cada uma com a sua nas suas características e tal eu achei essa a uma ferramenta mais tranquilo porque você só acessa o site já faz o diagrama
a representação Achei bem completa tem todos os elementos do Trio tipos de atributos mais diferentes e tal mas vocês estão livres para fazer usar a ferramenta que vocês quiserem Tá eu vou até fazer um videozinho depois um pouco melhor como é que funciona o draw.ai u e eu coloco aqui para vocês tá quem quiser também para praticar durante as aulas quiser reproduzir de fazer alguma coisa quiser fazer a mão ele não com papel e caneta ótimo eu mesmo para dar as aulas eu usava a lousa tava adorável lá em rabiscar desenhar fazer junto com os
alunos Eu nunca fui muito de fazer no software bom do solta que se você se apaga uma grande parte né refazer tem esse auxílio quando você desenha você tem que apagar e fazer de novo tá bom e como que a gente identifica o que é uma entidade dentro de um negócio tão trouxe um exemplo aqui para vocês a informação que a gente tem aqui sobre o negócio é um cliente compra um produto que é vendido por um funcionário da o sistema gera uma nota fiscal que entregue ao cliente pelo funcionário isso aqui gente é o
nosso requisito é o requisito que foi levantado e agora eu tô analisando com base nisso o ministrador de dados não analista ali o projetista ele vai começar a identificar o que que é o quê para fazer o der para fazer o diagrama no nossa casa que eu preciso identificar só que somente dar eu queria querer vocês causar sem o vídeo e tentar sem identificar o que nessa senha intensa né nesse nosso requisito pode ser Entidade e já fizeram aí bom eu disse aqui agora aqui em azul e coloquei né a representação gráfica aqui embaixo do
que eu acredito né que sejam a entidades nesse negócio então o cliente compra um produto tão Pensa a gente vai ter que ter ali algo identificável né uma loja que vende produtos Vamos pensar assim então eu vou ter que ter lá um lugar para colocar as informações do cliente para colocar as informações do produto eu vou ter que ter um local para colocar as informações do funcionário tá e também na Nota Fiscal a nota fiscal ela vai ter informação do produto valor entre outras coisas quantidade quem comprou quem vendeu tudo isso certo assim analisando de
uma maneira bem super superficial Essas são as entidades é que algumas pessoas que me perguntam Eita mas esses itens em vermelho eles também não são não sei se alguns de vocês aí fez isso o sol que tá em azul se destacou que tá em azul e vermelho se destacou mais alguma coisa ou deixou alguma coisa de Fora a interpretação gente Ela é bem assim flexível tá é dificilmente todo mundo vai entender que as mesmas coisas são entidades tá por exemplo uma eu poderia num futuro num banco de dados Tem uma tabela a venda tá só
que eu não representaria ela como uma entidade vocês vão ver mais para frente que tem alguns outros elementos que podem vir a se tornar tabela em um banco de dados como a gente tá entendendo o que é entidade né A Entidade aquele objeto que tem uma descrição própria etc e tal então o cliente ele tem né A sua descrição as suas instâncias produtos funcionário e a nota fiscal também compra venda e entrega talvez pode ser que venha a futura virar em tabelas também mas elas não são entidades tá a compra uma ação é o cliente
compra um produto Ela não é uma entidade ela é assim o relacionamento a gente vai ver se mais para frente à venda a venda ela pode ter ali dados do produto dado do funcionário tudo bem que isso pode estar na Nota Fiscal não depende muito de como foi modelado Mas então Sim comprei renda né entrega talvez contendo o endereço algum prazo alguma coisa assim até podem vir no futuro virar entidade é tabelas tá loja loja gente é um mini mundo É como se eu falasse da Clínica né a clínica é meio que o todo então
eu não preciso ter uma tabela vamos supor que eu tenho uma clínica médica há não preciso ter uma tabela para colocar as informações da minha clínica porque eu vou ter só um a clínica então não precisa ter as informações dela pô é o nome da clínica o endereço da clínica essas coisas tá o sistema também o sistema que eu tô falando que é um falso é que existe ali e tal mas eu não preciso ter essas informações guardadas tá então assim Resumindo o que tem azul são realmente a entidades aí muitas pessoas confundem falar mas
tudo que a entidade irá tabela Mas compra vai ser uma tabela lá no fim sim mas ela não é representada com uma entidade agora tá então pensando numa maneira mais simples que tá em azul sim é entidade os demais podem ser que virem no futuro e tabelas e a gente dá diz fracas é um tipo de entidade Porém ela tem uma diferença sozinhas entre as outras A Entidade fraca né ou ocorre quando alguma Instância de entidade possui alguma dependência existencial com outra Instância de entidade diferente não pensar que existem duas entidades e que seria uma
instância é um Um item daquela entidade vão pensar na entidade professores por exemplo eu Tiago ali tá tá o sono Instância só um elemento que vai fazer parte daquela entidade tá então só pensa assim são os valores que estão dentro de uma entidade tá que vão fazer parte de uma entidade Então pensa quando a Instância de uma entidade se ela tiver uma dependência existencial ou seja ela só existir quando uma outra entidade existir a gente tem uma entidade fraca tá Então nesse casa cada Instância daquela entidade existe somente porque está associada a outra Instância da
outra entidade distinta que coisa confusa né que a entidade da quantidade de lá mas tem um exemplo aqui que vai deixar isso bem claro para vocês pensem em independente então por exemplo eu como funcionário estou cadastrado lá no banco de dados do iefp vamos supor que eu tenho alguém que seja meu dependente né então eu teria uma entidade funcionário tenho também uma entidade dependente essas duas entidades elas podem existir sempre e o meu nome te amo vai estar é vai ser relacionado a entidade funcionário na entidade dependente por exemplo ela vai ela somente vai fazer
sentido se eu tiver um dependente então por exemplo é dependente é um tipo de entidade fraca Pois somente existe existirá dependente e se existe funcionário vamos supor que a gente Remove A Entidade funcionário para que que eu tenho uma entidade dependente no meu banco de dados do mesmo jeito se a Instância eu não existir né na tá lá na tabela na entidade funcionaram para quê que teria que ter um registro da minha esposa por exemplo dos meus futuros filhos na tabela dependente então não faz sentido então a entidade dependente ela só deve existir se existir
a entidade funcionário e até mesmo as instâncias né as instâncias dependentes minha né os meus dependentes eles só vão existir se eu Existir nesse banco de dados então tem alguns casos que a gente tem essas entidades são ditas como fraca ela tem uma DP e existencial tanto de Infância né como de entidades como que eu represento graficamente essas entidades tanque o tem uma entidade funcionar também na que ela tem somente uma borda aqui é uma identidade comum ou uma entidade simplesmente ou uma entidade forte algumas pessoas usam esse termo mas não acho muito correto Eu
costumo dizer que elas são entidades a gente LED placa ela tem essa borginho aqui dupla né então como se fossem dois retângulos com o nome dente Então essa é a maneira de ir representar visualmente uma entidade fraca então por exemplo eu só vou ter dependente se eu tiver funcionário naquele banco de dados do mesmo jeito vamos supor que eu tenho uma entidade lote onde o registro todos os lotes de um ou dos produtos um no banco de dados lado uma loja eu deveria ter e a entidade lote se eu não tiver produtos não faz sentido
então elas são representadas dessa maneira simplesmente para mostrar aqui ela tem uma dependência existencial da anterior nem da qual ela vai ter nenhum relacionamento Isso não é um exemplo aqui relacional como que isso funcionaria por exemplo não seria interessante o ter talvez uma tabela só para os dependentes ou colocar os dependentes é que junto com os funcionários então essa aqui seria a tabela de funcionário que tem a matrícula nome data de admissão eu deveria ter que uma coluna dependência isso é muito complicado porque pode ser que ninguém tem alguém não tenha nenhum dependente e pode
ser também aqui que o juntem a oito dependente é imagine mais uma coluna aqui eu vou colocar oito elementos aqui bem a ter que ter oito colunas então isso ficou eu tenho é por isso que a gente tem essa maneira diferente de representar porque quando a gente representa dessa forma a pessoa que vai fazer ali eu faço três e depois né implementar o novidade ele vai saber quem vai ter que distribuir sem duas tabelas porque são duas entidades a gente tem aqui por exemplo né A uma outra tabela com a matrícula do funcionário um código
do dependente e o nome dos dependentes tá E aí eu tô dizendo aqui que 200 presentão João ele tem um dependente o dependente de código um na verdade que é o José aqui eu tô dizendo que o 202 que a Maria ela tem e o dependente um Seu Marcos Beleza cada um tem um só que aí eu 200k Gisele tem outro dependente que a Maria tá Então vão ter casos aqui ó 203 a Anna ela nem entra nessa tabela porque não há necessidade é essa Instância né é existencial ou seja ela nem existe aqui dentro
porque ela não tem um dependente tá então é só uma maneira diferente de representar uma identidade Elas têm as mesmas características né tudo aqui é entidade só que tanto a entidade quanto às instâncias só vão existir se ela tiver uma outra entidade entre aspas forte ali na quadra dependente Tá bom então concluindo essa primeira página a gente falou ali das três etapas principais do processo de desenvolver um banco de dados que o levantamento de requisitos projeto lógico e implementação nosso foco agora é o Projeto Lógico que a gente começou a ver alguns elementos relacionados ao
modelo de dados conceitual numere der então quando eu falei pra vocês uma entidade é isso é o quando eu disse uma entidade é representada por um retângulo com o nome no meio é der beleza e os elementos que a gente viu foram né as entidades e as entidades fracas na próxima aula a gente vai continuar estudando sobre isso a gente vai conhecer um pouquinho mais sobre os atributos então até a próxima