@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#> .

<https://knobit.org/id/register/data-modelling#DM-1> a edu:LearningOutcome ;
    rdfs:label "Business drivers for data modelling"@en ;
    dcterms:description "Why organisations model data - a common vocabulary, retained knowledge about data and systems, and formal structures for building and integrating systems."@en ;
    dcterms:identifier "DM-1" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 1.1"@en ;
    skos:notation "1.1" ;
    edu:includesKnobit knobit:K-901 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-10> a edu:LearningOutcome ;
    rdfs:label "Dimensional modelling scheme"@en ;
    dcterms:description "Fact and dimension tables, grain, star and snowflake schemas, conformed dimensions and facts."@en ;
    dcterms:identifier "DM-10" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 1.3.4.2"@en ;
    skos:notation "1.3.4.2" ;
    edu:includesKnobit knobit:K-659,
        knobit:K-671,
        knobit:K-905 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-11> a edu:LearningOutcome ;
    rdfs:label "Object-oriented modelling scheme (UML)"@en ;
    dcterms:description "UML class diagrams as a data modelling scheme and how they differ from entity-relationship models."@en ;
    dcterms:identifier "DM-11" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 1.3.4.3"@en ;
    skos:notation "1.3.4.3" ;
    edu:includesKnobit knobit:K-581,
        knobit:K-906 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-12> a edu:LearningOutcome ;
    rdfs:label "Fact-based modelling scheme"@en ;
    dcterms:description "Object Role Modeling and Fully Communication Oriented Information Modeling, which model facts rather than entities and attributes."@en ;
    dcterms:identifier "DM-12" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 1.3.4.4"@en ;
    skos:notation "1.3.4.4" ;
    edu:includesKnobit knobit:K-351,
        knobit:K-582,
        knobit:K-907 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-13> a edu:LearningOutcome ;
    rdfs:label "Time-based modelling schemes"@en ;
    dcterms:description "Data Vault (hubs, links, satellites) and Anchor Modeling, which keep history by design."@en ;
    dcterms:identifier "DM-13" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 1.3.4.5"@en ;
    skos:notation "1.3.4.5" ;
    edu:includesKnobit knobit:K-672,
        knobit:K-908 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-14> a edu:LearningOutcome ;
    rdfs:label "NoSQL modelling schemes"@en ;
    dcterms:description "Document, column-family, graph and key-value stores, and how modelling for them differs."@en ;
    dcterms:identifier "DM-14" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 1.3.4.6"@en ;
    skos:notation "1.3.4.6" ;
    edu:includesKnobit knobit:K-673,
        knobit:K-909 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-15> a edu:LearningOutcome ;
    rdfs:label "Conceptual data model"@en ;
    dcterms:description "High-level concepts and their relationships, in the business's terms, independent of technology."@en ;
    dcterms:identifier "DM-15" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 1.3.5.1"@en ;
    skos:notation "1.3.5.1" ;
    edu:includesKnobit knobit:K-253,
        knobit:K-422,
        knobit:K-451,
        knobit:K-570 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-16> a edu:LearningOutcome ;
    rdfs:label "Logical data model"@en ;
    dcterms:description "Entities, attributes, keys and relationships in detail, normalised, independent of a platform."@en ;
    dcterms:identifier "DM-16" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 1.3.5.2"@en ;
    skos:notation "1.3.5.2" ;
    edu:includesKnobit knobit:K-532,
        knobit:K-551,
        knobit:K-552,
        knobit:K-556,
        knobit:K-562,
        knobit:K-567 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-17> a edu:LearningOutcome ;
    rdfs:label "Physical data model"@en ;
    dcterms:description "The design for a particular platform - tables, columns, types, keys, constraints and indexes."@en ;
    dcterms:identifier "DM-17" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 1.3.5.3"@en ;
    skos:notation "1.3.5.3" ;
    edu:includesKnobit knobit:K-617,
        knobit:K-652,
        knobit:K-653,
        knobit:K-654,
        knobit:K-657 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-18> a edu:LearningOutcome ;
    rdfs:label "Canonical model"@en ;
    dcterms:description "A shared model of data exchanged between systems, independent of each system's own model."@en ;
    dcterms:identifier "DM-18" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 1.3.5.4"@en ;
    skos:notation "1.3.5.4" ;
    edu:includesKnobit knobit:K-583,
        knobit:K-910 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-19> a edu:LearningOutcome ;
    rdfs:label "Views"@en ;
    dcterms:description "Virtual tables that simplify queries, restrict access or present data without storing it again."@en ;
    dcterms:identifier "DM-19" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 1.3.5.5"@en ;
    skos:notation "1.3.5.5" ;
    edu:includesKnobit knobit:K-674,
        knobit:K-911 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-2> a edu:LearningOutcome ;
    rdfs:label "Goals and principles of data modelling"@en ;
    dcterms:description "Formalising data requirements, defining scope, and retaining knowledge, as the goals a data model serves."@en ;
    dcterms:identifier "DM-2" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 1.2"@en ;
    skos:notation "1.2" ;
    edu:includesKnobit knobit:K-901 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-20> a edu:LearningOutcome ;
    rdfs:label "Partitioning"@en ;
    dcterms:description "Splitting tables vertically or horizontally, for performance or management."@en ;
    dcterms:identifier "DM-20" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 1.3.5.6"@en ;
    skos:notation "1.3.5.6" ;
    edu:includesKnobit knobit:K-660 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-21> a edu:LearningOutcome ;
    rdfs:label "Denormalisation"@en ;
    dcterms:description "Deliberately reintroducing redundancy for performance, kept consistent by a stated mechanism."@en ;
    dcterms:identifier "DM-21" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 1.3.5.7"@en ;
    skos:notation "1.3.5.7" ;
    edu:includesKnobit knobit:K-565,
        knobit:K-601,
        knobit:K-651 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-22> a edu:LearningOutcome ;
    rdfs:label "Normalisation"@en ;
    dcterms:description "The normal forms from first to sixth, Boyce-Codd and domain-key, and the anomalies they remove."@en ;
    dcterms:identifier "DM-22" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 1.3.6"@en ;
    skos:notation "1.3.6" ;
    edu:includesKnobit knobit:K-553,
        knobit:K-554,
        knobit:K-555,
        knobit:K-556,
        knobit:K-557,
        knobit:K-558,
        knobit:K-559,
        knobit:K-560,
        knobit:K-561 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-23> a edu:LearningOutcome ;
    rdfs:label "Abstraction"@en ;
    dcterms:description "Generalisation and specialisation, supertypes and subtypes, and choosing a level of abstraction."@en ;
    dcterms:identifier "DM-23" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 1.3.7"@en ;
    skos:notation "1.3.7" ;
    edu:includesKnobit knobit:K-451,
        knobit:K-566,
        knobit:K-652 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-24> a edu:LearningOutcome ;
    rdfs:label "Plan for data modelling"@en ;
    dcterms:description "Scope, standards and schedule of modelling work, and its deliverables - diagram, definitions, issues and open questions, lineage."@en ;
    dcterms:identifier "DM-24" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 2.1"@en ;
    skos:notation "2.1" ;
    edu:includesKnobit knobit:K-001,
        knobit:K-004,
        knobit:K-031,
        knobit:K-119,
        knobit:K-130,
        knobit:K-912 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-25> a edu:LearningOutcome ;
    rdfs:label "Forward engineering - conceptual data modelling"@en ;
    dcterms:description "Choosing a scheme and notation, collecting the highest-level concepts and activities, incorporating enterprise terminology, obtaining sign-off."@en ;
    dcterms:identifier "DM-25" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 2.2.1.1"@en ;
    skos:notation "2.2.1.1" ;
    edu:includesKnobit knobit:K-032,
        knobit:K-422,
        knobit:K-456,
        knobit:K-913 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-26> a edu:LearningOutcome ;
    rdfs:label "Forward engineering - logical data modelling"@en ;
    dcterms:description "Analysing information requirements and existing documentation, adding associative entities and attributes, assigning domains and keys."@en ;
    dcterms:identifier "DM-26" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 2.2.1.2"@en ;
    skos:notation "2.2.1.2" ;
    edu:includesKnobit knobit:K-151,
        knobit:K-532,
        knobit:K-534,
        knobit:K-562,
        knobit:K-568 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-27> a edu:LearningOutcome ;
    rdfs:label "Forward engineering - physical data modelling"@en ;
    dcterms:description "Resolving logical abstractions, adding attribute details and reference data objects, assigning surrogate keys, denormalising, indexing and partitioning for performance, creating views."@en ;
    dcterms:identifier "DM-27" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 2.2.1.3"@en ;
    skos:notation "2.2.1.3" ;
    edu:includesKnobit knobit:K-610,
        knobit:K-617,
        knobit:K-651,
        knobit:K-652,
        knobit:K-656,
        knobit:K-657,
        knobit:K-660,
        knobit:K-911 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-28> a edu:LearningOutcome ;
    rdfs:label "Reverse engineering"@en ;
    dcterms:description "Recovering a data model from an existing database, and forward engineering a model into DDL."@en ;
    dcterms:identifier "DM-28" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 2.2.2"@en ;
    skos:notation "2.2.2" ;
    edu:includesKnobit knobit:K-1101,
        knobit:K-1102,
        knobit:K-1103,
        knobit:K-1104,
        knobit:K-1105,
        knobit:K-1106,
        knobit:K-1131,
        knobit:K-914 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-29> a edu:LearningOutcome ;
    rdfs:label "Review the data models"@en ;
    dcterms:description "Reviewing models with peers and stakeholders against criteria, and improving them continuously."@en ;
    dcterms:identifier "DM-29" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 2.3"@en ;
    skos:notation "2.3" ;
    edu:includesKnobit knobit:K-1001,
        knobit:K-1002,
        knobit:K-1004,
        knobit:K-1006,
        knobit:K-1031,
        knobit:K-531,
        knobit:K-915 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-3> a edu:LearningOutcome ;
    rdfs:label "Data modelling and data models"@en ;
    dcterms:description "What a data model is - symbols and text representing data as the organisation understands it or wants it to be - and its role as documentation and as a communication tool."@en ;
    dcterms:identifier "DM-3" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 1.3.1"@en ;
    skos:notation "1.3.1" ;
    edu:includesKnobit knobit:K-901 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-30> a edu:LearningOutcome ;
    rdfs:label "Maintain the data models"@en ;
    dcterms:description "Keeping models current as requirements and implementations change, including their lineage."@en ;
    dcterms:identifier "DM-30" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 2.4"@en ;
    skos:notation "2.4" ;
    edu:includesKnobit knobit:K-1201,
        knobit:K-1202,
        knobit:K-1204,
        knobit:K-1231,
        knobit:K-802,
        knobit:K-826,
        knobit:K-916 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-31> a edu:LearningOutcome ;
    rdfs:label "Data modelling tools"@en ;
    dcterms:description "Tools that draw models, hold their definitions, and forward and reverse engineer databases."@en ;
    dcterms:identifier "DM-31" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 3.1"@en ;
    skos:notation "3.1" ;
    edu:includesKnobit knobit:K-034,
        knobit:K-914,
        knobit:K-917 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-32> a edu:LearningOutcome ;
    rdfs:label "Lineage tools"@en ;
    dcterms:description "Tools that capture where data comes from and how it is transformed."@en ;
    dcterms:identifier "DM-32" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 3.2"@en ;
    skos:notation "3.2" ;
    edu:includesKnobit knobit:K-917 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-33> a edu:LearningOutcome ;
    rdfs:label "Data profiling tools"@en ;
    dcterms:description "Tools that examine existing data to discover its actual structure, values and rules."@en ;
    dcterms:identifier "DM-33" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 3.3"@en ;
    skos:notation "3.3" ;
    edu:includesKnobit knobit:K-917 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-34> a edu:LearningOutcome ;
    rdfs:label "Metadata repositories"@en ;
    dcterms:description "Repositories that hold models and their definitions for reuse and impact analysis."@en ;
    dcterms:identifier "DM-34" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 3.4"@en ;
    skos:notation "3.4" ;
    edu:includesKnobit knobit:K-034,
        knobit:K-917 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-35> a edu:LearningOutcome ;
    rdfs:label "Data model patterns"@en ;
    dcterms:description "Reusable structures for recurring problems, such as party and role."@en ;
    dcterms:identifier "DM-35" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 3.5"@en ;
    skos:notation "3.5" ;
    edu:includesKnobit knobit:K-421,
        knobit:K-918 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-36> a edu:LearningOutcome ;
    rdfs:label "Industry data models"@en ;
    dcterms:description "Prebuilt models for an industry, used as a starting point and adapted rather than adopted whole."@en ;
    dcterms:identifier "DM-36" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 3.6"@en ;
    skos:notation "3.6" ;
    edu:includesKnobit knobit:K-458,
        knobit:K-918 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-37> a edu:LearningOutcome ;
    rdfs:label "Best practices in naming conventions"@en ;
    dcterms:description "Consistent names for model objects, built from standard parts, with agreed abbreviations."@en ;
    dcterms:identifier "DM-37" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 4.1"@en ;
    skos:notation "4.1" ;
    edu:includesKnobit knobit:K-919 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-38> a edu:LearningOutcome ;
    rdfs:label "Best practices in database design"@en ;
    dcterms:description "Designing for performance and ease of use, reusability, integrity, security and maintainability."@en ;
    dcterms:identifier "DM-38" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 4.2"@en ;
    skos:notation "4.2" ;
    edu:includesKnobit knobit:K-033,
        knobit:K-653,
        knobit:K-657,
        knobit:K-856,
        knobit:K-920 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-39> a edu:LearningOutcome ;
    rdfs:label "Develop data modelling and design standards"@en ;
    dcterms:description "Standards for naming, notation, definitions, deliverables and review, and how they are kept."@en ;
    dcterms:identifier "DM-39" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 5.1.1"@en ;
    skos:notation "5.1.1" ;
    edu:includesKnobit knobit:K-002,
        knobit:K-033,
        knobit:K-919,
        knobit:K-921 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-4> a edu:LearningOutcome ;
    rdfs:label "Types of data that are modelled"@en ;
    dcterms:description "Category, resource, business event and detail transaction data."@en ;
    dcterms:identifier "DM-4" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 1.3.2"@en ;
    skos:notation "1.3.2" ;
    edu:includesKnobit knobit:K-902 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-40> a edu:LearningOutcome ;
    rdfs:label "Review data model and database design quality"@en ;
    dcterms:description "Formal review of models and designs against the standards and requirements."@en ;
    dcterms:identifier "DM-40" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 5.1.2"@en ;
    skos:notation "5.1.2" ;
    edu:includesKnobit knobit:K-1003,
        knobit:K-1005,
        knobit:K-1031,
        knobit:K-915 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-41> a edu:LearningOutcome ;
    rdfs:label "Manage data model versioning and integration"@en ;
    dcterms:description "Versioning models, recording changes, and integrating models from several sources."@en ;
    dcterms:identifier "DM-41" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 5.1.3"@en ;
    skos:notation "5.1.3" ;
    edu:includesKnobit knobit:K-1007,
        knobit:K-1203,
        knobit:K-1205,
        knobit:K-1206,
        knobit:K-1231,
        knobit:K-826,
        knobit:K-916 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-42> a edu:LearningOutcome ;
    rdfs:label "Data modelling metrics"@en ;
    dcterms:description "Measuring model quality, notably with the Data Model Scorecard and its categories."@en ;
    dcterms:identifier "DM-42" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 5.2"@en ;
    skos:notation "5.2" ;
    edu:includesKnobit knobit:K-1031,
        knobit:K-915 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-5> a edu:LearningOutcome ;
    rdfs:label "Entity"@en ;
    dcterms:description "The thing about which data is kept; its aliases across schemes, its graphic representation and its definition."@en ;
    dcterms:identifier "DM-5" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 1.3.3.1"@en ;
    skos:notation "1.3.3.1" ;
    edu:includesKnobit knobit:K-251,
        knobit:K-570,
        knobit:K-903 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-6> a edu:LearningOutcome ;
    rdfs:label "Relationship"@en ;
    dcterms:description "Associations between entities; their aliases and notation, cardinality and optionality, arity (unary, binary, ternary) and foreign keys."@en ;
    dcterms:identifier "DM-6" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 1.3.3.2"@en ;
    skos:notation "1.3.3.2" ;
    edu:includesKnobit knobit:K-559,
        knobit:K-567,
        knobit:K-653,
        knobit:K-903 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-7> a edu:LearningOutcome ;
    rdfs:label "Attribute and identifiers"@en ;
    dcterms:description "Properties of an entity; keys by construction (simple, compound, composite, surrogate) and by function (super, candidate, primary, alternate); identifying and non-identifying relationships."@en ;
    dcterms:identifier "DM-7" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 1.3.3.3"@en ;
    skos:notation "1.3.3.3" ;
    edu:includesKnobit knobit:K-552,
        knobit:K-568,
        knobit:K-904 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-8> a edu:LearningOutcome ;
    rdfs:label "Domain"@en ;
    dcterms:description "The set of values an attribute may take, defined by data type, format, list, range or rule."@en ;
    dcterms:identifier "DM-8" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 1.3.3.4"@en ;
    skos:notation "1.3.3.4" ;
    edu:includesKnobit knobit:K-562 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#DM-9> a edu:LearningOutcome ;
    rdfs:label "Relational modelling scheme"@en ;
    dcterms:description "Relations, keys and normalisation as a modelling scheme, and its notations."@en ;
    dcterms:identifier "DM-9" ;
    dcterms:source "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design, 1.3.4.1"@en ;
    skos:notation "1.3.4.1" ;
    edu:includesKnobit knobit:K-551,
        knobit:K-552,
        knobit:K-903 ;
    schema:isPartOf <https://knobit.org/id/register/data-modelling#REF-1> .

<https://knobit.org/id/register/data-modelling#I-1001> a edu:Question ;
    rdfs:label "dm-knowledge-requirements Q1: singular and unambiguous data requirement statements"@en ;
    dcterms:identifier "I-1001" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-151 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-requirements/Q1> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "In ISO/IEC/IEEE 29148 terms, what do the qualities 'singular' and 'unambiguous' require of a data requirement statement in a retail bank's requirements register? (a) It is one sentence long, and it uses only words already defined in the glossary; (b) It names one target table, and each value it mentions has an agreed datatype; (c) It comes from one stakeholder, and that stakeholder has confirmed its exact wording; (d) It makes one testable claim, and every reader takes it to mean the same single thing"@en .

<https://knobit.org/id/register/data-modelling#I-1002> a edu:Question ;
    rdfs:label "dm-knowledge-requirements Q2: business requirement versus design solution"@en ;
    dcterms:identifier "I-1002" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-152 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-requirements/Q2> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "A product owner asks: 'Add a column OVERDRAFT_FLAG CHAR(1) to the ACCOUNT table.' Which restatement records this as a business data requirement rather than a design solution? (a) The overdraft flag must be stored as a one-character code on every account row.; (b) The account maintenance screen must show an overdraft field for each account.; (c) The ACCOUNT table must hold an overdraft indicator taking the values Y and N.; (d) The bank must know, for each current account, whether an arranged overdraft is in place."@en .

<https://knobit.org/id/register/data-modelling#I-1003> a edu:Question ;
    rdfs:label "dm-knowledge-requirements Q3: requirement type of a load timeliness expectation"@en ;
    dcterms:identifier "I-1003" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-153 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-requirements/Q3> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "A stakeholder states: 'The card transaction feed is loaded within one working day of the source extract, for at least 99% of rows.' Which requirement type does it take in the register, and where is it picked up later? (a) lineage; it is recorded as the source and arrival frequency of the card transaction data; (b) data-quality; it becomes a timeliness check at data-quality stage 3 citing the requirement; (c) data-rule; it is formalised as an SBVR fact type and rule statement at data-quality stage 2; (d) volume; it is used to size the card transaction table and its growth in the physical model"@en .

<https://knobit.org/id/register/data-modelling#I-1004> a edu:Question ;
    rdfs:label "dm-knowledge-requirements Q4: purpose of requirement attributes and trace"@en ;
    dcterms:identifier "I-1004" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-154 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-requirements/Q4> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "Which pairing of a requirement attribute in a data requirements register with its purpose is correct? (a) Status: records how important the requirement is, so delivery can be ordered under pressure; (b) Trace: links the requirement to the terms and columns that realise it, so an unbuilt need shows; (c) Priority: records whether the steward has signed off, so the requirement may be built; (d) Rationale: names the stakeholder who supplied the requirement, so questions reach the right person"@en .

<https://knobit.org/id/register/data-modelling#I-1005> a edu:Question ;
    rdfs:label "dm-knowledge-requirements Q5: point-in-time reproducibility of a published report"@en ;
    dcterms:identifier "I-1005" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-155 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-requirements/Q5> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "A bank must be able to re-run last quarter's regulatory arrears report on its loan book and obtain exactly the figures it submitted, even after loan data has since been corrected with back-dated changes. Which temporal need does this express? (a) An audit trail only, which last-updated timestamp and user columns on each loan provide; (b) Past values only, which valid-from and valid-to dates on each loan version fully satisfy; (c) Reproducing a past report exactly, which needs values both as they were valid and as they were recorded; (d) Current values only, since the report can be recomputed from today's corrected loan data"@en .

<https://knobit.org/id/register/data-modelling#I-1006> a edu:Question ;
    rdfs:label "dm-knowledge-requirements Q6: identity of a business thing such as a debit card"@en ;
    dcterms:identifier "I-1006" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-156 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-requirements/Q6> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "When capturing data requirements for debit cards, which set of questions establishes how the business identifies a card? (a) When the card was issued, when it expires, and which statuses it passes through in its life; (b) Which system generates the card table's key, and what datatype and length the key column has; (c) How one card is told from another, who assigns that identifier, and whether it can change or be reused; (d) Which customer holds the card, which account it draws on, and which branch issued it"@en .

<https://knobit.org/id/register/data-modelling#I-1007> a edu:Question ;
    rdfs:label "dm-knowledge-requirements Q7: retention among the non-functional data concerns"@en ;
    dcterms:identifier "I-1007" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-157 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-requirements/Q7> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "Which of these statements is a retention requirement, as distinct from a volume, sensitivity or lineage requirement? (a) Savings account records are expected to grow from two to three million within three years.; (b) Closed savings account records are kept for eight years after closure and then anonymised.; (c) Savings account balances are confidential and visible only to holders and servicing staff.; (d) Savings account data arrives daily from the core banking system, owned by the deposits unit."@en .

