4. Projecto de Bases de Dados

Tamanho: px
Começar a partir da página:

Download "4. Projecto de Bases de Dados"

Transcrição

1 SI MIEIG Projecto de Bases de Dados 4.1 Introdução aos SGBD - Sistemas de Gestão de Bases de Dados 4.2 Sistemas Relacionais e Linguagem SQL 4.3 Normalização Funcional de Dados para Concepção de BDr 4.4 Outros Modelos de SGBD 4.5 Conclusões e Principais Referências TGD/JLB 7-8

2 SI MIEIG SQL 2 Sistemas de Gestão de Bases de Dados Relacionais Um SGBDR (em inglês, RDBMS) é um sistema no qual: Os dados são armazenados logicamente em tabelas (e apenas em tabelas). Fisicamente, podem ser usadas outras estruturas de armazenagem, dependentes do sistema. Toda a informação da base de dados é representada de uma única forma, através dos valores dos dados. Todos os valores dos dados são atómicos (escalares). O operadores que interrogam os dados são operadores que geram novas tabelas a partir das existentes, designados operadores relacionais. TGD/JLB 7-8

3 SI MIEIG SQL 3 SQL (Structured Query Language) Foi inicialmente desenvolvida pela IBM nos anos 70 A primeira implementação comercial de SQL foi desenvolvida pela Relational Software Inc. (hoje conhecida por Oracle Corporation) Actualmente, a SQL é considerada um standard por todos os SGBDR. A SQL é usada para formular operações relacionais (operações que definem e manipulam dados na forma relacional) com base no modelo relacional proposto por: E. F. Codd em A Relational Model of Data for Large Shared Data Banks, ACM Journal, TGD/JLB 7-8

4 SI MIEIG SQL 4 Álgebra Relacional A álgebra relacional definida por Codd consiste em oito operadores: 4 operadores baseados nos operadores tradicionais sobre conjuntos: União (Union) Intersecção (Intersect) Diferença (Minus) Produto Cartesiano (Times) 4 operadores relacionais específicos: Restrição (Where) Projecção ([]) Junção (Join) Divisão (Divide) TGD/JLB 7-8

5 SI MIEIG Para que serve a Álgebra Relacional? definir os dados que deverão ser obtidos como resultado de uma consulta definir os dados que deverão ser inseridos, alterados ou eliminados definir os dados que deverão ser visualizados através de uma vista definir regras de segurança, ou seja, definir os dados sobre os quais alguma autorização é necessária definir requisitos de estabilidade, ou seja, definir os dados que irão ser a base de operações de controlo de conrência definir regras de integridade, ou seja, definir regras específicas que a base de dados deve satisfazer TGD/JLB 7-8

6 SI MIEIG SQL 6 Álgebra Relacional - operadores União: retorna uma relação (tabela) que contém todas as tuplas (linhas) de cada uma ou de ambas as relações (tabelas). O operador União é comutativo e associativo. Intersecção: retorna uma tabela que contém todas as linhas comuns a ambas as tabelas. O operador Intersecção é comutativo e associativo. Diferença: retorna uma tabela que contém as linhas da primeira mas não da segunda tabela. O operador Diferença não é comutativo nem associativo. TGD/JLB 7-8

7 SI MIEIG SQL 7 Álgebra Relacional - operadores Produto Cartesiano: retorna uma tabela em que as linhas são o resultado de todas as possíveis combinações de cada uma das linhas das tabelas originais. As tabelas originais não têm atributos comuns. O produto cartesiano é comutativo e associativo. a b c x y. = a a b b c c x y x y x y Restrição: retorna uma tabela em que todas as linhas satisfazem uma determinada condição Projecção: retorna uma tabela com as colunas que restam de uma tabela depois de determinados atributos terem sido eliminados. TGD/JLB 7-8

8 SI MIEIG SQL 8 Álgebra Relacional - operadores join Junção (Natural join): retorna uma tabela com todas as possíveis linhas que são uma combinação de duas linhas, uma de cada uma das tabela originais. As duas linhas que contribuem para uma dada combinação têm um valor comum para o(s) atributo(s) comum(ns) e esse valor aparece apenas uma única vez na linha da nova tabela. O operador Join é comutativo e associativo. a1 a2 a3 b1 b1 b2 b1 b2 b3 c1 c2 c3 = a1 a2 a3 b1 b1 b2 c1 c1 c2 Divisão: Para duas relações (tabelas), uma binária e a outra unária, retorna uma nova tabela com todos os valores de um atributo da relação binária que são iguais (no segundo atributo) a todos os valores da relação unária. a a a b c x y z x y x z / = a TGD/JLB 7-8

9 SI MIEIG Álgebra Relacional- fecho e compatibilidade Fecho (Closure): Da mesma forma que as operações algébricas sobre números retornam números e as operações sobre conjuntos retornam conjuntos, as operações sobre relações (tabelas) retornam relações (tabelas). Compatibilidade: Para podermos utilizar os operadores relacionais União, Intersecção e Diferença sobre tabelas, estas deverão ser compatíveis: devem ter o mesmo conjunto de s de atributos os atributos respondentes devem estar definidos no mesmo domínio TGD/JLB 7-8

10 SI MIEIG União - exemplo A B #cliente codpostal #cliente codpostal Fernando 3600 União (A UNION B) #cliente codpostal 00 1 Fernando 3600 TGD/JLB 7-8

11 SI MIEIG Intersecção - exemplo A B #cliente codpostal #cliente codpostal Fernando 3600 Intersecção (A INTERSECT B) #cliente codpostal 00 TGD/JLB 7-8

12 SI MIEIG Diferença - exemplo A B #cliente codpostal #cliente codpostal Fernando 3600 Diferença (A MINUS B) (B MINUS A) #cliente codpostal #cliente codpostal 1 Fernando 3600 TGD/JLB 7-8

13 SI MIEIG Produto cartesiano - exemplo A Produto (A TIMES B) #cliente #cliente #conta saldo 5000 B #conta saldo TGD/JLB 7-8

