3
respostas

Tipos Nulos na Dimensão Tempo

Olá.

Surgiu uma dúvida com relação aos tipos nulos na Dimensão Tempo. A questão é que somente "Cod_Dia" está como não nulo, porém não há como uma data ou um trimestre por exemplo ser nulo. No caso por quê nesses casos eu posso aceitar um valor nulo, se já pressuponho que uma data deve conter um valor?

3 respostas

Olá Leonardo tudo bem com você???

A questão do "Cod_Dia" não aceitar nulo é por que se trata da chave primária, e nenhuma chave primária pode ser nula, lembra? É claro que não desejamos que existam outros campos nulos, porém, isso não "quebra" as tabelas hehe

Espero ter te ajudado! Bons estudos Leonardo =)

Olá Victor,

Com relação ao "Cod_Dia" eu entendi. O que não ficou claro para mim foi o critério de só utilizar o não nulo para outros campos que não sejam chaves primárias.

Ahh massa que entendeu o por quê da chave primária. Agora a sua segunda dúvida eu não sei se entendi. Se observar o código aqui:

CREATE TABLE [dbo].[Dim_Tempo]
(
    [Cod_Dia] NVARCHAR(50) NOT NULL PRIMARY KEY, 
    [Data] DATE NULL, 
    [Cod_Semana] INT NULL, 
    [Nome_Dia_Semana] NVARCHAR(50) NULL, 
    [Cod_Mes] INT NULL, 
    [Nome_Mes] NVARCHAR(50) NULL, 
    [Cod_Mes_Ano] NVARCHAR(50) NULL, 
    [Nome_Mes_Ano] NVARCHAR(50) NULL, 
    [Cod_Trimestre] INT NULL, 
    [Nome_Trimestre] NVARCHAR(50) NULL, 
    [Cod_Trimestre_Ano] NVARCHAR(50) NULL, 
    [Nome_Trimestre_Ano] NVARCHAR(50) NULL, 
    [Cod_Semestre] INT NULL, 
    [Nome_Semestre] NVARCHAR(50) NULL, 
    [Cod_Semestre_Ano] NVARCHAR(50) NULL, 
    [Nome_Semestre_Ano] NVARCHAR(50) NULL, 
    [Ano] NVARCHAR(50) NULL, 
    [Tipo_Dia] NVARCHAR(50) NULL
)

É possível observar que o campo permite campos nulos, mas não significa que terão. Nas aulas seguintes você irá observar que estes campos serão "carregados" com informações de períodos para análise.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software