TECNOLOGIA EM SISTEMAS PARA INTERNET Banco de dados em aplicativos WEB Aula 10 1 01/08/2011 Professor Leomir J. Borba- –http://professorleomir.wordpress.com.

Slides:



Advertisements
Apresentações semelhantes
01/08/2011 Professor Leomir J. Borba- –
Advertisements

09/05/2011 Professor Leomir J. Borba- –
O Comando DROP INDEX Para eliminar um índice definido sobre uma tabela, utilize: Drop Index on ; Ex: No Access: Drop Index X on.
Banco de Dados Prof. Antonio.
SQL Avançado Continuação
SQL Structured Query Language (continuação)
01/08/2011 Professor Leomir J. Borba- –
TECNOLOGIA EM SISTEMAS PARA INTERNET Banco de dados em aplicativos WEB Aula /08/2011 Professor Leomir J. Borba- –
BANCO DE DADOS EM APLICATIVOS WEB Aula 13
BANCO DE DADOS EM APLICATIVOS WEB Aula 14
BANCO DE DADOS EM APLICATIVOS WEB Aula 15
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula /08/2011 Professor Leomir J. Borba-
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula /08/2011 Professor Leomir J. Borba-
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula /08/2011 Professor Leomir J. Borba-
TECNOLOGIA EM REDES DE COMPUTADORES Algoritmos e programação de computadores Aula /08/2011 Professor Leomir J. Borba-
TECNOLOGIA EM REDES DE COMPUTADORES Algoritmos e programação de computadores Aula /08/2011 Professor Leomir J. Borba-
03/08/2011 Professor Leomir J. Borba- –
Prof.: Bruno Rafael de Oliveira Rodrigues
Banco de Dados Bruno Rafael de Oliveira Rodrigues.
Prof.: Bruno Rafael de Oliveira Rodrigues
SISTEMAS DE INFORMAÇÃO Sistemas de Bancos de Dados 2º Semestre – 2010 Pedro Antonio Galvão Junior Fone: 9531 – 7555.
Gerenciamento de Banco de Dados
SQL – Comandos de Agregação
Restrições de Integridade
SQL – Consultas Básicas
SQL – Noções Gerais Por Márcia Jacyntha N. Rodrigues Lucena
SQL – DML Consultas envolvendo relacionamentos entre tabelas
SQL – DML Consulta a dados de uma tabela
Ordenação de Resultados
Operadores Especiais da SQL
SCC Bancos de Dados e Suas Aplicações
SCC Bancos de Dados e Suas Aplicações
Operação de União “JOIN”
Linguagem de Banco de Dados - SQL
Bancos de Dados I Renata Viegas
Banco de dados Profª Kelly Medeiros.
Equipe de monitoria Aula prática 2. Apresentação do caso de estudo Conceitual Lógico Algumas informações iniciais Consultas e exercícios Surpresa... =)
Prof. Alfredo Parteli Gomes
SISTEMAS DE INFORMAÇÃO – UNIESP/2010
Monitoria GDI Aula Prática
Monitoria GDI Aula Prática
Capítulo 24 Segurança de banco de dados
CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 1
Otimizador de consultas
Design Patterns / Acesso ao banco de dados (java.sql)
TECNOLOGIA EM SISTEMAS PARA INTERNET Banco de dados em aplicativos WEB Aula /08/2011 Professor Leomir J. Borba- –
Sistemas de Informação Prof. Carlos Alberto Seixas Banco de Dados II /01 UNIESP
Desenvolvendo um script SQL
Modelagem de Dados Aula 3
Baseado no material do Professor Raul Paradeda
Comandos SQL.
REVISÃO Comandos SQL - DML SELECT * FROM ?.
ENGENHARIA CIVIL COMPUTAÇÃO APLICADA Aula /08/2011 Professor Leomir J. Borba- –
Projeto de Banco de Dados Profa. Ceça
©Silberschatz, Korth and Sudarshan (modificado)4.1.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação.
Treinamento SQL Server
Prof. Alessandro Gonçalves
AULA DE DÚVIDAS 9 de Abril de Especialização  Simplifica-se quando:  especialização é disjunta e  especialização é total e  não há relações.
Banco de Dados I I Comandos SQL
IEC Banco de Dados I Aula 04 – SQL (II) Turmas: Sistemas de Informação Professora: André Luiz da Costa Carvalho
1 Structured Query Language (SQL) 4 SQL é uma linguagem normalizada (ANSI) para consultas e actualizações de bases de dados relacionais.
©Silberschatz, Korth and Sudarshan (modificado)4.2.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação.
Fundamento de Banco de Dados
Aula 09: Comando SELECT: Ligações entre tabelas e Subconsultas
UCSal – Bacharelado em Informática
Linguagem de definição de dados - SQL
Fundamentos de Banco de Dados Prof. André Cypriano M. Costa
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Capítulo 4 SQL básica.
Programação para Internet Aula 12 SQL (Comandos de Consulta ao BD)
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Capítulo 5 Mais SQL: Consultas Complexas, Triggers e Views.
Transcrição da apresentação:

TECNOLOGIA EM SISTEMAS PARA INTERNET Banco de dados em aplicativos WEB Aula /08/2011 Professor Leomir J. Borba- –

Agenda Linguagem SQL Consultas interativas – continuação Linguagem SQL – exercícios. Bibliografia 2 01/08/2011 Professor Leomir J. Borba- –

Linguagem SQL Consultas interativas –continuação Tabela de Junção: Inner join – Tipo Padrão, apenas pares de tuplas que combinam com a condição de junção, o mesmo que join. Ex. : SELECT * FROM employee, department WHERE employee.DepartmentID = department.DepartmentID; 3 01/08/2011 Professor Leomir J. Borba- – Employee.L astName Employee.D epartmentI D Department.Departmen tName Department.Departmen tID Robinson34Clerical34 Jones33Engineering33 Smith34Clerical34 Steinberg33Engineering33 Rafferty31Sales31

Linguagem SQL Consultas interativas –continuação Variações de Outer Join - continuação: Left outer join – Toda tupla na tabela da esquerda precisa aparecer no resultado, se ela não tiver tupla tupla combinando, ela é preeenchida com valores null para os atributos da tabela da direita. SELECT * FROM employee LEFT OUTER JOIN department ON employee.DepartmentID = department.DepartmentID; 4 01/08/2011 Professor Leomir J. Borba- – Employee.LastName Employee.Department ID Department.Departme ntName Department.Departme ntID Jones33Engineering33 Rafferty31Sales31 Robinson34Clerical34 Smith34Clerical34 JohnNULL Steinberg33Engineering33

Linguagem SQL Consultas interativas –continuação Variações de Outer Join - continuação: Right Outer join – Toda tupla da tabela da direita precisa aparecer no resultado, se não houver combinação ela é preenchida com valores null para os atributos da tabela esquerda. SELECT * FROM employee RIGHT OUTER JOIN department ON employee.DepartmentID = department.DepartmentID; 5 01/08/2011 Professor Leomir J. Borba- – Employee.LastNameEmployee.DepartmentID Department.DepartmentN ame Department.DepartmentID Smith34Clerical34 Jones33Engineering33 Robinson34Clerical34 Steinberg33Engineering33 Rafferty31Sales31 NULL Marketing35

Linguagem SQL Consultas interativas –continuação Variações de Outer Join: Full outer Join – Combina Left e right outer join, combinando os resultados, onde não houver combinação os valores null serão atribuídos para cada relação. Nos permite ver por exemplo cada funcionário que esta em um departamento e também os funcionários que não tem departamento. SELECT * FROM employee FULL OUTER JOIN department ON employee.DepartmentID = department.DepartmentID; * Não suportado por alguns BD como MySQL, emula com union 6 01/08/2011 Professor Leomir J. Borba- – Employee.LastNameEmployee.DepartmentID Department.DepartmentN ame Department.DepartmentID Smith34Clerical34 Jones33Engineering33 Robinson34Clerical34 John NULL Steinberg33Engineering33 Rafferty31Sales31 NULL Marketing35

Linguagem SQL Consultas interativas –continuação Funções de agregação em SQL. Funções são usadas para resumir informações de varias tuplas em uma síntese de tupla única. Count – Retorna numero de tuplas ou valores SUM – Retorna soma de um conjunto valores. MAX – Retorna Valor Maximo de um conjunto de valores MIN – Retorna Valor Mínimo de um conjunto de Valores AVG – Retorna a Media de um conjunto de valores. Ex. : Soma dos salários de todos os funcionários, o maior salário, o menor salário e a media dos salários e numero total de funcionários. Select sum(salario), max(salario), min(salario), avg(salario), count(*) from funcionario; 7 01/08/2011 Professor Leomir J. Borba- –

Linguagem SQL Consultas interativas –continuação Agrupamento : Cláusulas GROUP BY e HAVING Agrupamento é usado para criar subgrupos de tuplas antes do resumo. Clausula group By – Especifica atributos de agrupamento que tambem devem aparecer na clausula select. Ex.: Selecionar por departamento o numero do funcionário, numero do departamento e salário médio. Select Dnr, count(*), avg(salario) from funcionario group by Dnr; 8 01/08/2011 Professor Leomir J. Borba- –

