@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-812 a edu:Knobit ;
    rdfs:label "Recognises a type meaning something else on another engine"@en ;
    dcterms:identifier "K-812" ;
    dcterms:license <https://creativecommons.org/licenses/by/4.0/> ;
    dcterms:source "Review checklist 05-ddl, row 12; ISO 9075; this skill (08-ddl.md)"@en ;
    skos:altLabel "Type that silently means something else (generated DDL)"@en ;
    skos:definition "One modelled type rendering to a different meaning per engine. `TIMESTAMP` is a row-version counter in T-SQL (emitted `DATETIME2(6)`) and 32-bit, 2038-bounded and session-time-zone-converting in MySQL (emitted `DATETIME`); `BOOLEAN` becomes `NUMBER(1)` on Oracle and `TINYINT(1)`, which accepts 42, on MySQL; Databricks collapses `VARCHAR(n)` to `STRING`."@en ;
    skos:prefLabel "Recognises a type meaning something else on another engine"@en ;
    edu:actionVerb "Recognises"@en ;
    edu:appliesKnowledge knobit:K-852 ;
    edu:assessmentCriterion "Flags the deficient case and passes the acceptable one. Deficient: `is_business_day BOOLEAN` on MySQL becomes `TINYINT(1)` with no check and a loader writes `2` for a half day. `account_number VARCHAR(20)` on Databricks accepts a 34-character value, and the joins to `fact_payment` start missing Acceptable: A check constraint for the 0/1 domain wherever the engine has no boolean, and the modelled length kept as a DQ rule on every target that does not enforce it — the header note says which ones those are"@en ;
    edu:assessmentMethod "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/aiGeneratedHumanEdited> ;
    edu:expectedResult "The type and its meaning on each engine"@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 "modelled type rendered per engine"@en ;
    schema:creativeWorkStatus "accepted" ;
    schema:isPartOf register:data-modelling .

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

knobit:K-852 rdfs:label "Explains SQL dialect differences"@en .

