Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Um esquema é uma descrição de uma determinada coleção de dados, descrição essa baseada num certo modelo de dados.
Principal conceito do modelo relacional: relação, basicamente uma tabela com linhas e colunas. Cada relação (tabela) tem
um esquema relacional que descreve suas colunas.
OBS: NÃO confundir esquema conceitual (lógico) que interliga a camada externa (visão) e a camada física com modelo
conceitual que usa o Entidade – Relacionamentos (MER) como modelo semântico dos dados.
COUNT(*) retorna o número de linhas em uma tabela que satisfaz os critérios da instrução SELECT, inclusive linhas
duplicadas e linhas contendo valores nulos em qualquer uma das colunas. Se uma cláusula WHERE estiver incluída na
instrução SELECT, COUNT(*) retornará o número de linhas que satisfizer a condição na cláusula WHERE.
COUNT (expr) retorna o número de valores não-nulos na coluna identificada por expr.
COUNT (DISTINCT expr) retorna o número de valores exclusivos não-nulos da coluna identificada por expr.
Algumas vezes será necessário unir uma tabela a ela mesma. Na tabela acima, para localizar o nome do
gerente de cada funcionário, é necessário unir a tabela EMP a ela mesma ou executar uma autojunção. Por exemplo,
para localizar o nome do gerente de Blake, é necessário:
Neste processo, você analisa a tabela duas vezes. Na primeira vez, você consulta a tabela para localizar Blake
na coluna ENAME e o valor MGR de 7839. Na segunda vez, você consulta a coluna EMPNO para localizar 7839 e a
coluna ENAME para localizar King.
DICA: Em se tratando de autojunções, sempre vai haver uma inversão durante a cláusula WHERE, neste
exemplo: trabalhador. NúmeroGerente = gerente. NúmeroTrabalhador.
A cláusula GROUP BY especifica como as linhas devem ser agrupadas. As linhas são agrupadas pelo número do
departamento, de forma que a função AVG que esteja sendo aplicada à coluna de salários calcule o salário médio para
cada departamento
Sempre que você usa uma mistura de itens individuais (DEPARTMENT_ID) e funções de grupo (COUNT) na mesma instrução
SELECT, deve incluir uma cláusula GROUP BY que especifique os itens individuais (neste caso, DEPARTMENT_ID).
Qualquer coluna ou expressão na lista SELECT que não seja uma função agregada deve estar na cláusula GROUP BY.
Da mesma forma que você usa a cláusula WHERE para restringir as linhas que seleciona, pode usar a cláusula HAVING para
restringir grupos.