1. Quais são as diretrizes informais para o projeto de esquema de relações? Explique resumidamente cada uma.
R: A primeira diretriz da semântica tem como objetivo projetar um esquema de relação de maneira que seja simples descrever seu significado, a segunda projetar esquemas de relações de maneira que nenhuma anomalia de alteração ocorra em relações, a terceira diretriz diz esta ligada a valores nulos, ela evita colocar atributos em um esquema de relação base cujo valor possa ser null, a quarta diretriz corresponde a tuplas espúrias o objetivo principal é projetar esquemas de relação tal que, quando aplicadas operações JOIN-NATURAIS, os atributos nas condições-joins envolvam atributos que sejam ou chaves primarias ou chaves estrangeiras de maneira a garantir que nenhuma tupla espúria seja gerada.
2. Quais são as métricas de qualidade informal para projeto de esquemas de relações? Explique resumidamente cada uma delas.
R: As métricas de qualidade informal são conhecidas como semânticas de atributos, redução de valores redundantes em tuplas, redução de valores nulos em tuplas e não permissão de tuplas espúrias.
Semântica de atributos: Mostra de forma detalhada como interpretar os valores de atributos que estão guardados em uma determinada tuplas.
Redução de valores redundantes em tuplas: Tem como objetivo reduzir valores desnecessários que possam ter nas tuplas.
Redução de valores nulos em tupãs: Se os atributos não forem aplicados as tuplas de relação podem-se ter vários valores nulos isso pode despender o espaço de armazenamento e dificultar o entendimento da operação.
Tuplas espúrias: Nesse tipo de tuplas pode ocorrer falta de informação correta e o projeto sair ruim, por esse motivo passa a ser invalida.
3. O que é e para que serve o conceito de dependência funcional? Quais são os tipos de dependência? Explique-os
R: Dependências funcionais são restrições que existem nas relações ela da oportunidade de modificar algo necessário para que o banco de dados seja modelado de forma correta, essa dependência é uma propriedade do significado semântica dos tributos em um esquema de relação R, essa semântica é o modo como os tributos se relacionam para especificar as dependências funcionais envolvidas na relação.
4. O que é e para que serve normalização de dados relacionais? Quando será utilizada a normalização na maioria das vezes?
R: Na normalização de base é com se fosse uma prevenção para que não haja redundância de informações com objetivo de reorganização de dados, será muito utilizado quando a tabela precisar de chaves estrangeiras para diferenciar dados.
5. O que são e quantas são as formas formais de relação? Explique-as resumidamente. Para manter eficiência e a simplicidade de processamento em certos casos podemos normalizar as relações até a 3ºFN por que?
R: É uma ligação com a dependência funcional para garantir os dados das diretrizes. São três tipos de forma normal cada uma com sua diferença, a primeira é a (1FN) visa eliminar atributos multivalorados, a segunda (2FN) é quando ela pertence a (1FN) e suas colunas que não são chave primaria dependerem da chave primaria, a (3FN) se já estiver na (2FN) e nenhum dos seus atributos dependerem funcionalmente de atributos não chave.
6. Dê exemplos de normalizações de uma relação.
Um exemplo é normalizar um banco de dados existente
Cliente Codigo Telefone 1 Endereço
Telefone n Rua Nº Cidade
Ciente Codigo Rua Numero Cidade
segunda-feira, 30 de novembro de 2009
domingo, 22 de novembro de 2009
Algebra Relacional 2
Seleção
1 – Mostre o conteúdo da relação departamentos.
R- б (departamento)
Dnome Dnumero Snnger Datinicger
Pesquisa 5 333445555 22/mai/78
Administração 4 987654321 1/jan/85
Gerencial 1 888665555 19/jun/71
2 – Mostre os empregados que trabalham no departamento 4.6 ndep=4 (Empregado)
Pnome Mnome Snome Nss Datanasc Endereço Sexo Salario Nsssuper Ndep
Alicia J Zelaya 999887777 19/jul/58 Av.C,3 F 2500 987654321 4
Jennifer S Wallace 987654321 20/jun/31 Trav.D,4 F 4300 888665555 4
Ahmad V Jabbar 987987987 29/mar/59 Av G,7 M 2500 333445555 4
3 - Mostre as localizações do departamento de pesquisa 5.
6 dnumero=5 (Locais_Depto)
Dnumero Dlocalização
5 Bellaire
5 Sugariand
5 Houston
4- Mostre os projetos do departamento 4.6 pnumero=4(Projeto)
pnome pnumero plocalização pnum
Automação 10 Stafford 4
Beneficiamento 30 Stafford 4
5 – Mostre as informação de relação trabalha_em cujo o numero do projeto igual a 3.
6 pnumero=3(Trabalha_em)
Nssemp Pnro Horas
666884444 3 40.0
333445555 3 10.0
Projeção
1 - Mostre o numero e o nome dos dependentes
π nssemp,nomedep(Dependente)
Nssemp Nomedependente
333445555 Alice
333445555 Theodore
333445555 Joy
987654321 Abner
123456789 Michael
123456789 Alice
123456789 Elizabeth
2 - Mostre o nome e a localização dos projetos.
π pnome,plocalização(Projetos)
Pnome Plocalização
Produtox Bellaire
Produtoy Sugariand
Produtoz Houston
Automação Stafford
Reorganização Houston
Beneficiamento Stafford
3 – Mostre o nome e o código do gerente dos departamentos
π dnome,snnger(Departamento)
Dnome Snnger
Pesquisa 333445555
Administração 987654321
Gerencial 888665555
4 – Mostre o Nome e a data de nascimento dos Empregados.
π pnome,datanasc(Empregado)
Pnome Datanasc
John 9/jan/55
Franklin 8/dez/45
Alicia 19/jul/58
Jennifer 20/jun/31
Ramesh 15/set/52
Joyce 31/jul/62
Ahmad 29/mar/59
James 10/nov/27
5 - Mostre o nome e o salário dos empregados
π pnome,salario(Empregados)
Pnome Salario
John 3000
Franklin 4000
Alicia 2500
Jennifer 4300
Ramesh 3800
Joyce 2500
Ahmad 2500
James 5500
SELEÇÃO + PROJEÇÃO
1 - Mostre o código , nome e o salário dos empregados que ganham mais de 2500.
π pnome,nss,salario(бsalario>2500(empregado))
Pnome Nss Salario
John 123456789 3000
Franklin 333445555 4000
Jennifer 987654321 4300
Ramesh 666884444 3800
James 888665555 5500
2 - Mostre o Nome e a localização dos projetos do departamento 5
π pnome,plocalização(бdnum=5(Projeto))
Pnome Plocalização
Produtox Bellaire
Produtoy Sugarland
Produtoz Houston
3 – Mostre o numero do empregado e o numero do projeto cujas horas são maiores que
π nssemp,pnro,(бhoras>10(Trabalha_em))
Nssemp Pnro
999887777 30
987654321 20
4 - Mostre o nome e o sexo do dependente cujo numero do empregado é igual a 123456789
π nomedependente,sexo(бnssempregado=123456789(Departamento))
Nomedependente Sexo
Michael M
Alice F
Elizabeth F
5- mostre o nome relação e a data do aniversario dos dependentes cujo numero do empregado é igual a 333445555.
π nomedependete,relação,dataniv( 6Nssempregado=333445555(Dependente))
Nomedependente Relação Dataniv
Alice Filha 5/abr/70
Theodore Filho 25/out/73
Joy Esposa 3/mai/48
JUNÇÃO
1- Mostre o nome e o salário do empregado e o nome e a relação dos seus dependentes
π pnome,salario,nomedependente,relação(EmpregadoҲnss=nssemp Dependente)
PNOME SALARIO NOMEDEPENDENTE RELACAO
Jhon 3000 Michael Filho
Jhon 3000 Alice Filha
Jhon 3000 Elizabeth Esposa
Franklin 4000 Alice Filha
Franklin 4000 Theodore Filho
Franklin 4000 Joy Esposa
Jennifer 4300 Abner Marido
2 – Mostre o nome do departamento e o nome e o salário do empregado que é o seu gerente.
π d.dnome,e.pnome,e.salario(Empregado.e ҳ e.nss=Dssnger Departamento.D)
Dnome Pnome Salario
Pesquisa Franklin 4000
Administração Jennifer 4300
Gerencial James 5500
3 - Mostre o nome do departamento e a sua localização
πd.dnome,l.dlocalização(Departamento.dҲdnumero=ldnumero(locais_depto))
Dnome Dlocalização
Pesquisa Bellaire
Pesquisa Sugarland
Pesquisa Houston
4- mostre o nome do projeto, sua localização e o departamento ao qual pertence
π pnome, plocalização, dnome(Departamentoҳ dnumero=dnum(Projeto))
Pnome Plocalização Dnome
ProdutoX Bellaire Pesquisa
ProdutoY S ugariand Pesquisa
ProdutoZ Houston Pesquisa
Automação Stafford Administrativo
Reorganização Houston Gerencial
Beneficiamento Stafford Administrativo
5 – Mostre o nome do empregado e o nome do projeto nos quais eles trabalham.
π e.pnome,p.pnome(Empregado.e ҳ nss=nssemp Trabalha_em) ҳ T.Pnro=Pnumero Projeto))
E.pnome P.pnome
John ProdutoX
John ProdutoY
Ramash ProdutoZ
Ahamad Beneficiamento
Franklin ProdutoY
Franklin ProdutoZ
AGREGAÇÃO
1 - Mostre a quantidade de empregados do sexo masculino e a quantidade de empregado do sexo feminino
Sexo ƒ Caunt Nss(Empregado)
Sexo Count Nss
M 5
F 3
2 – Mostre a quantidade de dependente do sexo masculino e a quantidade de dependente do sexo feminino do empregado cujo numero é 123456789
Sexo ƒ Caunt Nssemp(σ Nssemp=123456789(Dependente))
Sexo Count Nssemp
M 1
F 2
3 - Mostre o nome e o salário do empregado e a quantidade de dependente que possui.π pnome,salario;ƒ Count qtde(EmpregadoҳNss=Nssemp Dependente)
Pnome Salario Qtde
Franklin 4000 3
John 3000 3
Jennifer 4300 1
4- mostre a despesa total de cada departamento com o salário dos empregados
Ndep ƒ Sum Salario(Empregado)
Ndep Sum_Salario
5 13300
4 9300
1 5500
5– Mostre a soma total das horas empregadas em cada projeto.
Pnroƒ Sum Horas(Trabalha_em) Pnro Sum_Horas
Pnro Sum_Horas
1 52,5
2 37,5
3 50
10 55
20 25,5
30 55
1 – Mostre o conteúdo da relação departamentos.
R- б (departamento)
Dnome Dnumero Snnger Datinicger
Pesquisa 5 333445555 22/mai/78
Administração 4 987654321 1/jan/85
Gerencial 1 888665555 19/jun/71
2 – Mostre os empregados que trabalham no departamento 4.6 ndep=4 (Empregado)
Pnome Mnome Snome Nss Datanasc Endereço Sexo Salario Nsssuper Ndep
Alicia J Zelaya 999887777 19/jul/58 Av.C,3 F 2500 987654321 4
Jennifer S Wallace 987654321 20/jun/31 Trav.D,4 F 4300 888665555 4
Ahmad V Jabbar 987987987 29/mar/59 Av G,7 M 2500 333445555 4
3 - Mostre as localizações do departamento de pesquisa 5.
6 dnumero=5 (Locais_Depto)
Dnumero Dlocalização
5 Bellaire
5 Sugariand
5 Houston
4- Mostre os projetos do departamento 4.6 pnumero=4(Projeto)
pnome pnumero plocalização pnum
Automação 10 Stafford 4
Beneficiamento 30 Stafford 4
5 – Mostre as informação de relação trabalha_em cujo o numero do projeto igual a 3.
6 pnumero=3(Trabalha_em)
Nssemp Pnro Horas
666884444 3 40.0
333445555 3 10.0
Projeção
1 - Mostre o numero e o nome dos dependentes
π nssemp,nomedep(Dependente)
Nssemp Nomedependente
333445555 Alice
333445555 Theodore
333445555 Joy
987654321 Abner
123456789 Michael
123456789 Alice
123456789 Elizabeth
2 - Mostre o nome e a localização dos projetos.
π pnome,plocalização(Projetos)
Pnome Plocalização
Produtox Bellaire
Produtoy Sugariand
Produtoz Houston
Automação Stafford
Reorganização Houston
Beneficiamento Stafford
3 – Mostre o nome e o código do gerente dos departamentos
π dnome,snnger(Departamento)
Dnome Snnger
Pesquisa 333445555
Administração 987654321
Gerencial 888665555
4 – Mostre o Nome e a data de nascimento dos Empregados.
π pnome,datanasc(Empregado)
Pnome Datanasc
John 9/jan/55
Franklin 8/dez/45
Alicia 19/jul/58
Jennifer 20/jun/31
Ramesh 15/set/52
Joyce 31/jul/62
Ahmad 29/mar/59
James 10/nov/27
5 - Mostre o nome e o salário dos empregados
π pnome,salario(Empregados)
Pnome Salario
John 3000
Franklin 4000
Alicia 2500
Jennifer 4300
Ramesh 3800
Joyce 2500
Ahmad 2500
James 5500
SELEÇÃO + PROJEÇÃO
1 - Mostre o código , nome e o salário dos empregados que ganham mais de 2500.
π pnome,nss,salario(бsalario>2500(empregado))
Pnome Nss Salario
John 123456789 3000
Franklin 333445555 4000
Jennifer 987654321 4300
Ramesh 666884444 3800
James 888665555 5500
2 - Mostre o Nome e a localização dos projetos do departamento 5
π pnome,plocalização(бdnum=5(Projeto))
Pnome Plocalização
Produtox Bellaire
Produtoy Sugarland
Produtoz Houston
3 – Mostre o numero do empregado e o numero do projeto cujas horas são maiores que
π nssemp,pnro,(бhoras>10(Trabalha_em))
Nssemp Pnro
999887777 30
987654321 20
4 - Mostre o nome e o sexo do dependente cujo numero do empregado é igual a 123456789
π nomedependente,sexo(бnssempregado=123456789(Departamento))
Nomedependente Sexo
Michael M
Alice F
Elizabeth F
5- mostre o nome relação e a data do aniversario dos dependentes cujo numero do empregado é igual a 333445555.
π nomedependete,relação,dataniv( 6Nssempregado=333445555(Dependente))
Nomedependente Relação Dataniv
Alice Filha 5/abr/70
Theodore Filho 25/out/73
Joy Esposa 3/mai/48
JUNÇÃO
1- Mostre o nome e o salário do empregado e o nome e a relação dos seus dependentes
π pnome,salario,nomedependente,relação(EmpregadoҲnss=nssemp Dependente)
PNOME SALARIO NOMEDEPENDENTE RELACAO
Jhon 3000 Michael Filho
Jhon 3000 Alice Filha
Jhon 3000 Elizabeth Esposa
Franklin 4000 Alice Filha
Franklin 4000 Theodore Filho
Franklin 4000 Joy Esposa
Jennifer 4300 Abner Marido
2 – Mostre o nome do departamento e o nome e o salário do empregado que é o seu gerente.
π d.dnome,e.pnome,e.salario(Empregado.e ҳ e.nss=Dssnger Departamento.D)
Dnome Pnome Salario
Pesquisa Franklin 4000
Administração Jennifer 4300
Gerencial James 5500
3 - Mostre o nome do departamento e a sua localização
πd.dnome,l.dlocalização(Departamento.dҲdnumero=ldnumero(locais_depto))
Dnome Dlocalização
Pesquisa Bellaire
Pesquisa Sugarland
Pesquisa Houston
4- mostre o nome do projeto, sua localização e o departamento ao qual pertence
π pnome, plocalização, dnome(Departamentoҳ dnumero=dnum(Projeto))
Pnome Plocalização Dnome
ProdutoX Bellaire Pesquisa
ProdutoY S ugariand Pesquisa
ProdutoZ Houston Pesquisa
Automação Stafford Administrativo
Reorganização Houston Gerencial
Beneficiamento Stafford Administrativo
5 – Mostre o nome do empregado e o nome do projeto nos quais eles trabalham.
π e.pnome,p.pnome(Empregado.e ҳ nss=nssemp Trabalha_em) ҳ T.Pnro=Pnumero Projeto))
E.pnome P.pnome
John ProdutoX
John ProdutoY
Ramash ProdutoZ
Ahamad Beneficiamento
Franklin ProdutoY
Franklin ProdutoZ
AGREGAÇÃO
1 - Mostre a quantidade de empregados do sexo masculino e a quantidade de empregado do sexo feminino
Sexo ƒ Caunt Nss(Empregado)
Sexo Count Nss
M 5
F 3
2 – Mostre a quantidade de dependente do sexo masculino e a quantidade de dependente do sexo feminino do empregado cujo numero é 123456789
Sexo ƒ Caunt Nssemp(σ Nssemp=123456789(Dependente))
Sexo Count Nssemp
M 1
F 2
3 - Mostre o nome e o salário do empregado e a quantidade de dependente que possui.π pnome,salario;ƒ Count qtde(EmpregadoҳNss=Nssemp Dependente)
Pnome Salario Qtde
Franklin 4000 3
John 3000 3
Jennifer 4300 1
4- mostre a despesa total de cada departamento com o salário dos empregados
Ndep ƒ Sum Salario(Empregado)
Ndep Sum_Salario
5 13300
4 9300
1 5500
5– Mostre a soma total das horas empregadas em cada projeto.
Pnroƒ Sum Horas(Trabalha_em) Pnro Sum_Horas
Pnro Sum_Horas
1 52,5
2 37,5
3 50
10 55
20 25,5
30 55
quarta-feira, 23 de setembro de 2009
quarta-feira, 16 de setembro de 2009
Algebra Relacional
1-Quantos e Quais são os grupos nos quais a álgebra relacional está dividia? Identifique quais operações pertencem a cada um deles.
R:.A álgebra relacional esta dividida em dois grupos, são eles UNION,INTERSECTION,DIFFERENCE E CARTESIAN PRODUCT que esta relacionado ao conjunto de operações de teoria de conjuntos, depois vem o SELECT,PROJECT e JOIN que são para o desenvolvimento de operações desenvolvidas para base de dados relacionais.
2-Explique a Operação SELECT e PROJECT.Quando usar, para que usar, como usar, diferenças, etc.
R:.Utiliza-se SELECT para seleção de subconjuntos de tuplas de uma relação, deve se utilizado quando for necessário selecionar um registro ou uma tabela, essa seleção é muito utilizada para formar uma condição de seleção composta, dever empregado da seguinte forma SELECT*FROM TABELA.
Utilizaremos um PROJECT quando for necessário selecionar e descartar colunas de uma tabela que serve para projeção de atributos, entende-se que pode ser utilizado PROJECT quando ha necessidade de listar atributos, como por exemplo de um funcionário SNOME, PNOME, SALÁRIO (FUNCIONARIO).
3-Explique a Operação UNION, INTERSECTION e DIFFERENCE.Quando usar, para que usar, como usar.
R:. A operação UNION significa união de R e S que inclui todas as tuplas das mesmas, as
tuplas duplicadas são descartadas, INTERSECTION significa a intersecção de R e S essa relação
inclui todas as tuplas que são comuns a R e S, DIFFERENCE essa operação inclui as tuplas de R que não pertence ao conjunto de S. Entretanto UNION E INTERSECTION são utilizadas em operações comutativas
4 - Explique a Operação CARTESIAN PRODUCT. Quando usar, Para que usar, Como usar, etc.
A operação de Cartesian Produtct (Produto Cartesiano) tem a função de combinar todas as tuplas entre as duas relações de entrada, ou seja, combinar todos os registros de duas ou mais tabelas.
Pode ser utilizada quando houver necessidade de combinar todos esses registros, exemplo:
Tabela Cliente:
Código Nome Cidade
1 João Da Silva Jaboticabal
2 Pedro de Souza Guariba
Tabela Descontos no mês
Mês Desconto %
Agosto 10%
Setembro 9%
Cliente X Desconto no mês
Código Nome Cidade Mês Desconto %
1 João Da Silva Jaboticabal Agosto 10%
1 João Da Silva Jaboticabal Setembro 9%
2 Pedro de Souza Guariba Agosto 10%
2 Pedro de Souza Guariba Setembro 9%
Utilizando comando SQL para obter o Produto Cartesiano das tabelas Cliente e Descontos no mês, a sintaxe é definida:
Select * from Cliente, Descontos_mes
5 - Explique as Operações de junção (JOIN) e divisão (DIVISION). Quando usar, Para que usar, Como usar, etc.
Join:
O join (junção) tem como função a combinação de tuplas de duas relações, ou seja, registros de duas tabelas, partindo de atributos comuns a elas.
Pode ser utilizado quando houver a necessidade de combinar este registro, exemplo:
Tabela Cliente:
Código Nome Cod_cidade
1 João Da Silva 10
2 Pedro de Souza 11
3 Jose Santos 10
Tabela Cidade
Cod_cidade Nome_Cidade
10 Jaboticbal
11 Guariba
Cliente X Cidade
Código Nome Cod_Cidade Nome_cidade
1 João Da Silva 10 Jaboticabal
2 Pedro de Souza 11 Guariba
3 Jose Santos 10 Jaboticabal
Utilizando comando SQL para obter o join entre as tabelas Cliente e Cidade, a sintaxe é definida:
Select * from Cliente, Cidade
Where cliente.cod_cidade = cidade.cod_cidade
Division:
O Division (Divisão) tem como função a projeção de todos os elementos da primeira relação que se relaciona com todos os elementos da segunda relação.
Pode ser utilizado quando houver a necessidade de extrair esta projeção, exemplo:
Tabela R1
C1 C2
1 A
1 B
2 A
Tabela R2
C1
A
B
R1 X R2
C1
A
6 - Explique as Operações de AGREGAÇÃO. Quando usar, Para que usar, Como usar, etc.
A Agregação tem como objetivo reunir as Tuplas de uma relação, ou seja, os registro de tabela, em grupos sobre os quais podem ser aplicadas funções agregadas. A funções de Agregação mais conhecidas são Soma (SUM), Media (AVG), Maximo (MAX), Mínimo (MIN), Contar (COUNT).
Pode ser utilizado quando houver a necessidade reunir estes registros, para realizar uma soma por exemplo.
Utilizando comando SQL, temos alguns exemplos destas operações:
Para contar quantos registros existem na tabela Cliente:
Select count(*) from Cliente
Para saber qual o cliente mais velho cadastrado:
Select Max(data_nascimento) from cliente
R:.A álgebra relacional esta dividida em dois grupos, são eles UNION,INTERSECTION,DIFFERENCE E CARTESIAN PRODUCT que esta relacionado ao conjunto de operações de teoria de conjuntos, depois vem o SELECT,PROJECT e JOIN que são para o desenvolvimento de operações desenvolvidas para base de dados relacionais.
2-Explique a Operação SELECT e PROJECT.Quando usar, para que usar, como usar, diferenças, etc.
R:.Utiliza-se SELECT para seleção de subconjuntos de tuplas de uma relação, deve se utilizado quando for necessário selecionar um registro ou uma tabela, essa seleção é muito utilizada para formar uma condição de seleção composta, dever empregado da seguinte forma SELECT*FROM TABELA.
Utilizaremos um PROJECT quando for necessário selecionar e descartar colunas de uma tabela que serve para projeção de atributos, entende-se que pode ser utilizado PROJECT quando ha necessidade de listar atributos, como por exemplo de um funcionário SNOME, PNOME, SALÁRIO (FUNCIONARIO).
3-Explique a Operação UNION, INTERSECTION e DIFFERENCE.Quando usar, para que usar, como usar.
R:. A operação UNION significa união de R e S que inclui todas as tuplas das mesmas, as
tuplas duplicadas são descartadas, INTERSECTION significa a intersecção de R e S essa relação
inclui todas as tuplas que são comuns a R e S, DIFFERENCE essa operação inclui as tuplas de R que não pertence ao conjunto de S. Entretanto UNION E INTERSECTION são utilizadas em operações comutativas
4 - Explique a Operação CARTESIAN PRODUCT. Quando usar, Para que usar, Como usar, etc.
A operação de Cartesian Produtct (Produto Cartesiano) tem a função de combinar todas as tuplas entre as duas relações de entrada, ou seja, combinar todos os registros de duas ou mais tabelas.
Pode ser utilizada quando houver necessidade de combinar todos esses registros, exemplo:
Tabela Cliente:
Código Nome Cidade
1 João Da Silva Jaboticabal
2 Pedro de Souza Guariba
Tabela Descontos no mês
Mês Desconto %
Agosto 10%
Setembro 9%
Cliente X Desconto no mês
Código Nome Cidade Mês Desconto %
1 João Da Silva Jaboticabal Agosto 10%
1 João Da Silva Jaboticabal Setembro 9%
2 Pedro de Souza Guariba Agosto 10%
2 Pedro de Souza Guariba Setembro 9%
Utilizando comando SQL para obter o Produto Cartesiano das tabelas Cliente e Descontos no mês, a sintaxe é definida:
Select * from Cliente, Descontos_mes
5 - Explique as Operações de junção (JOIN) e divisão (DIVISION). Quando usar, Para que usar, Como usar, etc.
Join:
O join (junção) tem como função a combinação de tuplas de duas relações, ou seja, registros de duas tabelas, partindo de atributos comuns a elas.
Pode ser utilizado quando houver a necessidade de combinar este registro, exemplo:
Tabela Cliente:
Código Nome Cod_cidade
1 João Da Silva 10
2 Pedro de Souza 11
3 Jose Santos 10
Tabela Cidade
Cod_cidade Nome_Cidade
10 Jaboticbal
11 Guariba
Cliente X Cidade
Código Nome Cod_Cidade Nome_cidade
1 João Da Silva 10 Jaboticabal
2 Pedro de Souza 11 Guariba
3 Jose Santos 10 Jaboticabal
Utilizando comando SQL para obter o join entre as tabelas Cliente e Cidade, a sintaxe é definida:
Select * from Cliente, Cidade
Where cliente.cod_cidade = cidade.cod_cidade
Division:
O Division (Divisão) tem como função a projeção de todos os elementos da primeira relação que se relaciona com todos os elementos da segunda relação.
Pode ser utilizado quando houver a necessidade de extrair esta projeção, exemplo:
Tabela R1
C1 C2
1 A
1 B
2 A
Tabela R2
C1
A
B
R1 X R2
C1
A
6 - Explique as Operações de AGREGAÇÃO. Quando usar, Para que usar, Como usar, etc.
A Agregação tem como objetivo reunir as Tuplas de uma relação, ou seja, os registro de tabela, em grupos sobre os quais podem ser aplicadas funções agregadas. A funções de Agregação mais conhecidas são Soma (SUM), Media (AVG), Maximo (MAX), Mínimo (MIN), Contar (COUNT).
Pode ser utilizado quando houver a necessidade reunir estes registros, para realizar uma soma por exemplo.
Utilizando comando SQL, temos alguns exemplos destas operações:
Para contar quantos registros existem na tabela Cliente:
Select count(*) from Cliente
Para saber qual o cliente mais velho cadastrado:
Select Max(data_nascimento) from cliente
quarta-feira, 9 de setembro de 2009
MRel - Modelo Relacional
1. Explique conceitualmente a diferença entre o MER e o Modelo de Dados Relacional, ou simplesmente Modelo Relacional (MRel).
O modelo de dados relacional representa os dados da base de dados como uma coleção de relações. Informalmente, cada relação pode ser entendida como uma tabela ou um simples arquivo de registros.
Já o MER propõe que a realidade seja visualizada, os objetos que compõem a realidade
Isto é, o MRel utiliza implementação de dados mais simples que o MER, uma vez que este ultimo utiliza dados conceituais de alto nível.
2 . Explique os conceitos de Instância, Esquema e Domínio no MRel. Explique as notações no MRel.
• Instância da Relação: São Tuplas com os valores da relação num determinado
momento, ou seja, os valores do banco no momento da consulta.
• Esquema: São os atributos da relação (Tupla do Cabeçalho).
• Domínio: É Conjunto de dados possíveis na Tupla.
• Notação:
– Um esquema de relação R de grau n é indicado por R(A1,
A2, A3, ..., An)
– Uma n-tupla t em uma relação r(R) é indicada por t= v2, ..., vn), em que vi é o valor correspondente ao atributo
Ai
• t[Ai] e t.Ai referem-se ao valor vi em t do atributo Ai.
– As letra Q, R, S significam nomes de relação.
– As letra q, r, s significam estados da relação
– As letra t, u, v significam tuplas
3. Explique os conceitos de super-chave, chave candidata e chave estrangeira.
• Super-chave: qualquer subconjunto de atributos de uma relação não repetidos que
identificam cada tupla da relação. Toda chave é uma super-chave. Nem toda super-
chave é uma chave (só a mínima). Toda a super-chave precisa conter, entre seus
atributos, uma chave.
• Chave Candidata: é a chave que tem chance de ser usada como chave-primária. É uma super-chave mínima.
• Chave Estrangeira: Representa o relacionamento entre as relações e define
formalmente a restrição de integridade referencial. O atributo definido como CE
deve ter valor igual ao valor da chave primária da tabela relacionada (de origem) ou
ser nula na relação (de destino).
4.Explique o conceito de integridade no MRel.
Restrições de Integridade: buscam restringir o domínio dos dados de modo a melhorar a consistência do banco de dados. Podem ser – restrição de integridade de chave, restrição de integridade de entidade e restrição de integridade referencial.
5.Explique o conceito de integridade referencial no MRel.
Integridade referencial é uma restrição que é especificada entre duas relações e é usada para manter a consistência entre tuplas de duas relações. Informalmente, a restrição de integridade referencial estabelece que um tupla de uma relação que se refere à outra relação deve se referir a uma tupla existente naquela relação. Existem 3 que são consideradas necessárias a uma base de dados relacional:
Restrição de Integridade da Chave: Uma chave candidata qualquer não pode ter o mesmo valor em duas tuplas distintas da mesma relação.
Restrição de Integridade da Entidade:A chave primária de qualquer relação não pode ser nula em nenhuma tupla dessa relação.
Restrição de Integridade Referencial: O conceito de Integridade Referencial depende do conceito de Chave Estrangeira.integridade referencial - exige que um valor referido por uma entidade de facto exista na BD (chave externa)
6. Explique os conceitos de Intenção e Extensão no MRel. Quais são as operações de atualização sobre relações?
• Intenção da Relação: Esquema da relação. Conjunto dos nomes dos Atributos.
• Extensão da Relação: Conjunto dos Valores dos Atributos. Uma relação r (ou instância de relação) da relação esquema R(A1, A2, ..., An), também denotado por r(R), é um conjunto de tuplas r={ t1, t2, ..., tm}. Cada tupla t é uma lista ordenada de n valores t=, onde cada valor vi, 1 £ i £ n, é um elemento do dom(Ai) ou um valor especial null. São utilizados, com freqüência, os termos intenção da relação para o esquema R e extensão da relação para a instância r(R).
Existem três tipos básicos de operação de atualização sobre relações - inserção, remoção e modificação. A inserção é usada para inserir novas tuplas em uma relação, a remoção elimina tuplas e a modificação modifica os valores de alguns atributos. Quando são aplicadas operações de atualização, o projetista deve verificar que as restrições de integridade especificadas no esquema da base de dados relacional não sejam violadas.
O modelo de dados relacional representa os dados da base de dados como uma coleção de relações. Informalmente, cada relação pode ser entendida como uma tabela ou um simples arquivo de registros.
Já o MER propõe que a realidade seja visualizada, os objetos que compõem a realidade
Isto é, o MRel utiliza implementação de dados mais simples que o MER, uma vez que este ultimo utiliza dados conceituais de alto nível.
2 . Explique os conceitos de Instância, Esquema e Domínio no MRel. Explique as notações no MRel.
• Instância da Relação: São Tuplas com os valores da relação num determinado
momento, ou seja, os valores do banco no momento da consulta.
• Esquema: São os atributos da relação (Tupla do Cabeçalho).
• Domínio: É Conjunto de dados possíveis na Tupla.
• Notação:
– Um esquema de relação R de grau n é indicado por R(A1,
A2, A3, ..., An)
– Uma n-tupla t em uma relação r(R) é indicada por t=
Ai
• t[Ai] e t.Ai referem-se ao valor vi em t do atributo Ai.
– As letra Q, R, S significam nomes de relação.
– As letra q, r, s significam estados da relação
– As letra t, u, v significam tuplas
3. Explique os conceitos de super-chave, chave candidata e chave estrangeira.
• Super-chave: qualquer subconjunto de atributos de uma relação não repetidos que
identificam cada tupla da relação. Toda chave é uma super-chave. Nem toda super-
chave é uma chave (só a mínima). Toda a super-chave precisa conter, entre seus
atributos, uma chave.
• Chave Candidata: é a chave que tem chance de ser usada como chave-primária. É uma super-chave mínima.
• Chave Estrangeira: Representa o relacionamento entre as relações e define
formalmente a restrição de integridade referencial. O atributo definido como CE
deve ter valor igual ao valor da chave primária da tabela relacionada (de origem) ou
ser nula na relação (de destino).
4.Explique o conceito de integridade no MRel.
Restrições de Integridade: buscam restringir o domínio dos dados de modo a melhorar a consistência do banco de dados. Podem ser – restrição de integridade de chave, restrição de integridade de entidade e restrição de integridade referencial.
5.Explique o conceito de integridade referencial no MRel.
Integridade referencial é uma restrição que é especificada entre duas relações e é usada para manter a consistência entre tuplas de duas relações. Informalmente, a restrição de integridade referencial estabelece que um tupla de uma relação que se refere à outra relação deve se referir a uma tupla existente naquela relação. Existem 3 que são consideradas necessárias a uma base de dados relacional:
Restrição de Integridade da Chave: Uma chave candidata qualquer não pode ter o mesmo valor em duas tuplas distintas da mesma relação.
Restrição de Integridade da Entidade:A chave primária de qualquer relação não pode ser nula em nenhuma tupla dessa relação.
Restrição de Integridade Referencial: O conceito de Integridade Referencial depende do conceito de Chave Estrangeira.integridade referencial - exige que um valor referido por uma entidade de facto exista na BD (chave externa)
6. Explique os conceitos de Intenção e Extensão no MRel. Quais são as operações de atualização sobre relações?
• Intenção da Relação: Esquema da relação. Conjunto dos nomes dos Atributos.
• Extensão da Relação: Conjunto dos Valores dos Atributos. Uma relação r (ou instância de relação) da relação esquema R(A1, A2, ..., An), também denotado por r(R), é um conjunto de tuplas r={ t1, t2, ..., tm}. Cada tupla t é uma lista ordenada de n valores t=, onde cada valor vi, 1 £ i £ n, é um elemento do dom(Ai) ou um valor especial null. São utilizados, com freqüência, os termos intenção da relação para o esquema R e extensão da relação para a instância r(R).
Existem três tipos básicos de operação de atualização sobre relações - inserção, remoção e modificação. A inserção é usada para inserir novas tuplas em uma relação, a remoção elimina tuplas e a modificação modifica os valores de alguns atributos. Quando são aplicadas operações de atualização, o projetista deve verificar que as restrições de integridade especificadas no esquema da base de dados relacional não sejam violadas.
quinta-feira, 3 de setembro de 2009
3) CONTROLE DE ESTOQUE. Uma empresa do comércio varejista, deseja fazer o controle de estoque de seu estabelecimento. Para facilitar a administração do seu estoque, a organização criou uma estrutura de almoxarifados, onde um produto pode ser estocado em vários almoxarifados e um almoxarifado pode conter vários produtos. A reposição de estoque acontece quando os produtos adquiridos de um fornecedor chegam com sua respectiva nota fiscal de compra. Já a baixa do estoque se dá quando ocorre a emissão de uma nota fiscal de venda para um determinado cliente. Além disso, deseja-se classificar os produtos em linhas a serem determinadas pelo usuário de acordo com a sua necessidade.

