#5 - BANCO DE DADOS 1: Tipos de atributos do MER

1.15k views4141 WordsCopy TextShare
Prof. Tiago Segato
Nessa aula continuaremos falando sobre o Modelo Relacional, mais especificamente sobre os elementos ...
Video Transcript:
é nessa hora a gente vai continuar falando sobre modelagem de banco de dados Mais especificamente a gente vai conhecer os atributos bom o atributo são elementos que descrevem as propriedades das entidades estão no Méier gente supõe que todas as instâncias aqueles elementos internos ali da entidade lembra ele tem os mesmos atributos por exemplo Vamos considerar uma entidade chamada funcionário o que descreve os funcionários o melhor do que descreve todos os funcionários Como assim todos os funcionários são iguais cada um tem valores diferentes mas todos os funcionários têm os mesmos atributos por exemplo todo o funcionário
ele tem um número de matrícula cada um tem o seu seu valor mas o atributo é como se a qualidade a característica todos os funcionários têm os números de matrícula todos os funcionários tem um nome todos os funcionários tem um cargo e entre outros tá então vamos pensar aqui definidas as entidades agora a gente vai começar a caracterizar cada uma dessas entidades se a gente disse que o cliente a uma entidade é porque tente é algo que existe naquele me mundo certo é um objeto daí esse objeto tem algumas características na qual todas as instâncias
que vão tá dentro né que eu vou fazer parte dessa entidade possui as mesmas características ou me ou melhor os mesmos atributos tá então a gente tem aqui entidade funcionário que possui as características ou atributos nome número de matrícula cargo salário enfim aí a gente vai ter várias instâncias tá a Instância um por exemplo poderia ser no 1001 nome João cargo ser empacotador e a gente teria Instância dois que seria 002 nome Maria cargo gerente e assim por diante tá então os atributos eles só vão existir se existe uma entidade eles sempre vão estar ligados
a uma entidade beleza como que a gente identifica os atributos de uma entidade que eu vou exemplifica a quantidade livre todo mundo conhece o livro logo todo mundo sabe as características que o livro tem só que a gente tem que pensar o que todo Livro tem todo lembro tem um título todo Livro tem um autor uma editora o número de página Beleza e quanto os atributos a gente coloca quantos forem necessários para identificar aquele aquela entidade né E vai depender muito do negócio em questão tá então por exemplo se fosse a pela os dados mais
simples ali que eu só fizessem saber quais níveis Alguém já leu saber o título autor Editora talvez nem o número de páginas seria interessante saber o que as pessoas estão lendo esses atributos que eu coloquei aí na tela acho que você viu suficientes mas por exemplo é para mim as informações de um livro são as mesmas do que um site que vende livros com armação por exemplo não se a gente analisar segundo a Amazon a gente tem uma pancada de vários outros atributos para livro tá por exemplo a Amazona precisa saber o título Então esse
aqui é o livro inclusive que eu me baseio uso nas aulas tá então aqui tem um título o tipo de capa a data aqui os autores né a linguagem nessa é português tem até um sistema de avaliação valores tanto na versão digital quanto na versão física né então tem para Kindle o livro em eu tenho uma descrição em imagens têm a que horas dimensões isso é importante cara saber a dimensão do livro Opa eu já vi muito livro aí que era muito grande eu não comprei esse livro eu não vou ler não brincando mas falando
sério é importante para mas não saber as dimensões do livro Até mesmo para saber quanto cobrar de frete entre outras coisas tá então para uma loja os atributos que a loja tem que saber né o'bannon banco de dados da Amazon é diferente do que as informações que eu para o sistema comercial alguma outra coisa você tem uma pessoal meu deveria ter tá bom Por isso que análise de requisito é importante ela tem que entender realmente porque e o que aquele negócio precisa tá ou então aqui continuando tem aqui a quantidade de páginas isbn-10 sbn-13 o
número da edição Eu tenho esse livro físico aqui em casa tô trabalhando para ele aqui é o meu é o da 16ª edição e eu gosto o livro quando eu estudei né lá na faculdade lá em 2001 é muito tempo atrás a gente usou esse livro Só que tava na edição um dois três alguma coisa assim tá e ele sempre é atualizado e o controle dele é muito bom tá aqui a gente tem a editora aqui a gente tem a data de publicação o idioma então aqui Cês viram que existem vários outros atributos que são
importantes para a Amazon e assim pensa todos os livros que existem na Amazon tem esses atributos porém com instâncias ou valores diferentes Beleza então é a Mas isso não livro ele tem esse BN não depende tá pessoal então vocês vão ver a gente vai fazer alguns exercícios e assim tem gente que ia falar não ao o idioma do livro é muito importante né Depende muito do negócio em questão que a gente está analisando então analise o banco de dados Eu costumo dizer que a partir da análise é mais complexa a gente tem que entender muito
aquilo para poder elaborar o melhor diagrama Tá mas vamos tempo sempre tentar nos limitar o que está explícito ali nos enunciados beleza bom os atributos né no der ele é representado por uma elipse uma bolinha contendo seu nome dentro ou também ao lado eu já até comentei isso com vocês na aula anterior então aqui eu tenho a entidade livro e eu tenho aqui três atributos um título autor Editora Então a gente tem a elipse e o nome Zinho Aqui no centro tá E eles estão ligados aqui em livro nova seriamente precisariam tá todos ligados aqui
tá poderia ter vários outros atributos aqui em volta da Amazon mesmo daria para colocar todos aqui e aqui é uma outra representação A Entidade representada da mesma maneira E aí a gente tem e as elipses a descrição e a ligação com a entidade porém invés do da descrição tá dentro da elipse tá fora a qual é melhor qual é a correta As duas são corretas a na ferramenta gráfica que eu tô usando que é o draw.ai ou é assim que ele me permite tá não fui lá peguei um editor de imagens eu tô usando o
Sigma né que é uma ferramenta é excelente para diagramar para fazer Claro de tudo e por aí desenhei e só para vocês terem uma comparação Tá bom então são duas maneiras diferentes de representar a mesma coisa lembra que eu falei na aula passada um padrão né mas a gente analisar os dois são muito próximos muito parecidos e vocês vão ver Que atributos existe diversas maneiras e todos eles são representados da mesma maneira a única coisa que muda é que a descrição é dentro da elipse ou fora então isso é o que muda se a gente
vai ver que por exemplo o tipo de atributo que ele é todo pontilha Dinho aqui né elipse Nossa mas como que representa aqui é CB para você vai ser pontilhada tá o único atributo tem um pouco diferente ou de chave primária que é o próximo que a gente vai ver eu mostro pra vocês a diferença também bom o que é o atributo chave primária então a gente para toda a entidade tem vários atributos tá bom o outro ponto chave primária ele tem a função de atuar como um identificador único das instâncias da entidade então por
exemplo cada Instância né Cada livro ele tem que ter algo que Garanta a unicidade daquilo no sistema porque senão quando eu vender eu não sei qual livro Eu vendi tá então uma coisa que vocês vão estão vendo hoje talvez pela primeira vez e até a última vez aí até lá no fim de banco dois se vocês forem trabalhar com desenvolvimento de sistemas sem fim e sempre que envolver banco de dados na vida de vocês vocês vão ver esse atributo chave primária é o atributo mais importante na tabela é o que representa todo o restante né
todos os outros atributos tá bom sempre ocorrerá situações na qual pelo menos uma da stand as instâncias não se repita tá então por exemplo tudo né todas as instâncias das mais diversas entidades sempre vai possuir um campo que Garanta a unicidade nele por exemplo nós as pessoas né Tem CPF tá ó o produto ele pode ter ali um código de barras alguma coisa assim tá ou um médico tem o CRM tô sem tudo tem algo ali que Garanta a unicidade daquela Instância aquele item que está dentro do do entidade tá caso não tenha precisei que
é uma tá bom é uma Instância diferente e tal e não tem tu vai lá e adicionam código número de alguma coisa muitas pessoas usam o e de alguma coisa para Campos que não tem Esse identificador único tá outras pessoas queria ir de para tudo mesmo que tenha lá cliente tem o CPF para ser usado como chave primária tem pessoas que preferem dar e de para tudo tá é até uma maneira às vezes mais fácil ele na hora de implementar a fazer os códigos você tem um padrão todas as instâncias todas as suas identidades e
tal são representadas a chave primária né é representada ali por um relé ou aí de como algumas pessoas também disse tá bom Bom como a chave primária identifica cada Instância né Pensa todo mundo é representado pelo seu CPF né vamos ver assim então como também a cada Instância né ela precisa ser única é ter um item único ela possui duas restrições então a chave primária Ela não ela tem que ser única para querer elemento então Existem duas restrições eu não posso definir um campo como saindo chave primária sim ele se repetir ou se poder ter
valor num tá então sempre que eu defini como aquele atributo vai ser chave primária ele não pode se repetir e não pode ter valor nulo Porque pensa é como ser uma pessoa não tivesse CPF ela não é é identificado unicamente o Diferentemente das outras pessoas Então essas duas regrinhas são usadas até quando vocês forem lá fazer seus códigos SQL lava futuro sempre quando vocês criaram a chave primária e vocês vão usar dois códigos ali para definir o algumas restrições para chave primária que é o note no um para não deixar valor nulo e além do
Norte no vocês vão usar também e o Nick depende um pouquinho de esse DVD né Mas normalmente ali unikids que aquele campo é o único ou seja não repete e o not look para não deixar que a pessoa né Deixa aquele Campo que eu não como número bom no der a chave primária é representada por um tracinho é um sublinhado aqui no elemento que foi definido como chave primária ou na essa outra representação a bolinha na toda preenchida tá bom Então essas são as duas representações de chave primária é alguns outros modelos aí né que
desenha tipo uma tabelinha e coloca o desenho de uma chave mas assim pensa no modelo relacional de mais alto nível Essas são as duas representações para gente né exibir mostrar graficamente o que é uma chave primária tá bom Aqui não teria compreende é tudo porque o nome sumiria e aqui sei lá sobrinha ao isbn né então uma maneira até mais fácil de se identificar né olhando alí rapidamente você vê que tem que ter uma bolinha preenchida ela é a chave primária daquela entidade bom além da chave primária a gente pode ter três tipos de chave
tá pensa assim tenho vários atributos Associados a uma entidade a super chave é o conjunto de um ou mais atributos que tomados coletivamente permite identificar unicamente uma entidade no conjunto de entidades existem alguns e por exemplo eu poderia usar sei lá um estado uf para garantir a unicidade de de uma tabela não porque o é se repete muito né eu vocês né casa todos aqui mora em no DF tem usar o DF e não vai eu não consigo pelo pelo dep né pelo é né Unidade Federativa o estado é saber quem é quem agora se
eu juntar né Por exemplo UFF e mais alguma coisa ou por exemplo eu não consigo saber pelo Estado de que cidade eu tô falando não não daria para garantir a unicidade daquela tabela agora se eu juntar UEFI e a cidade estado e cidade aí sim Aquilo é o único não existem duas cidades né sei lá Águas Claras DF pode pode ser que até existe uma outra águas claras em um lugar sei lá né mas não em Águas claras-df é aquela então Garanta a unicidade daquela tabela Tá bom então super chave é quando eu pego diversos
atributos tá junto eles e eles juntos garantir a unicidade daquela relação por exemplo é por nome o meu nome eu consigo garantir não Tiago tem mais que mais que gente para ele né então tem muito chato Agora vou pegar Tiago e o meu número de telefone aí eu garanto a unicidade daquela de todo o restante dos das minhas informações dos meus dados do que uma pessoa quero Tiago com o meu número de telefone né Isso é o único tá bom bom algumas pessoas usam nessa combinação de vários atributos e para identificar unicamente uma entidade em
bem mas existem também as chaves candidatas são Chaves com unicidade na unidade própria ali na relação por exemplo cpf rg ou RG só dentro do Estado né então título eleitoral Então existe alguns cantos que eles são candidatos Entre todos os outros atributos ele é candidato a se tornar uma chave primária Então pensa aqui as chaves candidatas são os atributos que podem podem vir a se tornar chave primária tá bom ele ainda é candidato ele Talita em todos os pré-requisitos mas ainda não foi a Lei vamos dizer assim tá então todos os atributos que conseguem identificar
uma relação né E a chave secundária seriam todos os demais atributos né Chaves sem honestidade em uma relação tão por exemplo idade e assim ah o aluno de idade 19 Tirou o pau nota eu sei qual é o aluno não pode ter vários alunos com a idade de 19 do mesmo sexo que mora um endereço e semelhante ali tá então esses esses exemplos aqui eles não tem uma unicidade tá ou seja as demais entidades de uma relação tão são os demais então a gente tem as candidatas que são usa atributos em uma entidade que pode
vir a ser e Lei escolhido para se a chave primária a gente tem também alguns atributos que é Unidos né usados em conjunto podem garantir a unicidade de uma Instância ali na no de uma entidade e a chave secundária são os demais atributos que ficaram ali sobressalentes né que não não vou ser usados para ser chave primária mais que são importantes é importante as habilidades sexo endereço e várias outras coisas hoje e agora a gente vai falar de um outro tipo de atributo multivalorado não são aqueles atributos que para cada Instância da entidade ele pode
ter vários valores por exemplo eu falo vamos pensar no aluno ele tem a sua matrícula chave primária nome idade telefone só que o aluno ele pode ter vários telefones ele pode ter vários celulares ele pode ter um celular no telefone comercial Ou Residencial à venda por exemplo vamos imaginar isso em uma tabela se ele é difícil imaginar isso numa tabela matrícula beleza 110 João 19 anos 112 Maria 21 anos se eu quisesse colocar aqui um telefone poderia criar aqui ó telefone e colocar o número do telefone aqui do João seu marido estivesse o olho teu
telefone como que eu coloco oito itens dentro de um elemento a é só criar oito colunas beleza mas eu queria no oito colunas aqui telefone um dois três quatro cinco seis eu voltei muito o branco porque o João só tem um telefone vou ficar certo sobrando então a gente representa um atributo multivalorado com múltiplos múltiplas elipses tá então é só fazer aqui dois círculos em volta do do nome né da descrição que a gente quer representar que ele seja multivalorado quando alguém for modelar e converter isso pra tabela ele vai saber que telefone tem que
ser uma nova tabela então eu não coloco aqui na frente Os telefones dos alunos Aqui tá o que eu faço eu crie uma outra tabela com as matrículas e telefone a mas é que eu consigo colocar vários telefones sim porque o barulho ó o 110 do João ele tem esse telefone agora a Maria ela aparece duas vezes tá então se ela tivesse olho ela pareceria oito vezes do João são uma então a gente não vai ter espaço em branco nesse banco de dados então é uma estratégia muito interessante é que eu tô dizendo que a
Maria que é do da matrícula 112 ela o telefone dela Residencial esse celular o atributo composto é um atributo que ele pode ser destrinchado assim né entre outros então o são atributos formados por outros atributos Como por exemplo o endereço medida de uma sala eu perguntar qual a medida dessa sala ela tem 10 por cinco são dois valores né então precisaria ter é a largura e altura de uma sala aqui eu tenho representação gráfica de uma tributo é composto que o endereço então é que eu tenho o endereço se eu passar o endereço completo para
alguém às vezes ele não é muito interessante às vezes não interessante eu registrar todo o endereço de uma maneira única que vai que no futuro lembra eu guardo uma informação do banco de dados porque eu vou consultar no futuro vamos supor que no futuro eu quero consultar todo mundo que mora em qual bairro né e um setor então é interessante esse dados Ah tá o bairro Setor Sei lá o Rua então aqui eu tô dizendo que o atributo endereço ele tem vários ou ela é formado por outros vários atributos tá bom como que isso é
que fica no banco numa tabela por exemplo né a tabela aqui antecede o banco de dados eu teria a tabela aluno como a gente viu lá anteriormente com esses três itens tá E aí eu tenho uma outra tabela é endereço o que que teria nessa tabela endereço isso aqui ó tá vendo aí você tinha um atributo que ele vai virar no futuro uma tabela olha só que interessante Oi e eu teria que a matrícula para representar os alunos e de atributo de endereço a rua nº bairro a rua nº bairro descreve o endereço né então
eu faria dessa maneira Oi e a gente tem também os atributos derivado né esse aqui como não é um atributo que existe sempre então aparece aqui tracejado né Ele é como se ele não existisse assim ele vai ser sempre derivado de outro atributo ou originado por meio de um cálculo tá dobrando a qualidade Às vezes eu não preciso guardar a idade no banco de dados eu já guardei a data de nascimento tá até mais interessante e quando a gente for gravar idade de alguém gravar data de nascimento porque sempre que eu precisar por via só
por ou até mesmo banco de dados eu consulto a data de nascimento com isso eu sei quantos anos aquela pessoa tem tá porque precisa vamos supor que eu me cadastrei hoje em um determinado o banco de dados coloquei lá que eu tenho 34 anos daqui 10 anos essa informação vai estar lá 34 agora é só aguardar o nascimento Quando eu for recuperar essa informação lá para frente eu vou fazer um cálculo a data de hoje menos a data né de nascimento e tem olha a quantidade de anos é a idade né da pessoa tá bom
então aqui a gente tem dois empregos é o primeiro é calculado a partir da data de nascimento e a idade e o segundo é obtido através de uma contagem de algo tá lá vamos porque a pizzaria saber quantas disciplinas o aluno está cadastrado né eu posso ir lá e fazer um caught né uma contagem para saber é enquanto as disciplinas ele tá cadastrado ou qualquer outra coisa Tá então assim não essa razão a gente não armazena esse atributo esse atributo ele não vai fazer parte de uma das colunas da tabela ele vai ser gerado Só
quando eu necessitar Mas a mas por que então depois aqui idade não data de nascimento tá lá na coleta ali dos requisitos eu preciso saber a idade a nossa até guardar no meu banco de dados a data de nascimento mas eu vou precisar recuperar no futuro aí a idade Ah e eu esqueci de falar uma coisa para vocês por exemplo nesse modelo aqui idade representa dessa maneira é tracejado e o nome dentro e naquela outra maneira a bolinha né ela vai ser tracejada e o nome fora tá bom eu acho que eu não falei para
vocês aqui nela o telefone nesse caso ele tem duas elipses né elipse com a borda dupla aqui como que seria naquela outra representação aquela bolinha pequenininha com o nome fora ela vai ter duas elipses para representar ela e o endereço é a mesma coisa tá por exemplo deixou achar que aqui então vamos supor aqui aqui eu tenho o endereço eu vou ter que essa bolinha endereço de do endereço vou ter três risquinhos aqui com as três elipses e Rua número e bairro não vai ser mais ou menos assim é bem semelhante né eu mostrei visualmente
aqui o ISS a chave primária porque é diferente aqui é um sublinhado aqui é preenchido Tá mas no caso do telefone vão ser duas bolinhas pequenas com o nome fora no endereço vai ser uma bolinha com três risquinhos as outras bolinhas nomes tá então seguem um padrão A única diferença é que o nome vem fora e não dentro atributo dele o advogado derivado Acabei de apresentar para vocês e para concluir essa aula né que falou só de atributos depois a gente entender o que é uma entidade a gente precisa saber o que como representar essa
entidade por meio dos atributos Então são as características daquela entidade o atributo é representa a característica né da entidade Como eu disse E ele pode ser de diferentes tipos é eu tenho os atributos simplesmente eu tenho um atributo que é de chave primária a pedir tem que garantir a unicidade de toda minha relação a gente tem também a super chave que a combinação de vários atributos para criar esse ali uma chave primária né a gente tem a chave candidata que são todos os atributos que podem né que tem ali características para ser a chave primária
e achava secundárias são todos os atributos ali que me conserva em né fazer uma chave primária e se prende elementos né eles apresentam os atributos de uma maneira geral é quando a gente está tentando distinguir se eles podem ou não ser Chaves primárias né tem nenhum tipo tipos de chave primária ou maneiras né e disse criar a chave primária ou de não ter a gente viu também que existe atributo multivalorado é aquele atributo que pode ter muitos valores pensa assim multivalorado muitos valores Eu tenho um elemento Mas eu posso ter muitos eu posso ter muitos
telefones eu posso ter muitos é né eu posso morar em um lugar e ter um trabalhar em outro e usar esses dois endereços por uma entrega do iFood por exemplo a gente tava tributo com cortou que ele somente né É muita informação eu preciso quebrar informações menores de exemplo do endereço da do tamanho de uma sala e coisas desse tipo e a gente tem também o atributo derivado aqui sozinho não deve ser criado Ele sempre vai ser calculado ou gerado a partir de um outro atributo comum né que a gente tem ali no banco de
dados então a gente entendeu que são entidades atributo agora a gente vai ver como que as entidades relacionam na próxima aula a gente vai começar a ver em dar um pouquinho mais sobre os relacionamentos então até a próxima aula
Related Videos
#6 - BANCO DE DADOS 1: Tipos de Relacionamentos do MER
22:46
#6 - BANCO DE DADOS 1: Tipos de Relacionam...
Prof. Tiago Segato
1,088 views
Database Keys Made Easy - Primary, Foreign, Candidate, Surrogate, & Many More
23:19
Database Keys Made Easy - Primary, Foreign...
Decomplexify
208,534 views
Banco de Dados - Modelo Entidade-Relacionamento (MER) - Parte I: entidades, atributos, chaves
18:48
Banco de Dados - Modelo Entidade-Relaciona...
UNIVESP
49,785 views
6 SQL Joins you MUST know! (Animated + Practice)
9:47
6 SQL Joins you MUST know! (Animated + Pra...
Anton Putra
356,623 views
you need to learn SQL RIGHT NOW!! (SQL Tutorial for Beginners)
24:25
you need to learn SQL RIGHT NOW!! (SQL Tut...
NetworkChuck
1,803,598 views
APSCHE   Short Term   Data Analytics with Tableau STB3 May 30 2025 02 25 PM
2:00:13
APSCHE Short Term Data Analytics with ...
SmartBridge_B
25 views
ChatGPT's New Device Will Change EVERYTHING
8:38
ChatGPT's New Device Will Change EVERYTHING
Tech Rank
170,836 views
Entity Relationship Diagrams
20:32
Entity Relationship Diagrams
Decomplexify
66,916 views
Writing My Own Database From Scratch
42:00
Writing My Own Database From Scratch
Tony Saro
288,858 views
What Makes ChatGPT Chat? Modern AI for the layperson
39:04
What Makes ChatGPT Chat? Modern AI for the...
Natasha Jaques
224,741 views
Der Löwe von Arizona | Amerikanischer Western | Deutsch
1:25:08
Der Löwe von Arizona | Amerikanischer West...
Grjngo - Westernfilme
19,106 views
Diagrama Entidade Relacionamentos (DER) - Entidades, Atributos, Relacionamentos e Cardinalidade
15:33
Diagrama Entidade Relacionamentos (DER) - ...
DesCOMPlica, Oliba!
21,727 views
7 Design Patterns EVERY Developer Should Know
23:09
7 Design Patterns EVERY Developer Should Know
ForrestKnight
620,892 views
How do NoSQL databases work? Simply Explained!
7:38
How do NoSQL databases work? Simply Explai...
Simply Explained
1,258,171 views
Singularität: endlich gelöst? | Harald Lesch | Terra X Lesch & Co
27:57
Singularität: endlich gelöst? | Harald Les...
Terra X Lesch & Co
740,628 views
Solving Wordle using information theory
30:38
Solving Wordle using information theory
3Blue1Brown
11,033,750 views
Types of Databases: Relational vs. Columnar vs. Document vs. Graph vs. Vector vs. Key-value & more
18:23
Types of Databases: Relational vs. Columna...
Anton Putra
88,076 views
PUTINS RACHE ESKALIERT!: Russland schlägt brutal zurück – massive Angriffe gemeldet!
11:44
PUTINS RACHE ESKALIERT!: Russland schlägt ...
Verheimlicht
100,482 views
Apache Iceberg: What It Is and Why Everyone’s Talking About It.
13:51
Apache Iceberg: What It Is and Why Everyon...
Confluent Developer
395,446 views
Como fazer MER do Banco de Dados - Passo a Passo
19:58
Como fazer MER do Banco de Dados - Passo a...
Nerd dos Dados
8,634 views
Copyright © 2025. Made with ♥ in London by YTScribe.com