@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix edu: <https://knobit.org/def/> .
@prefix knobit: <https://knobit.org/id/knobit/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix register: <https://knobit.org/id/register/> .
@prefix schema: <https://schema.org/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .

knobit:K-820 a edu:Knobit ;
    rdfs:label "Recognises a default inventing a business fact"@en ;
    dcterms:identifier "K-820",
        "N-208" ;
    dcterms:license <https://creativecommons.org/licenses/by/4.0/> ;
    dcterms:source "Review checklist 02-source-to-target-mapping, row 8 (DMBOK)"@en,
        "Review checklist 05-ddl, row 20; ISO 9075; Kimball 2013"@en ;
    skos:altLabel "Default that invents a business fact (generated DDL)"@en,
        "Default that invents a fact"@en ;
    skos:definition "A `DEFAULT` on a business column rather than a technical one. `CURRENT_DATE` on a value date fabricates a date when the feed omits one; `0` on an amount turns \"unknown\" into \"zero\", and the zero then sums into a total that reconciles; `'OPN'` on a status decides a business state on the loader's behalf."@en,
        "A missing value replaced by a business value."@en ;
    skos:prefLabel "Recognises a default inventing a business fact"@en ;
    edu:actionVerb "Recognises"@en ;
    edu:appliesKnowledge knobit:K-655,
        knobit:N-251 ;
    edu:assessmentCriterion "Flags the deficient case and passes the acceptable one. Deficient: MP-008 `interest_rate` default 0 Acceptable: Reject and raise"@en,
        "Flags the deficient case and passes the acceptable one. Deficient: `settled_amount DECIMAL(14,2) DEFAULT 0`: unsettled payments arrive as zero, the settlement total reconciles to the cent, and the missing settlements are invisible in exactly the figure someone reports Acceptable: `settled_amount` nullable with no default and a completeness DQ rule over the payments that should have settled. Defaults only on `created_at`/`updated_at` and on identity columns — and note the generator rejects a column that declares both `identity: true` and a `default`"@en ;
    edu:assessmentMethod "Review of the stage 2 eval project (reffa/skills, data-integration/evals)"@en,
        "skill-tests task: Generated DDL review, Postgres and Snowflake (DDL review skills)"@en ;
    edu:contextFunction <https://knobit.org/def/contextFunction/resultEvaluation> ;
    edu:creationMethod <https://knobit.org/def/creationMethod/aiGeneratedAiEdited>,
        <https://knobit.org/def/creationMethod/aiGeneratedHumanEdited> ;
    edu:dependsOnKnobit knobit:K-629 ;
    edu:expectedResult "The default and the null or rule replacing it"@en,
        "The default removed and the owner asked"@en ;
    edu:graphRelevance <https://knobit.org/def/graphRelevance/learnerState>,
        <https://knobit.org/def/graphRelevance/taskSelection> ;
    edu:knobitType <https://knobit.org/def/knobitType/skill> ;
    edu:targetObject "DEFAULT on a business column"@en,
        "missing value replaced by a business value"@en ;
    schema:creativeWorkStatus "accepted" ;
    schema:isPartOf register:data-integration,
        register:data-modelling .

edu:Knobit rdfs:label "Knobit"@en,
        "Knobit"@et .

knobit:K-629 rdfs:label "Recognises a sentinel value standing in for null"@en .

knobit:K-655 rdfs:label "Explains null semantics and three-valued logic"@en .

knobit:N-251 rdfs:label "Explains the source-to-target mapping contract"@en .

