Banco de Dados. Rafael Port da Rocha - Notas de Aula 47

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

Download "Banco de Dados. Rafael Port da Rocha - Notas de Aula 47"

Transcrição

1 4 A ABORDAGEM RELACIONAL Domínio Um domínio é um conjunto de valores para um determinado tipo de dados Ex.: o Domínio DNome define um tipo de dado que representa o conjunto de todos os nomes de pessoas usados no BD Relação R é uma relação sobre os conjuntos D1, D2,... Dt, se é um subconjunto do produto cartesiano D1 X D2 X... X Dt Onde D1, D2,..., Dt são os domínios de R t é o grau da relação cada linha de R é uma tupla (t-upla) não existe ordem definida entre tuplas de R um atributo representa o uso de um domínio em R a cardinalidade de R é o número de tuplas de uma R Interpretação do conceito relação: É um subconjunto do produto cartesiano de uma lista de domínios É uma tabela composta por um conjunto não ordenado de linhas, denominadas tuplas Cada linha da relação é formada por uma série de campos (denominados atributos), onde cada campo é identificado por um nome Em uma relação, um conjunto formado pelos atributos de suas tuplas que possuem um mesmo nome representa uma coluna Uma relação é uma tabela na primeira forma normal, isto é, é uma tabela cujos campos só podem conter valores atômicos (não podem conter conjuntos como valores) Tabela é sinônimo de relação Rafael Port da Rocha - Notas de Aula 47

2 Domínio DNome José Maria Paulo Domínio DCodMédico C1 C2 C3 DNome Χ DCodMédico C1 José C1 Maria C1 Paulo C2 José C2 Maria C2 Paulo C3 José... C3 Maria C3 Paulo Relação (Tabela) MédicoGeral CodP C1 C2 Nome de atributo Nome José Maria Tupla (Linha) Atributo (Coluna) Domain DCodMedico char(3) ; Domain DCodPaciente char(6) ; Domain DNome char(40); Domain DEspecialidade char(20); Domain DData char(8) ; Domain DHora char(4); Relation Medico( CodM: Domain DCodigoDeMédico primary; Nome: Domain DNome; Especialidade: Domain DEspecialidade; ); Relation Consulta( CodM: Domain DCodMédico primary; CodP: Domain DCodPaciente primary; Data: Domain DData; Hora: Domain DHora;); Relation Paciente( CodP: Domain DCodPaciente primary; Nome: Domain DNome;); Rafael Port da Rocha - Notas de Aula 48

3 Chaves de uma relação Chave candidata: combinação da atributos que possuem a propriedade de identificação única Chave primária: combinação de atributos que identificam unicamente uma tupla Chave alternativa: chave candidata que não é primária Chave estrangeira: Um atributo A em R1 é chave estrangeira se seus valores ocorrem como primários em R2 Chave Primária Atributo de uma tupla da relação Chave Estrangeira (referencia relação Departamento) Chave Primária Atributo de uma tupla da relação CodProf Nome Dtnasc CodDep P1 Jose 20/2/78 D1 P2 Maria 12/08/61 D1 P3 Ana 23/08/74 D1 P4 Paulo 12/07/64 D2 P5 Cláudia 12/05/62 D2 Relação Professor Tupla CodDep Nome Sala D1 C.Info. 234 D2 C. Comp. 210 Relação Departamento Integridade Referencial Integridade (garantir integridade da BD significa garantir que todos os dados armazenados estão corretos) Integridade de entidade: nenhum componente de chave primária pode ter valor nulo Integridade referencial Um domínio é considerado primário se e se somente se existe uma chave primária de um atributo definido sobre ele Sendo D um domínio primário e R1 uma relação com o atributo A definido sobre D, os valores de A só podem ser Nulo ou igual ao um valor de chave primária em R2 Relacionada a chave estrangeira, que deve conter como valor um valor da chave primária da relação relacionada ou vazio Rafael Port da Rocha - Notas de Aula 49

4 Representação de um Conjunto de Relacionamento de Cardinalidade 1-n e n-1 através de Relações Cada conjunto de entidades é representada por uma relação Cada relacionamento n-1 é representado por um atributo na entidade cuja cardinalidade do relacionamento é n, que conterá, como valor, a chave da entidade cuja cardinalidade do relacionamento é 1 (4) Professor n pertence 1 (5) Departamento (4) CodProf Nome DtNasc CodDep Nome Sala (5)(6) (5) (5) (5)(6) (5) (5) (4) P1 (1) (1) P2 (1) (5) (4) D1 (1) P3 D2 P4 Chave Primária P5 Chave Primária CodProf Nome Dtnasc CodDep P1 Jose 20/2/78 D1 P2 Maria 12/08/61 D1 P3 Ana 23/08/74 D1 P4 Paulo 12/07/64 D2 P5 Cláudia 12/05/62 D2 Relação Professor CodDep Nome Sala P1 C.Info 234 P2 C Comp 210 Chave Extrangeira Relação Departamento Rafael Port da Rocha - Notas de Aula 50

5 Banco de Dados Representação de um Conjunto de Relacionamento de Cardinalidade n-n através de Relações Cada conjunto de entidades é representada por uma relação O Conjunto de relacionamentos é representado por uma relação (4) Aluno (5) n frequenta n (5) (4) Turma CodAluno Nome DtNasc CodTurma Semestre Sala (5)(6) (5) (5) (5)(6) (5) (5) (4) A1 (5) (4) (1) A2 t1 (1) A3 t2 A4 A5 Aluno CodAluno Nome Dtnasc A1 Marcia 20/12/78 A2 Patrícia 02/01/77 A3 José 13/03/74 A4 Anônio 10/04/54 A5 João 10/04/70 Chave Primária Frequenta CodAluno CodTurma A1 T1 A1 T2 A2 T1 A3 T1 A4 T2 A5 T2 A5 T1 Chave Estrangeira Turma CodTurma Semestre Sala T T Chave Primária Rafael Port da Rocha - Notas de Aula 51

6 Normalização As relações da BD devem estar na primeira forma normal; isto é, cada posição da tabela deve conter um único valor Médico CodM Nome Especialidade M1 José Cirurgia M2 Pedro Pediatria M3 João Obstetrícia M4 Carlos Pediatria chave primária / candidata Paciente CodP Nome RegSUS P1 Maria P2 Ana P3 Paulo chave alternativa/ candidata integridade referencial CodM CodP Dia Hora M1 P1 10/02/00 10:30 M1 P3 12/02/00 8:30 M2 P1 20/03/00 8:30 M2 P2 10/02/00 10:30 M2 P3 13/02/00 14:30 M4 P1 10/02/00 14:30 chave estrangeira Consultas (não está na primeira forma normal) Consultas CodM Pac-Cons CodP Dia Hora M1 P1 10/02/00 10:30 P3 12/02/00 8:30 M2 P1 20/03/00 8:30 P2 10/02/00 10:30 P3 13/02/00 14:30 M4 P1 10/02/00 14:30 campo repetitivo Rafael Port da Rocha - Notas de Aula 52

7 Esquema de BD conjunto de descrições das relações, dos atributos das relações, os tipos dos atributos, das chaves das relações (primária e estrangeira) conjunto de descrições de Domínios e relações Exemplo: Relação: Aluno Atributo: CodAluno, tipo Caracter(10) Atributo: Nome, tipo Caracter(40) Atributo: dtdascim, tipo Data Chave Primária: CodAluno Relação: Turma Atributo:CodTurma, tipo Caracter(10) Atributo: Semestre, tipo Caracter(40) Atributo: Sala, tipo Data Chave Primária: CodTurma Relação: AlunoTurma Atributo:CodAluno, tipo Caracter(10) Atributo: CodTurma, tipo Caracter(10) Chave Estrangeira: CodAluno, que referencia Aluno Chave Estrangeira: CodTurma, que referencia Turma Relação: Professor Atributo: CodProf, tipo Caracter(10) Atributo: Nome, tipo Caractere(40) Atributo: dtdascim, tipo Data Atributo: CodDep, tipo Caractere(10) Chave Primária: CodProf Chave Estrangeira:CodDep, que referencia Departamento Relação: Departamento Atributo: CodDep, tipo Caracter(10) Atributo: Nome, tipo Caractere(40) Atributo: Sala, tipo Caractere(10) Chave Primária: CodDep Rafael Port da Rocha - Notas de Aula 53

