SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
Bases de dados: Auto-associações
SQL: SELECT
Carlos Santos
LabMM 4 - NTC - DeCA - UA
Aula 06, 05-03-2013
Auto-associações

Pretende-se modelar a seguinte situação numa BD:

  • Num escritório os funcionários possuem (ou não) um superior hierárquico
     • Cada funcionário pode ter um único superior hierárquico
     • Cada superior hierárquico pode coordenar vários funcionários

Como modelar esta relação numa BD?



            Funcionarios
         idFuncionarios
         Nome
Auto-associações

Como a FK pode admitir valores nulos e valores repetidos

  • Um funcionário pode ser superior hierárquico de vários outros
  • Podem existir funcionários sem superior hierárquico

Se a FK não permitir valores nulos (NOT NULL)
  • Não podem existir funcionários sem superior hierárquico

Se FK não permitir valores repetidos (UNIQUE)
  • Cada funcionário só pode ser superior hierárquico de um único funcionário
  • (a relação transforma-se numa 1:1)
Auto-associações (solução alternativa)

Utilizar uma tabela de relação com duas chaves estrangeiras que apontam
para a mesma chave primária!

Cada uma das FK não admite valores nulos por ser parte duma chave
primária composta. No entanto:

  • Funcionarios_idFuncionarios e Funcionarios_idFuncionarios1 podem
    ser configuradas com o parâmetro UNIQUE para evitar os valores
    repetidos em cada uma das colunas




                            Nota: se a relação é do tipo 1:M, esta representação física não está
                            totalmente correta. Ver a discussão iniciado do grupo no SAPO Campus!
Auto-associações (solução alternativa)




Diferentes possibilidades:

  • M:M - Se as duas FK admitirem valores repetidos (em cada uma das
    colunas)
  • 1:M - Se apenas uma das FK admitir valores repetidos
  • 1:1 - Se nenhuma das FK admitir valores repetidos
SQL | Structured Query Language

Desenvolvida no início dos anos 70. Permite a interação com os SGBD e
as BD aí existentes. É suportada por todos os SGBDR (embora com
pequenas diferenças). Está estruturada em várias categorias:

  • Data Query Language (DQL) – consultar os dados existentes na BD
     • SELECT
  • Data Manipulation Language (DML) – criar e modificar os dados na BD
     • INSERT, UPDATE, DELETE
  • Data Definition Language (DDL) – criar e modificar objectos da BD
    (tabelas, views, …), ou a própria BD
     • CREATE, ALTER, DROP
  • Data Control Language (DCL) – gerir os privilégios dos utilizadores na
    gestão da BD, dos seus objectos e dos dados aí existentes
     • GRANT, REVOKE
SQL: SELECT

Vamos considerar como exemplo o exercício de gestão dos CDs. A base
de dados designa-se “MeusCDs” e existe uma tabela com os “Amigos”

  • SELECT * FROM MeusCDs.Amigos;
    “Devolve todos os campos de todos os registos existentes na tabela
    Amigos da BD MeusCDs”




  • SELECT nome, email FROM MeusCDs.amigos;
    “Devolve os campos nome e email de todos os registos existentes na
    tabela Amigos da BD MeusCDs”
SQL: SELECT ... WHERE

Para selecionar um determinado conjunto de registos utiliza-se a cláusula
WHERE
  • SELECT nome_colunas
    FROM nome_tabela
    WHERE nome_coluna operador valor;

A ter em atenção:

  • a coluna da condição não tem que estar na lista nome_colunas
  • um valor do tipo string é escrito como “valor” ou ‘valor’
  • os operadores possíveis de utilizar são: =, <>, >, <, >=, <=, BETWEEN,
    LIKE e IN
  • o operador LIKE só deve ser utilizado para pesquisas em campos do tipo
    string
SQL: SELECT ... WHERE



 • SELECT * FROM MeusCDs.amigos WHERE nome = ”Rui”;



 • SELECT * FROM MeusCDs.amigos WHERE nome > ‘Carlos’;




 • SELECT * FROM MeusCDs.amigos WHERE nome > Carlos;
   “Unknown column ‘Carlos’ in ‘WHERE clause’
SQL: SELECT ... WHERE ... LIKE



Wildcards em SQL com operador LIKE

  • “_” -> pode ser substituído por qualquer caracter (mas apenas 1)
  • “%” -> pode ser substituído por 0 ou mais caracteres


  • SELECT * FROM MeusCDs.amigos WHERE nome LIKE ”R%”;



  • SELECT * FROM MeusCDs.amigos WHERE nome LIKE ”r%”;
