SlideShare una empresa de Scribd logo
1 de 14
Descargar para leer sin conexión
Bases de dados: identify e non-identify, Relações
[1:1], MySQL Workbench
Carlos Santos
LabMM 5 - NTC - DeCA - UA
Aula 05, 01-03-2012
Um para muitos [1:M] - identify

  • Cada cliente poderá realizar várias encomendas
  • Cada encomenda tem que ser realizada apenas por um cliente




[1:n] Identifying Relationship ________                   PK Composta

  • Não pode existir uma encomenda sem um cliente
  • FK Clientes_idCliente não pode conter nulos pois pertence à PK
  • Pode existir um cliente sem uma encomenda
  • PK IdCliente pode conter valores inexistentes na FK Clientes_idCliente

Identifying -> Existe dependência entre as entidades!
Um para muitos [1:M] - identify




           Clientes                            Encomendas
   idCliente     nomeCliente   nrEncomenda   dataEncomenda     Clientes_idCliente
      1                João         1         2010-­‐02-­‐23           1
      2               Maria         2         2010-­‐04-­‐11           2

      3               Manuel        3         2010-­‐03-­‐13           2
                                    4         2010-­‐05-­‐21           1

                                    1         2010-­‐06-­‐25           2

NÃO PODEM existir PARES REPETIDOS na PK composta da tabela Encomendas

MAS PODEM existir valores repetidos em cada uma das colunas que constituem a
PK composta... (qual o problema?)
Um para muitos [1:M] - identify

                                             PROBLEMA:
                                             Tal como é mostrado
                                             PODEM existir vários
                                             clientes a realizar a mesma
                                             encomenda!

           Clientes                              Encomendas
   idCliente     nomeCliente   nrEncomenda    dataEncomenda      Clientes_idCliente
      1                João         1           2010-­‐02-­‐23           1
      2               Maria         2           2010-­‐04-­‐11           2

      3               Manuel        3           2010-­‐03-­‐13           2
                                    4           2010-­‐05-­‐21           1

                                    1           2010-­‐06-­‐25           2




SOLUÇÃO: configurar nrEncomenda com AUTO INCREMENT (AI) ou com UNIQUE
Um para um [1:1]

Novo cenário: uma empresa tem necessidade de gerir a ocupação de
gabinetes por administradores, sendo que:
  • Cada administrador possui apenas um gabinete
  • Cada gabinete está atribuído apenas a um administrador


              Administradores                  Gabinetes
             idAdmin                       idGabinete
             NomeAdmin                     Localizacao
             ApelidoAdmin
Um para um [1:1]

  • Cada administrador possui apenas um gabinete
  • Cada gabinete está atribuído apenas a um administrador


                                                         FK que também é PK!




1:1 Identifying Relationship ________

  • Pode existir um administrador sem um gabinete
     • PK IdAdministrador pode conter valores que não existem ainda na FK
       Administradores_idAdministrador
  • Não pode existir um gabinete sem um administrador
     • FK Administradores_idAdministrador não pode conter nulos pois também
       é PK
Existe dependência entre os administradores e os gabinetes!
Um para um [1:1]

  • Cada administrador possui apenas um gabinete
  • Cada gabinete está atribuído apenas a um administrador


                                                          FK que também é PK!




Problema: O que acontece se existirem gabinetes vazios?
Um para um [1:1]

Solução: Criar uma tabela de relação que torne as entidades independentes.




Pode existir um administrador sem um gabinete
  • PK IdAdministrador pode conter valores que não existem ainda na FK
    Administradores_idAdministrador
Pode existir um gabinete sem um administrador
  • PK IdGabinete pode conter valores que não existem ainda na FK
    Gabinetes_idGabinete

A tabela de relação Administradores_has_Gabinetes conterá apenas as
situações em que a um administrador foi atribuído um gabinete
Um para um [1:1]

Para evitar valores repetidos nas FK que constituem a PK composta da
tabela de relação configura-se com o parâmetro UNIQUE na definição
dessas colunas




         Administradores
                                                                                            Gabinetes
   idAdministrador    NomeAdmin
                                                                                idGabinete        Localizacao
         1                  João                                                        1               101
         2                 Maria                                                        2               102
         3                 Manuel                                                       3               103

                                            Administradores_Gabinetes
                               Administradores_idAdministrador   Gabinetes_idGabinete
                                             1                            2
                                             2                            3
