@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix edu: <https://knobit.org/def/> .
@prefix knobit: <https://knobit.org/id/knobit/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@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-628 a edu:Knobit ;
    rdfs:label "Recognises a nullable foreign key on a reporting join path"@en ;
    dcterms:identifier "K-628" ;
    dcterms:license <https://creativecommons.org/licenses/by/4.0/> ;
    dcterms:source "Review checklist 04-physical, row 28; Howe; C&B (\"Problems with ER Models\"); Codd 1979 §2.3"@en ;
    owl:sameAs <https://bitbucket.org/reffa/ontology/id/knobit/data-modelling/06-physical/28> ;
    skos:altLabel "Nullable foreign key on a join path (physical model)"@en ;
    skos:definition "A nullable foreign key that reports reach through with an inner join. Rows with a null drop out of every such report without an error: the physical form of the chasm trap (logical row 25)."@en ;
    skos:prefLabel "Recognises a nullable foreign key on a reporting join path"@en ;
    edu:actionVerb "Recognises"@en ;
    edu:appliesKnowledge knobit:K-569,
        knobit:K-653 ;
    edu:assessmentCriterion "Flags the deficient case and passes the acceptable one. Deficient: `fact_account_opening.branch_key` null for accounts opened online; every report by branch loses them. `loan.collections_officer_id` null until an arrears case is assigned; loans newly in arrears are missing from the workload report Acceptable: In a dimensional model, an \"Unknown\" or \"Not applicable\" member and the foreign key `NOT NULL`; in a normalised model, the nullability kept, the reporting views using outer joins, and the logical model checked against logical row 25"@en ;
    edu:assessmentMethod "skill-tests task: Loan application physical model on Snowflake (physical design anomaly skills)"@en ;
    edu:conformsToProfile <https://oppekava.edu.ee/a/Knobitite_kirjeldamise_ja_seostamise_reeglid#LCG-KNOBIT-0.1> ;
    edu:contextFunction <https://knobit.org/def/contextFunction/resultEvaluation> ;
    edu:creationMethod <https://knobit.org/def/creationMethod/aiGeneratedHumanEdited> ;
    edu:dependsOnKnobit knobit:K-525 ;
    edu:expectedResult "The rows dropping out and the join to use"@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 "nullable foreign key joined inner"@en ;
    schema:creativeWorkStatus "accepted" ;
    schema:isPartOf register:data-modelling .

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

knobit:K-525 rdfs:label "Recognises a chasm trap"@en .

knobit:K-569 rdfs:label "Explains the connection, fan and chasm traps"@en .

knobit:K-653 rdfs:label "Explains referential integrity and referential actions"@en .

