LabMM4 (T08 - 12/13) - SQL continuação
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

LabMM4 (T08 - 12/13) - SQL continuação

  • 896 views
Uploaded on

 

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
896
On Slideshare
892
From Embeds
4
Number of Embeds
1

Actions

Shares
Downloads
61
Comments
0
Likes
1

Embeds 4

http://campus.sapo.pt 4

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Bases de dados: SQL (continuação)Carlos SantosLabMM 4 - NTC - DeCA - UAAula 08, 12-03-2013
  • 2. Modelo lógico vs modelo físicoO modelo lógico representa todas as lógicas inerentes ao problema:tabelas, campos, chaves primárias e as suas relações. Deve incluir: • entidades e respetivos atributos • chaves primárias • propriedades de relações • relações e seus tiposO modelo físico é uma versão mais completa do modelo lógico, sendoadicionada a informação necessária para que esse modelo possa serimplementado num SGBDR. Deve incluir: • chaves estrangeiras • tabelas de relação • identificação do tipo de dados e suas características especiais (UN,NN,...)
  • 3. SQL | Operadores e algumas funçõessímbolo descrição exemplo observações= Igual EmployeeNo = 2> Maior EmployeeNo > 2< Menor EmployeeNo < 2<> Diferente EmployeeNo <> 2>= Maior ou igual EmployeeNo >= 2<= Menor ou igual EmployeeNo <= 2IN Igual a um valor dentro de uma EmployeeNo IN (2,3,4) colecção de valoresLIKE Similar LastName LIKE ‘Nunes’BETWEEN ... AND Dentro de um conjunto de valores, EmployeeNo BETWEEN 2 AND Equivalente a: incluindo os limites 4 EmployeeNo IN (2,3,4)IS NULL DateEmployed IS NULLIS NOT NULL DateEmployed IS NOT NULLNOW() Devolve a DATA e HORA do servidor
  • 4. SQL | Operadores LógicosAND, OR e NOT • Estes operadores têm uma prioridade inferior relativamente aos apresentados no slide anterior • As prioridades podem ser alteradas através da utilização de ( ) símbolo descrição exemplo observações AND As duas expressões SalesNo > 3 AND Customer O AND tem maior prioridade do que têm que ter o valor < “Smith” o OR verdadeiro para o resultado final ser verdadeiro OR Se qualquer uma das SalesNo > 3 OR Customer < expressões tiver o “Smith” valor verdadeiro, o resultado final é verdadeiro NOT Inverte o resultado SalesNo NOT IN (2; 3; 4) booleano
  • 5. SQL: SELECT DISTINCT … FROMSELECT oficinasql.viaturas.MarcaFROM oficinasql.viaturas;SELECT DISTINCT oficinasql.viaturas.MarcaFROM oficinasql.viaturas;
  • 6. SQL: SELECT … FROM ... WHERE • SELECT oficinasql.viaturas.Marca, oficinasql.viaturas.Modelo FROM oficinasql.viaturas WHERE oficinasql.viaturas.Marca < Fiat OR oficinasql.viaturas.Marca > Smart; • SELECT oficinasql.viaturas.Marca, oficinasql.viaturas.Modelo FROM oficinasql.viaturas WHERE ((oficinasql.viaturas.Marca < Fiat) OR (oficinasql.viaturas.Marca > Smart)) AND oficinasql.viaturas.Modelo LIKE ‘C%’;
  • 7. SQL: SELECT … FROM ... WHERE • SELECT oficinasql.viaturas.Marca, oficinasql.viaturas.Modelo FROM oficinasql.viaturas WHERE oficinasql.viaturas.Marca IN (Citroen, Smart); • SELECT oficinasql.viaturas.Marca, oficinasql.viaturas.Modelo FROM oficinasql.viaturas WHERE oficinasql.viaturas.Marca BETWEEN "Ferrari" AND "Renault" ORDER BY oficinasql.viaturas.Marca;
  • 8. SQL: exemplos • SELECT oficinasql.viaturas.Marca, oficinasql.viaturas.Modelo FROM oficinasql.viaturas WHERE oficinasql.viaturas.DataVenda IS NULL; • SELECT oficinasql.viaturas.Marca, oficinasql.viaturas.Modelo FROM oficinasql.viaturas WHERE oficinasql.viaturas.DataVenda IS NOT NULL;
  • 9. SQL: exemplos • SELECT oficinasql.viaturas.Marca FROM oficinasql.viaturas WHERE NOT oficinasql.viaturas.Marca IN ("Subaru", "Ferrari", "Renault");
  • 10. SQL: Funções pré-definidasFunções pré-definidas que trabalham sobre grupos de dados • AVG – valor médio • MIN– valor mínimo • MAX – valor máximo • COUNT – número de elementos • SUM – soma
  • 11. SQL: Funções pré-definidas • SELECT MAX(oficinasql.viaturas.Preco) FROM oficinasql.viaturas; • SELECT COUNT(oficinasql.viaturas.Modelo) FROM oficinasql.viaturas;
  • 12. SQL: AS • SELECT COUNT(oficinasql.viaturas.Modelo) AS TotalViaturas FROM oficinasql.viaturas; TotalViaturas • SELECT COUNT(oficinasql.viaturas.Modelo) FROM oficinasql.viaturas AS tViat ... a partir daqui podemos utilizar “tViat” sempre que for necessário referir a tabela “oficinasql.viaturas”;
  • 13. SQL: Funções pré-definidas • SELECT oficinasql.viaturas.Marca, COUNT(oficinasql.viaturas.Modelo) FROM oficinasql.viaturas GROUP BY oficinasql.viaturas.Marca;
  • 14. SQL INSERTINSERT INTO oficinasql.clientes VALUES (NULL, Joaquim Soares,981234567, ‘Rua Estreita); • Desta forma inserem-se valores em todos os campos da tabela pela ordem como estão declaradas as colunas • Utiliza-se o NULL em campos com AI (por exemplo, no caso da PK) ou onde não se queira inserir informação
  • 15. SQL INSERTINSERT INTO oficinasql.clientes (Nome,Idade) VALUES (SerafimSaudade, 24); • Podem inserir-se valores apenas em alguns campos • Campos com AI serão actualizados automaticamente
  • 16. SQL UPDATEUPDATE oficinasql.clientesSET oficinasql.clientes.Nome = "Serafim Saudoso",oficinasql.clientes.Idade = 65WHERE oficinasql.clientes.idClientes = 12;