olá pessoal aqui é o fábio barbosa treinamentos neste vídeo vamos dar continuidade no nosso curso de modelagem de dados desta vez vamos falar sobre um conceito extremamente importante que o conceito de chaves bom que é uma chave uma chave consiste em uma ou mais colunas atributos de uma relação ou tabela com os valores são usados para identificar de forma exclusiva ou uma linha de registro ou um conjunto de linhas a achava ela pode ser única certo identificando só uma única linha ou ainda não única identificando mais de uma linha ao mesmo tempo existem vários tipos
de chávez a aas chaves únicas elas podem ser uma chave candidata composta primários rogada também chamada de substituta e uma chávena única é uma chave estrangeiro eu vou falar um pouco sobre cada um desses tipos de chaves na seqüência vamos começar falando sobre a chávez candidatas a chave candidata é uma coluna um atributo ou ainda um grupo de atributos que tem o potencial para se tornar uma chave primária a não são chaves primárias ainda está na modelagem identificamos chaves candidatos que têm o potencial para se tornar uma chave primária e aí a gente vai escolher
uma ou mais dessas colunas para serem achava primário caso você tenha uma chave candidata que não seja escolhida para ser uma chave primária ela vai ser conhecido como xavi alternativa à porque é uma alternativa à chave primária oficial da tabela por exemplo se tiver uma tabela de alunos registros de alunos eu posso ter um campo um atributo chamado número de matrícula e um outro tributo chamado cpf esses dois atributos podem fazer a identificação de forma exclusiva dos registros ou seja eles podem ser uma chave primária eu vou escolher um deles para se achar primário pode
ser um número de matrícula porque cada um tem o seu número de matrícula isso não se repete ou pode ser um cpf porque cada um tem o seu cpf isso também não se repete eu posso escolher um deles para fechar o primário o outro fica sendo a chave a alternativa então essas aqui são as chaves candidatas deixaram primário na chave candidata pode se transformar na chave primária a chave b mário machado candidato que foi escolhida para ser a chave principal na relação na tabela sob uma área chave principal da novela para que serve a chave
primária a chave primária utilizada para identificar de forma exclusiva ou seja a única sem repetição os registros em uma tabela cada registro na coluna do shopping riomar vai ter um valor que vai ser sempre diferente de todos os demais registros naquela tabela não pode ter repetição de valores e também não pode ter valor nulo numa chave primária e inglês a gente chama chave primária de prime que geralmente a gente utiliza abreviação pk de primeiro saque para identificar a chave primária nos nossos diagramas a chave primária de extrema importância na hora de criar uma tabela muito
tipo de chave que a gente vai se vai ter é a chave estrangeira que é uma chave estrangeira é uma coluna em uma tabela também que vai estabelecer o relacionamento com a chave primária de outra tabela a gente estudou aqui no curso é o que são relacionamentos como a gente estabelece o relacionamento entre duas entidades entre duas tabelas posteriormente tal relacionamento então ele é estabelecido por meio do uso de chaves primárias chaves estrangeiras a chave primária de uma tabela conectada a chave achava estrangeira de outra tabela achava estrangeira ou fórum em que inglês obrigada por
é ficar é utilizada para a gente saber com qual registro em uma tabela o registro da tabela atual está relacionado por exemplo vamos supor que tenha uma tabela de biblioteca que tem uma coluna de livros e um animal uma tabela de livros uma tabela de autores como é que eu sei qual é o autor de um determinado livro na minha tabela de livros além das colunas ficam os livros uma coluna que identifique o autor daquele livro essa coluna vai ser uma chave estrangeira conectada a chave primária lado da tabela de autores que vai ter então
a identificação dos autores em uma chave primária certo com ele o autor por exemplo ficou muito claro não se preocupe mais para frente a gente vai trabalhar extensivamente em cima disso na parte prática outro tipo de chave que a gente pode ter a chave composta como o nome diz machado composta é composta constituída de dois ou mais atributos simultaneamente todos ou mais colunas quando a gente tem uma chapa composta a gente vai utilizar esse tipo de chave quando você quiser criar por exemplo uma chave primária numa tabela mas não conseguiu identificar nenhum atributo que seja
exclusivo então todos os atributos que você tem ali naquela tabela naquela entidade eles em algum momento acabam tendo valores repetidos então o atributo sozinho não pode ser uma chave primária porque além da característica principal da chave primária não pode ter repetição em seus valores nesse caso a gente pode combinar duas ou até mais colunas para obter um valor exclusivo valor que não se repete é a gente vai ter uma chave composta uma chave primária pode ser uma chave primária composta por exemplo a gente utiliza sempre a chave composta quando não consegue usar uma única coluna
para obter valores exclusivos dos registros certo ou ainda da chave substituta essa chave é um valor numérico único ou seja não se repete que a gente adiciona numa relação de identidade para servir como xavi primário é uma outra forma a gente criar chaves primárias então supor de novo mesmo caso anterior a gente tem uma tabela mas é uma relação ou entidade que têm uma série de atributos mas nenhum deles serve para se achar primário a gente pode optar por criar uma chave composta ou a gente pode utilizar uma chave substituta como funciona isso eu invento
uma coluna o crio um extra na bota um número seqüencial por exemplo nessa coluna índigo doença o lula vai ser a chave primário não vai ter um número seqüencial como se fosse uma espécie de um código que vai identificar de forma exclusiva a cada registro não é o ideal trabalhar com isso o ideal é sempre ter uma chave primária que tenha algum tipo de relevância para o usuário porque achava o substituto não tem significado por usuário geralmente a gente inclusive esconde nas aplicações nem mostra esses valores os valores dessa coluna do usuário quando você cria
aplicação ea gente utiliza no lugar da chave primária composta se você não quiser ou não puder usar uma chave primária é composta você vai ter que você vai ter que criar um a chávez o gado ou substituto certo então essa aqui é a ideia é como a gente queria chaves primárias estrangeiros que a gente identifique cria algumas instruções que são importantes a gente já saber desde já por exemplo não é possível haver valores duplicados na chave primária para identificar a chave primária partida da chave o candidato e depois chegando na chave primária você vai ter
que encontrar campos com os valores não sejam duplicados se você encontrar já sabe que tem que trabalhar com chave composta ou substituta no geral não é possível alterar o valor da chave primária a na prática é possível mas o ideal é que você não mude esse valor pra evitar o problema em algum momento você ter repetição de dados que vai causar conflito no banco achava estrangeiras são baseadas em valores de dados são classificados como se fossem ponteiros lógico é que a ponta de uma tabela para a outra que mais o valor da chave estrangeira tem
que corresponder um valor que exista numa chave primária associada ou então deve ser número um é muito importante como a chave estrangeiro ela conecta uma tabela a outra tabela por meio de um relacionamento e chave primária então o valor que vai aparecer na china a coluna de chave estrangeira e tem que corresponder um valor está na chave primária e ele sempre deve referenciar a chave primária ou em alguns casos muito especiais uma coluna de chave única que não seja chave primária mas que tem uma restrição uma constituinte do tipo e únic que a gente vai
aprender mais para frente do que se trata a um pouco abstrato de conhecimento mas mais para frente conforme for modelando banco de dados na prática os bancos de exemplo vai ficar mas mais fácil de entender o que está sendo dito certo mas de qualquer forma a gente tem uma palhinha de isso aqui ó aqui tem um exemplo de chave primária e xavi estrangeira em 3 tabelinha de um banco fictício tac um banco que tem três tabelas três relações ou entidade se preferir que são entidade pl clientes tbl vendas e tl produtos lembrando que a gente
está falando de entidades lado modelo de relacionamento mas você já sabe que a entidade no geral ela vai acabar se transformando em uma tabela ou mais de uma tabela posteriormente depois de a gente aplicar alguns processos na modelagem dos dados que estão mostrando uma tabelinha com seus respectivos atributos dessa forma um pouco mais expandida para ficar um pouco mais claro o conceito de chaves primário estrangeiro em relacionamentos a gente vai trabalhar assim como com as entidades criando os modelos e os diagramas entidade-relacionamento nos próximos vídeos que a gente tem a às três tabelas ou entidades
clientes vendas de produtos veja que identifiquei em todas elas nas três tabelas os atributos e de clientes e não-clientes cpf data de nascimento dos clientes para as vendas têm de vender cliente de produto quantidade e data de venda e para a tabela de produtos e de produto nome produto categoria preço do produto identifiquem a chave primária em cada uma delas então a tabela de clientes chave primária e de cliente tal como pecar e veja só está sublinhado como expliquei em outro vídeo deve ser na tabela de vendas a chave primária e neve ainda na tabela
de produtos de produto então esses campos são chaves primárias porque eles não se repetem a cada cliente tem seu id dois clientes com o mesmo de cada venda tem o seu id não há duas vendas com o mesmo de cada produto tem o seu e de da mesma forma sep e como é que a gente conecta as tabelas o grande segredo a aki na tabela central da entidade tl vendas aqui eu tenho a quantidade ea data da venda do que para quem vende o produto para quem vende isso é preciso identificar essas informações também pra
isso é preciso conectar o estabelecer um relacionamento entre a tabela de vendas está bela de clientes e produtos que têm essas informações as informações sobre os clientes e sobre os produtos para estabelecer esse relacionamento eu coloco na tabela de vendas esses dois campos e de cliente e de produto que são os mesmos que estão na tabela de clientes e na tabela de produtos como chaves primárias nessas outras duas tabelas e aqui eu vou chamar esses dois campos dfk forma em que o xavi estrangeira a caa chave estrangeiro e de clientes de vendas está conectado por
essa linha azul até a chave primária na tabela clientes e de produto conectado aí de produtos primários de tabela de produtos na hora de criar um banco de dados vai ter um comando sql que você vai digitar que você vai criar que vai fazer esse relacionamento aqui na prática você vai conseguir estabelecendo este relacionamento e gravar dados e fazer consultas às por exemplo vendas armazenadas no seu banco de dados então essa aqui é a ideia básica a gente utiliza a chave primária e xavi estrangeira chave primária identificando cada registro da chapa estrangeira permitindo que a
gente cria os relacionamentos entre as tabelas entre outras coisas as colunas são colunas simples a um novo cliente cpf data de nascimento estava com seu tipo de dados etc tipo de dados esse vídeo aqui pra rapidamente fala sobre o conceito de do minho a todos esses conceitos de domingo pra gente poder encerrar o vídeo sobre chávez é um domínio um banco de dados o domínio utilizado para a gente definir os tipos de dados e também a gente utiliza para especificar quais valores são válidos dentro de um campo ou seja dentro de um atributo no meu
exemplo aqui na tabela clientes de shopping alshop estrangeira e detalhei os campos os atributos que a gente tem lá estão os quatro campos estão essa tabelinha e de cliente que achava primário no cliente cpf data de nascimento e especifique qual é o tipo de dado que vai ser armazenados nesses campos esse é o conceito de domínio total domínio de dados de clientes é número um do cliente vai ser um número um seqüencial ou não ele vai ter um tamanho aqui por exemplo estabelecer que ele vai ter quatro caracteres ou quatro dígitos pode ter mais um
pode ter - depende da análise que você quiser no seu banco já o campo novo cliente ele vai ser do tipo caracteres ou seja é letras números símbolos talvez o tamanho dele vai ser quarenta caracteres porque o meu cliente é mais extenso cpf do cliente vai ser caracter também tamanho 11 caracteres número do cpf do cliente algumas pessoas dizem que a gente pode utilizar número como cpf cliente mas a idéia é utilizar a terra porque muitas vezes você tem que completar com um zero à esquerda por exemplo cpf armazenado ou que representar um traço ou
nunca se sabe pode ser que um dia venha ter letras no cpf como rg tem cpf é um é um valor calculado de qualquer forma a gente costuma utilizar o tipo de dado o carácter mais pra frente a gente vai falar sobre isso também e data de nascimento tipo de da data e hora tamanho oito caracteres por exemplo armazenar dois dígitos para mês do extra dia 4 para ano ano com quatro dígitos então essas informações a gente vai chamar de domínio de dados claro tudo pode ser diferente do tac como a gente discutiu sobre o
cpf fazer de forma diferente também tudo vai depender da análise que você quiser na sua modelagem a bottle isso neste vídeo a gente falou em um pouquinho sobre as chaves a gente se detalhou um pouco melhor chave primária chave estrangeiro introduzir leve o conceito de domínio de dados a gente vai se aprofundar mais nesse assunto futuramente não estiver amarrado aos poucos esses conceitos todos modelagem porque tem muita coisa que a gente vê muita coisa para aprender e os conselhos eles ficam um pouco espaçosas feitos a gente vai marcando aos pouquinhos e aí a partir dos
próximos 20 a gente vai ver esses assuntos aqui vamos falar sobre cardinale idade também é importante mostrar de agrama são paulo sobre as restrições de integridade dependências criar um cenário de dados e aprender a fazer a normalização dos dados então é isso espero que tenham gostado aproveite para se inscrever aqui no canal da voz um treinamento e também para visitar uma sua de site que é o www.goojje.com treinamentos ponto com.br obrigado e até a próxima