SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
Bases de dados: Tabelas e chaves primárias
Carlos Santos
LabMM 4 - NTC - DeCA - UA
Aula 03, 21-02-2013
Tipos de dados e sua parametrização
MySQL Worksbench
Parametrização

(PK) PRIMARY KEY

  • Transforma a coluna numa chave primária
  • Nessa coluna não poderão existir valores nulos ou repetidos
  • Identifica de forma unívoca cada novo registo na tabela

(NN) NOT NULL
  • Nessa coluna não poderão existir valores nulos/vazios

(UQ) UNIQUE
  • Na coluna todos os valores serão únicos (com exceção dos nulos que se
    poderão repetir)
Parametrização

(ZF) ZEROFILL

  • Preenche com zeros à esquerda a representação de um valor numérico
     • 5 -> 000005

(AI) AUTO INCREMENT
  • Auto incrementa o valor inteiro que será armazenado na coluna a cada
    novo registo (último valor +1)
  • Usado normalmente com chaves primárias (PK)

(BIN) BINARY
  • Usado com os tipos CHAR e VARCHAR
Parametrização

Default

  • Define um valor por defeito para a coluna, caso não seja introduzido
    qualquer valor

(UN) UNSIGNED
  • Permite armazenar apenas valores positivos (sem sinal) do tipo de dados
    selecionado
Chaves primárias (PK)

Regra Nr. 2 (Codd) – Garantia de acesso

  • Qualquer e todo o dado armazenado numa base de dados relacional tem
    que ser garantidamente acessível através de uma combinação única de
    nome da tabela, valor da chave primária e nome da coluna (campo).

       id      nMec         Nome       Apelido      AnoEntradaUA   DataNascimento

       1       23594        João          Gomes         2002         10-04-1978

       2       34921        Lurdes        Costa         2008         19-02-1980

       3       33482       Manuel         Martins       2007         23-03-1981

       4       18923         Ana          Lopes         1995         08-12-1977


  • Todas as tabelas têm que possuir uma chave primária
  • Simples (uma coluna) ou Composta (associação de múltiplas colunas)
  • Todos os valores de uma chave primária têm que ser distintos e não
    nulos
Quais os erros?

    id    nMec      Nome       Apelido   AnoEntradaUA   DataNascimento



     1    23594     João       Gomes         2002         10-04-1978



    20    34921    Lurdes       Costa        2008         19-02-1980



     3    33482    Manuel      Martins       2007         23-03-1981



     4               Ana       Lopes         1995         08-12-1977



     3    22111   Bernardete   Aveiro        2004         04-12-1980



          43000     Marco      António       2000         24-10-1985
Quais os erros?

    id    nMec      Nome       Apelido   AnoEntradaUA   DataNascimento



     1    23594     João       Gomes         2002         10-04-1978



    20    34921    Lurdes       Costa        2008         19-02-1980



     3    33482    Manuel      Martins       2007         23-03-1981



     4     OK        Ana       Lopes         1995         08-12-1977



     3    22111   Bernardete   Aveiro        2004         04-12-1980



    NOK   43000     Marco      António       2000         24-10-1985
Chaves primárias (PK)

Como é que podemos obter uma boa chave primária?

  • Gestão automática através do SGBDR
     • Auto Increment no MySQL

Verificar se alguns dos campos da tabela têm as características
necessárias para serem considerados boas chaves primárias (chaves
candidatas)
  • Número de BI?
  • Número mecanográfico da UA?
  • Email da UA?
  • Número de telefone?
Chaves primárias (PK)

Valores únicos e não nulos não implicam que uma chave primária seja
constituída apenas por um campo da tabela!
  • A chave primária de uma tabela pode ser construída pela associação de
    vários campos (normalmente não se utilizam mais do que 2)
     • Código postal (3810-193)?
  • Como regra geral, podemos afirmar que é preferível evitar criar chaves
    primárias a partir de vários campos. No entanto, iremos verificar que em
    casos especiais a sua utilização é essencial!
