{
    "id": "pdoc175-import-schema",
    "title": "Составить порядок импорта и соединить заказ по полному ключу",
    "columns": [
        "Наблюдение",
        "Результат"
    ],
    "rows": [
        [
            "Порядок импорта",
            "orders → order_lines; затем чтение order_view"
        ],
        [
            "Ключ заказа",
            "warehouse + order_no"
        ],
        [
            "Связь строки с заказом",
            "warehouse + order_no → warehouse + order_no"
        ],
        [
            "Заказ склада 1",
            "501 \/ Лаборатория"
        ],
        [
            "Кабель",
            "3 × 12550 = 37650 коп."
        ],
        [
            "Хомут",
            "4 × 125 = 500 коп."
        ],
        [
            "Итог",
            "2 строки; 38150 коп."
        ],
        [
            "UNIQUE \/ INDEX",
            "sku \/ qty; отдельно от PK и FK"
        ],
        [
            "Файл",
            "import-plan.csv"
        ]
    ],
    "checks": {
        "parent_key": true,
        "child_key": true,
        "fk_pairs": true,
        "directions_agree": true,
        "attributes_named": true,
        "table_found": true,
        "view_found": true,
        "view_has_sql": true,
        "unique_and_index": true,
        "join_exact": true,
        "sql_total": true,
        "other_warehouse_excluded": true,
        "plan_rows": true,
        "owned_objects_removed": true
    },
    "observations": {
        "parent_key_columns": [
            "warehouse",
            "order_no"
        ],
        "child_key_columns": [
            "warehouse",
            "order_no",
            "line_no"
        ],
        "foreign_child_columns": [
            "warehouse",
            "order_no"
        ],
        "foreign_parent_columns": [
            "warehouse",
            "order_no"
        ],
        "schema_forms": {
            "primary": [
                {
                    "CLASS_NAME": "dba.pdoc175_orders_3e63216241",
                    "ATTR_NAME": "order_no",
                    "KEY_SEQ": "2",
                    "KEY_NAME": "pk_pdoc175_orders_3e63216241_warehouse_order_no"
                },
                {
                    "CLASS_NAME": "dba.pdoc175_orders_3e63216241",
                    "ATTR_NAME": "warehouse",
                    "KEY_SEQ": "1",
                    "KEY_NAME": "pk_pdoc175_orders_3e63216241_warehouse_order_no"
                }
            ],
            "imported": [
                {
                    "PKTABLE_NAME": "dba.pdoc175_orders_3e63216241",
                    "PKCOLUMN_NAME": "warehouse",
                    "FKTABLE_NAME": "pdoc175_lines_858db41c27",
                    "FKCOLUMN_NAME": "warehouse",
                    "KEY_SEQ": "1",
                    "UPDATE_RULE": "1",
                    "DELETE_RULE": "1",
                    "FK_NAME": "fk_pdoc175_lines_858db41c27_warehouse_order_no",
                    "PK_NAME": "pk_pdoc175_orders_3e63216241_warehouse_order_no"
                },
                {
                    "PKTABLE_NAME": "dba.pdoc175_orders_3e63216241",
                    "PKCOLUMN_NAME": "order_no",
                    "FKTABLE_NAME": "pdoc175_lines_858db41c27",
                    "FKCOLUMN_NAME": "order_no",
                    "KEY_SEQ": "2",
                    "UPDATE_RULE": "1",
                    "DELETE_RULE": "1",
                    "FK_NAME": "fk_pdoc175_lines_858db41c27_warehouse_order_no",
                    "PK_NAME": "pk_pdoc175_orders_3e63216241_warehouse_order_no"
                }
            ],
            "exported": [
                {
                    "PKTABLE_NAME": "pdoc175_orders_3e63216241",
                    "PKCOLUMN_NAME": "warehouse",
                    "FKTABLE_NAME": "dba.pdoc175_lines_858db41c27",
                    "FKCOLUMN_NAME": "warehouse",
                    "KEY_SEQ": "1",
                    "UPDATE_RULE": "1",
                    "DELETE_RULE": "1",
                    "FK_NAME": "fk_pdoc175_lines_858db41c27_warehouse_order_no",
                    "PK_NAME": "pk_pdoc175_orders_3e63216241_warehouse_order_no"
                },
                {
                    "PKTABLE_NAME": "pdoc175_orders_3e63216241",
                    "PKCOLUMN_NAME": "order_no",
                    "FKTABLE_NAME": "dba.pdoc175_lines_858db41c27",
                    "FKCOLUMN_NAME": "order_no",
                    "KEY_SEQ": "2",
                    "UPDATE_RULE": "1",
                    "DELETE_RULE": "1",
                    "FK_NAME": "fk_pdoc175_lines_858db41c27_warehouse_order_no",
                    "PK_NAME": "pk_pdoc175_orders_3e63216241_warehouse_order_no"
                }
            ],
            "cross": [
                {
                    "PKTABLE_NAME": "pdoc175_orders_3e63216241",
                    "PKCOLUMN_NAME": "warehouse",
                    "FKTABLE_NAME": "pdoc175_lines_858db41c27",
                    "FKCOLUMN_NAME": "warehouse",
                    "KEY_SEQ": "1",
                    "UPDATE_RULE": "1",
                    "DELETE_RULE": "1",
                    "FK_NAME": "fk_pdoc175_lines_858db41c27_warehouse_order_no",
                    "PK_NAME": "pk_pdoc175_orders_3e63216241_warehouse_order_no"
                },
                {
                    "PKTABLE_NAME": "pdoc175_orders_3e63216241",
                    "PKCOLUMN_NAME": "order_no",
                    "FKTABLE_NAME": "pdoc175_lines_858db41c27",
                    "FKCOLUMN_NAME": "order_no",
                    "KEY_SEQ": "2",
                    "UPDATE_RULE": "1",
                    "DELETE_RULE": "1",
                    "FK_NAME": "fk_pdoc175_lines_858db41c27_warehouse_order_no",
                    "PK_NAME": "pk_pdoc175_orders_3e63216241_warehouse_order_no"
                }
            ],
            "constraints": [
                {
                    "TYPE": "0",
                    "NAME": "u_pdoc175_lines_858db41c27_sku",
                    "ATTR_NAME": "sku",
                    "NUM_PAGES": "0",
                    "NUM_KEYS": "0",
                    "PRIMARY_KEY": "0",
                    "KEY_ORDER": "1",
                    "ASC_DESC": "A"
                },
                {
                    "TYPE": "1",
                    "NAME": "pdoc175_lines_858db41c27_qty_ix",
                    "ATTR_NAME": "qty",
                    "NUM_PAGES": "0",
                    "NUM_KEYS": "0",
                    "PRIMARY_KEY": "0",
                    "KEY_ORDER": "1",
                    "ASC_DESC": "A"
                }
            ],
            "attributes": [
                {
                    "ATTR_NAME": "warehouse",
                    "DOMAIN": "8",
                    "SCALE": "0",
                    "PRECISION": "10",
                    "INDEXED": "1",
                    "NON_NULL": "1",
                    "SHARED": "0",
                    "UNIQUE": "1",
                    "DEFAULT": "NULL",
                    "ATTR_ORDER": "1",
                    "CLASS_NAME": "dba.pdoc175_lines_858db41c27",
                    "SOURCE_CLASS": "dba.pdoc175_lines_858db41c27",
                    "IS_KEY": "1",
                    "REMARKS": ""
                },
                {
                    "ATTR_NAME": "order_no",
                    "DOMAIN": "8",
                    "SCALE": "0",
                    "PRECISION": "10",
                    "INDEXED": "1",
                    "NON_NULL": "1",
                    "SHARED": "0",
                    "UNIQUE": "1",
                    "DEFAULT": "NULL",
                    "ATTR_ORDER": "2",
                    "CLASS_NAME": "dba.pdoc175_lines_858db41c27",
                    "SOURCE_CLASS": "dba.pdoc175_lines_858db41c27",
                    "IS_KEY": "1",
                    "REMARKS": ""
                },
                {
                    "ATTR_NAME": "line_no",
                    "DOMAIN": "8",
                    "SCALE": "0",
                    "PRECISION": "10",
                    "INDEXED": "1",
                    "NON_NULL": "1",
                    "SHARED": "0",
                    "UNIQUE": "1",
                    "DEFAULT": "NULL",
                    "ATTR_ORDER": "3",
                    "CLASS_NAME": "dba.pdoc175_lines_858db41c27",
                    "SOURCE_CLASS": "dba.pdoc175_lines_858db41c27",
                    "IS_KEY": "1",
                    "REMARKS": ""
                },
                {
                    "ATTR_NAME": "sku",
                    "DOMAIN": "2",
                    "SCALE": "0",
                    "PRECISION": "24",
                    "INDEXED": "1",
                    "NON_NULL": "0",
                    "SHARED": "0",
                    "UNIQUE": "1",
                    "DEFAULT": "NULL",
                    "ATTR_ORDER": "4",
                    "CLASS_NAME": "dba.pdoc175_lines_858db41c27",
                    "SOURCE_CLASS": "dba.pdoc175_lines_858db41c27",
                    "IS_KEY": "0",
                    "REMARKS": ""
                },
                {
                    "ATTR_NAME": "title",
                    "DOMAIN": "2",
                    "SCALE": "0",
                    "PRECISION": "80",
                    "INDEXED": "0",
                    "NON_NULL": "0",
                    "SHARED": "0",
                    "UNIQUE": "0",
                    "DEFAULT": "NULL",
                    "ATTR_ORDER": "5",
                    "CLASS_NAME": "dba.pdoc175_lines_858db41c27",
                    "SOURCE_CLASS": "dba.pdoc175_lines_858db41c27",
                    "IS_KEY": "0",
                    "REMARKS": ""
                },
                {
                    "ATTR_NAME": "qty",
                    "DOMAIN": "8",
                    "SCALE": "0",
                    "PRECISION": "10",
                    "INDEXED": "1",
                    "NON_NULL": "0",
                    "SHARED": "0",
                    "UNIQUE": "0",
                    "DEFAULT": "NULL",
                    "ATTR_ORDER": "6",
                    "CLASS_NAME": "dba.pdoc175_lines_858db41c27",
                    "SOURCE_CLASS": "dba.pdoc175_lines_858db41c27",
                    "IS_KEY": "0",
                    "REMARKS": ""
                },
                {
                    "ATTR_NAME": "price_cents",
                    "DOMAIN": "8",
                    "SCALE": "0",
                    "PRECISION": "10",
                    "INDEXED": "0",
                    "NON_NULL": "0",
                    "SHARED": "0",
                    "UNIQUE": "0",
                    "DEFAULT": "NULL",
                    "ATTR_ORDER": "7",
                    "CLASS_NAME": "dba.pdoc175_lines_858db41c27",
                    "SOURCE_CLASS": "dba.pdoc175_lines_858db41c27",
                    "IS_KEY": "0",
                    "REMARKS": ""
                }
            ],
            "view": [
                {
                    "QUERY_SPEC": "select [o].[warehouse], [o].[order_no], [o].[customer], [l].[line_no], [l].[title], [l].[qty], [l].[price_cents] from [dba.pdoc175_orders_3e63216241] [o] inner join [dba.pdoc175_lines_858db41c27] [l] on [l].[warehouse]=[o].[warehouse] and [l].[order_no]=[o].[order_no]"
                }
            ]
        },
        "selected_order": [
            {
                "customer": "Лаборатория",
                "line_no": 1,
                "title": "Кабель",
                "qty": 3,
                "line_total": 37650
            },
            {
                "customer": "Лаборатория",
                "line_no": 2,
                "title": "Хомут",
                "qty": 4,
                "line_total": 500
            }
        ],
        "sql_total": [
            {
                "positions": "2",
                "total_cents": "38150"
            }
        ],
        "import_plan": [
            [
                "step",
                "target",
                "key",
                "depends_on",
                "example"
            ],
            [
                "1",
                "orders",
                "warehouse,order_no",
                "-",
                "1\/501: Лаборатория"
            ],
            [
                "2",
                "order_lines",
                "warehouse,order_no,line_no",
                "orders(warehouse,order_no)",
                "1\/501\/1: Кабель, 3 шт."
            ],
            [
                "3",
                "order_view",
                "warehouse+order_no JOIN",
                "orders + order_lines",
                "Склад 1: 2 строки, 38150 коп."
            ]
        ],
        "metadata_used_for_destructive_changes": false
    },
    "runtime": {
        "php": "7.4.33",
        "extension": "1.0.0",
        "pdo": "7.4.33",
        "driver": "cubrid",
        "server_version": "11.3.5.1274",
        "client_version": "11.2.0",
        "database": "phpmanual175",
        "transport": "isolated_loopback_broker",
        "autocommit": true
    },
    "owned_objects": [
        {
            "type": "TABLE",
            "name": "pdoc175_orders_3e63216241"
        },
        {
            "type": "TABLE",
            "name": "pdoc175_lines_858db41c27"
        },
        {
            "type": "VIEW",
            "name": "pdoc175_order_view_ff0fc912e0"
        }
    ],
    "removed_objects": [
        {
            "type": "VIEW",
            "name": "pdoc175_order_view_ff0fc912e0"
        },
        {
            "type": "TABLE",
            "name": "pdoc175_lines_858db41c27"
        },
        {
            "type": "TABLE",
            "name": "pdoc175_orders_3e63216241"
        }
    ]
}