<https://knobit.org/id/register/data-modelling#I-1008> a edu:Question ;
    rdfs:label "dm-knowledge-requirements Q8: questions a data requirements register must serve"@en ;
    dcterms:identifier "I-1008" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-158 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-requirements/Q8> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "Why does good practice ask a loan requirements register to state the questions the data must answer, such as 'As of a given date, how many loans were more than 90 days in arrears?' (a) A stated question fixes the report layout, so the physical tables can be designed around it early; (b) A stated question forces out grain, measures and temporality, and shows which requirements are unneeded; (c) A stated question replaces the need to record the events that happen to loans during their life; (d) A stated question sets the scope boundary, so overlapping systems need not be listed separately"@en .

<https://knobit.org/id/register/data-modelling#I-1009> a edu:Question ;
    rdfs:label "dm-knowledge-requirements Q9: and-or ambiguity in a requirement statement"@en ;
    dcterms:identifier "I-1009" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-159 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-requirements/Q9> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "A requirement reads: 'A standing order is cancelled when the account is closed or the customer requests cancellation and no payment is pending.' Why does it have more than one reading? (a) The statement does not say who is notified when the standing order is cancelled by the bank; (b) The statement makes two claims, the cancellation and the check that no payment is pending; (c) The and-or clause has no stated grouping, so 'no payment is pending' may qualify one or both conditions; (d) 'Standing order' is a business term, and any business term is ambiguous until it is defined"@en .

<https://knobit.org/id/register/data-modelling#I-101> a edu:Question ;
    rdfs:label "data-requirements C1a: identity gap named"@en ;
    dcterms:identifier "I-101" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-127 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/data-requirements/C1> .

<https://knobit.org/id/register/data-modelling#I-1010> a edu:Question ;
    rdfs:label "dm-knowledge-requirements Q10: persistent identifier of a superseded requirement"@en ;
    dcterms:identifier "I-1010" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-160 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-requirements/Q10> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "Requirement DR-014, cited in a signed-off loan origination specification, has been superseded by DR-031. What does the principle of persistent identifiers require for DR-014? (a) It is overwritten with the text of DR-031, and both identifiers then share that text; (b) It is deleted, and its identifier is freed so the next captured requirement can use it; (c) It stays in the register under its identifier, marked retired, and points to DR-031; (d) It is deleted, and DR-031 is renumbered DR-014 so that existing citations still resolve"@en .

<https://knobit.org/id/register/data-modelling#I-1011> a edu:Question ;
    rdfs:label "dm-knowledge-requirements Q11: what makes a data quality requirement verifiable"@en ;
    dcterms:identifier "I-1011" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-161 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-requirements/Q11> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "A requirement reads: 'Customer postal addresses must be accurate.' What must be added to make it verifiable, so that a test could pass or fail it? (a) A named enforcement mechanism, such as a CHECK constraint on the postcode column of the address table; (b) A measure, a reference to compare against and a threshold, such as a 98% match to the national address register; (c) A named owner, a priority and a document locator for the stakeholder statement it was taken from; (d) Glossary definitions of 'customer' and 'postal address', with the synonyms the business uses for each"@en .

<https://knobit.org/id/register/data-modelling#I-1012> a edu:Question ;
    rdfs:label "dm-knowledge-requirements Q12: conflicting requirements in a register"@en ;
    dcterms:identifier "I-1012" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-162 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-requirements/Q12> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "In a card register, DR-040 says 'A credit card has exactly one primary cardholder' and DR-057 says 'A credit card may have two primary cardholders.' They cannot both be met. What usually explains such a conflict, and what should be done? (a) Different priorities; keep whichever requirement is a must and drop the one that is a should; (b) An error in one statement; keep the more recently captured requirement and delete the older one; (c) Two stakeholders paraphrasing one need; retire one requirement and point it to the other one; (d) A missing condition or scope, such as card product; ask the stakeholders and state the condition in each"@en .

<https://knobit.org/id/register/data-modelling#I-1013> a edu:Question ;
    rdfs:label "dm-knowledge-conceptual Q1: intensional definition of savings account"@en ;
    dcterms:identifier "I-1013" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-251 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-conceptual/Q1> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "Which definition of 'savings account' is an intensional definition in the ISO 704 sense? (a) An account such as an instant-access saver, a fixed-term deposit or a children's savings account; (b) A deposit account that pays interest on its balance and restricts how often funds may be withdrawn; (c) An account in the core banking system whose product code lies between SAV-100 and SAV-199; (d) Something a customer opens in order to put money aside, rather than to make daily payments"@en .

<https://knobit.org/id/register/data-modelling#I-1014> a edu:Question ;
    rdfs:label "dm-knowledge-conceptual Q2: generic versus partitive concept relations"@en ;
    dcterms:identifier "I-1014" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-253 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-conceptual/Q2> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "Which pair of banking concepts stands in a generic (kind-of) relation, rather than a partitive (part-of) or other relation? (a) Check digits of an IBAN and the IBAN itself; (b) Repayment instalment and repayment schedule; (c) Residential mortgage loan and secured loan; (d) Loan and the collateral securing it"@en .

<https://knobit.org/id/register/data-modelling#I-1015> a edu:Question ;
    rdfs:label "dm-knowledge-conceptual Q3: SBVR fact type and rule statement"@en ;
    dcterms:identifier "I-1015" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-351 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-conceptual/Q3> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "In SBVR, how does the fact type 'customer holds account' relate to the rule statement 'It is obligatory that each current account is held by at least one customer'? (a) The fact type relates glossary terms; the rule statement constrains that fact type; (b) The fact type is a draft rule; the rule statement replaces it once a steward approves it; (c) The fact type defines the term account; the rule statement defines the term customer; (d) The fact type is the relationship; the rule statement is the foreign key implementing it"@en .

<https://knobit.org/id/register/data-modelling#I-1016> a edu:Question ;
    rdfs:label "dm-knowledge-conceptual Q4: data rules in Witt's business rule classification"@en ;
    dcterms:identifier "I-1016" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-355 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-conceptual/Q4> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "Under Witt's classification of business rules, which of these is a data rule, and so belongs in the data model or its data quality checks? (a) A payment over 15 000 EUR must be approved by a second staff member before it is released.; (b) A loan's outstanding principal equals the disbursed amount less the principal repaid to date.; (c) Only a branch manager may waive the early repayment fee on a fixed-rate consumer loan.; (d) A customer complaint must be answered within fifteen business days of the day it arrives."@en .

<https://knobit.org/id/register/data-modelling#I-1017> a edu:Question ;
    rdfs:label "dm-knowledge-conceptual Q5: rule enforcement on a platform that does not enforce keys"@en ;
    dcterms:identifier "I-1017" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-356 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-conceptual/Q5> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "The rule 'no two accounts share an IBAN' is to be enforced by a unique constraint, and the target platform is Snowflake. What follows? (a) Snowflake enforces the unique constraint at load time, so no further check is required; (b) Snowflake rejects unique constraint syntax, so the rule must move into the loading job; (c) Snowflake records the unique constraint but does not enforce it, so a data quality check must; (d) Snowflake enforces the constraint only on rows inserted after it has been declared"@en .

<https://knobit.org/id/register/data-modelling#I-1018> a edu:Question ;
    rdfs:label "dm-knowledge-conceptual Q6: all-and-some test for a hierarchical link"@en ;
    dcterms:identifier "I-1018" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-451 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-conceptual/Q6> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "A lending taxonomy places 'Fixed-rate mortgage' under 'Mortgage'. What does the all-and-some test check for this link? (a) That all fixed-rate mortgages in the current portfolio are held by some customer of the bank; (b) That every fixed-rate mortgage is always a mortgage in every context, while only some mortgages are fixed-rate; (c) That every mortgage has some fixed-rate period, and all mortgages share one product code; (d) That all mortgages and some fixed-rate mortgages share the same set of attributes in the data model"@en .

<https://knobit.org/id/register/data-modelling#I-1019> a edu:Question ;
    rdfs:label "dm-knowledge-conceptual Q7: history note for a changed node meaning"@en ;
    dcterms:identifier "I-1019" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-452 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-conceptual/Q7> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "In a taxonomy of account closure reasons, the node 'Dormancy closure' was widened in 2025 to cover accounts unused for two years instead of five. Which note should record this, and why? (a) No note; the definition is updated, since the earlier meaning no longer applies to new closures; (b) A scope note stating what now belongs under the node, so that staff apply the new boundary; (c) A history note stating when and how the meaning changed, so data before and after is not compared as like; (d) A new sibling node instead, since a changed meaning always needs a new node and identifier"@en .

<https://knobit.org/id/register/data-modelling#I-102> a edu:Question ;
    rdfs:label "data-requirements C1b: access gap named"@en ;
    dcterms:identifier "I-102" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-129 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/data-requirements/C1> .

<https://knobit.org/id/register/data-modelling#I-1020> a edu:Question ;
    rdfs:label "dm-knowledge-conceptual Q8: warrant for a proposed vocabulary node"@en ;
    dcterms:identifier "I-1020" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-453 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-conceptual/Q8> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "A node 'Crypto savings account' is proposed for the bank's account type taxonomy. It appears in no source document, no staff or customers use the term, and no policy requires it. What follows in terms of warrant? (a) It has no literary, user or organisational warrant, so nobody can confirm its meaning and it is not added; (b) It has organisational warrant, since the taxonomy owner proposed it on the bank's behalf; (c) It has user warrant, since customers could start to use the term once a product launches; (d) Warrant concerns only the label form, so the node may be added if its label is a noun phrase"@en .

<https://knobit.org/id/register/data-modelling#I-1021> a edu:Question ;
    rdfs:label "dm-knowledge-conceptual Q9: label form conventions for card type labels"@en ;
    dcterms:identifier "I-1021" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-454 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-conceptual/Q9> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "Which set of sibling labels in a card type taxonomy follows the label form conventions for controlled vocabularies? (a) Debit card; Credit; Issue prepaid card; (b) Debit card; Credit card; CARD_PREPAID; (c) Debit card; Credit card; Prepaid card; (d) Debit cards; Credit card; Prepaid card"@en .

<https://knobit.org/id/register/data-modelling#I-1022> a edu:Question ;
    rdfs:label "dm-knowledge-conceptual Q10: one characteristic of division per sibling array"@en ;
    dcterms:identifier "I-1022" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-455 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-conceptual/Q10> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "Under 'Loan', a taxonomy has the siblings 'Secured loan', 'Unsecured loan', 'Fixed-rate loan' and 'Variable-rate loan'. What does the principle of one characteristic of division per array call for? (a) Two new concepts, 'Loan security' and 'Loan rate type', placed as subtypes of the concept 'Loan'; (b) No change, since all four siblings pass the all-and-some test against their parent 'Loan'; (c) Four compound nodes such as 'Secured fixed-rate loan', one for each combination of the two; (d) Two arrays, each under a node label naming its characteristic, such as 'by security' and 'by rate type'"@en .

<https://knobit.org/id/register/data-modelling#I-1023> a edu:Question ;
    rdfs:label "dm-knowledge-conceptual Q11: equivalence relation and preferred term"@en ;
    dcterms:identifier "I-1023" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-456 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-conceptual/Q11> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "Staff in different teams call the same thing a 'standing order', a 'recurring transfer' and an 'SO'. How should a controlled vocabulary treat these? (a) As one concept whose label joins all three names, so that every team finds its own word; (b) As three sibling nodes under 'Payment instruction', each with a scope note pointing to the others; (c) As one concept under one preferred term, with the other two recorded as non-preferred equivalents; (d) As three concepts linked by associative relations, since each team uses its own name for it"@en .

<https://knobit.org/id/register/data-modelling#I-1024> a edu:Question ;
    rdfs:label "dm-knowledge-conceptual Q12: associative relation between lending concepts"@en ;
    dcterms:identifier "I-1024" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-457 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-conceptual/Q12> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "Which pair of lending concepts is linked by an associative relation, rather than by a generic or a partitive one? (a) Mortgage loan and property valuation report; (b) Secured loan and residential mortgage loan; (c) Buy-to-let mortgage and mortgage loan; (d) Mortgage loan agreement and its early repayment clause"@en .

<https://knobit.org/id/register/data-modelling#I-1025> a edu:Question ;
    rdfs:label "dm-knowledge-conceptual Q13: reusing an external payment purpose code set"@en ;
    dcterms:identifier "I-1025" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-458 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-conceptual/Q13> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "The payments team wants its own list of payment purpose codes, although ISO 20022 publishes an external purpose code set. What does reuse of an external vocabulary involve? (a) Building the internal list first, and mapping it to the external set once the codes have settled; (b) Copying the current external codes into a CHECK constraint, so that the list can no longer drift; (c) Adopting the external codes but relabelling them in the bank's own words, for readability; (d) Adopting the external code set and recording its authority, the version used and any mapping to local codes"@en .

<https://knobit.org/id/register/data-modelling#I-1026> a edu:Question ;
    rdfs:label "dm-knowledge-logical Q1: functional dependency between card and account"@en ;
    dcterms:identifier "I-1026" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-551 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-logical/Q1> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "In CARD(card_number, account_number, expiry_date), the business rule is that each card is issued on exactly one account. In what sense does card_number functionally determine account_number? (a) card_number and account_number together identify each row of CARD and no smaller set does; (b) Each card_number value is associated with exactly one account_number value, by business rule; (c) In the sample extract, no card_number has yet appeared with more than one account_number; (d) Each account_number value is associated with exactly one card_number value, by business rule"@en .

<https://knobit.org/id/register/data-modelling#I-1027> a edu:Question ;
    rdfs:label "dm-knowledge-logical Q2: candidate keys and prime attributes of an account holding"@en ;
    dcterms:identifier "I-1027" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-552 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-logical/Q2> ;
    schema:learningResourceType "short_answer" ;
    schema:text "ACCOUNT_HOLDING(account_no, iban, party_id, holder_role, start_date) has these functional dependencies, taken from the business rules: account_no -> iban; iban -> account_no; {account_no, party_id} -> holder_role, start_date. List every candidate key of ACCOUNT_HOLDING, and classify each attribute as prime or non-prime."@en .

<https://knobit.org/id/register/data-modelling#I-1028> a edu:Question ;
    rdfs:label "dm-knowledge-logical Q3: deletion anomaly in a loan application entity"@en ;
    dcterms:identifier "I-1028" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-553 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-logical/Q3> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "A single LOAN_APPLICATION entity records each application together with the applicant's employer name and employer address. Which of these is a deletion anomaly? (a) Withdrawing the only application naming an employer also removes the only record of its address; (b) Correcting an employer's address means changing every application naming that employer; (c) Recording a new employer's address is impossible until an applicant from it applies; (d) Deleting an application leaves loan offers that refer to it pointing at no application"@en .

<https://knobit.org/id/register/data-modelling#I-1029> a edu:Question ;
    rdfs:label "dm-knowledge-logical Q4: first normal form and atomic values"@en ;
    dcterms:identifier "I-1029" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-554 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-logical/Q4> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "Which condition must an entity meet to be in first normal form? (a) Every attribute is atomic, so composite values such as an IBAN must always be split into parts; (b) Every attribute has a datatype and a length, and is either mandatory or optional for all rows; (c) Every non-key attribute depends on the whole of the primary key, not on just part of it; (d) Every attribute holds a single atomic value, and no property is held as a repeating group"@en .

<https://knobit.org/id/register/data-modelling#I-103> a edu:Question ;
    rdfs:label "data-requirements C1c: lineage gap named"@en ;
    dcterms:identifier "I-103" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-130 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/data-requirements/C1> .

<https://knobit.org/id/register/data-modelling#I-1030> a edu:Question ;
    rdfs:label "dm-knowledge-logical Q5: second normal form and partial dependency"@en ;
    dcterms:identifier "I-1030" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-555 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-logical/Q5> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "ACCOUNT_HOLDER has the key {account_no, party_id} and the attributes holder_role, holding_start_date and account_currency_code. Why is it not in second normal form? (a) account_currency_code depends on account_no alone, which is only part of the candidate key; (b) holding_start_date may be unknown, so the key does not determine it for every row; (c) holder_role depends on party_id alone, because a party has a single role at the bank; (d) account_currency_code depends on another non-key attribute of the entity rather than on the key"@en .

<https://knobit.org/id/register/data-modelling#I-1031> a edu:Question ;
    rdfs:label "dm-knowledge-logical Q6: third normal form and transitive dependency"@en ;
    dcterms:identifier "I-1031" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-556 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-logical/Q6> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "CURRENT_ACCOUNT is keyed by account_no and holds branch_code and branch_name, where each branch code has exactly one branch name. Which statement is correct? (a) It violates 3NF: branch_name depends on the key only through branch_code, a non-prime attribute; (b) It violates 2NF: branch_name depends on part of the key, so Branch needs an entity of its own; (c) It is in 3NF: every attribute is determined by account_no, whether directly or through another; (d) It violates 1NF: branch_code and branch_name together form a repeating group of branch facts"@en .

<https://knobit.org/id/register/data-modelling#I-1032> a edu:Question ;
    rdfs:label "dm-knowledge-logical Q7: Boyce-Codd normal form with overlapping keys"@en ;
    dcterms:identifier "I-1032" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-557 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-logical/Q7> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "CUSTOMER_ADVISER(customer_id, product_line, adviser_id) follows two rules: each customer has one adviser per product line, and each adviser works in exactly one product line. Which statement is correct? (a) It is not in 2NF, because adviser_id depends on only part of the key {customer_id, product_line}; (b) It is not in 3NF, because product_line depends transitively on the key through adviser_id; (c) It is in BCNF, because every attribute belongs to at least one candidate key of the entity; (d) It is in 3NF but not in BCNF, because adviser_id determines product_line and is not a superkey"@en .

<https://knobit.org/id/register/data-modelling#I-1033> a edu:Question ;
    rdfs:label "dm-knowledge-logical Q8: independent multivalued facts and fourth normal form"@en ;
    dcterms:identifier "I-1033" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-558 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-logical/Q8> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "CUSTOMER_CONTACT_INTEREST(customer_id, phone_number, product_interest) records a customer's phone numbers and the products the customer has shown interest in. The two lists are independent of each other. What follows? (a) It violates no functional dependency, so it is in 4NF once it has been shown to be in BCNF; (b) Each phone number determines the product interests, so phone_number should become the key; (c) It has a join dependency, so it must be split into its three pairwise projections; (d) It holds two independent multivalued dependencies, so 4NF puts phones and interests in separate entities"@en .

<https://knobit.org/id/register/data-modelling#I-1034> a edu:Question ;
    rdfs:label "dm-knowledge-logical Q9: join dependency and fifth normal form"@en ;
    dcterms:identifier "I-1034" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-559 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-logical/Q9> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "ADVISER_PRODUCT_BRANCH records which adviser sells which product at which branch. The bank's rule is: if an adviser works at a branch, the branch offers a product, and the adviser is licensed for that product, then the adviser sells it at that branch. What does fifth normal form say about this entity? (a) It equals the join of its three pairwise projections, so it should be replaced by those three entities; (b) It is already in 5NF, because no functional dependency holds among its three attributes; (c) It holds independent multivalued facts, so two entities keyed by adviser are enough; (d) It should stay one entity, because a three-way fact can never be rebuilt from pairs of facts"@en .

<https://knobit.org/id/register/data-modelling#I-1035> a edu:Question ;
    rdfs:label "dm-knowledge-logical Q10: sixth normal form for independently changing attributes"@en ;
    dcterms:identifier "I-1035" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-560 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-logical/Q10> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "CUSTOMER_HISTORY keeps one row per change, with one validity period, for a customer's postal address, risk rating and marketing consent, which change independently of each other. What does sixth normal form suggest? (a) Give each independently changing attribute its own entity with its own validity period; (b) Keep only the current values, since the change history can be read from the audit log; (c) Split the history by calendar year, so each year's validity periods are stored apart; (d) Keep one row per change, but add a column recording which of the attributes changed"@en .

<https://knobit.org/id/register/data-modelling#I-1036> a edu:Question ;
    rdfs:label "dm-knowledge-logical Q11: constraints implied by keys and domains"@en ;
    dcterms:identifier "I-1036" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-561 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-logical/Q11> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "Domain-key normal form requires every constraint to follow from keys and domains. Which constraint on a SAVINGS_ACCOUNT entity meets that condition? (a) A notice account's withdrawal date falls at least 30 days after its notice date; (b) The interest rate is a decimal from 0 to 20 percent, and no two savings accounts share an IBAN; (c) The withdrawals in a calendar month do not exceed the limit set by the account's product; (d) The account's closing date, when present, falls on or after the account's opening date"@en .

<https://knobit.org/id/register/data-modelling#I-1037> a edu:Question ;
    rdfs:label "dm-knowledge-logical Q12: one domain per attribute"@en ;
    dcterms:identifier "I-1037" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-562 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-logical/Q12> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "A LOAN entity has an attribute limit_value that holds an amount in euro for credit lines but a number of months for payment holidays, depending on product_type. Which principle does this break, and what follows? (a) An attribute depends on the key; limit_value depends on product_type and needs its own entity; (b) An attribute has one datatype; storing both as a decimal makes the attribute acceptable; (c) An attribute is atomic; the value must be split into an amount part and a unit part; (d) An attribute has one domain; since its meaning and unit vary with another value, it must be split"@en .

<https://knobit.org/id/register/data-modelling#I-1038> a edu:Question ;
    rdfs:label "dm-knowledge-logical Q13: lossless-join decomposition of a payment entity"@en ;
    dcterms:identifier "I-1038" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-563 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-logical/Q13> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "PAYMENT(payment_id, account_no, value_date, amount, beneficiary_iban) is split into P1(payment_id, account_no, value_date, amount) and P2(value_date, beneficiary_iban). What happens when P1 and P2 are joined back on value_date? (a) Rows that never existed appear, because value_date is not a key of either part; (b) Every original row comes back, but some dependencies can no longer be enforced; (c) Some payments are lost, because the join drops rows whose value date is repeated; (d) Nothing is lost, because every attribute of PAYMENT appears in one of the two parts"@en .