Modela uma tabela

Identificar a entidade/conceito, cujos dados irão ser armazenados

Identificar as propriedades que caracterizam a entidade e que devem ser
armazenadas

  • Exemplo: Tabela para armazenar alunos da UA
     • Entidade: Aluno da UA
     • Propriedades: Características que descrevem um aluno da UA

                Aluno
              NumMec
                Nome
               Apelido
            AnoEntradaUA
           DataNascimento
Modelar uma tabela (dicas)

Perguntar sempre:

  • Que dados quero armazenar na tabela?
  • Que dados quero extrair da tabela?

Garantir a consistência dos dados
  • Escolher o tipo de dados mais adequado para cada coluna
  • Parametrizar os dados que irão ser armazenados em cada coluna

Não armazenar dados redundantes
  • Não armazenar dados que possam ser calculados através de outros
    existentes na tabela (ou na BD)
  • Otimizar o armazenamento de dados que se repitam frequentemente...
BD com uma única tabela (Problemas)

Narrativa

  • Armazenar todas as encomendas de uma loja de decoração, sendo
    necessário registar o nome do vendedor, a data da encomenda, o nome
    do cliente e o custo da encomenda


            Encomenda
              NrEnco
            NomeVend
             DataEnco
            NomeCliente
        CustoEncomenda
Será uma solução adequada?

                            Encomenda

 NrEnco    NomeVend        DataEnco       NomeCliente        CustoEnco

   1       João Tomás      01-03-2000   Sr. António Mateus      200

   2       Maria Costa     01-06-1999    António Mateus         150

   3       Maria Costa     01-06-1999     Manuel Lopes          100

   4      Manuel Ribeiro   01-10-2002   Prof. Ant. Mateus       300

   5         Maria C.      01-06-1999      Luis Sousa           200
Será uma solução adequada?

                            Encomenda

 NrEnco    NomeVend        DataEnco       NomeCliente        CustoEnco

   1       João Tomás      01-03-2000   Sr. António Mateus      200

   2       Maria Costa     01-06-1999    António Mateus         150

   3       Maria Costa     01-06-1999     Manuel Lopes          100

   4      Manuel Ribeiro   01-10-2002   Prof. Ant. Mateus       300

   5         Maria C.      01-06-1999      Luis Sousa           200
Problemas com tabelas únicas

Informação redundante

  • Informação é repetida na tabela
  • Ocupa mais espaço e potencia consultas com respostas mais lentas
  • Torna o processo de inserir novos dados repetitivo e demorado

Erros de tipografia
  • Por lapso os dados podem ser introduzidos com erros
  • Diferentes operadores podem tratar a mesma informação de modo
    distinto

Atualizar ou modificar informação
  • Operações de alteração ou modificação de dados podem ser difíceis de
    implementar para dados que são repetidos muitas vezes na tabela
Solução - BD com várias tabelas!

Narrativa: identificar entidades/objetos (procurar nomes)

  • Armazenar todas as encomendas de uma loja de decoração, sendo
    necessário registar o nome do vendedor, a data da encomenda, o nome
    do cliente e o custo da encomenda
Solução - BD com várias tabelas!
                                          Encomenda
               NrEnco            NrVend    DataEnco                NrCli   CustoEnco
                  1                1      01-­‐03-­‐2000             1       200
                  2                2      01-­‐06-­‐1999             1       150
                  3                2      01-­‐06-­‐1999             2       100
                  4                3      01-­‐10-­‐2002             1       300
                  5                2      01-­‐06-­‐1999             3       200




  Vendedor                                                 Cliente
  NrVend     NomeVend                                      NrCli            NomeCliente
  1          João	
  Tomás                                 1                António	
  	
  Mateus
  2          Maria	
  Costa                                2                Manuel	
  Lopes
  3          Manuel	
  Ribeiro                             3                Luís	
  Sousa