4) EMPRESA DE FLORES. A X.P.T.O LTDA. criou a FLOWERNET, uma rede que tem como objetivo atender todo o mercado nacional no que diz respeito à venda e entrega de flores. Através desta rede, um cliente pode fazer uma compra de flores em Belo Horizonte e pedir para a entrega ser feita em Fortaleza. Para isso a X.P.T.O firmou convênio com várias floriculturas em várias cidades do Brasil. Uma floricultura pode atender várias cidades da região. O pedido do cliente, que pode possuir vários tipos de flores, é cadastrado e repassado para uma das floriculturas conveniadas que atendem a cidade, na qual será entregue o pedido.




4) EMPRESA DE FLORES. A X.P.T.O LTDA. criou a FLOWERNET, uma rede que tem como objetivo atender todo o mercado nacional no que diz respeito à venda e entrega de flores. Através desta rede, um cliente pode fazer uma compra de flores em Belo Horizonte e pedir para a entrega ser feita em Fortaleza. Para isso a X.P.T.O firmou convênio com várias floriculturas em várias cidades do Brasil. Uma floricultura pode atender várias cidades da região. O pedido do cliente, que pode possuir vários tipos de flores, é cadastrado e repassado para uma das floriculturas conveniadas que atendem a cidade, na qual será entregue o pedido.

5) APURAÇÃO ELEITORAL. Para facilitar o processamento da apuração eleitoral da eleição municipal a ser realizado nesse ano, o TRE (Tribunal Regional Eleitoral) resolveu informatizar esse processo. Sabe-se que cada localidade é dividida em várias zonas eleitorais que, por sua vez, são divididas em várias seções nas quais os eleitores estão vinculados. O candidato a um cargo público deve estar vinculado a um único partido político. Vale ressaltar que, segundo a legislação vigente, o voto é secreto.

6) CONCURSO PÚBLICO. Uma organização deseja implementar o procedimento de concurso público para tornar transparente o seu processo de seleção de pessoal. Esta organização possui vários departamentos, que por sua vez, possui vários cargos. O mesmo cargo pode estar vinculado à vários departamentos. Um concurso público é realizado para vários cargos, e um cargo pode ser oferecido em vários concursos. O candidato faz inscrição em somente um cargo oferecido em um concurso público. O concurso tem várias etapas, que tem a participação de vários candidatos. O candidato obtém a nota em cada etapa que participa. A etapa pode ser classificatória ou eliminatória.

Assinar:
Postagens (Atom)