<https://knobit.org/id/register/data-modelling#I-1039> a edu:Question ;
    rdfs:label "dm-knowledge-logical Q14: dependency preservation in a BCNF decomposition"@en ;
    dcterms:identifier "I-1039" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-564 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-logical/Q14> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "To reach BCNF, CUSTOMER_ADVISER(customer_id, product_line, adviser_id), in which each customer has one adviser per product line and each adviser works in one product line, is split into ADVISER(adviser_id, product_line) and CUSTOMER_ADVISER(customer_id, adviser_id). Joining them gives back exactly the original rows. Which statement is correct? (a) The split loses the rule that each adviser works in one product line, as adviser_id is not a key; (b) The split preserves every dependency, since each can still be derived by joining the two parts; (c) The split is lossy, since product_line is no longer stored with customer_id in a single entity; (d) The split is lossless, but the rule of one adviser per customer per product line now spans both entities"@en .

<https://knobit.org/id/register/data-modelling#I-104> a edu:Question ;
    rdfs:label "data-requirements C1d: history gap named"@en ;
    dcterms:identifier "I-104" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-131 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/data-requirements/C1> .

<https://knobit.org/id/register/data-modelling#I-1040> a edu:Question ;
    rdfs:label "dm-knowledge-logical Q15: snapshot value versus derivable value"@en ;
    dcterms:identifier "I-1040" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-565 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-logical/Q15> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "Each LOAN_PAYMENT row stores the interest rate that applied on its payment date, copied from the loan at posting time; LOAN keeps only its current rate. LOAN also stores total_repaid, the sum of its payments. How should these two stored values be classified? (a) Both are derived data, since each was computed from another stored value when it was written; (b) Both are snapshots, since each records a value as it stood when its row was last written; (c) The payment's rate is a snapshot, not derived data; total_repaid is derivable and need not be stored; (d) The payment's rate is derivable from the loan's rate; total_repaid is a snapshot of payments"@en .

<https://knobit.org/id/register/data-modelling#I-1041> a edu:Question ;
    rdfs:label "dm-knowledge-logical Q16: disjoint and partial subtyping of accounts"@en ;
    dcterms:identifier "I-1041" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-566 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-logical/Q16> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "Account has the subtypes Current account, Savings account and Loan account. No account is of two subtypes, and the bank also has internal suspense accounts that are none of them. Which constraints does this subtyping have? (a) Disjoint and partial: an account belongs to at most one subtype and may belong to none; (b) Overlapping and partial: an account may belong to several of the subtypes or to none of them; (c) Disjoint and total: an account belongs to exactly one subtype, so suspense accounts are excluded; (d) Overlapping and total: an account belongs to at least one of the subtypes and possibly more"@en .

<https://knobit.org/id/register/data-modelling#I-1042> a edu:Question ;
    rdfs:label "dm-knowledge-logical Q17: cardinality and optionality of account and card"@en ;
    dcterms:identifier "I-1042" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-567 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-logical/Q17> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "The rules say: 'A card is issued on exactly one account' and 'An account may have no cards, or many.' How are the cardinality and optionality of the Account-Card relationship read? (a) One-to-one; each card has one account, so each account can be issued only one card; (b) One-to-many; cards are mandatory for each account, and the account is optional for each card; (c) Many-to-many; a card may move between accounts, and an account may have many cards; (d) One-to-many; the account is mandatory for each card, and cards are optional for each account"@en .

<https://knobit.org/id/register/data-modelling#I-1043> a edu:Question ;
    rdfs:label "dm-knowledge-logical Q18: natural key kept beside a surrogate key"@en ;
    dcterms:identifier "I-1043" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-568 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-logical/Q18> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "The bank gives its ACCOUNT table a system-generated surrogate primary key. What should happen to the IBAN, the account's natural key? (a) It stays recorded and is declared unique, since only it stops one account being stored twice; (b) It becomes the foreign key in child tables, since staff can read and recognise its value; (c) It is kept but not constrained, since natural keys can change and would then break inserts; (d) It is dropped, since the surrogate key now identifies each account uniquely on its own"@en .

<https://knobit.org/id/register/data-modelling#I-1044> a edu:Question ;
    rdfs:label "dm-knowledge-logical Q19: chasm trap on an optional relationship path"@en ;
    dcterms:identifier "I-1044" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-569 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-logical/Q19> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "Every account is held at a branch, but the model records this only through advisers: each Account may be managed by one Adviser (optional), and each Adviser works at exactly one Branch. A report counts accounts per branch by following Account to Adviser to Branch. Which trap does this path contain, and with what effect? (a) A fan trap: two one-to-many relationships fan out from Adviser, so accounts are counted twice; (b) A connection trap: the path implies each adviser manages every account at the branch; (c) No trap: each account reaches at most one branch, so the counts per branch are correct; (d) A chasm trap: accounts with no adviser silently drop out, so branch totals are understated"@en .

<https://knobit.org/id/register/data-modelling#I-1045> a edu:Question ;
    rdfs:label "dm-knowledge-logical Q20: one entity type per business concept"@en ;
    dcterms:identifier "I-1045" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-570 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-logical/Q20> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "A model has the entities LOAN_2024, LOAN_2025 and LOAN_2026, with identical attributes, one for each year of origination. What follows from the principle that an entity type realises one business concept? (a) They are one concept split by a value; origination year should be an attribute of one Loan entity; (b) They are three concepts, since loans of each year were sold under different product terms; (c) They are subtypes of Loan, since each one holds a distinct subset of the bank's loans; (d) They are one concept, but each year needs its own entity to keep the loan terms' history"@en .

<https://knobit.org/id/register/data-modelling#I-1046> a edu:Question ;
    rdfs:label "dm-knowledge-physical Q1: what makes a denormalisation controlled"@en ;
    dcterms:identifier "I-1046" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-651 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-physical/Q1> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "To avoid a join, a reporting table copies the customer's segment from CUSTOMER onto every ACCOUNT row. What makes this a controlled denormalisation? (a) The column is read-only to users, so only the nightly load can ever change the copied value; (b) A stated mechanism keeps the copy equal to the original, and a check detects any difference; (c) The copy is described in the data dictionary, so readers know which column is the original; (d) The logical model is denormalised in the same way, so the physical copy follows the design"@en .

<https://knobit.org/id/register/data-modelling#I-1047> a edu:Question ;
    rdfs:label "dm-knowledge-physical Q2: constraints lost by rolling up subtypes"@en ;
    dcterms:identifier "I-1047" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-652 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-physical/Q2> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "Party, with the subtypes Person and Organisation, is implemented as one PARTY table holding the columns of both (roll-up). Which constraint is lost and must be restored by other means? (a) Uniqueness of the party identifier across persons and organisations can no longer be declared; (b) A foreign key from ACCOUNT_HOLDER to the party no longer has a single table to reference; (c) One party can now be stored as both a person row and an organisation row in two tables; (d) A column mandatory for one subtype, such as a person's date of birth, cannot be declared NOT NULL"@en .

<https://knobit.org/id/register/data-modelling#I-1048> a edu:Question ;
    rdfs:label "dm-knowledge-physical Q3: referential action for payments referencing an account"@en ;
    dcterms:identifier "I-1048" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-653 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-physical/Q3> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "PAYMENT has a foreign key to the ACCOUNT it was posted to. Payments have a life of their own and must be kept for audit. Which referential action on that foreign key fits? (a) Cascade: deleting an account deletes its payments, so no payment refers to a missing account; (b) Set null: deleting an account blanks the payment's account but keeps the payment row; (c) None: the ETL checks account references, so the database need not declare a foreign key; (d) Restrict: an account with payments cannot be deleted, so no payment is removed or orphaned"@en .

<https://knobit.org/id/register/data-modelling#I-1049> a edu:Question ;
    rdfs:label "dm-knowledge-physical Q4: exact decimal type for a euro balance"@en ;
    dcterms:identifier "I-1049" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-654 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-physical/Q4> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "Why should a euro current account balance be stored as DECIMAL(18,2) rather than as DOUBLE PRECISION? (a) Binary floating point rounds every value to whole units, so cents are lost on each posting; (b) Binary floating point cannot hold balances above about two billion without overflowing; (c) Binary floating point cannot hold most decimal fractions, such as 0.10, exactly, so totals drift; (d) Binary floating point takes more storage than a decimal holding the same number of digits"@en .

<https://knobit.org/id/register/data-modelling#I-105> a edu:Question ;
    rdfs:label "data-requirements C1e: no question the data serves named"@en ;
    dcterms:identifier "I-105" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-132 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/data-requirements/C1> .

<https://knobit.org/id/register/data-modelling#I-1050> a edu:Question ;
    rdfs:label "dm-knowledge-physical Q5: null and three-valued logic in a predicate"@en ;
    dcterms:identifier "I-1050" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-655 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-physical/Q5> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "A query selects loans WHERE arrears_days <> 0. How does SQL treat loans whose arrears_days is null? (a) They cause the query to fail, since comparing a value with null raises a run-time error; (b) They are excluded, since comparing null with 0 yields UNKNOWN, which a WHERE clause rejects; (c) They are included, since a null is not equal to 0, so the predicate evaluates to TRUE; (d) They are excluded, since the database treats a null in a numeric column as the value 0"@en .

<https://knobit.org/id/register/data-modelling#I-1051> a edu:Question ;
    rdfs:label "dm-knowledge-physical Q6: changeable value set held as reference data"@en ;
    dcterms:identifier "I-1051" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-656 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-physical/Q6> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "The bank's list of account closure reasons changes a few times a year, and a retired reason must stay valid on old accounts but be refused for new closures. Where should the value set live? (a) In a database enum type, since enum values compare faster and take less storage; (b) In a reference table with validity dates, referenced by a foreign key from the account; (c) In a CHECK constraint listing the current codes, amended by a migration for each change; (d) In the application's settings only, since the database need not know the valid codes"@en .

<https://knobit.org/id/register/data-modelling#I-1052> a edu:Question ;
    rdfs:label "dm-knowledge-physical Q7: deriving indexes from access paths"@en ;
    dcterms:identifier "I-1052" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-657 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-physical/Q7> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "On what basis should the indexes of a physical CARD_TRANSACTION table be chosen? (a) From its foreign keys, its natural-key unique constraints and the access paths the requirements state; (b) From every column of the table, so that any future query can be answered from an index; (c) From the primary key only, adding others once performance problems appear in production; (d) From every column used in a WHERE clause of any query written against the table so far"@en .

<https://knobit.org/id/register/data-modelling#I-1053> a edu:Question ;
    rdfs:label "dm-knowledge-physical Q8: half-open validity periods in a versioned table"@en ;
    dcterms:identifier "I-1053" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-658 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-physical/Q8> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "A versioned INTEREST_RATE table records each rate with a validity period. Why are half-open periods [valid_from, valid_to) the preferred convention? (a) Each version ends exactly where the next begins, so every date falls in exactly one version; (b) Both end dates belong to the version, so a rate is valid on its last day as on its first; (c) The start date is excluded from the version, so a new rate takes effect the following day; (d) The end date of the current version can be left empty, so no flag is needed to find it"@en .

<https://knobit.org/id/register/data-modelling#I-1054> a edu:Question ;
    rdfs:label "dm-knowledge-physical Q9: semi-additive month-end balance measure"@en ;
    dcterms:identifier "I-1054" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-659 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-physical/Q9> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "A fact table holds one row per savings account per month end, with the measure end_of_month_balance. How may this measure be aggregated? (a) Summed across every dimension, because a balance is a numeric amount like any other measure; (b) Summed across months for one account, but not across accounts, as currencies may differ; (c) Summed across accounts for one month, but not across months; over time it is averaged or taken at period end; (d) Never summed, because a balance is a non-additive measure, like an interest rate or a ratio"@en .

<https://knobit.org/id/register/data-modelling#I-1055> a edu:Question ;
    rdfs:label "dm-knowledge-physical Q10: vertical split that keeps one entity"@en ;
    dcterms:identifier "I-1055" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-660 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-physical/Q10> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "A wide CUSTOMER table is split vertically into CUSTOMER_CORE and CUSTOMER_MARKETING for access reasons. What keeps the two tables one entity? (a) Both carry the same primary key, and the one-to-one relationship between them is enforced; (b) Both are partitioned on the same column, so matching rows sit in the same partition; (c) Both carry the customer's name, so the rows can be matched again when they are joined; (d) Both sit in the same tablespace and are loaded by the same nightly job, in one run"@en .

<https://knobit.org/id/register/data-modelling#I-1056> a edu:Question ;
    rdfs:label "dm-knowledge-physical Q11: consistency risk of documents stored by reference"@en ;
    dcterms:identifier "I-1056" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-661 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-physical/Q11> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "Signed loan agreements are kept as PDF files on a file server, and LOAN_AGREEMENT holds each file's path. Which consistency risk follows? (a) The database copies each file into its own storage on insert, which doubles the space used; (b) The files are outside the database's transactions and backups, so a row and its file can diverge; (c) The path acts as a foreign key, so a file cannot be deleted while a row still refers to it; (d) The path column cannot be indexed, so finding a loan's agreement needs a full table scan"@en .

<https://knobit.org/id/register/data-modelling#I-1057> a edu:Question ;
    rdfs:label "dm-knowledge-physical Q12: no meaning in relational row or key order"@en ;
    dcterms:identifier "I-1057" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-662 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-physical/Q12> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "A team finds a customer's first account as the one with the lowest generated account_id. Why is this unsafe? (a) The query is correct, but sorting a large ACCOUNT table by its key is expensive to run; (b) The lowest key is reliable only when the table has a clustered index on account_id; (c) Generated keys follow insertion order, but accounts may be inserted out of business order; (d) A table is an unordered set, and generated key values carry no guaranteed business order"@en .

<https://knobit.org/id/register/data-modelling#I-1058> a edu:Question ;
    rdfs:label "dm-knowledge-physical Q13: where to fix a defect in generated DDL"@en ;
    dcterms:identifier "I-1058" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-851 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-physical/Q13> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "A reviewer finds that the generated DDL for the LOAN table lacks a check that the loan term is positive. Where should the fix be made? (a) In a patch script run after the generated DDL, kept beside it in the model repository; (b) In the deployed database, after which the DDL is reverse-engineered back into the file; (c) In the physical model, or in the rule behind it, and the DDL is then regenerated from it; (d) In the generated DDL file itself, with a comment noting that the change was made by hand"@en .

<https://knobit.org/id/register/data-modelling#I-1059> a edu:Question ;
    rdfs:label "dm-knowledge-physical Q14: one logical type rendering differently by SQL engine"@en ;
    dcterms:identifier "I-1059" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-852 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-physical/Q14> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "The physical model gives a column the logical type Timestamp. Why can the DDL generator not emit the type name TIMESTAMP unchanged on every target engine? (a) It stores a date only on most engines, so the time of day must be held in a second column; (b) It is reserved on every engine, so it must always be quoted wherever it is used as a type; (c) It exists only on Oracle, so the other engines need a character column to hold the value; (d) Its meaning differs: a row-version counter in SQL Server, a 32-bit type ending in 2038 in MySQL"@en .

<https://knobit.org/id/register/data-modelling#I-106> a edu:Question ;
    rdfs:label "data-requirements C1f: volume and retention gap named"@en ;
    dcterms:identifier "I-106" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-128 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/data-requirements/C1> .

<https://knobit.org/id/register/data-modelling#I-1060> a edu:Question ;
    rdfs:label "dm-knowledge-physical Q15: currency minor units and amount scale"@en ;
    dcterms:identifier "I-1060" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-853 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-physical/Q15> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "A PAYMENT table holds amounts in any ISO 4217 currency. Why is DECIMAL(18,2) a poor type for the amount? (a) Minor units range from 0 to 3 digits, so Kuwaiti dinar amounts need three decimals; (b) Two decimals are too few for any currency once interest is calculated on the amount; (c) Every currency has two minor-unit digits, but conversion needs four for exchange rates; (d) ISO 4217 requires amounts to be stored as integers in minor units, never as decimals"@en .

<https://knobit.org/id/register/data-modelling#I-1061> a edu:Question ;
    rdfs:label "dm-knowledge-physical Q16: event timestamps and business dates"@en ;
    dcterms:identifier "I-1061" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-854 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-physical/Q16> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "Which typing of temporal columns fits a bank that books payments in more than one time zone? (a) Both as timestamps with an offset, so the value date is kept to the second like the event; (b) The authorisation time as a timestamp with offset, the value date as a date with no time; (c) The authorisation time as a date, the value date as a timestamp with booking offset; (d) Both as timestamps without zone, converted to the server's local time when loaded"@en .

<https://knobit.org/id/register/data-modelling#I-1062> a edu:Question ;
    rdfs:label "dm-knowledge-physical Q17: collation and the meaning of a key"@en ;
    dcterms:identifier "I-1062" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-855 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-physical/Q17> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "The IBAN column is the natural key of ACCOUNT. Why does the column's collation matter? (a) It decides the order in which rows are stored, so it fixes which IBAN is read first; (b) It decides which characters may be stored, so it rejects lower-case letters in an IBAN; (c) It decides the storage size of each character, so it fixes the column's maximum length; (d) It decides which values compare equal, so a case-insensitive one makes two spellings one key"@en .

<https://knobit.org/id/register/data-modelling#I-1063> a edu:Question ;
    rdfs:label "dm-knowledge-physical Q18: access design derived from data classification"@en ;
    dcterms:identifier "I-1063" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-856 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-physical/Q18> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "A customer's tax identification number is classified restricted in the model. Where does its access design come from, and what does it contain? (a) From encryption: an encrypted column needs no grants, masking or row-level rules; (b) From the application: the database grants all roles, and the screens hide the column; (c) From the classification: role grants, masking for those not cleared, and row-level rules; (d) From the CREATE TABLE script: the generator adds a grant for each restricted column"@en .

<https://knobit.org/id/register/data-modelling#I-1064> a edu:Question ;
    rdfs:label "dm-knowledge-physical Q19: adding a mandatory column to a populated table"@en ;
    dcterms:identifier "I-1064" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-857 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-physical/Q19> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "A new NOT NULL column is to be added to the populated LOAN table in production. What does a safe change require? (a) Regenerating the CREATE TABLE script and redeploying it, since it now contains the column; (b) Adding the column as NOT NULL in one step, since the engine fills the existing rows with nulls; (c) A migration that adds the column, backfills existing rows, then tightens it, with a tested rollback; (d) Running the drop script first to clear the table, keeping the old create script as rollback"@en .

<https://knobit.org/id/register/data-modelling#I-1065> a edu:Question ;
    rdfs:label "dm-knowledge-physical Q20: one artefact for every deployment environment"@en ;
    dcterms:identifier "I-1065" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-858 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-physical/Q20> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "What does environment-independent deployment require of the reviewed DDL for the deposits schema? (a) One artefact builds dev, test and production, with schema and database names from configuration; (b) One artefact with the production schema name hard-wired, edited for the others when deployed; (c) One artefact for production only, with dev and test copied by hand from its catalogue; (d) One copy of the DDL per environment, each reviewed separately before it is deployed there"@en .

<https://knobit.org/id/register/data-modelling#I-1066> a edu:Question ;
    rdfs:label "dm-knowledge-physical Q21: proving DDL by execution and detecting drift"@en ;
    dcterms:identifier "I-1066" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-859 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-physical/Q21> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "How is generated DDL for a card schema shown to be correct, and how is later drift detected? (a) By validating the model against its schema, which proves the DDL so that drift cannot occur; (b) By running it once on the development engine, and by reverse-engineering production yearly; (c) By running it on each target engine, and by comparing the deployed catalogue with the model; (d) By a peer reading the SQL before release, and by checking the change log after incidents"@en .

<https://knobit.org/id/register/data-modelling#I-1067> a edu:Question ;
    rdfs:label "dm-knowledge-dmbok-ch5 Q1: purpose of building a data model"@en ;
    dcterms:identifier "I-1067" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-901 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q1> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "According to DAMA-DMBOK2, which is a primary reason an organisation such as a retail bank builds data models? (a) To decide indexes and storage early, so performance is fixed before requirements are gathered; (b) To generate application code for transaction systems directly from the entity definitions; (c) To replace the business glossary, since the entity and attribute definitions make it redundant; (d) To formalise and communicate data requirements in a shared vocabulary, and to retain that knowledge"@en .

<https://knobit.org/id/register/data-modelling#I-1068> a edu:Question ;
    rdfs:label "dm-knowledge-dmbok-ch5 Q2: DMBOK type of modelled data for a loan application"@en ;
    dcterms:identifier "I-1068" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-902 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q2> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "DAMA-DMBOK2 distinguishes category, resource, business event and detail transaction data. Which type is a customer's loan application? (a) Category data, used to classify customers and loans, such as into market segments; (b) Resource data, a basic profile of something needed to run the bank's lending process; (c) Detail transaction data, a high-volume record of activity such as card authorisations; (d) Business event data, created while an operational process such as lending is under way"@en .

<https://knobit.org/id/register/data-modelling#I-1069> a edu:Question ;
    rdfs:label "dm-knowledge-dmbok-ch5 Q3: zero-or-many in Information Engineering notation"@en ;
    dcterms:identifier "I-1069" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-903 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q3> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "In Information Engineering (crow's foot) notation, how is 'an account has zero, one or many cards' shown at the card end of the relationship? (a) Two bars across the line; (b) A circle next to a crow's foot; (c) A circle next to a bar; (d) A bar next to a crow's foot"@en .

<https://knobit.org/id/register/data-modelling#I-107> a edu:Question ;
    rdfs:label "data-requirements C2a: duplicate retired, not deleted"@en ;
    dcterms:identifier "I-107" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-121,
                knobit:K-135 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/data-requirements/C2> .

<https://knobit.org/id/register/data-modelling#I-1070> a edu:Question ;
    rdfs:label "dm-knowledge-dmbok-ch5 Q4: identifying relationship for repayment instalments"@en ;
    dcterms:identifier "I-1070" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-904 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q4> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "Repayment instalments are numbered 1, 2, 3 within each loan's repayment schedule. Which relationship does INSTALMENT have to REPAYMENT_SCHEDULE, and what is its key? (a) Non-identifying: its key is the instalment number alone, with a mandatory foreign key to the schedule; (b) Identifying: its key is the instalment number alone, as an instalment cannot exist without a schedule; (c) Identifying: its key is the schedule's key plus the instalment number, so it is a dependent entity; (d) Non-identifying: its key is the schedule key plus the due date, so it is an independent entity"@en .