Problemas foram resolvidos?

Informação redundante

  • A informação de cada vendedor é armazenada apenas uma vez na tabela
    VENDEDORES
  • Para cada encomenda o espaço ocupado para armazenar a informação do
    vendedor é muito reduzido
  • Para cada encomenda, caso sejam adotadas as estratégias adequadas,
    identificar o vendedor é um processo rápido e simples

Erros de tipografia

  • Se existirem erros eles apenas são introduzidos uma vez
  • Possibilidade de erros introduzidos por diferentes operadores é reduzida

Atualizar ou modificar informação

  • Qualquer tipo de alteração relativa à informação dos vendedores apenas tem
    que ser realizada num único local, sendo por isso um processo simples e rápido
    de realizar

Weitere ähnliche Inhalte

Mehr von Carlos Santos

Is AI the Spice of our future?
Is AI the Spice of our future?Is AI the Spice of our future?
Is AI the Spice of our future?Carlos Santos
 
Mentoria entre pares de estudantes para estudantes
Mentoria entre pares de estudantes para estudantesMentoria entre pares de estudantes para estudantes
Mentoria entre pares de estudantes para estudantesCarlos Santos
 
1º Encontro Científico TCEdu
1º Encontro Científico TCEdu1º Encontro Científico TCEdu
1º Encontro Científico TCEduCarlos Santos
 
Tecnologias da Comunicação em Educação 2018: Aula inicial
Tecnologias da Comunicação em Educação 2018: Aula inicialTecnologias da Comunicação em Educação 2018: Aula inicial
Tecnologias da Comunicação em Educação 2018: Aula inicialCarlos Santos
 
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunosAVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunosCarlos Santos
 
AVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunosAVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunosCarlos Santos
 
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...Carlos Santos
 
Tecnologias da Comunicação em Educação: trabalho prático
Tecnologias da Comunicação em Educação: trabalho práticoTecnologias da Comunicação em Educação: trabalho prático
Tecnologias da Comunicação em Educação: trabalho práticoCarlos Santos
 
SAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning EnvironmentSAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning EnvironmentCarlos Santos
 
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO CampusRepensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO CampusCarlos Santos
 
A technological approach to Open and Social Learning: 
the SAPO Campus project
A technological approach to Open and Social Learning: 
the SAPO Campus projectA technological approach to Open and Social Learning: 
the SAPO Campus project
A technological approach to Open and Social Learning: 
the SAPO Campus projectCarlos Santos
 
SAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativoSAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativoCarlos Santos
 
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCARepensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCACarlos Santos
 
T20_LM3: APIs e Scoreoid
T20_LM3: APIs e ScoreoidT20_LM3: APIs e Scoreoid
T20_LM3: APIs e ScoreoidCarlos Santos
 
T19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificaçãoT19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificaçãoCarlos Santos
 
T17_LM3: Erros/Debug (2013-2014)
T17_LM3: Erros/Debug (2013-2014)T17_LM3: Erros/Debug (2013-2014)
T17_LM3: Erros/Debug (2013-2014)Carlos Santos
 
T15_T16_LM3: Mais objetos do Javascript (2013-2014)
T15_T16_LM3: Mais objetos do Javascript (2013-2014)T15_T16_LM3: Mais objetos do Javascript (2013-2014)
T15_T16_LM3: Mais objetos do Javascript (2013-2014)Carlos Santos
 

Mehr von Carlos Santos (20)

Is AI the Spice of our future?
Is AI the Spice of our future?Is AI the Spice of our future?
Is AI the Spice of our future?
 
Mentoria entre pares de estudantes para estudantes
Mentoria entre pares de estudantes para estudantesMentoria entre pares de estudantes para estudantes
Mentoria entre pares de estudantes para estudantes
 
1º Encontro Científico TCEdu
1º Encontro Científico TCEdu1º Encontro Científico TCEdu
1º Encontro Científico TCEdu
 