Linguagem SQL Consultas interativas –continuação Agrupamento : Cláusulas GROUP BY e HAVING Clausula Having – Usada em conjunto com clausula group by restringe resultado a tuplas que satisfaçam uma condição Ex.: Para projetos com mais de dois funcionários, selecionar numero e nome do projeto e o numero de funcionários SELECT Projnumero, Projnome, count(*) FROM projeto, trabalha_em WHERE Projnumero=Pnr GROUP BY Projenumero, Projnome HAVING COUNT(*)>2 9 01/08/2011 Professor Leomir J. Borba- –

Linguagem SQL Consultas interativas –continuação Agrupamento : Cláusulas GROUP BY e HAVING Clausula Having – Continuação Muito cuidado com duas condições diferentes na mesma consulta Ex.: Consulta com numero total de funcionários com salarios > R$ ,00 por departamento. Errado : SELECT Dnome, COUNT(*) FROM Departamento,Funcionario WHERE Dnumero=Dnr AND Salario> GROUP BY Dnome HAVING COUNT(*)>5 Correto: SELECT Dnome, COUNT(*) FROM Departamento,Funcionario WHERE Dnumero=Dnr AND Salario> AND (SELECT Dnr IN FROM FUNCIONARIO GROUP BY Dnr HAVING COUNT(*)>5); 10 01/08/2011 Professor Leomir J. Borba- –

Linguagem SQL Consultas interativas –continuação Especificando Restrições como asserções e ações como triggers – CREATE ASSERTION E CREATE TRIGGER CREATE ASSSERTION – Asserção declarativa usada para especificar restrições adicionais fora do escopo de restrições embutidas (Chave Primária e única, integridade de entidade e integridade referencial) Ex.: Salario de funcionario não pode Ser maior que salario do gerente do Departamento onde trabalha. Pode ser usada, alterada ou excluída Mais tarde através do nome 11 01/08/2011 Professor Leomir J. Borba- –

Linguagem SQL Consultas interativas –continuação Especificando Restrições como asserções e ações como triggers – CREATE ASSERTION E CREATE TRIGGER CREATE TRIGGER - Especifica ação a ser tomada em ocorrência de eventos e condições específicos Ex. de ações, envio de mensagens pelo SGBD, executar stored procedures ou disparar atualizações. Ex. de eventos, em geral operações de atualizações ao banco de dados. Ex.: Verificar se salário de funcionário > salário de supervisor e informar o supervisor 12 01/08/2011 Professor Leomir J. Borba- –

Linguagem SQL Consultas interativas –continuação Exercícios 1.Descreva as seis clausulas da sintaxe de uma consulta de recuperação SQL. Mostre os tipos de construções que podem ser especificados em cada uma das clausulas. Quais das seis clausulas são obrigatórias /08/2011 Professor Leomir J. Borba- –

Linguagem SQL Consultas interativas –continuação Exercícios 14 01/08/2011 Professor Leomir J. Borba- –

Linguagem SQL Consultas interativas –continuação Exercícios – Diagrama para esquema de BD Empresa /08/2011 Professor Leomir J. Borba- –

Linguagem SQL Consultas interativas –continuação Exercícios – Estado possível para BD Empresa 16 01/08/2011 Professor Leomir J. Borba- –

Linguagem SQL Consultas interativas –continuação Exercícios – Estado possível para BD Empresa continuação 17 01/08/2011 Professor Leomir J. Borba- –

Linguagem SQL Consultas interativas –continuação Exercícios – Estado possível para BD Empresa continuação 18 01/08/2011 Professor Leomir J. Borba- –

Bibliografia 01/08/2011 Professor Leomir J. Borba- – 19 BIBLIOGRAFIA BÁSICA 1 DATE, C.J. Introdução a Sistemas de Bancos de Dados. 8ª Ed. Rio de Janeiro: Campus, NAVATHE, S. B.; ELMASRI, R. E. Sistemas de Banco de Dados, 4ª edição, Editora Pearson Addison Wesley, SETZER, V. W., SILVA, F.S.C. Banco de Dados. 1ª Ed. São Paulo: Edgard Blucher, BIBLIOGRAFIA COMPLEMENTAR 4 COUGO, P. Modelagem Conceitual e Projeto de Banco de Dados, Editora Campus. 5 KORTH, H. F.; SILBERSCHATZ, A.; SUDARSHAN, S., Sistemas de Banco de Dados, Editora Makron Books, MACHADO, Felipe Nery Rodrigues: Análise Relacional de Sistemas; São Paulo: Editora Érica, SETZER, V.W., NASSU, E.A. Banco de Dados Orientados a Objetos. São Paulo: Ed. Edgard Blucher, 1999.