Exercicios
Resolva todas as consultas abaixo usando apenas select, project, Cartesian product e
natural join.
Fornecedores (sID, sName, endereço)
Partes (pID, pName, cor)
Catálogo (sID, pID, preço)
Catálogo[sID] ⊆ Fornecedores[sID]
Catálogo[pID] ⊆ Partes[pID]
a. Encontre os nomes de todas as partes vermelhas.
b. Encontre os sIDs de todos os fornecedores que fornecem uma Partes vermelha ou verde
c. Encontre todos os preços para Partes vermelhas ou verdes. (Uma Partes pode ter preços
diferentes de fabricantes diferentes.)
Exercicios
Resolva todas as consultas abaixo usando apenas select, project, Cartesian product e
natural join.
Solução:
A álgebra relacional
Restrições nas relações
• A capacidade de restringir os dados que podem ser armazenados em um banco de dados.
• Existem muitos tipos de restrições podem ser expressos em álgebra relacional.
A álgebra relacional
Restrições nas relações
• A capacidade de restringir os dados que podem ser armazenados em um banco de dados.
• Existem muitos tipos de restrições podem ser expressos em álgebra relacional.
• Existem duas maneiras pelas quais podemos usar expressões de álgebra relacional para
expressar restrições.
A álgebra relacional
Restrições nas relações
• A capacidade de restringir os dados que podem ser armazenados em um banco de dados.
• Existem muitos tipos de restrições podem ser expressos em álgebra relacional.
• Existem duas maneiras pelas quais podemos usar expressões de álgebra relacional para
expressar restrições.
1. Se R é uma expressão de álgebra relacional, então R = 0 é uma restrição que diz “O valor
de R deve estar vazio” ou equivalentemente “Não há tuplas no resultado de R”.
A álgebra relacional
Restrições nas relações
• A capacidade de restringir os dados que podem ser armazenados em um banco de dados.
• Existem muitos tipos de restrições podem ser expressos em álgebra relacional.
• Existem duas maneiras pelas quais podemos usar expressões de álgebra relacional para
expressar restrições.
1. Se R é uma expressão de álgebra relacional, então R = 0 é uma restrição que diz “O valor
de R deve estar vazio” ou equivalentemente “Não há tuplas no resultado de R”.
2. Se R e S são expressões de álgebra relacional, então R C S é uma restrição que diz “Cada
tupla no resultado de R também deve estar no resultado de S.”
É claro que o resultado de S pode conter tuplas adicionais não produzidas por R.
A álgebra relacional
Restrições de integridade referencial
Afirma que um valor que aparece em um contexto também aparece em outro contexto
relacionado.
Podemos expressar de forma semelhante uma restrição de integridade referencial onde o
“valor” envolvido é representado por mais de um atributo.
A álgebra relacional
Restrições de integridade referencial
Por exemplo, podemos querer afirmar que qualquer filme mencionado na relação StarIn
também aparece na relação Movies.
Os filmes são representados em ambas as relações por pares título-ano
A álgebra relacional
Restrições de integridade referencial
Por exemplo, podemos querer afirmar que qualquer filme mencionado na relação StarIn
também aparece na relação Movies.
Os filmes são representados em ambas as relações por pares título-ano
A álgebra relacional
Restrições Chave
Podemos expressar algebricamente a restrição de que um determinado atributo ou conjunto de
atributos é a chave para uma relação.
Ou seja, não há duas tuplas que concordem no componente do nome.
A álgebra relacional
Restrições Chave
Podemos expressar algebricamente a restrição de que um determinado atributo ou conjunto de
atributos é a chave para uma relação.
Ou seja, não há duas tuplas que concordem no componente do nome.
A álgebra relacional
Restrições Chave
Podemos expressar algebricamente a restrição de que um determinado atributo ou conjunto de
atributos é a chave para uma relação.
Ou seja, não há duas tuplas que concordem no componente do nome.
A álgebra relacional
restrição de domínio
Suponha que desejamos especificar que os únicos valores legais para o atributo de gênero
do MovieStar são ’F’ e ’M’. Podemos expressar essa restrição algebricamente por:
Introdução ao SQL
O SQL se estabeleceu claramente como o banco de dados relacional como linguagem
padrão.
Definição de dados SQL
A DDL SQL permite a especificação não apenas de um conjunto de relações, mas também
de informações sobre cada relação, incluindo:
• O esquema para cada relação.
• Os tipos de valores associados a cada atributo.
• As restrições de integridade.
• O conjunto de índices a serem mantidos para cada relação.
• As informações de segurança e autorização para cada relação.
• A estrutura física de armazenamento de cada relação em disco.
Definição de dados SQL
Tipos Básicos
• char(n): Uma cadeia de caracteres de comprimento fixo com comprimento n especificado
pelo usuário.
• varchar(n): Uma cadeia de caracteres de comprimento variável com comprimento máximo
n especificado pelo usuário.
Definição de dados SQL
Tipos Básicos
• char(n): Uma cadeia de caracteres de comprimento fixo com comprimento n especificado
pelo usuário.
• varchar(n): Uma cadeia de caracteres de comprimento variável com comprimento máximo
n especificado pelo usuário.
• int: Um número inteiro (um subconjunto finito de números inteiros que depende da
máquina).
• smallint: Um inteiro pequeno (um subconjunto do tipo inteiro dependente da máquina).
Definição de dados SQL
Tipos Básicos
• char(n): Uma cadeia de caracteres de comprimento fixo com comprimento n especificado
pelo usuário.
• varchar(n): Uma cadeia de caracteres de comprimento variável com comprimento máximo
n especificado pelo usuário.
• int: Um número inteiro (um subconjunto finito de números inteiros que depende da
máquina).
• smallint: Um inteiro pequeno (um subconjunto do tipo inteiro dependente da máquina).
• numeric (p, d): Um número de ponto fixo com precisão especificada pelo usuário. O
número consiste em p dígitos (mais um sinal) e d dos p dígitos estão à direita da vírgula
decimal. Assim, numeric(3,1) permite que 44,5 seja armazenado exatamente, mas nem 444,5
nem 0,32 podem ser armazenados exatamente em um campo deste tipo.
• real, double precision: Números de ponto flutuante e de ponto flutuante de precisão dupla
com precisão dependente da máquina.
• float(n): Um número de ponto flutuante com precisão de pelo menos n dígitos
Definição de dados SQL
Tipos Básicos
Cada tipo pode incluir um valor especial denominado valor nulo. Um valor nulo indica um
valor ausente que pode existir, mas ser desconhecido ou que pode nem existir.
Introdução ao SQL
Definição de dados SQL
Definição de esquema básico
Nota: no livro tem a criação de todo o esquema exemplo.
Introdução ao SQL
Definição de dados SQL
Definição de esquema básico
SQL oferece suporte a diversas restrições de integridade diferentes.
Apenas alguns deles:
Chave primária (Primary key )
Os atributos de chave primária devem ser não nulos e exclusivos
Chave estrangeira (Foreign key)
os valores dos atributos para qualquer tupla na relação devem corresponder aos valores dos
atributos da chave primária de alguma tupla na relação
Definição de esquema básico
Definição de esquema básico
O comando drop table exclui todas as informações sobre a relação eliminada do banco de
dados.
Mantém a relação r, mas exclui todas as tuplas em r.
Remove registros específicos de uma tabela. Você pode usar uma cláusula WHERE para
filtrar as linhas que deseja excluir.
É um comando DML (Data Manipulation Language), pois modifica os dados da tabela.
Remove todas as linhas de uma tabela.
Definição de esquema básico
O comando drop table exclui todas as informações sobre a relação eliminada do banco de
dados.
Mantém a relação r, mas exclui todas as tuplas em r.
Remove registros específicos de uma tabela. Você pode usar uma cláusula WHERE para
filtrar as linhas que deseja excluir.
É um comando DML (Data Manipulation Language), pois modifica os dados da tabela.
Remove todas as linhas de uma tabela.
Use DELETE quando quiser remover linhas específicas com base em critérios. Use
TRUNCATE quando quiser remover todas as linhas de forma rápida e irreversível.
O DROP exclui não apenas todas as tuplas de r, mas também o esquema de r.
A estrutura básica de uma consulta SQL consiste em três cláusulas: select, from e where.
Uma consulta toma como entrada as relações listadas na cláusula from
Opera sobre elas conforme especificado nas cláusulas where e select e então produz uma
relação como resultado.
Para forçar a eliminação de duplicatas, insira a palavra-chave distinta após selecionar.
A estrutura básica de uma consulta SQL consiste em três cláusulas: select, from e where.
Um asterisco na cláusula select denota “todos os atributos”
A cláusula select pode conter expressões aritméticas envolvendo operação, +, –, ∗ e /, e
operando em constantes ou atributos de tuplas.
A estrutura básica de uma consulta SQL consiste em três cláusulas: select, from e where.
A cláusula where especifica as condições que o resultado deve satisfazer.
Corresponde ao predicado de seleção da álgebra relacional.
Os operandos dos conectivos lógicos podem ser expressões envolvendo os operadores de
comparação <, <=, >, >=, = e <>.
A estrutura básica de uma consulta SQL consiste em três cláusulas: select, from e where.
A cláusula from lista as relações envolvidas na consulta.
Corresponde à operação de produto cartesiano do álgebra relacional.
A estrutura básica de uma consulta SQL consiste em três cláusulas: select, from e where.
SQL inclui um operador de correspondência de strings para comparações em strings de
caracteres.
O operador like usa padrões que são descritos com dois caracteres especiais:
• percentagem (%). O caractere % corresponde a qualquer substring.
• sublinhado (_). O caractere _ corresponde a qualquer caractere.
A estrutura básica de uma consulta SQL consiste em três cláusulas: select, from e where.
SQL inclui um operador de correspondência de strings para comparações em strings de
caracteres.
Os padrões diferenciam maiúsculas de minúsculas.
Exemplos de correspondência de padrões:
• 'Intro%' corresponde a qualquer string que comece com “Intro”.
• '%Comp%' corresponde a qualquer string contendo “Comp” como substring.
• '_ _ _' corresponde a qualquer sequência de exatamente três caracteres.
• '_ _ _ %' corresponde a qualquer sequência de pelo menos três caracteres.
A estrutura básica de uma consulta SQL consiste em três cláusulas: select, from e where.
Liste em ordem alfabética os nomes de todos os instrutores
Podemos especificar desc para ordem decrescente ou asc para ordem crescente, para cada
atributo; ordem crescente é o padrão
SQL inclui um operador de comparação entre
Operações de conjuntos
Definir operações união, intersecção e exceto.
• Cada uma das operações acima elimina automaticamente duplicatas
Para reter todas as duplicatas use o “all”
Valores Null
O resultado de qualquer expressão aritmética envolvendo nulo é nulo
• Exemplo: 5 + nulo retorna nulo
O predicado é nulo pode ser usado para verificar valores nulos.
• Exemplo: Encontre todos os instrutores cujo salário é nulo.
O predicado em uma cláusula where pode envolver operações booleanas (e, ou, não);
portanto, as definições das operações booleanas precisam ser estendidas para lidar com o
valor desconhecido.
Funções agregadas
Estas funções operam no multiconjunto de valores de uma coluna de uma relação e retornam
um valor
• Encontre o salário médio dos instrutores do departamento de Ciência da Computação
• Encontre o número total de instrutores que ministram um curso no semestre da primavera
de 2018
• Encontre o número de tuplas na relação do curso
Funções agregadas
Group By
Encontre o salário médio dos instrutores em cada departamento
Atributos na cláusula select fora das funções agregadas devem aparecer agrupados por lista
Funções agregadas
Having
Encontre os nomes e salários médios de todos os departamentos cujo salário médio é
superior a 42.000
Nota: os predicados na cláusula Having são aplicados após a formação dos grupos,
enquanto os predicados na cláusula where são aplicados antes da formação dos grupos
Subqueries
Uma subconsulta é uma expressão de seleção de onde está aninhada em outra consulta.
Cláusula From: r pode ser substituído por qualquer subconsulta válida
Cláusula Where: P pode ser substituída por uma expressão no formato:
B <operação> (subconsulta) B é um atributo e <operação> a serem definidos posteriormente.
Cláusula Selecionar:
Ai pode ser substituída por uma subconsulta que gera um único valor.
Subqueries
Encontre cursos oferecidos no outono de 2017 e na primavera de 2018
Encontre cursos oferecidos no outono de 2017, mas não na primavera de 2018
Subqueries
Encontre os nomes de todos os instrutores cujo salário é maior que o salário de todos os
instrutores do departamento de Biologia.
Subqueries
A construção existe retorna o valor verdadeiro se a subconsulta do argumento não estiver
vazia.
Encontre todos os cursos ministrados no semestre do outono de 2017 e no semestre da
primavera de 2018
Subqueries
Unique
A construção exclusiva testa se uma subconsulta possui tuplas duplicadas em seu resultado.
A construção exclusiva é avaliada como “true” se uma determinada subconsulta não contém
duplicatas.
Encontre todos os cursos que foram oferecidos no máximo uma vez em 2017
Referências:
Livro Database Systems_ The Complete Book -- Hector Garcia-Molina, Jeffrey D. Ullman,
Jennifer Widom -- 2nd Edition, 2008 -- Prentice Hall
Livro Silberschatz A., Korth H.F., Sudarshan S. - Database System Concepts, 7th edition – 2019
Link: https://db-book.com/slides-dir/index.html (Slide 2 Relation Model)
Dica do dia:
https://gamma.app/
Um novo meio para apresentar ideias.
Desenvolvido por IA.
Belas apresentações, documentos e sites.
O plano gratuito inclui...
20 000 entradas de tokens de IA
Gammas ilimitados e usuários
Importação básica e exportação de PPT/PDF