<https://knobit.org/id/register/data-modelling#I-1071> a edu:Question ;
    rdfs:label "dm-knowledge-dmbok-ch5 Q5: conformed dimensions across banking star schemas"@en ;
    dcterms:identifier "I-1071" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-905 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q5> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "A bank builds a card spending star schema and a payments star schema, both analysed by customer and by date. What does using conformed dimensions mean here? (a) Each fact table has its own customer dimension, normalised into a snowflake of related tables; (b) Each fact table has its own dimensions shaped to its needs, but loaded from the same source system; (c) Both fact tables use one customer and one date dimension, with the same keys, attributes and meaning; (d) Both fact tables are merged into one fact table at the same grain, keyed by customer and date"@en .

<https://knobit.org/id/register/data-modelling#I-1072> a edu:Question ;
    rdfs:label "dm-knowledge-dmbok-ch5 Q6: UML class diagram versus entity-relationship model"@en ;
    dcterms:identifier "I-1072" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-906 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q6> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "How does a UML class diagram used as a data modelling scheme differ from an entity-relationship diagram? (a) A class diagram is limited to physical design and cannot express a conceptual model; (b) A class can carry operations as well as attributes, which an ER entity does not; (c) A class diagram cannot show generalisation, so subtypes are drawn as associations; (d) A class diagram cannot express multiplicity, so cardinality goes into separate notes"@en .

<https://knobit.org/id/register/data-modelling#I-1073> a edu:Question ;
    rdfs:label "dm-knowledge-dmbok-ch5 Q7: elementary facts in fact-based modelling"@en ;
    dcterms:identifier "I-1073" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-907 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q7> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "In fact-based modelling such as ORM or FCO-IM, how is the statement 'Customer C-104 holds account A-2207' treated? (a) As a rule statement constraining Customer, which a foreign key will later enforce; (b) As a row of an Account entity whose holder_customer_id attribute has the value C-104; (c) As an instance of an elementary fact type in which Customer and Account each play a role; (d) As an attribute value of Customer, since attributes are identified before any facts"@en .

<https://knobit.org/id/register/data-modelling#I-1074> a edu:Question ;
    rdfs:label "dm-knowledge-dmbok-ch5 Q8: hubs, links and satellites in a Data Vault"@en ;
    dcterms:identifier "I-1074" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-908 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q8> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "A loan origination source model is loaded into a Data Vault. Where do the loan's business key, the loan-customer association and the loan's changing interest terms go? (a) The business key to a hub, the association to a link, and the changing terms to a satellite; (b) All three into one wide hub table, with a load date and a record source on every row; (c) The business key to a satellite, the association to a hub, and the changing terms to a link; (d) The business key to a hub, the association to a satellite, and the changing terms to a link"@en .

<https://knobit.org/id/register/data-modelling#I-1075> a edu:Question ;
    rdfs:label "dm-knowledge-dmbok-ch5 Q9: aggregate-oriented modelling in a document store"@en ;
    dcterms:identifier "I-1075" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-909 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q9> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "A mobile banking app reads a customer's profile, accounts and last ten transactions in a single call. How does document store modelling typically approach this? (a) Normalise to 3NF first, then store each entity as its own collection linked by references; (b) Design an aggregate for the access path, embedding what is read together, with controlled duplication; (c) Use a graph store, since any data with relationships between entities is best kept as a graph; (d) Store every attribute as a key-value pair, so any combination can be read without a schema"@en .

<https://knobit.org/id/register/data-modelling#I-1076> a edu:Question ;
    rdfs:label "dm-knowledge-dmbok-ch5 Q10: canonical data model for system integration"@en ;
    dcterms:identifier "I-1076" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-910 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q10> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "A bank integrates its core banking, card and CRM systems through a message bus. What is a canonical data model in this setting? (a) The core banking system's model, adopted by the card and CRM systems as the master structure; (b) A shared model of the exchanged data, independent of each system's own model, that each maps to; (c) The union of the three systems' models, keeping every attribute each system currently holds; (d) A physical database holding a copy of all the data exchanged between the three systems"@en .

<https://knobit.org/id/register/data-modelling#I-1077> a edu:Question ;
    rdfs:label "dm-knowledge-dmbok-ch5 Q11: database view for restricted and joined access"@en ;
    dcterms:identifier "I-1077" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-911 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q11> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "Branch staff may see account balances but not customers' tax identifiers, and analysts want accounts joined to their holders. What can a database view provide here without storing the data again? (a) A virtual table presenting only the permitted columns and the joined data, computed at query time; (b) A stored copy of the joined data, refreshed each night, so that analysts' queries run faster; (c) A physical partition of each table, so that each role reads only the rows of its partition; (d) A trigger-maintained summary table, so that balances are ready without a join being run"@en .

<https://knobit.org/id/register/data-modelling#I-1078> a edu:Question ;
    rdfs:label "dm-knowledge-dmbok-ch5 Q12: deliverables of a data modelling plan"@en ;
    dcterms:identifier "I-1078" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-912 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q12> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "DAMA-DMBOK2 lists the deliverables a data modelling plan should provide for. Which set matches it? (a) The diagram, definitions of its objects, issues and open questions, and lineage; (b) The diagram, the DDL scripts, the test data and the deployment runbook; (c) The diagram, a data quality dashboard, the service levels and access rights; (d) The diagram, the project budget, the staffing plan and the tool licences"@en .

<https://knobit.org/id/register/data-modelling#I-1079> a edu:Question ;
    rdfs:label "dm-knowledge-dmbok-ch5 Q13: choosing a modelling scheme and notation"@en ;
    dcterms:identifier "I-1079" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-913 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q13> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "A bank needs a model of its deposit products for business stakeholders to validate, and a separate model for analysing monthly balances. Which choice follows the principle that the scheme fits the data and its use, and the notation fits the audience? (a) A dimensional scheme for both, since business stakeholders also read reports on deposit balances; (b) A physical relational model in IDEF1X for both, so that one notation is used across the bank; (c) A relational conceptual model in a simple notation for the business, and a dimensional scheme for analysis; (d) A UML class diagram for the business audience, since UML is the most widely known notation"@en .

<https://knobit.org/id/register/data-modelling#I-108> a edu:Question ;
    rdfs:label "data-requirements C2b: paraphrase retired or recorded as a second source"@en ;
    dcterms:identifier "I-108" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-122,
                knobit:K-135 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/data-requirements/C2> .

<https://knobit.org/id/register/data-modelling#I-1080> a edu:Question ;
    rdfs:label "dm-knowledge-dmbok-ch5 Q14: what reverse engineering cannot recover alone"@en ;
    dcterms:identifier "I-1080" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-914 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q14> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "A legacy card system's database is reverse-engineered from its catalogue. What can the catalogue not supply by itself? (a) The declared primary keys and indexes, which reverse engineering ignores by design; (b) The tables, columns and datatypes, which must be re-entered from vendor documents; (c) The column lengths and nullability, which a catalogue records only for new tables; (d) Undeclared foreign keys, the meaning of cryptic columns, and which objects are still in use"@en .

<https://knobit.org/id/register/data-modelling#I-1081> a edu:Question ;
    rdfs:label "dm-knowledge-dmbok-ch5 Q15: data model scorecard categories"@en ;
    dcterms:identifier "I-1081" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-915 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q15> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "Reviewing a loan model, a reviewer finds that entity definitions are vague, and profiling shows a field documented as mandatory is empty in 30% of rows. Under which Data Model Scorecard categories are these two findings scored? (a) The quality of the definitions, and how well the metadata matches the data; (b) The capture of requirements, and consistency with the enterprise model; (c) The adherence to naming standards, and the readability of the diagram; (d) The completeness of the model, and how structurally sound the model is"@en .

<https://knobit.org/id/register/data-modelling#I-1082> a edu:Question ;
    rdfs:label "dm-knowledge-dmbok-ch5 Q16: semantic version of a breaking model change"@en ;
    dcterms:identifier "I-1082" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-916 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q16> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "Under semantic versioning of a released deposits model, which change calls for a new major version? (a) Correcting a typing error in the definition of account closure reason; (b) Removing the column dormant_since from ACCOUNT, which downstream reports read; (c) Adding an optional marketing_consent_date column to the CUSTOMER entity; (d) Adding a value to the extensible list of account closure reasons in use"@en .

<https://knobit.org/id/register/data-modelling#I-1083> a edu:Question ;
    rdfs:label "dm-knowledge-dmbok-ch5 Q17: matching modelling tasks to tool types"@en ;
    dcterms:identifier "I-1083" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-917 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q17> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "Which pairing of a data modelling task with the type of tool that supports it is correct? (a) Recording which reports read the loan balance column: a modelling tool's diagram editor; (b) Finding actual null rates and value distributions in a legacy account table: a data profiling tool; (c) Generating DDL for a new card schema from its physical model: a metadata repository; (d) Showing where customer addresses come from and where they flow to: a data profiling tool"@en .

<https://knobit.org/id/register/data-modelling#I-1084> a edu:Question ;
    rdfs:label "dm-knowledge-dmbok-ch5 Q18: party-role pattern and adapting an industry model"@en ;
    dcterms:identifier "I-1084" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-918 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q18> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "A bank must record that one party can be a customer, a guarantor on a loan and an employee at the same time. Which pattern addresses this, and how should an industry model that contains it be used? (a) An associative entity per pair of roles; build from scratch, as industry models are generic; (b) The party-role pattern; adopt the industry model whole, as it reflects industry practice; (c) The party-role pattern; take the industry model as a starting point and adapt it to the bank; (d) Subtypes Customer, Guarantor and Employee of Party; adopt the industry model whole"@en .

<https://knobit.org/id/register/data-modelling#I-1085> a edu:Question ;
    rdfs:label "dm-knowledge-dmbok-ch5 Q19: ISO/IEC 11179 decomposition of an attribute name"@en ;
    dcterms:identifier "I-1085" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-919 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q19> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "Under an ISO/IEC 11179 naming convention, how does the attribute name 'Account Ledger Balance Amount' decompose? (a) Object class Account, qualifier Ledger, property Balance, representation term Amount; (b) Object class Account, qualifier Balance, property Ledger, representation term Amount; (c) Object class Account Ledger, property Amount, representation term Balance; (d) Object class Ledger, qualifier Account, property Balance, representation term Amount"@en .

<https://knobit.org/id/register/data-modelling#I-1086> a edu:Question ;
    rdfs:label "dm-knowledge-dmbok-ch5 Q20: database design principle served by access through views"@en ;
    dcterms:identifier "I-1086" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-920 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q20> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "Branch staff are given access to account data only through views and roles, never directly to base tables. Which DMBOK2 database design principle does this serve most directly? (a) Integrity: business rules are enforced, so the data is correct and meaningful; (b) Security: data is protected, and access is granted by need rather than by default; (c) Reusability: structures can serve several applications without being copied; (d) Maintainability: the data can be changed at a cost proportional to its value"@en .

<https://knobit.org/id/register/data-modelling#I-1087> a edu:Question ;
    rdfs:label "dm-knowledge-dmbok-ch5 Q21: content and upkeep of a modelling standard"@en ;
    dcterms:identifier "I-1087" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-921 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q21> ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "What should a bank's data modelling and design standard cover, and how should it be kept? (a) The DDL of every approved table, kept in the standard so projects can copy it unchanged; (b) The modelling tool's default settings, kept as shipped so that nobody need agree conventions; (c) The entity definitions of each project, kept by that project's lead modeller for reference; (d) Naming, notation, definitions, deliverables and review criteria, versioned and kept by an owner"@en .

<https://knobit.org/id/register/data-modelling#I-109> a edu:Question ;
    rdfs:label "data-requirements C2c: retention against erasure kept with a reconciling condition"@en ;
    dcterms:identifier "I-109" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-123 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/data-requirements/C2> .

<https://knobit.org/id/register/data-modelling#I-110> a edu:Question ;
    rdfs:label "data-requirements C3a: unsupplied value lists raised, not invented"@en ;
    dcterms:identifier "I-110" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-119 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/data-requirements/C3> .

<https://knobit.org/id/register/data-modelling#I-111> a edu:Question ;
    rdfs:label "data-requirements C3b: gross or net raised and the requirement not confirmed"@en ;
    dcterms:identifier "I-111" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-109,
                knobit:K-118 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/data-requirements/C3> .

<https://knobit.org/id/register/data-modelling#I-112> a edu:Question ;
    rdfs:label "data-requirements I1a: two-claim requirement split"@en ;
    dcterms:identifier "I-112" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-101 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/data-requirements/I1> .

<https://knobit.org/id/register/data-modelling#I-113> a edu:Question ;
    rdfs:label "data-requirements I1b: misfiled currency rule moved"@en ;
    dcterms:identifier "I-113" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-114 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/data-requirements/I1> .

<https://knobit.org/id/register/data-modelling#I-114> a edu:Question ;
    rdfs:label "data-requirements I2: candidate rules captured as data-rule requirements"@en ;
    dcterms:identifier "I-114" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-113 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/data-requirements/I2> .

<https://knobit.org/id/register/data-modelling#I-115> a edu:Question ;
    rdfs:label "data-requirements I3: out-of-scope statements reclassified"@en ;
    dcterms:identifier "I-115" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-103 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/data-requirements/I3> .

<https://knobit.org/id/register/data-modelling#I-116> a edu:Question ;
    rdfs:label "data-requirements I4a: absolute about collateral challenged"@en ;
    dcterms:identifier "I-116" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-111 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/data-requirements/I4> .

<https://knobit.org/id/register/data-modelling#I-117> a edu:Question ;
    rdfs:label "data-requirements I4b: when date of birth is mandatory resolved"@en ;
    dcterms:identifier "I-117" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-112 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/data-requirements/I4> .

<https://knobit.org/id/register/data-modelling#I-118> a edu:Question ;
    rdfs:label "data-requirements I5a: 'it' resolved"@en ;
    dcterms:identifier "I-118" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-107 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/data-requirements/I5> .

<https://knobit.org/id/register/data-modelling#I-119> a edu:Question ;
    rdfs:label "data-requirements I5b: which date and whose named"@en ;
    dcterms:identifier "I-119" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-108 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/data-requirements/I5> .

<https://knobit.org/id/register/data-modelling#I-120> a edu:Question ;
    rdfs:label "data-requirements I5c: 'accurate' made testable"@en ;
    dcterms:identifier "I-120" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-106 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/data-requirements/I5> .

<https://knobit.org/id/register/data-modelling#I-121> a edu:Question ;
    rdfs:label "data-requirements I5d: 'up to date where possible' bounded"@en ;
    dcterms:identifier "I-121" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-105 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/data-requirements/I5> .

<https://knobit.org/id/register/data-modelling#I-122> a edu:Question ;
    rdfs:label "data-requirements Q4: priorities, status and legacy statement sound"@en ;
    dcterms:identifier "I-122" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-116,
                knobit:K-118,
                knobit:K-119 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/data-requirements/Q4> .

<https://knobit.org/id/register/data-modelling#I-123> a edu:Question ;
    rdfs:label "data-requirements Q2: identifiers permanent"@en ;
    dcterms:identifier "I-123" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-134,
                knobit:K-135 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/data-requirements/Q2> .

<https://knobit.org/id/register/data-modelling#I-124> a edu:Question ;
    rdfs:label "data-requirements Q1: requirement types sound"@en ;
    dcterms:identifier "I-124" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-117 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/data-requirements/Q1> .

<https://knobit.org/id/register/data-modelling#I-125> a edu:Question ;
    rdfs:label "dm-requirements-history C1: requirement silent on current versus past values while the register settles history"@en ;
    dcterms:identifier "I-125" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-110 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-requirements-history/C1> .

<https://knobit.org/id/register/data-modelling#I-126> a edu:Question ;
    rdfs:label "dm-requirements-history C2: design solution restated as the need"@en ;
    dcterms:identifier "I-126" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-102 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-requirements-history/C2> .

<https://knobit.org/id/register/data-modelling#I-127> a edu:Question ;
    rdfs:label "dm-requirements-history C3: undefined qualifier raised, not defined by guess"@en ;
    dcterms:identifier "I-127" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-104 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-requirements-history/C3> .

<https://knobit.org/id/register/data-modelling#I-128> a edu:Question ;
    rdfs:label "dm-requirements-history C4: requirements with no source or no locator"@en ;
    dcterms:identifier "I-128" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-115 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-requirements-history/C4> .

<https://knobit.org/id/register/data-modelling#I-129> a edu:Question ;
    rdfs:label "dm-requirements-history C5: regulatory requirement without rationale"@en ;
    dcterms:identifier "I-129" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-120 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-requirements-history/C5> .

<https://knobit.org/id/register/data-modelling#I-130> a edu:Question ;
    rdfs:label "dm-requirements-history C6: one word per thing, and cardholder kept apart"@en ;
    dcterms:identifier "I-130" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-124 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-requirements-history/C6> .

<https://knobit.org/id/register/data-modelling#I-131> a edu:Question ;
    rdfs:label "dm-requirements-history C7: register with no purpose, exclusions or overlapping systems"@en ;
    dcterms:identifier "I-131" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-125 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-requirements-history/C7> .

<https://knobit.org/id/register/data-modelling#I-132> a edu:Question ;
    rdfs:label "dm-requirements-history C8: register describing things and no events"@en ;
    dcterms:identifier "I-132" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-126 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-requirements-history/C8> .

<https://knobit.org/id/register/data-modelling#I-133> a edu:Question ;
    rdfs:label "dm-requirements-history C9: missing and wrong term traces"@en ;
    dcterms:identifier "I-133" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-133 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-requirements-history/C9> .

<https://knobit.org/id/register/data-modelling#I-1801> a edu:Question ;
    rdfs:label "Meaning of a measured quantity"@en ;
    dcterms:identifier "I-1801" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K12-1044 ] ;
    schema:isPartOf register:data-modelling ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "What does the measured quantity 3 m mean? (a) 3 is the unit and m is the number; (b) the measured magnitude contains three metres; (c) m means three kilograms; (d) 3 m is always the same as 3 cm"@en .

<https://knobit.org/id/register/data-modelling#I-1802> a edu:Question ;
    rdfs:label "Hypothesis and counter-example"@en ;
    dcterms:identifier "I-1802" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K12-82024 ] ;
    schema:isPartOf register:data-modelling ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "What does one counter-example to the statement \"every prime number is odd\" prove? (a) the statement mostly holds; (b) the statement is false; (c) the statement is unproven; (d) the example proves nothing"@en .

<https://knobit.org/id/register/data-modelling#I-1803> a edu:Question ;
    rdfs:label "Database structure"@en ;
    dcterms:identifier "I-1803" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K12-69062 ] ;
    schema:isPartOf register:data-modelling ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "What is the primary key of a table for? (a) it identifies each row uniquely; (b) it sets the colour of a column; (c) it deletes the table; (d) it counts the columns"@en .

<https://knobit.org/id/register/data-modelling#I-1804> a edu:Question ;
    rdfs:label "Function (dependency, argument, value of the function)"@en ;
    dcterms:identifier "I-1804" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K12-3075 ] ;
    schema:isPartOf register:data-modelling ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "Which example describes a dependency in which each value of the argument corresponds to one value of the function? (a) height and weight of the whole class on one day; (b) the length of a side of a rectangle and its area, when the other side is 5; (c) one person's height and their favourite numbers; (d) two arbitrary numbers"@en .

<https://knobit.org/id/register/data-modelling#I-1805> a edu:Question ;
    rdfs:label "Rules of definition"@en ;
    dcterms:identifier "I-1805" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K12-11128 ] ;
    schema:isPartOf register:data-modelling ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "Which description consists of the main parts of a definition? (a) the nearest superordinate concept and the distinguishing characteristic; (b) only the name of the concept; (c) repeating the concept; (d) only an example"@en .

<https://knobit.org/id/register/data-modelling#I-1806> a edu:Question ;
    rdfs:label "Proposition and truth value"@en ;
    dcterms:identifier "I-1806" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K12-8017 ] ;
    schema:isPartOf register:data-modelling ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "Which is a proposition? (a) What time is it?; (b) Do the exercise!; (c) 17 is a prime number.; (d) x + 2 = 5"@en .

<https://knobit.org/id/register/data-modelling#I-1807> a edu:Question ;
    rdfs:label "Class diagram notation"@en ;
    dcterms:identifier "I-1807" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K12-80061 ] ;
    schema:isPartOf register:data-modelling ;
    schema:learningResourceType "multiple_choice" ;
    schema:text "What does a rectangle divided into three parts show in a UML class diagram? (a) the class name, its attributes and its operations; (b) starting a program; (c) a database table; (d) user input"@en .

<https://knobit.org/id/register/data-modelling#I-2001> a edu:Question ;
    rdfs:label "dm-planning C1: scope with no boundary"@en ;
    dcterms:identifier "I-2001" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-001 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-planning/C1> .

<https://knobit.org/id/register/data-modelling#I-2002> a edu:Question ;
    rdfs:label "dm-planning C2: plan and config disagree on naming"@en ;
    dcterms:identifier "I-2002" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-002 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-planning/C2> .

<https://knobit.org/id/register/data-modelling#I-2003> a edu:Question ;
    rdfs:label "dm-planning C3: model layers with no notation"@en ;
    dcterms:identifier "I-2003" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-003 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-planning/C3> .

<https://knobit.org/id/register/data-modelling#I-2004> a edu:Question ;
    rdfs:label "dm-planning C4: data rules not where the config says"@en ;
    dcterms:identifier "I-2004" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-004 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-planning/C4> .

<https://knobit.org/id/register/data-modelling#I-2005> a edu:Question ;
    rdfs:label "dm-planning C5: review planned by the modeller"@en ;
    dcterms:identifier "I-2005" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-005 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-planning/C5> .

<https://knobit.org/id/register/data-modelling#I-2006> a edu:Question ;
    rdfs:label "dm-planning C6: shared folder with no versions or baseline"@en ;
    dcterms:identifier "I-2006" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-006 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-planning/C6> .