SQL: SELECT ... WHERE ...



  • SELECT * FROM MeusCDs.amigos WHERE nome LIKE ”%o%”;




As condições também podem incluir os operadores lógicos: AND, OR e NOT

  • SELECT * FROM MeusCDs.amigos
    WHERE nome="pedro" OR email LIKE "r%";
SQL: SELECT ... ORDER BY ...

Os resultados finais podem ser ordenados pelos valores de uma ou mais
colunas
  • SELECT nome_colunas
    FROM nome_tabela
    ...
    ORDER BY nome_coluna(s) [ASC|DESC]

A ter em atenção:
  • a coluna que tem mais prioridade é a que aparece primeiro na lista de
    colunas
  • por defeito, a ordenação é ascendente
SQL: SELECT ... ORDER BY ...



 • SELECT * FROM MeusCDs.amigos ORDER BY nome;




 • SELECT * FROM MeusCDs.amigos ORDER BY nome DESC;
SQL: SELECT ... LIMIT ...

Os resultados finais podem ser limitados a uma determinada gama de
resultados
  • SELECT nome_colunas
    FROM nome_tabela
    LIMIT X,Y;

A ter em atenção:
  • X é o índice do primeiro elemento do resultado global que queremos obter
  • Y é o número de resultados
  • mecanismo muito útil para criar sistemas de paginação! Porquê?
SQL: SELECT ... LIMIT ...



 • SELECT * FROM MeusCDs.amigos LIMIT 1,2;




 • SELECT * FROM MeusCDs.amigos LIMIT 3,100;

Mais conteúdo relacionado

Mais procurados

CSS - Cascading Style Sheets - 1
CSS - Cascading Style Sheets - 1CSS - Cascading Style Sheets - 1
CSS - Cascading Style Sheets - 1Israel Messias
 
CSS - Cascading Style Sheets - 2
CSS - Cascading Style Sheets - 2CSS - Cascading Style Sheets - 2
CSS - Cascading Style Sheets - 2Israel Messias
 
Linguagem SQL (com MySQL)
Linguagem SQL (com MySQL)Linguagem SQL (com MySQL)
Linguagem SQL (com MySQL)Marco Pinheiro
 
I series 400 query 2014
I series 400   query 2014I series 400   query 2014
I series 400 query 2014Luis Panao
 
Comandos DDL para o MySQL
Comandos DDL para o MySQLComandos DDL para o MySQL
Comandos DDL para o MySQLArley Rodrigues
 
Desenvolvimento web com vs2012: Uma visão geral
Desenvolvimento web com vs2012: Uma visão geralDesenvolvimento web com vs2012: Uma visão geral
Desenvolvimento web com vs2012: Uma visão geralHelder Lopes
 
Sql - Introdução ao mysql
Sql - Introdução ao mysqlSql - Introdução ao mysql
Sql - Introdução ao mysqlArley Rodrigues
 
Seminário de banco de dados i
Seminário de banco de dados iSeminário de banco de dados i
Seminário de banco de dados ijoaofonsecaf
 
Conceitos Basicos em Banco de Dados
Conceitos Basicos em Banco de DadosConceitos Basicos em Banco de Dados
Conceitos Basicos em Banco de DadosAlefe Variani
 
Bancos de Dados para Bibliotecários
Bancos de Dados para BibliotecáriosBancos de Dados para Bibliotecários
Bancos de Dados para BibliotecáriosLuciano Ramalho
 

Mais procurados (17)

Sql - introdução
Sql -  introduçãoSql -  introdução
Sql - introdução
 
Php Básico - Parte 2
Php Básico - Parte 2Php Básico - Parte 2
Php Básico - Parte 2
 
CSS - Cascading Style Sheets - 1
CSS - Cascading Style Sheets - 1CSS - Cascading Style Sheets - 1
CSS - Cascading Style Sheets - 1
 
CSS - Cascading Style Sheets - 2
CSS - Cascading Style Sheets - 2CSS - Cascading Style Sheets - 2
CSS - Cascading Style Sheets - 2
 
Linguagem SQL (com MySQL)
Linguagem SQL (com MySQL)Linguagem SQL (com MySQL)
Linguagem SQL (com MySQL)
 
I series 400 query 2014
I series 400   query 2014I series 400   query 2014
I series 400 query 2014
 
Gestão da Aplicação
Gestão da AplicaçãoGestão da Aplicação
Gestão da Aplicação
 
Comandos DDL para o MySQL
Comandos DDL para o MySQLComandos DDL para o MySQL
Comandos DDL para o MySQL
 
Dream 06
Dream 06Dream 06
Dream 06
 