8 5 ÁLGEBRA RELACIONAL Álgebra: é formada conjunto de objetos e um conjunto de operações sobre estes objetos (ex.: álgebra aritmética) Álgebra relacional: Linguagem procedural de manipulação de BD formada por um conjunto de operações sobre relações Uma operação da álgebra relacional possui tabelas como operandos e como resultado Normalmente usada em SGBD para representar internamente consultas, permitindo otimizações algébricas Operações de conjunto (baseiam-se em que uma tabela é um conjunto de tuplas) Operação Sintaxe Obs União <tabela 1> <tabela 2> -Tabelas devem ter mesmo grau (num colunas) Interseção <tabela 1> <tabela 2> -Coluna i de tab.1 deve ter mesmo domínio que coluna i de tab.2 Diferença - Tuplas repetidas só aparecem <tabela 1> - <tabela 2> uma vez no resultado Produto Cartesiano <tabela 1> X <tabela 2> -Todos possíveis pares: tupla de tab1 concatenada à tupla de tab2 Operações específicas Operação Sintaxe Seleção σ <critério seleção>(<tab.>) OBS. -Seleciona tuplas de tab. que satisfazem o critério de seleção -Critério envolve atributos de uma tupla de tab. Rafael Port da Rocha - Notas de Aula 54

9 Projeção -Resulta em tab. contendo π <lista de colunas > (<tab.>) somente as colunas da lista -Tuplas repetidas só ocorrem uma vez no resultado Junção <tab.1> <critério> <tab.2> -Liga duas tabelas através de um critério -Eqüivalente a: σ <critério> ( <tab.1> X <tab.2>) -Uma tupla de tab.1 que não é ligada a uma tupla de tab.2 não ocorre no resultado e vice versa Junção <tabela 1> * <tabela 2> -Junção cujo critério eqüivale a Natural igualdade entre atributos de tab1 e tab2 que possuem mesmos nomes. Somente um destes Equijunção <tabela 1> * (atributos de tab1) (atributos de tab2) <tabela 2> atributos irá para o resultado -Junção cujo critério eqüivale a igualdade entre atributos de tab1 e atr. de tab2 correlacionados Divisão <tabela 1> <tabela 2> -Divide tab.1 por tab.2 (1) (1) Divisão: <tab1> <tab2> Condições Sendo, n = grau de tab2, o grau de tab1 deve ser m + n O (m+i)-ésimo atributo de tab1 e o i-ésimo atributo de tab2 devem pertencer ao mesmo domínio Definição: sendo: tab1(x,y), grau m + n = 2, m=1 tab2(y), grau n=1 domínio do atr. m+1 de tab2 (Y) = domínio do atr. 1 de tab1 (Y) Res(X) tab1 tab2 = conj. dos valores <X> tal que o par <X,Y> aparece em tab1 para todos os valores Y de tab2 Grau do resultado: m Rafael Port da Rocha - Notas de Aula 55

10 X: A B 1 A 2 C 3 E 7 G K X Y A B 1 A 3 E 7 G 1 B 2 C 6 A 6 B 7 A Z: A D E 1 A T 1 A B 2 A T 6 A M 7 G X 8 Z Z L X - Y A B 3 E 7 G M X Y A B 1 A 2 C Y: A B 1 A 1 B 2 C 6 A 6 B 7 A U: B A B N L Χ M L.A L.B M.A M.B 3 E 1 A 3 E 2 C 7 G 1 A 7 G 2 C Q Y U A 1 6 P σ (D=E) (Z) A D E 8 Z Z O π D,E (Z) D E A A A G Z T B M X Z R X (X.A=Z.A) Z X.A B Z.A D E 1 A 1 A T 1 A 1 A B 2 C 2 A T 7 G 7 G X S X * Z A B D E 1 A A T 1 A A B 2 C A T 7 G G X Rafael Port da Rocha - Notas de Aula 56

11 X: A B 1 A 2 C 3 E 7 G Z: A D E 1 A T 1 A B 2 A T 6 A M 7 G M 8 Z B K X (X.A=Z.A) Z X.A B Z.A D E 1 A 1 A T 1 A 1 A B 2 C 2 A T 7 G 7 G M 3 E vazio vazio vazio M sum A(Z) R 25 N count A(Z) R 6 O count-distinct A(Z) R (só conta valores distintos de A) 5 P E G sum A(Z) Z: A D E 1 A B 8 Z B 6 A M 7 G M 1 A T 2 A T P: S L X (X.A=Z.A) Z X.A B Z.A D E 1 A 1 A T 1 A 1 A B 2 C 2 A T 7 G 7 G M 3 E vazio vazio vazio vazio vazio 6 A M vazio vazio 8 Z B E 9 B 13 M 3 T Q A,D G count E (Z) Z: A D E 1 A T 1 A B 2 A T 6 A M 7 G M 8 Z B Q: A D E 1 A 2 2 A 1 6 A 1 7 G 1 8 Z 1 Rafael Port da Rocha - Notas de Aula 57