<https://knobit.org/id/register/data-modelling#I-2007> a edu:Question ;
    rdfs:label "dm-planning I1: plans the term deposit mart deliverables"@en ;
    dcterms:identifier "I-2007" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-031 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-planning/I1> .

<https://knobit.org/id/register/data-modelling#I-2008> a edu:Question ;
    rdfs:label "dm-planning I2: scheme and notation per layer for its audience"@en ;
    dcterms:identifier "I-2008" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-032 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-planning/I2> .

<https://knobit.org/id/register/data-modelling#I-2009> a edu:Question ;
    rdfs:label "dm-planning I3: naming, definition and design standards set once"@en ;
    dcterms:identifier "I-2009" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-033 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-planning/I3> .

<https://knobit.org/id/register/data-modelling#I-2010> a edu:Question ;
    rdfs:label "dm-planning I4: tools and a repository with tagged baselines"@en ;
    dcterms:identifier "I-2010" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-034 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-planning/I4> .

<https://knobit.org/id/register/data-modelling#I-2101> a edu:Question ;
    rdfs:label "dm-model-review C1: scorecard missing a category, weights 95"@en ;
    dcterms:identifier "I-2101" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-1001 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-model-review/C1> .

<https://knobit.org/id/register/data-modelling#I-2102> a edu:Question ;
    rdfs:label "dm-model-review C2: full score with no evidence"@en ;
    dcterms:identifier "I-2102" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-1002 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-model-review/C2> .

<https://knobit.org/id/register/data-modelling#I-2103> a edu:Question ;
    rdfs:label "dm-model-review C3: model reviewed by its modeller"@en ;
    dcterms:identifier "I-2103" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-1003 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-model-review/C3> .

<https://knobit.org/id/register/data-modelling#I-2104> a edu:Question ;
    rdfs:label "dm-model-review C4: approved below the threshold"@en ;
    dcterms:identifier "I-2104" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-1004 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-model-review/C4> .

<https://knobit.org/id/register/data-modelling#I-2105> a edu:Question ;
    rdfs:label "dm-model-review C5: review finding with no owner or action"@en ;
    dcterms:identifier "I-2105" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-1005 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-model-review/C5> .

<https://knobit.org/id/register/data-modelling#I-2106> a edu:Question ;
    rdfs:label "dm-model-review C6: full structural score against validator errors"@en ;
    dcterms:identifier "I-2106" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-1006 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-model-review/C6> .

<https://knobit.org/id/register/data-modelling#I-2107> a edu:Question ;
    rdfs:label "dm-model-review C7: review of a version other than the one released"@en ;
    dcterms:identifier "I-2107" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-1007 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-model-review/C7> .

<https://knobit.org/id/register/data-modelling#I-2108> a edu:Question ;
    rdfs:label "dm-model-review I1: complete scorecard with evidence per category"@en ;
    dcterms:identifier "I-2108" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-1031 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-model-review/I1> .

<https://knobit.org/id/register/data-modelling#I-2109> a edu:Question ;
    rdfs:label "dm-model-review I2: scores follow the validator, trace, definitions and profiling"@en ;
    dcterms:identifier "I-2109" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-1031 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-model-review/I2> .

<https://knobit.org/id/register/data-modelling#I-2110> a edu:Question ;
    rdfs:label "dm-model-review I3: total and decision against the threshold"@en ;
    dcterms:identifier "I-2110" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-1031 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-model-review/I3> .

<https://knobit.org/id/register/data-modelling#I-2111> a edu:Question ;
    rdfs:label "dm-model-review I4: blocking findings with owner, action and due date"@en ;
    dcterms:identifier "I-2111" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-1031 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-model-review/I4> .

<https://knobit.org/id/register/data-modelling#I-2201> a edu:Question ;
    rdfs:label "dm-reverse-engineering C1: inferred relationship with no evidence or confidence"@en ;
    dcterms:identifier "I-2201" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-1101 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-reverse-engineering/C1> .

<https://knobit.org/id/register/data-modelling#I-2202> a edu:Question ;
    rdfs:label "dm-reverse-engineering C2: produced table not marked as-is"@en ;
    dcterms:identifier "I-2202" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-1102 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-reverse-engineering/C2> .

<https://knobit.org/id/register/data-modelling#I-2203> a edu:Question ;
    rdfs:label "dm-reverse-engineering C3: dead table lifted into the model"@en ;
    dcterms:identifier "I-2203" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-1103 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-reverse-engineering/C3> .

<https://knobit.org/id/register/data-modelling#I-2204> a edu:Question ;
    rdfs:label "dm-reverse-engineering C4: guessed indicator meaning written as a definition"@en ;
    dcterms:identifier "I-2204" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-1104 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-reverse-engineering/C4> .

<https://knobit.org/id/register/data-modelling#I-2205> a edu:Question ;
    rdfs:label "dm-reverse-engineering C5: replica catalogue read with no date"@en ;
    dcterms:identifier "I-2205" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-1105 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-reverse-engineering/C5> .

<https://knobit.org/id/register/data-modelling#I-2206> a edu:Question ;
    rdfs:label "dm-reverse-engineering C6: report copy lifted as a logical attribute"@en ;
    dcterms:identifier "I-2206" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-1106 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-reverse-engineering/C6> .

<https://knobit.org/id/register/data-modelling#I-2207> a edu:Question ;
    rdfs:label "dm-reverse-engineering I1: entities, associative entity and keys recovered"@en ;
    dcterms:identifier "I-2207" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-1131 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-reverse-engineering/I1> .

<https://knobit.org/id/register/data-modelling#I-2208> a edu:Question ;
    rdfs:label "dm-reverse-engineering I2: declared and inferred relationships kept apart"@en ;
    dcterms:identifier "I-2208" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-1131 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-reverse-engineering/I2> .

<https://knobit.org/id/register/data-modelling#I-2209> a edu:Question ;
    rdfs:label "dm-reverse-engineering I3: dead conversion table left out"@en ;
    dcterms:identifier "I-2209" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-1131 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-reverse-engineering/I3> .

<https://knobit.org/id/register/data-modelling#I-2210> a edu:Question ;
    rdfs:label "dm-reverse-engineering I4: unexplained column and code asked of the owner"@en ;
    dcterms:identifier "I-2210" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-1131 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-reverse-engineering/I4> .

<https://knobit.org/id/register/data-modelling#I-2211> a edu:Question ;
    rdfs:label "dm-reverse-engineering I5: report copy table kept physical"@en ;
    dcterms:identifier "I-2211" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-1131 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-reverse-engineering/I5> .

<https://knobit.org/id/register/data-modelling#I-2301> a edu:Question ;
    rdfs:label "dm-maintenance C1: model change with no reason"@en ;
    dcterms:identifier "I-2301" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-1201 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-maintenance/C1> .

<https://knobit.org/id/register/data-modelling#I-2302> a edu:Question ;
    rdfs:label "dm-maintenance C2: deprecated column with no impact analysis"@en ;
    dcterms:identifier "I-2302" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-1202 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-maintenance/C2> .

<https://knobit.org/id/register/data-modelling#I-2303> a edu:Question ;
    rdfs:label "dm-maintenance C3: change of meaning released as a minor version"@en ;
    dcterms:identifier "I-2303" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-1203 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-maintenance/C3> .

<https://knobit.org/id/register/data-modelling#I-2304> a edu:Question ;
    rdfs:label "dm-maintenance C4: deployed column renamed with no migration"@en ;
    dcterms:identifier "I-2304" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-1204 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-maintenance/C4> .

<https://knobit.org/id/register/data-modelling#I-2305> a edu:Question ;
    rdfs:label "dm-maintenance C5: release with no baseline"@en ;
    dcterms:identifier "I-2305" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-1205 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-maintenance/C5> .

<https://knobit.org/id/register/data-modelling#I-2306> a edu:Question ;
    rdfs:label "dm-maintenance C6: change released without approval"@en ;
    dcterms:identifier "I-2306" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-1206 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-maintenance/C6> .

<https://knobit.org/id/register/data-modelling#I-2307> a edu:Question ;
    rdfs:label "dm-maintenance I1: column drop released as a major version"@en ;
    dcterms:identifier "I-2307" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-1231 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-maintenance/I1> .

<https://knobit.org/id/register/data-modelling#I-2308> a edu:Question ;
    rdfs:label "dm-maintenance I2: reason and impact including the regulatory return"@en ;
    dcterms:identifier "I-2308" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-1231 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-maintenance/I2> .

<https://knobit.org/id/register/data-modelling#I-2309> a edu:Question ;
    rdfs:label "dm-maintenance I3: expand-and-contract migration with rollback"@en ;
    dcterms:identifier "I-2309" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-1231 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-maintenance/I3> .

<https://knobit.org/id/register/data-modelling#I-2310> a edu:Question ;
    rdfs:label "dm-maintenance I4: baseline tag and the plan's approver"@en ;
    dcterms:identifier "I-2310" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-1231 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-maintenance/I4> .

<https://knobit.org/id/register/data-modelling#I-2401> a edu:Question ;
    rdfs:label "dm-design-schemes C1: star schema for card authorisations"@en ;
    dcterms:identifier "I-2401" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-671 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-design-schemes/C1> .

<https://knobit.org/id/register/data-modelling#I-2402> a edu:Question ;
    rdfs:label "dm-design-schemes C2: Data Vault for customers and accounts from two sources"@en ;
    dcterms:identifier "I-2402" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-672 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-design-schemes/C2> .

<https://knobit.org/id/register/data-modelling#I-2403> a edu:Question ;
    rdfs:label "dm-design-schemes C3: document per account-month for the mobile statement"@en ;
    dcterms:identifier "I-2403" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-673 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-design-schemes/C3> .

<https://knobit.org/id/register/data-modelling#I-2404> a edu:Question ;
    rdfs:label "dm-design-schemes C4: view over partitioned balance history"@en ;
    dcterms:identifier "I-2404" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-674 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-design-schemes/C4> .

<https://knobit.org/id/register/data-modelling#I-2405> a edu:Question ;
    rdfs:label "dm-design-schemes C5: loans and collateral as a UML class diagram"@en ;
    dcterms:identifier "I-2405" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-581 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-design-schemes/C5> .

<https://knobit.org/id/register/data-modelling#I-2406> a edu:Question ;
    rdfs:label "dm-design-schemes C6: account holding as fact types"@en ;
    dcterms:identifier "I-2406" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-582 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-design-schemes/C6> .

<https://knobit.org/id/register/data-modelling#I-2407> a edu:Question ;
    rdfs:label "dm-design-schemes C7: card customer record onto the canonical party model"@en ;
    dcterms:identifier "I-2407" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-583 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-design-schemes/C7> .

<https://knobit.org/id/register/data-modelling#I-401> a edu:Question ;
    rdfs:label "party-taxonomy C1: person and organisation as kinds of party"@en ;
    dcterms:identifier "I-401" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-411 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/party-taxonomy/C1> .

<https://knobit.org/id/register/data-modelling#I-402> a edu:Question ;
    rdfs:label "party-taxonomy C2 and C3: customer and supplier as roles"@en ;
    dcterms:identifier "I-402" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-411,
                knobit:K-421 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/party-taxonomy/C2>,
        <https://knobit.org/id/task/party-taxonomy/C3> .

<https://knobit.org/id/register/data-modelling#I-403> a edu:Question ;
    rdfs:label "party-taxonomy I2: generalisation constraints and role cardinality"@en ;
    dcterms:identifier "I-403" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-421,
                knobit:K-519 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/party-taxonomy/I2> .

<https://knobit.org/id/register/data-modelling#I-404> a edu:Question ;
    rdfs:label "party-taxonomy Q1: no gratuitous derived classes"@en ;
    dcterms:identifier "I-404" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-405 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/party-taxonomy/Q1> .

<https://knobit.org/id/register/data-modelling#I-405> a edu:Question ;
    rdfs:label "taxonomy-from-definitions C1 and C3: broader concept from the definition head"@en ;
    dcterms:identifier "I-405" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-422 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/taxonomy-from-definitions/C1>,
        <https://knobit.org/id/task/taxonomy-from-definitions/C3> .

<https://knobit.org/id/register/data-modelling#I-406> a edu:Question ;
    rdfs:label "taxonomy-from-definitions C2: synonyms resolved"@en ;
    dcterms:identifier "I-406" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-410,
                knobit:K-422 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/taxonomy-from-definitions/C2> .

<https://knobit.org/id/register/data-modelling#I-407> a edu:Question ;
    rdfs:label "taxonomy-from-definitions C4: justified polyhierarchy"@en ;
    dcterms:identifier "I-407" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-414 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/taxonomy-from-definitions/C4> .

<https://knobit.org/id/register/data-modelling#I-408> a edu:Question ;
    rdfs:label "taxonomy-from-definitions C5: part-of kept out of the hierarchy"@en ;
    dcterms:identifier "I-408" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-413 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/taxonomy-from-definitions/C5> .

<https://knobit.org/id/register/data-modelling#I-409> a edu:Question ;
    rdfs:label "taxonomy-from-definitions C6: roots with their missing broader concepts"@en ;
    dcterms:identifier "I-409" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-420,
                knobit:K-422 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/taxonomy-from-definitions/C6> .

<https://knobit.org/id/register/data-modelling#I-410> a edu:Question ;
    rdfs:label "taxonomy-from-definitions C7: no extra kind-of links"@en ;
    dcterms:identifier "I-410" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-411 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/taxonomy-from-definitions/C7> .

<https://knobit.org/id/register/data-modelling#I-411> a edu:Question ;
    rdfs:label "dm-taxonomy-notes C1: one label for customer and general ledger account"@en ;
    dcterms:identifier "I-411" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-401 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-taxonomy-notes/C1> .

<https://knobit.org/id/register/data-modelling#I-412> a edu:Question ;
    rdfs:label "dm-taxonomy-notes C2: catch-all node given a scope note"@en ;
    dcterms:identifier "I-412" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-402 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-taxonomy-notes/C2> .

<https://knobit.org/id/register/data-modelling#I-413> a edu:Question ;
    rdfs:label "dm-taxonomy-notes C3: overlapping segments given reciprocal scope notes"@en ;
    dcterms:identifier "I-413" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-403 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-taxonomy-notes/C3> .

<https://knobit.org/id/register/data-modelling#I-414> a edu:Question ;
    rdfs:label "dm-taxonomy-notes C4: segment widened in place given a history note"@en ;
    dcterms:identifier "I-414" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-404 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-taxonomy-notes/C4> .

<https://knobit.org/id/register/data-modelling#I-415> a edu:Question ;
    rdfs:label "dm-taxonomy-notes C5: sibling labels of mixed form"@en ;
    dcterms:identifier "I-415" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-406 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-taxonomy-notes/C5> .

<https://knobit.org/id/register/data-modelling#I-416> a edu:Question ;
    rdfs:label "dm-taxonomy-notes C6: system name and jargon as node labels"@en ;
    dcterms:identifier "I-416" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-407 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-taxonomy-notes/C6> .

<https://knobit.org/id/register/data-modelling#I-417> a edu:Question ;
    rdfs:label "dm-taxonomy-notes C7: payment nodes combining reach and settlement speed"@en ;
    dcterms:identifier "I-417" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-408 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-taxonomy-notes/C7> .

<https://knobit.org/id/register/data-modelling#I-418> a edu:Question ;
    rdfs:label "dm-taxonomy-notes C8: value segment mixed with legal-form segments"@en ;
    dcterms:identifier "I-418" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-409 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-taxonomy-notes/C8> .

<https://knobit.org/id/register/data-modelling#I-419> a edu:Question ;
    rdfs:label "dm-taxonomy-notes C9: named banks as nodes"@en ;
    dcterms:identifier "I-419" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-412 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-taxonomy-notes/C9> .

<https://knobit.org/id/register/data-modelling#I-420> a edu:Question ;
    rdfs:label "dm-taxonomy-notes C10: credit assessment and agreement document under Loan"@en ;
    dcterms:identifier "I-420" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-415 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-taxonomy-notes/C10> .

<https://knobit.org/id/register/data-modelling#I-421> a edu:Question ;
    rdfs:label "dm-taxonomy-notes C11: parent and children disagreeing"@en ;
    dcterms:identifier "I-421" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-416 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-taxonomy-notes/C11> .

<https://knobit.org/id/register/data-modelling#I-422> a edu:Question ;
    rdfs:label "dm-taxonomy-notes C12: home equity mortgage beside Mortgage"@en ;
    dcterms:identifier "I-422" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-417 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-taxonomy-notes/C12> .

<https://knobit.org/id/register/data-modelling#I-423> a edu:Question ;
    rdfs:label "dm-taxonomy-notes C13: home-grown purpose list and copied activity classification"@en ;
    dcterms:identifier "I-423" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-418 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-taxonomy-notes/C13> .

<https://knobit.org/id/register/data-modelling#I-424> a edu:Question ;
    rdfs:label "dm-taxonomy-notes C14: node deleted while accounts refer to it"@en ;
    dcterms:identifier "I-424" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-423 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-taxonomy-notes/C14> .

<https://knobit.org/id/register/data-modelling#I-425> a edu:Question ;
    rdfs:label "dm-taxonomy-notes C15: retired product id reused for a new product"@en ;
    dcterms:identifier "I-425" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-424 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-taxonomy-notes/C15> .

<https://knobit.org/id/register/data-modelling#I-501> a edu:Question ;
    rdfs:label "logical-model C1: insertion anomaly traced to the collateral repeating group"@en ;
    dcterms:identifier "I-501" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-501,
                knobit:K-504,
                knobit:K-531 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/logical-model/C1> .

<https://knobit.org/id/register/data-modelling#I-502> a edu:Question ;
    rdfs:label "logical-model C1: update anomaly traced to the branch transitive dependency"@en ;
    dcterms:identifier "I-502" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-502,
                knobit:K-509,
                knobit:K-531 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/logical-model/C1> .

<https://knobit.org/id/register/data-modelling#I-503> a edu:Question ;
    rdfs:label "logical-model C1: deletion anomaly traced to the snapshot held nowhere else"@en ;
    dcterms:identifier "I-503" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-503,
                knobit:K-531 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/logical-model/C1> .

<https://knobit.org/id/register/data-modelling#I-504> a edu:Question ;
    rdfs:label "logical-model C2: many-to-many resolved into an associative entity"@en ;
    dcterms:identifier "I-504" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-534 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/logical-model/C2> .

<https://knobit.org/id/register/data-modelling#I-505> a edu:Question ;
    rdfs:label "logical-model C3a: assessment snapshots kept and marked, not removed"@en ;
    dcterms:identifier "I-505" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-510 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/logical-model/C3> .

<https://knobit.org/id/register/data-modelling#I-506> a edu:Question ;
    rdfs:label "logical-model I1a: collateral repeating group becomes its own entity"@en ;
    dcterms:identifier "I-506" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-504,
                knobit:K-535 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/logical-model/I1> .

<https://knobit.org/id/register/data-modelling#I-507> a edu:Question ;
    rdfs:label "logical-model I1b: CUSTOMER.address split"@en ;
    dcterms:identifier "I-507" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-505 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/logical-model/I1> .

<https://knobit.org/id/register/data-modelling#I-508> a edu:Question ;
    rdfs:label "logical-model I2a: branch attributes moved to a Branch entity"@en ;
    dcterms:identifier "I-508" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-509,
                knobit:K-533 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/logical-model/I2> .

<https://knobit.org/id/register/data-modelling#I-509> a edu:Question ;
    rdfs:label "logical-model I2b: functional dependencies written down"@en ;
    dcterms:identifier "I-509" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-532 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/logical-model/I2> .

<https://knobit.org/id/register/data-modelling#I-510> a edu:Question ;
    rdfs:label "logical-model I3: stored derivable attributes removed or given a derivation"@en ;
    dcterms:identifier "I-510" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-510 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/logical-model/I3> .

<https://knobit.org/id/register/data-modelling#I-511> a edu:Question ;
    rdfs:label "logical-model I4a: employed and self-employed subtypes"@en ;
    dcterms:identifier "I-511" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-516,
                knobit:K-536 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/logical-model/I4> .

<https://knobit.org/id/register/data-modelling#I-512> a edu:Question ;
    rdfs:label "logical-model I4b: subtype constraints declared"@en ;
    dcterms:identifier "I-512" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-519 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/logical-model/I4> .

<https://knobit.org/id/register/data-modelling#I-513> a edu:Question ;
    rdfs:label "logical-model I5: unstable meaningful key replaced, natural key kept"@en ;
    dcterms:identifier "I-513" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-517 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/logical-model/I5> .

<https://knobit.org/id/register/data-modelling#I-514> a edu:Question ;
    rdfs:label "logical-model Q1: no relationship contradicts a rule"@en ;
    dcterms:identifier "I-514" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-529 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/logical-model/Q1> .

<https://knobit.org/id/register/data-modelling#I-515> a edu:Question ;
    rdfs:label "logical-model C4: many-to-many not left unresolved"@en ;
    dcterms:identifier "I-515" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-521 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/logical-model/C4> .

<https://knobit.org/id/register/data-modelling#I-516> a edu:Question ;
    rdfs:label "logical-model Q3: redundant relationship removed"@en ;
    dcterms:identifier "I-516" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-526 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/logical-model/Q3> .

<https://knobit.org/id/register/data-modelling#I-517> a edu:Question ;
    rdfs:label "dm-logical-integrity C1: advisor determinant that is not a key (BCNF)"@en ;
    dcterms:identifier "I-517" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-511 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-logical-integrity/C1> .

<https://knobit.org/id/register/data-modelling#I-518> a edu:Question ;
    rdfs:label "dm-logical-integrity C2: dependencies lost by the routing split and by the answer's own split"@en ;
    dcterms:identifier "I-518" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-515 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-logical-integrity/C2> .

<https://knobit.org/id/register/data-modelling#I-519> a edu:Question ;
    rdfs:label "dm-logical-integrity C3: lossy split of card issue on the role code"@en ;
    dcterms:identifier "I-519" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-514 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-logical-integrity/C3> .

<https://knobit.org/id/register/data-modelling#I-520> a edu:Question ;
    rdfs:label "dm-logical-integrity C4: broker join dependency decomposed, signatory authority kept whole"@en ;
    dcterms:identifier "I-520" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-513 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-logical-integrity/C4> .