14 SI MIEIG Restrição - exemplo A tintaa tintab tintaa verniz dourado 90 A WHERE = tintaa tintab A WHERE < AND = verniz dourado 90 TGD/JLB 7-8

15 SI MIEIG Projecção - exemplo A tintaa tintab tintaa verniz dourado 90 A [] A [, ] (A WHERE < ) [] tintaa tintab verniz tintaa tintab tintaa verniz dourado TGD/JLB 7-8

16 SI MIEIG Junção exemplo 1 o atributo comum () é chave estrangeira em A A B João dourado 90 A JOIN B dourado 90 João TGD/JLB 7-8

17 SI MIEIG Junção exemplo 2 o atributo comum () não é chave estrangeira A B João dourado 90 A JOIN B João dourado 90 João TGD/JLB 7-8

18 SI MIEIG Divisão exemplo 1 A B C A DIVIDEBY B A DIVIDEBY C TGD/JLB 7-8

19 SI MIEIG Os operadores RENAME e Atribuição Relacional O operador RENAME permite rear atributos de uma determinada relação. Para uma dada realção, o operador RENAME retorna uma cópia dessa relação, na qual cada atributo tem um diferente. Clientes #cliente João codpostal 00 RENAME Clientes AS Cliente 1 O operador de Atribuição Relacional (:=) permite criar uma cópia de uma relação, com um novo Exemplos: T1 := Clientes WHERE = João T2 := T1 JOIN Encomendas TGD/JLB 7-8

20 SI MIEIG 7-8 Dadas duas relações A e B: Álgebra Relacional Notação União : Intersecção: Diferença: Produto cartesiano: Restrição: Projecção: Junção: Divisão: A UNION B A INTERSECT B A MINUS B A TIMES B A WHERE condição A [atributo1, atributo2,... atributok] A JOIN B A DIVIDEBY B Outros operadores Reação: Atribuição: A RENAME atributox AS atributoy A := B TGD/JLB 7-8

21 SI MIEIG Exercícios A B C João Cidade Cidade Qtd Nome dos fornecedores que fornecem o produto cujo = T1 := A JOIN C T2 := T1 WHERE = T3 := T2 [] ((A JOIN C) WHERE = ) [] TGD/JLB 7-8

22 SI MIEIG Exercícios A B C Cidade Cidade João 2. Nome dos fornecedores que fornecem pelo menos um produto OU Qtd T1 := B WHERE = T2 := T1 [] T3 := T2 JOIN C T4 := T3 JOIN A T5 := T4 [] (((B WHERE = ) [] JOIN C) JOIN A) [] T1 := B WHERE = T2 := T1 JOIN C T3 := T2 [] T4 := T3 JOIN A T5 := T4 [] (((B WHERE = ) JOIN C) [] JOIN A) [] TGD/JLB 7-8

23 SI MIEIG Exercícios A B C #forneced or Cidade Qtd 300 João Nome dos fornecedores que fornecem todos os produtos 4. Código dos fornecedores que fornecem pelo menos todos os produtos fornecidos pelo fornecedor = 5. Nome dos fornecedores que não fornecem o produto com = TGD/JLB 7-8

24 SI MIEIG Exercício 3 (resolução) A B C João Cidade Qtd T1 := C [, ] T2 := B [] T3 := T1 DIVIDEBY T2 T4 := T3 JOIN A T5 := T4 [] ((C [, ] DIVIDEBY B []) JOIN A) [] TGD/JLB 7-8

25 SI MIEIG Exercício 4 (resolução) A B C João Cidade Qtd T1 := C [, ] T2 := C WHERE = T3 := T2 [] T4 := T1 DIVIDEBY T3 T5 := T2 [] T6 := T4 MINUS T5 //retira o fornecedor (C [, ] DIVIDEBY ((C WHERE = ) [])) MINUS T2[]) [] TGD/JLB 7-8

26 SI MIEIG Exercício 5 (resolução) A B C João Cidade Qtd T1 := A [] T2 := C WHERE = T3 := T2 [] //fornecedores de T4 = T1 MINUS T3 //fornecedores excepto os que fornecem T5 := T4 JOIN A T6 := T5 [] (A [] MINUS (C WHERE = ) [] JOIN A) [] TGD/JLB 7-8

27 SI MIEIG Álgebra Relacional Outros operadores Operadores não primitivos O operador JOIN revisitado θ JOIN, EQUIJOIN OUTER JOIN(LEFT, RIGHT and FULL) O operador EXTENDS O operador SUMMARIZE Fecho transitivo TGD/JLB 7-8

28 SI MIEIG Os Operadores Primitivos Os operadores Intersecção, Junção e Divisão não são primitivos, ou seja, podem ser definidos à custa dos restantes cinco operadores. A Intersecção (INTERSECT) pode ser definida usando a Diferença A Junção (JOIN) pode ser definida usando a Projecção, a Restrição e o Produto Cartesiano. A Divisão (DIVIDEBY) pode ser definida usando a Projecção, Produto Cartesiano e a Diferença O conjunto dos operadores União, Diferença, Restrição, Projecção e Produto Cartesiano formam o conjunto de operadores primitivos. TGD/JLB 7-8

29 SI MIEIG O operador Intersecção revisitado A INTERSECT B A Intersecção (INTERSECT) pode ser definida usando a Diferença A A INTERSECT B A MINUS (A MINUS B) ou A INTERSECT B B MINUS (B MINUS A) B ou ainda (preferível? Porquê?) (A MINUS (A MINUS B) ) UNION (B MINUS (B MINUS A)) Nota: Neste caso, como A e B devem ser compatíveis, A INTERSECT B = A JOIN B A MINUS B A B TGD/JLB 7-8