12 Operações da álgebra relacional estendia Operação Sintaxe Junção extrema a esquerda <tab.1>] <tab.2> Eqüivale a : ( <tab.1> <tab. 2> ) (tuplas de tab1 que não formam juntadas a tab.2, com atributos de tab2 Junção extrema a direita Junção extrema plena contendo valores vazios) <tab.1> [<tab.2> Eqüivale a : ( <tab.1> <tab. 2> ) (tuplas de tab2 que não formam juntadas a tab.1, com atributos de tab1 contendo valores vazios) <tab.1> ] [ <tab.2> Equivale a : ( <tab.1> <tab. 2> ) (tuplas de tab1 que não formam juntadas a tab.2, com atributos de tab2 contendo valores vazios) (tuplas de tab2 que não formam juntadas a tab.1, com atributos de tab1 contendo valores vazios) Agrupamento e Funções de agregação (álgebra estendida) Funções de agregação Formato: <função de agr.> <atributo> (<tabela>) Funções que recebem como argumento um conjunto de valores e retornam um único valor O conjunto de valores é definido pelos valores de <atributo> das tuplas de <tabela> Funções de agregação: sum: soma os valores do conjunto max: maior valor do conjunto min: menor valor do conjunto avg: média dos valores Rafael Port da Rocha - Notas de Aula 58

13 Agrupamento Formato: Sendo tabela(g1,g2,...,gn, A1, A2...,Am) Temos: G1,G2,...,Gn, G <func.agr.>, A1,..., <func. agr.>, Am (tabela) Onde: Todas as tuplas da tabela são agrupadas em um grupo que possui mesmo valores para G1,G2,...,Gn, Tuplas em diferentes grupos possuem diferentes valores para G1,G2,...,Gn Para cada grupo formado, <func.agr.> A1,..., <func. agr.>, Am é aplicado, resultando em uma tupla Exemplos: Selecionar médicos que possuem mesmos nomes que pacientes T1 π Nome (Médico) T2 π Nome (Paciente) T3 T1 T2 Alternativa: T1 Médico (Médico.Nome=Paciente.Nome) Paciente T2 π Nome (T1) Selecionar nomes dos pacientes que não são médicos (pacientes que não possuem mesmos nomes que médicos) T1 π Nome (Médico) T2 π Nome (Paciente) T3 T2 - T1 Rafael Port da Rocha - Notas de Aula 59

14 Selecionar os nomes dos médicos pediatras ou os nomes dos pacientes que realizaram consultas com médicos pediatras T1 σ Especialidade = 'Pediatria' (Médico) T2 T1 (T1.CodM=Consulta.CodM) Consulta T3 T2 (T2.CodP=Paciente.CodP) Paciente T4 π Paciente.Nome (T3) //Pacientes que consultaram com pediatras T5 σ Especialidade = 'Pediatria' (Médico) T6 π Nome (T5) // Médicos pediatras T8 T4 T6 Selecionar os nomes dos pacientes que realizaram consultas após 10/02/00 e que também são médicos T1 σ Dia > #10/02/00# (Consulta) T2 Paciente (Paciente.CodP=T1.CodP) T1 T3 π T2.Nome (T2) T4 π Nome (Médico) T5 T3 T4 Selecionar nomes de pacientes que realizaram consultas com todos os pediatras T1 Paciente (Paciente.CodP=Consulta.CodP) Consulta T2 π CodP, Nome, CodM (T1) T3 σ Especialidade = 'Pediatria' (Médico) T4 π CodM (T3) T5 T2 T4 T6 π Nome (T5) T1 CodP Nome CodM P1 Maria M1 P1 Maria M2 P1 Maria M4 P2 Ana M3 P3 Paulo M1 P3 Paulo M2 T4 CodM M2 M4 T5 CodP P1 Nome Maria Rafael Port da Rocha - Notas de Aula 60

15 Selecionar nomes dos pacientes que não realizaram consultas com o médico M1 T1 π Pacientes.CodP( Paciente) // Cod. pacientes T2 σ CodM = 'M1' (Consulta) T3 π CodP (T2) // Cod. pacientes que consultaram c/m1 T4 T1 - T4 // Cod. pacientes que não consultaram com M1 T5 Pacientes (Pacientes.CodP=T4.CodP) T4 T6 π Pacientes.Nome( T5) Apresentar todos os médicos pediatras e suas consultas (incluindo médicos pediatras que não realizaram nenhuma consulta) T1 σ Especialidade = 'Pediatria' (Médico) T2 T1 ] (T1.CodM=Consulta.CodM) Consulta T3 π T1.Nome, Consulta.Dia, Consulta.Hora, Consulta.CodP (T3) Selecionar o nome e código dos pacientes que realizaram mais de duas consultas no dia 20/12/00 e mostrar a quantidade destas consultas T1 σ Dia=#20/12/00# (Consulta) T2 Paciente (Paciente.CodP=T1.CodP) T1 T3 π CodP, NomeP, Dia (T2) T4 CodP, NomeP G count * T5 σ #3 > 2 (T4) T6 π CodP, NomeP (T5) T2 NomeP CodP Dia Ana P2 10/02/00 Maria P1 10/02/00 Maria P1 10/02/00 T3 NomeP CodP Dia Ana P2 10/02/00 Maria P1 10/02/00 Maria P1 10/02/00 T4 NomeP CodP #3 Ana P2 1 Maria P1 2 T5 NomeP CodP #3 Maria P1 2 Rafael Port da Rocha - Notas de Aula 61

16 Otimização heurística de consultas Obter expressões algébricas equivalentes à consulta original, cuja execução demande menos tempo que a original Regras básicas (Diminuir resultados intermediários) Transformar produto cartesiano em junções Regra: σ cond (A X B) A join cond B Executar seleções e projeções mais cedo possível Reduzir o número de linhas e colunas das tabelas Executar operações binárias o mais tarde possível Envolvendo relações menores Resulta em um conjunto de expressões que são alternativas otimizadas para executar a consulta original Não leva em consideração o volume de dados Otimização baseada em custos Passo seguinte a otimização heurística, que leva em consideração o volume da BD Implica na escolha da expressão algébrica resultante da otimização heurística que possui menor estimativa de custo para sua execução As estimativas de custo são realizadas a partir de informações estatísticas sobre o volume dos dados Em uma seqüência de junções, escolhe a alternativa que junta primeiro as tabelas menores (expr. Ta) Ta (Médico... Consulta)... Paciente Tb (Paciente... Consulta)... Médico Rafael Port da Rocha - Notas de Aula 62

17 Seleciona pacientes que realizam consultas com cirurgiões, exibindo os nomes e código dos pacientes X Médico:M Otimização heurística: π P.Nome, P.CódP σ (M.Espec = Cirurgia ) σ ( M.CodM=C.CodM and C.CodP = P.CodP ) X Paciente:P Consulta:C π P.Nome, P.CódP ( C.CodP = P.CodP ) π C.CodP ( M.CodM = C.CodM ) π M.CódM σ (M.Espec = Cirurgia ) π M.Espec, M.CodM π C.CodM, C.CodP π P.Nome, P.CódP Paciente:P Médico:M Consulta:C Rafael Port da Rocha - Notas de Aula 63

18 6 CÁLCULO RELACIONAL Linguagem de consultas para BD relacional baseada em cálculo de predicados Expressões em cálculo dizem o que se quer obter do BD, enquanto consultas em álgebra dizem como se deve obter o que se quer Tem um poder de expressão idêntico à álgebra relacional (toda consulta em álgebra pode ser expressa em cálculo e vice versa) Duas abordagens: cálculo de tupla: variáveis são ligadas a tuplas cálculo de domínio: variáveis são ligadas a domínios Cálculo de Tupla Médico(V): variável V ligada à tupla da relação Médico Médico CodM Nome Especialidade M1 José Cirurgia M2 Pedro Pediatria M3 João Obstetrícia M4 Carlos Pediatria V Cálculo de Domínio Médico(<c,n,e>) Médico CodM Nome Especialidade M1 José Cirurgia M2 Pedro Pediatria M3 João Obstetrícia M4 Carlos Pediatria <c,n,e> Rafael Port da Rocha - Notas de Aula 64

19 Definições do cálculo de tupla Uma expressão em cálculo de tupla é uma alfa: Sendo: R uma Relação V uma variável de Tupla C uma constante V.A um atributo A da tupla ligada a variável V opr um operador relacional: >, >=, <, <=, <> opl um operador lógico: and, or Uma alfas (Λ) é: uma relação R ou uma estrutura com o seguinte formato: [ <cláusula de projeção> FROM <formula de escopo1>, <formula de escopo2>,..., <formula de escopon> WHERE(<fórmula>) ] Esta estrutura corresponde a uma consulta, resultando em uma relação Nesta consulta, as <fórmulas de escopo> definem as relações que fornecerão os dados a serem consultados, <fórmula> seleciona os dados fornecidos por <fórmula de escopo> e <cláusula de projeção> projeta colunas do resultado da seleção Equivalência com álgebra relacional: T1 <Fórmula de Escopo 1> X <Fórmula Escopo 2> X... X <Fórmula Escopo n> T2 σ <Fórmula> (T1) T3 π <Cláusula de Projeção> (T2) Rafael Port da Rocha - Notas de Aula 65

20 Uma fórmula de escopo possui o formato: Λ(V) indica que a variável de tupla V está ligada à relação produzida pela alpha Λ exemplo: V está ligada a tuplas da relação Médico Médico(V) V Médico CodM Nome Especialidade M1 José Cirurgia M2 Pedro Pediatria M3 João Obstetrícia M4 Carlos Pediatria Uma cláusulas de projeção é: uma variável de tupla V ou um construtor de tupla: <V1.A1,..., Vn.An>, onde Vi é uma variável de tupla e Ai é um atributo exemplos: <V.Nome, V.Especialidade> FROM Médico(V) Corresponde a: V Médico T1 π V.Nome, V.Especialidade(V) V FROM Médico(V) Corresponde a: V Médico T1 π V.CodM,V.Nome, V.Especialidade(V) Rafael Port da Rocha - Notas de Aula 66

21 Um átomo: possui os seguintes formatos: V1.A opr V2.A V.A opr C onde: V é uma variável tupla, opr é um operador relacional, C é uma constante exemplo: V.Especialidade = Pediatria Uma formula F possui os seguintes formatos: átomo not F F opl F Λ(V) (F) Λ(V) (F) uma fórmula resulta em verdadeiro ou falso A fórmula Λ (V) (F) corresponde ao quantificador existencial (existe) resulta em verdadeiro se a fórmula F é verdadeira para pelo menos uma tupla de Λ A fórmula Λ (V) (F) corresponde ao quantificador universal (para todo) resulta em verdadeiro se a fórmula F é verdadeira para todas as tuplas de Λ Exemplos V.Especialidade = Pediatria OR V.Especialidade = Cirurgia Not V.Especialidade = Pediatria Rafael Port da Rocha - Notas de Aula 67

22 Medico(V) (V.Especialidade= Pediatria ) Resulta em verdadeiro se pelo menos uma tupla de Médico é verdadeira para a fórmula V.Especialidade= Pediatria, isto é, resulta em verdadeiro se existir um médico pediatra em Médico Medico(V) (V.Especialidade= Pediatria ) Resulta em verdadeiro se todas as tuplas de Médico forem verdadeiras para a fórmula V.Especialidade= Pediatria, isto é, resulta em verdadeiro se todos os médicos forem pediatras Expressões equivalentes: X(Y) (F) not X(Y) (not F) Interpretações de cálculo: Uma alfa produz uma relação A fórmula de escopo R(V) liga a variável V à relação R A fórmula de escopo Λ (V) liga a variável V à relação produzida pela alfa Λ A alfa: [V1.A, V2.B FROM R1(V1) R2(V2) WHERE V1.A1 = V2.A2] é executada da seguinte forma: 1) A variável V1 é ligada à relação R1 2) A variável V2 é ligada à relação R2, 3) É realizado o produto cartesiano: R1 X R2 4) São selecionadas as tuplas de (R1 X R2) que, aplicadas à fórmula V1.A1 = V2.A2, resultam em verdadeiro 5) São projetadas as colunas V1.A e V2.B é equivalente a seguinte expressão T1 R1 X R2 T2 σ R1.A1 = R2.A2 (T1) T3 π R1.A, R2.B (T2) Rafael Port da Rocha - Notas de Aula 68

