Questão de Programação — Tipos de dados — UFRR 2025
ProgramaçãoTipos de dados
- Código
- qg621116
- Banca
- UFRR
- Órgão
- UFRR
- Ano
- 2025
- Nível
- Superior
- Cargo
- Analista de Tecnologia da Informação
Complete o trecho a seguir com a alternativa CORRETA.Vários atributos de um banco de dados podem ter o mesmo tipo de dados. Um exemplo disso seriam atributos como nome_cliente e nome_funcionário, que podem ter o mesmo domínio: o conjunto de todos os nomes de pessoa. Por outro lado, é possivel também que existam atributos cujo tipo de dado é, aparentemente, semelhante, mas que, na pratica, o tipo de dados nao é o mesmo. Um exemplo disso são os atributos saldo_em_dolares e saldo_em_reais. Embora, ambos os atributos sejam moedas, eles não deveriam ser diretamente comparáveis no contexto do banco de dados, uma vez que U$ 10,00 não é o mesmo que R$ 10,00, ainda que os números sejam iguais. Pensando nisso, ________.
- Arecomenda-se que o programador crie algum mecanismo no código para impedir a realização desse tipo de comparação, visto que não há como lidar com ela por meio dos recursos da linguagem SQL.
- Brecomenda-se, ao criar atributos de mesmo tipo e que não deveriam ser comparados, que sejam definidos parâmetros distintos de valores que podem ser aceitos por cada atributo, conforme exemplo a seguir:create table cliente(conta_cliente char(20),saldo_em_dolares numeric(12,2),saldo_em_reais char(10,3),primary key (conta_cliente))Note que para dólares é possível ter valores com até 12 dígitos, dos quais dois são colocados após a vírgula decimal, enquanto para reais é possível ter valores com até 10 dígitos, sendo três colocados após a vírgula decimal. Portanto, os parâmetros são distintos e isso permite lidar com o problema de comparação de tipos de dados distintos, embora semelhantes.
- Crecomenda-se que o programador, ao modelar o banco de dados, não permita que atributos dessa natureza sejam criados, visto que não há uma forma adequada para lidar com esse problema.
- Drecomenda-se que o programador, na criação da tabela contendo esses atributos distintos, embora semelhantes, proceda da seguinte forma:create table cliente(conta_cliente char(20),saldo_em_dolares numeric(12,2),saldo_em_reais char(12,2),saldo_em_dolares isNot(saldo_em_reais)primary key (conta_cliente))Com o uso do tipo isNot é possível impedir a realização de comparações entre os atributos saldo_em_dolares e saldo_em_reais.
- Erecomenda-se considerar que a linguagem SQL admite a possibilidade de criação de tipos distintos por meio da cláusula create type, conforme exemplo a seguir:create type Dolares as numeric(12,2) finalcreate type Reais as numeric(12,2) final