1ª aula php
1ª aula php1ª aula php
1ª aula php
 
Desenvolvimento web com vs2012: Uma visão geral
Desenvolvimento web com vs2012: Uma visão geralDesenvolvimento web com vs2012: Uma visão geral
Desenvolvimento web com vs2012: Uma visão geral
 
Sql - Introdução ao mysql
Sql - Introdução ao mysqlSql - Introdução ao mysql
Sql - Introdução ao mysql
 
Seminário de banco de dados i
Seminário de banco de dados iSeminário de banco de dados i
Seminário de banco de dados i
 
Conceitos Basicos em Banco de Dados
Conceitos Basicos em Banco de DadosConceitos Basicos em Banco de Dados
Conceitos Basicos em Banco de Dados
 
Xml
XmlXml
Xml
 
Bancos de Dados para Bibliotecários
Bancos de Dados para BibliotecáriosBancos de Dados para Bibliotecários
Bancos de Dados para Bibliotecários
 
Aprofundamento de DDL e DML
Aprofundamento de DDL e DMLAprofundamento de DDL e DML
Aprofundamento de DDL e DML
 

Destaque

Institutions
InstitutionsInstitutions
Institutions960940
 
El ( ii )imperio napoleónico
El  ( ii )imperio napoleónicoEl  ( ii )imperio napoleónico
El ( ii )imperio napoleónicojesonatxo
 
Autisme bij vrouwen door Annelies Spek (2-3-2013)
Autisme bij vrouwen door Annelies Spek (2-3-2013)Autisme bij vrouwen door Annelies Spek (2-3-2013)
Autisme bij vrouwen door Annelies Spek (2-3-2013)MEE Gelderse Poort
 
ΦΩΤΟΒΟΛΤΑΪΚΑ ΣΥΣΤΗΜΑΤΑ, ΚΙΝΔΥΝΟΙ ΚΑΤΑ ΤΗΝ ΚΑΤΑΣΒΕΣΗ ΠΥΡΚΑΓΙΩΝ
ΦΩΤΟΒΟΛΤΑΪΚΑ ΣΥΣΤΗΜΑΤΑ, ΚΙΝΔΥΝΟΙ ΚΑΤΑ ΤΗΝ ΚΑΤΑΣΒΕΣΗ ΠΥΡΚΑΓΙΩΝΦΩΤΟΒΟΛΤΑΪΚΑ ΣΥΣΤΗΜΑΤΑ, ΚΙΝΔΥΝΟΙ ΚΑΤΑ ΤΗΝ ΚΑΤΑΣΒΕΣΗ ΠΥΡΚΑΓΙΩΝ
ΦΩΤΟΒΟΛΤΑΪΚΑ ΣΥΣΤΗΜΑΤΑ, ΚΙΝΔΥΝΟΙ ΚΑΤΑ ΤΗΝ ΚΑΤΑΣΒΕΣΗ ΠΥΡΚΑΓΙΩΝVagelis Falaras
 

Destaque (7)

ELTOMA CORPORATATE SERVICES Russian
ELTOMA CORPORATATE SERVICES RussianELTOMA CORPORATATE SERVICES Russian
ELTOMA CORPORATATE SERVICES Russian
 
Institutions
InstitutionsInstitutions
Institutions
 
Yunano
YunanoYunano
Yunano
 
Aaaaa
AaaaaAaaaa
Aaaaa
 
El ( ii )imperio napoleónico
El  ( ii )imperio napoleónicoEl  ( ii )imperio napoleónico
El ( ii )imperio napoleónico
 
Autisme bij vrouwen door Annelies Spek (2-3-2013)
Autisme bij vrouwen door Annelies Spek (2-3-2013)Autisme bij vrouwen door Annelies Spek (2-3-2013)
Autisme bij vrouwen door Annelies Spek (2-3-2013)
 
ΦΩΤΟΒΟΛΤΑΪΚΑ ΣΥΣΤΗΜΑΤΑ, ΚΙΝΔΥΝΟΙ ΚΑΤΑ ΤΗΝ ΚΑΤΑΣΒΕΣΗ ΠΥΡΚΑΓΙΩΝ
ΦΩΤΟΒΟΛΤΑΪΚΑ ΣΥΣΤΗΜΑΤΑ, ΚΙΝΔΥΝΟΙ ΚΑΤΑ ΤΗΝ ΚΑΤΑΣΒΕΣΗ ΠΥΡΚΑΓΙΩΝΦΩΤΟΒΟΛΤΑΪΚΑ ΣΥΣΤΗΜΑΤΑ, ΚΙΝΔΥΝΟΙ ΚΑΤΑ ΤΗΝ ΚΑΤΑΣΒΕΣΗ ΠΥΡΚΑΓΙΩΝ
ΦΩΤΟΒΟΛΤΑΪΚΑ ΣΥΣΤΗΜΑΤΑ, ΚΙΝΔΥΝΟΙ ΚΑΤΑ ΤΗΝ ΚΑΤΑΣΒΕΣΗ ΠΥΡΚΑΓΙΩΝ
 