23 Exemplos de cálculo de tupla Selecionar os nomes dos médicos pediatras [<M.Nome> FROM Medico(M) WHERE M.Especialidade = Pediatria ] Selecionar os nomes dos pacientes que realizaram consultas com o médico M1 [<P.Nome> FROM Paciente(P), Consulta(C) WHERE C.CodM = M1 AND P.CodP=C.CodP] Alternativa [<P.Nome> FROM Paciente(P) WHERE Consulta(C) (P.CodP=C.CodP AND C.CodM= M1 )] Selecionar os nomes dos pacientes que realizaram consultas com os médicos Pediatras [<P.Nome> FROM Paciente(P), Consulta(C), Medico(M) WHERE P.CodP=C.CodP AND C.CodM =M.CodM AND M.Especialidade= Pediatria ] Alternativa [<P.Nome> FROM Paciente(P) WHERE Consulta(C), Medico(M) ( P.CodP = C.CodP AND C.CodM =M.CodM AND M.Especialidade= Pediatria )] OBS: em Consulta(C), Medico(M) (Formula) a fórmula é avaliada sobre o produto cartesiano: Consulta(C) X Medico(M) Rafael Port da Rocha - Notas de Aula 69

24 Selecionar os nomes dos médicos que possuem mesmos nomes que pacientes [<M.Nome> FROM Medico(M), Paciente(P) WHERE M.Nome = P.Nome] Selecionar os nomes dos pacientes que não são médicos [<P.Nome> FROM Paciente(P) WHERE not Médico(M) (M.Nome = P.Nome)] Alternativa (baseada em: X(Y) (F) not X(Y) (not F) ) [<P.Nome> FROM Paciente(P) WHERE Médico(M) (not M.Nome = P.Nome)] Selecionar os nomes pacientes que realizaram consultas com pediatras ou que são médicos pediatras [<P.Nome> FROM Paciente(P) WHERE ( Médico(M) (M.Especialidade = Pediatria and M.Nome = P.Nome)) OR ( Médico(M),Consulta(C) (M.Especialidade= Pediatria ) and M.CodM = C.CodM and C.CodP = P.CodP)) ] Selecionar os nomes dos pacientes que realizaram consultas após 10/02/00 e que também são médicos [<P.Nome> FROM Paciente(P) WHERE Médico(M) (M.Nome = P.Nome) AND Consulta(C) (C.CodP=P.CodP and C.Dia < #10/02/00#)] Selecionar os códigos dos pacientes que não realizaram consultas com o médico com nome José [<P.CodP> FROM Paciente(P) WHERE not Médico(M),Consulta(C) (M.Nome= José and M.CodM = C.CodM and C.CodP = P.CodP)) ] Rafael Port da Rocha - Notas de Aula 70

25 Selecionar nomes de pacientes que realizaram consultas com todos os médicos [<P.Nome> FROM Paciente(P) WHERE Médico(M) ( Consulta(C) (M.CodM = C.CodM and C.CodP = P.CodP)) ] Alternativa: (baseada em X(Y) (F) not X(Y) (not F) ) [<P.Nome> FROM Paciente(P) WHERE not Médico(M) (not Consulta(C) (M.CodM = C.CodM and C.CodP = P.CodP)) ] Interpretação: selecionar um paciente que não existe nenhum um médico que não possui nenhuma consulta relacionada a este paciente Outra forma de representação para Alpha: { <cláusula de projeção> <fórmula> } Onde uma fórmula de escopo Λ(V) é uma fórmula com o seguinte formato: V Λ Exemplos: Selecionar os nomes dos médicos que são pacientes {<M.Nome> M Medico(M) and P Pacinete and M.Nome = P.Nome } Selecionar os nomes dos pacientes que não são médicos {<P.Nome> P Paciente(P) and not M Médico (M.Nome = P.Nome)} Rafael Port da Rocha - Notas de Aula 71

26 7 SQL É um padrão de linguagem para banco de dados relacional Teve origem no projeto System R, desenvolvido pela IBM nos anos 70 (nesse sistema, SQL chamava-se SEQUEL) É usada por bancos de dados comerciais, como IBM DB/2, Sybase, Microsoft SQL Server, Oracle, Informix... É padronizada pelos organismos: ISO (International Standards Organization) ANSI (American National Standards Institute) Versões Padrão SQL 89: Primeira versão Padrão SQL-92: Versão atual incorpora domínios, chaves, integridade referencial, etc. SQL 99: Nova versão, já usada parcialmente em alguns BDs incorpora objetos, extensões, etc. FIPS (Federal Information Processing Standards) Documentos desenbolvidos pelo NIST (National Institute of Standarts and Technology) que definem normas de validação do padrão SQL, FIPS 127-1: norma para SQL 89 FIPS 127-2: norma para SQL-92 O governo americano somente compra BD validados pelo NIST Níveis de conformidade: Entry-level: estipula conformidade com um conjunto mínimo do padrão SQL-92 (suportado pela maioria dos BDs comerciais) Outros níveis: Transitional level, intermediate level, full level Muitos BD comerciais incorporam construções que não fazem parte do padrão, comprometendo sua portabilidade Rafael Port da Rocha - Notas de Aula 72

27 Recursos suportados por SQL Instruções para definir e modificar os esquemas do BD Instruções para manipular os dados: linguagem de consultas de BD baseada em cálculo e em álgebra relacional (incluindo operações para inserir, modificar e remover tuplas) Instruções para definir visões (tabelas virtuais) Instruções para especificar restrições de integridade Instruções para autorizar usuários a acessar relações Instruções para gerenciar transações e controle de acesso concorrente a dados (ex.: comandos que definem inicio e fim de uma transação) Interfaces de acesso a dados: interfaces que permitem que aplicações desenvolvidas em linguagens de programação manipulem dados do BD SQL Embutida/Dinâmica: comandos SQL estão intercalados diretamente no programa de aplicação em seqüência com comandos de linguagens procedurais de terceira geração como COBOL, PL/1 e C SQL Chamada (SQL / CLI): Os comandos de manipulação da BD não estão embutidos em comandos da aplicação. Eles são passados como listas de caracteres através de chamadas de funções ao SGBD Aplicação API SQL/CLI Servidor de BD 1 Servidor de BD 2 Rafael Port da Rocha - Notas de Aula 73

28 Domínios em SQL (SQL-92) Pré-definidos Banco de Dados char(tamanho), José a varchar(tamanho), int, smallint, E6 numeric(digitos,decimal), real, float(digitos), date (obs: AAA-MM-DD) time (obs: HH.MM.SS) (vazio) NULL Muitos BD comerciais apresentam outros domínios prédefinidos, como BLOB, que armazenam grandes objetos binários, como figuras (BLOBs fazem parte do padrão SQL 99) Domínios definidos por projetistas de BD: Create domain DNomePes char(20) Create domain DSalario numeric(8,2) Instruções de SQL para definição de BD Create Table: define a estrutura de uma tabela, suas restrições de integridade e cria a tabela Drop Table: remove a tabela da BD Alter Table: modifica a estrutura de uma tabela Rafael Port da Rocha - Notas de Aula 74

29 Criação de tabela (Create table) Create table Paciente ( CodP char(10) not null, Nome DNomePes not null, Endereco varchar(50), DataNasc date, CidadeNasc varchar(50), RegSus char(10), constraint pkpac Primary key(codp)) Create table Departamento ( CodD numeric(3) not null, Nome varchar(50) not null, constraint pkdep primary key(codd)) Create table Medico ( CodM char(10) not null, Nome DNomePes not null, Salario Dsalario, Endereco varchar(50) not null, DataNasc date not null, CidadeNasc varchar(50) not null, Depto numeric(3) not null, constraint fkmd foreign key (Depto) references Departamento constraint pkmed primary key(codm)) Create table Consulta ( CodM char(10) not null, CodP char(10) not null, Dia date not null, Hora time not null, constraint fkcmed foreign key (CodM) references Medico on delete cascade, constraint fkcpac foreign key (CodP) references Paciente) Rafael Port da Rocha - Notas de Aula 75

30 Comentários: Not null: especifica que uma coluna não pode ter valores vazios Primary key: Especifica os campos da relação que formam sua chave primária. Os atributos de uma chave primária são implicitamente not null Unique: Especifica que o atributo é uma chave alternativa, isto é, que não existem duas tuplas na relação que possuem mesmos valores não nulos para o atributo. Um atributo unique permite valores vazios (se não for declarado como not null) Foreign key: Especifica uma chave estrangeira e a relação referenciada por esta chave. Uma tupla da relação referenciada não pode ser removida ou alterada se estiver sendo referenciada por alguma chave estrangeira (regra RESTRICT). Ex.: Um paciente não pode ser removido se estiver referenciado por alguma consulta Atributos de uma chave estrangeira podem conter valores vazios (se não forem declarados como not null). on delete/update cascade: Cláusula adicionada à definição de chave estrangeira que especifica que uma alteração/exclusão em uma tupla é propagada para tuplas que referenciam esta tupla através de chave estrangeira. Ex.: Se um médico for removido, todas suas consultas também são removidas on delete set null: Cláusula adicionada à definição de chave estrangeira que especifica que a exclusão de uma tupla implica na atualização nas tuplas que referenciam esta tupla, onde suas chaves estrangeiras são atualizadas para vazio Rafael Port da Rocha - Notas de Aula 76

31 Remoção de tabela (Drop table) Elimina uma tabela da BD (dados e descrição) Ex.: Drop table consultas Eliminação somente dos elementos de uma tabela: Delete from consultas Alteração de tabela (Alter table) Permite a adição de novos atributos em uma tabela alter table Pacientes add NomeMae varchar(50) Permite a adição (add) e a remoção (drop) de chaves primárias alter table Pacientes drop primary key ater table Pacientes add primary key (Nome) Permite a adição/remoção de chaves estrangeiras, desde que estas chaves recebam um nome (chaves nomeadas são chamadas de constraint) alter table Departamento add Chefe char(10) alter table Departamento add constraint chefiadopor foreign key (Chefe) references Medico alter table Departamento drop constraint key chefiadopor A remoção de atributos de uma tabela implica na criação de uma nova tabela e a transferência dos dados Rafael Port da Rocha - Notas de Aula 77

32 BD Exemplo 1 Medico n lotado 1 Departamento n chefe CodM Nome Salário CodD Nome... n consulta n Paciente Dia Hora CodP Nome Endereço... Rafael Port da Rocha - Notas de Aula 78

33 Para consultar os dados da BD Comando (sendo a i um atributo, r i uma relação e P um predicado de seleção): Select a1, a2,..., an from r1, r2,..., rm where P Forma de execução do comando Select... from... where: 1- é realizado o produto cartesiano entre r1, r2,..., rm 2- são selecionadas as linhas da relação resultante do produto cartesiano que satisfazem o predicado P 3- somente as colunas a1, a2,..., an, do resultado da seleção, são projetadas Equivalência em álgebra π a1, a2,..., an ( σ P (r1 X r2 X... X rm)) OBS: há casos em que SQL não elimina duplicatas Ex.: Selecionar os nomes dos pacientes que nasceram em Santa Maria Select Nome from Paciente where CidadeNasc = 'Santa Maria' TABELA PACIENTES CodP Nome Endereco DataNasc CidadeNasc RegSus P1 José da Silva Rua A 23/04/56 POA P2 Ana Carolina Andradas 23/07/67 POA P3 Carlos Alberto Farrapos 21/01/90 POA P4 Ana Maria Bozano 23/08/90 Santa Maria P5 Silva Carla Medianeira 03/06/78 Santa Maria P6 Pedro Silva Bozano 23/06/70 Santa Maria P7 Marcia Protásio 23/06/78 POA P8 Alberto Acampamenty 23/06/70 Santaq Maria o RESULTADO: Nome Ana Maria Silva Carla Pedro Silva Rafael Port da Rocha - Notas de Aula 79

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

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. SQL (Structured Query Language) SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. Além de permitir a realização de consultas, SQL possibilita: definição

Leia mais

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

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita: SQL Tópicos Especiais Modelagem de Dados Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional em Ensino de Ciências

Leia mais

Comandos de Manipulação

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

Leia mais

SQL. Banco de Dados I. Componentes de SQL

SQL. Banco de Dados I. Componentes de SQL Banco de Dados I Adrovane Marques Kade 1 1 Curso de Análise e Desenvolvimento de Sistemas Instituto Federal de Educação, Ciência e Tecnologia adrovane.kade@bento.ifrs.edu.br 2011/1 ( Structured Query Language

Leia mais

SQL. Prof. Márcio Bueno. {bd2tarde,bd2noite}@marciobueno.com

SQL. Prof. Márcio Bueno. {bd2tarde,bd2noite}@marciobueno.com SQL Prof. Márcio Bueno {bd2tarde,bd2noite}@marciobueno.com Material dos professores Ana Carolina Salgado, Fernando Foncesa e Valéria Times (CIn/UFPE) SQL SQL - Structured Query Language Linguagem de Consulta

Leia mais

BANCO DE DADOS Parte 4

BANCO DE DADOS Parte 4 BANCO DE DADOS Parte 4 A Linguagem SQL Introdução Desenvolvida pelo depto de pesquisa da IBM na década de 1970 (System R) Linguagem padrão de BD Relacionais; Apresenta várias padrões evolutivos: SQL86,

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

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

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language) Básico da Linguagem SQL Definição de Esquemas em SQL SQL(Structured Query Language) Desenvolvida como a linguagem de consulta do protótipo de SGBD Sistema R (IBM, 1976). Adotada como linguagem padrão de

Leia mais

SQL DML. Frederico D. Bortoloti freddb@ltc.ufes.br

SQL DML. Frederico D. Bortoloti freddb@ltc.ufes.br Banco de Dados I SQL DML Frederico D. Bortoloti freddb@ltc.ufes.br SQL - DML Os exemplos da aula serão elaborados para o esquema de dados a seguir: Empregado(matricula, nome, endereco, salario, supervisor,

Leia mais

FEAP - Faculdade de Estudos Avançados do Pará PROFª LENA VEIGA PROJETOS DE BANCO DE DADOS UNIDADE V- SQL

FEAP - Faculdade de Estudos Avançados do Pará PROFª LENA VEIGA PROJETOS DE BANCO DE DADOS UNIDADE V- SQL Quando os Bancos de Dados Relacionais estavam sendo desenvolvidos, foram criadas linguagens destinadas à sua manipulação. O Departamento de Pesquisas da IBM desenvolveu a SQL como forma de interface para

Leia mais

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível

Leia mais

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) Linguagem comercial para BD relacional padrão ISO desde a década de 80 SQL-1 (86); SQL-2 (92); SQL-3 (99) não é apenas uma linguagem de consulta! como o nome sugere... Base

Leia mais

S Q L 31/03/2010. SQL - Structured Query Language Linguagem de Consulta Estruturada

S Q L 31/03/2010. SQL - Structured Query Language Linguagem de Consulta Estruturada Gerenciamento de Dados e Informação Fernando Fonseca Ana Carolina Robson Fidalgo SQL SQL - Structured Query Language Linguagem de Consulta Estruturada Apesar do QUERY no nome, não é apenas de consulta,

Leia mais

S Q L 15/01/2013. Enfoques de SQL. Enfoques de SQL SQL. Usos de SQL. SQL - Origem/Histórico. Gerenciamento de Dados e Informação

S Q L 15/01/2013. Enfoques de SQL. Enfoques de SQL SQL. Usos de SQL. SQL - Origem/Histórico. Gerenciamento de Dados e Informação Enfoques de SQL Gerenciamento de Dados e Informação Fernando Fonseca Ana Carolina Valeria Times Bernadette Loscio Linguagem interativa de consulta (ad-hoc): usuários podem definir consultas independente

Leia mais

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível de independência do

Leia mais

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

UNIVERSIDADE VEIGA DE ALMEIDA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS BANCO DE DADOS CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS CLAUDIO RIBEIRO DA SILVA MARÇO 1997 2 1 - CONCEITOS GERAIS DE 1.1 - Conceitos Banco de Dados - Representa

Leia mais

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

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados Banco de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix

Leia mais

SQL SQL BANCO DE DADOS 2. Componentes do SQL (1) Componentes do SQL (2) DDL Criação de banco de dados. Padrões de SQL

SQL SQL BANCO DE DADOS 2. Componentes do SQL (1) Componentes do SQL (2) DDL Criação de banco de dados. Padrões de SQL BANCO DE DADOS 2 SQL (CREATE TABLE, CONSTRAINTS, DELETE, UPDATE e INSERT) Prof. Edson Thizon SQL SQL ( structured query language ) é uma linguagem comercial de definição e manipulação de banco de dados

Leia mais

SQL DDL. Frederico D. Bortoloti freddb@ltc.ufes.br

SQL DDL. Frederico D. Bortoloti freddb@ltc.ufes.br Banco de Dados I SQL DDL Frederico D. Bortoloti freddb@ltc.ufes.br Introdução Modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de padrão SQL (Structured Query Language)

Leia mais

SQL S Q L. Introdução. Enfoques de SQL. SQL - Origem/Histórico. Usos de SQL. SQL - Vantagens. Banco de Dados. Fernando Fonseca Ana Carolina

SQL S Q L. Introdução. Enfoques de SQL. SQL - Origem/Histórico. Usos de SQL. SQL - Vantagens. Banco de Dados. Fernando Fonseca Ana Carolina Introdução Banco de Dados SQL Fernando Fonseca Ana Carolina SQL - Structured Query Language Linguagem de Consulta Estruturada Apesar do QUERY no nome, não é apenas de consulta, permitindo definição (DDL)

Leia mais

Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. (http://bidu.lab.ic.unicamp.br/~celio/metasql.php)

Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. (http://bidu.lab.ic.unicamp.br/~celio/metasql.php) Clínica Todos os exemplos apresentados utilizam o SGBD Postgre - open source Documentação: http://www.postgresql.org/docs (http://bidu.lab.ic.unicamp.br/~celio/metasql.php) Ambulatorios(numero, andar,

Leia mais

2008.1 SQL. Autor: Renata Viegas

2008.1 SQL. Autor: Renata Viegas SQL Autor: Renata Viegas A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua

Leia mais

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

Structured Query Language (SQL) Ambiente Simplificado de um SGBD Structured Query Language (SQL) Ambiente Simplificado de um SGBD 2 1 Características dos SGBDs Natureza auto-contida de um sistema de banco de dados: metadados armazenados num catálogo ou dicionário de

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

SQL. Histórico BANCO DE DADOS. Conceito. Padrões de SQL (1) Componentes do SQL (1) Padrões de SQL (2) (DDL: CREATE TABLE, CONSTRAINTS)

SQL. Histórico BANCO DE DADOS. Conceito. Padrões de SQL (1) Componentes do SQL (1) Padrões de SQL (2) (DDL: CREATE TABLE, CONSTRAINTS) BANCO DE DADOS SQL (DDL: CREATE TABLE, CONSTRAINTS) Prof. Edson Thizon Histórico Entre 1974 e 1979, o San José Research Laboratory da IBM desenvolveu um SGDB relacional que ficou conhecido como Sistema

Leia mais

Programação SQL. Introdução

Programação SQL. Introdução Introdução Principais estruturas duma Base de Dados: Uma BD relacional é constituída por diversas estruturas (ou objectos ) de informação. Podemos destacar: Database: designa a própria BD; Table/Tabela:

Leia mais

Introdução ao SQL. Aécio Costa

Introdução ao SQL. Aécio Costa Aécio Costa A linguagem SQL é um padrão de linguagem de consulta comercial e possui as seguintes partes: Linguagem de definição de dados (DDL) Linguagem interativa de manipulação de dados (DML) Definição

Leia mais

Structured Query Language (SQL)

Structured Query Language (SQL) SQL Histórico Structured Query Language (SQL) Foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation Language) para suas primeiras tentativas

Leia mais

SQL Structured Query Language

SQL Structured Query Language Janai Maciel SQL Structured Query Language (Banco de Dados) Conceitos de Linguagens de Programação 2013.2 Structured Query Language ( Linguagem de Consulta Estruturada ) Conceito: É a linguagem de pesquisa

Leia mais

Banco de Dados I SQL DDL. Frederico D. Bortoloti freddb@ltc.ufes.br

Banco de Dados I SQL DDL. Frederico D. Bortoloti freddb@ltc.ufes.br Banco de Dados I SQL DDL Frederico D. Bortoloti freddb@ltc.ufes.br Introdução Modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de padrão SQL (Structured Query Language)

Leia mais

SQL (Linguagem de Consulta Estruturada)

SQL (Linguagem de Consulta Estruturada) SQL (Linguagem de Consulta Estruturada) M.Sc. Cristiano Mariotti mscmariotti@globo.com Introdução à SQL 1 Visão Geral Introdução Comandos de Definição de Dados Comandos de Manipulação de Dados Introdução

Leia mais

Linguagem de Consulta Estruturada SQL- DML

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

Leia mais

2008.1. A linguagem SQL

2008.1. A linguagem SQL SQL 2008.1 A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua primeira versão

Leia mais

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) Linguagem comercial para BD relacional padrão ISO desde a década de 80 SQL (86); SQL-2 (92); SQL-3 (99) e SQL:2003 não é apenas uma linguagem de consulta! como o nome sugere...

Leia mais

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011 Banco de Dados I Aula 12 - Prof. Bruno Moreno 04/10/2011 Plano de Aula SQL Definição Histórico SQL e sublinguagens Definição de dados (DDL) CREATE Restrições básicas em SQL ALTER DROP 08:20 Definição de

Leia mais

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

Uma expressão básica em SQL consiste em três cláusulas: select, from e where. Introdução a Banco de Dados O.K. Takai; I.C.Italiano; J.E. Ferreira. 67 8 A Linguagem SQL A linguagem SQL é um padrão de linguagem de consulta comercial que usa uma combinação de construtores em Álgebra

Leia mais

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Standards ISO e ANSI SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Standards ISO e ANSI SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003 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

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Agenda Linguagem SQL: Introdução; Construção/Definição de tabelas. 2 Linguagem SQL SQL - Structured Query Language;

Leia mais

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) Linguagem comercial para BD relacional padrão ISO desde a década de 80 SQL- (86); SQL- (9); SQL- (99) não é apenas uma linguagem de consulta! como o nome sugere... Base

Leia mais

Linguagem SQL. Comandos Básicos

Linguagem SQL. Comandos Básicos Linguagem SQL Comandos Básicos Caetano Traina Júnior 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.sc.usp.br Comando

Leia mais

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) Linguagem comercial para BD relacional padrão ISO desde a década de 80 SQL-1 (86); SQL- (9); SQL- (99) não é apenas uma linguagem de consulta! como o nome sugere... Base

