@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-604 a edu:Knobit ;
    rdfs:label "Recognises a lossy or unconstrained vertical split"@en ;
    dcterms:identifier "K-604" ;
    dcterms:license <https://creativecommons.org/licenses/by/4.0/> ;
    dcterms:source "Review checklist 04-physical, row 4; Heath 1971; Rissanen 1977; S&W 12.6; E&N 17.7"@en ;
    owl:sameAs <https://bitbucket.org/reffa/ontology/id/knobit/data-modelling/06-physical/04> ;
    skos:altLabel "Lossy or unconstrained vertical split (physical model)"@en ;
    skos:definition "One entity split into two tables for width or access, where the tables do not share the key, or the one-to-one relationship between them is not enforced. Joining back produces rows that never existed, or one row gets two extensions. A dependency spanning both parts has no key to enforce it."@en ;
    skos:prefLabel "Recognises a lossy or unconstrained vertical split"@en ;
    edu:actionVerb "Recognises"@en ;
    edu:appliesKnowledge knobit:K-660 ;
    edu:assessmentCriterion "Flags the deficient case and passes the acceptable one. Deficient: `account` and `account_interest_terms`, the second with its own surrogate and joined on the product code: two accounts on one product give four rows. Or `account_interest_terms.account_id` with an FK but no unique constraint Acceptable: Both tables keyed on `account_id`; in the extension the primary key is also the foreign key, so one-to-one is enforced; whether the extension is optional is stated"@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-514 ;
    edu:expectedResult "The split and its missing key or constraint"@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 "table split without shared key or enforced one-to-one"@en ;
    schema:creativeWorkStatus "accepted" ;
    schema:isPartOf register:data-modelling .

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

knobit:K-514 rdfs:label "Recognises a lossy decomposition"@en .

knobit:K-660 rdfs:label "Explains vertical and horizontal partitioning of tables"@en .

