Buscar

Comandos SQL e Chaves em um Modelo Relacional

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Atividade 3
Em um modelo relacional, os conceitos de chaves são relevantes. As chaves primárias servem para identificar as linhas em uma tabela e, para o caso da chave estrangeira, ela permite estabelecer a restrição de que um valor depende de outro valor em outra tabela. Por exemplo, em um sistema de uma universidade, uma disciplina pertence a um curso e um curso pode conter várias disciplinas. A especificação destas tabelas pode ser compreendida a seguir; os campos em sublinhado são chaves primárias.
Resposta correta. A alternativa está correta, pois todas as formas estão corretas. A adição de chaves pode ocorrer na lista de definição de campos e restrições do CREATE TABLE (item I e II) e pode ser adicionada posteriormente com o comando de ALTER TABLE sem nenhum nome para a restrição (Item III), ou identificando a restrição com a cláusula “CONSTRAINT ‘PK_DISC “.
A linguagem SQL é bastante ampla e possui comandos e subconjuntos deles com propósitos, tais como definir a estruturação dos dados, manipular os registros de tabelas e ainda para gerenciamento de outros elementos em um SGBD, por exemplo, usuários, permissões, backup, restauração e outros.
 
Em relação a alguns comandos de SQL, analise as afirmativas a seguir e assinale (V) para a(s) verdadeira(s) e (F) para a(s) falsa(s).
 
I. ( ) O INSERT é um comando de DDL e é responsável por criar tabelas e realizar as inserções de seus registros.
II. ( ) O ALTER TABLE é um comando de DDL e pode ser usado, por exemplo, para adicionar ou excluir uma coluna da tabela.
III. ( ) O UPDATE é um comando de DML responsável pela alteração dos registros em tabelas, por exemplo, mudar o nome de um certo cliente.
IV. ( ) O DROP é um comando de DML responsável por excluir as linhas de uma tabela, por exemplo, excluir um certo produto.
A partir das associações feitas anteriormente, assinale a alternativa que apresenta a sequência correta:
Resposta correta. A alternativa é a correta. Na sequência dos itens, o item I é falso, o comando INSERT não é de DDL (definição de dados), ele é de DML (manipulação de dados) e, além disso, não é responsável por criar tabelas, apenas inserções de registros. O comando para criar tabela é o CREATE TABLE, este sim de definição de dados (DDL). O item II é verdadeiro, pois adicionar ou excluir colunas são alterações em tabelas feitas por ALTER TABLE (definição de dados - DDL). O item III é verdadeiro, pois o UPDATE muda valores em registros (manipulação de dados - DML) como no caso de mudança de nomes. O item IV é falso; o DROP é usado para excluir elementos da estrutura dos dados, por exemplo, excluir tabelas, views, índices, e é um comando de DDL. O certo seria usar o comando DELETE para excluir linhas.
As atividades rotineiras de um desenvolvedor, ao manipular um banco de dados, envolve escrever consultas ou comandos em SQL e analisar os resultados que o servidor apresenta, por exemplo, ao inserir uma linha com um INSERT, ele depois checa se a linha foi inserida ou, quando realiza uma consulta, ele avalia os dados da consulta. Em uma destas tarefas, um programador obteve a seguinte consulta:
	Código
	Fabricante
	Placa
	Modelo
	Ano
	1
	Ford
	MQF4236
	Fiesta
	2016
	2
	Fiat
	QFG5534
	Uno
	2018
	3
	Renault
	FES3321
	Clio
	2014
	4
	Fiat
	QQF5298
	Idea
	2018
	5
	Renault
	AAX8943
	Sandero
	2013
Fonte: Elaborado pelo autor.
 
