1) O documento discute os processos de combinar dados de várias tabelas em uma query através de relações (joins) entre elas, como por exemplo listar empréstimos indicando o nome do amigo.
2) São explicados diferentes tipos de joins (inner, outer) que permitem obter registros relacionados e não relacionados entre tabelas.
3) O conceito de especialização/generalização é explicado no contexto de catalogar publicações em uma biblioteca com características comuns armazenadas em uma tabela geral e características específicas em tabel
O documento discute comandos SQL para pesquisas em múltiplas tabelas, incluindo união de tabelas usando cláusulas WHERE para combinar chaves primárias e estrangeiras. Exemplos demonstram uniões regulares (inner join) entre duas ou mais tabelas para responder perguntas sobre clientes, pedidos, produtos e vendedores.
O documento discute os principais componentes de um computador pessoal, incluindo gabinetes, monitores, periféricos e dispositivos de armazenamento. Ele fornece detalhes históricos sobre como os computadores evoluíram de máquinas grandes para dispositivos pessoais menores e mais acessíveis. Também descreve os principais componentes internos e periféricos de um PC moderno, como drives de disco, teclado, mouse e impressora.
O disco rígido é a parte do computador onde os dados são armazenados de forma não-volátil, permitindo que programas e arquivos sejam carregados quando o computador é ligado. Existem diferentes tipos de discos rígidos, incluindo IDE, SATA, SCSI e SSD. O disco rígido é uma memória secundária essencial para executar novamente programas e acessar dados armazenados.
O documento discute a álgebra de Boole, uma estrutura matemática formal que caracteriza propriedades comuns entre a lógica proposicional e a teoria dos conjuntos. A álgebra de Boole define operações e propriedades que qualquer modelo matemático que compartilhe essas características segue, permitindo generalizações entre contextos.
O documento descreve a história e funcionamento dos discos rígidos. Foi construído o primeiro disco rígido pela IBM em 1956 com capacidade de 5 megabytes. Atualmente os discos rígidos armazenam terabytes de dados usando cabeças magnéticas para gravar bits 0s e 1s em camadas magnéticas finas nos discos giratórios. A formatação cria estruturas lógicas e físicas para organizar a escrita e leitura de dados nos discos.
O documento descreve a evolução dos discos rígidos desde os anos 1950 até os dias atuais, mencionando modelos históricos como o RAMAC 305 de 1956, o 3380 da IBM que atingiu 1 GB em 1980, e o desenvolvimento de unidades cada vez menores culminando no MK2001MTN de 2005 com apenas 2 cm de diâmetro.
O documento descreve os princípios fundamentais da álgebra Booleana, incluindo postulados, teoremas e formas canônicas de representação de funções Booleanas.
O documento descreve os principais componentes e especificações de um disco rígido, incluindo pratos, braços, cabeças de leitura e gravação, divisões lógicas como pistas, setores e clusters. Explica também como os dados são gravados e lidos através da magnetização dos pratos em rotação.
O documento discute comandos SQL para pesquisas em múltiplas tabelas, incluindo união de tabelas usando cláusulas WHERE para combinar chaves primárias e estrangeiras. Exemplos demonstram uniões regulares (inner join) entre duas ou mais tabelas para responder perguntas sobre clientes, pedidos, produtos e vendedores.
O documento discute os principais componentes de um computador pessoal, incluindo gabinetes, monitores, periféricos e dispositivos de armazenamento. Ele fornece detalhes históricos sobre como os computadores evoluíram de máquinas grandes para dispositivos pessoais menores e mais acessíveis. Também descreve os principais componentes internos e periféricos de um PC moderno, como drives de disco, teclado, mouse e impressora.
O disco rígido é a parte do computador onde os dados são armazenados de forma não-volátil, permitindo que programas e arquivos sejam carregados quando o computador é ligado. Existem diferentes tipos de discos rígidos, incluindo IDE, SATA, SCSI e SSD. O disco rígido é uma memória secundária essencial para executar novamente programas e acessar dados armazenados.
O documento discute a álgebra de Boole, uma estrutura matemática formal que caracteriza propriedades comuns entre a lógica proposicional e a teoria dos conjuntos. A álgebra de Boole define operações e propriedades que qualquer modelo matemático que compartilhe essas características segue, permitindo generalizações entre contextos.
O documento descreve a história e funcionamento dos discos rígidos. Foi construído o primeiro disco rígido pela IBM em 1956 com capacidade de 5 megabytes. Atualmente os discos rígidos armazenam terabytes de dados usando cabeças magnéticas para gravar bits 0s e 1s em camadas magnéticas finas nos discos giratórios. A formatação cria estruturas lógicas e físicas para organizar a escrita e leitura de dados nos discos.
O documento descreve a evolução dos discos rígidos desde os anos 1950 até os dias atuais, mencionando modelos históricos como o RAMAC 305 de 1956, o 3380 da IBM que atingiu 1 GB em 1980, e o desenvolvimento de unidades cada vez menores culminando no MK2001MTN de 2005 com apenas 2 cm de diâmetro.
O documento descreve os princípios fundamentais da álgebra Booleana, incluindo postulados, teoremas e formas canônicas de representação de funções Booleanas.
O documento descreve os principais componentes e especificações de um disco rígido, incluindo pratos, braços, cabeças de leitura e gravação, divisões lógicas como pistas, setores e clusters. Explica também como os dados são gravados e lidos através da magnetização dos pratos em rotação.
Este documento explica os diferentes tipos de junções em SQL. Ele descreve junções de produto cartesiano, que combinam todas as linhas de duas tabelas; junções internas, que combinam linhas que possuem campos correspondentes; e junções externas, que mantêm linhas mesmo sem correspondências. O documento fornece exemplos de left, right e full outer joins.
O documento descreve a história e componentes dos discos rígidos. Começando com o primeiro disco rígido da IBM em 1956 com 4.36 MB de capacidade, até os modelos atuais com mais de 1 TB. Detalha também as partes internas como pratos, cabeças de leitura, placa lógica e interfaces como IDE, SATA eSCSI.
A álgebra de Boole estabeleceu um conjunto de símbolos matemáticos para representar a lógica formal e é aplicável ao projeto de circuitos lógicos digitais. Ela usa variáveis que podem assumir apenas os valores 0 ou 1 e operadores lógicos como AND, OR e NOT.
O documento discute sistemas numéricos, unidades de medida de bytes e a diferença entre dados e informações. Em particular, explica que (1) sistemas numéricos como binário, octal e hexadecimal são usados em computação, (2) bytes são conjuntos de 8 bits usados para medir armazenamento digital, e (3) dados se tornam informação quando organizados de forma significativa.
O documento descreve os principais componentes de um computador, incluindo o processador, memória, periféricos e barramento. Explica que o processador executa instruções armazenadas na memória para processar dados, enquanto os periféricos permitem a entrada e saída de dados através do barramento.
O documento discute sistemas de numeração, incluindo conceitos como número, numeral e algarismo. Apresenta sistemas numéricos posicionais e não posicionais, destacando o sistema binário usado em computadores. Explica as bases numéricas e conversões entre sistemas como decimal, binário e hexadecimal.
O documento fornece uma introdução básica sobre computadores e seus principais componentes. Explica que os computadores surgiram da necessidade de realizar cálculos numericos rapidamente e que a informática estuda o uso de máquinas para processar dados. Também define o que é um computador pessoal, sistema operacional e hardware, listando as principais peças como processador, placa-mãe e memória.
Uma curta apresentação sobre o impacto das tecnologias de Inteligência Artificial no contexto do ensino, baseanda numa analogia com o universo do Dune.
The slides have little text and it is complicated to understand the narrative. I'll give you an idea of the context of the subjects I'll be teaching and which are referred to in the slides:
BDTSS - databases and server-side technologies is an undergraduate course
Web Project is a discipline taught at the end of the first year of a master's degree
Mentoria entre pares de estudantes para estudantesCarlos Santos
Que transformações poderão acontecer quando os estudantes mentores têm a liberdade e responsabilidade de conceptualizar, preparar e realizar as sessões de mentoria para outros estudantes?
O ponto de partida para esta conversa é desafiar a refletir sobre estratégias de mentoria entre pares, que procurem explorar o potencial criativo e de inovação que existe em cada estudante. No entanto, para que esse potencial se possa revelar é indispensável que o professor tenha a capacidade de se colocar em segundo plano, apoiando e validando, mas dando espaço e liberdade para que os estudantes mentores assumam a liderança e responsabilidade pelo processo.
Nesta sessão vamos começar por partilhar uma iniciativa baseada nesta abordagem, no contexto do ensino superior (AVILA Crew), apresentando as estratégias e conteúdos utilizados em sessões de mentoria já realizadas. Partindo da inspiração do modelo anterior, vamos partilhar a sua adaptação para o modelo adotado no projeto “Aprender Mentorando”, implementado em 3 agrupamentos de escolas nacionais, procurando demonstrar a viabilidade da sua adoção em todos os ciclos de estudo.
Slides de abertura do 1º Encontro Científico TCEdu
Apresenta-se a estrutura da Unidade Curricular de Tecnologias da Comunicação em Educação do Programa Doutoral em Multimédia em Educação da Universidade de Aveiro, abordando as estratégias de inovação pedagógica que conduziram à realização do encontro científico.
Tecnologias da Comunicação em Educação 2018: Aula inicialCarlos Santos
Este documento apresenta a agenda para uma aula sobre Tecnologias da Comunicação em Educação. A aula irá explorar conceitos como ambientes de aprendizagem inovadores e ferramentas digitais para a educação. Os alunos irão realizar um desafio prático de pesquisa e apresentação sobre estas temáticas em grupo.
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunosCarlos Santos
Apresentação de 5 minutos realizada no 4º Encontro sobre Jogos e Mobile Learning, 5 maio 2018, na Faculdade de Psicologia e Ciências da Educação da Universidade de Coimbra
AVILA Crew – Uma experiência de tutoria de alunos para alunosCarlos Santos
Este documento descreve o programa AVILA Crew, um programa de tutoria de alunos da Universidade de Aveiro por ex-alunos. O programa utilizou uma abordagem não-tradicional e gamificada para envolver alunos atuais em sessões de apoio semanais sobre tecnologias multimédia. O feedback foi muito positivo, com os alunos a apreciarem a natureza informal e prática das sessões e os mentores a valorizarem o seu papel no apoio aos colegas. No entanto, o programa exigiu um esforço significativo na
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...Carlos Santos
O documento resume uma sessão de acolhimento de novos alunos do mestrado em Comunicação Multimédia na Universidade de Aveiro. Apresenta o plano curricular, com as disciplinas do primeiro e segundo ano, e fornece indicações gerais sobre o funcionamento do mestrado, como horários, regime de créditos e apoio disponível.
Tecnologias da Comunicação em Educação: trabalho práticoCarlos Santos
Desafio para trabalho prático no âmbito da disciplina de Tecnologias da Comunicação em Educação do Programa Doutoral em Multimédia em Educação - Universidade de Aveiro
O documento discute a aplicação do comando "chmod 777" no contexto educacional, que concede permissões de leitura, escrita e execução a todos os usuários. Isso promoveria a abertura e compartilhamento de recursos educacionais como OERs e MOOCs, além de diluir hierarquias entre os membros da comunidade educacional. No entanto, a tecnologia por si só não é neutra e sua adoção deve respeitar princípios pedagógicos.
A technological approach to Open and Social Learning: the SAPO Campus projectCarlos Santos
The SAPO Campus project addresses open and social learning by developing a free and open online platform without hierarchies where users can access lifelong learning opportunities. The platform allows users to create personal online identities and participate in SAPO Campus Schools. However, the platform has some limitations and the authors are interested in discussing how it could be improved and applied in other contexts and languages.
Este documento explica os diferentes tipos de junções em SQL. Ele descreve junções de produto cartesiano, que combinam todas as linhas de duas tabelas; junções internas, que combinam linhas que possuem campos correspondentes; e junções externas, que mantêm linhas mesmo sem correspondências. O documento fornece exemplos de left, right e full outer joins.
O documento descreve a história e componentes dos discos rígidos. Começando com o primeiro disco rígido da IBM em 1956 com 4.36 MB de capacidade, até os modelos atuais com mais de 1 TB. Detalha também as partes internas como pratos, cabeças de leitura, placa lógica e interfaces como IDE, SATA eSCSI.
A álgebra de Boole estabeleceu um conjunto de símbolos matemáticos para representar a lógica formal e é aplicável ao projeto de circuitos lógicos digitais. Ela usa variáveis que podem assumir apenas os valores 0 ou 1 e operadores lógicos como AND, OR e NOT.
O documento discute sistemas numéricos, unidades de medida de bytes e a diferença entre dados e informações. Em particular, explica que (1) sistemas numéricos como binário, octal e hexadecimal são usados em computação, (2) bytes são conjuntos de 8 bits usados para medir armazenamento digital, e (3) dados se tornam informação quando organizados de forma significativa.
O documento descreve os principais componentes de um computador, incluindo o processador, memória, periféricos e barramento. Explica que o processador executa instruções armazenadas na memória para processar dados, enquanto os periféricos permitem a entrada e saída de dados através do barramento.
O documento discute sistemas de numeração, incluindo conceitos como número, numeral e algarismo. Apresenta sistemas numéricos posicionais e não posicionais, destacando o sistema binário usado em computadores. Explica as bases numéricas e conversões entre sistemas como decimal, binário e hexadecimal.
O documento fornece uma introdução básica sobre computadores e seus principais componentes. Explica que os computadores surgiram da necessidade de realizar cálculos numericos rapidamente e que a informática estuda o uso de máquinas para processar dados. Também define o que é um computador pessoal, sistema operacional e hardware, listando as principais peças como processador, placa-mãe e memória.
Uma curta apresentação sobre o impacto das tecnologias de Inteligência Artificial no contexto do ensino, baseanda numa analogia com o universo do Dune.
The slides have little text and it is complicated to understand the narrative. I'll give you an idea of the context of the subjects I'll be teaching and which are referred to in the slides:
BDTSS - databases and server-side technologies is an undergraduate course
Web Project is a discipline taught at the end of the first year of a master's degree
Mentoria entre pares de estudantes para estudantesCarlos Santos
Que transformações poderão acontecer quando os estudantes mentores têm a liberdade e responsabilidade de conceptualizar, preparar e realizar as sessões de mentoria para outros estudantes?
O ponto de partida para esta conversa é desafiar a refletir sobre estratégias de mentoria entre pares, que procurem explorar o potencial criativo e de inovação que existe em cada estudante. No entanto, para que esse potencial se possa revelar é indispensável que o professor tenha a capacidade de se colocar em segundo plano, apoiando e validando, mas dando espaço e liberdade para que os estudantes mentores assumam a liderança e responsabilidade pelo processo.
Nesta sessão vamos começar por partilhar uma iniciativa baseada nesta abordagem, no contexto do ensino superior (AVILA Crew), apresentando as estratégias e conteúdos utilizados em sessões de mentoria já realizadas. Partindo da inspiração do modelo anterior, vamos partilhar a sua adaptação para o modelo adotado no projeto “Aprender Mentorando”, implementado em 3 agrupamentos de escolas nacionais, procurando demonstrar a viabilidade da sua adoção em todos os ciclos de estudo.
Slides de abertura do 1º Encontro Científico TCEdu
Apresenta-se a estrutura da Unidade Curricular de Tecnologias da Comunicação em Educação do Programa Doutoral em Multimédia em Educação da Universidade de Aveiro, abordando as estratégias de inovação pedagógica que conduziram à realização do encontro científico.
Tecnologias da Comunicação em Educação 2018: Aula inicialCarlos Santos
Este documento apresenta a agenda para uma aula sobre Tecnologias da Comunicação em Educação. A aula irá explorar conceitos como ambientes de aprendizagem inovadores e ferramentas digitais para a educação. Os alunos irão realizar um desafio prático de pesquisa e apresentação sobre estas temáticas em grupo.
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunosCarlos Santos
Apresentação de 5 minutos realizada no 4º Encontro sobre Jogos e Mobile Learning, 5 maio 2018, na Faculdade de Psicologia e Ciências da Educação da Universidade de Coimbra
AVILA Crew – Uma experiência de tutoria de alunos para alunosCarlos Santos
Este documento descreve o programa AVILA Crew, um programa de tutoria de alunos da Universidade de Aveiro por ex-alunos. O programa utilizou uma abordagem não-tradicional e gamificada para envolver alunos atuais em sessões de apoio semanais sobre tecnologias multimédia. O feedback foi muito positivo, com os alunos a apreciarem a natureza informal e prática das sessões e os mentores a valorizarem o seu papel no apoio aos colegas. No entanto, o programa exigiu um esforço significativo na
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...Carlos Santos
O documento resume uma sessão de acolhimento de novos alunos do mestrado em Comunicação Multimédia na Universidade de Aveiro. Apresenta o plano curricular, com as disciplinas do primeiro e segundo ano, e fornece indicações gerais sobre o funcionamento do mestrado, como horários, regime de créditos e apoio disponível.
Tecnologias da Comunicação em Educação: trabalho práticoCarlos Santos
Desafio para trabalho prático no âmbito da disciplina de Tecnologias da Comunicação em Educação do Programa Doutoral em Multimédia em Educação - Universidade de Aveiro
O documento discute a aplicação do comando "chmod 777" no contexto educacional, que concede permissões de leitura, escrita e execução a todos os usuários. Isso promoveria a abertura e compartilhamento de recursos educacionais como OERs e MOOCs, além de diluir hierarquias entre os membros da comunidade educacional. No entanto, a tecnologia por si só não é neutra e sua adoção deve respeitar princípios pedagógicos.
A technological approach to Open and Social Learning: the SAPO Campus projectCarlos Santos
The SAPO Campus project addresses open and social learning by developing a free and open online platform without hierarchies where users can access lifelong learning opportunities. The platform allows users to create personal online identities and participate in SAPO Campus Schools. However, the platform has some limitations and the authors are interested in discussing how it could be improved and applied in other contexts and languages.
SAPO Campus: Gamification em contexto educativoCarlos Santos
Este documento discute a utilização de gamificação e crachás digitais no contexto educativo. Ele apresenta exemplos anteriores de uso de crachás, conceitos-chave como emissores, portfólios e reputação, e propõe experimentar crachás gerados pelos usuários e apoiados pela comunidade no SAPO Campus.
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCACarlos Santos
O documento descreve o projeto SAPO Campus, uma plataforma online desenvolvida para contextos educativos que visa promover a diluição de hierarquias, o acesso livre à informação, e a aprendizagem ao longo da vida através de recursos como fotos, vídeos, blogs e wikis. O SAPO Campus conecta serviços internos e externos para apoiar a criação de portfólios pessoais de aprendizagem e experiências dos usuários.
O documento discute APIs, frameworks, REST vs SOAP, métodos HTTP, JSON vs XML e apresenta o Scoreoid como um exemplo prático para criar tabelas de classificação online. O Scoreoid é uma plataforma que permite aos desenvolvedores adicionar funcionalidades de classificação e estatísticas às suas aplicações através de uma API RESTful.
T19_LM3: Projeto final e documentação de planificaçãoCarlos Santos
Este documento fornece diretrizes para o projeto final de um jogo de vídeo, incluindo dois objetivos principais de componentes técnicos e de produto, questões relevantes sobre engajamento do jogador e implementação, e sugestões para a documentação.
O documento descreve o que é Ajax, como funciona e quais as tecnologias envolvidas. Ajax permite que páginas da web se comuniquem assincronamente com servidores através de Javascript para trocar informações sem recarregar a página. As tecnologias centrais incluem Javascript, XML e o objeto XMLHttpRequest que permite comunicação entre o cliente e servidor.
Este documento discute os erros mais comuns em JavaScript e estratégias para depuração. Ele lista sete tipos de erros como variáveis não definidas, sensibilidade a maiúsculas e minúsculas, falta de fechar chaves, falta de abrir/fechar parênteses, usar = em vez de ==, usar métodos como propriedades e vice-versa, e falta de sinais de concatenação de strings. Também discute como prevenir erros, usar try/catch, e ferramentas de depuração como breakpoints e watches.
O Que é Um Ménage à Trois?
A sociedade contemporânea está passando por grandes mudanças comportamentais no âmbito da sexualidade humana, tendo inversão de valores indescritíveis, que assusta as famílias tradicionais instituídas na Palavra de Deus.
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24, Pr Henrique, EBD NA TV, Lições Bíblicas, 2º Trimestre de 2024, adultos, Tema, A CARREIRA QUE NOS ESTÁ PROPOSTA, O CAMINHO DA SALVAÇÃO, SANTIDADE E PERSEVERANÇA PARA CHEGAR AO CÉU, Coment Osiel Gomes, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, de Almeida Silva, tel-What, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique, https://ebdnatv.blogspot.com/
Atividade letra da música - Espalhe Amor, Anavitória.Mary Alvarenga
A música 'Espalhe Amor', interpretada pela cantora Anavitória é uma celebração do amor e de sua capacidade de transformar e conectar as pessoas. A letra sugere uma reflexão sobre como o amor, quando verdadeiramente compartilhado, pode ultrapassar barreiras alcançando outros corações e provocando mudanças positivas.
PP Slides Lição 11, Betel, Ordenança para exercer a fé, 2Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 11, Betel, Ordenança para exercer a fé, 2Tr24, Pr Henrique, EBD NA TV, 2° TRIMESTRE DE 2024, ADULTOS, EDITORA BETEL, TEMA, ORDENANÇAS BÍBLICAS, Doutrina Fundamentais Imperativas aos Cristãos para uma vida bem-sucedida e de Comunhão com DEUS, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Comentários, Bispo Abner Ferreira, Com. Extra Pr. Luiz Henrique, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique
1. Bases de dados: SQL Joins, especialização/
generalização
Carlos Santos
LabMM 4 - NTC - DeCA - UA
Aula 07, 07-03-2013
2. E como obter dados resultantes de várias tabelas?
Os processos de combinar dados de várias tabelas numa query são
suportados pelas relações (JOINS) existentes entre elas.
• exemplo: “listar todos os empréstimos indicando o nome do amigo”
amigos empres&mos
id_amigo nome telefone id_empres&mo data_empres&mo data_devolucao id_amigo
1 José
Mourinho 916545955 1 2010-‐02-‐23 2010-‐02-‐25 1
2 Jorge
Jesus 234545955 2 2010-‐04-‐11 2010-‐04-‐18
3 Domingos
Paciência 234897897 3 2010-‐03-‐13 2010-‐03-‐19 1
4 Vítor
Pereira 923435566 4 2010-‐05-‐21 2010-‐05-‐23 4
5 André
Villas-‐Boas 934975766 5 2010-‐06-‐25 2010-‐06-‐29
3. Joins
amigos empres&mos
id_amigo nome telefone id_empres&mo data_empres&mo data_devolucao id_amigo
1 José
Mourinho 916545955 1 2010-‐02-‐23 2010-‐02-‐25 1
2 Jorge
Jesus 234545955 2 2010-‐04-‐11 2010-‐04-‐18
3 Domingos
Paciência 234897897 3 2010-‐03-‐13 2010-‐03-‐19 1
4 Vítor
Pereira 923435566 4 2010-‐05-‐21 2010-‐05-‐23 4
5 André
Villas-‐Boas 934975766 5 2010-‐06-‐25 2010-‐06-‐29
amigos
sem
amigos
com emprés&mos
emprés&mos emprés&mos sem
amigos
registos registos
não
relacionados registos não
relacionados
relacionados
4. INNER JOIN (standard/exclusivo/natural)
Num join natural, um INNER JOIN, os dados resultantes de uma query são
apenas aqueles que podem ser relacionados entre as duas tabelas.
• SELECT nome_coluna(s)
FROM nome_tabela1
INNER JOIN nome_tabela2
ON nome_tabela1.nome_coluna=nome_tabela2.nome_coluna
...;
A ter em atenção:
• os campos mencionados na condição do join são a PK e FK que
estabelecem a relação entre as duas tabelas
• os dados da tabela “nome_tabela1” que não estão relacionados com
dados da tabela “nome_tabela2” não são retornados na query
• o inverso da última afirmação também é verdade
5. INNER JOIN
Exemplo: Selecionar todos os Amigos com Empréstimos
• SELECT MeusCDs.amigos.nome, MeusCDs.emprestimos.id_emprestimo
FROM MeusCDs.amigos
INNER JOIN MeusCDs.emprestimos
ON MeusCDs.amigos.id_amigo = MeusCDs.emprestimos.ref_id_amigos;
• SELECT amigos.nome, emprestimos.id_emprestimo
FROM amigos
INNER JOIN emprestimos
ON amigos.id_amigo = emprestimos.ref_id_amigos;
6. INNER JOIN
Exemplo: Selecionar todos os Amigos com Empréstimos
ATENÇÃO: as chaves
têm nomes diferentes
do modelo do slide
anterior!
• SELECT amigos.nome, emprestimos.id_emprestimo
FROM amigos
INNER JOIN emprestimos
ON amigos.id_amigo = emprestimos.id_amigo;
7. OUTER JOIN (inclusivos)
Os OUTER JOINS permitem obter os registos relacionados e os não
relacionados. Podem ser do tipo LEFT ou RIGHT, de acordo com o sentido
do JOIN.
• LEFT JOIN Mostra todos os registos relacionados
(Amigos com Empréstimos)
+
Registos não relacionados da tabela esquerda (tabela de partida): amigos
(Amigos sem Empréstimos)
• RIGHT JOIN Mostra todos os registos relacionados
(Amigos com Empréstimos)
+
Registos não relacionados da tabela direita (tabela de chegada):
emprestimos (Empréstimos sem Amigos)
8. LEFT OUTER JOIN
Exemplo: Seleccionar todos os amigos com empréstimos e todos os
amigos sem empréstimos
• SELECT amigos.nome, emprestimos.id_emprestimo
FROM amigos
LEFT JOIN emprestimos
ON amigos.id_amigo = emprestimos.id_amigo;
9. JOINS: exemplo 2
Considere-se um stand automóvel onde cada vendedor é responsável pela
venda de vários automóveis. No entanto, num dado momento, poderão
existir: vendedores sem automóveis atribuídos e automóveis sem
vendedor atribuído.
10. JOINS: exemplo 2
Selecionar todos os vendedores com carros atribuídos
• SELECT vendedores.Nome, automoveis.Marca, automoveis.Modelo
FROM vendedores
INNER JOIN automoveis
ON vendedores.idVENDEDORES = automoveis.VENDEDORES_idVENDEDORES
11. JOINS: exemplo 2
Selecionar todos os vendedores com e sem carros atribuídos
• SELECT vendedores.Nome, automoveis.Marca, automoveis.Modelo
FROM vendedores
LEFT JOIN automoveis
ON vendedores.idVENDEDORES =
automoveis.VENDEDORES_idVENDEDORES
12. JOINS: exemplo 2
Na tabela automóveis foram adicionados 2 novos registos (2 novos
automóveis) aos quais ainda não foi atribuído um vendedor.
Selecionar todos os vendedores com carros atribuídos e os carros sem
vendedor atribuído
• SELECT vendedores.Nome, automoveis.Marca, automoveis.Modelo
FROM vendedores
RIGHT JOIN automoveis
ON vendedores.idVENDEDORES =
automoveis.VENDEDORES_idVENDEDORES
13. JOINS: FULL JOIN no MySQL
Selecionar todos os vendedores com carros atribuídos e sem carros
atribuídos e todos os carros atribuídos e carros sem vendedor atribuído
• SELECT vendedores.Nome, automoveis.Marca, automoveis.Modelo
FROM vendedores
LEFT JOIN automoveis
ON vendedores.idVENDEDORES = automoveis.VENDEDORES_idVENDEDORES
UNION
SELECT vendedores.Nome, automoveis.Marca, automoveis.Modelo
FROM vendedores
RIGHT JOIN automoveis
ON vendedores.idVENDEDORES = automoveis.VENDEDORES_idVENDEDORES
14. JOINS: FULL JOIN no MySQL
Selecionar todos os vendedores com carros atribuídos e sem carros
atribuídos e todos os carros atribuídos e carros sem vendedor atribuído
15. Especialização/Generalização
Numa biblioteca pretende-se catalogar os vários tipo de publicações
(livros/monografias) e (revistas/periódicos) com um sistema de
numeração único
Tabela de generalização
Tabelas de especialização
16. Especialização/Generalização
As publicações são uma generalização dos conceitos monografias e
periódicos
• A tabela PUBLICACOES armazena as características comuns a todas as
publicações
As monografias e os periódicos são especializações do conceito
publicações
• As tabelas MONOGRAFIAS e PERIODICOS armazenam as características
específicas (especiais) de cada tipo de publicação
As monografias e periódicos “herdam” todas as características comuns
definidas em publicações