Álgebra Relacional e Cálculo Relacional
|
|
|
- Esther Gil Chaplin
- 8 Há anos
- Visualizações:
Transcrição
1 SISTEMAS DE INFORMAÇÃO Álgebra Relacional e Cálculo Relacional Prof. Edson Thizon
2 Linguagens de consultas formais (1) Uma linguagem de consulta (Query Language) é uma linguagem com a qual o usuário pode requisitar ao Sistema de Gerência de Banco de Dados (SGBD) informações armazenadas no Banco de Dados (BD). Linguagens de consulta podem ser: Procedurais O usuário descreve o algoritmo de acesso aos dados através de uma seqüência de instruções (COMO) Não procedurais O usuário descreve a informação que deseja obter sem descrever como obtê-la (O QUÊ)
3 Linguagens de consultas formais (2) As linguagens de consulta e atualização comerciais para sistemas relacionais baseiam-se na ÁLGEBRA RELACIONAL (procedural) e no CÁLCULO RELACIONAL (não procedural) As operações da álgebra e do cálculo exprimem o conjunto de consultas e manipulações possíveis sobre uma base de dados relacional qualquer
4 Linguagens de consultas formais (3) A álgebra apresenta o conjunto mínimo de OPERADORES RELACIONAIS que podem ser combinados para extrair da base de dados, praticamente, todas as informações ali armazenadas (dados e seus relacionamentos) O cálculo estende (e completa) a potencialidade da álgebra relacional com a introdução dos quantificadores universal ( ) e existencial ( )
5 Álgebra Relacional (AR) Operações fundamentais da Álgebra Relacional: Restrição/Seleção (select): σ Projeção (project): π Produto Cartesiano (cartesian product): x União (union): Diferença (set-difference): -
6 Álgebra Relacional (AR) Além das 5 operações fundamentais, a Álgebra Relacional oferece as operações: INTERSEÇÃO: JUNÇÃO THETA: Ξθ JUNÇÃO NATURAL: Ξ DIVISÃO:
7 Operações Fundamentais da Álgebra Relacional SELEÇÃO e PROJEÇÃO são operações UNÁRIAS. As outras três operações (PRODUTO CARTESIANO, UNIÃO e DIFERENÇA) operam, cada uma, sobre um par de relações. As operações da AR sempre operam sobre relações e devolvem como resultado uma relação.
8 Relações Usadas nos Exemplos: Relação (tabela) CLIENTES
9 Script Tabela Clientes CREATE TABLE CLIENTES (C_NOME VARCHAR2(20) NOT NULL PRIMARY KEY, C_ENDERECO VARCHAR2(20) NOT NULL, C_CIDADE VARCHAR2(20) NOT NULL); INSERT INTO CLIENTES(C_NOME, C_ENDERECO, C_CIDADE) VALUES ('JONES','MAIN','HARRISON'); INSERT INTO CLIENTES(C_NOME, C_ENDERECO, C_CIDADE) VALUES ('SMITH','NORTH','RYE'); INSERT INTO CLIENTES(C_NOME, C_ENDERECO, C_CIDADE) VALUES ('HAYES','MAIN','HARRISON'); INSERT INTO CLIENTES(C_NOME, C_ENDERECO, C_CIDADE) VALUES ('CURRY','NORTH','RYE'); INSERT INTO CLIENTES(C_NOME, C_ENDERECO, C_CIDADE) VALUES ('LINDSAY','PARK','PITTSFIELD'); INSERT INTO CLIENTES(C_NOME, C_ENDERECO, C_CIDADE) VALUES ('TURNER','PUTNAM','STAMFORD'); INSERT INTO CLIENTES(C_NOME, C_ENDERECO, C_CIDADE) VALUES ('WILLIAMS','NASSAU','PRINCETON'); INSERT INTO CLIENTES(C_NOME, C_ENDERECO, C_CIDADE) VALUES ('ADAMS','SPRING','PITTSFIELD'); INSERT INTO CLIENTES(C_NOME, C_ENDERECO, C_CIDADE) VALUES ('JOHNSON','ALMA','PALO ALTO'); INSERT INTO CLIENTES(C_NOME, C_ENDERECO, C_CIDADE) VALUES ('GLENN','SAND HILL','WOODSIDE'); INSERT INTO CLIENTES(C_NOME, C_ENDERECO, C_CIDADE) VALUES ('BROOKS','SENATOR','BROOKLYN'); INSERT INTO CLIENTES(C_NOME, C_ENDERECO, C_CIDADE) VALUES ('GREEN','WALNUT','STAMFORD'); INSERT INTO CLIENTES(C_NOME, C_ENDERECO, C_CIDADE) VALUES ('JACKSON','WAL','FORD'); COMMIT;
10 Relações Usadas nos Exemplos: Relação (tabela) DEPÓSITOS
11 Script Tabela Depósitos CREATE TABLE DEPOSITOS (D_AGENCIA VARCHAR2(20) NOT NULL, D_CONTA NUMBER(10) NOT NULL, D_NOME VARCHAR2(20) NOT NULL, D_SALDO NUMBER(10,2) NOT NULL, CONSTRAINT DEPOSITOS_CLIENTES_FK FOREIGN KEY (D_NOME) REFERENCES CLIENTES (C_NOME)); INSERT INTO DEPOSITOS(D_AGENCIA,D_CONTA, D_NOME, D_SALDO) VALUES('DOWNTOW',101, 'JOHNSON',500); INSERT INTO DEPOSITOS(D_AGENCIA,D_CONTA, D_NOME, D_SALDO) VALUES('MIANUS',215, 'SMITH',700); INSERT INTO DEPOSITOS(D_AGENCIA,D_CONTA, D_NOME, D_SALDO) VALUES('PERRYRIDGE',102, 'HAYES',400); INSERT INTO DEPOSITOS(D_AGENCIA,D_CONTA, D_NOME, D_SALDO) VALUES('ROUND',305, 'TURNER',350); INSERT INTO DEPOSITOS(D_AGENCIA,D_CONTA, D_NOME, D_SALDO) VALUES('PERRYRIDGE',201, 'WILLIAMS',900); INSERT INTO DEPOSITOS(D_AGENCIA,D_CONTA, D_NOME, D_SALDO) VALUES('REDWOOD',222, 'LINDSAY',700); INSERT INTO DEPOSITOS(D_AGENCIA,D_CONTA, D_NOME, D_SALDO) VALUES('BRIGHTON',217, 'GREEN',750); COMMIT;
12 Relações Usadas nos Exemplos: Relação (tabela) EMPRÉSTIMOS
13 Script Tabela Empréstimos CREATE TABLE EMPRESTIMOS (E_AGENCIA VARCHAR2(20) NOT NULL, E_CODIGO NUMBER(10) NOT NULL, E_NOME VARCHAR2(20) NOT NULL, E_VALOR NUMBER(10,2) NOT NULL, CONSTRAINT EMPRESTIMOS_CLIENTES_FK FOREIGN KEY (E_NOME) REFERENCES CLIENTES (C_NOME)); INSERT INTO EMPRESTIMOS(E_AGENCIA,E_CODIGO, E_NOME, E_VALOR) VALUES('DOWNTOW',17, 'JONES',1000); INSERT INTO EMPRESTIMOS(E_AGENCIA,E_CODIGO, E_NOME, E_VALOR) VALUES('REDWOOD',23, 'SMITH',2000); INSERT INTO EMPRESTIMOS(E_AGENCIA,E_CODIGO, E_NOME, E_VALOR) VALUES('PERRYRIDGE',15, 'HAYES',1500 INSERT INTO EMPRESTIMOS(E_AGENCIA,E_CODIGO, E_NOME, E_VALOR) VALUES('DOWNTOW',14, 'JACKSON',1500 INSERT INTO EMPRESTIMOS(E_AGENCIA,E_CODIGO, E_NOME, E_VALOR) VALUES('MIANUS',93, 'CURRY',500); INSERT INTO EMPRESTIMOS(E_AGENCIA,E_CODIGO, E_NOME, E_VALOR) VALUES('ROUND HILL',11, 'TURNER',900) INSERT INTO EMPRESTIMOS(E_AGENCIA,E_CODIGO, E_NOME, E_VALOR) VALUES('PWNAL',29, 'WILLIAMS',1200); INSERT INTO EMPRESTIMOS(E_AGENCIA,E_CODIGO, E_NOME, E_VALOR) VALUES('NORTH',16, 'ADAMS',1300); INSERT INTO EMPRESTIMOS(E_AGENCIA,E_CODIGO, E_NOME, E_VALOR) VALUES('DOWNTOW',18, 'JOHNSON',200 INSERT INTO EMPRESTIMOS(E_AGENCIA,E_CODIGO, E_NOME, E_VALOR) VALUES('PERRYRIDGE',25, 'GLENN',2500 INSERT INTO EMPRESTIMOS(E_AGENCIA,E_CODIGO, E_NOME, E_VALOR) VALUES('BRIGHTON',10, 'BROOKS',2200) COMMIT;
14 A operação de Seleção Seleciona tuplas (linhas) de uma relação (tabela) que satisfazem um determinado predicado (condição) Formato: RelResultado = σ predicado (RelEntrada) Ex.:Selecione as tuplas da relação EMPRÉSTIMOS para quais o nome da agência é Perryridge R = σ e-agência= Perryridge (EMPRÉSTIMOS) SELECT * FROM EMPRESTIMOS WHERE E_AGENCIA = 'PERRYRIDGE'
15 A operação de Seleção Em geral, os predicados permitem expressar comparações do tipo (<,, >,, = e ). Além disso, pode-se relacional com operadores lógicos (and, or, not) Exemplos: Selecione tuplas da relação EMPRÉSTIMOS para as quais o valor do empréstimo é maior que 1200: RelResult = σ e-valor>1200 (EMPRÉSTIMOS) Selecione as tuplas da relação EMPRÉSTIMOS para as quais o nome da agência é Perryridge e o valor do empréstimo excede 1200: RelResult = σ e-valor>1200 and e-agencia = Perryridge (EMPRÉSTIMOS)
16 A Operação de Projeção Copia uma relação de entrada, deixando de fora uma ou mais colunas Formato: RelResult=π colunas a copiar (RelEntrada) Ex.: Obter uma tabela que relacione os clientes do banco com as agências onde fizeram empréstimos: Res=π e-agencia, e-nome (EMPRÉSTIMOS) SELECT E_AGENCIA, E_NOME FROM EMPRESTIMOS
17 A Operação de Projeção É possível compor operações mais complexas da álgebra relacional através do aninhamento de operações mais simples Exemplo: listar os nomes dos clientes que fizeram empréstimos superiores a 1200: RelResult = π e-nome (σ e-valor>1200 (EMPRÉSTIMOS)) SELECT DISTINCT E_NOME FROM (SELECT E_NOME FROM EMPRESTIMOS WHERE E_VALOR >1200) A operação de seleção que gera uma relação como resultado pode ser usada como relação de entrada para a operação de projeção
18 O Produto Cartesiano As operações de seleção e projeção permitem extrair informações de somente uma relação de cada vez. A operação de PRODUTO CARTESIANO permite relacionar informações de duas relações. Dadas duas relações de entrada, R1 com N tuplas e R2 com M tuplas, o produto cartesiano delas é uma relação, contendo (MxN) tuplas. A operação CONCATENA cada tupla de R1 com todas as tuplas de R2.
19 O Produto Cartesiano Quando, devido a concatenação de tuplas de duas relações diferentes, RelResult apresenta duas colunas de mesmo nome, cada uma delas recebe, como prefixo, o nome de sua relação de origem Exemplo: listar o nome dos clientes que moram em Rye e fizeram empréstimo de menos de a)relresult1= CLIENTES x EMPRÉSTIMOS b)relresult2= σ c-name = e-name (RelResult1) c)relresult3= σ e-valor<1000 and c-cidade = Rye (RelResult2) SELECT C_NOME FROM CLIENTES, EMPRESTIMOS WHERE C_NOME = E_NOME AND E_VALOR < 1000 AND C_CIDADE = 'RYE'
20 A Operação de União Considere agora que se deseje listar os clientes associados à agência de Perryridge, independente do seu relacionamento com aquela agência (depósito ou empréstimo) R1 = π d-nome (σ d-agencia = Perryridge (DEPÓSITOS)) R2 = π e-nome (σ e-agencia = Perryridge (EMPRÉSTIMOS)) Result = R1 U R2 SELECT D_NOME NOME FROM DEPOSITOS WHERE D_AGENCIA = 'PERRYRIDGE' UNION SELECT E_NOME NOME FROM EMPRESTIMOS WHERE E_AGENCIA = 'PERRYRIDGE'
21 A Operação de Diferença Listar aqueles clientes da agência Perryridge que não fizeram empréstimos naquela agência (têm só conta corrente lá). O que se pede nesta consulta é o conjunto de clientes que têm conta na agência menos o conjunto de nomes de clientes que fizeram empréstimo nesta agência. R1 = π d-nome (σ d-agencia = Perryridge (DEPÓSITOS)) R2 = π e-nome (σ e-agencia = Perryridge (EMPRÉSTIMOS)) Result = R1 - R2 SELECT D_NOME NOME FROM DEPOSITOS WHERE D_AGENCIA = 'PERRYRIDGE' MINUS SELECT E_NOME NOME FROM EMPRESTIMOS WHERE E_AGENCIA = 'PERRYRIDGE'
22 Operações de União e Diferença Para as operações UNIÃO e DIFERENÇA serem consideradas corretas, duas condições devem ser satisfeitas: As relações R1 e R2 têm que apresentar o mesmo número de atributos. Os domínios (tipo de dado) do i-ésimo atributo de R1 e do i-ésimo atributo de R2 devem ser iguais.
23 Operadores Adicionais Os operadores a seguir não acrescentam qualquer poder à Álgebra Relacional, somente simplificam a construção de consultas.
24 A Operação de Interseção A INTERSEÇÃO entre duas relações é uma relação que contém somente as tuplas comuns das duas relações argumentos Os requisitos válidos para a UNIÃO e DIFERENÇA valem também para a INTERSEÇÃO
25 A Operação de Interseção TR1 TR2 = TR1 (TR1 TR2) Listar os nomes dos clientes da agência Perryridge que tem conta corrente e fizeram empréstimo lá R1 = π d-nome (σ d-agencia = Perryridge (DEPÓSITOS)) R2 = π e-nome (σ e-agencia = Perryridge (EMPRÉSTIMOS)) Result = R1 R2 SELECT D_NOME NOME FROM DEPOSITOS WHERE D_AGENCIA = 'PERRYRIDGE' INTERSECT SELECT E_NOME NOME FROM EMPRESTIMOS WHERE E_AGENCIA = 'PERRYRIDGE'
26 A Operação de Junção Theta Usualmente, consultas que envolvem o produto cartesiano de duas relações incluem também uma operação de seleção sobre as tuplas do produto.
27 A Operação de Junção Theta A JUNÇÃO THETA é uma operação binária que combina o produto cartesiano e a seleção em uma única operação. Por exemplo: listar o nome e a cidade vive de cada uma dos clientes devedores da agência Perryridge. π e-nome,c-cidade (σ c-nome = e-nome and e-agencia = Perryridge (CLIENTES x EMPRÉSTIMOS)) SELECT E_NOME, C_CIDADE FROM CLIENTES, EMPRESTIMOS WHERE C_NOME = E_NOME AND E_AGENCIA = 'PERRYRIDGE'
28 Cálculo Relacional de Tuplas Linguagem NÃO PROCEDURAL (declarativa): O usuário descreve a INFORMAÇÃO que deseja obter sem descrever como obtê-la ( O QUÊ) O Cálculo Relacional de Tuplas (CRT) permite que se defina conjuntos de tuplas a partir de expressões do tipo: {t P(t)} Uma expressão do cálculo relacional representa um conjunto de tuplas onde, para cada tupla t, o predicado P(t) é verdadeiro: T Result P(t)
29 Cálculo Relacional de Tuplas Uma Variável Tupla (VT) representa, a cada instante, uma tupla T de uma determinada relação R. Uma fórmula P(t) pode apresentar mais de uma variável tupla. Em uma determinada fórmula, uma VT pode aparecer como: Variável Destino: quando estiver associada a um quantificador existencial (existe) ou universal (para todo) Variável Livre: em caso contrário ao anterior Exemplo: AR => σ e-agencia = Perryridge (EMPRÉSTIMOS) CRT => {t t EMPRÉSTIMOS ^ t[e-agencia]= Perryridge }
30 Expressando Operação da Álgebra Relacional em Cálculo Relacional Selecione as tuplas da relação EMPRÉSTIMOS para as quais o valor do empréstimo é maior que AR => σ e-valor > 1200 (EMPRÉSTIMOS) CRT => {t t EMPRÉSTIMOS ^ t[e-valor]>1200}
31 Expressando Operação da Álgebra Relacional em Cálculo Relacional Listar os nomes dos clientes que moram em Rye e fizeram empréstimo de menos de AR => π e-nome (σ e-valor<1000 and c-cidade = Rye (σ c-name = e-name (CLIENTES x EMPRÉSTIMOS))) CRT => {t s CLIENTES (s[c-cidade] = Rye ^ u EMPRÉSTIMOS (s [c-nome] = u[e-nome] ^ u[e-valor]<1000 ^ t[e-nome] = u[e-nome]))}
32 Com AR (relacionamento) SELECT C_NOME FROM CLIENTES, EMPRESTIMOS WHERE C_NOME = E_NOME AND E_VALOR < 1000 AND C_CIDADE = 'RYE' Com CRT (exists) SELECT C_NOME FROM CLIENTES WHERE EXISTS (SELECT E_NOME FROM EMPRESTIMOS WHERE C_NOME = E_NOME AND E_VALOR < 1000 AND C_CIDADE = 'RYE')
33 SQL n Em SQL (Subconsulta) SELECT C_NOME FROM CLIENTES WHERE C_NOME IN (SELECT E_NOME FROM EMPRESTIMOS WHERE E_VALOR < 1000 AND C_CIDADE = 'RYE')
34 Outer Join Retorna linhas ausentes na outra tabela. O sinal de adição (+) é colocado ao lado do join que não possui as informações. Esse tipo de relacionamento não pode usar operadores In ou OR. SELECT C_NOME FROM CLIENTES, EMPRESTIMOS WHERE C_NOME = E_NOME (+) AND E_VALOR (+) < 1000 AND C_CIDADE = 'RYE' O que mudou no resultado? Porque?
35 Uso do Case create table test_case_when ( a varchar2(5), b varchar2(5) ); insert into test_case_when values ('*','*'); insert into test_case_when values ('+','+'); insert into test_case_when values ('-','-'); insert into test_case_when values ('.','.'); select a, case when b = '*' then 'star' when b = '+' then 'plus' when b = '-' then 'minus' else '????' end from test_case_when;
36 Referências Bibliográficas KORTH, Henry F. & SILBERSCHATZ, Abraham. Sistemas de Bancos de Dados, São Paulo. Ed. Makron Books, IOCHPE, Cirano. Institudo de Informática - UFRGS.
Banco de Dados I Módulo III: Linguagens de Consulta. (Aula 1) Clodis Boscarioli
Banco de Dados I 2007 Módulo III: Linguagens de Consulta (Aula 1) Clodis Boscarioli Conteúdo do Módulo: Linguagens de Consulta Formais Álgebra Relacional; Cálculo Relacional de Tupla; Cálculo Relacional
Comandos de Manipulação
SQL - Avançado Inserção de dados; Atualização de dados; Remoção de dados; Projeção; Seleção; Junções; Operadores: aritméticos, de comparação,de agregação e lógicos; Outros comandos relacionados. SQL SQL
Álgebra Relacional e SQL
Álgebra Relacional e SQL Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Álgebra Relacional Maneira teórica de se manipular o banco de dados relacional Linguagem de consulta procedural usuários
SQL. Prof. Roger Cristhian Gomes
SQL Prof. Roger Cristhian Gomes SQL SQL - Structured Query Language Linguagem de acesso e manipulação de sistemas de base de dados computacionais que segue o padrão ANSI Existem diferenças entre as versões
BCD29008 Banco de dados
BCD29008 Banco de dados Modelo ER & Modelo Relacional Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José [email protected] http://docente.ifsc.edu.br/mello/bcd 18 de
- Um "query block" permite a implementação das operações de selecção, projecção e junção da álgebra relacional.
2.3 Linguagens relacionais (continuação) SQL Structured Query Language 1) "Query block" Select From Where - Um "query block" permite a implementação
Bases de Dados BDDAD. Linguagem SQL. Comando SELECT Divisão Algébrica. Nelson Freire (ISEP LEI-BDDAD 2015/16) 1/9
BDDAD Bases de Dados Linguagem SQL Comando SELECT Nelson Freire (ISEP LEI-BDDAD 2015/16) 1/9 Operador Sumário Introdução Expressão Equivalente em SQL Soluções Tradução Directa de Expressão Algébrica Quantificação
Ordenação de tuplos order by
Bases de Dados Elementos da linguagem SQL Ordenação de tuplos order by A cláusula order by permite ordenar tuplos exemplo: listar por ordem alfabética os nomes dos clientes com empréstimo na agência de
Preparação. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 10/12/2013
Linguagem de Manipulação de Dados (DML) Estudo Dirigido A Linguagem SQL Preparação Criar um banco de dados denominado Escola ; Criar a tabela, como especificado abaixo: # RA Numeric(8) Nome Serie Turma
Marcelo Henrique dos Santos
Mestrado em Educação (em andamento) MBA em Marketing e Vendas (em andamento) Especialista em games Bacharel em Sistema de Informação Email: [email protected] AULA 03 SQL (Structure Query Language)
SQL (Tópicos) Structured Query Language
SQL (Tópicos) Structured Query Language ISI Introdução aos Sistemas de Informação SQL (Tópicos) 1 SQL: componentes SQL / DDL (Data Definition Language) Permite definir os Esquemas de Relação Permite definir
Agenda. Linguagem de Consulta SQL. 1. Introdução Histórico. 1. Introdução BD Relacionais
Linguagem de Consulta SQL Profa. Carla A. Lima Reis SQL Agenda Introdução Histórico BD relacionais Linguagem SQL Definição de BD Manipulação de BD com SQL Consultas SQL Consultas com várias tabelas Subconsultas
Linguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José;
MySQL SQL (Structured Query Languagem ) Linguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José; Inicialmente - Sequel
BCD29008 Banco de dados
BCD29008 Banco de dados Linguagem SQL Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José [email protected] http://docente.ifsc.edu.br/mello/bcd 21 de agosto de 2017
Introdução ao PostgreSQL
Introdução ao PostgreSQL Fontes Karine Reis Ferreira [email protected] Gilberto Câmara [email protected] Gilberto Ribeiro de Queiroz [email protected] Marcos André Gonçalves - UFMG Parte 3 Aula
Banco de Dados I. Aula 14 - Prof. Bruno Moreno 11/10/2011
Banco de Dados I Aula 14 - Prof. Bruno Moreno 11/10/2011 Plano de Aula INSERT UPDATE SELECT-FROM-WHERE Uso de ALIASES SELECT com * DISTINCT Operações de Conjuntos Comparação entre substrings Operadores
Banco de Dados I. Aula 16 - Prof. Bruno Moreno 04/11/2011
Banco de Dados I Aula 16 - Prof. Bruno Moreno 04/11/2011 Plano de Aula O comando DELETE Cláusula CHECK Comparações utilizando NULL Funções agregadas Junções de tabelas em SQL Visões Comando DELETE DELETE
Álgebra Relacional. Linguagem de consultas procedural Conjunto de operações que usam uma ou duas relações como entrada e geram uma relação de saída
Algebra Relacional Adaptado de Karine Reis Ferreira [email protected] Gilberto Câmara [email protected] Gilberto Ribeiro de Queiroz [email protected] Álgebra Relacional Linguagem de consultas procedural
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL Docente: Éberton da Silva Marinho e-mail: [email protected] 02/06/2016 SUMÁRIO SQL DDL DML SQL (STRUCTURED
SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão
SISTEMAS DE BANCO DE DADOS Prof. Adriano Pereira Maranhão 1 SQL Structured Query Language SQL Desenvolvida pela IBM Structured English Query Language Sequel Linguagem de consulta para o sistema R Primeiro
Banco de Dados. Professora: Luciana Faria
Banco de Dados Professora: Luciana Faria Introdução ao linguagem é a SQL (Structured Query Language) Linguagem de Consulta Estruturada Para se utilizar, administrar, e trabalhar com um banco de dados é
ÁLGEBRA E CÁLCULO RELACIONAL
UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO ERINALDO SANCHES NASCIMENTO ÁLGEBRA E CÁLCULO RELACIONAL MARINGÁ 2014 SUMÁRIO SUMÁRIO...1 1 INTRODUÇÃO...2 1.1
BANCO DE DADOS II SQL Básico. COTEMIG Gerson Borges
BANCO DE DADOS II SQL Básico COTEMIG Gerson Borges [email protected] Definição de Banco de Dados [Elmasri & Navathe, 2000] Um banco de dados é uma coleção de dados relacionados Representando algum
Programando em SQL. Triggers, Stored Procedures e funções. Profa. Késsia Marchi
Programando em SQL Triggers, Stored Procedures e funções Objetivo Descrever as funcionalidades de triggers, store procedures e funções; Apresentar vantagens e benefícios; Criação e Gerenciamento de Store
Á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:
Álgebra Relacional Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída operação (REL 1 ) REL 2 operação (REL 1,REL 2 ) REL 3 Operações básicas: seleção projeção
Definida pelo American National Standard Institute (ANSI) em 1986
2.3. Linguagens Relacionais SQL Structured Query Language Linguagem para o modelo relacional: Definida pelo American National Standard Institute (ANSI) em 1986 Adoptada em 1987 como um standard internacional
FEAP - Faculdade de Estudos Avançados do Pará PROFª LENA VEIGA PROJETOS DE BANCO DE DADOS UNIDADE V- SQL
Quando os Bancos de Dados Relacionais estavam sendo desenvolvidos, foram criadas linguagens destinadas à sua manipulação. O Departamento de Pesquisas da IBM desenvolveu a SQL como forma de interface para
O Modelo e a Álgebra Relacional
O Modelo e a Álgebra Relacional O Modelo Relacional Modelo de dados, que se baseia no princípio em que todos os dados estão guardados em tabelas Baseado em lógica de predicados e na teoria de conjuntos.
Bases de Dados. DDL Data Definition Language
Bases de Dados DDL Data Definition Language SQL SQL = Structured Query Language Foi originalmente criada pela IBM nos anos 70 como parte de um protótipo de sistema relacional Posteriormente foi implementada
Esquema da Relação. Modelo Relacional. Instância da Relação. Exemplo. Uma base de dados é uma colecção de uma ou mais relações com nomes distintos
Modelo Relacional Uma base de dados é uma colecção de uma ou mais relações com nomes distintos Uma relação é uma tabela com linhas e colunas Esquema da Relação Descreve as colunas da tabela Especifica
Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language)
Básico da Linguagem SQL Definição de Esquemas em SQL SQL(Structured Query Language) Desenvolvida como a linguagem de consulta do protótipo de SGBD Sistema R (IBM, 1976). Adotada como linguagem padrão de
Introdução ao SQL. Aécio Costa
Aécio Costa A linguagem SQL é um padrão de linguagem de consulta comercial e possui as seguintes partes: Linguagem de definição de dados (DDL) Linguagem interativa de manipulação de dados (DML) Definição
Banco de Dados I Álgebra Relacional
Banco de Dados I Álgebra Relacional Frederico Queiroga [email protected] https://sites.google.com/site/fredericoqueiroga/ Álgebra Relacional Álgebra Relacional: conjunto de operações que podem
Banco de Dados I Introdução SQL
Banco de Dados I Introdução SQL Frederico Queiroga [email protected] https://sites.google.com/site/fredericoqueiroga/ Linguagem SQL Aspectos Gerais: Independência do fabricante: Está incorporada
Banco de Dados. Diego Silveira Costa Nascimento. 20 de março de Instituto Federal do Rio Grande do Norte
Banco de Dados Diego Silveira Costa Nascimento Instituto Federal do Rio Grande do Norte [email protected] 20 de março de 2015 Ementa do Curso 1 Introdução 2 Abordagem Entidade-relacionamento
MODELAGEM DE DADOS - INTRODUÇÃO AO SQL: DML. Prof. Angelo Augusto Frozza, M.Sc.
MODELAGEM DE DADOS - INTRODUÇÃO AO SQL: DML Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza DML Data Manipulation Language Linguagem de Manipulação de Dados Comandos básicos: Insert Update
BCD29008 Banco de dados
BCD29008 Banco de dados Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José [email protected] http://docente.ifsc.edu.br/mello/bcd 31 de julho de 2017 1/24 Apresentação
4.6. SQL - Structured Query Language
4.6. SQL - Structured Query Language SQL é um conjunto de declarações que é utilizado para acessar os dados utilizando gerenciadores de banco de dados. Nem todos os gerenciadores utilizam SQL. SQL não
DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR
SQL Structured Query Language, ou Linguagem de Consulta Estruturada, foi desenvolvida pela IBM nos anos 70 para demonstrar a viabilidade do modelo relacional para bancos de dados. No final dos anos 80
Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet
Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível
Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL
Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível de independência do
Subconsultas ou Consultas Aninhadas
Subconsultas ou Consultas Aninhadas Forma alternativa de especificar consultas envolvendo relacionamentos entre tabelas Otimização filtragens prévias de dados na subconsulta apenas tuplas/atributos de
TABELA ENTIDADE LINHA OCORRÊNCIA DA ENTIDADE COLUNA ATRIBUTO DA ENTIDADE
TABELA ENTIDADE LINHA OCORRÊNCIA DA ENTIDADE COLUNA ATRIBUTO DA ENTIDADE CARACTERISTICA DE UMA TABELA: NÃO EXISTEM DUAS LINHAS IGUAIS A ORDEM DAS LINHAS É INSIGNIFICANTE A ORDEM DAS COLUNAS É INSIGNIFICANTE
Modelo Entidade-Relacionamento (E-R)
Modelo Entidade-Relacionamento (E-R) composto n lote n n n contrato_compra_venda n possui proprietário possui n associado cadastro n banco faz fronteira pertence n ruas n quadras n financiado empréstimo
ANÁLISE E PROJETO DE BANCO DE DADOS
ANÁLISE E PROJETO DE BANCO DE DADOS SQL FELIPE G. TORRES SQL A linguagem SQL (Struct Query Language) é utilizada como padrão em bancos de dados relacionais. Seu desenvolvimento foi originalmente no início
SQL S Q L. Introdução. Enfoques de SQL. SQL - Origem/Histórico. Usos de SQL. SQL - Vantagens. Gerenciamento de Dados e Informação
Introdução Gerenciamento de Dados e Informação Fernando Fonseca Ana Carolina Robson Fidalgo - Structured Query Language Linguagem de Consulta Estruturada Apesar do QUERY no nome, não é apenas de consulta,
Triggers em PostgreSQL. Linguagem de Programação de Banco de Dados. Triggers em PostgreSQL. Triggers em PostgreSQL
Prof. Ms. Luiz Alberto Contato: [email protected] Linguagem de Programação de Banco de Dados Triggers em PostgreSQL Todos os bancos de dados comerciais possuem uma linguagem procedural auxiliar para a
Modelo Relacional - Manipulação
Modelo Relacional - Manipulação Duas categorias de linguagens formais álgebra relacional e cálculo relacional comerciais (baseadas nas linguagens formais) SQL Linguagens formais - Características orientadas
Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo )
PRONATEC - Programador de Sistemas Banco de Dados 1) Incluindo linhas nas tabelas a. Para incluir linhas em tabelas utilize o comando INSERT INTO INSERT INTO tabela [ ( coluna [, coluna,...] ) ] VALUES
SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:
SQL Tópicos Especiais Modelagem de Dados Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional em Ensino de Ciências
SQL Linguagem de Definição de Dados
SQL Linguagem de Definição de Dados Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais
AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)
AULA 8 8.1. OBJETIVO DA AULA Relembrar conceitos e recursos básicos apresentados nas aulas anteriores, dar continuidade nas codificações iniciadas e ainda não finalizadas, explorar acesso a banco de dados
SQL. Prof. Márcio Bueno. {bd2tarde,bd2noite}@marciobueno.com
SQL Prof. Márcio Bueno {bd2tarde,bd2noite}@marciobueno.com Material dos professores Ana Carolina Salgado, Fernando Foncesa e Valéria Times (CIn/UFPE) SQL SQL - Structured Query Language Linguagem de Consulta
SQL DML. Frederico D. Bortoloti [email protected]
Banco de Dados I SQL DML Frederico D. Bortoloti [email protected] SQL - DML Os exemplos da aula serão elaborados para o esquema de dados a seguir: Empregado(matricula, nome, endereco, salario, supervisor,
GBC043 Sistemas de Banco de Dados Álgebra e Cálculo Relacional. Ilmério Reis da Silva UFU/FACOM
GBC043 Sistemas de Banco de Dados Álgebra e Cálculo Relacional Ilmério Reis da Silva [email protected] www.facom.ufu.br/~ilmerio/sbd UFU/FACOM Álgebra e Cálculo Relacional e o Modelo R São as linguagens
Programação em Banco de dados
Programação em Banco de dados CREATE DATABASE A03; GO USE A03; GO -- Cria a tabela para armazenar PRODUTO CREATE TABLE PRODUTO( CDPRODUTO INT NOT NULL, NOMEPRODUTO VARCHAR(255), CONSTRAINT PK_PRODUTO PRIMARY
Bases de Dados 2005/2006. Aula 5
Bases de Dados 2005/2006 Aula 5 Sumário -1. (T.P.C.) Indique diferenças entre uma tabela e uma relação. 0. A base de dados Projecto 1. SQL Join (variantes) a. Cross Join b. Equi-Join c. Natural Join d.
Revisão de Bancos de Dados
Revisão de Bancos de Dados Conceitos Básicos 1. Defina o que é um banco de dados e o que é um sistema gerenciador de bancos de dados (SGBD). 2. Defina as arquiteturas de software em duas camadas (cliente/servidor)
Subconsultas ou Consultas Aninhadas
Subconsultas ou Consultas Aninhadas Forma alternativa de especificar consultas envolvendo relacionamentos entre tabelas Otimização filtragens prévias de dados na subconsulta apenas tuplas/atributos de
!" # Modelos de dados. 1ª geração. 2ª geração. 3ª geração. Modelo Hierárquico Modelo Rede. Modelo Relacional
Nuno Melo e Castro !" # Modelos de dados 1ª geração Modelo Hierárquico Modelo Rede 2ª geração Modelo Relacional 3ª geração Extensões ao modelo relacional Modelo lógico-dedutivo Modelo orientado a objectos
UTFPR - Universidade Tecnológica Federal do Paraná. Processamento e otimização de consultas
UTFPR - Universidade Tecnológica Federal do Paraná Processamento e otimização de consultas Leyza Baldo Dorini 04/Nov/2009 Programação da aula Introdução: processamento e otimização de consultas Etapas:
Banco de Dados. Marcio de Carvalho Victorino www.dominandoti.eng.br. Exercícios SQL
Banco de Dados Exercícios SQL 1 TRF (ESAF 2006) 32. Analise as seguintes afirmações relacionadas a Bancos de Dados e à linguagem SQL: I. A cláusula GROUP BY do comando SELECT é utilizada para dividir colunas
Introdução à Engenharia da Computação. Banco de Dados Professor Machado
Introdução à Engenharia da Computação Banco de Dados Professor Machado 1 Sistemas isolados Produção Vendas Compras Banco de Dados Produtos... Banco de Dados Produtos... Banco de Dados Produtos... Desvantagens:
select nome from Médicos where codm in (select codm from Consultas where data = 06/06/13 )
Subconsultas * subconsulta: forma alternativa de expressar consultas envolvendo relacionamentos entre tabelas * cláusulas para tratamento de subconsultas: IN, ANY, ALL, EXISTS 3.1) Cláusula [NOT] IN *
SQL-99: Esquema de BD EMPRESA
SQL-99: Esquema de BD EMPRESA SQL-99: Instâncias do esquema EMPRESA 1 Consultas externa, aninhada e correlacionada para cada tupla da consulta externa, a consulta aninhada devolve o atributo solicitado
1. Introdução 2. Conceitos 3. Gerenciador de Banco de Dados (SGBD) 3.1. Arquitetura ANSI/SPARC 32 3.2. Regras básicas 3.3.
UNIDADE I - AMBIENTE DE BANCO DE DADOS 1. Introdução 2. Conceitos 3. Gerenciador de Banco de Dados (SGBD) 3.1. Arquitetura ANSI/SPARC 32 3.2. Regras básicas 3.3. Usuários 3.4. Linguagem de Banco de Dados
Introdução à Banco de Dados. Nathalia Sautchuk Patrício
Introdução à Banco de Dados Nathalia Sautchuk Patrício Histórico Início da computação: dados guardados em arquivos de texto Problemas nesse modelo: redundância não-controlada de dados aplicações devem
Aula de SQL Comandos DDL. André Luiz de Oliveira Eduardo Raul Hruschka
Aula de SQL Comandos DDL André Luiz de Oliveira Eduardo Raul Hruschka E-mail: [email protected] [email protected] Agenda Instalação do MySQL e Workbench Comandos DDL Data Definition Language Criação
BANCO DE DADOS Parte 4
BANCO DE DADOS Parte 4 A Linguagem SQL Introdução Desenvolvida pelo depto de pesquisa da IBM na década de 1970 (System R) Linguagem padrão de BD Relacionais; Apresenta várias padrões evolutivos: SQL86,
#nao fazer #Só pode fazer para testar... drop database if exists modelo4; create database modelo4; use modelo4; #Auto_relacionamento #Pessoa = Conjuge = filho #Observar para Criticar #O que achou? # Deixando
SQL SQL BANCO DE DADOS 2. Componentes do SQL (1) Componentes do SQL (2) DDL Criação de banco de dados. Padrões de SQL
BANCO DE DADOS 2 SQL (CREATE TABLE, CONSTRAINTS, DELETE, UPDATE e INSERT) Prof. Edson Thizon SQL SQL ( structured query language ) é uma linguagem comercial de definição e manipulação de banco de dados
TECNOLOGIA EM SISTEMAS PARA INTERNET PROJETO DE BANCO DE DADOS
Exemplos de Scripts SQL (PostgreSQL) Pizzaria 1 2 Criação de BANCO DE DADOS CREATE DATABASE nome_do_banco; CREATE DATABASE pizzaria; Criação de TABELAS SOMENTE COM CHAVE PRIMÁRIA CREATE TABLE nome_da_tabela
Oracle Database 10g: Fundamentos de SQL e PL/SQL
Oracle University Contact Us: 0-800-167225 Oracle Database 10g: Fundamentos de SQL e PL/SQL Duration: 5 Dias O que é que gostaria de aprender Conheça os fundamentos de SQL e PL/SQL usando o SQL Developer
Banco de dados POO Márcio Delamaro. Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP
Banco de dados POO Márcio Delamaro 1/37 Objetivo Nesta aula vamos dar uma breve introdução do que é um Banco de dados relacional Como acessar um banco de dados usando Java 2/37 O que é Bancos de dados
Álgebra Relacional. Introdução. Introdução. Álgebra Relacional
Pós-graduação em Ciência da Computação CCM-205 Sistema de Bancos de Dados O que foi visto até agora... Álgebra Relacional Profa. Maria Camila Nardini Barioni [email protected] Bloco B - sala
Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos
Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos Objetivos: Criar restrições para atributos, chaves primárias e estrangeiras; Explorar consultas SQL com uso de
S Q L 31/03/2010. SQL - Structured Query Language Linguagem de Consulta Estruturada
Gerenciamento de Dados e Informação Fernando Fonseca Ana Carolina Robson Fidalgo SQL SQL - Structured Query Language Linguagem de Consulta Estruturada Apesar do QUERY no nome, não é apenas de consulta,
Subconsulta na Cláusula FROM
Subconsulta na Cláusula FROM Gera uma tabela derivada a partir de uma ou mais tabelas, para uso na consulta externa otimização: filtra linhas e colunas de uma tabela que são desejadas pela consulta externa
SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável.
SQL (Structured Query Language) SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. Além de permitir a realização de consultas, SQL possibilita: definição
Laboratório de Banco de Dados II Aula 04. Prof. Érick de Souza Carvalho
Laboratório de Banco de Dados II Aula 04 Prof. Érick de Souza Carvalho 1 SQL (Structured Query Language ) Prof. Érick de Souza Carvalho 2 SQL Structured Query Language - Introdução É uma Linguagem para
Bancos (Bases) de Dados
Bancos (Bases) de Dados Aula #8 SQL Prof. Eduardo R. Hruschka * Slides baseados no material elaborado pelas professoras: Cristina D. A. Ciferri Elaine P. M. de Souza SQL (Structured Query Language) Linguagem
Modelo Relacional + SQL (DDL) Material elaborado pela Prof. Karin Becker
Modelo Relacional + SQL (DDL) Material elaborado pela Prof. Karin Becker Modelo Relacional Codd, E.F A relational model of data for large shared data banks. Communications of the ACM, 13(6):377-87, June