<https://knobit.org/id/register/data-modelling#I-521> a edu:Question ;
    rdfs:label "dm-logical-integrity C5: connection trap in the broker commission report"@en ;
    dcterms:identifier "I-521" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-523 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-logical-integrity/C5> .

<https://knobit.org/id/register/data-modelling#I-522> a edu:Question ;
    rdfs:label "dm-logical-integrity C6: fan trap between card and card transaction"@en ;
    dcterms:identifier "I-522" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-524 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-logical-integrity/C6> .

<https://knobit.org/id/register/data-modelling#I-523> a edu:Question ;
    rdfs:label "dm-logical-integrity C7: chasm trap through the optional advisor"@en ;
    dcterms:identifier "I-523" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-525 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-logical-integrity/C7> .

<https://knobit.org/id/register/data-modelling#I-524> a edu:Question ;
    rdfs:label "dm-logical-integrity I1: card settings as name-value rows, waived product features kept"@en ;
    dcterms:identifier "I-524" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-507 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-logical-integrity/I1> .

<https://knobit.org/id/register/data-modelling#I-525> a edu:Question ;
    rdfs:label "dm-logical-integrity I2: loan attributes on the instalment (partial dependency)"@en ;
    dcterms:identifier "I-525" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-508 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-logical-integrity/I2> .

<https://knobit.org/id/register/data-modelling#I-526> a edu:Question ;
    rdfs:label "dm-logical-integrity I3: branch languages and accessibility features in one entity (4NF)"@en ;
    dcterms:identifier "I-526" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-512 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-logical-integrity/I3> .

<https://knobit.org/id/register/data-modelling#I-527> a edu:Question ;
    rdfs:label "dm-logical-integrity I4: loan histories split, exchange rate kept together"@en ;
    dcterms:identifier "I-527" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-520 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-logical-integrity/I4> .

<https://knobit.org/id/register/data-modelling#I-528> a edu:Question ;
    rdfs:label "dm-logical-integrity I5: polymorphic complaint subject"@en ;
    dcterms:identifier "I-528" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-522 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-logical-integrity/I5> .

<https://knobit.org/id/register/data-modelling#I-529> a edu:Question ;
    rdfs:label "dm-logical-integrity I6: retail customer and card holder overlap"@en ;
    dcterms:identifier "I-529" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-527 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-logical-integrity/I6> .

<https://knobit.org/id/register/data-modelling#I-530> a edu:Question ;
    rdfs:label "dm-logical-integrity I7: direct debit mandates split by country"@en ;
    dcterms:identifier "I-530" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-528 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-logical-integrity/I7> .

<https://knobit.org/id/register/data-modelling#I-531> a edu:Question ;
    rdfs:label "dm-logical-integrity I8: account domains and closing-date rule not implied by keys and domains"@en ;
    dcterms:identifier "I-531" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-530 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-logical-integrity/I8> .

<https://knobit.org/id/register/data-modelling#I-532> a edu:Question ;
    rdfs:label "dm-logical-integrity I9: card limit amount with two meanings"@en ;
    dcterms:identifier "I-532" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-506 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-logical-integrity/I9> .

<https://knobit.org/id/register/data-modelling#I-533> a edu:Question ;
    rdfs:label "dm-logical-integrity I10: business customer identified only by a system key, complaint reference kept"@en ;
    dcterms:identifier "I-533" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-518 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-logical-integrity/I10> .

<https://knobit.org/id/register/data-modelling#I-601> a edu:Question ;
    rdfs:label "physical-model C1: deliberate snapshot kept, not reported as a duplicate"@en ;
    dcterms:identifier "I-601" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-601 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/physical-model/C1> .

<https://knobit.org/id/register/data-modelling#I-602> a edu:Question ;
    rdfs:label "physical-model C2: logical defect routed upstream, not fixed here"@en ;
    dcterms:identifier "I-602" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-505,
                knobit:K-641 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/physical-model/C2> .

<https://knobit.org/id/register/data-modelling#I-603> a edu:Question ;
    rdfs:label "physical-model C3: mixed grain found and resolved"@en ;
    dcterms:identifier "I-603" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-626 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/physical-model/C3> .

<https://knobit.org/id/register/data-modelling#I-604> a edu:Question ;
    rdfs:label "physical-model I1: unenforced constraints kept and checked"@en ;
    dcterms:identifier "I-604" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-313 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/physical-model/I1> .

<https://knobit.org/id/register/data-modelling#I-605> a edu:Question ;
    rdfs:label "physical-model I2a: surrogate key without natural-key uniqueness"@en ;
    dcterms:identifier "I-605" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-610 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/physical-model/I2> .

<https://knobit.org/id/register/data-modelling#I-606> a edu:Question ;
    rdfs:label "physical-model I2b: versioned dimension referenced by business key"@en ;
    dcterms:identifier "I-606" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-624 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/physical-model/I2> .

<https://knobit.org/id/register/data-modelling#I-607> a edu:Question ;
    rdfs:label "physical-model I3: rolled-up subtypes given a discriminator and a check"@en ;
    dcterms:identifier "I-607" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-606 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/physical-model/I3> .

<https://knobit.org/id/register/data-modelling#I-608> a edu:Question ;
    rdfs:label "physical-model I4a: FLOAT for money"@en ;
    dcterms:identifier "I-608" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-618 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/physical-model/I4> .

<https://knobit.org/id/register/data-modelling#I-609> a edu:Question ;
    rdfs:label "physical-model I4b: sentinel date replaced"@en ;
    dcterms:identifier "I-609" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-629 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/physical-model/I4> .

<https://knobit.org/id/register/data-modelling#I-610> a edu:Question ;
    rdfs:label "physical-model I5a: copied branch name"@en ;
    dcterms:identifier "I-610" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-601 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/physical-model/I5> .

<https://knobit.org/id/register/data-modelling#I-611> a edu:Question ;
    rdfs:label "physical-model I5b: stored sum without derivation"@en ;
    dcterms:identifier "I-611" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-603 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/physical-model/I5> .

<https://knobit.org/id/register/data-modelling#I-612> a edu:Question ;
    rdfs:label "physical-model Q1a: validity periods consistently bounded"@en ;
    dcterms:identifier "I-612" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-623 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/physical-model/Q1> .

<https://knobit.org/id/register/data-modelling#I-613> a edu:Question ;
    rdfs:label "physical-model Q1b: one current version per customer"@en ;
    dcterms:identifier "I-613" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-705 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/physical-model/Q1> .

<https://knobit.org/id/register/data-modelling#I-614> a edu:Question ;
    rdfs:label "dm-physical-postgres C1: destructive referential actions changed, schedule-line cascade kept"@en ;
    dcterms:identifier "I-614" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-613 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-physical-postgres/C1> .

<https://knobit.org/id/register/data-modelling#I-615> a edu:Question ;
    rdfs:label "dm-physical-postgres C2: soft-deleted customers and the constraints"@en ;
    dcterms:identifier "I-615" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-625 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-physical-postgres/C2> .

<https://knobit.org/id/register/data-modelling#I-616> a edu:Question ;
    rdfs:label "dm-physical-postgres C3: index set derived from access paths"@en ;
    dcterms:identifier "I-616" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-621 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-physical-postgres/C3> .

<https://knobit.org/id/register/data-modelling#I-617> a edu:Question ;
    rdfs:label "dm-physical-postgres C4: savings rate history, email overwrite kept"@en ;
    dcterms:identifier "I-617" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-622 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-physical-postgres/C4> .

<https://knobit.org/id/register/data-modelling#I-618> a edu:Question ;
    rdfs:label "dm-physical-postgres I1: branch merged into account"@en ;
    dcterms:identifier "I-618" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-602 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-physical-postgres/I1> .

<https://knobit.org/id/register/data-modelling#I-619> a edu:Question ;
    rdfs:label "dm-physical-postgres I2: overdraft terms split without an enforced one-to-one"@en ;
    dcterms:identifier "I-619" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-604 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-physical-postgres/I2> .

<https://knobit.org/id/register/data-modelling#I-620> a edu:Question ;
    rdfs:label "dm-physical-postgres I3: card transactions in clone tables by year"@en ;
    dcterms:identifier "I-620" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-605 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-physical-postgres/I3> .

<https://knobit.org/id/register/data-modelling#I-621> a edu:Question ;
    rdfs:label "dm-physical-postgres I4: customer subtypes rolled down with no supertype"@en ;
    dcterms:identifier "I-621" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-607 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-physical-postgres/I4> .

<https://knobit.org/id/register/data-modelling#I-622> a edu:Question ;
    rdfs:label "dm-physical-postgres I5: product group hierarchy as a path string"@en ;
    dcterms:identifier "I-622" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-608 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-physical-postgres/I5> .

<https://knobit.org/id/register/data-modelling#I-623> a edu:Question ;
    rdfs:label "dm-physical-postgres I6: loan document held on a file share by path"@en ;
    dcterms:identifier "I-623" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-609 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-physical-postgres/I6> .

<https://knobit.org/id/register/data-modelling#I-624> a edu:Question ;
    rdfs:label "dm-physical-postgres I7: meaningful loan_id printed as the loan number"@en ;
    dcterms:identifier "I-624" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-611 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-physical-postgres/I7> .

<https://knobit.org/id/register/data-modelling#I-625> a edu:Question ;
    rdfs:label "dm-physical-postgres I8: undeclared standing-order foreign key"@en ;
    dcterms:identifier "I-625" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-612 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-physical-postgres/I8> .

<https://knobit.org/id/register/data-modelling#I-626> a edu:Question ;
    rdfs:label "dm-physical-postgres I9: account status list fixed in a CHECK, debit/credit check kept"@en ;
    dcterms:identifier "I-626" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-616 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-physical-postgres/I9> .

<https://knobit.org/id/register/data-modelling#I-627> a edu:Question ;
    rdfs:label "dm-physical-postgres I10: current address read from key order"@en ;
    dcterms:identifier "I-627" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-620 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-physical-postgres/I10> .

<https://knobit.org/id/register/data-modelling#I-628> a edu:Question ;
    rdfs:label "dm-physical-postgres I11: month-end measures without additivity"@en ;
    dcterms:identifier "I-628" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-627 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-physical-postgres/I11> .

<https://knobit.org/id/register/data-modelling#I-629> a edu:Question ;
    rdfs:label "dm-physical-postgres I12: nullable channel on the payment volume join"@en ;
    dcterms:identifier "I-629" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-628 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-physical-postgres/I12> .

<https://knobit.org/id/register/data-modelling#I-630> a edu:Question ;
    rdfs:label "dm-physical-postgres I13: null meaning no ATM limit"@en ;
    dcterms:identifier "I-630" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-630 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-physical-postgres/I13> .

<https://knobit.org/id/register/data-modelling#I-801> a edu:Question ;
    rdfs:label "ddl-review C1a and Q1b: fixes routed upstream, no hand edits"@en ;
    dcterms:identifier "I-801" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-641,
                knobit:K-801 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/ddl-review/C1>,
        <https://knobit.org/id/task/ddl-review/Q1> .

<https://knobit.org/id/register/data-modelling#I-802> a edu:Question ;
    rdfs:label "ddl-review C1b and C1c: objects in the SQL and not in the model"@en ;
    dcterms:identifier "I-802" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-803 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/ddl-review/C1> .

<https://knobit.org/id/register/data-modelling#I-803> a edu:Question ;
    rdfs:label "ddl-review C2a and C2b: unenforced keys on Snowflake, enforced on Postgres"@en ;
    dcterms:identifier "I-803" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-313 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/ddl-review/C2> .

<https://knobit.org/id/register/data-modelling#I-804> a edu:Question ;
    rdfs:label "ddl-review C2c: CREATE INDEX on Snowflake"@en ;
    dcterms:identifier "I-804" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-813 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/ddl-review/C2> .

<https://knobit.org/id/register/data-modelling#I-805> a edu:Question ;
    rdfs:label "ddl-review C3a: binary floating point for money"@en ;
    dcterms:identifier "I-805" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-618 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/ddl-review/C3> .

<https://knobit.org/id/register/data-modelling#I-806> a edu:Question ;
    rdfs:label "ddl-review C3b: one scale for every currency"@en ;
    dcterms:identifier "I-806" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-816 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/ddl-review/C3> .

<https://knobit.org/id/register/data-modelling#I-807> a edu:Question ;
    rdfs:label "ddl-review I1a: constraint rule absent from the SQL"@en ;
    dcterms:identifier "I-807" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-310 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/ddl-review/I1> .

<https://knobit.org/id/register/data-modelling#I-808> a edu:Question ;
    rdfs:label "ddl-review I1b: configured dialect unrendered"@en ;
    dcterms:identifier "I-808" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-806 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/ddl-review/I1> .

<https://knobit.org/id/register/data-modelling#I-809> a edu:Question ;
    rdfs:label "ddl-review I2a: truncated identifier"@en ;
    dcterms:identifier "I-809" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-810 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/ddl-review/I2> .

<https://knobit.org/id/register/data-modelling#I-810> a edu:Question ;
    rdfs:label "ddl-review I2b: CHECK ignored on MySQL 5.7"@en ;
    dcterms:identifier "I-810" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-808 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/ddl-review/I2> .

<https://knobit.org/id/register/data-modelling#I-811> a edu:Question ;
    rdfs:label "ddl-review I3a: IBAN length from the sample"@en ;
    dcterms:identifier "I-811" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-817 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/ddl-review/I3> .

<https://knobit.org/id/register/data-modelling#I-812> a edu:Question ;
    rdfs:label "ddl-review I3b: value date as a timestamp"@en ;
    dcterms:identifier "I-812" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-828 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/ddl-review/I3> .

<https://knobit.org/id/register/data-modelling#I-813> a edu:Question ;
    rdfs:label "ddl-review I4a: DEFAULT 0 on a settled amount"@en ;
    dcterms:identifier "I-813" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-820 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/ddl-review/I4> .

<https://knobit.org/id/register/data-modelling#I-814> a edu:Question ;
    rdfs:label "ddl-review I4b: restricted column without access design"@en ;
    dcterms:identifier "I-814" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-821 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/ddl-review/I4> .

<https://knobit.org/id/register/data-modelling#I-815> a edu:Question ;
    rdfs:label "ddl-review I5a: greenfield DDL against a populated table"@en ;
    dcterms:identifier "I-815" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-822 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/ddl-review/I5> .

<https://knobit.org/id/register/data-modelling#I-816> a edu:Question ;
    rdfs:label "ddl-review I5b: drop script as rollback"@en ;
    dcterms:identifier "I-816" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-823 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/ddl-review/I5> .

<https://knobit.org/id/register/data-modelling#I-817> a edu:Question ;
    rdfs:label "ddl-review Q1a: schema name baked in"@en ;
    dcterms:identifier "I-817" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-824 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/ddl-review/Q1> .

<https://knobit.org/id/register/data-modelling#I-818> a edu:Question ;
    rdfs:label "dm-ddl-review-deploy C1: DDL older than its model"@en ;
    dcterms:identifier "I-818" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-802 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-ddl-review-deploy/C1> .

<https://knobit.org/id/register/data-modelling#I-819> a edu:Question ;
    rdfs:label "dm-ddl-review-deploy C2: SQL approved by reading, never executed"@en ;
    dcterms:identifier "I-819" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-825 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-ddl-review-deploy/C2> .

<https://knobit.org/id/register/data-modelling#I-820> a edu:Question ;
    rdfs:label "dm-ddl-review-deploy C3: production index in no model, no drift comparison"@en ;
    dcterms:identifier "I-820" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-826 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-ddl-review-deploy/C3> .

<https://knobit.org/id/register/data-modelling#I-821> a edu:Question ;
    rdfs:label "dm-ddl-review-deploy I1: header warning carried without a decision"@en ;
    dcterms:identifier "I-821" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-804 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-ddl-review-deploy/I1> .

<https://knobit.org/id/register/data-modelling#I-822> a edu:Question ;
    rdfs:label "dm-ddl-review-deploy I2: regex check running on one engine only"@en ;
    dcterms:identifier "I-822" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-809 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-ddl-review-deploy/I2> .

<https://knobit.org/id/register/data-modelling#I-823> a edu:Question ;
    rdfs:label "dm-ddl-review-deploy I3: reserved word as a column name"@en ;
    dcterms:identifier "I-823" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-811 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-ddl-review-deploy/I3> .

<https://knobit.org/id/register/data-modelling#I-824> a edu:Question ;
    rdfs:label "dm-ddl-review-deploy I4: BOOLEAN meaning four things on five engines"@en ;
    dcterms:identifier "I-824" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-812 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-ddl-review-deploy/I4> .

<https://knobit.org/id/register/data-modelling#I-825> a edu:Question ;
    rdfs:label "dm-ddl-review-deploy I5: mandatory foreign-key cycle taken as resolved"@en ;
    dcterms:identifier "I-825" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-814 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-ddl-review-deploy/I5> .

<https://knobit.org/id/register/data-modelling#I-826> a edu:Question ;
    rdfs:label "dm-ddl-review-deploy I6: collation deciding what the IBAN key means"@en ;
    dcterms:identifier "I-826" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-819 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-ddl-review-deploy/I6> .

<https://knobit.org/id/register/data-modelling#I-827> a edu:Question ;
    rdfs:label "dm-ddl-review-deploy I7: event timestamp without a zone, value date as a timestamp"@en ;
    dcterms:identifier "I-827" ;
    edu:solvableWith [ a edu:KnobitSet ;
            edu:memberKnobit knobit:K-827 ] ;
    schema:isPartOf register:data-modelling,
        <https://knobit.org/id/task/dm-ddl-review-deploy/I7> .

knobit:K-003 rdfs:label "Recognises a model layer planned with no notation"@en .

knobit:K-005 rdfs:label "Recognises a model review planned by its modeller"@en .

knobit:K-006 rdfs:label "Recognises a model with no repository or baseline"@en .

knobit:K-101 rdfs:label "Recognises a data requirement making several claims"@en .

knobit:K-102 rdfs:label "Recognises a data requirement prescribing a design solution"@en .

knobit:K-103 rdfs:label "Recognises a statement outside the scope of data requirements"@en .

knobit:K-104 rdfs:label "Recognises an ambiguous business term in a data requirement"@en .

knobit:K-105 rdfs:label "Recognises untestable wording in a data requirement"@en .

knobit:K-106 rdfs:label "Recognises an unverifiable data requirement"@en .

knobit:K-107 rdfs:label "Recognises a reference with several possible referents"@en .

knobit:K-108 rdfs:label "Recognises a data requirement without a named subject"@en .

knobit:K-109 rdfs:label "Recognises a measure stated without unit or basis"@en .

knobit:K-110 rdfs:label "Recognises a data requirement silent on current versus past values"@en .

knobit:K-111 rdfs:label "Recognises an absolute statement with its exception unasked"@en .

knobit:K-112 rdfs:label "Recognises a mandatory attribute without its moment of obligation"@en .

knobit:K-113 rdfs:label "Recognises a business rule left inside another statement"@en .

knobit:K-114 rdfs:label "Recognises content filed under the wrong requirement"@en .

knobit:K-115 rdfs:label "Recognises an unsourced data requirement"@en .

knobit:K-116 rdfs:label "Recognises a missing or meaningless requirement priority"@en .

knobit:K-117 rdfs:label "Recognises a missing or wrong requirement type"@en .

knobit:K-120 rdfs:label "Recognises a missing rationale for a non-obvious requirement"@en .

knobit:K-121 rdfs:label "Recognises duplicate data requirements"@en .

knobit:K-122 rdfs:label "Recognises paraphrased data requirements"@en .

knobit:K-123 rdfs:label "Recognises conflicting data requirements"@en .

knobit:K-124 rdfs:label "Recognises inconsistent terminology across the register"@en .

knobit:K-125 rdfs:label "Recognises a requirements register with unbounded scope"@en .

knobit:K-126 rdfs:label "Recognises a requirements register describing no events"@en .

knobit:K-127 rdfs:label "Recognises an uncovered identity requirement"@en .

knobit:K-128 rdfs:label "Recognises an uncovered volume or retention requirement"@en .

knobit:K-129 rdfs:label "Recognises an uncovered sensitivity or access requirement"@en .

knobit:K-131 rdfs:label "Recognises undecided history requirements across the register"@en .

knobit:K-132 rdfs:label "Recognises a requirements register serving no stated question"@en .

knobit:K-133 rdfs:label "Recognises a missing or wrong requirement trace"@en .

knobit:K-134 rdfs:label "Recognises unstable requirement identifiers"@en .

knobit:K-152 rdfs:label "Distinguishes a business requirement from a design solution"@en .

knobit:K-153 rdfs:label "Explains the data requirement types of the register"@en .

knobit:K-154 rdfs:label "Explains requirement attributes and traceability"@en .

knobit:K-155 rdfs:label "Explains current value, history and point-in-time reproducibility"@en .

knobit:K-156 rdfs:label "Explains the identity of a business thing"@en .

knobit:K-157 rdfs:label "Explains the non-functional data concerns"@en .

knobit:K-158 rdfs:label "Explains the scope, events and questions a data register must state"@en .

knobit:K-159 rdfs:label "Explains referential and logical ambiguity in natural-language statements"@en .

knobit:K-160 rdfs:label "Explains persistent identifiers"@en .

knobit:K-161 rdfs:label "Explains verifiable requirement statements"@en .

knobit:K-162 rdfs:label "Explains consistency within a requirements register"@en .

knobit:K-310 rdfs:label "Recognises a constraint claimed by a rule and missing from the schema"@en .

knobit:K-355 rdfs:label "Explains Witt's classification of business rules"@en .

knobit:K-356 rdfs:label "Explains rule enforcement mechanisms and platform enforcement"@en .

knobit:K-401 rdfs:label "Recognises an ambiguous node label"@en .

knobit:K-402 rdfs:label "Recognises a node with an unclear boundary and no scope note"@en .

knobit:K-403 rdfs:label "Recognises overlapping sibling nodes without reciprocal scope notes"@en .

knobit:K-404 rdfs:label "Recognises a meaning change without a history note"@en .

knobit:K-405 rdfs:label "Recognises a node without warrant"@en .