ISAF_bd_04_Introducao_SQL (2).pdf111111111111111111111111111

  • 2.
    Exercicios Resolva todas asconsultas abaixo usando apenas select, project, Cartesian product e natural join. Fornecedores (sID, sName, endereço) Partes (pID, pName, cor) Catálogo (sID, pID, preço) Catálogo[sID] ⊆ Fornecedores[sID] Catálogo[pID] ⊆ Partes[pID] a. Encontre os nomes de todas as partes vermelhas. b. Encontre os sIDs de todos os fornecedores que fornecem uma Partes vermelha ou verde c. Encontre todos os preços para Partes vermelhas ou verdes. (Uma Partes pode ter preços diferentes de fabricantes diferentes.)
  • 3.
    Exercicios Resolva todas asconsultas abaixo usando apenas select, project, Cartesian product e natural join. Solução:
  • 4.
    A álgebra relacional Restriçõesnas relações • A capacidade de restringir os dados que podem ser armazenados em um banco de dados. • Existem muitos tipos de restrições podem ser expressos em álgebra relacional.
  • 5.
    A álgebra relacional Restriçõesnas relações • A capacidade de restringir os dados que podem ser armazenados em um banco de dados. • Existem muitos tipos de restrições podem ser expressos em álgebra relacional. • Existem duas maneiras pelas quais podemos usar expressões de álgebra relacional para expressar restrições.
  • 6.
    A álgebra relacional Restriçõesnas relações • A capacidade de restringir os dados que podem ser armazenados em um banco de dados. • Existem muitos tipos de restrições podem ser expressos em álgebra relacional. • Existem duas maneiras pelas quais podemos usar expressões de álgebra relacional para expressar restrições. 1. Se R é uma expressão de álgebra relacional, então R = 0 é uma restrição que diz “O valor de R deve estar vazio” ou equivalentemente “Não há tuplas no resultado de R”.
  • 7.
    A álgebra relacional Restriçõesnas relações • A capacidade de restringir os dados que podem ser armazenados em um banco de dados. • Existem muitos tipos de restrições podem ser expressos em álgebra relacional. • Existem duas maneiras pelas quais podemos usar expressões de álgebra relacional para expressar restrições. 1. Se R é uma expressão de álgebra relacional, então R = 0 é uma restrição que diz “O valor de R deve estar vazio” ou equivalentemente “Não há tuplas no resultado de R”. 2. Se R e S são expressões de álgebra relacional, então R C S é uma restrição que diz “Cada tupla no resultado de R também deve estar no resultado de S.” É claro que o resultado de S pode conter tuplas adicionais não produzidas por R.
  • 8.
    A álgebra relacional Restriçõesde integridade referencial Afirma que um valor que aparece em um contexto também aparece em outro contexto relacionado. Podemos expressar de forma semelhante uma restrição de integridade referencial onde o “valor” envolvido é representado por mais de um atributo.
  • 9.
    A álgebra relacional Restriçõesde integridade referencial Por exemplo, podemos querer afirmar que qualquer filme mencionado na relação StarIn também aparece na relação Movies. Os filmes são representados em ambas as relações por pares título-ano
  • 10.
    A álgebra relacional Restriçõesde integridade referencial Por exemplo, podemos querer afirmar que qualquer filme mencionado na relação StarIn também aparece na relação Movies. Os filmes são representados em ambas as relações por pares título-ano
  • 11.
    A álgebra relacional RestriçõesChave Podemos expressar algebricamente a restrição de que um determinado atributo ou conjunto de atributos é a chave para uma relação. Ou seja, não há duas tuplas que concordem no componente do nome.
  • 12.
    A álgebra relacional RestriçõesChave Podemos expressar algebricamente a restrição de que um determinado atributo ou conjunto de atributos é a chave para uma relação. Ou seja, não há duas tuplas que concordem no componente do nome.
  • 13.
    A álgebra relacional RestriçõesChave Podemos expressar algebricamente a restrição de que um determinado atributo ou conjunto de atributos é a chave para uma relação. Ou seja, não há duas tuplas que concordem no componente do nome.
  • 14.
    A álgebra relacional restriçãode domínio Suponha que desejamos especificar que os únicos valores legais para o atributo de gênero do MovieStar são ’F’ e ’M’. Podemos expressar essa restrição algebricamente por:
  • 15.
    Introdução ao SQL OSQL se estabeleceu claramente como o banco de dados relacional como linguagem padrão. Definição de dados SQL A DDL SQL permite a especificação não apenas de um conjunto de relações, mas também de informações sobre cada relação, incluindo: • O esquema para cada relação. • Os tipos de valores associados a cada atributo. • As restrições de integridade. • O conjunto de índices a serem mantidos para cada relação. • As informações de segurança e autorização para cada relação. • A estrutura física de armazenamento de cada relação em disco.
  • 16.
    Definição de dadosSQL Tipos Básicos • char(n): Uma cadeia de caracteres de comprimento fixo com comprimento n especificado pelo usuário. • varchar(n): Uma cadeia de caracteres de comprimento variável com comprimento máximo n especificado pelo usuário.
  • 17.
    Definição de dadosSQL Tipos Básicos • char(n): Uma cadeia de caracteres de comprimento fixo com comprimento n especificado pelo usuário. • varchar(n): Uma cadeia de caracteres de comprimento variável com comprimento máximo n especificado pelo usuário. • int: Um número inteiro (um subconjunto finito de números inteiros que depende da máquina). • smallint: Um inteiro pequeno (um subconjunto do tipo inteiro dependente da máquina).
  • 18.
    Definição de dadosSQL Tipos Básicos • char(n): Uma cadeia de caracteres de comprimento fixo com comprimento n especificado pelo usuário. • varchar(n): Uma cadeia de caracteres de comprimento variável com comprimento máximo n especificado pelo usuário. • int: Um número inteiro (um subconjunto finito de números inteiros que depende da máquina). • smallint: Um inteiro pequeno (um subconjunto do tipo inteiro dependente da máquina). • numeric (p, d): Um número de ponto fixo com precisão especificada pelo usuário. O número consiste em p dígitos (mais um sinal) e d dos p dígitos estão à direita da vírgula decimal. Assim, numeric(3,1) permite que 44,5 seja armazenado exatamente, mas nem 444,5 nem 0,32 podem ser armazenados exatamente em um campo deste tipo. • real, double precision: Números de ponto flutuante e de ponto flutuante de precisão dupla com precisão dependente da máquina. • float(n): Um número de ponto flutuante com precisão de pelo menos n dígitos
  • 19.
    Definição de dadosSQL Tipos Básicos Cada tipo pode incluir um valor especial denominado valor nulo. Um valor nulo indica um valor ausente que pode existir, mas ser desconhecido ou que pode nem existir.
  • 20.
    Introdução ao SQL Definiçãode dados SQL Definição de esquema básico Nota: no livro tem a criação de todo o esquema exemplo.
  • 21.
    Introdução ao SQL Definiçãode dados SQL Definição de esquema básico SQL oferece suporte a diversas restrições de integridade diferentes. Apenas alguns deles: Chave primária (Primary key ) Os atributos de chave primária devem ser não nulos e exclusivos Chave estrangeira (Foreign key) os valores dos atributos para qualquer tupla na relação devem corresponder aos valores dos atributos da chave primária de alguma tupla na relação
  • 22.
  • 23.
    Definição de esquemabásico O comando drop table exclui todas as informações sobre a relação eliminada do banco de dados. Mantém a relação r, mas exclui todas as tuplas em r. Remove registros específicos de uma tabela. Você pode usar uma cláusula WHERE para filtrar as linhas que deseja excluir. É um comando DML (Data Manipulation Language), pois modifica os dados da tabela. Remove todas as linhas de uma tabela.
  • 24.
    Definição de esquemabásico O comando drop table exclui todas as informações sobre a relação eliminada do banco de dados. Mantém a relação r, mas exclui todas as tuplas em r. Remove registros específicos de uma tabela. Você pode usar uma cláusula WHERE para filtrar as linhas que deseja excluir. É um comando DML (Data Manipulation Language), pois modifica os dados da tabela. Remove todas as linhas de uma tabela. Use DELETE quando quiser remover linhas específicas com base em critérios. Use TRUNCATE quando quiser remover todas as linhas de forma rápida e irreversível. O DROP exclui não apenas todas as tuplas de r, mas também o esquema de r.
  • 25.
    A estrutura básicade uma consulta SQL consiste em três cláusulas: select, from e where. Uma consulta toma como entrada as relações listadas na cláusula from Opera sobre elas conforme especificado nas cláusulas where e select e então produz uma relação como resultado. Para forçar a eliminação de duplicatas, insira a palavra-chave distinta após selecionar.
  • 26.
    A estrutura básicade uma consulta SQL consiste em três cláusulas: select, from e where. Um asterisco na cláusula select denota “todos os atributos” A cláusula select pode conter expressões aritméticas envolvendo operação, +, –, ∗ e /, e operando em constantes ou atributos de tuplas.
  • 27.
    A estrutura básicade uma consulta SQL consiste em três cláusulas: select, from e where. A cláusula where especifica as condições que o resultado deve satisfazer. Corresponde ao predicado de seleção da álgebra relacional. Os operandos dos conectivos lógicos podem ser expressões envolvendo os operadores de comparação <, <=, >, >=, = e <>.
  • 28.
    A estrutura básicade uma consulta SQL consiste em três cláusulas: select, from e where. A cláusula from lista as relações envolvidas na consulta. Corresponde à operação de produto cartesiano do álgebra relacional.
  • 29.
    A estrutura básicade uma consulta SQL consiste em três cláusulas: select, from e where. SQL inclui um operador de correspondência de strings para comparações em strings de caracteres. O operador like usa padrões que são descritos com dois caracteres especiais: • percentagem (%). O caractere % corresponde a qualquer substring. • sublinhado (_). O caractere _ corresponde a qualquer caractere.
  • 30.
    A estrutura básicade uma consulta SQL consiste em três cláusulas: select, from e where. SQL inclui um operador de correspondência de strings para comparações em strings de caracteres. Os padrões diferenciam maiúsculas de minúsculas. Exemplos de correspondência de padrões: • 'Intro%' corresponde a qualquer string que comece com “Intro”. • '%Comp%' corresponde a qualquer string contendo “Comp” como substring. • '_ _ _' corresponde a qualquer sequência de exatamente três caracteres. • '_ _ _ %' corresponde a qualquer sequência de pelo menos três caracteres.
  • 31.
    A estrutura básicade uma consulta SQL consiste em três cláusulas: select, from e where. Liste em ordem alfabética os nomes de todos os instrutores Podemos especificar desc para ordem decrescente ou asc para ordem crescente, para cada atributo; ordem crescente é o padrão SQL inclui um operador de comparação entre
  • 32.
    Operações de conjuntos Definiroperações união, intersecção e exceto. • Cada uma das operações acima elimina automaticamente duplicatas Para reter todas as duplicatas use o “all”
  • 33.
    Valores Null O resultadode qualquer expressão aritmética envolvendo nulo é nulo • Exemplo: 5 + nulo retorna nulo O predicado é nulo pode ser usado para verificar valores nulos. • Exemplo: Encontre todos os instrutores cujo salário é nulo. O predicado em uma cláusula where pode envolver operações booleanas (e, ou, não); portanto, as definições das operações booleanas precisam ser estendidas para lidar com o valor desconhecido.
  • 34.
    Funções agregadas Estas funçõesoperam no multiconjunto de valores de uma coluna de uma relação e retornam um valor • Encontre o salário médio dos instrutores do departamento de Ciência da Computação • Encontre o número total de instrutores que ministram um curso no semestre da primavera de 2018 • Encontre o número de tuplas na relação do curso
  • 35.
    Funções agregadas Group By Encontreo salário médio dos instrutores em cada departamento Atributos na cláusula select fora das funções agregadas devem aparecer agrupados por lista
  • 36.
    Funções agregadas Having Encontre osnomes e salários médios de todos os departamentos cujo salário médio é superior a 42.000 Nota: os predicados na cláusula Having são aplicados após a formação dos grupos, enquanto os predicados na cláusula where são aplicados antes da formação dos grupos
  • 37.
    Subqueries Uma subconsulta éuma expressão de seleção de onde está aninhada em outra consulta. Cláusula From: r pode ser substituído por qualquer subconsulta válida Cláusula Where: P pode ser substituída por uma expressão no formato: B <operação> (subconsulta) B é um atributo e <operação> a serem definidos posteriormente. Cláusula Selecionar: Ai pode ser substituída por uma subconsulta que gera um único valor.
  • 38.
    Subqueries Encontre cursos oferecidosno outono de 2017 e na primavera de 2018 Encontre cursos oferecidos no outono de 2017, mas não na primavera de 2018
  • 39.
    Subqueries Encontre os nomesde todos os instrutores cujo salário é maior que o salário de todos os instrutores do departamento de Biologia.
  • 40.
    Subqueries A construção existeretorna o valor verdadeiro se a subconsulta do argumento não estiver vazia. Encontre todos os cursos ministrados no semestre do outono de 2017 e no semestre da primavera de 2018
  • 41.
    Subqueries Unique A construção exclusivatesta se uma subconsulta possui tuplas duplicadas em seu resultado. A construção exclusiva é avaliada como “true” se uma determinada subconsulta não contém duplicatas. Encontre todos os cursos que foram oferecidos no máximo uma vez em 2017
  • 42.
    Referências: Livro Database Systems_The Complete Book -- Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Widom -- 2nd Edition, 2008 -- Prentice Hall Livro Silberschatz A., Korth H.F., Sudarshan S. - Database System Concepts, 7th edition – 2019 Link: https://db-book.com/slides-dir/index.html (Slide 2 Relation Model) Dica do dia: https://gamma.app/ Um novo meio para apresentar ideias. Desenvolvido por IA. Belas apresentações, documentos e sites. O plano gratuito inclui... 20 000 entradas de tokens de IA Gammas ilimitados e usuários Importação básica e exportação de PPT/PDF