@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-607 a edu:Knobit ;
    rdfs:label "Recognises rolled-down subtypes losing supertype constraints"@en ;
    dcterms:identifier "K-607" ;
    dcterms:license <https://creativecommons.org/licenses/by/4.0/> ;
    dcterms:source "Review checklist 04-physical, row 7; E&N 9.2; S&W 11.3"@en ;
    owl:sameAs <https://bitbucket.org/reffa/ontology/id/knobit/data-modelling/06-physical/07> ;
    skos:altLabel "Subtypes rolled down, supertype constraints lost (physical model)"@en ;
    skos:definition "One table per subtype and none for the supertype. Uniqueness across subtypes cannot be declared, nothing stops one instance appearing in two subtype tables, and a relationship to the supertype has no single table to reference, so it becomes a polymorphic association (logical row 22)."@en ;
    skos:prefLabel "Recognises rolled-down subtypes losing supertype constraints"@en ;
    edu:actionVerb "Recognises"@en ;
    edu:appliesKnowledge knobit:K-652 ;
    edu:assessmentCriterion "Flags the deficient case and passes the acceptable one. Deficient: `person` and `organisation`, no `party`; `account_holder.party_id` cannot have a foreign key; nothing stops one id being used in both tables Acceptable: A `party` table with the shared key; `person` and `organisation` keyed by `party_id` with an FK to it; exclusivity enforced by carrying the discriminator into each subtype's key, or by a DQ rule"@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-519 ;
    edu:expectedResult "The lost cross-subtype uniqueness and supertype reference"@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 "one table per subtype"@en ;
    schema:creativeWorkStatus "accepted" ;
    schema:isPartOf register:data-modelling .

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

knobit:K-519 rdfs:label "Recognises undeclared subtype constraints"@en .

knobit:K-652 rdfs:label "Explains the implementation options for subtypes"@en .

