Capítulo 3 Modelo Relacional
|
|
|
- Geovane Castro Domingos
- 7 Há anos
- Visualizações:
Transcrição
1 Capítulo 3 Modelo Relacional
2 Modelo Relacional Estrutura dos Bancos de Dados Relacionais Álgebra Relacional Cálculo Relacional de Tuplas Cálculo Relacional de Domínio Operações de Álgebra Relacional Estendida Modificações no Banco de Dados Visões
3 Modelo Relacional Estrutura dos Bancos de Dados Relacionais Álgebra Relacional Cálculo Relacional de Tuplas Cálculo Relacional de Domínio Operações de Álgebra Relacional Estendida Modificações no Banco de Dados Visões
4 Estrutura Básica Dados conjuntos A 1, A 2,..., A n, uma relação r é um subconjunto de A 1 A 2... A n Assim, uma relação é um conjunto de n-tuplas (a 1,a 2,...,a n ) onde a i A i, para cada i de 1 até n
5 Estrutura Básica Exemplo: Se nome_cliente = {Jones, Smith, Curry, Lindsay} rua_cliente = {Main, North, Park} cidade_cliente = {Harrison, Rye, Pittsfield} Então r = {(Jones, Main, Harrison), (Smith, North, Rye), (Curry, North, Rye), (Lindsay, Park, Pittsfield)} é uma relação sobre nome_cliente rua_cliente cidade_cliente
6 Esquema de Relação Sejam os atributos A 1, A 2,..., A n R = (A 1, A 2,..., A n ) é dito ser um esquema de relação Esquema_cliente = (nome_cliente, rua_cliente, cidade_cliente) r(r) é uma relação no esquema de relação R cliente (Esquema_cliente)
7 Instância de Relação Os valores correntes de uma relação (instância da relação) são especificados por uma tabela. Um elemento t de r é uma tupla; representada por uma linha na tabela. nome_cliente rua_cliente cidade_cliente Jones Smith Curry Lindsay Main North North Park cliente Harrison Rye Rye Pittsfield
8 Observações Gerais Como as tabelas em essência são relações, utiliza-se os termos matemáticos relação e tupla, no lugar de tabela e linhas. Como uma relação é um conjunto de tuplas, podemos usar a notação matemática t r para denotar que a tupla t está na relação r.
9 Chaves Seja K R K é uma super chave de R se valores de K são suficientes para identificar uma única tupla de cada possível relação r(r). Por possível r estamos querendo denotar uma relação que poderia existir na empresa que está sendo modelada. Exemplo: {cliente_nome, rua_nome} e {cliente_nome} são ambas super chaves de cliente, se assumirmos que dois clientes não possam ter o mesmo nome.
10 Chaves K é uma chave candidata se K é mínima. Exemplo: {cliente_nome} é uma chave candidata para cliente,pois ela é super chave (assumindo que dois clientes não possam ter o mesmo nome) e é mínima desde que nenhum subconjunto dela é uma super chave.
11 Determinando Chaves a partir dos Conjuntos E-R Conjunto de entidades fortes. A chave primária da entidade torna-se a chave primária da relação. Conjunto de entidades fracas. A chave primária da relação consiste da união da chave primária da entidade forte relacionada e o discriminador da entidade fraca.
12 Determinando Chaves a partir dos Conjuntos E-R Conjunto de relacionamentos. A união da chave primária das entidades relacionadas tornase uma super chave da relação. Para relacionamentos binários do tipo muitos-paramuitos, essa super chave também é a chave primária. Para relacionamentos binários do tipo muitos-para-um, a chave primária da entidade muitos torna-se a chave primária da relação. Para relacionamentos binários do tipo um-paraum, pode ser a chave primária de qualquer das duas entidades.
13 Linguagens de Consulta Linguagem por meio da qual usuários solicitam informações do banco de dados. Categoria de linguagens: Procedural Não-procedural Linguagens Puras : Álgebra Relacional (procedural) Cálculo relacional de tupla (não-procedural) Cálculo relacional de domínio (não-procedural) Linguagens puras (formais, sem a sintaxe agradável das linguagens comerciais) formam a base subjacente das linguagens de consultas usadas comercialmente.
14 Modelo Relacional Estrutura dos Bancos de Dados Relacionais Álgebra Relacional Cálculo Relacional de Tuplas Cálculo Relacional de Domínio Operações de Álgebra Relacional Estendida Modificações no Banco de Dados Visões
15 Álgebra Relacional Linguagem procedural Seis operadores básicos seleção ( σ ) projeção ( ) união ( ) diferença ( - ) Produto cartesiano ( x ) Rename ( ) Os operadores tomam uma ou mais relações como entrada e produzem uma nova relação como resultado.
16 Observações Gerais O que são operações primárias? O que são operações binárias?
17 Observações Gerais O que são operações primárias? São aquelas operações que são efetuadas em cima de uma única relação (ou seja única tabela). Quais as operações que vocês consideram como primárias? - Seleção, projeção e rename
18 Observações Gerais O que são operações binárias? As operações que operam sobre um par de relações (tabelas) são ditas operações binárias. Quais operações podemos considerar como binárias? - União, Diferença e Produto cartesiano
19 Observações Gerais Os operadores tomam uma ou mais relações como entrada e produzem uma nova relação como resultado. Está certa está afirmação? Os operadores tomam uma ou mais tabela como entrada e produzem uma nova tabela como resultado.
20 Operação de Seleção Notação: σ P (r) Definida como: σ P (r)={t t r and P(t)} Onde P é uma fórmula do cálculo proposicional, tratando termos da seguinte forma: <atributo> = < atributo > ou <constante> > < conectados por : ^ (and), (or), (not)
21 Observações Gerais A operação de seleção é representada pela letra grega, assim temos : nome_agência = UFSC (empréstimo) Onde : - Predicado : nome_agência = UFSC - Argumento da Relação : empréstimo
22 Operação de Seleção Exemplo Relação r: A B C D α α β β α β β β σ A=B ^ D > 5 (r) A B C D α β α β
23 Operação de Projeção Notação: Π A 1, A2,..., Ak (r) onde A 1, A 2 são nomes de atributos e r um nome de relação. O resultado é definido como a relação de k colunas obtida pela remoção das colunas que não estão listadas Linhas duplicadas são eliminadas do resultado, visto que relações são conjuntos.
24 Operação de Projeção - Exemplo Relação r: A α α β β B C Π A, C (r) A C α α β β A α β β C 1 1 2
25 Operação União Notação: r s Definida como: r s = {t t r or t s} Para r s ser válida, 1. r, s devem ter o mesmo grau (aridade - mesmo número de atributos). 2. Os domínios dos atributos devem ser compatíveis (ex.: a segunda coluna de r lida com o mesmo tipo de valores da segunda coluna de s).
26 Operação União - Exemplo Relações r, s: r A B s A B α α β α β 2 3 r s A B α α β β
27 Operação Diferença Notação: r - s Definida como: r - s = {t t r and t s} A operação de diferença só pode ser realizada entre relações compatíveis. r e s devem ter o mesmo grau. Os domínios dos atributos de r e s devem ser compatíveis
28 Operação Diferença Exemplo Relações r, s: r s A B A B r - s A B α α β α β 2 3 α β 1 1
29 Operação Produto Cartesiano Notação: r s Definida como: r s = {t q t r and q s} Assuma que os atributos de r(r) e s(s) são disjuntos. (Isto é, R S = ). Se os atributos de r( R) e s( S) não são disjuntos, então uma renomeação deve ser feita.
30 Operação Produto Cartesiano - Exemplo Relações r,s: r s r s A B 1 2 α β C D α β β γ E A D C B α β β γ α β β γ α α α α β β β β E
31 Composição de Operações Pode-se construir expressões usando múltiplas operações Exemplo : σ A= C (r s) r s Notação: r s Sejam r e s relações sobre esquemas R e S, respectivamente. O resultado é uma relação com esquema R S o qual é obtido considerando cada par de tuplas t r de r e t s de s. Se t r e t s têm os mesmos valores em cada um dos atributos comuns (i.e., R S), então a tupla t é adicionada ao resultado, onde t tem o mesmo valor como t r em r t tem o mesmo valor como t s em s
32 Composição de Operações Exemplo: R =(A,B,C,D) S =(E,B,D) Esquema resultado = (A,B,C,D,E) r s é definido como: π r.a, r.b, r.c, r.d,s.e (σ r.b= s.b ^ r.d= s.d ( r s))
33 Operação de Junção Natural Exemplo Relações r,s: r s r s B E D a a a b b α β γ δ ε A D C B a a b a b α γ β γ β α β γ α δ A D C B E a a a a b α α γ γ β α α α α δ α γ α γ δ
34 Operação de Divisão r s é interessante para consultas que incluem a frase para todos. Sejam r e s relações com esquemas R e S respectivamente, onde R = (A 1,..., A m, B 1,..., B n ) S = (B 1,..., B n ) O resultado de r s é uma relação com esquema R - S = (A 1,..., A m ), tal que r s = {t t Π R-S (r) ^ u s (tu r)}
35 Operação de Divisão - Exemplo Relações r,s: r s A α ε r A α α α β γ δ δ δ δ ε ε B s B 1 2
36 Outro Exemplo de Divisão Outro Exemplo de Divisão r D E 1 1 a b s A D C B E a a b a b a b b a a a a a a a a α γ γ γ γ γ γ β α α α β β γ γ γ Relações r,s: r s A B a a α γ C γ γ
37 Operação de Designação A operação de designação ( ) provê uma maneira conveniente de expressar consultas complexas; escrever uma consulta como um programa seqüencial consiste de uma série de atribuições seguidas por uma expressão cujo valor é apresentado como o resultado da consulta.
38 Operação de Designação A designação deve sempre ser feita a uma variável de relação temporária. Exemplo: Escrever r s como temp1 Π R-S (r) temp2 Π R-S ((temp1 s) - Π R-S,S (r)) result = temp1 - temp2 O resultado da expressão a direita de é atribuído à variável de relação à esquerda de. Pode-se usar variáveis em expressões subseqüentes.
39 Exemplo de Consultas Encontrar todos os clientes que tenham ao menos uma conta nas agências Downtown e Uptown. Consulta 1 Π nome_cliente (σ nome_agência= Downtown (depositante conta)) Π nome_cliente (σ nome_agência = Uptown (depositante conta))
40 Exemplo de Consultas Achar todos os clientes que tem uma conta em todas as agências localizadas no Brooklyn. Π cliente_nome, agência_nome (depositante conta) Π agência_nome (σ cidade_agência = Brooklyn (agência))
41 Modelo Relacional Estrutura dos Bancos de Dados Relacionais Álgebra Relacional Cálculo Relacional de Tuplas Cálculo Relacional de Domínio Operações de Álgebra Relacional Estendida Modificações no Banco de Dados Visões
42 Tupla Cálculo Relacional de O Cálculo Relacional de Tupla é uma linguagem não-procedural, onde cada consulta é da forma {t P (t)} Este é o conjunto de todas as tuplas t que tornam o predicado P verdadeiro. t é uma variável de tupla; t[a] denota o valor da tupla t no atributo A. t r denota que a tupla t está na relação r. P é uma fórmula similar àquelas do cálculo de predicados.
43 Fórmulas do Cálculo de Predicado Incluem: 1. Conjunto de atributos e constantes. 2. Conjunto de operadores comparação: (e.g., <,, =,, >, ) 3. Conjunto de conectivos lógicos: and (^), or ( ), not ( ) 4. Implicação ( ): x y, se x é verdade, então y é verdade. x y x y 5. Conjunto de quantificadores: t r (Q( t)) existe uma tupla t na relação r que torna o predicado Q( t) verdadeiro.
44 O Exemplo da Empresa Bancária agência (nome_agência,cidade_agência, fundos) cliente (nome_cliente, rua_cliente, cidade_cliente) conta (nome_agência, número_conta, saldo) empréstimo (nome_agência, número_empréstimo, total) depositante (nome_cliente, número_conta) devedor (nome_cliente, número_empréstimo)
45 Exemplo de Consultas (1) Achar os nomes de todas as agências na relação emprestimo select nome_agencia from emprestimo
46 Exemplo de Consultas (2) Achar os nomes de todas as agencias na relação emprestimo e remover as duplicatas select distinct nome_agencia from emprestimo
47 Exemplo de Consultas (3) Achar todos os numeros de emprestimos de emprestimos feitos na agencia Perryridge com totais maiores que $1200. select numero_empestimo from emprestimo where nome_agencia = Perryridge and total > 1200
48 Exemplo de Consultas (4) Achar o numero do emprestimo dos emprestimos com total entre $90,000 e $100,000 (isto e, >= $90,000 and <= $100,000) select numero_emprestimo from emprestimo where total between and
49 Exemplo de Consultas (5) Encontre o nome do cliente e o numero de emprestimo de todos os clientes que possuem um emprestimo na agencia Perryridge. select distinct nome_cliente,devedor.numero_emprest imo from devedor,emprestimo where devedor.numero_emprestimo = emprestimo.numero_emprestimo and nome_agencia = Perryridge
50 Exemplo de Consultas (6) Encontre o nome e o numero do emprestimo dos clientes que possuem um emprestimo na agencia Perryridge; substitua o nome da coluna numero_emprestimo por numero_do_emprestimo_do_devedor.
51 Exemplo de Consultas select distinct nome_cliente, devedor.numero_emprestimo as numero_do_emprestimo_do_dev edor from devedor, emprestimo where devedor.numero_emprestimo = emprestimo.numero_emprestimo and nome_agencia = Perryridge
52 Exemplo de Consultas (7) Encontre o nome dos clientes e seus numeros de emprestimo para todos os clientes que possuem um emprestimo em alguma agencia.
53 Exemplo de Consultas select distinct nome_cliente, T.numero_emprestimo from devedor as T, emprestimo as S where T.numero_emprestimo =S.numero_emprestimo
54 Exemplo de Consultas (8) Encontre o nome de todas as agencias que possuam fundos maiores que ao menos uma agencia daquelas localizadas no Brooklyn. select distinct T.nome_agencia from agencia as T, agencia as S where T.fundos > S.fundos and S.cidade_agencia = Brooklyn
55 Exemplo de Consultas (9) Listar em ordem alfabetica os nomes de todos os clientes que tem um emprestimo na agencia Perryridge: select distinct nome_cliente from devedor, emprestimo where devedor.numero_emprestimo = emprestimo.numero_emprestimo and nome_agencia = Perryridge order by nome_cliente
56 Exemplo de Consultas (10) Encontre todos os clientes que possuam um emprestimo, uma conta ou ambos: (select nome_cliente from depositante ) union(select nome_cliente from devedor)
57 Exemplo de Consultas (11) Encontre todos os clientes que possuem ambos uma conta e um emprestimo: (select nome_cliente from depositante ) intersect (select nome_cliente from devedor )
58 Exemplo de Consultas (12) Encontre todos os clientes que possuem uma conta mas não possuem emprestimo; (select nome_cliente from depositante) except (select nome_cliente from devedor )
59 Exemplo de Consultas (13a) Encontre a média dos saldos em contas na agencia Perryridge. select avg (saldo) from contas where nome_agencia = Perryridge
60 Exemplo de Consultas (13b) Encontre o numero de tuplas na relação clientes: select count (*) from cliente
61 Exemplo de Consultas (14) Encontre o numero de depositantes no banco: select count (distinct nome_cliente) from depositante
62 Exemplo de Consultas (15) Encontre o numero de depositantes em cada agencia. select nome_agencia, count (distinct nome_cliente ) from depositante,conta where depositante.numero_conta =conta.numero_conta group by nome_agencia
63 Exemplo de Consultas (16) Encontre o nome de todas as agencias onde a media do saldo das contas seja maior que $1,200 select nome_agencia, avg (saldo) from conta group by nome_agencia having avg (saldo) > 1200
64 Exemplo de Consultas (17) Encontrar todos os clientes que possuem uma conta e um emprestimo no banco. select distinct nome_cliente from devedor where nome_cliente in (select nome_cliente from depositante)
65 Exemplo de Consultas (18) Encontre a media do balanço de contas das agencias onde a media do balanço de contas e maior que $1200. select nome_agencia, saldo_medio from (select nome_agencia, avg (saldo) from conta group by nome_agencia) as result (nome_agencia,saldo_medio) where saldo_medio > 1200
66 Exemplo de Consultas (19) Exclua todas os registros de contas da agencia Perryridge delete from conta where nome_agencia = Perryridge
67 Exemplo de Consultas (20) Apague os registros de todas as contas com saldos abaixo da media no banco delete from conta where saldo < (select avg (saldo) from conta)
68 Exemplo de Consultas (21) Adicionar uma nova tupla em conta insert into conta values ( Perryridge, A-9732, 1200) ou de forma equivalente insert into conta (nome_agencia, saldo, numero_conta) values ( Perryridge, 1200, A-9732)
69 Exemplo de Consultas (22) Forneça aos clientes da agencia Perryridge uma caderneta de poupança de $200 como brinde para cada emprestimo que eles tenham. O numero do emprestimo será usado como numero da caderneta de poupança
70 Exemplo de Consultas insert into conta select nome_agencia, numero_emprestimo,200 from emprestimo where nome_agencia = Perryridge insert into depositante select nome_cliente, numero_emprestimo from emprestimo, devedor where nome_agencia = Perryridge and emprestimo.numero_conta = devedor.numero_conta
71 Exemplo de Consultas Encontrar o nome_agência, número_empréstimo, e total para empréstimos acima de $1200: {t t empréstimo ^ t [total] > 1200 } Encontrar o número_empréstimo para cada empréstimo com valor acima de $1200: {t s empréstimo (t[número_empréstimo] = s[número_empréstimo] ^ s[total] > 1200)} Note que uma relação no esquema [empréstimo] é definida implicitamente pela consulta.
72 Exemplo de Consultas Encontrar os nomes de todos os clientes que têm um empréstimo, uma conta, ou ambos no banco: {t s devedor (t[cliente_nome]=s[cliente_nome]) u depositante (t[cliente_nome]=u[cliente_nome])} Encontrar os nomes de todos os clientes que têm um empréstimo e uma conta no banco: {t s devedor (t[cliente_nome]=s[cliente_nome]) u depositante (t[cliente_nome]=u[cliente_nome])}
73 Exemplo de Consultas Encontrar o nome de todos os clientes que têm um empréstimo na agência Perryridge: {t s devedor (t[nome_cliente]=s[nome_cliente] ^ u empréstimo (u[nome_agência]= Perryridge ^ u[número_empréstimo]=s[número_empréstimo]))} Encontrar o nome de todos os clientes que têm um empréstimo na agência Perryridge, mas não tem conta em nenhuma agência do banco: {t s devedor (t[nome_cliente]=s[nome_cliente] ^ u empréstimo (u[nome_agência]= Perryridge ^ u[número_empréstimo]=s[número_empréstimo]))} ^ ( v) depositante (v[nome_cliente]= t[nome_cliente]}
74 Exemplo de Consultas Encontrar os nomes de todos os clientes que têm empréstimos na agência de Perryridge e nas cidades em que eles vivem: {t s empréstimo (s[nome_agência] = Perryridge ^ u devedor (u[número_empréstimo]=s[número_empréstimo] ^ t[nome_cliente]=u[nome_cliente] ^ v cliente (u[nome_cliente]=v[nome_cliente] ^ t[cidade_cliente]=v[cidade_cliente])))}
75 Consultas Exemplo de Encontrar os nomes de todos os clientes que têm uma conta em todas s agências localizadas no Brooklyn: {t s agência (s[cidade_agência] = Brooklyn ) u conta (s[nome_agência]=u[nome_agência] ^ s depositante (t[nome_cliente]=s[nome_cliente] ^ s[número_conta]=u[número_conta]))}
76 Expressões de Segurança É possível escrever expressões do cálculo de tuplas que gerem relações infinitas. Por exemplo, {t t r} resulta em uma relação infinita se o domínio de qualquer atributo da relação r for infinito. Este problema é tratado restringindo o conjunto de expressões possíveis à expressões seguras. Uma expressão {t P (t)} do cálculo relacional de tuplas é segura se toda componente de t aparece em uma das relações, tuplas, ou constantes que aparecem em P.
77 Expressividade das Linguagens O cálculo relacional de tuplas limitado por expressões de segurança é equivalente em poder de expressividade à álgebra relacional. Toda expressão do cálculo relacional possui expressão semelhante na álgebra relacional, e vice-versa.
78 Modelo Relacional Estrutura dos Bancos de Dados Relacionais Álgebra Relacional Cálculo Relacional de Tuplas Cálculo Relacional de Domínio Operações de Álgebra Relacional Estendida Modificações no Banco de Dados Visões
79 Cálculo Relacional de Domínio O cálculo relacional de domínio é uma linguagem de consultas não-procedural equivalente ao cálculo relacional de tupla. Essa forma usa variáveis de domínio que tomam valores do domínio de um atributo, ao invés de valores da tupla inteira. Cada consulta é uma expressão da forma: {< x 1, x 2,..., x n > P(x 1, x 2,..., x n )} onde x 1, x 2,..., x n representam variáveis de domínio P representa uma fórmula similar àquelas do cálculo de predicados
80 Exemplo de Consultas Achar o nome_agência, número_empréstimo e total para empréstimos acima de $1200: {< b,l,a > < b,l,a > empréstimo ^ a > 1200} Achar os nomes de todos os clientes que possuem empréstimos acima de $1200: {< c > b,l,a (< c,l > devedor^ < b,l,a > empréstimo ^ a > 1200)} Achar os nomes de todos os clientes e o total do empréstimo dos que possuem um empréstimo na agência Perryridge: {< c,a > l (< c,l > devedor ^ b (< b,l,a > empréstimo ^ b = Perryridge ))}
81 Exemplo de Consultas Achar os nomes de todos os clientes que têm um empréstimo, uma conta, ou ambos na agência Perryridge: {< c > l (< c,l > devedor ^ b,a (< b,l,a > empréstimo ^ b = Perryridge )) a (< c,a > depositante ^ b,n (< b,a,n > conta ^ b = Perryridge ))} Achar os nomes de todos os clientes que possuem conta em todas as agências localizadas no Brooklyn: {< c > x,y,z (< x,y,z > agência ^ y = Brooklyn ) ) a,b (< x,a,b > conta ^ < c,a > depositante)}
82 Expressões de Segurança {< x 1, x 2,..., x n > P (x 1, x 2,..., x n )} É segura se todas as seguintes propriedades são válidas: 1. Todos os valores que aparecem nas tuplas das expressões são valores de dom(p) (isto é, os valores aparecem ou em P ou em uma tupla de uma relação mencionada em P). 2. Para toda sub-fórmula existe da forma x(p 1 (x)), a subfórmula é verdadeira se e somente se existe um valor x em dom(p 1 ) tal que P 1 (x) é verdadeiro. 3. Para toda sub-fórmula para todo da forma x (P 1 (x)), a sub-fórmula é verdadeira se e somente se P 1 (x) é verdadeiro para todos os valores x de dom(p 1 ).
83 Expressividade das Linguagens São equivalentes: Álgebra relacional Cálculo relacional de tuplas restrito por expressões de segurança Cálculo relacional de domínio restrito por expressões de Segurança
84 Relacional Modelo Estrutura dos Bancos de Dados Relacionais Álgebra Relacional Cálculo Relacional de Tuplas Cálculo Relacional de Domínio Operações de Álgebra Relacional Estendida Modificações no Banco de Dados Visões
85 Operações da Álgebra relacional Estendida Serão vistas: Projeção generalizada Junção externa (Outer Join) Funções Agregadas
86 Projeção Generalizada Estende a operação de projeção para permitir que funções aritméticas sejam usadas em listas de projeções. Π F1, F2,..., Fn (E) E é uma expressão da álgebra relacional. Os F 1, F 2,..., F n são expressões aritméticas envolvendo constantes e atributos no esquema de E. Dada uma relação info_crédito(nome_cliente, limite, saldo_crédito), achar o quanto cada pessoa ainda pode gastar: Π nome_cliente, (limite saldo_crédito) (info_crédito)
87 Junção Externa Uma extensão da operação de junção que evita perda de informações. Calcula-se a junção e então adiciona-se ao resultado da junção as tuplas de uma relação que não combinam (match) com as tuplas da outra relação. Uso de valores nulos: Nulo significa que o valor é desconhecido ou não existe. Todas as comparações envolvendo valores nulos são falsas por definição.
88 Exemplo de Junção Externa Relação empréstimo nome_agência número_emprestimo total Downtown Redwood Perryridge L-170 L-230 L Relação devedor nome_cliente numero_empréstimo Jones Smith Hayes L-170 L-230 L-155
89 Exemplo de Junção Externa empréstimo devedor nome_agência número_agência total nome_cliente Downtown Redwood L-170 L Jones Smith empréstimo devedor nome_agência número_empréstimo total nome_cliente número_empréstimo Downtown Redwood Perryridge L-170 L-230 L Jones Smith nulo L-170 L-230 nulo
90 Exemplo de Junção Externa empréstimo devedor nome_agência número_empréstimo total nome_cliente Downtown Redwood null L-170 L-230 L null Jones Smith Hayes empréstimo devedor nome_agência número_empréstimo total nome_cliente Downtown Redwood Perryridge L-170 L-230 L Jones Smith null null L-155 null Hayes
91 Funções agregadas A operação de agregação G tem como entrada uma coleção de valores e retorna um único valor como resultado. avg: média dos valores min: valor mínimo max: valor máximo sum: soma dos valores count: número de valores G1, G2,..., Gn G F1 A1, F2 A2,..., Fm Am (E) Onde E expressão da álgebra relacional G 1, G 2,..., G n é uma lista de atributos para agrupar F i é uma função de agregação A i é um nome de atributo
92 Exemplo de Funções Agregadas Relação r: A B C α α β β α β β β sum C (r) sum-c 27
93 Exemplo de Funções Agregadas Relação conta agrupada pelo nome_agência: número_conta Perryridge Perryridge Brighton Brighton Redwood A-102 A-201 A-217 A-215 A-222 saldo nome_agência soma_saldo nome_agência G sum saldo (conta) Perryridge 1300 Brighton 1500 Redwood 700
94 Relacional Modelo Estrutura dos Bancos de Dados Relacionais Álgebra Relacional Cálculo Relacional de Tuplas Cálculo Relacional de Domínio Operações de Álgebra Relacional Estendida Modificações no Banco de Dados Modificações no Banco de Dados Visões
95 Modificações no Banco de Dados O conteúdo do banco de dados pode ser modificado usando as seguintes operações: Exclusão Inserção Atualização Todas essas operações são expressas usando o operador de designação.
96 Exclusão A solicitação de exclusão é expressa de maneira similar a uma consulta. No entanto, ao invés de mostrar as tuplas selecionadas ao usuário, elas são excluídas do banco de dados. Pode-se excluir apenas tuplas inteiras; não é possível excluir valores de atributos específicos. Uma exclusão é expressa na álgebra relacional por: r r - E Onde r é uma relação e E é uma consulta da álgebra relacional.
97 Exemplos de Exclusão Excluir todos os registros de contas na agência Perryridge. conta conta - σ nome_agência = Perryridge (conta) Excluir todos os registros de empréstimo com total entre 0 e 50. empréstimo empréstimo - σ total 0 and total 50 (empréstimo) Excluir todas as contas nas agências localizadas em Needham. r 1 σ cidade_agência = Needham (conta agência) r 2 Π nome_agência, número_conta, saldo (r 1 ) r 3 Π nome_cliente, número_conta (r 2 depositante) conta conta - r 2 depositante depositante - r
98 Inserção Para inserir dados em uma relação, deve-se: Especificar uma tupla a ser inserida, ou Escrever uma consulta cujo resultado é um conjunto de tuplas a ser inserido Em álgebra relacional, uma inserção é expressa por: r r E Onde r é uma relação e E é uma expressão da álgebra relacional. A inserção de uma única tupla é expressa especificando E como uma relação constante contendo uma tupla.
99 Exemplos de Inserção Inserir informação no banco de dados especificando que o cliente Smith tem $1200 na conta A-973 na agência Perryridge. conta conta {( Perryridge, A-973, 1200)} depositante depositante {( Smith, A-973)} Incluir, a título de presente para todos os clientes de empréstimos na agência Perryridge, uma conta de poupança de poupança de $200. Faça o número de empréstimo servir como número de conta para essas novas contas de poupança. r 1 (σ nome_agência = Perryridge (devedor empréstimo)) conta conta Π nome_agência, número_empréstimo, 200 (r 1 ) depositante depositante Π nome_cliente, número_empréstimo (r 1 )
100 Atualização Um mecanismo para mudar um valor em uma tupla sem mudar todos os valores na tupla Usa-se o operador de projeção generalizada para esta tarefa r Π F 1, F2,..., Fn (r) Cada F i ou é o i-ésimo atributo de r, se seu valor não é modificado, ou é uma expressão para o valor do atributo a ser modificado. F i é uma expressão, envolvendo somente constantes e os atributos de r, os quais dão o novo valor para o atributo.
101 Exemplos de Atualização Fazer pagamento de juros aumentando todos os saldos em 5 por cento. conta Π nome_agência, número_conta, saldo saldo*1.05 (conta) Fazer pagamentos de juros de 6% para contas com saldo acima de $ e 5% para as outras contas. conta Π nome_agência, número_conta, saldo saldo*1.06 (σ saldo > (conta)) Π nome_agência, número_conta, saldo saldo*1.05 (σ saldo (conta))
102 Relacional Modelo Estrutura dos Bancos de Dados Relacionais Álgebra Relacional Cálculo Relacional de Tuplas Cálculo Relacional de Domínio Operações de Álgebra Relacional Estendida Modificações no Banco de Dados Visões
103 Visões Em alguns casos, não é desejável que todos os usuários vejam possam ver o modelo lógico inteiro (isto é, as relações armazenadas de fato no banco de dados).
104 Visões Considere um pessoa que precise conhecer o número do empréstimo de um cliente mas não precisa ver o total do empréstimo. Esta pessoa deveria ver uma relação descrita, na álgebra relacional, como Π nome_cliente, número_empréstimo (devedor empréstimo) Toda relação que não é parte do modelo conceitual mas é tornada visível para um usuário como uma relação virtual é chamada de uma visão.
105 Definição de Visões Uma visão é definida usando a declaração create view que tem a forma create view v as <expressão de consulta> onde < expressão de consulta > é qualquer expressão correta da álgebra relacional. O nome da visão é representado por v. Uma vez definida a visão, o nome da visão pode ser usado para se referir à relação virtual que a definição da visão gera. Definição de visão não é o mesmo que criar uma nova relação a partir da avaliação da expressão de consulta. Ao invés disso, uma definição de visão causa o armazenamento de uma expressão para ser substituída nas consultas que usam a visão.
106 Exemplos de Visões Considere a visão (chamada de todos_clientes) consistindo das agências e seus clientes. create view todos_clientes as Π nome_agência, nome_cliente (depositante conta) Π nome_agência, nome_cliente (devedor empréstimo) Pode-se encontrar todos os clientes da agência Perryridge escrevendo: Π nome_cliente (σ nome_agência= Perryridge (todos_clientes))
107 Atualizações Através de Visões Modificações no banco de dados expressas como visões devem ser traduzidas em modificações de relações reais do banco de dados. Considere a pessoa que precisa ver todos os dados de empréstimo na relação exceto o total. A visão, agência_empréstimo, dada à pessoa poderia ser definida como:
108 Atualizações Através de Visões create view agência_empréstimo as Π nome_agência, número_empréstimo (empréstimo) Como permite-se que o nome de uma visão apareça em referências a nomes de relações, se poderia escrever : agência_empréstimo agência_empréstimo {( Perryridge, L-37)}
109 Atualizações Através de Visões A inserção anterior deve ser representada por uma inserção na relação empréstimo do banco de dados a qual é usada a construção da visão agência_empréstimo. Uma inserção na relação empréstimo requer o valor do atributo total. Uma inserção pode ser tratada das seguintes maneira: Rejeitando a inserção e apresentando uma mensagem de erro para o usuário; Inserindo a tupla ( Perryridge, L-37, nulo) na relação empréstimo.
110 Visões Definidas Usando Outras Visões Uma visão pode ser usada na expressão de definição de outra visão. Uma relação de visão v 1 é dita depender diretamente de uma relação de visão v 2, se v 2 é usada na expressão que define v 1 Uma relação de visão v 1 é dita depender de uma relação de visão v 2, se e somente se existe um caminho de v 2 para v 1 no grafo de dependência. Uma relação de visão v é dita ser recursiva se ela depende dela mesma.
111 Expansão de Visões É uma maneira de definir o significado de visões definidas em termos de outras visões. Seja a visão v 1 definida por uma expressão e 1 que pode por sua vez conter usos de relações de visões.
112 Expansão de Visões A expansão de visão de uma expressão repete os seguintes passos de substituição: repeat Encontrar todas as relações de visão v i em e 1 Substituir a relação de visão v i pela expressão que define v i until não existirem mais relações de visão em e 1 Desde que as definições de visão não são recursivas, esse loop deve terminar.
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
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 Sumário Linguagem SQL 1 Operações com strings operador like Exemplo: nomes dos clientes cuja rua possui a sequência Main
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 Perryridge
Bases de Dados Elementos da linguagem SQL Ordenação de tuplos orderby 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
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
Capítulo 4 A Linguagem SQL. Murilo Silva de Camargo
Capítulo 4 A Linguagem SQL Murilo Silva de Camargo 1 SQL - Structured Query Language Estrutura básica Operações de conjunto Funções agregadas Valores nulos Sob consultas aninhadas Relações derivadas Visões
Bancos (Bases) de Dados Aula #7 Álgebra Relacional
Bancos (Bases) de Dados Aula #7 Álgebra Relacional Cálculo Relacional Prof. Eduardo R. Hruschka * Slides baseados no material elaborado pelas professoras: Cristina D. A. Ciferri Elaine P. M. de Souza Álgebra
Banco de Dados I 2007. Módulo III: Linguagens de Consulta. (Aula 2) Clodis Boscarioli
Banco de Dados I 2007 Módulo III: Linguagens de Consulta (Aula 2) Clodis Boscarioli Agenda: Álgebra Relacional; Operador Divisão; Álgebra Relacional Estendida. Operações Adicionais Divisão Operação adicional,
Á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
Operações Estendidas da Álgebra Relacional
Consultas de exemplo Operações Estendidas da Álgebra Relacional Quais os fármacos alguma vez prescritos por cardiologistas? Π nomef (farmacos receitas consultas σ especialidade cardiologia (medicos)) Aumentam
Á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
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
ACH2025. Aula 11. Visões. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO
ACH2025 Laboratório de Bases de Dados Aula 11 Visões Professora: Fátima L. S. Nunes Introdução Nos exemplos mostrados nas aulas anteriores, consideramos o modelo lógico relações usadas são aquelas reais,
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
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,
INTRODUÇÃO AO MODELO RELACIONAL
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO AO MODELO RELACIONAL Docente: Éberton da Silva Marinho e-mail: [email protected] 26/06/2013 SUMÁRIO Instalação do
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
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
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
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
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
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
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:
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:
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
- 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
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.
Laboratóriode Bases de Dados Aula12. ÁlgebraRelacional-Revisão. Professora: Fátima L. S. Nunes
ACH2025 Laboratóriode Bases de Dados Aula12 ÁlgebraRelacional-Revisão Professora: Fátima L. S. Nunes Álgebra Relacional operações fundamentais: selecionar projetar renomear unárias produto cartesiano união
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
BANCO DE DADOS. Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE <nome_banco_de_dados>
BANCO DE DADOS 1. Scripts de criação de banco de dados Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE Onde:
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
Manipulando a base de dados
Manipulando a base de dados Uma base de dados pode ser manipulada com quatro operações básicas: Incluir, Apagar, Alterar e Pesquisar. Vale lembrar que como toda linguagem para computadores, o MySQL tem
Aula 3 - Modelo Entidade-Relacionamento
Aula 3 - Modelo Entidade-Relacionamento 1. Conceitos básicos O modelo Entidade-Relacionamento (E-R) tem por base a percepção de que o mundo real é formado por um conjunto de objetos chamados de entidades
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
BANCO DE DADOS aula 6 álgebra relacional -
INSTITUTO DE EXATAS E TECNOLÓGICAS Curso de Ciência da Computação BANCO DE DADOS aula 6 álgebra relacional - professor: Juliano Varella de Carvalho 5.1. Álgebra Relacional relações de exemplo conta agencia
Á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
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
- 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
Modelagem de Dados. Aula 02 Arquitetura e Álgebra Relacional. Maxwell Anderson
Modelagem de Dados Aula 02 Arquitetura e Álgebra Relacional Maxwell Anderson Arquitetura de Sistemas de Banco de Dados São três níveis de arquitetura: Nível físico Nível lógico Nível de view Nível de view
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
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
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
Conceitos de Sistemas de Banco de Dados INE 5323
Conceitos de Sistemas de Banco de Dados INE 5323 Prof. Mario Dantas Introdução Por quê Sistemas de Banco de Dados Visão dos Dados Modelos de Dados Linguagem de Definição de Dados (DDL) Linguagem de Manipulação
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
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
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.
Estrutura das Bases de Dados Relacionais Redução a tabelas de um Esquema ER Álgebra Relacional Operações Estendidas da Álgebra Relacional Modificação
Capítulo 3: Modelo Relacional Estrutura das Bases de Dados Relacionais Redução a tabelas de um Esquema ER Álgebra Relacional Operações Estendidas da Álgebra Relacional Modificação da Base de Dados Vistas
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
MODELO DE BANCO DE DADOS RELACIONAL
UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO BANCO DE DADOS I MODELO DE BANCO DE DADOS RELACIONAL Profº Erinaldo Sanches Nascimento Objetivos Descrever os princípios básicos
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
1 Lógica de primeira ordem
1 Lógica de primeira ordem 1.1 Sintaxe Para definir uma linguagem de primeira ordem é necessário dispor de um alfabeto. Este alfabeto introduz os símbolos à custa dos quais são construídos os termos e
Aulas 10 e 11 / 18 e 20 de abril
1 Conjuntos Aulas 10 e 11 / 18 e 20 de abril Um conjunto é uma coleção de objetos. Estes objetos são chamados de elementos do conjunto. A única restrição é que em geral um mesmo elemento não pode contar
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
Linguagem de Consulta Estruturada SQL- DML
Linguagem de Consulta Estruturada SQL- DML INTRODUÇÃO A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation
Linguagem SQL. ENG1518 Sistemas de Informação Gerenciais Prof. Marcos Villas
Linguagem SQL ENG1518 Sistemas de Informação Gerenciais Prof. Marcos Villas [email protected] SQL Linguagem padrão de acesso tabelas em um banco de dados relacional Permite definir e manipular dados DML
Banco de Dados I 2007 Módulo II: Modelagem Entidade- Relacionamento versus Relacional. (Aula 1) Clodis Boscarioli
Banco de Dados I 2007 Módulo II: Modelagem Entidade- Relacionamento versus Relacional (Aula 1) Clodis Boscarioli Conteúdo do Módulo: Conceituação Objetivos; Problemas; Chaves; Restrições; Regras de Integridade;
Linguagem de Definição de Dados Estrutura básica Operações com conjuntos Funções de agregação Valores nulos Subconsultas embebidas Relações derivadas
Capítulo 4: SQL Linguagem de Definição de Dados Estrutura básica Operações com conjuntos Funções de agregação Valores nulos Subconsultas embebidas Relações derivadas Junções Vistas Modificação da Base
Há vários algoritmos para processar junções nested-loop join block nested-loop join indexed nested-loop join merge-join hash-join
Bases de Dados Algoritmos para junção Algoritmos para junções Há vários algoritmos para processar junções nested-loop join block nested-loop join indexed nested-loop join merge-join hash-join A escolha
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
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
NORMALIZAÇÃO. Lílian Simão Oliveira
NORMALIZAÇÃO Lílian Simão Oliveira Normalização Normalização de dados : decomposição de esquemas para minimizar redundância e evitar anomalias de atualização, inserção e remoção. Projeto conceitual bem
