Baixe o app para aproveitar ainda mais
Prévia do material em texto
Junção interna em SQL APRESENTAÇÃO Assim como toda tecnologia de sistemas de informação evoluiu, o surgimento, há muitos anos, da SQL proporcionou considerável ganho na administração das informações em banco de dados relacional. Entre as diversas operações possibilitadas por essa linguagem, uma das mais utilizadas é a responsável pelo estabelecimento de relação entre duas ou mais tabelas que, geralmente, utilizam atributos de mesmo valor. Nesta Unidade de Aprendizagem, você irá estudar os conceitos de junções internas, desde sua relação com a álgebra relacional, além de identificar as diferenças entre as cláusulas utilizadas por meio de exemplos práticos em um banco de dados relacional: o PostgreSQL. Bons estudos. Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados: Definir a operação de junção interna em álgebra relacional.• Comparar as cláusulas NATURAL JOIN, JOIN... USING e JOIN... ON em SQL.• Reconhecer a implementação da operação de junção interna em SQL.• DESAFIO A manipulação de dados armazenados em SGBD possibilita uma infinidade de análises por meio de relacionamentos entre tabelas, que auxiliam na melhor tomada de decisão. De acordo com a necessidade do nível gerencial e estratégico, é possível elaborar diversos relatórios, agrupando, classificando e qualificando informações, disponibilizando diversas formas de representação. Acompanhe o cenário a seguir: Sendo você o DBA responsável pelo banco de dados: Esclareça qual é a melhor forma de realizar essa consulta, sabendo que há duas tabelas (categorias e produtos) e que o objetivo é retornar os nomes das categorias para cada um dos produtos. Além disso, exemplifique utilizando instrução SQL em sistema de gerenciador de banco de dados e junção de operação interna. INFOGRÁFICO No contexto da álgebra relacional, a operação junção é considerada uma das operações mais comuns, além de ser considerada a maneira mais usada para a combinação de informações de duas ou mais relações entre tabelas de banco de dados relacional. Esse conceito de junção no ambiente de banco de dados remonta à teoria dos conjuntos como um produto cartesiano, seguido de seleções e projeções, que aparecem com maior frequência na prática do que os produtos cartesianos normais. No Infográfico, você descobrirá as formas de junções internas de relações, também conhecidas como JOIN, ilustradas conforme sua utilização e simbologia. CONTEÚDO DO LIVRO Com a evolução da tecnologia dos sistemas gerenciadores de bancos de dados, surgiram diversos mecanismos, técnicas, metodologias e ferramentas para facilitar o armazenamento e a recuperação da informação ali guardada. Uma das grandes inovações, utilizada até hoje pelos bancos de dados relacionais, foi a instituição do uso de linguagem SQL (Structured Query Language), que possibilita uma gama de instruções para administração dos dados armazenados em bancos de dados. No capítulo Junção interna em SQL, da obra Consultas em banco de dados, você vai conhecer os conceitos das operações de junção interna e sua relação com a álgebra relacional. Você também identificará, por meios de exemplos práticos, o uso e as diferenças de cada uma das cláusulas de condição que compõem essas operações. Por fim, será possível analisar instruções em código SQL com o padrão de utilização pelo sistema gerenciador de banco de dados PostgreSQL. Boa leitura. CONSULTAS EM BANCO DE DADOS Marcel Santos Silva Junção interna em SQL Objetivos de aprendizagem Ao final deste texto, você deve apresentar os seguintes aprendizados: � Definir a operação de junção interna em álgebra relacional. � Comparar as cláusulas NATURAL JOIN, JOIN... USING e JOIN... ON em SQL. � Reconhecer a implementação da operação de junção interna em SQL. Introdução Um modelo lógico descreve a estrutura de um banco de dados de acordo com o nível de abstração do usuário do sistema gerenciador de banco de dados (SGBD) (HEUSER, 2008). Nesse contexto de banco de dados relacionais, surgem as consultas estruturadas, que possibilitam um melhor aproveitamento das informações armazenadas no processo de tomada de decisão. Uma das características que contribuem para essas consultas estruturadas é a relação entre as diversas tabelas de dados, implementada por meio da junção de operações internas. Neste capítulo, você conhecerá os conceitos das operações de junção interna e sua relação com a álgebra relacional, identificará, por meio de exemplos práticos, o uso e as diferenças de cada uma das cláusulas de condição que compõem essas operações, e, por fim, analisará instruções em código Structured Query Language (SQL) com o padrão utilizado pelo SGBD PostgreSQL. 1 Junção interna e álgebra relacional A álgebra relacional é uma linguagem de consulta formal associada ao mo- delo relacional que utiliza um conjunto de operadores (Figura 1). Umas de suas características fundamentais reside naquela que considera que todo operador na álgebra relacional aceita uma ou duas instâncias de relação com argumentos, resultando apenas em uma instância de relação. De acordo com Ramakrishnan e Gehrke (2008), essa propriedade facilita a composição de operadores para estruturar uma consulta completa, ou seja, uma expressão de álgebra relacional é recursivamente definida com uma relação, um operador de álgebra binário aplicado a duas expressões ou um operador unário aplicado a uma única expressão. Vale ressaltar que cada consulta relacional descreve um procedimento detalhado para obter a resposta esperada, respeitando-se a ordem de aplicação na consulta dos operadores. A essência procedural da álgebra considera que uma expressão algébrica é como uma receita ou um plano, utilizada pelos sistemas relacionais, na avaliação de uma consulta, para representar planos de avaliação das consultas. A Figura 1 apresenta as características da álgebra relacional organizadas em três categorias — operações de conjuntos, operações específicas de banco de dados relacional e funções aritméticas. Figura 1. Álgebra relacional e suas características. Junções No contexto da álgebra relacional, a “junção” é considerada uma das operações mais utilizadas, bem como a maneira mais empregada para combinar informa- ções de duas ou mais relações. Mesmo que sejam definidas como um produto cartesiano seguido de seleções e projeções, as junções são mais frequentes na prática do que os produtos cartesianos normais (RAMAKRISHNAN; GEHRKE, 2008). Junção interna em SQL2 Ainda, o resultado de determinado produto cartesiano é, em geral, bem maior do que o de uma junção, além de ser imprescindível reconhecer junções e implementá-las sem materializar o produto cartesiano subjacente. Portanto, há diversas variantes da operação “junção” a que devemos nos atentar. De acordo com Heuser (2008), o processo de integração de modelos se inicia pela junção de tabelas que têm uma mesma chave primária, ou seja, quando se usa a “mesma chave primária”, define-se que os domínios e os conteúdos dos atributos que compõem a chave primária são idênticos. Quando isso ocorre, as distintas tabelas devem ser unidas em uma única tabela no modelo global. A versão mais básica da operação junção aceita uma condição de junção c e um par de instâncias de relação como argumentos, resultando em uma instância de relação, como mostrado na Figura 2. A condição de junção é idêntica à condição de seleção quanto ao seu formato, uma operação definida pela expressão: R⋈C M= σC (R × M) Assim, ⋈ é definida como um produto cartesiano seguido de uma seleção. Note que a condição C pode referenciar os atributos tanto de R quanto de M. A referência a determinado atributo de uma relação, por exemplo, R, pode se dar pela posição (R .i) ou pelo seu nome (R.nome). Figura 2. Diagrama de Venn para representação de uma junção interna. 3Junção interna em SQL 2 Cláusulas de junção em SQL Quando abordamos junções internas,é imprescindível especificar a condição de junção, ou seja, quais as linhas de determinada tabela têm relação com a linha de outra tabela. Portanto, é necessário usar as cláusulas ON ou USING, além do termo NATURAL no comando. Com frequência, a cláusula ON é utilizada por semelhança à cláusula WHERE, isto é, um par de tuplas (linhas) da Tabela_01 e Tabela_02 será equiva- lente se a expressão da cláusula ON produzir um resultado verdadeiro (TRUE). Já a cláusula USING é similar a ON por também retornar um valor booleano (verdadeiro ou falso) para um conjunto de linhas específico, embora se trate de uma das maneiras mais rápidas e abreviadas para implementar a consulta. Utilizando o nome de coluna, a execução da consulta fará a busca nas tabelas da coluna especificada e, depois de encontrá-la, realizará a comparação. Por exemplo: Tabela_01 INNER JOIN Tabela_02 USING (x, y, z) é o mesmo que: Tabela_01 INNER JOIN Tabela_02 ON (Tabela_01.x = Tabela_02.x AND Tabela_01.y = Tabela_02.y AND Tabela_01.z = Tabela_02.z) Com o objetivo de facilitar o entendimento, utiliza-se o termo NATURAL, que pode ser considerado a abreviação de USING, já que, por meio dele, a consulta buscará todas as colunas com nomes iguais nas duas tabelas, rea- lizando a comparação de igualdade. Contudo, é preciso se atentar ao uso de NATURAL, pois ele realizará a verificação de todas as colunas com nomes iguais, o que pode apresentar resultados inesperados quando da existência de duas colunas com o mesmo nome e nenhuma relação. Junção interna em SQL4 Equijunção De acordo com Ramakrishnan e Gehrke (2008), outra maneira comum da operação de junção R ⋈ M refere-se a uma situação em a condição de junção consiste em igualdades (conectadas pelo símbolo ∧) no formato R.nome1 = M.nome2, ou seja, igualdades entre dois atributos em R e M. Nesse caso, nota-se que há redundância em manter os atributos no resultado. Para junções que têm apenas essas igualdades, a operação junção pode ser refinada fazendo-se uma projeção adicional na qual se exclui M .nome2, uma operação conhecida como equijunção. O esquema do resultado de uma equijunção contém os campos de R segui- dos pelos campos de M que não aparecem nas condições de junção. Se esse conjunto de campos na relação do resultado incluir dois campos que herdam os mesmos nomes de R e M, não são nomeados na relação do resultado. Junção natural Outra forma de realizar a operação junção R ⋈ M consiste em uma equijunção na qual as igualdades são especificadas para todos os campos com os mesmos nomes em R e M. Nesse caso, podemos simplesmente omitir a condição de junção. Vale destacar que o padrão deve ser de que a condição de junção seja somente uma coleção de igualdades em todos os campos comuns, situação conhecida como junção natural e que tem a como propriedade garantir que o resultado não tenha dois campos com os mesmos nomes (HEUSER, 2008; RAMAKRISHNAN; GEHRKE, 2008). Na Figura 3, é apresentada a abrangência de cada uma das junções discu- tidas até o momento. Figura 3. Representação esquemática das junções. 5Junção interna em SQL É importante ressaltar que existem outras terminologias utilizadas além de tabela, linha e coluna. Basicamente, utilizam-se três terminologias equivalentes, em razão dos diferentes grupos de usuários de bancos de dados: a terminologia orientada a tabelas é mais usada por usuários finais, a orientada a conjuntos, por pesquisadores acadêmicos, e a orientada a registros, por profissionais de sistemas de informação (MANNINO, 2008). O operador de junção natural não é primitivo, já que pode ser derivado de outros operadores (MANNINO, 2008). O operador de junção natural compõe- -se por três etapas, listadas a seguir. 1. Uma operação de produto para combinar as linhas. 2. Uma operação de restrição para remover as linhas que não atendem à condição de junção. 3. Uma operação de projeção para remover uma das colunas de junção. Os operadores de restrição e de projeção, que criam subconjuntos de uma tabela, são muito utilizados porque, na maioria das vezes, os usuários desejam ver um subconjunto, e não uma tabela inteira. Para fixar o conceito de junção natural, a Figura 4 apresenta a junção das amostras das tabelas Professor e Oferta_Disciplina, em que a condição de junção estabelece que as colunas CPF_Professor sejam iguais. As setas indicam como as linhas das tabelas de entrada são combinadas para formar as tuplas da tabela resultante, ou seja, a primeira linha da tabela Pro- fessor é combinada com as linhas 1 e 3 da tabela Oferta_Disciplina, apresentadas na tabela resultante. Junção interna em SQL6 Figura 4. Exemplo de junção natural. Fonte: Adaptada de Mannino (2008). Para compreendermos melhor o conceito de banco de dados relacional, torna-se necessário entender as ligações, isto é, os relacionamentos existentes entre as tabelas. As linhas de uma tabela, também conhecidas como tuplas, geralmente estão relacionadas a linhas de outras tabelas. E a correspondên- cia entre os valores (idênticos) indica os relacionamentos entre as tabelas (MANNINO, 2008). As junções (joins) são utilizadas em substituição às subconsultas (subquery), pois são mais simples de entender, ler e executar, além de possibilitarem uma instrução muito mais limpa. 7Junção interna em SQL Existem muitos bancos de dados relacionais disponíveis no mercado que executam instruções SQL, como Oracle, MySQL, SQL Server e PostgreSQL, sendo o último utilizado como ferramenta dos exemplos que mostraremos a seguir. O PostgreSQL é um poderoso sistema gerenciador de banco de dados objeto-relacional de código aberto, cuja popularidade aumentou nos últimos anos pela busca de um sistema com melhores garantias de confiabilidade, melhores recursos de consulta, mais operação previsível ou apenas algo fácil de aprender, entender e usar (CARVALHO, 2017). 3 Implementação de junções em banco de dados No PostgreSQL, uma tabela unida é criada a partir de duas outras tabelas com base nas regras do tipo específico de operação de junção. Dos vários tipos de operação de junção no PostgreSQL, a junção NATURAL é um tipo especial de operação de junção INNER, retornando registros das tabelas do PostgreSQL e agrupando-os com base em correspondências encontradas nos valores dos atributos das diversas tabelas. Uma junção natural cria uma junção implícita com fundamento nos mesmos nomes de coluna nas tabelas que se relacionam nesse processo. Sua sintaxe do PostgreSQL corresponde a: SELECT * FROM Tabela_01 NATURAL INNER JOIN Tabela_02; Uma junção natural pode ser interna (INNER JOIN), esquerda (LEFT JOIN) ou direita (RIGHT JOIN), porém trabalharemos aqui apenas a in- terna. Caso não seja especificada explicitamente uma junção, o PostgreSQL considerará a junção interna por padrão. Vale destacar que, se utilizarmos o asterisco (*) na lista de seleção, o resultado conterá as seguintes colunas: � todas as colunas comuns — as colunas nas duas tabelas que têm o mesmo nome; � todas as colunas da primeira e da segunda tabelas que não são comuns; Junção interna em SQL8 Para facilitar o entendimento dos exemplos, serão criadas as tabelas categorias e produtos, para o qual utilizaremos a instrução CREATE TABLE. CREATE TABLE categorias ( categoria_id serial PRIMARY KEY, categoria_nome VARCHAR (255) NOT NULL); CREATE TABLE produtos ( produto_id serial PRIMARY KEY, produto_nome VARCHAR (255) NOT NULL, categoria_id INT NOT NULL, FOREIGN KEY (categoria_id) REFERENCES categorias (categoria_id)); Cada categoria tem “nenhum” ou “muitos” produtos, enquanto “um” produto pertence a “apenas” uma categoria. O atributo categoria_id na tabela de produtos é a chave estrangeira que faz referência à chave primária da tabela de categorias. E a categoria_id é o atributo comum usado para realizar a junção natural. O próximo passo consiste em inserir alguns dados nas tabelas catego- rias e produtos, o que será feito pelo comando INSERT.INSERT INTO categorias (categoria_nome) VALUES ('Celular'), ('Notebook'), ('Tablet'); INSERT INTO produtos (produto_nome, categoria_id) VALUES ('iPhone', 1), ('Dell Inspiron', 2), ('iPad', 3), ('Acer Aspire', 2), ('Samsung A30', 1), ('Galaxy Tab', 3); 9Junção interna em SQL A instrução a seguir usa a cláusula NATURAL JOIN para associar a tabela de produtos à tabela categorias, como mostrado no Quadro 1. SELECT * FROM produtos NATURAL JOIN categorias; CATEGORIA_ ID PRODUTO_ID PRODUTO_ NOME CATEGORIA_ NOME 1 1 iPhone Celular 2 2 Dell Inspiron Notebook 3 3 iPad Tablet 2 4 Acer Aspire Notebook 1 5 Samsung A30 Celular 3 6 Galaxy Tab Tablet Quadro 1. Resultado da seleção realizada nas tabelas produtos e categorias A instrução que gerou o Quadro 1 é equivalente à declaração a seguir, que utiliza a cláusula INNER JOIN. SELECT * FROM produtos INNER JOIN categorias USING (categoria_id); A vantagem do NATURAL JOIN reside no fato de que não é preciso especificar a cláusula de JOIN, pois utiliza uma cláusula JOIN implícita com base no atributo comum. No entanto, devemos evitar usar o NATURAL JOIN, pois pode causar um resultado inesperado. Junção interna em SQL10 Por exemplo, vamos dar uma olhada nas tabelas cidades e países; ambas têm a mesma coluna Pais_ID, para que possamos usar o NATURAL JOIN para ingressar nessas tabelas da seguinte maneira: SELECT * FROM cidade NATURAL JOIN pais; O resultado do NATURAL JOIN executado é apresentado no Quadro 2. PAIS_ID ULTIMA_ATUALIZACAO CIDADE_ID PAIS Quadro 2. Resultado da seleção realizada nas tabelas cidade e pais A consulta retorna um conjunto de resultados vazio, visto que ambas as tabelas também têm um atributo comum chamado ULTIMA_ATUALIZACAO, que não pode ser usado para a associação. No entanto, a cláusula NATURAL JOIN emprega somente o atributo ULTIMA_ATUALIZACAO. Uma junção NATURAL agrupa registros com base nas semelhanças com os valores da coluna encontrados em outras tabelas. Uma junção NATURAL pode ser uma junção esquerda (LEFT JOIN), interna (INNER JOIN) ou direita (RIGHT JOIN), mas o tipo de junção deve ser especificado, pois o PostgreSQL usará a operação de junção interna (INNER JOIN) por padrão. 11Junção interna em SQL Um novo exemplo é apresentado a seguir, ilustrando a criação das tabelas empregados e departamentos, conforme a seguinte instrução: CREATE TABLE empregados ( empreg_id serial PRIMARY KEY, empreg_nome VARCHAR(20) NOT NULL); CREATE TABLE departamentos ( depart_cod serial PRIMARY KEY, depart_nome VARCHAR (20) NOT NULL, empreg_id INT NOT NULL, FOREIGN KEY (empreg_id) REFERENCES empregados (empreg_id)); Observe que, na tabela departamentos, o atributo empreg_id é uma chave estrangeira e faz referência aos empregados como a chave primária da tabela do PostgreSQL. Como as duas tabelas apresentam a coluna empreg_id, ambas podem ser usadas para demonstrar a operação de junção NATURAL do PostgreSQL. 1. Com as tabelas criadas, agora podem ser inseridas novas linhas (tuplas) nas tabelas PostgreSQL empregados e departamentos. A ins- trução INSERT INTO é usada para inserir registros em uma tabela, cadastrando os empregados no banco de dados. INSERT INTO empregados (empreg_nome) VALUES ('João'), ('Pedro'), ('Maria'), ('Otávio'), ('Amanda'); Junção interna em SQL12 2. O próximo passo refere-se à inserção dos departamentos no banco de dados. INSERT INTO departamentos (depart_nome, empreg_id) VALUES ('Folha Pagamento', 1), ('Financeiro', 1), ('Faturamento', 2), ('Vendas', 2), ('Marketing', 3), ('Recursos Humanos', 4), ('Contabilidade', 5), ('Fiscal', 5); 3. Para demonstrar a união das tabelas PostgreSQL empregados e depar- tamentos usando a junção NATURAL, executa-se a instrução a seguir. SELECT * FROM departamentos NATURAL JOIN empregados; 4. O resultado da instrução SELECT com uma junção NATURAL deve apresentar os registros do Quadro 3. empreg_id depart_cod depart_nome empreg_nome 1 1 Folha Pagamento João 1 2 Financeiro João 2 3 Faturamento Pedro 2 4 Vendas Pedro 3 5 Marketing Maria 4 6 Recursos Humanos Otávio 5 7 Contabilidade Amanda 5 8 Fiscal Amanda Quadro 3. Resultado da seleção realizada nas tabelas departamentos e empregados 13Junção interna em SQL O objetivo do modelo relacional se baseia na premissa de que as informa- ções em um banco de dados podem ser consideradas relações matemáticas e representadas, de maneira uniforme, por meio do uso de tabelas (com linhas, que são as ocorrências de uma entidade, e colunas, os atributos de uma enti- dade do modelo conceitual). Por fim, nota-se a importância da utilização das junções, sendo a natural a primeira entre outras, no processo de construção de consultas que buscam uma análise mais aprofundada, permitindo aos administradores de banco de dados relacionais recuperar as informações de maneira consistente e eficaz. CARVALHO, V. PostgreSQL: banco de dados para aplicações web modernas. [S. l.]: Caso do Código, 2017. HEUSER, C. A. Projeto de banco de dados. 6. ed. Porto Alegre: Bookman, 2008. (Série: Livros didáticos informática UFRGS, v. 4) MANNINO, M. V. Projeto, desenvolvimento de aplicações e administração de banco de dados. 3. ed. Porto Alegre: AMGH, 2008. RAMAKRISHNAN, R.; GEHRKE, J. Sistemas de gerenciamento de banco de dados. 3. ed. Porto Alegre: AMGH, 2008. Leitura recomendada CARLO, D. et al. Um estudo exploratório das ferramentas de código aberto para a repli- cação de dados no PostgreSQL. In: ESCOLA REGIONAL DE BANCO DE DADOS (ERBD), 15., 2019, Chapecó. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2019. p. 11–20. Disponível em: https://doi.org/10.5753/erbd.2019.8474. Acesso em: 16 jun. 2020 Os links para sites da web fornecidos neste capítulo foram todos testados, e seu fun- cionamento foi comprovado no momento da publicação do material. No entanto, a rede é extremamente dinâmica; suas páginas estão constantemente mudando de local e conteúdo. Assim, os editores declaram não ter qualquer responsabilidade sobre qualidade, precisão ou integralidade das informações referidas em tais links. Junção interna em SQL14 DICA DO PROFESSOR Para que se consiga obter melhores resultados de determinada consulta, considerando a estrutura de informações armazenadas que utilizam um modelo de tabelas e seus relacionamentos, é preciso que estejam claras tais relações entre as muitas tabelas existentes em um banco de dados relacional. Nesta Dica do Professor, serão abordados os principais conceitos sobre junções internas, objetivando o melhor entendimento das cláusulas, bem como características de operações de junções. Conteúdo interativo disponível na plataforma de ensino! EXERCÍCIOS 1) Considerada uma das operações mais utilizadas, bem como a forma para a combinação de informações de duas ou mais relações, o join em uma instrução SQL refere-se a uma: A) restrição. B) junção. C) deleção. D) inserção. E) alteração. 2) O PostgreSQL é um sistema de gerenciamento de banco de dados de uso geral e objeto-relacional, de código aberto. Dos vários tipos de operação de junção no PostgreSQL, a junção NATURAL é um tipo especial de operação de junção: A) LEFT. B) RIGHT. C) INNER. D) OUTER. E) FULL. 3) Considerando as tabelas: Funcionarios(funcionario_nome, funcionarios_cod) e Setores(setores_nome, setores_codigo, funcionarios_cod) Deseja-se apresentar o resultado que contemple a seguinte tabela: Resultado(funcionarios_cod, setores_codigo, funcionario_nome, setores_nome) Qual instrução SQL atende a essa demanda? A) SELECT * FROM departamentos LEFT JOIN funcionarios. B) SELECT * FROM setores NATURAL JOIN funcionarios. C) SELECT * FROM setores. D) SELECT * FROM funcionarios. E) SELECT nome, funcionario_cod FROM setores NATURAL JOIN funcionarios. Quando se trata de junções internas, é imprescindível a especificação de condição de 4) junção, bem como a utilização das cláusulasespecíficas. Na instrução SQL apresentada: SELECT * FROM cidade INNER JOIN regiao ON cidade.codigo_regiao = regiao.codigo_regiao Qual cláusula é opcional? A) SELECT. B) FROM. C) INNER. D) JOIN. E) ON. 5) Uma junção natural consiste da criação de relação implícita com base nos mesmos nomes de atributos em duas. Portanto, qual símbolo representa a operação específica de junção em banco de dados relacional? A) σ (sigma). B) ⋈. C) π. D) ÷. E) ∪. NA PRÁTICA Para tratar do contexto de junções internas, é imprescindível a especificação de condição de junção, ou seja, quais tuplas de determinada tabela têm relação com a tupla de outra tabela. A junção interna é representada pela terminologia INNER JOIN, utilizada em comandos SQL. Neste Na Prática, você conseguirá acompanhar uma necessidade real de consulta, por meio do PostgreSQL, que deverá utilizar os recursos disponíveis pela junção interna para atender à solicitação do usuário. SAIBA MAIS Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor: Banco de dados com PostgreSQL #12 — Consulta com relacionamento — INNER JOIN Neste vídeo, veja como armazenar os dados do seu projeto no banco de dados PostgreSQL de forma simples, rápida e prática. Você irá aprender a criar consultas com relacionamentos entre tabelas. Conteúdo interativo disponível na plataforma de ensino! Curso de banco de dados #2 Tutorial PostgreSQL Aula 2: Relacionamento chave estrangeira Neste tutorial, você verá, de forma prática, utilização o PgAdmin, desde a criação da tabela até a utilização da junção interna, especificamente o INNER JOIN, comparando-o com a cláusula WHERE. Conteúdo interativo disponível na plataforma de ensino! Curso de banco de dados #2 Tutorial PostgreSQL Aula 3: Comandos avançados O PostgreSQL é considerado um dos melhores sistemas gerenciadores de banco de dados devido à sua robustez, confiabilidade e segurança. Neste vídeo, você poderá aprimorar seus conhecimentos no uso das junções internas com a terminologia própria do PostgreSQL. Conteúdo interativo disponível na plataforma de ensino!
Compartilhar