Tecnologias da Comunicação em Educação 2018: Aula inicial
Tecnologias da Comunicação em Educação 2018: Aula inicialTecnologias da Comunicação em Educação 2018: Aula inicial
Tecnologias da Comunicação em Educação 2018: Aula inicial
 
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunosAVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
 
AVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunosAVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunos
 
chmod 777 education
chmod 777 educationchmod 777 education
chmod 777 education
 
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
 
Tecnologias da Comunicação em Educação: trabalho prático
Tecnologias da Comunicação em Educação: trabalho práticoTecnologias da Comunicação em Educação: trabalho prático
Tecnologias da Comunicação em Educação: trabalho prático
 
chmod 777 education
chmod 777 educationchmod 777 education
chmod 777 education
 
SAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning EnvironmentSAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning Environment
 
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO CampusRepensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
 
A technological approach to Open and Social Learning: 
the SAPO Campus project
A technological approach to Open and Social Learning: 
the SAPO Campus projectA technological approach to Open and Social Learning: 
the SAPO Campus project
A technological approach to Open and Social Learning: 
the SAPO Campus project
 
SAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativoSAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativo
 
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCARepensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
 
T20_LM3: APIs e Scoreoid
T20_LM3: APIs e ScoreoidT20_LM3: APIs e Scoreoid
T20_LM3: APIs e Scoreoid
 
T19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificaçãoT19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificação
 
T18_LM3: Ajax
T18_LM3: AjaxT18_LM3: Ajax
T18_LM3: Ajax
 
T17_LM3: Erros/Debug (2013-2014)
T17_LM3: Erros/Debug (2013-2014)T17_LM3: Erros/Debug (2013-2014)
T17_LM3: Erros/Debug (2013-2014)
 
T15_T16_LM3: Mais objetos do Javascript (2013-2014)
T15_T16_LM3: Mais objetos do Javascript (2013-2014)T15_T16_LM3: Mais objetos do Javascript (2013-2014)
T15_T16_LM3: Mais objetos do Javascript (2013-2014)
 

Kürzlich hochgeladen

GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docPauloHenriqueGarciaM
 
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptxSlides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Apresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União EuropeiaApresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União EuropeiaCentro Jacques Delors
 
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdfMESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxMarcosLemes28
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.denisecompasso2
 
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...azulassessoria9
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...azulassessoria9
 
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdfRepública Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdfLidianeLill2
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfAutonoma
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...AnaAugustaLagesZuqui
 
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de LedAula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de LedJaquelineBertagliaCe
 
Falando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introdFalando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introdLeonardoDeOliveiraLu2
 
INTERTEXTUALIDADE atividade muito boa para
INTERTEXTUALIDADE   atividade muito boa paraINTERTEXTUALIDADE   atividade muito boa para
INTERTEXTUALIDADE atividade muito boa paraAndreaPassosMascaren
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmicolourivalcaburite
 
Questões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LPQuestões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LPEli Gonçalves
 
AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022LeandroSilva126216
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubeladrianaguedesbatista
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxFlviaGomes64
 

Kürzlich hochgeladen (20)

GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptxSlides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
 
Apresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União EuropeiaApresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União Europeia
 
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdfMESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
 
Novena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João EudesNovena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João Eudes
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.
 
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdfRepública Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
 
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de LedAula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
 
Falando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introdFalando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introd
 
INTERTEXTUALIDADE atividade muito boa para
INTERTEXTUALIDADE   atividade muito boa paraINTERTEXTUALIDADE   atividade muito boa para
INTERTEXTUALIDADE atividade muito boa para
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 
Questões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LPQuestões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LP
 
AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubel
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 