MySQL Workbench

Mais importante que tudo... o MySQL Workbench não é um SGBDR!

  • É uma aplicação com várias ferramentas qye facilitam algumas tarefas
    inerentes ao desenvolvimento e manutenação de BDs e SGBRs
  • O MySQL Server é que é um SGBDR

Ferramentas

  • Server Administration
  • Data Modeling
  • SQL Development
MySQL Workbench: Data modeling

Diagrama Enhanced Entity-Relationship (EER)

  • Modelação da BD: entidades, propriedades e suas relações

Physical Schemata

  • Schema: conjunto de objectos e regras que estruturam a BD
  • A ter em atenção:
     • Verificar se a Collation de todas as tabelas está definida como
       
   
 
 utf8 - utf8_general_ci (suporte caracteres PT)
     • Nome do schema deve ser igual ao nome da BD destino
     • Verificar se o Engine de todas as tabelas está definido como InnoDB

Exportar o schema da BD
  • File -> Export -> Forward Engineer SQL CREATE Script…
  • Gera um ficheiro SQL com o código necessário para a criação da BD
MySQL Workbench: Data modeling: Export




                           Antes de criar, apaga objetos que já
                           existam com o mesmo nome




                    Mostra eventuais mensagens de erro/
                    alerta durante o processo de criação


              Permite inserir dados na BD no
              momento da sua criação
MySQL Workbench: Data modeling: Export

                              O que é e para que serve?
MySQL Workbench: SQL Development

Para que serve?

  • Ligação a uma base de dados
  • Executar SQL Queries
  • Executar SQL Scripts
  • Editar dados de tabelas
     • alternativa: phpMyAdmin

Más contenido relacionado

Más de 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
 
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)Carlos 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
 

Más de 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
 
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
 
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)
 

Último

Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticash5kpmr7w7
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Cabiamar
 
Caderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfCaderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfJuliana Barbosa
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptxJssicaCassiano2
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...marcelafinkler
 
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
 
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
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxMarcosLemes28
 
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
 
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
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do séculoBiblioteca UCS
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...azulassessoria9
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Centro Jacques Delors
 
INTERTEXTUALIDADE atividade muito boa para
INTERTEXTUALIDADE   atividade muito boa paraINTERTEXTUALIDADE   atividade muito boa para
INTERTEXTUALIDADE atividade muito boa paraAndreaPassosMascaren
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...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
 
3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptxMarlene Cunhada
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...andreiavys
 

Último (20)

Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024
 
Caderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfCaderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdf
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
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 ...
 
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
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptx
 
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
 
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
 
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...
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)
 
INTERTEXTUALIDADE atividade muito boa para
INTERTEXTUALIDADE   atividade muito boa paraINTERTEXTUALIDADE   atividade muito boa para
INTERTEXTUALIDADE atividade muito boa para
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
 
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...
 
3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 