Leia mais

Engenharia de Computação / Engenharia de Produção. Banco de Dados Prof. Maria das Graças da Silva Teixeira

Engenharia de Computação / Engenharia de Produção. Banco de Dados Prof. Maria das Graças da Silva Teixeira Unidade 3 SQL Engenharia de Computação / Engenharia de Produção Banco de Dados Prof. Maria das Graças da Silva Teixeira Material base: Banco de Dados, 2009.2, prof. Otacílio José Pereira Contexto na Disciplina

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

select nome from Médicos where codm in (select codm from Consultas where data = 06/06/13 )

select nome from Médicos where codm in (select codm from Consultas where data = 06/06/13 ) Subconsultas * subconsulta: forma alternativa de expressar consultas envolvendo relacionamentos entre tabelas * cláusulas para tratamento de subconsultas: IN, ANY, ALL, EXISTS 3.1) Cláusula [NOT] IN *

Leia mais

Cálculo Relacional. Cálculo Relacional de Tupla

Cálculo Relacional. Cálculo Relacional de Tupla Cálculo Relacional Linguagem formal para consulta a relações Mesmo poder de expressão da álgebra relacional Linguagem não-procedural uma consulta é um predicado lógico um dado é buscado do BD se o predicado

Leia mais

Cálculo Relacional. Duas categorias de linguagens cálculo relacional de tupla cálculo relacional de domínio