30 SI MIEIG O operador Junção revisitado O operador JOIN pode ser definido usando a Projecção, a Restrição e o Produto Cartesiano. Sejam R uma relação com atributos A1,...,An, B1,..., Bk S uma relação com atributos A1,...,An, C1,..., Cm R JOIN S tem atributos A1,...,An, B1,..., Bk, C1,..., Cm R JOIN S (((A TIMES (B RENAME A1 AS A 1,..., An AS A n)) WHERE A1 = A 1 AND A2 = A 2 AND An = A n) [A1...An, B1,...Bk, C1,...,Cm] TGD/JLB 7-8

31 SI MIEIG Exemplo Junção A O do atributo foi alterado B (após o RENAME) #forn João A TIMES (B RENAME AS #forn) #forn João João João TGD/JLB 7-8

32 SI MIEIG Exemplo Junção (cont.) (A TIMES (B RENAME AS #forn)) WHERE = #forn #forn ((A TIMES (B RENAME AS #forn)) WHERE = #forn)[,,,,, ] A JOIN B TGD/JLB 7-8

33 SI MIEIG O operador Divisão revisitado A Divisão (DIVIDEBY) pode ser definida usando a Projecção, Produto Cartesiano e a Diferença Seja R uma relação com atributos A1,...,An, B1,..., Bk S uma relação com atributos B1,..., Bk R DIVIDEBY S R [A1,,An] MINUS ((( R[A1, An] TIMES S) MINUS R ) [A1,,An]) TGD/JLB 7-8

34 SI MIEIG Exemplo - Divisão A C A[] TIMES C (A[] TIMES C) MINUS A A [] MINUS ((( A[] TIMES C) MINUS A ) []) A DIVIDEBY C TGD/JLB 7-8

35 SI MIEIG O operador θ JOIN O operador θ JOINé utilizado quando se pretende juntar duas tabelas usando uma condição diferente da igualdade entre os atributos comuns. θ é uma operação binária do conjunto {<, <=, =, >=, >} O operador θ JOINpode ser definido como (R TIMES S) WHERE X θ Y onde R e S não têm atributos comuns, X é um atributo de R e Y é um atributo de S. Se θ é a operação =, o operador θ JOINchama-se equijoin. Questão: qual a relação com a Junção Natural (JOIN)? TGD/JLB 7-8

36 SI MIEIG Exemplo: θ JOIN A B João Cidade Se θ = >, a expressão A TIMES B WHERE > Cidade Cidade João João temos as combinações de produtos e fornecedores onde a é maior (lexicograficamente) do que a Cidade. TGD/JLB 7-8

37 SI MIEIG OUTER JOIN Ao utilizar os operadores JOIN e θ JOIN pode perder-se informação. Os operadores OUTER JOIN permitem preservar informação dos operandos. R LEFT OUTER JOIN S ( R UNION (R JOIN S)) preserva a informação do operando esquerdo. Na tabela resultado, os registos de R para os quais não existe respondente em S mantêm-se, tomando os atributos de S respondentes o valor nulo. R RIGHT OUTER JOIN S ( S UNION (R JOIN S) preserva a informação do operando direito. R FULL OUTER JOIN S ( R UNION S UNION (R JOIN S) ) preserva a informação de R e de S TGD/JLB 7-8

38 SI MIEIG OUTER JOIN - Exemplos A B Coimbra CodPost A LEFT OUTER JOIN B CodPost A RIGHT OUTER JOIN B Coimbra CodPost A FULL OUTER JOIN B Coimbra CodPost TGD/JLB 7-8

39 SI MIEIG O operador EXTEND EXTEND A ADD exp AS Z para uma dada relação A, cria uma nova relação com um cabeçalho igual ao da relação original mas com um atributo adicional, cujos valores são obtidos através do cálculo de uma expressão escalar. A Stock PreçoUnit EXTEND A ADD Stock * PreçoUnit AS valorstock Stock PreçoUnit valorstock TGD/JLB 7-8

40 SI MIEIG O operador EXTEND - exemplo A B C #forn João Cidade EXTEND A ADD COUNT ((C RENAME #forn AS #forn1) WHERE #forn1= #forn ) AS NumEnc #forn Qtd A sub-expressão ((C RENAME #forn AS #forn1) WHERE #forn1= #forn ) dá-nos as encomendas de cada fornecedor para cada fornecedor que possui encomendas. Esta expressão pode ser substituída por MATCHING C. A função agregada COUNT devolve o número de encomendas de cada fornecedor. EXTEND A ADD COUNT (MATCHING C) AS NumEnc João Cidade NumEnc TGD/JLB 7-8

41 SI MIEIG O operador SUMMARIZE SUMMARIZE A BY (A1, A2,, An) ADD agg-exp AS Z A1,,An são atributos distintos de A. O resultado da expressão é uma relação composta pelos atributos {A1,...,An, Z} os valores dos dados são todos os registos x onde x é uma projecção de A sobre A1,...An com um novo atributo Z. O valor de Z é calculado através da expressão agg-exp calculada sobre todos os atributos de A que têm os mesmos valores para A1,...An que o registo x. O conjunto de atributos A1,...An não pode incluir Z e agg-exp não deve referir-se a Z. TGD/JLB 7-8

42 SI MIEIG O operador SUMMARIZE - exemplo C #forn Qtd SUMMARIZE C BY () ADD SUM (qtd) AS qtdtotal qtdtotal Quantidade total encomendada de cada produto TGD/JLB 7-8

43 SI MIEIG O operador SUMMARIZE - exemplo B C #forn Qtd B JOIN C SUMMARIZE (B JOIN C) BY () ADD COUNT AS nenc #forn Qtd 500 nenc Nº de encomendas de cada cidade TGD/JLB 7-8

44 SI MIEIG Fecho Transitivo A Álgebra Relacional não permite calcular expressões que envolvam relações recursivas entre registos da mesma tabela Fecho transitivo Exemplos todos os subprodutos de um produto todos os subordinados de um trabalhador todos os descendentes de uma pessoa #subproduto trabalhador subordinado pessoa filho joão pedro joão ana pedro antónio joão maria antónio rui ana francisco pedro miguel maria tomás TGD/JLB 7-8

ALGEBRA RELACIONAL. Álgebra Relacional Conjunto básico de operações para o Modelo Relacional O resultado é uma relação

ALGEBRA RELACIONAL. Álgebra Relacional Conjunto básico de operações para o Modelo Relacional O resultado é uma relação 1/5 Universidade Federal da Bahia Disciplina: Banco de Dados Prof a. Daniela Barreiro Claro ALGEBRA RELACIONAL Duas linguagens formais do Modelo Relacional o Álgebra Relacional e Cálculo Relacional Álgebra

Leia mais

Operações da Álgebra Relacional Operadores Especiais da Álgebra Relacional Renomeação

Operações da Álgebra Relacional Operadores Especiais da Álgebra Relacional Renomeação BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br ROTEIRO Operações

Leia mais

Unipar Universidade Paranaense Disciplina: Banco de Dados II 3ª Série Profª: Késsia Marchi Profa. Késsia Marchi

Unipar Universidade Paranaense Disciplina: Banco de Dados II 3ª Série Profª: Késsia Marchi Profa. Késsia Marchi Banco de Dados II Unipar Universidade Paranaense Disciplina: Banco de Dados II 3ª Série Profª: Késsia Marchi Álgebra Relacional Linguagem de consulta procedural; Consiste em um conjunto básico de operações,

Leia mais

- Um "query block" permite a implementação das operações de selecção, projecção e junção da álgebra relacional.

- 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

Leia mais

- SQL Linguagem de Manipulação de Dados

- SQL Linguagem de Manipulação de Dados - SQL Linguagem de Manipulação de Dados Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SELECT SELECT FROM [ WHERE predicado

Leia mais

António Rocha Nuno Melo e Castro

António Rocha Nuno Melo e Castro António Rocha Nuno Melo e Castro Definição: colecção de operadores que tomam relações como seus operandos e retornam relações como resultados Cada operador da álgebra aceita como argumentos instâncias

Leia mais

IEC Banco de Dados I Aula 06 Álgebra Relacional

IEC Banco de Dados I Aula 06 Álgebra Relacional IEC Banco de Dados I Aula 06 Álgebra Relacional Turmas: Sistemas de Informação Professora: André Luiz da Costa Carvalho E- mail: andre@icomp.ufam.edu.br Ambiente virtual: hlp://bdufam.wordpress.com Sumário

Leia mais

Sumário SELECT + FROM

Sumário SELECT + FROM Sumário 1 Introdução SQL - Perguntas André Restivo Faculdade de Engenharia da Universidade do Porto October 18, 2010 2 3 Operadores de Conjuntos 4 5 Agregações 6 Ordenações e Limites 7 Sub-perguntas 8

Leia mais

SQL - Perguntas. André Restivo. Faculdade de Engenharia da Universidade do Porto. February 24, 2012

SQL - Perguntas. André Restivo. Faculdade de Engenharia da Universidade do Porto. February 24, 2012 SQL - Perguntas André Restivo Faculdade de Engenharia da Universidade do Porto February 24, 2012 André Restivo (FEUP) SQL - Perguntas February 24, 2012 1 / 46 Sumário 1 Introdução 2 Seleccionar e Filtrar

Leia mais

Álgebra Relacional e 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

Leia mais

ÁLGEBRA E CÁLCULO RELACIONAL

Á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

Leia mais

Curso EFA Tecnológico Técnico de Informática e Sistemas. - Álgebra Relacional - João Leitão

Curso EFA Tecnológico Técnico de Informática e Sistemas. - Álgebra Relacional - João Leitão Curso EFA Tecnológico Técnico de Informática e Sistemas - Álgebra Relacional - João Leitão Linguagens relacionais Notações para expressar perguntas: algébrica aplicação de operadores a relações lógica

Leia mais

Modelo Relacional - Manipulação

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

Leia mais

Bases de Dados. Álgebra Relacional II Junções, agregações, vistas. P. Serendero,

Bases de Dados. Álgebra Relacional II Junções, agregações, vistas. P. Serendero, Bases de Dados Álgebra Relacional II Junções, agregações, vistas P. Serendero, 2011-13 1 JUNÇÕES OU JOINS em SQL - R S A condição do JOIN é especificada na claúsula ON ou USING,, ou implicitamente

Leia mais

Álgebra Relacional e SQL operações de interesse

Álgebra Relacional e SQL operações de interesse Álgebra Relacional e SQL operações de interesse 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

Leia mais

Rápida revisão do Modelo Relacional

Rápida revisão do Modelo Relacional Rápida revisão do Modelo Relacional Conceito de relação Tuplas e atributos Rápida revisão do Modelo Relacional Regras de integridade Entidade: Deve existir uma chave primária com valor único e não-nulo.

Leia mais

Um modelo por si próprio não pode realizar qualquer unidade de trabalho útil. É apenas uma representação da realidade.

Um modelo por si próprio não pode realizar qualquer unidade de trabalho útil. É apenas uma representação da realidade. 2. Modelo Relacional... 2.1. Estrutura de Dados Relacional... 2.2. Álgebra Relacional Um modelo por si próprio não pode realizar qualquer unidade de trabalho útil. É apenas uma representação da realidade.

Leia mais

ANÁLISE E PROJETO DE BANCO DE DADOS

ANÁLISE E PROJETO DE BANCO DE DADOS ANÁLISE E PROJETO DE BANCO DE DADOS ÁLGEBRA E CÁLCULO RELACIONAL FELIPE G. TORRES APRESENTAÇÃO Avaliações AV1 AV2 TRAB1 TRAB2 REFERÊNCIAS GRAVES, M. Projeto de Banco de Dados com XML. São Paulo: Makron

Leia mais

Tornou-se um padrão de fato para aplicações comerciais, devido a sua simplicidade e performance.

Tornou-se um padrão de fato para aplicações comerciais, devido a sua simplicidade e performance. Histórico Foi introduzido por Codd (1970) Tornou-se um padrão de fato para aplicações comerciais, devido a sua simplicidade e performance. É um modelo formal, baseado na teoria matemática das relações

Leia mais

Á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

Á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 karine@dpi.inpe.br Gilberto Câmara gilberto@dpi.inpe.br Gilberto Ribeiro de Queiroz gribeiro@dpi.inpe.br Álgebra Relacional Linguagem de consultas procedural

Leia mais

TABELA ENTIDADE LINHA OCORRÊNCIA DA ENTIDADE COLUNA ATRIBUTO DA ENTIDADE

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

Leia mais

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO Disciplina: Banco de Dados I Professor: Prof. Me. Everton

Leia mais

Introdução a Bancos de Dados

Introdução a Bancos de Dados Introdução a Bancos de Dados - Conceitos - Modelos lógicos e relacional - Álgebra relacional - SQL - Projeto Lógico INPE - Divisão de Processamento de Imagens INPE 1 Sistemas de Banco de Dados Definição:

Leia mais

O Modelo e a Álgebra Relacional

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.

Leia mais

!" # Modelos de dados. 1ª geração. 2ª geração. 3ª geração. Modelo Hierárquico Modelo Rede. Modelo Relacional

! # 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

Leia mais

Bases de Dados 2013/2014 Álgebra Relacional. Helena Galhardas 2013 IST. Bibliografia. Raghu Ramakrishnan, Database Management Systems, Cap.

Bases de Dados 2013/2014 Álgebra Relacional. Helena Galhardas 2013 IST. Bibliografia. Raghu Ramakrishnan, Database Management Systems, Cap. Bases de Dados 2013/2014 Álgebra Relacional Helena Galhardas Bibliografia Raghu Ramakrishnan, Database Management Systems, Cap. 4 1 1 Álgebra Relacional Sumário 2 Linguagens Formais de Interrogação Relacionais

Leia mais

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. 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

Leia mais

Banco de Dados. Álgebra Relacional. João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger

Banco de Dados. Álgebra Relacional. João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger Banco de Dados Álgebra Relacional João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger Tópicos Apresentação Seleção Projeção Renomeio de Atributos União, Subtração e operações de conjuntos Junção:

Leia mais

Definida pelo American National Standard Institute (ANSI) em 1986

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

Leia mais

Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras 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 Unidade 6.2 Álgebra Relacional - Junção PACIENTE cod-pac

Leia mais

ANÁLISE E PROJETO DE BANCO DE DADOS

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

Leia mais

Introdução às Bases de Dados

Introdução às Bases de Dados Introdução às Bases de Dados Chave primária Domínios Relação F# F Nome Estado Cidade F1 José 20 Braga F2 João 10 Faro F3 Luís 30 Lisboa F4 Rui 30 Setúbal Atributos Tuplas Introdução às Bases de Dados Modelo

Leia mais

Banco de Dados I. Prof. Diego Buchinger. Profa. Rebeca Schroeder Freitas Prof. Fabiano Baldo.

Banco de Dados I. Prof. Diego Buchinger. Profa. Rebeca Schroeder Freitas Prof. Fabiano Baldo. Banco de Dados I Prof. Diego Buchinger diego.buchinger@outlook.com diego.buchinger@udesc.br Profa. Rebeca Schroeder Freitas Prof. Fabiano Baldo Álgebra Relacional Modelo Relacional - Manipulação Categorias

Leia mais

Banco de Dados. Álgebra Relacional. João Eduardo Ferreira Osvaldo Kotaro Takai

Banco de Dados. Álgebra Relacional. João Eduardo Ferreira Osvaldo Kotaro Takai Banco de Dados Álgebra Relacional João Eduardo Ferreira Osvaldo Kotaro Takai Introdução A Álgebra Relacional contempla um conjunto de operações que permitem especificar consultas sob relações. As operações

Leia mais

Base de Dados. Sistemas de Informação. Base de Dados - Índice Introdução Componentes Base de Dados. Introdução. Introdução. Introdução.

Base de Dados. Sistemas de Informação. Base de Dados - Índice Introdução Componentes Base de Dados. Introdução. Introdução. Introdução. - Índice Componentes Sistemas de Informação Vitor Vaz da Silva Vitor Vaz da Silva - SI http://tektonia.com 2 Vitor Vaz da Silva - SI http://tektonia.com 3 Vitor Vaz da Silva - SI http://tektonia.com 4

Leia mais

Bases de Dados. Álgebra Relacional ou Como manipular uma BD SQL. P. Serendero, 2011-13

Bases de Dados. Álgebra Relacional ou Como manipular uma BD SQL. P. Serendero, 2011-13 Bases de Dados Álgebra Relacional ou Como manipular uma BD SQL P. Serendero, 2011-13 1 Álgebra Relacional Conjunto básico de operadores que tomam as relações como os seus operandos e devolvem uma relação

Leia mais

Bases de Dados BDDAD. Linguagem SQL. Comando SELECT Divisão Algébrica. Nelson Freire (ISEP LEI-BDDAD 2015/16) 1/9

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

Leia mais

Aula 11 SBD SQL Parte 3. Profa. Elaine Faria UFU

Aula 11 SBD SQL Parte 3. Profa. Elaine Faria UFU Aula 11 SBD SQL Parte 3 Profa. Elaine Faria UFU - 2018 Group by e Having Às vezes deseja-se aplicar operações agregadas a cada um dos vários grupos de linhas em um relação Group by e Having C31: Encontre

Leia mais

Banco de Dados. Linguagem SQL

Banco de Dados. Linguagem SQL Banco de Dados Linguagem SQL 1 A linguagem SQL: história Em junho de 1970, o matemático Edgar Frank Codd, publicou o artigo "A Relational Model of Data for Large Shared Data Banks" na revista "Communications

Leia mais

Universidade Veiga de Almeida

Universidade Veiga de Almeida Banco de Dados II Universidade Veiga de Almeida Banco de Dados II Prof. Luiz Antônio Vivacqua C. Meyer (luiz.vcm@gmail.com) Linguagens de Consulta Linguagens nas quais os usuários fazem requisições de

Leia mais

Banco de dados. Aula 19 Algebra Relacional Continuação. 1 Wedson Quintanilha da Silva -

Banco de dados. Aula 19 Algebra Relacional Continuação. 1 Wedson Quintanilha da Silva - Banco de dados Aula 19 Algebra Relacional Continuação 1 Operadores da Algebra Relacional Operadores originários da teoria de conjuntos: União (union) : Intersecção (intersect): Diferença (minus): - Operadores

Leia mais

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO Disciplina: Banco de Dados I Professor: Prof. Me. Everton

Leia mais

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão

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

Leia mais

Introdução ao PostgreSQL

Introdução ao PostgreSQL Introdução ao PostgreSQL Fontes Karine Reis Ferreira karine@dpi.inpe.br Gilberto Câmara gilberto@dpi.inpe.br Gilberto Ribeiro de Queiroz gribeiro@dpi.inpe.br Marcos André Gonçalves - UFMG Parte 3 Aula

Leia mais

Bases de Dados Uma Recordação da Algebra Relacional

Bases de Dados Uma Recordação da Algebra Relacional Bases de Dados Uma Recordação da Algebra Relacional Caetano Traina Jr. Grupo de Bases de Dados e Imagens Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos caetano@icmc.usp.br

Leia mais

Banco de Dados I Módulo III: Linguagens de Consulta. (Aula 1) Clodis Boscarioli

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

Leia mais

SQL (com MySQL) Apresentação OBJETIVOS. Programação

SQL (com MySQL) Apresentação OBJETIVOS. Programação SQL (com MySQL) Programação Formato: Mentored - Presencial Preço: 395 ( Os valores apresentados não incluem IVA. Oferta de IVA a particulares e estudantes. ) Horário: Flexível das 2ª a 6ª das 9h às 21h30

Leia mais

SQL BÁSICO. Luiz Antônio Vivacqua Corrêa Meyer

SQL BÁSICO. Luiz Antônio Vivacqua Corrêa Meyer SQL BÁSICO Luiz Antônio Vivacqua Corrêa Meyer SQL (Structured Query Language) Início na década de 70 pela IBM com o nome de SEQUEL. Em 1980 o produto mudou seu nome para SQL. American National Standards

Leia mais

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

BASES DE DADOS I LTSI/2. Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011 BASES DE DADOS I LTSI/2 Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011 Sistema Gestor de Bases de Dados Requisitos Fundamentais de um SGBD: Segurança. É um dos

Leia mais

Modelo Entidade-Relacionamento (E-R)

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

Leia mais

Bases de Dados. Álgebra Relacional. Selecção (σ) Seleccionar os tuplos que satisfazem uma condição. exemplo: empréstimos da agência de Perryridge

Bases de Dados. Álgebra Relacional. Selecção (σ) Seleccionar os tuplos que satisfazem uma condição. exemplo: empréstimos da agência de Perryridge Bases de Dados Álgebra Relacional Selecção (σ) Seleccionar os tuplos que satisfazem uma condição exemplo: empréstimos da agência de Perryridge σ branch_name = Perryridge (loan) 2 1 Outros exemplos de selecção

Leia mais

Bases de Dados. Álgebra Relacional. Selecção (σ) Seleccionar os registos que satisfazem uma condição exemplo: empréstimos da agência de Perryridge

Bases de Dados. Álgebra Relacional. Selecção (σ) Seleccionar os registos que satisfazem uma condição exemplo: empréstimos da agência de Perryridge Bases de Dados Álgebra Relacional Selecção (σ) Seleccionar os registos que satisfazem uma condição exemplo: empréstimos da agência de Perryridge σ branch_name = Perryridge (loan) 2 1 Outros exemplos de

Leia mais

Aula 8 BD1 Álgebra Relacional. Profa. Elaine Faria UFU

Aula 8 BD1 Álgebra Relacional. Profa. Elaine Faria UFU Aula 8 BD1 Álgebra Relacional Profa. Elaine Faria UFU - 2018 Introdução Linguagens de consulta formais associadas ao modelo relacional Álgebra Usa uma coleção de operadores e cada consulta descreve um

Leia mais

PCS3413. Engenharia de So-ware e Banco de Dados. Aula 17. Escola Politécnica da Universidade de São Paulo

PCS3413. Engenharia de So-ware e Banco de Dados. Aula 17. Escola Politécnica da Universidade de São Paulo PCS3413 Engenharia de So-ware e Banco de Dados Aula 17 Escola Politécnica da Universidade de São Paulo 1 SQL STRUCTURED QUERY LANGUAGE Manipulação de dados operações de modificam o estado das tabelas:

Leia mais

Banco de Dados I. Aula 16 - Prof. Bruno Moreno 04/11/2011

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

Leia mais

Bancos de Dados Notas de Aula Álgebra Relacional Introdução Prof. Dr. Daniel A. Furtado

Bancos de Dados Notas de Aula Álgebra Relacional Introdução Prof. Dr. Daniel A. Furtado Bancos de Dados Notas de Aula Álgebra Relacional Introdução Prof. Dr. Daniel A. Furtado 1 SELEÇÃO (SELECT): Seleciona todas as tuplas de uma relação R que satisfazem uma condição. Notação: Operadores de

Leia mais

Introdução. Introdução. Álgebra Relacional. Linguagens formais de Consulta Modelo Relacional. O que foi visto até agora...

Introdução. Introdução. Álgebra Relacional. Linguagens formais de Consulta Modelo Relacional. O que foi visto até agora... Ciência da Computação GBC043 Sistemas de Banco de Dados Linguagens formais de Consulta Modelo Relacional Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br Bloco B - sala 1B137 1 semestre de 2019

Leia mais

Introdução ao Banco de Dados. Banco de Dados

Introdução ao Banco de Dados. Banco de Dados Introdução ao Banco de Dados Prof. Tiago Garcia de Senna Carneiro UFOP Prof. Técnicas de Programação II 2006 PARTE 1: Conceitos Básicos Banco de Dados SGDB: Sistema Gerenciador de Banco de Dados Definição:

Leia mais

BCD29008 Banco de dados

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é mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 21 de agosto de 2017

Leia mais

Roteiro. Álgebra Relacional e Cálculo Relacional. BCC321 - Banco de Dados I. Introdução. Ementa. Posicionamento. Introdução

Roteiro. Álgebra Relacional e Cálculo Relacional. BCC321 - Banco de Dados I. Introdução. Ementa. Posicionamento. Introdução Roteiro Álgebra Relacional e Cálculo Relacional Posicionamento Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz

Leia mais

Linguagem SQL. ENG1518 Sistemas de Informação Gerenciais Prof. Marcos Villas

Linguagem SQL. ENG1518 Sistemas de Informação Gerenciais Prof. Marcos Villas Linguagem SQL ENG1518 Sistemas de Informação Gerenciais Prof. Marcos Villas villas@puc-rio.br SQL Linguagem padrão de acesso tabelas em um banco de dados relacional Permite definir e manipular dados DML

Leia mais

Álgebra e cálculo relacional. Andre Noel

Álgebra e cálculo relacional. Andre Noel Álgebra e cálculo relacional Andre Noel Introdução Introdução A SQL é baseada na álgebra e no cálculo relacional Introdução A SQL é baseada na álgebra e no cálculo relacional O modelo de dados precisa

Leia mais

Sistemas de Informação e Bases de Dados 2012/2013. Linguagem SQL

Sistemas de Informação e Bases de Dados 2012/2013. Linguagem SQL Sistemas de Informação e Bases de Dados 2012/2013 Linguagem SQL Alberto Sardinha Bibliografia Raghu Ramakrishnan, Database Management Systems, Cap. 3 e 5 1 Sumário Linguagem SQL 2 História Princípio dos

Leia mais

SQL. Prof. Roger Cristhian Gomes

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

Leia mais

Linguagem de Consulta/Interrogação

Linguagem de Consulta/Interrogação Linguagem de Consulta/Interrogação Álgebra Relacional Linguagem a que o utilizador recorre para obter informação a partir da base de dados. Categorias de linguagens Linguagens Teóricas Procedimentais Declarativas

Leia mais

Revisão Banco de Dados

Revisão Banco de Dados Revisão Banco de Dados Carlos Henrique - Aula 2 Descoberta de Conhecimento e Mineração de Dados Tópicos Abordados Conceitos Básicos Características Arquitetura Lógica Usuários Finais Modelo E/R Linguagens

Leia mais

Banco de Dados. Aula 8 - Prof. Bruno Moreno 16/09/2011

Banco de Dados. Aula 8 - Prof. Bruno Moreno 16/09/2011 Banco de Dados Aula 8 - Prof. Bruno Moreno 16/09/2011 Plano de Aula Operações Unárias Seleção Projeção Operações de seleção e projeção seqüenciadas Operação Rebatizar Operações Binárias União Interseção

Leia mais

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

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Manipulação de Dados Banco de Dados SQL DML SELECT... FROM... WHERE... lista atributos de uma ou mais tabelas de acordo com alguma condição INSERT INTO... insere dados em uma tabela DELETE

Leia mais

SQL DML. SQL Linguagem de Manipulação de Dados SELECT SELECT SELECT SELECT

SQL DML. SQL Linguagem de Manipulação de Dados SELECT SELECT SELECT SELECT Pós-graduação em Ciência da Computação CCM-202 Sistemas de Banco de Dados SQL Linguagem de Manipulação de Dados Profa. Maria Camila Nardini Barioni camila.barioni@ufabc.edu.br Bloco B - sala 937 2 quadrimestre

Leia mais

Modelo Relacional: Banco de Dados: coleção de relações cada relação tem um nome único.

Modelo Relacional: Banco de Dados: coleção de relações cada relação tem um nome único. Banco de Dados / 1 Bacharelado em Sistemas de Informação BANCOS DE DADOS Aula 13 Álgebra Relacional Introdução Banco de Dados / 2 Recordando... Modelo Relacional: Banco de Dados: coleção de relações cada

Leia mais

Álgebra Relacional. Índice. Sistemas de Bases de Dados. Orlando Belo

Álgebra Relacional. Índice. Sistemas de Bases de Dados. Orlando Belo Sistemas de Bases de Dados Edição 2004 Álgebra Relacional Orlando Belo Departamento de Informática Escola de Engenharia Universidade do Minho Índice Introdução A Álgebra Relacional Operadores da Álgebra

Leia mais

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language) Bases de Dados Introdução à linguagem SQL História Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R Renomeada para SQL (Structured Query Language) Standards ISO e ANSI SQL-86, SQL-89,

Leia mais

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão SISTEMAS DE BANCO DE DADOS Prof. Adriano Pereira Maranhão 1 Coleção de operações usadas para manipular relações Grupos de operações Operações relacionais Seleção; projeção; junção Operações de conjunto

Leia mais

Álgebra Relacional. Introdução. Introdução. Álgebra Relacional

Á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 camila.barioni@ufabc.edu.br Bloco B - sala

Leia mais

Projeto de Banco de Dados

Projeto de Banco de Dados Projeto de Banco de Dados Laboratório de Banco de Dados Prof. Luiz Antônio Vivacqua C. Meyer (luiz.vcm@gmail.com) Sintaxe Geral SELECT [ALL/DISTINCT] coluna1, coluna2,..., colunan FROM nome_tabela1, nome_tabela2,...,

Leia mais

BCD29008 Banco de dados

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é mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 18 de

Leia mais

Banco de Dados II Aula 05. Prof. Érick de Souza Carvalho

Banco de Dados II Aula 05. Prof. Érick de Souza Carvalho Banco de Dados II Aula 05 Prof. Érick de Souza Carvalho 1 Banco de Dados II Prof. MSc. Érick de Souza Carvalho Respostas dos Exercícios da Aula Anterior (Continuação) 2 Exercícios (Parte 05) VI) Reescreva

Leia mais

Uma breve introdução a Bases de dados

Uma breve introdução a Bases de dados Uma breve introdução a Bases de dados Bases de dados Uma base de dados é só informação organizada de forma a facilitar a sua consulta. Todos vocês já tiveram algum contacto com bases de dados. Se trabalharem

Leia mais

Álgebra Relacional e Cálculo Relacional

Álgebra Relacional e Cálculo Relacional SISTEMAS DE INFORMAÇÃO Álgebra Relacional e Cálculo Relacional Prof. Edson Thizon Linguagens de consultas formais (1) Uma linguagem de consulta (Query Language) é uma linguagem com a qual o usuário pode

Leia mais

Bases de Dados 2005/2006. Aula 5

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.

Leia mais

MC536. Modelo Relacional

MC536. Modelo Relacional MC536 Modelo Relacional Sumário Noções básicas Relação visão informal Relação visão formal Termos informais x termos formais Exemplo Restrições de Integridade Restrição de Domínio Restrição de Chave Restrição

Leia mais

Operações sobre sacos. Álgebra Relacional Extendida.

Operações sobre sacos. Álgebra Relacional Extendida. Operações sobre sacos. Álgebra elacional Extendida. Fernando Lobo ase de Dados, aula 14 1 / 23 Conjuntos versus sacos (bags) Um conjunto não tem elementos repetidos. Um saco pode ter. Em ambos os casos

Leia mais

António Rocha Nuno Melo e Castro

António Rocha Nuno Melo e Castro António Rocha Nuno Melo e Castro SQL- Strutured Query Language é a linguagem mais usada nas bases dados relacionais. Originalmente desenvolvida pela IBM Actualmente é um standard, o mais recente é o SQL:2003

Leia mais

Banco de Dados Prof. Célio R. Castelano Página 1 de 9. Álgebra Relacional

Banco de Dados Prof. Célio R. Castelano Página 1 de 9. Álgebra Relacional Banco de Dados Prof. Célio R. Castelano Página 1 de 9 Álgebra Relacional A álgebra relacional é uma linguagem procedural, que possui uma coleção de operações que são utilizadas para manipular relações

Leia mais

Caderno de Introdução Bases Dados

Caderno de Introdução Bases Dados José Adriano Adriano@ipb.pt Página 1 Sumário 5. A Linguagem SQL 5.1 Comandos DDL 5.2 Comandos DML 5. A Linguagem SQL A linguagem SQL apresenta duas variantes, DDL Data Definition Language e DML Data Manupulation

Leia mais

Consulta sobre múltiplas relações

Consulta sobre múltiplas relações Consulta sobre múltiplas relações BCD29008 Engenharia de Telecomunicações Prof. Emerson Ribeiro de Mello http://docente.ifsc.edu.br/mello/bcd 25 DE ABRIL DE 2019 Esquema usado nos próximos exemplos 1/36

Leia mais

ROTEIRO Introdução Álgebra e Cálculo Relacional Operações da Álgebra Relacional Classificação de Operadores da Álgebra Relacional Mapeamento AR -> SQL

ROTEIRO Introdução Álgebra e Cálculo Relacional Operações da Álgebra Relacional Classificação de Operadores da Álgebra Relacional Mapeamento AR -> SQL BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br ROTEIRO Introdução

Leia mais

SQL (Tópicos) Structured 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

Leia mais

Á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çõ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

Leia mais

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

Programação SQL. INTRODUÇÃO II parte Programação SQL INTRODUÇÃO II parte Programação SQL SELECT; INSERT; UPDATE; DELETE. Este conjunto de comandos faz parte da sublinguagem denominada por DML Data Manipulation Language (Linguagem de manipulação

Leia mais

Bases de Dados. Optimização de planos de execução. Plano de execução

Bases de Dados. Optimização de planos de execução. Plano de execução Bases de Dados Optimização de planos de execução Plano de execução O plano de execução define a sequência de operações e o algoritmo para cada operação 2 1 Plano de execução Mas atenção: escolher o algoritmo

Leia mais

Uma base de dados está num estado de integridade se contém apenas dados válidos. Os dados armazenados devem estar de acordo com a realidade

Uma base de dados está num estado de integridade se contém apenas dados válidos. Os dados armazenados devem estar de acordo com a realidade 2. Modelo Relacional... 2.1. Estrutura de Dados Relacional 2.2. Álgebra Relacional 2.3. Linguagens Relacionais 2.4. Restrições de integridade Uma base de dados está num estado de integridade se contém

Leia mais

Um toque de álgebra relacional: UNION e outras operações

Um toque de álgebra relacional: UNION e outras operações Capítulo 10 Um toque de álgebra relacional: UNION e outras operações Embora o SQL sejasicamente uma linguagem oriunda da lógica de predicados, a operação de união é realizada explicitamente pelo operador

Leia mais

Banco de Dados I 5 Linguagens de Consulta

Banco de Dados I 5 Linguagens de Consulta Banco de Dados I 5 Linguagens de Consulta Grinaldo Lopes de Oliveira (grinaldo( grinaldo@gmail.com) Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas * Material com créditos de colaboração

Leia mais

Banco de Dados II. Aula Prof. Diemesleno Souza Carvalho

Banco de Dados II. Aula Prof. Diemesleno Souza Carvalho Banco de Dados II Aula 02.4 Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Subconsultas Subconsultas Contextualizando... De forma geral, grande parte das consultas

Leia mais

Bases de Dados. Parte IV: Álgebra e Cálculo Relacional

Bases de Dados. Parte IV: Álgebra e Cálculo Relacional Bases de Dados MI / LCC / LEG / LERSI / LMAT Parte IV Álgebra e Cálculo Relacional Álgebra Relacional Conjunto básico de operações que nos permitem manipular relações no modelo relacional. As operações

Leia mais

Universidade da Beira Interior Cursos: Engenharia Informática, Ensino da Informática, Matemática Aplicada e Matemática /Informática

Universidade da Beira Interior Cursos: Engenharia Informática, Ensino da Informática, Matemática Aplicada e Matemática /Informática Modelo Relacional Relação: Dada uma colecção de conjuntos D 1, D 2,...D n (não necessariamente disjuntos) R é uma relação naqueles conjuntos se for constituída por um conjunto de n-uplos ordenados

Leia mais