Qual consulta o programador deve ter digitado na ferramenta do SGBD?
Resposta correta. A alternativa está correta, pois a consulta combina os carros com ano inferior a 2015 (ANO <=2015), que são as linhas 3 e 5, e os que possuem ‘QF’ na placa 1, 2 e 4.
O SQL (de Structured Query Language) é uma linguagem para o trato com os dados e apresenta um conjunto vasto de comandos que são divididos em partes da linguagem como a DDL e a DML. A DDL, que no português seria Linguagem para Definição de Dados (do inglês, Data Definition Language), trata de comandos para estruturação dos componentes de dados, e a DML (do inglês, Data Manipulation Language) engloba comandos para manipular registros nas tabelas.
Analise as alternativas a seguir e marque a que representa um comando de DML:
Resposta correta. A alternativa está correta, os comandos típicos de DML são o SELECT, INSERT, UPDATE e DELETE para consultar, inserir, alterar e excluir registros respectivamente, portanto DELETE está nesta categoria de comandos. Todos os outros comandos dizem respeito à criação de algo na estrutura do banco de dados, logo são comandos de DDL.
 
A álgebra relacional prevê um conjunto de operações para manipular as tuplas de uma relação, por exemplo para selecionar linhas ou colunas, ou ainda combinando relações de diversas formas, e sua escrita segue um formalismo matemático semelhante às fórmulas comumente encontradas nesta área.
Considerando um determinado cenário de locações de imóveis, a relação “IMOVEL”  apresenta os seguintes atributos. 
IMOVEL( CODIGO, PROPRIETARIO, NUM_QUARTOS, NUM_BANHEIROS, GARAGEM) 
A operação em Álgebra Relacional para selecionar as linhas com imóveis com até três quartos é:
Resposta correta. A alternativa está correta, a operação de seleção na álgebra relacional é expressa por s e a cláusula lógica está correta com número de quartos menor ou igual a 3.
A álgebra relacional é uma linguagem formal aprendida ao se estudar banco de dados, pois as suas operações permitem entender como as manipulações de linhas e colunas podem ser realizadas em uma tabela. O seu conjunto de operações apresentam uma sintaxe e um objetivo, que é atingido ao ser aplicado em uma relação.
 
Analise as operações presentes na álgebra relacional e associe com seus objetivos ou funcionalidades ao ser aplicada a uma relação.
I) Projeção (π).
II) Seleção (σ).
III) Produto Cartesiano ( x ).
IV) Interseção.
 
Realize, agora, a associação com os objetivos das operações.
( ) Permite selecionar as linhas ou tuplas em uma relação.
( ) Combina duas relações, cada tupla sendo combinada com tuplas da outra relação.
( ) Gera relação em que cada tupla deve existir em duas outras relações usadas na operação.
( ) Permite selecionar as colunas em uma relação.
 
A partir das relações feitas anteriormente, assinale a alternativa que apresenta a sequência correta:
Resposta correta. A alternativa está correta com a sequência II, III, IV, I. Seguindo essa sequência, a Seleção (sigma) (item II) é a operação que filtra as linhas em uma relação. O produto cartesiano (Item III), de fato, faz um processo combinatório com cada nova linha da relação, combinando um item de uma relação com um item de outra relação. O Item IV, Interseção, é a mesma operação conhecida de teoria de conjuntos, que gera um novo conjunto em um que o elemento é considerado apenas se ele pertencer aos outros dois conjuntos. E a projeção (item I), de fato, é a operação que seleciona quais colunas farão parte da relação resultante.
De acordo com Elmasri e Navathe (2011), o modelo relacional foi introduzido, em 1970, via um artigo clássico de CODD. Esta teoria de modelo relacional deu origem aos sistemas gerenciadores de bancos de dados relacionais (SGBDs) que têm sido amplamente empregados por aproximadamente 50 anos. 
 
ELMASRI, R.; NAVATHE, S. Sistemas de banco de dados. São Paulo: Pearson Addison Wesley, 2011.
 
Em relação a esses SGBDs relacionais, analise as sentenças a seguir:
 
I. Um dos motivos de sucesso dos SGBDs relacionais é a linguagem SQL, que serve para expressar os comandos que devem ser executados pelo SGBD
 
Porque:
 
II. Como essa linguagem (SQL) tornou-se um padrão, os usuários apresentam menos dificuldades para migrar suas aplicações; por exemplo, um usuário insatisfeito com um SGBD comercial pode implantar sua aplicação em outro SGBD com esforço e custo mais controlado.
 