Cálculo Relacional. Duas categorias de linguagens cálculo relacional de tupla cálculo relacional de domínio Cálculo Relacional Linguagem formal para consulta a relações Mesmo poder de expressão da álgebra relacional Linguagem não-procedural uma consulta é um predicado lógico um dado é buscado do BD se o predicado

Leia mais

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

Introdução à Banco de Dados. Nathalia Sautchuk Patrício Introdução à Banco de Dados Nathalia Sautchuk Patrício Histórico Início da computação: dados guardados em arquivos de texto Problemas nesse modelo: redundância não-controlada de dados aplicações devem

Leia mais

Aplicações - SQL. Banco de Dados: Teoria e Prática. André Santanchè e Luiz Celso Gomes Jr Instituto de Computação UNICAMP Agosto de 2013

Aplicações - SQL. Banco de Dados: Teoria e Prática. André Santanchè e Luiz Celso Gomes Jr Instituto de Computação UNICAMP Agosto de 2013 Aplicações - SQL Banco de Dados: Teoria e Prática André Santanchè e Luiz Celso Gomes Jr Instituto de Computação UNICAMP Agosto de 2013 Picture by Steve Kelley 2008 SQL SQL Structured Query Language Originalmente:

Leia mais

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

Banco de Dados I Linguagem SQL Parte 2. Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello Banco de Dados I Linguagem SQL Parte 2 Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello Introdução Como vimos, um SGBD possui duas linguagens: DDL: Linguagem de Definição de Dados. Usada