LabMM4 (T03 - 12/13) - Chaves primárias

  • 1. Bases de dados: Tabelas e chaves primárias Carlos Santos LabMM 4 - NTC - DeCA - UA Aula 03, 21-02-2013
  • 2. Tipos de dados e sua parametrização MySQL Worksbench
  • 3. Parametrização (PK) PRIMARY KEY • Transforma a coluna numa chave primária • Nessa coluna não poderão existir valores nulos ou repetidos • Identifica de forma unívoca cada novo registo na tabela (NN) NOT NULL • Nessa coluna não poderão existir valores nulos/vazios (UQ) UNIQUE • Na coluna todos os valores serão únicos (com exceção dos nulos que se poderão repetir)
  • 4. Parametrização (ZF) ZEROFILL • Preenche com zeros à esquerda a representação de um valor numérico • 5 -> 000005 (AI) AUTO INCREMENT • Auto incrementa o valor inteiro que será armazenado na coluna a cada novo registo (último valor +1) • Usado normalmente com chaves primárias (PK) (BIN) BINARY • Usado com os tipos CHAR e VARCHAR
  • 5. Parametrização Default • Define um valor por defeito para a coluna, caso não seja introduzido qualquer valor (UN) UNSIGNED • Permite armazenar apenas valores positivos (sem sinal) do tipo de dados selecionado
  • 6. Chaves primárias (PK) Regra Nr. 2 (Codd) – Garantia de acesso • Qualquer e todo o dado armazenado numa base de dados relacional tem que ser garantidamente acessível através de uma combinação única de nome da tabela, valor da chave primária e nome da coluna (campo). id nMec Nome Apelido AnoEntradaUA DataNascimento 1 23594 João Gomes 2002 10-04-1978 2 34921 Lurdes Costa 2008 19-02-1980 3 33482 Manuel Martins 2007 23-03-1981 4 18923 Ana Lopes 1995 08-12-1977 • Todas as tabelas têm que possuir uma chave primária • Simples (uma coluna) ou Composta (associação de múltiplas colunas) • Todos os valores de uma chave primária têm que ser distintos e não nulos
  • 7. Quais os erros? id nMec Nome Apelido AnoEntradaUA DataNascimento 1 23594 João Gomes 2002 10-04-1978 20 34921 Lurdes Costa 2008 19-02-1980 3 33482 Manuel Martins 2007 23-03-1981 4 Ana Lopes 1995 08-12-1977 3 22111 Bernardete Aveiro 2004 04-12-1980 43000 Marco António 2000 24-10-1985
  • 8. Quais os erros? id nMec Nome Apelido AnoEntradaUA DataNascimento 1 23594 João Gomes 2002 10-04-1978 20 34921 Lurdes Costa 2008 19-02-1980 3 33482 Manuel Martins 2007 23-03-1981 4 OK Ana Lopes 1995 08-12-1977 3 22111 Bernardete Aveiro 2004 04-12-1980 NOK 43000 Marco António 2000 24-10-1985
  • 9. Chaves primárias (PK) Como é que podemos obter uma boa chave primária? • Gestão automática através do SGBDR • Auto Increment no MySQL Verificar se alguns dos campos da tabela têm as características necessárias para serem considerados boas chaves primárias (chaves candidatas) • Número de BI? • Número mecanográfico da UA? • Email da UA? • Número de telefone?
  • 10. Chaves primárias (PK) Valores únicos e não nulos não implicam que uma chave primária seja constituída apenas por um campo da tabela! • A chave primária de uma tabela pode ser construída pela associação de vários campos (normalmente não se utilizam mais do que 2) • Código postal (3810-193)? • Como regra geral, podemos afirmar que é preferível evitar criar chaves primárias a partir de vários campos. No entanto, iremos verificar que em casos especiais a sua utilização é essencial!
  • 11. Modela uma tabela Identificar a entidade/conceito, cujos dados irão ser armazenados Identificar as propriedades que caracterizam a entidade e que devem ser armazenadas • Exemplo: Tabela para armazenar alunos da UA • Entidade: Aluno da UA • Propriedades: Características que descrevem um aluno da UA Aluno NumMec Nome Apelido AnoEntradaUA DataNascimento
  • 12. Modelar uma tabela (dicas) Perguntar sempre: • Que dados quero armazenar na tabela? • Que dados quero extrair da tabela? Garantir a consistência dos dados • Escolher o tipo de dados mais adequado para cada coluna • Parametrizar os dados que irão ser armazenados em cada coluna Não armazenar dados redundantes • Não armazenar dados que possam ser calculados através de outros existentes na tabela (ou na BD) • Otimizar o armazenamento de dados que se repitam frequentemente...
  • 13. BD com uma única tabela (Problemas) Narrativa • Armazenar todas as encomendas de uma loja de decoração, sendo necessário registar o nome do vendedor, a data da encomenda, o nome do cliente e o custo da encomenda Encomenda NrEnco NomeVend DataEnco NomeCliente CustoEncomenda
  • 14. Será uma solução adequada? Encomenda NrEnco NomeVend DataEnco NomeCliente CustoEnco 1 João Tomás 01-03-2000 Sr. António Mateus 200 2 Maria Costa 01-06-1999 António Mateus 150 3 Maria Costa 01-06-1999 Manuel Lopes 100 4 Manuel Ribeiro 01-10-2002 Prof. Ant. Mateus 300 5 Maria C. 01-06-1999 Luis Sousa 200
  • 15. Será uma solução adequada? Encomenda NrEnco NomeVend DataEnco NomeCliente CustoEnco 1 João Tomás 01-03-2000 Sr. António Mateus 200 2 Maria Costa 01-06-1999 António Mateus 150 3 Maria Costa 01-06-1999 Manuel Lopes 100 4 Manuel Ribeiro 01-10-2002 Prof. Ant. Mateus 300 5 Maria C. 01-06-1999 Luis Sousa 200
  • 16. Problemas com tabelas únicas Informação redundante • Informação é repetida na tabela • Ocupa mais espaço e potencia consultas com respostas mais lentas • Torna o processo de inserir novos dados repetitivo e demorado Erros de tipografia • Por lapso os dados podem ser introduzidos com erros • Diferentes operadores podem tratar a mesma informação de modo distinto Atualizar ou modificar informação • Operações de alteração ou modificação de dados podem ser difíceis de implementar para dados que são repetidos muitas vezes na tabela
  • 17. Solução - BD com várias tabelas! Narrativa: identificar entidades/objetos (procurar nomes) • Armazenar todas as encomendas de uma loja de decoração, sendo necessário registar o nome do vendedor, a data da encomenda, o nome do cliente e o custo da encomenda
  • 18. Solução - BD com várias tabelas! Encomenda NrEnco NrVend DataEnco NrCli CustoEnco 1 1 01-­‐03-­‐2000 1 200 2 2 01-­‐06-­‐1999 1 150 3 2 01-­‐06-­‐1999 2 100 4 3 01-­‐10-­‐2002 1 300 5 2 01-­‐06-­‐1999 3 200 Vendedor Cliente NrVend NomeVend NrCli NomeCliente 1 João  Tomás 1 António    Mateus 2 Maria  Costa 2 Manuel  Lopes 3 Manuel  Ribeiro 3 Luís  Sousa
  • 19. Problemas foram resolvidos? Informação redundante • A informação de cada vendedor é armazenada apenas uma vez na tabela VENDEDORES • Para cada encomenda o espaço ocupado para armazenar a informação do vendedor é muito reduzido • Para cada encomenda, caso sejam adotadas as estratégias adequadas, identificar o vendedor é um processo rápido e simples Erros de tipografia • Se existirem erros eles apenas são introduzidos uma vez • Possibilidade de erros introduzidos por diferentes operadores é reduzida Atualizar ou modificar informação • Qualquer tipo de alteração relativa à informação dos vendedores apenas tem que ser realizada num único local, sendo por isso um processo simples e rápido de realizar