Semelhante a LabMM4 (T06 - 12/13) - Auto-associações e Introdução ao SQL

Semelhante a LabMM4 (T06 - 12/13) - Auto-associações e Introdução ao SQL (20)

Banco de Dados.pptx
Banco de Dados.pptxBanco de Dados.pptx
Banco de Dados.pptx
 
Agbd aula4 sql_ddl
Agbd aula4 sql_ddlAgbd aula4 sql_ddl
Agbd aula4 sql_ddl
 
Sql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumoSql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumo
 
Sql
SqlSql
Sql
 
Aula 10 banco de dados
Aula 10   banco de dadosAula 10   banco de dados
Aula 10 banco de dados
 
Consultas SQL
Consultas SQLConsultas SQL
Consultas SQL
 
Data WareHOuse
Data WareHOuseData WareHOuse
Data WareHOuse
 
Aula 10 banco de dados
Aula 10   banco de dadosAula 10   banco de dados
Aula 10 banco de dados
 
Sql01
Sql01Sql01
Sql01
 
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
 
TOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQLTOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQL
 
Apostila de sql
Apostila de sqlApostila de sql
Apostila de sql
 
07 sql - parte 01
07   sql - parte 0107   sql - parte 01
07 sql - parte 01
 
Modulo 15 PSI
Modulo 15 PSIModulo 15 PSI
Modulo 15 PSI
 
Apresentação cassandra
Apresentação cassandraApresentação cassandra
Apresentação cassandra
 
Basesdedados
BasesdedadosBasesdedados
Basesdedados
 
Bdm aula 9 - operações sql - ticianne darin
Bdm   aula 9 - operações sql - ticianne darinBdm   aula 9 - operações sql - ticianne darin
Bdm aula 9 - operações sql - ticianne darin
 
SQL Oracle
SQL OracleSQL Oracle
SQL Oracle
 
6338 111121071604-phpapp01
6338 111121071604-phpapp016338 111121071604-phpapp01
6338 111121071604-phpapp01
 
Bd ii material
Bd ii   materialBd ii   material
Bd ii material
 

Mais 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
 

Mais 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

2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamentalAntônia marta Silvestre da Silva
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptxMarlene Cunhada
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfMarianaMoraesMathias
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memorialgrecchi
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreElianeElika
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 
Noções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdfNoções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdflucassilva721057
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdfPortfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdfjanainadfsilva
 
A poesia - Definições e Característicass
A poesia - Definições e CaracterísticassA poesia - Definições e Característicass
A poesia - Definições e CaracterísticassAugusto Costa
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfMárcio Azevedo
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 

Último (20)

2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptx
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memoria
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 
Noções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdfNoções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdf
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdfPortfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
 
A poesia - Definições e Característicass
A poesia - Definições e CaracterísticassA poesia - Definições e Característicass
A poesia - Definições e Característicass
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdf
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 