Leia mais

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

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo ) PRONATEC - Programador de Sistemas Banco de Dados 1) Incluindo linhas nas tabelas a. Para incluir linhas em tabelas utilize o comando INSERT INTO INSERT INTO tabela [ ( coluna [, coluna,...] ) ] VALUES

Leia mais

Comandos DDL. id_modulo = id_m odulo

Comandos DDL. id_modulo = id_m odulo Comandos DDL Estudo de Caso Controle Acadêmico Simplificado Uma escola contém vários cursos, onde cada aluno possui uma matricula num determinado curso. Estes cursos, por sua vez, possuem módulos, aos

Leia mais

Núcleo de Pós Graduação Pitágoras

Núcleo de Pós Graduação Pitágoras Núcleo de Pós Graduação Pitágoras Professor: Fernando Zaidan Disciplina: Modelagem e Projeto de Banco de Dados Especialização em Tecnologia da Informação - Ênfases Março- 2009 1 Modelo Físico Introdução

Leia mais

BDII SQL Junção Revisão 8

BDII SQL Junção Revisão 8 exatasfepi.com.br BDII SQL Junção Revisão 8 André Luís Duarte Leais são as feridas feitas pelo amigo, mas os beijos do inimigo são enganosos. Provérbios 27:6 SQL Introdução Produto cartesiano Nomes alternativos

Leia mais

SQL (Structured Query Language)

SQL (Structured Query Language) (Structured Query Language) I DDL (Definição de Esquemas Relacionais)... 2 I.2 Domínios... 2 I.3 Criação de Tabelas... 2 I.4 Triggers... 4 II DML Linguagem para manipulação de dados... 5 II.2 Comando SELECT...

Leia mais

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