knobit:K-406 rdfs:label "Recognises inconsistent node label forms"@en .

knobit:K-407 rdfs:label "Recognises an abbreviation, jargon or system name as a node label"@en .

knobit:K-408 rdfs:label "Recognises a compound node combining two characteristics"@en .

knobit:K-409 rdfs:label "Recognises siblings divided by mixed characteristics"@en .

knobit:K-410 rdfs:label "Recognises a synonym kept as a separate node"@en .

knobit:K-412 rdfs:label "Recognises an instance placed as a concept node"@en .

knobit:K-413 rdfs:label "Recognises a part-of link in a kind-of hierarchy"@en .

knobit:K-414 rdfs:label "Recognises an unjustified polyhierarchy"@en .

knobit:K-415 rdfs:label "Recognises an associative relationship shown as a hierarchy"@en .

knobit:K-416 rdfs:label "Recognises non-reciprocal hierarchy links"@en .

knobit:K-417 rdfs:label "Recognises uneven levels of specificity among siblings"@en .

knobit:K-418 rdfs:label "Recognises a home-grown copy of an existing vocabulary"@en .

knobit:K-420 rdfs:label "Recognises a structural error in a taxonomy hierarchy"@en .

knobit:K-423 rdfs:label "Recognises a taxonomy node deleted while data still refers to it"@en .

knobit:K-424 rdfs:label "Recognises a node code reused for a different concept"@en .

knobit:K-452 rdfs:label "Explains scope notes and history notes"@en .

knobit:K-453 rdfs:label "Explains warrant for vocabulary terms"@en .

knobit:K-454 rdfs:label "Explains label form conventions for vocabularies"@en .

knobit:K-455 rdfs:label "Explains characteristics of division and node labels"@en .

knobit:K-457 rdfs:label "Explains associative relations"@en .

knobit:K-501 rdfs:label "Recognises an insertion anomaly in a logical data model"@en .

knobit:K-502 rdfs:label "Recognises an update anomaly in a logical data model"@en .

knobit:K-503 rdfs:label "Recognises a deletion anomaly in a logical data model"@en .

knobit:K-506 rdfs:label "Recognises an attribute with several meanings"@en .

knobit:K-507 rdfs:label "Recognises attributes held as name-value rows"@en .

knobit:K-508 rdfs:label "Recognises a partial dependency on a composite key"@en .

knobit:K-511 rdfs:label "Recognises a non-superkey determinant in a 3NF entity"@en .

knobit:K-512 rdfs:label "Recognises independent multi-valued facts in one entity"@en .

knobit:K-513 rdfs:label "Recognises a join dependency kept in one entity"@en .

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

knobit:K-515 rdfs:label "Recognises a functional dependency lost in a decomposition"@en .

knobit:K-516 rdfs:label "Recognises attributes inapplicable to some instances"@en .

knobit:K-517 rdfs:label "Recognises an unstable or meaningful primary key"@en .

knobit:K-518 rdfs:label "Recognises an entity identified only by a system-assigned key"@en .

knobit:K-520 rdfs:label "Recognises independently changing histories in one entity"@en .

knobit:K-521 rdfs:label "Recognises an unresolved many-to-many relationship"@en .

knobit:K-522 rdfs:label "Recognises a polymorphic association"@en .

knobit:K-523 rdfs:label "Recognises a connection trap"@en .

knobit:K-524 rdfs:label "Recognises a fan trap"@en .

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

knobit:K-526 rdfs:label "Recognises a redundant relationship"@en .

knobit:K-527 rdfs:label "Recognises overlapping entities"@en .

knobit:K-528 rdfs:label "Recognises one entity split by value into several"@en .

knobit:K-529 rdfs:label "Recognises a relationship contradicting its data rule"@en .

knobit:K-530 rdfs:label "Recognises a constraint implied by neither keys nor domains"@en .

knobit:K-533 rdfs:label "Decomposes an entity along a functional dependency without loss"@en .

knobit:K-535 rdfs:label "Replaces a repeating group with a dependent entity"@en .

knobit:K-536 rdfs:label "Introduces subtypes for attributes applying to only some instances"@en .

knobit:K-563 rdfs:label "Explains lossless-join decomposition"@en .

knobit:K-564 rdfs:label "Explains dependency preservation"@en .

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

knobit:K-602 rdfs:label "Recognises logical entities merged into one table"@en .

knobit:K-603 rdfs:label "Recognises a stored derived or summary value"@en .

knobit:K-604 rdfs:label "Recognises a lossy or unconstrained vertical split"@en .

knobit:K-605 rdfs:label "Recognises an entity split into clone tables by value"@en .

knobit:K-606 rdfs:label "Recognises rolled-up subtypes losing conditional constraints"@en .

knobit:K-607 rdfs:label "Recognises rolled-down subtypes losing supertype constraints"@en .

knobit:K-608 rdfs:label "Recognises a hierarchy encoded redundantly"@en .

knobit:K-609 rdfs:label "Recognises content held outside the database by reference"@en .

knobit:K-611 rdfs:label "Recognises a surrogate value with meaning, reused or renumbered"@en .

knobit:K-612 rdfs:label "Recognises an undeclared foreign key"@en .

knobit:K-613 rdfs:label "Recognises a referential action destroying what should survive"@en .

knobit:K-616 rdfs:label "Recognises a changeable value list fixed in the DDL"@en .

knobit:K-620 rdfs:label "Recognises a business fact held in physical row order"@en .

knobit:K-621 rdfs:label "Recognises an index set not derived from access paths"@en .

knobit:K-622 rdfs:label "Recognises an overwrite where history is required"@en .

knobit:K-623 rdfs:label "Recognises inconsistent validity periods in a versioned table"@en .

knobit:K-624 rdfs:label "Recognises a reference to a versioned table by business key alone"@en .

knobit:K-625 rdfs:label "Recognises a soft delete the constraints do not understand"@en .

knobit:K-626 rdfs:label "Recognises a fact table of mixed grain"@en .

knobit:K-627 rdfs:label "Recognises a measure without stated additivity"@en .

knobit:K-628 rdfs:label "Recognises a nullable foreign key on a reporting join path"@en .

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

knobit:K-630 rdfs:label "Recognises a null with a business meaning"@en .

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

knobit:K-658 rdfs:label "Explains history strategies and validity-period conventions"@en .

knobit:K-661 rdfs:label "Explains consistency of content stored by reference"@en .

knobit:K-662 rdfs:label "Explains the absence of row order in relational tables"@en .

knobit:K-705 rdfs:label "Recognises history kept without its constraints checked"@en .

knobit:K-801 rdfs:label "Recognises generated SQL edited by hand"@en .

knobit:K-803 rdfs:label "Recognises an object in the SQL missing from the model"@en .

knobit:K-804 rdfs:label "Recognises generator warnings carried without a decision"@en .

knobit:K-806 rdfs:label "Recognises a configured dialect left unregenerated"@en .

knobit:K-808 rdfs:label "Recognises a CHECK constraint parsed and ignored"@en .

knobit:K-809 rdfs:label "Recognises an expression running on one engine only"@en .

knobit:K-810 rdfs:label "Recognises a truncated identifier taken as the real name"@en .

knobit:K-811 rdfs:label "Recognises a reserved word used as an identifier"@en .

knobit:K-812 rdfs:label "Recognises a type meaning something else on another engine"@en .

knobit:K-813 rdfs:label "Recognises an index the target engine cannot create or run"@en .

knobit:K-814 rdfs:label "Recognises a foreign-key cycle taken as resolved"@en .

knobit:K-816 rdfs:label "Recognises one decimal scale for every currency"@en .

knobit:K-817 rdfs:label "Recognises a length taken from sample data"@en .

knobit:K-819 rdfs:label "Recognises a collation changing what a key means"@en .

knobit:K-820 rdfs:label "Recognises a default inventing a business fact"@en .

knobit:K-821 rdfs:label "Recognises a restricted column without access design"@en .

knobit:K-822 rdfs:label "Recognises greenfield DDL aimed at a populated database"@en .

knobit:K-823 rdfs:label "Recognises a drop script used as a rollback"@en .

knobit:K-824 rdfs:label "Recognises an environment baked into the script"@en .

knobit:K-825 rdfs:label "Recognises SQL reviewed without being run"@en .

knobit:K-827 rdfs:label "Recognises a time zone dropped from a timestamp"@en,
        "Recognises an event timestamp stored without a time zone"@en .

knobit:K-828 rdfs:label "Recognises a business date stored with a time of day"@en .

knobit:K-851 rdfs:label "Explains generated artefacts and their single source of truth"@en .

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

knobit:K-853 rdfs:label "Explains currency minor units"@en .

knobit:K-854 rdfs:label "Explains time zones in timestamps and business dates"@en .

knobit:K-855 rdfs:label "Explains collation and case or accent sensitivity"@en .

knobit:K-857 rdfs:label "Explains schema migration and rollback"@en .

knobit:K-858 rdfs:label "Explains environment-independent deployment"@en .

knobit:K-859 rdfs:label "Explains testing DDL by execution and detecting drift"@en .

knobit:K12-1044 rdfs:label "Explains the meaning of a measured quantity"@en,
        "Selgitab mõõtarvu tähendust"@et .

knobit:K12-11128 rdfs:label "Explains the rules for defining a concept"@en,
        "Selgitab mõiste defineerimise reegleid"@et .

knobit:K12-3075 rdfs:label "Explains a function as a dependency between two variables"@en,
        "Selgitab funktsiooni kui sõltuvust kahe muutuja vahel"@et .

knobit:K12-69062 rdfs:label "Explains how database tables and relationships are structured"@en,
        "Selgitab andmebaasi tabelite ja seoste ülesehitust"@et .

knobit:K12-80061 rdfs:label "Names the notation of a UML class diagram"@en,
        "Nimetab UML klassidiagrammi tähiseid"@et .

knobit:K12-8017 rdfs:label "Explains the concepts of a proposition and its truth value"@en,
        "Selgitab loogikalause ja tõeväärtuse mõistet"@et .

knobit:K12-82024 rdfs:label "Explains the concepts of a hypothesis and a counter-example"@en,
        "Selgitab hüpoteesi ja vastunäite mõistet"@et .

<https://knobit.org/id/task/data-requirements/I2> rdfs:label "I2 (2 points)"@en .

<https://knobit.org/id/task/data-requirements/I3> rdfs:label "I3 (1 points)"@en .

<https://knobit.org/id/task/data-requirements/Q1> rdfs:label "Q1 (0.5 points)"@en .

<https://knobit.org/id/task/data-requirements/Q2> rdfs:label "Q2 (1 points)"@en .

<https://knobit.org/id/task/data-requirements/Q4> rdfs:label "Q4 (0.5 points)"@en .

<https://knobit.org/id/task/dm-ddl-review-deploy/C1> rdfs:label "C1 (2 points)"@en .

<https://knobit.org/id/task/dm-ddl-review-deploy/C2> rdfs:label "C2 (2 points)"@en .

<https://knobit.org/id/task/dm-ddl-review-deploy/C3> rdfs:label "C3 (2 points)"@en .

<https://knobit.org/id/task/dm-ddl-review-deploy/I1> rdfs:label "I1 (2 points)"@en .

<https://knobit.org/id/task/dm-ddl-review-deploy/I2> rdfs:label "I2 (2 points)"@en .

<https://knobit.org/id/task/dm-ddl-review-deploy/I3> rdfs:label "I3 (2 points)"@en .

<https://knobit.org/id/task/dm-ddl-review-deploy/I4> rdfs:label "I4 (2 points)"@en .

<https://knobit.org/id/task/dm-ddl-review-deploy/I5> rdfs:label "I5 (2 points)"@en .

<https://knobit.org/id/task/dm-ddl-review-deploy/I6> rdfs:label "I6 (2 points)"@en .

<https://knobit.org/id/task/dm-ddl-review-deploy/I7> rdfs:label "I7 (2 points)"@en .

<https://knobit.org/id/task/dm-design-schemes/C1> rdfs:label "C1 (2 points)"@en .

<https://knobit.org/id/task/dm-design-schemes/C2> rdfs:label "C2 (2 points)"@en .

<https://knobit.org/id/task/dm-design-schemes/C3> rdfs:label "C3 (2 points)"@en .

<https://knobit.org/id/task/dm-design-schemes/C4> rdfs:label "C4 (2 points)"@en .

<https://knobit.org/id/task/dm-design-schemes/C5> rdfs:label "C5 (2 points)"@en .

<https://knobit.org/id/task/dm-design-schemes/C6> rdfs:label "C6 (2 points)"@en .

<https://knobit.org/id/task/dm-design-schemes/C7> rdfs:label "C7 (2 points)"@en .

<https://knobit.org/id/task/dm-knowledge-conceptual/Q1> rdfs:label "Q1 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-conceptual/Q10> rdfs:label "Q10 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-conceptual/Q11> rdfs:label "Q11 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-conceptual/Q12> rdfs:label "Q12 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-conceptual/Q13> rdfs:label "Q13 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-conceptual/Q2> rdfs:label "Q2 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-conceptual/Q3> rdfs:label "Q3 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-conceptual/Q4> rdfs:label "Q4 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-conceptual/Q5> rdfs:label "Q5 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-conceptual/Q6> rdfs:label "Q6 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-conceptual/Q7> rdfs:label "Q7 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-conceptual/Q8> rdfs:label "Q8 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-conceptual/Q9> rdfs:label "Q9 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q1> rdfs:label "Q1 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q10> rdfs:label "Q10 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q11> rdfs:label "Q11 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q12> rdfs:label "Q12 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q13> rdfs:label "Q13 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q14> rdfs:label "Q14 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q15> rdfs:label "Q15 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q16> rdfs:label "Q16 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q17> rdfs:label "Q17 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q18> rdfs:label "Q18 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q19> rdfs:label "Q19 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q2> rdfs:label "Q2 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q20> rdfs:label "Q20 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q21> rdfs:label "Q21 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q3> rdfs:label "Q3 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q4> rdfs:label "Q4 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q5> rdfs:label "Q5 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q6> rdfs:label "Q6 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q7> rdfs:label "Q7 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q8> rdfs:label "Q8 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-dmbok-ch5/Q9> rdfs:label "Q9 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-logical/Q1> rdfs:label "Q1 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-logical/Q10> rdfs:label "Q10 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-logical/Q11> rdfs:label "Q11 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-logical/Q12> rdfs:label "Q12 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-logical/Q13> rdfs:label "Q13 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-logical/Q14> rdfs:label "Q14 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-logical/Q15> rdfs:label "Q15 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-logical/Q16> rdfs:label "Q16 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-logical/Q17> rdfs:label "Q17 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-logical/Q18> rdfs:label "Q18 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-logical/Q19> rdfs:label "Q19 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-logical/Q2> rdfs:label "Q2 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-logical/Q20> rdfs:label "Q20 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-logical/Q3> rdfs:label "Q3 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-logical/Q4> rdfs:label "Q4 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-logical/Q5> rdfs:label "Q5 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-logical/Q6> rdfs:label "Q6 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-logical/Q7> rdfs:label "Q7 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-logical/Q8> rdfs:label "Q8 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-logical/Q9> rdfs:label "Q9 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-physical/Q1> rdfs:label "Q1 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-physical/Q10> rdfs:label "Q10 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-physical/Q11> rdfs:label "Q11 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-physical/Q12> rdfs:label "Q12 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-physical/Q13> rdfs:label "Q13 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-physical/Q14> rdfs:label "Q14 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-physical/Q15> rdfs:label "Q15 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-physical/Q16> rdfs:label "Q16 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-physical/Q17> rdfs:label "Q17 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-physical/Q18> rdfs:label "Q18 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-physical/Q19> rdfs:label "Q19 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-physical/Q2> rdfs:label "Q2 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-physical/Q20> rdfs:label "Q20 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-physical/Q21> rdfs:label "Q21 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-physical/Q3> rdfs:label "Q3 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-physical/Q4> rdfs:label "Q4 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-physical/Q5> rdfs:label "Q5 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-physical/Q6> rdfs:label "Q6 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-physical/Q7> rdfs:label "Q7 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-physical/Q8> rdfs:label "Q8 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-physical/Q9> rdfs:label "Q9 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-requirements/Q1> rdfs:label "Q1 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-requirements/Q10> rdfs:label "Q10 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-requirements/Q11> rdfs:label "Q11 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-requirements/Q12> rdfs:label "Q12 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-requirements/Q2> rdfs:label "Q2 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-requirements/Q3> rdfs:label "Q3 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-requirements/Q4> rdfs:label "Q4 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-requirements/Q5> rdfs:label "Q5 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-requirements/Q6> rdfs:label "Q6 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-requirements/Q7> rdfs:label "Q7 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-requirements/Q8> rdfs:label "Q8 (1 points)"@en .

<https://knobit.org/id/task/dm-knowledge-requirements/Q9> rdfs:label "Q9 (1 points)"@en .

<https://knobit.org/id/task/dm-logical-integrity/C1> rdfs:label "C1 (2 points)"@en .

<https://knobit.org/id/task/dm-logical-integrity/C2> rdfs:label "C2 (2 points)"@en .

<https://knobit.org/id/task/dm-logical-integrity/C3> rdfs:label "C3 (2 points)"@en .

<https://knobit.org/id/task/dm-logical-integrity/C4> rdfs:label "C4 (2 points)"@en .

<https://knobit.org/id/task/dm-logical-integrity/C5> rdfs:label "C5 (2 points)"@en .

<https://knobit.org/id/task/dm-logical-integrity/C6> rdfs:label "C6 (1 points)"@en .

<https://knobit.org/id/task/dm-logical-integrity/C7> rdfs:label "C7 (1 points)"@en .

<https://knobit.org/id/task/dm-logical-integrity/I1> rdfs:label "I1 (2 points)"@en .

<https://knobit.org/id/task/dm-logical-integrity/I10> rdfs:label "I10 (2 points)"@en .

<https://knobit.org/id/task/dm-logical-integrity/I2> rdfs:label "I2 (1 points)"@en .

<https://knobit.org/id/task/dm-logical-integrity/I3> rdfs:label "I3 (1 points)"@en .

<https://knobit.org/id/task/dm-logical-integrity/I4> rdfs:label "I4 (2 points)"@en .

<https://knobit.org/id/task/dm-logical-integrity/I5> rdfs:label "I5 (1 points)"@en .

<https://knobit.org/id/task/dm-logical-integrity/I6> rdfs:label "I6 (1 points)"@en .

<https://knobit.org/id/task/dm-logical-integrity/I7> rdfs:label "I7 (1 points)"@en .

<https://knobit.org/id/task/dm-logical-integrity/I8> rdfs:label "I8 (2 points)"@en .

<https://knobit.org/id/task/dm-logical-integrity/I9> rdfs:label "I9 (1 points)"@en .

<https://knobit.org/id/task/dm-maintenance/C1> rdfs:label "C1 (2 points)"@en .

<https://knobit.org/id/task/dm-maintenance/C2> rdfs:label "C2 (2 points)"@en .

<https://knobit.org/id/task/dm-maintenance/C3> rdfs:label "C3 (2 points)"@en .

<https://knobit.org/id/task/dm-maintenance/C4> rdfs:label "C4 (2 points)"@en .

<https://knobit.org/id/task/dm-maintenance/C5> rdfs:label "C5 (2 points)"@en .

<https://knobit.org/id/task/dm-maintenance/C6> rdfs:label "C6 (2 points)"@en .

<https://knobit.org/id/task/dm-maintenance/I1> rdfs:label "I1 (2 points)"@en .

<https://knobit.org/id/task/dm-maintenance/I2> rdfs:label "I2 (2 points)"@en .

<https://knobit.org/id/task/dm-maintenance/I3> rdfs:label "I3 (2 points)"@en .

<https://knobit.org/id/task/dm-maintenance/I4> rdfs:label "I4 (2 points)"@en .

<https://knobit.org/id/task/dm-model-review/C1> rdfs:label "C1 (2 points)"@en .

<https://knobit.org/id/task/dm-model-review/C2> rdfs:label "C2 (2 points)"@en .

<https://knobit.org/id/task/dm-model-review/C3> rdfs:label "C3 (2 points)"@en .

<https://knobit.org/id/task/dm-model-review/C4> rdfs:label "C4 (2 points)"@en .

<https://knobit.org/id/task/dm-model-review/C5> rdfs:label "C5 (2 points)"@en .

<https://knobit.org/id/task/dm-model-review/C6> rdfs:label "C6 (2 points)"@en .

<https://knobit.org/id/task/dm-model-review/C7> rdfs:label "C7 (2 points)"@en .

<https://knobit.org/id/task/dm-model-review/I1> rdfs:label "I1 (2 points)"@en .

<https://knobit.org/id/task/dm-model-review/I2> rdfs:label "I2 (2 points)"@en .

<https://knobit.org/id/task/dm-model-review/I3> rdfs:label "I3 (2 points)"@en .

<https://knobit.org/id/task/dm-model-review/I4> rdfs:label "I4 (2 points)"@en .

<https://knobit.org/id/task/dm-physical-postgres/C1> rdfs:label "C1 (2 points)"@en .

<https://knobit.org/id/task/dm-physical-postgres/C2> rdfs:label "C2 (2 points)"@en .

<https://knobit.org/id/task/dm-physical-postgres/C3> rdfs:label "C3 (2 points)"@en .

<https://knobit.org/id/task/dm-physical-postgres/C4> rdfs:label "C4 (2 points)"@en .

<https://knobit.org/id/task/dm-physical-postgres/I1> rdfs:label "I1 (1 points)"@en .

<https://knobit.org/id/task/dm-physical-postgres/I10> rdfs:label "I10 (1 points)"@en .

<https://knobit.org/id/task/dm-physical-postgres/I11> rdfs:label "I11 (1 points)"@en .

<https://knobit.org/id/task/dm-physical-postgres/I12> rdfs:label "I12 (1 points)"@en .

<https://knobit.org/id/task/dm-physical-postgres/I13> rdfs:label "I13 (1 points)"@en .

<https://knobit.org/id/task/dm-physical-postgres/I2> rdfs:label "I2 (1 points)"@en .

<https://knobit.org/id/task/dm-physical-postgres/I3> rdfs:label "I3 (1 points)"@en .