LabMM4 (T06 - 12/13) - Auto-associações e Introdução ao SQL

  • 1. Bases de dados: Auto-associações SQL: SELECT Carlos Santos LabMM 4 - NTC - DeCA - UA Aula 06, 05-03-2013
  • 2. Auto-associações Pretende-se modelar a seguinte situação numa BD: • Num escritório os funcionários possuem (ou não) um superior hierárquico • Cada funcionário pode ter um único superior hierárquico • Cada superior hierárquico pode coordenar vários funcionários Como modelar esta relação numa BD? Funcionarios idFuncionarios Nome
  • 3. Auto-associações Como a FK pode admitir valores nulos e valores repetidos • Um funcionário pode ser superior hierárquico de vários outros • Podem existir funcionários sem superior hierárquico Se a FK não permitir valores nulos (NOT NULL) • Não podem existir funcionários sem superior hierárquico Se FK não permitir valores repetidos (UNIQUE) • Cada funcionário só pode ser superior hierárquico de um único funcionário • (a relação transforma-se numa 1:1)
  • 4. Auto-associações (solução alternativa) Utilizar uma tabela de relação com duas chaves estrangeiras que apontam para a mesma chave primária! Cada uma das FK não admite valores nulos por ser parte duma chave primária composta. No entanto: • Funcionarios_idFuncionarios e Funcionarios_idFuncionarios1 podem ser configuradas com o parâmetro UNIQUE para evitar os valores repetidos em cada uma das colunas Nota: se a relação é do tipo 1:M, esta representação física não está totalmente correta. Ver a discussão iniciado do grupo no SAPO Campus!
  • 5. Auto-associações (solução alternativa) Diferentes possibilidades: • M:M - Se as duas FK admitirem valores repetidos (em cada uma das colunas) • 1:M - Se apenas uma das FK admitir valores repetidos • 1:1 - Se nenhuma das FK admitir valores repetidos
  • 6. SQL | Structured Query Language Desenvolvida no início dos anos 70. Permite a interação com os SGBD e as BD aí existentes. É suportada por todos os SGBDR (embora com pequenas diferenças). Está estruturada em várias categorias: • Data Query Language (DQL) – consultar os dados existentes na BD • SELECT • Data Manipulation Language (DML) – criar e modificar os dados na BD • INSERT, UPDATE, DELETE • Data Definition Language (DDL) – criar e modificar objectos da BD (tabelas, views, …), ou a própria BD • CREATE, ALTER, DROP • Data Control Language (DCL) – gerir os privilégios dos utilizadores na gestão da BD, dos seus objectos e dos dados aí existentes • GRANT, REVOKE
  • 7. SQL: SELECT Vamos considerar como exemplo o exercício de gestão dos CDs. A base de dados designa-se “MeusCDs” e existe uma tabela com os “Amigos” • SELECT * FROM MeusCDs.Amigos; “Devolve todos os campos de todos os registos existentes na tabela Amigos da BD MeusCDs” • SELECT nome, email FROM MeusCDs.amigos; “Devolve os campos nome e email de todos os registos existentes na tabela Amigos da BD MeusCDs”
  • 8. SQL: SELECT ... WHERE Para selecionar um determinado conjunto de registos utiliza-se a cláusula WHERE • SELECT nome_colunas FROM nome_tabela WHERE nome_coluna operador valor; A ter em atenção: • a coluna da condição não tem que estar na lista nome_colunas • um valor do tipo string é escrito como “valor” ou ‘valor’ • os operadores possíveis de utilizar são: =, <>, >, <, >=, <=, BETWEEN, LIKE e IN • o operador LIKE só deve ser utilizado para pesquisas em campos do tipo string
  • 9. SQL: SELECT ... WHERE • SELECT * FROM MeusCDs.amigos WHERE nome = ”Rui”; • SELECT * FROM MeusCDs.amigos WHERE nome > ‘Carlos’; • SELECT * FROM MeusCDs.amigos WHERE nome > Carlos; “Unknown column ‘Carlos’ in ‘WHERE clause’
  • 10. SQL: SELECT ... WHERE ... LIKE Wildcards em SQL com operador LIKE • “_” -> pode ser substituído por qualquer caracter (mas apenas 1) • “%” -> pode ser substituído por 0 ou mais caracteres • SELECT * FROM MeusCDs.amigos WHERE nome LIKE ”R%”; • SELECT * FROM MeusCDs.amigos WHERE nome LIKE ”r%”;
  • 11. SQL: SELECT ... WHERE ... • SELECT * FROM MeusCDs.amigos WHERE nome LIKE ”%o%”; As condições também podem incluir os operadores lógicos: AND, OR e NOT • SELECT * FROM MeusCDs.amigos WHERE nome="pedro" OR email LIKE "r%";
  • 12. SQL: SELECT ... ORDER BY ... Os resultados finais podem ser ordenados pelos valores de uma ou mais colunas • SELECT nome_colunas FROM nome_tabela ... ORDER BY nome_coluna(s) [ASC|DESC] A ter em atenção: • a coluna que tem mais prioridade é a que aparece primeiro na lista de colunas • por defeito, a ordenação é ascendente
  • 13. SQL: SELECT ... ORDER BY ... • SELECT * FROM MeusCDs.amigos ORDER BY nome; • SELECT * FROM MeusCDs.amigos ORDER BY nome DESC;
  • 14. SQL: SELECT ... LIMIT ... Os resultados finais podem ser limitados a uma determinada gama de resultados • SELECT nome_colunas FROM nome_tabela LIMIT X,Y; A ter em atenção: • X é o índice do primeiro elemento do resultado global que queremos obter • Y é o número de resultados • mecanismo muito útil para criar sistemas de paginação! Porquê?
  • 15. SQL: SELECT ... LIMIT ... • SELECT * FROM MeusCDs.amigos LIMIT 1,2; • SELECT * FROM MeusCDs.amigos LIMIT 3,100;