MODELO DE DADOS VS ESQUEMA



Documentos relacionados
Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento.

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas

Comandos de Manipulação

NOME SEXO CPF NASCIMENTO SALARIO

Tarefa Orientada 13 Agrupamento e sumário de dados

Tarefa Orientada 14 Subconsultas

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo )

Banco de Dados. Prof. Antonio

Banco de Dados Oracle 10g: Introdução à Linguagem SQL

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro.

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

SQL comando SELECT. SELECT [DISTINCT] <campos> FROM <tabela> [condição] [ ; ] Paulo Damico - MDK Informática Ltda.

Tarefa Orientada 16 Vistas

Tarefa Orientada 12 Junção Externa, Auto-Junção e União

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Projeto e Implementação

Principais Instruções em SQL. Contidas nesta apostila as principais instruções em SQL para a manutenção em Bancos de Dados.

Pedro F. Carvalho OCP Oracle g LINGUAGEM SQL. São José do Rio Preto

Introdução ao SQL Avançado

SQL Structured Query Language

Structured Query Language (SQL)

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1

Projeto de Banco de Dados

SQL DML. Frederico D. Bortoloti

Tarefa Orientada 15 Manipulação de dados

3) Palavra-chave distinct (select-from). Obter apenas os pibs distintos entre si.

1.264 Aula 7. Introdução ao SQL

DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS. Fábio Roberto Octaviano

Uma expressão básica em SQL consiste em três cláusulas: select, from e where.

Usando Subconsultas para Solucionar Consultas

Linguagem de Consulta Estruturada SQL- DML

1. SQL Instrumental Select Delete Update Insert Group by Having Unnion All...

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo )

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language)

Outlook Apresentação

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

Índice. Introdução 31. Tutorial 1: O Microsoft Access como Sistema de Gestão de Bases de Dados Relacionais 35

SQL Comandos para Relatórios e Formulários. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Avançado Continuação. Renata Viegas

Memória de aula Semanas 15 e 16

SQL BANCO DE DADOS. Linguagem de consulta SQL. Linguagem de consulta SQL. Linguagem de Consulta Estruturada

DML. SQL (Select) Verificando estrutura da tabela

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

LINGUAGEM SQL PARA CONSULTAS EM MICROSOFT ACCESS

Principais Instruções em SQL

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados

Prof. Ronaldo R. Goldschmidt. geocities.yahoo.com.br/ronaldo_goldschmidt

Curso Superior de Tecnologia em BD

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável.

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Tarefa Orientada 10 Obter informação a partir de uma tabela

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos

Banco de Dados. Marcio de Carvalho Victorino Exercícios SQL

Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. (

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva UFU/FACOM

f. Vocês podem selecionar todos os campos indicando-os, ou seja, sem usar * (boa prática) g. Muito relevante na manutenção de BD e de aplicações.

Banco de Dados I Linguagem SQL Parte 2. Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello

Múltiplas Tabelas. Disciplina de Banco de Dados

Fundamentos dos Sistemas de Informação Organização de Dados e Informações

UNIVERSIDADE VEIGA DE ALMEIDA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS BANCO DE DADOS

DML - SELECT Agrupando Dados

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Treinamento. DBA Oracle 11g. Duração: 120 horas

Persistência e Banco de Dados em Jogos Digitais

ENGENHARIA DA COMPUTAÇÃO BANCO DE DADOS I CONTEÚDO 5 ABORDAGEM RELACIONAL

SQL TGD/JMB 1. Projecto de Bases de Dados. Linguagem SQL

EXEMPLOS DE COMANDOS NO SQL SERVER

CICLO DE VIDA DE UM BD

Escrito por Sex, 14 de Outubro de :12 - Última atualização Seg, 26 de Março de :33

Nome: n.º WEB Série 2B 2C 2D 2E Barueri, 17/08/2009 2ª Postagem Disciplina: Gerenciamento e Estrutura de Banco de Dados Professor: Márcio

LINGUAGEM SQL PARA CONSULTAS EM MICROSOFT ACCESS

Banco de Dados. Um momento crucial na organização dos dados é a forma com que cadastramos estes dados, a estrutura de armazenamento que criamos.

Treinamento sobre SQL

Principais Comandos SQL Usados no MySql

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

SQL. Prof. Márcio Bueno.

Structured Query Language (SQL) SQL é uma linguagem normalizada (ANSI) para consultas e actualizações de bases de dados relacionais.

Disciplina: Unidade III: Prof.: Período:

Memória de aula Aulas 11 e 12

MODELO RELACIONAL - UFMA

Índice. Introdução Tutorial 1: O Microsoft Access como Sistema de Gestão de Bases de Dados Relacionais... 35

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Bancos de Dados III. Bancos de Dados Distribuídos Especificação e Projeto Parte 1. Rogério Costa rogcosta@inf.puc-rio.br

SQL. Structured Query Language. Copyright Prof. Edison Andrade Martins Morais

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

BASES DE DADOS I LTSI/2. Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Introdução a Sistemas de Bancos de Dados

Programação SQL. INTRODUÇÃO II parte

RECUPERANDO DADOS eversantoro

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

Projeto de Banco de Dados Distribuído Proj o e j to t o de d B a B nc n o o d e d Da D do d s o D i D str t ibu b í u do d s

Tarefa Orientada 11 Junção Interna

Análise de Ponto de Função

BANCO DE DADOS. Fixação dos conteúdos Integridade Referencial Normalização Exercícios

Banco de Dados I. Introdução. Fabricio Breve

Consultas SQL Parte II

18/03/2012. Formação.

Tabela e Gráficos Dinâmicos Como estruturar dinamicamente dados no Excel

Transcrição:

MODELO DE DADOS VS ESQUEMA Um modelo de dados é um conjunto de conceitos usados para se descrever dados. Um esquema é uma descrição de uma determinada coleção de dados, descrição essa baseada num certo modelo de dados. O modelo relacional é o modelo de dados mais utilizado atualmente. 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. CLASSIFICAÇÃO DOS MODELOS DE DADOS Há modelos de dados: físicos (baixo nível) Lógicos ou de implementação (nível intermediário): Suportados por SGBSs comerciais e comumente usados na implementação de sistemas de bancos de dados. O modelo relacional é o modelo lógico mais usado hoje (IBM DB2, Oracle, Sybase, Informix, Microsoft SQL Server, etc.) Conceituais ou semânticos (alto nível) : Incorporam construções que permitem capturar o significado da realidade do negócio. O Modelo Entidades- Relacionamentos (E-R) é o modelo semântico mais difundido.

A arquitetura ANSI/SPARC prevê: múltiplas visões de dados, um esquema conceitual (lógico) e um esquema interno (físico). Os esquemas externos descrevem visões, ou views (como os usuários vêem os dados). O esquema conceitual descreve a estrutura lógica dos dados. O esquema interno descreve os arquivos e os índices empregados CLASSIFICAÇÃO DAS VISÕES E ESQUEMAS 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.

FUNÇÕES DE GRUPO

A função COUNT tem três formatos: COUNT(*) COUNT(expr) COUNT (DISTINCT expr) 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.

Unindo uma Tabela a ela Mesma 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: Localizar Blake na tabela EMP consultando a coluna ENAME. Localizar o número do gerente de Blake consultando a coluna MGR. O número do gerente de Blake é 7839. Localizar o nome do gerente como o EMPNO 7839 consultando a coluna ENAME. O número do funcionário King é 7839, então King é gerente de Blake. 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.

Às vezes, é necessário dividir a tabela de informações em grupos menores. Isso pode ser feito com o uso da cláusula GROUP BY.

No exemplo, a cláusula WHERE poderia especificar as linhas a serem recuperadas. Já que não há uma cláusula WHERE, todas as linhas são recuperadas por default. 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.

CONSULTA VÁLIDA SELECT department_id, AVG(salary) FROM employees HAVING AVG (salary) > 8000 GROUP BY department_id; 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. Uma subconsulta é uma instrução SELECT que é incorporada a uma cláusula de outra instrução SELECT. Você pode desenvolver instruções sofisticadas a partir de instruções simples usando subconsultas. Elas poderão ser muito úteis quando você precisar selecionar linhas de uma tabela com uma condição que dependa dos dados na própria tabela.

É possível colocar a subconsulta em várias cláusulas SQL, incluindo as cláusulas WHERE, HAVING e FROM Na sintaxe: o operador inclui uma condição de comparação como >, = ou IN Observação: as condições de comparação subdividem-se em duas classes: operadores de uma única linha (>, =, >=, <, <>, <=) e operadores de várias linhas (IN, ANY, ALL).

Para corrigir o erro acima, altere o operador = para IN.

< ANY significa menos que o máximo. >ANY significa mais que o mínimo. =ANY equivale a IN. > ALL significa mais que o máximo e <ALL significa menos que o mínimo. <>ANY equivale a NOT IN A função SYSDATE é usada para obter a data e a hora atuais.

Se o registro pai que você tentar deletar tiver registros filhos, você receberá a mensagem ORA-02292 de violação de registro filho encontrado. Se a cláusula on delete cascate for especificada para chave estrangeira, a linha poderá ser excluída sem problema.