05 LabMM4 - Bases de dados

  • 1. Bases de dados: identify e non-identify, Relações [1:1], MySQL Workbench Carlos Santos LabMM 5 - NTC - DeCA - UA Aula 05, 01-03-2012
  • 2. Um para muitos [1:M] - identify • Cada cliente poderá realizar várias encomendas • Cada encomenda tem que ser realizada apenas por um cliente [1:n] Identifying Relationship ________ PK Composta • Não pode existir uma encomenda sem um cliente • FK Clientes_idCliente não pode conter nulos pois pertence à PK • Pode existir um cliente sem uma encomenda • PK IdCliente pode conter valores inexistentes na FK Clientes_idCliente Identifying -> Existe dependência entre as entidades!
  • 3. Um para muitos [1:M] - identify Clientes Encomendas idCliente nomeCliente nrEncomenda dataEncomenda Clientes_idCliente 1 João 1 2010-­‐02-­‐23 1 2 Maria 2 2010-­‐04-­‐11 2 3 Manuel 3 2010-­‐03-­‐13 2 4 2010-­‐05-­‐21 1 1 2010-­‐06-­‐25 2 NÃO PODEM existir PARES REPETIDOS na PK composta da tabela Encomendas MAS PODEM existir valores repetidos em cada uma das colunas que constituem a PK composta... (qual o problema?)
  • 4. Um para muitos [1:M] - identify PROBLEMA: Tal como é mostrado PODEM existir vários clientes a realizar a mesma encomenda! Clientes Encomendas idCliente nomeCliente nrEncomenda dataEncomenda Clientes_idCliente 1 João 1 2010-­‐02-­‐23 1 2 Maria 2 2010-­‐04-­‐11 2 3 Manuel 3 2010-­‐03-­‐13 2 4 2010-­‐05-­‐21 1 1 2010-­‐06-­‐25 2 SOLUÇÃO: configurar nrEncomenda com AUTO INCREMENT (AI) ou com UNIQUE
  • 5. Um para um [1:1] Novo cenário: uma empresa tem necessidade de gerir a ocupação de gabinetes por administradores, sendo que: • Cada administrador possui apenas um gabinete • Cada gabinete está atribuído apenas a um administrador Administradores Gabinetes idAdmin idGabinete NomeAdmin Localizacao ApelidoAdmin
  • 6. Um para um [1:1] • Cada administrador possui apenas um gabinete • Cada gabinete está atribuído apenas a um administrador FK que também é PK! 1:1 Identifying Relationship ________ • Pode existir um administrador sem um gabinete • PK IdAdministrador pode conter valores que não existem ainda na FK Administradores_idAdministrador • Não pode existir um gabinete sem um administrador • FK Administradores_idAdministrador não pode conter nulos pois também é PK Existe dependência entre os administradores e os gabinetes!
  • 7. Um para um [1:1] • Cada administrador possui apenas um gabinete • Cada gabinete está atribuído apenas a um administrador FK que também é PK! Problema: O que acontece se existirem gabinetes vazios?
  • 8. Um para um [1:1] Solução: Criar uma tabela de relação que torne as entidades independentes. Pode existir um administrador sem um gabinete • PK IdAdministrador pode conter valores que não existem ainda na FK Administradores_idAdministrador Pode existir um gabinete sem um administrador • PK IdGabinete pode conter valores que não existem ainda na FK Gabinetes_idGabinete A tabela de relação Administradores_has_Gabinetes conterá apenas as situações em que a um administrador foi atribuído um gabinete
  • 9. Um para um [1:1] Para evitar valores repetidos nas FK que constituem a PK composta da tabela de relação configura-se com o parâmetro UNIQUE na definição dessas colunas Administradores Gabinetes idAdministrador NomeAdmin idGabinete Localizacao 1 João 1 101 2 Maria 2 102 3 Manuel 3 103 Administradores_Gabinetes Administradores_idAdministrador Gabinetes_idGabinete 1 2 2 3
  • 10. MySQL Workbench Mais importante que tudo... o MySQL Workbench não é um SGBDR! • É uma aplicação com várias ferramentas qye facilitam algumas tarefas inerentes ao desenvolvimento e manutenação de BDs e SGBRs • O MySQL Server é que é um SGBDR Ferramentas • Server Administration • Data Modeling • SQL Development
  • 11. MySQL Workbench: Data modeling Diagrama Enhanced Entity-Relationship (EER) • Modelação da BD: entidades, propriedades e suas relações Physical Schemata • Schema: conjunto de objectos e regras que estruturam a BD • A ter em atenção: • Verificar se a Collation de todas as tabelas está definida como utf8 - utf8_general_ci (suporte caracteres PT) • Nome do schema deve ser igual ao nome da BD destino • Verificar se o Engine de todas as tabelas está definido como InnoDB Exportar o schema da BD • File -> Export -> Forward Engineer SQL CREATE Script… • Gera um ficheiro SQL com o código necessário para a criação da BD
  • 12. MySQL Workbench: Data modeling: Export Antes de criar, apaga objetos que já existam com o mesmo nome Mostra eventuais mensagens de erro/ alerta durante o processo de criação Permite inserir dados na BD no momento da sua criação
  • 13. MySQL Workbench: Data modeling: Export O que é e para que serve?
  • 14. MySQL Workbench: SQL Development Para que serve? • Ligação a uma base de dados • Executar SQL Queries • Executar SQL Scripts • Editar dados de tabelas • alternativa: phpMyAdmin