<https://knobit.org/id/task/dm-physical-postgres/I4> rdfs:label "I4 (1 points)"@en .

<https://knobit.org/id/task/dm-physical-postgres/I5> rdfs:label "I5 (1 points)"@en .

<https://knobit.org/id/task/dm-physical-postgres/I6> rdfs:label "I6 (1 points)"@en .

<https://knobit.org/id/task/dm-physical-postgres/I7> rdfs:label "I7 (1 points)"@en .

<https://knobit.org/id/task/dm-physical-postgres/I8> rdfs:label "I8 (1 points)"@en .

<https://knobit.org/id/task/dm-physical-postgres/I9> rdfs:label "I9 (2 points)"@en .

<https://knobit.org/id/task/dm-planning/C1> rdfs:label "C1 (2 points)"@en .

<https://knobit.org/id/task/dm-planning/C2> rdfs:label "C2 (2 points)"@en .

<https://knobit.org/id/task/dm-planning/C3> rdfs:label "C3 (2 points)"@en .

<https://knobit.org/id/task/dm-planning/C4> rdfs:label "C4 (2 points)"@en .

<https://knobit.org/id/task/dm-planning/C5> rdfs:label "C5 (2 points)"@en .

<https://knobit.org/id/task/dm-planning/C6> rdfs:label "C6 (2 points)"@en .

<https://knobit.org/id/task/dm-planning/I1> rdfs:label "I1 (3 points)"@en .

<https://knobit.org/id/task/dm-planning/I2> rdfs:label "I2 (2 points)"@en .

<https://knobit.org/id/task/dm-planning/I3> rdfs:label "I3 (3 points)"@en .

<https://knobit.org/id/task/dm-planning/I4> rdfs:label "I4 (2 points)"@en .

<https://knobit.org/id/task/dm-requirements-history/C1> rdfs:label "C1 (2 points)"@en .

<https://knobit.org/id/task/dm-requirements-history/C2> rdfs:label "C2 (2 points)"@en .

<https://knobit.org/id/task/dm-requirements-history/C3> rdfs:label "C3 (1.5 points)"@en .

<https://knobit.org/id/task/dm-requirements-history/C4> rdfs:label "C4 (1.5 points)"@en .

<https://knobit.org/id/task/dm-requirements-history/C5> rdfs:label "C5 (1.5 points)"@en .

<https://knobit.org/id/task/dm-requirements-history/C6> rdfs:label "C6 (2 points)"@en .

<https://knobit.org/id/task/dm-requirements-history/C7> rdfs:label "C7 (2 points)"@en .

<https://knobit.org/id/task/dm-requirements-history/C8> rdfs:label "C8 (2 points)"@en .

<https://knobit.org/id/task/dm-requirements-history/C9> rdfs:label "C9 (2 points)"@en .

<https://knobit.org/id/task/dm-reverse-engineering/C1> rdfs:label "C1 (2 points)"@en .

<https://knobit.org/id/task/dm-reverse-engineering/C2> rdfs:label "C2 (2 points)"@en .

<https://knobit.org/id/task/dm-reverse-engineering/C3> rdfs:label "C3 (2 points)"@en .

<https://knobit.org/id/task/dm-reverse-engineering/C4> rdfs:label "C4 (2 points)"@en .

<https://knobit.org/id/task/dm-reverse-engineering/C5> rdfs:label "C5 (2 points)"@en .

<https://knobit.org/id/task/dm-reverse-engineering/C6> rdfs:label "C6 (2 points)"@en .

<https://knobit.org/id/task/dm-reverse-engineering/I1> rdfs:label "I1 (2 points)"@en .

<https://knobit.org/id/task/dm-reverse-engineering/I2> rdfs:label "I2 (2 points)"@en .

<https://knobit.org/id/task/dm-reverse-engineering/I3> rdfs:label "I3 (1 points)"@en .

<https://knobit.org/id/task/dm-reverse-engineering/I4> rdfs:label "I4 (2 points)"@en .

<https://knobit.org/id/task/dm-reverse-engineering/I5> rdfs:label "I5 (1 points)"@en .

<https://knobit.org/id/task/dm-taxonomy-notes/C1> rdfs:label "C1 (1.5 points)"@en .

<https://knobit.org/id/task/dm-taxonomy-notes/C10> rdfs:label "C10 (1.5 points)"@en .

<https://knobit.org/id/task/dm-taxonomy-notes/C11> rdfs:label "C11 (1 points)"@en .

<https://knobit.org/id/task/dm-taxonomy-notes/C12> rdfs:label "C12 (1 points)"@en .

<https://knobit.org/id/task/dm-taxonomy-notes/C13> rdfs:label "C13 (2 points)"@en .

<https://knobit.org/id/task/dm-taxonomy-notes/C14> rdfs:label "C14 (1.5 points)"@en .

<https://knobit.org/id/task/dm-taxonomy-notes/C15> rdfs:label "C15 (1.5 points)"@en .

<https://knobit.org/id/task/dm-taxonomy-notes/C2> rdfs:label "C2 (1 points)"@en .

<https://knobit.org/id/task/dm-taxonomy-notes/C3> rdfs:label "C3 (1.5 points)"@en .

<https://knobit.org/id/task/dm-taxonomy-notes/C4> rdfs:label "C4 (1.5 points)"@en .

<https://knobit.org/id/task/dm-taxonomy-notes/C5> rdfs:label "C5 (1 points)"@en .

<https://knobit.org/id/task/dm-taxonomy-notes/C6> rdfs:label "C6 (1.5 points)"@en .

<https://knobit.org/id/task/dm-taxonomy-notes/C7> rdfs:label "C7 (1.5 points)"@en .

<https://knobit.org/id/task/dm-taxonomy-notes/C8> rdfs:label "C8 (1.5 points)"@en .

<https://knobit.org/id/task/dm-taxonomy-notes/C9> rdfs:label "C9 (1 points)"@en .

<https://knobit.org/id/task/logical-model/C2> rdfs:label "C2 (2 points)"@en .

<https://knobit.org/id/task/logical-model/C3> rdfs:label "C3 (2 points)"@en .

<https://knobit.org/id/task/logical-model/C4> rdfs:label "C4 (1 points)"@en .

<https://knobit.org/id/task/logical-model/I3> rdfs:label "I3 (2 points)"@en .

<https://knobit.org/id/task/logical-model/I5> rdfs:label "I5 (1 points)"@en .

<https://knobit.org/id/task/logical-model/Q1> rdfs:label "Q1 (0.5 points)"@en .

<https://knobit.org/id/task/logical-model/Q3> rdfs:label "Q3 (0.5 points)"@en .

<https://knobit.org/id/task/party-taxonomy/C1> rdfs:label "C1 (2 points)"@en .

<https://knobit.org/id/task/party-taxonomy/C2> rdfs:label "C2 (4 points)"@en .

<https://knobit.org/id/task/party-taxonomy/C3> rdfs:label "C3 (3 points)"@en .

<https://knobit.org/id/task/party-taxonomy/I2> rdfs:label "I2 (3 points)"@en .

<https://knobit.org/id/task/party-taxonomy/Q1> rdfs:label "Q1 (1 points)"@en .

<https://knobit.org/id/task/physical-model/C1> rdfs:label "C1 (3 points)"@en .

<https://knobit.org/id/task/physical-model/C2> rdfs:label "C2 (3 points)"@en .

<https://knobit.org/id/task/physical-model/C3> rdfs:label "C3 (2 points)"@en .

<https://knobit.org/id/task/physical-model/I1> rdfs:label "I1 (2 points)"@en .

<https://knobit.org/id/task/physical-model/I3> rdfs:label "I3 (2 points)"@en .

<https://knobit.org/id/task/taxonomy-from-definitions/C1> rdfs:label "C1 (4 points)"@en .

<https://knobit.org/id/task/taxonomy-from-definitions/C2> rdfs:label "C2 (2 points)"@en .

<https://knobit.org/id/task/taxonomy-from-definitions/C3> rdfs:label "C3 (4 points)"@en .

<https://knobit.org/id/task/taxonomy-from-definitions/C4> rdfs:label "C4 (2 points)"@en .

<https://knobit.org/id/task/taxonomy-from-definitions/C5> rdfs:label "C5 (2 points)"@en .

<https://knobit.org/id/task/taxonomy-from-definitions/C6> rdfs:label "C6 (2 points)"@en .

<https://knobit.org/id/task/taxonomy-from-definitions/C7> rdfs:label "C7 (2 points)"@en .

knobit:K-001 rdfs:label "Recognises a modelling scope with no boundary"@en .

knobit:K-002 rdfs:label "Recognises a modelling standard named but not chosen"@en .

knobit:K-004 rdfs:label "Recognises model inputs the plan does not locate"@en .

knobit:K-031 rdfs:label "Plans the deliverables of a modelling assignment"@en .

knobit:K-032 rdfs:label "Chooses a modelling scheme and notation for an audience and purpose"@en .

knobit:K-1001 rdfs:label "Recognises an incomplete data model scorecard"@en .

knobit:K-1002 rdfs:label "Recognises a scorecard score with no evidence"@en .

knobit:K-1003 rdfs:label "Recognises a model reviewed by its modeller"@en .

knobit:K-1004 rdfs:label "Recognises a review decision contradicting its total"@en .

knobit:K-1005 rdfs:label "Recognises a review finding with no owner or action"@en .

knobit:K-1006 rdfs:label "Recognises a scorecard score contradicting the validator"@en .

knobit:K-1007 rdfs:label "Recognises a review of a version other than the one released"@en .

knobit:K-1101 rdfs:label "Recognises an inferred structure presented as declared"@en .

knobit:K-1102 rdfs:label "Recognises reverse-engineered objects not marked as-is"@en .

knobit:K-1103 rdfs:label "Recognises a dead database object carried into the model"@en .

knobit:K-1104 rdfs:label "Recognises a guessed meaning written as a definition"@en .

knobit:K-1105 rdfs:label "Recognises a reverse-engineering source with no environment or date"@en .

knobit:K-1106 rdfs:label "Recognises a physical workaround lifted into the logical model"@en .

knobit:K-118 rdfs:label "Recognises a status contradicting the requirement's content"@en .

knobit:K-1201 rdfs:label "Recognises a model change with no reason"@en .

knobit:K-1202 rdfs:label "Recognises a model change with no impact analysis"@en .

knobit:K-1203 rdfs:label "Recognises a breaking model change released as a minor version"@en .

knobit:K-1204 rdfs:label "Recognises a change to a deployed structure with no migration"@en .

knobit:K-1205 rdfs:label "Recognises a released model version with no baseline"@en .

knobit:K-1206 rdfs:label "Recognises a model change released without approval"@en .

knobit:K-130 rdfs:label "Recognises an uncovered lineage requirement"@en .

knobit:K-151 rdfs:label "Explains singular and unambiguous requirement statements"@en .

knobit:K-251 rdfs:label "Explains intensional definition by superordinate concept and delimiting characteristics"@en .

knobit:K-253 rdfs:label "Explains generic and partitive concept relations"@en .

knobit:K-313 rdfs:label "Recognises a declared constraint the target platform does not enforce"@en .

knobit:K-351 rdfs:label "Explains SBVR fact types and rule statements"@en .

knobit:K-456 rdfs:label "Explains equivalence relations and preferred terms"@en .

knobit:K-458 rdfs:label "Explains reuse of external vocabularies"@en .

knobit:K-504 rdfs:label "Recognises a repeating group in an entity"@en .

knobit:K-505 rdfs:label "Recognises an attribute holding several facts"@en .

knobit:K-509 rdfs:label "Recognises a transitive dependency between non-key attributes"@en .

knobit:K-510 rdfs:label "Recognises a stored derivable attribute"@en .

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

knobit:K-534 rdfs:label "Resolves a many-to-many relationship into an associative entity"@en .

knobit:K-553 rdfs:label "Explains the insertion, update and deletion anomalies"@en .

knobit:K-554 rdfs:label "Explains first normal form"@en .

knobit:K-555 rdfs:label "Explains second normal form"@en .

knobit:K-557 rdfs:label "Explains Boyce-Codd normal form"@en .

knobit:K-558 rdfs:label "Explains multivalued dependency and fourth normal form"@en .

knobit:K-560 rdfs:label "Explains sixth normal form for temporal data"@en .

knobit:K-561 rdfs:label "Explains domain-key normal form"@en .

knobit:K-565 rdfs:label "Explains derived data and point-in-time snapshots"@en .

knobit:K-566 rdfs:label "Explains supertype and subtype constraints"@en .

knobit:K-581 rdfs:label "Expresses a logical model as a UML class diagram"@en .

knobit:K-582 rdfs:label "Models data as fact types in a fact-based scheme"@en .

knobit:K-583 rdfs:label "Maps an application model onto a canonical model"@en .

knobit:K-610 rdfs:label "Recognises a surrogate key without natural-key uniqueness"@en .

knobit:K-617 rdfs:label "Recognises a physical domain differing from the logical domain"@en .

knobit:K-618 rdfs:label "Recognises binary floating point used for an exact quantity"@en .

knobit:K-641 rdfs:label "Routes a defect to the deliverable responsible for it"@en .

knobit:K-654 rdfs:label "Explains exact and approximate numeric types"@en .

knobit:K-656 rdfs:label "Explains value sets held as reference data"@en .

knobit:K-659 rdfs:label "Explains grain and additivity in dimensional models"@en .

knobit:K-671 rdfs:label "Designs a star schema for a stated grain"@en .

knobit:K-672 rdfs:label "Designs a Data Vault model for auditable history"@en .

knobit:K-673 rdfs:label "Designs a document structure for a stated access pattern"@en .

knobit:K-674 rdfs:label "Designs views hiding physical structure from consumers"@en .

knobit:K-802 rdfs:label "Recognises DDL older than its model"@en .

knobit:K-856 rdfs:label "Explains access design for classified data"@en .

knobit:K-902 rdfs:label "Explains the types of modelled data"@en .

knobit:K-904 rdfs:label "Explains identifying and non-identifying relationships"@en .

knobit:K-905 rdfs:label "Explains dimensional modelling"@en .

knobit:K-906 rdfs:label "Explains UML class diagrams as a data modelling scheme"@en .

knobit:K-907 rdfs:label "Explains fact-based modelling"@en .

knobit:K-908 rdfs:label "Explains time-based modelling schemes"@en .

knobit:K-909 rdfs:label "Explains NoSQL data modelling schemes"@en .

knobit:K-910 rdfs:label "Explains canonical data models"@en .

knobit:K-912 rdfs:label "Explains the planning of data modelling work"@en .

knobit:K-913 rdfs:label "Explains how to choose a modelling scheme and notation"@en .

knobit:K-920 rdfs:label "Explains database design principles"@en .

knobit:K-921 rdfs:label "Explains data modelling and design standards"@en .

<https://knobit.org/id/task/data-requirements/C3> rdfs:label "C3 (2 points)"@en .

<https://knobit.org/id/task/data-requirements/I1> rdfs:label "I1 (2 points)"@en .

<https://knobit.org/id/task/data-requirements/I4> rdfs:label "I4 (2 points)"@en .

<https://knobit.org/id/task/ddl-review/C1> rdfs:label "C1 (3 points)"@en .

<https://knobit.org/id/task/ddl-review/C2> rdfs:label "C2 (3 points)"@en .

<https://knobit.org/id/task/ddl-review/C3> rdfs:label "C3 (2 points)"@en .

<https://knobit.org/id/task/ddl-review/I1> rdfs:label "I1 (2 points)"@en .

<https://knobit.org/id/task/ddl-review/I2> rdfs:label "I2 (2 points)"@en .

<https://knobit.org/id/task/ddl-review/I3> rdfs:label "I3 (2 points)"@en .

<https://knobit.org/id/task/ddl-review/I4> rdfs:label "I4 (2 points)"@en .

<https://knobit.org/id/task/ddl-review/I5> rdfs:label "I5 (2 points)"@en .

<https://knobit.org/id/task/ddl-review/Q1> rdfs:label "Q1 (2 points)"@en .

<https://knobit.org/id/task/logical-model/I1> rdfs:label "I1 (2 points)"@en .

<https://knobit.org/id/task/logical-model/I2> rdfs:label "I2 (2 points)"@en .

<https://knobit.org/id/task/logical-model/I4> rdfs:label "I4 (2 points)"@en .

<https://knobit.org/id/task/physical-model/I2> rdfs:label "I2 (2 points)"@en .

<https://knobit.org/id/task/physical-model/I4> rdfs:label "I4 (2 points)"@en .

<https://knobit.org/id/task/physical-model/I5> rdfs:label "I5 (2 points)"@en .

<https://knobit.org/id/task/physical-model/Q1> rdfs:label "Q1 (2 points)"@en .

knobit:K-033 rdfs:label "Sets the modelling standards a project follows"@en .

knobit:K-034 rdfs:label "Selects the tools and repository for a modelling project"@en .

knobit:K-119 rdfs:label "Recognises a guess recorded as fact"@en .

knobit:K-135 rdfs:label "Retires a superseded register entry instead of deleting it"@en .

knobit:K-411 rdfs:label "Recognises a link failing the all-and-some test"@en .

knobit:K-421 rdfs:label "Models a role as an association to the party playing it"@en .

knobit:K-451 rdfs:label "Explains hierarchical relations and the all-and-some test"@en .

knobit:K-532 rdfs:label "Records the functional dependencies of an entity"@en .

knobit:K-551 rdfs:label "Explains functional dependency"@en .

knobit:K-556 rdfs:label "Explains third normal form"@en .

knobit:K-559 rdfs:label "Explains join dependency and fifth normal form"@en .

knobit:K-567 rdfs:label "Explains relationship cardinality and optionality"@en .

knobit:K-568 rdfs:label "Explains natural keys, surrogate keys and key stability"@en .

knobit:K-570 rdfs:label "Explains an entity type as the realisation of one business concept"@en .

knobit:K-601 rdfs:label "Recognises an unmanaged duplicate column"@en .

knobit:K-651 rdfs:label "Explains controlled denormalisation"@en .

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

knobit:K-826 rdfs:label "Recognises undetected drift between database and model"@en .

knobit:K-911 rdfs:label "Explains views in physical design"@en .

knobit:K-914 rdfs:label "Explains forward and reverse engineering of data models"@en .

knobit:K-916 rdfs:label "Explains data model versioning and change management"@en .

knobit:K-918 rdfs:label "Explains data model patterns and industry data models"@en .

knobit:K-919 rdfs:label "Explains naming conventions for data model objects"@en .

<https://knobit.org/id/task/data-requirements/C2> rdfs:label "C2 (3 points)"@en .

<https://knobit.org/id/task/logical-model/C1> rdfs:label "C1 (4 points)"@en .

knobit:K-531 rdfs:label "Traces a logical-model anomaly to its structural cause"@en .

knobit:K-552 rdfs:label "Explains candidate key and prime attribute"@en .

knobit:K-562 rdfs:label "Explains attribute domains"@en .

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

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

knobit:K-657 rdfs:label "Explains index design from access paths"@en .

knobit:K-901 rdfs:label "Explains what data models are and why organisations build them"@en .

knobit:K-903 rdfs:label "Explains data modelling notations"@en .

knobit:K-915 rdfs:label "Explains data model review and the Data Model Scorecard"@en .

<https://knobit.org/id/task/data-requirements/I5> rdfs:label "I5 (2 points)"@en .

knobit:K-422 rdfs:label "Derives the broader concept from the head of a definition"@en .

knobit:K-917 rdfs:label "Explains the tools supporting data modelling"@en .

knobit:K-1131 rdfs:label "Reverse-engineers a logical model from a database schema"@en .

knobit:K-1231 rdfs:label "Releases a model change as a new model version"@en .

<https://knobit.org/id/task/data-requirements/C1> rdfs:label "C1 (3 points)"@en .

knobit:K-1031 rdfs:label "Scores a data model against the Data Model Scorecard"@en .

edu:LearningOutcome rdfs:label "Learning outcome"@en,
        "Õpiväljund"@et .

<https://knobit.org/id/register/data-modelling#REF-1> a schema:CreativeWork ;
    dcterms:identifier "REF-1" ;
    dcterms:publisher "DAMA International" ;
    dcterms:title "DAMA-DMBOK: Data Management Body of Knowledge, 2nd edition (revised), chapter 5: Data Modeling and Design"@en ;
    skos:note "target level: CDMP Practitioner: the Data Modeling and Design specialist exam of the Certified Data Management Professional (DAMA International), pass mark 70%"@en ;
    schema:version "2nd edition, revised (DMBOK2/RE)" .

edu:KnobitSet rdfs:label "Knobit set"@en,
        "Knobitite kogum"@et .

edu:Question rdfs:label "Question"@en,
        "Küsimus"@et .

register:data-modelling a schema:Dataset ;
    dcterms:description "Recognising and repairing defects in data-modelling deliverables, from data requirements to generated DDL: the competence the data-modelling skill applies in its build stages (requirements, conceptual, logical, physical, DDL), and that skill-tests assesses. The business glossary moved to metadata-management, data rules and data quality rules to data-quality (SKLZ-164)."@en ;
    dcterms:identifier "SCOPE-1" ;
    dcterms:license <https://creativecommons.org/licenses/by/4.0/> ;
    dcterms:rights "Copyright 2026 Peep Küngas. Licensed under CC BY 4.0." ;
    dcterms:title "Data modelling (DAMA-DMBOK2)"@en ;
    owl:sameAs <https://bitbucket.org/reffa/ontology/skills/data-modelling> ;
    skos:note "audience: Data modellers, and AI models assessed by skill-tests"@en,
        "domain: Data management, data modelling and design (DAMA-DMBOK2 chapter 5)"@en,
        "level: CDMP Practitioner: the Data Modeling and Design specialist exam of the Certified Data Management Professional (DAMA International), pass mark 70%"@en ;
    edu:conformsToProfile <https://oppekava.edu.ee/a/Knobitite_kirjeldamise_ja_seostamise_reeglid#LCG-KNOBIT-0.1> ;
    edu:graphRelevance <https://knobit.org/def/graphRelevance/learnerState>,
        <https://knobit.org/def/graphRelevance/outcomeContent>,
        <https://knobit.org/def/graphRelevance/taskSelection> ;
    schema:license <https://creativecommons.org/licenses/by/4.0/> .