3) Palavra-chave distinct (select-from). Obter apenas os pibs distintos entre si. NOME: BRUNO BRUNELI BANCO DE DADOS - ADS create database ProducaoMinerais use ProducaoMinerais create table Mineral( nome varchar(15) primary key, preco real) create table Pais( nome varchar(30) primary

Leia mais

SQL - Banco de Dados. Disciplina: Banco de Dados. Professor: José Antônio. José Antônio - CEFET-RN 23/09/2015

SQL - Banco de Dados. Disciplina: Banco de Dados. Professor: José Antônio. José Antônio - CEFET-RN 23/09/2015 SQL - Banco de Dados 1 Disciplina: Banco de Dados Professor: José Antônio 2 Tópicos de discussão Criando um banco de dados Incluindo, atualizando e excluindo linhas nas tabelas Pesquisa básica em tabelas

Leia mais

Banco de Dados. Maurício Edgar Stivanello

Banco de Dados. Maurício Edgar Stivanello Banco de Dados Maurício Edgar Stivanello Agenda Conceitos Básicos SGBD Projeto de Banco de Dados SQL Ferramentas Exemplo Dado e Informação Dado Fato do mundo real que está registrado e possui um significado

Leia mais

Linguagem de Consulta Estruturada (SQL)

Linguagem de Consulta Estruturada (SQL) Linguagem de Consulta Estruturada (SQL) Conceitos sobre a versão ANSI da SQL, a sublinguagem de definição de dados (DDL) e a sublinguagem de manipulação de dados (DML) Prof. Flavio Augusto C. Correia 1

Leia mais

Fundamentos do Sistema Gerenciador de Banco de Dados

Fundamentos do Sistema Gerenciador de Banco de Dados Fundamentos do Sistema Gerenciador de Banco de Dados Cláudio Luís V. Oliveira Janeiro de 2010 Definição "Um sistema cujo objetivo principal é gerenciar o acesso, a correta manutenção e a integridade dos

Leia mais

Banco de Dados - Senado

Banco de Dados - Senado Banco de Dados - Senado Structured Query Language (SQL) Material preparado :Prof. Marcio Vitorino Ambiente Simplificado de um SGBD 2 Características dos SGBDs Natureza auto-contida de um sistema de banco

Leia mais

SQL. Profa. Msc. Fernanda Lígia Rodrigues Lopes. Disciplina: Fundamentos de Banco de Dados

SQL. Profa. Msc. Fernanda Lígia Rodrigues Lopes. Disciplina: Fundamentos de Banco de Dados SQL Profa. Msc. Fernanda Lígia Rodrigues Lopes Disciplina: Fundamentos de Banco de Dados Roteiro O que é SQL? Breve Histórico da SQL Usos da SQL Comandos SQL DDL Comandos SQL DML Comandos para consultas

Leia mais

Unidade III - BD Relacional

Unidade III - BD Relacional Structured Query Language (SQL) Conceitos Iniciais Álgebra Relacional - muito formal Cálculo Relacional de Tupla SEQUEL (Structured English QUEry Language) IBM - Sistema R SQL-86 SQL-92 SQL-3 102 Structured

Leia mais

Linguagem SQL Sub-linguagem DDL

Linguagem SQL Sub-linguagem DDL Linguagem SQL Sub-linguagem DDL 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 Language para suas

Leia mais

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

SQL comando SELECT. SELECT [DISTINCT] <campos> FROM <tabela> [condição] [ ; ] Paulo Damico - MDK Informática Ltda. SQL comando SELECT Uma das tarefas mais requisitadas em qualquer banco de dados é obter uma listagem de registros armazenados. Estas tarefas são executadas pelo comando SELECT Sintaxe: SELECT [DISTINCT]

Leia mais

BANCO DE DADOS CONCEITOS BÁSICOS

BANCO DE DADOS CONCEITOS BÁSICOS Universidade Federal da Paraíba UFPB Centro de Energias Alternativas e Renováveis - CEAR Departamento de Eng. Elétrica DEE BANCO DE DADOS CONCEITOS BÁSICOS Isaac Maia Pessoa Introdução O que é um BD? Operações

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

Structured Query Language (SQL) Aula Prática

Structured Query Language (SQL) Aula Prática Structured Query Language (SQL) Aula Prática Linguagens de SGBD Durante o desenvolvimento do sistema R, pesquisadores da IBM desenvolveram a linguagem SEQUEL, primeira linguagem de acesso para Sistemas

Leia mais

Banco de Dados SQL. João Eduardo Ferreira Osvaldo Kotaro Takai

Banco de Dados SQL. João Eduardo Ferreira Osvaldo Kotaro Takai Banco de Dados SQL João Eduardo Ferreira Osvaldo Kotaro Takai Introdução SQL - Structured Query Language Linguagem declarativa não-procedimental Desenvolvida e implementada pelo laboratório de pesquisa

Leia mais

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

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1 IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1 Banco de Dados Fundamentos de SQL Structured Query Language Aula2 Apresentado por: Robson do Nascimento Fidalgo rdnf@cin.ufpe.br IF685

Leia mais

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

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011 Banco de Dados Aula 1 - Prof. Bruno Moreno 16/08/2011 Roteiro Apresentação do professor e disciplina Definição de Banco de Dados Sistema de BD vs Tradicional Principais características de BD Natureza autodescritiva

Leia mais

Projeto de Banco de Dados

Projeto de Banco de Dados Projeto de Banco de Dados SQL-Consultas Comando SELECT Prof. Luiz Antônio Vivacqua C. Meyer (la.vivacqua@gmail.com) Sintaxe Geral SELECT [ALL/DISTINCT] coluna1, coluna2,..., colunan FROM nome_tabela1,

Leia mais

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

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix Ingress SQL

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

Banco de Dados I. Linguagem de Consulta (parte I) DDL DML

Banco de Dados I. Linguagem de Consulta (parte I) DDL DML Banco de Dados I Linguagem de Consulta (parte I) DDL DML Linguagem de Consulta:SQL contéudo Structured Query Language Originalmente SEQUEL Structured English Query Language Projeta e Implementada pela

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

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL Criar uma base de dados (criar um banco de dados) No mysql: create database locadora; No postgresql: createdb locadora Criar

Leia mais

Bases de Dados. Parte V: A Linguagem SQL

Bases de Dados. Parte V: A Linguagem SQL Bases de Dados Parte V A Linguagem SQL 1 SQL Structured Query Language O SQL é uma poderosa linguagem declarativa que permite definir, questionar e manipular bases de dados. Para além das funcionalidades

Leia mais

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Agenda Estrutura Básica de consultas SQL: A cláusula SELECT; A cláusula FROM; A cláusula WHERE. Operação com cadeias

Leia mais

Pedro F. Carvalho OCP Oracle 2008.2 10g LINGUAGEM SQL. www.pedrofcarvalho.com.br contato@pedrofcarvalho.com.br São José do Rio Preto

Pedro F. Carvalho OCP Oracle 2008.2 10g LINGUAGEM SQL. www.pedrofcarvalho.com.br contato@pedrofcarvalho.com.br São José do Rio Preto Pedro F. Carvalho OCP Oracle 2008.2 10g LINGUAGEM SQL Objetivos Revisando a sintaxe SQL SELECT, UPDATE, INSERT, DELETE Manipulando expressões Funções matemáticas, etc Condições de Pesquisa Funções de Agregação

Leia mais

SQL BÁSICO. Introdução. Prof. Suelane Garcia. Linguagem SQL (Structured Query Language)

SQL BÁSICO. Introdução. Prof. Suelane Garcia. Linguagem SQL (Structured Query Language) SQL BÁSICO Prof. Suelane Garcia Introdução 2 Linguagem SQL (Structured Query Language) Linguagem de Consulta Estruturada padrão para acesso a Banco de Dados. Usada em inúmeros Sistemas de Gerenciamento

Leia mais

Operação de União JOIN

Operação de União JOIN Operação de União JOIN Professor Victor Sotero SGD 1 JOIN O join é uma operação de multi-tabelas Select: o nome da coluna deve ser precedido pelo nome da tabela, se mais de uma coluna na tabela especificada

Leia mais

Gerenciamento de um Sistema de

Gerenciamento de um Sistema de SBD Gerenciamento de um Sistema de Banco de Dados Prof. Michel Nobre Muza ua michel.muza@ifsc.edu.br Prof. Marcos Antonio Viana Nascimento Por que é importante: Motivação Participar na organização e no

Leia mais

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

Introdução à Engenharia da Computação. Banco de Dados Professor Machado Introdução à Engenharia da Computação Banco de Dados Professor Machado 1 Sistemas isolados Produção Vendas Compras Banco de Dados Produtos... Banco de Dados Produtos... Banco de Dados Produtos... Desvantagens:

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

Banco de Dados I. Linguagem de Consulta (parte II) Recuperando Dados de Várias Tabelas (JOINS)

Banco de Dados I. Linguagem de Consulta (parte II) Recuperando Dados de Várias Tabelas (JOINS) Banco de Dados I Linguagem de Consulta (parte II) Recuperando Dados de Várias Tabelas (JOINS) Exemplo - pedido Diagrama Entidade-Relacionamento N Pedido N possui N Produto N faz tira 1 Cliente 1 Vendedor

Leia mais

Capítulo 4 A Linguagem SQL. Murilo Silva de Camargo

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

Leia mais

SQL. Introdução. Por que SQL? Setenças Select-From-Where

SQL. Introdução. Por que SQL? Setenças Select-From-Where Introdução SQL Bancos de Dados I Altigran Soares da Silva IComp/UFAM 2013/02 Adaptado do Material do Professor Jeffrey Ullman Originalmente proposta para o System R desenvolvido nos laboratórios da IBM

Leia mais

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

Principais Instruções em SQL. Contidas nesta apostila as principais instruções em SQL para a manutenção em Bancos de Dados. Principais Instruções em SQL Contidas nesta apostila as principais instruções em SQL para a manutenção em Bancos de Dados. Atenção: Esta apostila foi desenvolvida com o auxílio on-line do banco MS-ACCESS,

Leia mais

Junções e Índices em Tabelas

Junções e Índices em Tabelas Junções e Índices em Tabelas Prof. Fernanda Baião fernanda.baiao@uniriotec.com.br SGBD Considerados MySQL (http://www.mysql.org) SGBD gratuito e simples, sem muitos recursos avançados Fácil de instalar

Leia mais

Subconsultas ou Consultas Aninhadas

Subconsultas ou Consultas Aninhadas Subconsultas ou Consultas Aninhadas Forma alternativa de especificar consultas envolvendo relacionamentos entre tabelas Otimização filtragens prévias de dados na subconsulta apenas tuplas/atributos de

Leia mais

UFCD 787. Administração de base de dados. Elsa Marisa S. Almeida

UFCD 787. Administração de base de dados. Elsa Marisa S. Almeida UFCD 787 Administração de base de dados Elsa Marisa S. Almeida 1 Objectivos Replicação de base de dados Gestão de transacções Cópias de segurança Importação e exportação de dados Elsa Marisa S. Almeida

Leia mais

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

SQL BANCO DE DADOS. Linguagem de consulta SQL. Linguagem de consulta SQL. Linguagem de Consulta Estruturada Revisão de tpicos anteriores BANCO DE DADOS Linguagem de consulta SQL Roberto Duarte Fontes Brasília - DF roberto@fontes.pro.br Projeto de banco de dados Modelagem Conceitual (independe da implementação)

Leia mais

Reforçando conceitos de SQL Estudo de Caso: Agenciamento de Corridas de Táxis

Reforçando conceitos de SQL Estudo de Caso: Agenciamento de Corridas de Táxis Reforçando conceitos de SQL Estudo de Caso: Agenciamento de s de Táxis 1 Algumas Entidades existentes Estudo de Caso Cliente Agendada Fila Logradouro Zona Motorista Efetivada Táxi 2 Consulta Básica SQL

Leia mais

Banco de dados 1. Linguagem SQL DDL e DML. Professor: Victor Hugo L. Lopes

Banco de dados 1. Linguagem SQL DDL e DML. Professor: Victor Hugo L. Lopes Banco de dados 1 Linguagem SQL DDL e DML Professor: Victor Hugo L. Lopes Agenda: Introdução à linguagem de dados; DDL; DML; CRUD; Introdução à linguagem SQL. 2 Por que precisamos da linguagem SQL? A algebra

Leia mais

18/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

18/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Faculdade INED Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan 1 Unidade 2 Introdução a SQL 2 2 Introdução à SQL 2.1 Conceitos

Leia mais

SQL (STRUCTUREDQUERY LANGUAGE)

SQL (STRUCTUREDQUERY LANGUAGE) 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 SQL (STRUCTUREDQUERY

Leia mais

A Linguagem SQL. Introdução a Banco de Dados DCC 011

A Linguagem SQL. Introdução a Banco de Dados DCC 011 A Linguagem SQL Introdução Originalmente proposta para o System R desenvolvido nos laboratórios da IBM na década de 70 SEQUEL (Structured English QUEry Language) Objeto de um esforço de padronização coordenado

Leia mais

O que são Bancos de Dados?

O que são Bancos de Dados? SQL Básico Liojes de Oliveira Carneiro professor.liojes@gmail.com www.professor-liojes.blogspot.com O que são Bancos de Dados? É o software que armazena, organiza, controla, trata e distribui os dados

Leia mais

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

SQL TGD/JMB 1. Projecto de Bases de Dados. Linguagem SQL SQL TGD/JMB 1 Projecto de Bases de Dados Linguagem SQL SQL TGD/JMB 2 O que é o SQL? SQL ("ess-que-el") significa Structured Query Language. É uma linguagem standard (universal) para comunicação com sistemas

Leia mais

Introdução a SQL. Prof. Anderson Cavalcanti UFRN-CT-DCA

Introdução a SQL. Prof. Anderson Cavalcanti UFRN-CT-DCA Introdução a SQL Prof. Anderson Cavalcanti UFRN-CT-DCA Características da Structured Query Language -SQL Características da SQL SQL é uma linguagem de pesquisa declarativa para banco de dados relacional.

Leia mais