A seguir, assinale a alternativa correta:
Resposta correta. A alternativa está correta, pois as duas sentenças estão certas e a linguagem SQL é, de fato, um dos fatores de sucesso dos SGBDs comerciais. Isso porque, como ela se tornou um padrão de mercado, vários fabricantes mantêm compatibilidade, desenvolvedoresde tecnologia falam a mesma “linguagem”, o que possibilitou um vasto uso no mercado de TI.
Em um sistema, existem diversas demandas por informação que são traduzidas em comandos de SELECT com a especificação das colunas, das tabelas onde recuperar os dados e com os filtros através de um conjunto variado de operadores e combinadores lógicos.
Em um sistema de gestão de cursos de uma instituição de ensino superior, uma breve parte do modelo apresenta a definição exposta a seguir. O campo carga horária indica quantas horas a disciplina tem e o campo obrigatória indica se a disciplina é obrigatória (‘S’) de sim ou opcional com  (‘N’) de não.
 
DISCIPLINA         (COD_DISCIPLINA,           DCR_DISCIPLINA,
CARGA_HORARIA,           OBRIGATORIA, 
COD_CURSO (FK))
CURSO  (COD_CURSO,   DCR_CURSO)
 
A instituição está fazendo um levantamento para enxugar alguns cursos e daí está pesquisando por disciplinas que são opcionais ou que possuam carga horária inferior a 40 horas.
A sentença que melhor reflete esta consulta é:
sposta correta. A alternativa está correta, pois a cláusula usa o operador OR e com os valores certos, de forma que serão retornadas as linhas com CARGA_HORARIA menor que 40 e com obrigatória = ‘N’ (isto é, opcionais). Nos campos, basta vir a descrição da disciplina; para efeito de levantamento, está coerente, a ideia é identificar as disciplinas.
Após a etapa de modelagem, é necessária a criação dos elementos que vão acomodar os dados e suas restrições; é a etapa em que as tabelas são criadas junto com chave primária, chave estrangeira e outros elementos que estruturam um banco de dados. A DDL (Data Definition Language) é uma parte da SQL responsável por comandos com esta finalidade.
 
A respeito de alguns comandos e termos empregados na execução de comandos de DDL, analise as sentenças a seguir e assinale (V) para verdadeiro e (F) para falso. 
I.  (   ) A palavra CONSTRAINT pode ser empregada na definição de chaves estrangeiras e primárias.
II   (     ) DROP TABLE é o comando usado para excluir uma tabela no banco de dados.
III. (     ) ADD COLUMN é parte de um comando e é usado em geral com comandos de ALTER TABLE.
IV.  (     ) NUMERIC é uma palavra usada na definição de campos que aceitam números, em geral, com decimais. 
Conforme as associações realizadas assinale a alternativa correta:Resposta correta. A alternativa está correta, pois o item I é verdadeiro; apesar de não ser obrigatório, o termo CONSTRAINT diz respeito a restrições, e as mais comuns, em que é usado na definição de chaves primárias e estrangeiras. O item II é verdadeiro, a exclusão de componentes do banco de dados é feita por DROP, por exemplo, DROP TABLE, DROP VIEW e outros. O item III é verdadeiro, pois, quando é necessário adicionar colunas em uma tabela já criada, o ADD COLUMN é usado como parte do ALTER TABLE. Por fim, o item IV é verdadeiro, pois campos que guardam valores com decimais são definidos com NUMERIC
Na construção de um banco de dados, em seu início, um projetista de dados compreende os requisitos de um sistema e faz a modelagem de dados criando um modelo de entidade e relacionamento ou um modelo relacional. A partir do modelo, os comandos de DDL (Data Definition Language) são usados para criar as tabelas e outras definições no banco de dados.
Para um certo sistema, uma parte do modelo de dados está mostrado a seguir. 
Fonte: Elaborada pelo autor.
Existe a necessidade de criar um comando para gerar a tabela de BAIRRO com todos os campos e restrições, que, considerando que todos os campos são obrigatórios, precisam ser preenchidos na manipulação dos registros. O comando para esta criação da tabela é:

Continue navegando