{
  "format": "dataset-manifest/1",
  "slug": "cad-design-software",
  "version": 2,
  "seed": "cad-design-software:1",
  "spec": {
    "format": "dataset/1",
    "slug": "cad-design-software",
    "name": "3D Manufacturing Design Data",
    "tagline": "3D design data including parts, assemblies, documentation, mesh vertices, and spline control points for manufacturers.",
    "description": "Manufacturers rely on precise designs and detailed documentation to create products efficiently. This operation revolves around parts, assemblies, and the various layers that compose complex designs. Each part represents a single component, while assemblies group multiple parts together to form a complete product structure. Documentation provides necessary specifications, including versioning information that tracks changes over time to accommodate evolving requirements. Annotations and constraints are essential as they furnish guidance for accuracy, ensuring that every component fits perfectly within the overall design. Most entries in the parts table are variations of standard components, with a few rare, custom-designed parts that showcase unique specifications needed for specialized products.\n\nThe relationship among the tables is vital for understanding how the business operates. Each row in the parts table links to multiple rows in the assemblies table, illustrating how individual components come together in product design. Documentation is connected to both parts and assemblies, ensuring that the necessary specifications and revisions are readily accessible. The mesh_vertices and spline_control_points tables contain detailed data essential for the intricate nature of 3D modeling, as they define the geometric shapes and curves that form the designs.\n\nThis data answers key questions such as how different parts can be combined to create assemblies, how documentation changes over time, and the geometric specifics of 3D models. It is particularly useful for practicing skills related to relational database design, querying complex relationships, and understanding version control in documentation. Users can explore variations of common components, assess the impact of design changes, and analyze the relationships between geometric data and the overall manufacturing process. Please note that the data is synthetic, designed to replicate the kinds of relationships and complexities present in a real-world 3D manufacturing environment.",
    "domain": "manufacturing",
    "shape": "slowly-changing",
    "useCases": [
      "etl-pipelines",
      "teaching"
    ],
    "keywords": [
      "3D design",
      "manufacturing",
      "CAD",
      "parts",
      "assemblies",
      "documentation",
      "versioning",
      "constraints",
      "spline",
      "mesh",
      "custom components"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "parts": {
        "description": "This table contains details about individual parts used in 3D designs, linking to assemblies they belong to. Each row represents a unique part with attributes such as dimensions, materials, and versioning information.",
        "rows": 400,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the part."
          },
          "name": {
            "kind": "fullName",
            "description": "The name of the part."
          },
          "material": {
            "kind": "enum",
            "values": [
              "plastic",
              "metal",
              "composite",
              "ceramic"
            ],
            "description": "The material used to manufacture the part.",
            "weights": [
              6,
              3,
              2,
              1
            ]
          },
          "version": {
            "kind": "int",
            "min": 1,
            "max": 10,
            "description": "The version number of the part."
          },
          "assembly_id": {
            "kind": "fk",
            "ref": "assemblies.id",
            "description": "Foreign key linking to the assembly this part belongs to."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "The date the part was created.",
            "dayProfile": "business"
          },
          "updated_at": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "The date the part was last updated.",
            "dayProfile": "business"
          }
        }
      },
      "assemblies": {
        "description": "This table includes information about assemblies that consist of multiple parts. Each assembly can have multiple versions, reflecting changes over time.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the assembly."
          },
          "name": {
            "kind": "fullName",
            "description": "The name of the assembly."
          },
          "version": {
            "kind": "int",
            "min": 1,
            "max": 5,
            "description": "The version number of the assembly."
          },
          "description": {
            "kind": "sentence",
            "max": 150,
            "description": "A brief description of the assembly."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "The date the assembly was created.",
            "dayProfile": "business"
          },
          "updated_at": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "The date the assembly was last updated.",
            "dayProfile": "business"
          }
        }
      },
      "documentation": {
        "description": "This table captures documentation associated with parts and assemblies, detailing constraints, annotations, and versioning.",
        "rows": 300,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the documentation entry."
          },
          "part_id": {
            "kind": "fk",
            "ref": "parts.id",
            "nullable": true,
            "description": "Foreign key linking to the part this documentation refers to."
          },
          "assembly_id": {
            "kind": "fk",
            "ref": "assemblies.id",
            "nullable": true,
            "description": "Foreign key linking to the assembly this documentation refers to."
          },
          "constraints": {
            "kind": "words",
            "max": 250,
            "description": "Constraint details for the part or assembly."
          },
          "annotations": {
            "kind": "words",
            "max": 250,
            "description": "Annotations providing additional guidance."
          },
          "version": {
            "kind": "int",
            "min": 1,
            "max": 10,
            "description": "The version number of the documentation."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "The date the documentation was created.",
            "dayProfile": "business"
          },
          "updated_at": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "The date the documentation was last updated.",
            "dayProfile": "business"
          }
        }
      },
      "mesh_vertices": {
        "description": "This table holds data about mesh vertices associated with parts in 3D designs, capturing the intricate details of their geometry.",
        "rows": 600,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the mesh vertex."
          },
          "part_id": {
            "kind": "fk",
            "ref": "parts.id",
            "description": "Foreign key linking to the part this vertex belongs to."
          },
          "x_coordinate": {
            "kind": "decimal",
            "min": -1000,
            "max": 1000,
            "scale": 3,
            "description": "X coordinate of the vertex in 3D space."
          },
          "y_coordinate": {
            "kind": "decimal",
            "min": -1000,
            "max": 1000,
            "scale": 3,
            "description": "Y coordinate of the vertex in 3D space."
          },
          "z_coordinate": {
            "kind": "decimal",
            "min": -1000,
            "max": 1000,
            "scale": 3,
            "description": "Z coordinate of the vertex in 3D space."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "The date the vertex was created."
          },
          "updated_at": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "The date the vertex was last updated."
          }
        }
      },
      "spline_control_points": {
        "description": "This table contains data about spline control points used in parts' designs, essential for defining curves and shapes in 3D modeling.",
        "rows": 500,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the spline control point."
          },
          "part_id": {
            "kind": "fk",
            "ref": "parts.id",
            "description": "Foreign key linking to the part this control point belongs to."
          },
          "tangent_x": {
            "kind": "decimal",
            "min": -1000,
            "max": 1000,
            "scale": 3,
            "description": "X component of the tangent vector."
          },
          "tangent_y": {
            "kind": "decimal",
            "min": -1000,
            "max": 1000,
            "scale": 3,
            "description": "Y component of the tangent vector."
          },
          "tangent_z": {
            "kind": "decimal",
            "min": -1000,
            "max": 1000,
            "scale": 3,
            "description": "Z component of the tangent vector."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "The date the control point was created."
          },
          "updated_at": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "The date the control point was last updated."
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "high-cardinality",
      "nullable",
      "timestamped"
    ],
    "analysisQuestions": [
      "How many parts are associated with each assembly?",
      "What is the average number of mesh vertices for parts in each assembly?",
      "Which materials are most commonly used across all parts?",
      "How often do documentation versions change for parts compared to assemblies?",
      "What are the common constraints noted in the documentation?"
    ],
    "suggestedQueries": [
      {
        "title": "List all parts with their corresponding assemblies",
        "sql": "SELECT parts.name AS part_name, assemblies.name AS assembly_name FROM parts JOIN assemblies ON parts.assembly_id = assemblies.id;",
        "dialect": "postgres"
      },
      {
        "title": "Count parts by material",
        "sql": "SELECT material, COUNT(*) AS part_count FROM parts GROUP BY material;",
        "dialect": "postgres"
      },
      {
        "title": "Average mesh vertices per part",
        "sql": "SELECT parts.name, AVG(spline_control_points.id) AS average_vertices FROM parts LEFT JOIN spline_control_points ON parts.id = spline_control_points.part_id GROUP BY parts.name;",
        "dialect": "postgres"
      },
      {
        "title": "Latest documentation version for each part",
        "sql": "SELECT part_id, MAX(version) AS latest_version FROM documentation GROUP BY part_id;",
        "dialect": "postgres"
      },
      {
        "title": "Parts with annotations containing specific keywords",
        "sql": "SELECT parts.name FROM parts JOIN documentation ON parts.id = documentation.part_id WHERE annotations ILIKE '%keyword%';",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Manufacturing Engineers",
        "body": "Manufacturing engineers can utilize this dataset to analyze the relationships between parts and assemblies, helping them streamline production processes. By examining the documentation and constraints, they can ensure that designs meet the necessary specifications and are manufactured efficiently."
      },
      {
        "title": "CAD Software Developers",
        "body": "Developers working on CAD software can use this data to test their applications, ensuring that they can handle complex design structures, including parts with intricate mesh vertices and spline control points. The synthetic nature of the dataset allows them to simulate real-world scenarios and improve software functionality."
      },
      {
        "title": "Educators and Trainers",
        "body": "Educators in engineering and manufacturing fields can leverage this dataset in their teaching materials to provide students with hands-on experience in analyzing and interpreting 3D design data. This practical approach helps students understand the complexities of manufacturing design and documentation."
      },
      {
        "title": "Data Analysts",
        "body": "Data analysts can explore this dataset to uncover insights about design trends, material usage, and documentation changes over time. By analyzing the relationships and attributes within the dataset, they can provide valuable recommendations for optimizing manufacturing processes and improving product designs."
      }
    ]
  },
  "counts": {
    "assemblies": 200,
    "parts": 400,
    "documentation": 300,
    "mesh_vertices": 600,
    "spline_control_points": 500
  },
  "stats": {
    "parts": {
      "rows": 400,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 400,
          "min": 1,
          "max": 400
        },
        "name": {
          "nulls": 0,
          "distinct": 387,
          "min": "Alice Castro",
          "max": "Zoe Silva"
        },
        "material": {
          "nulls": 0,
          "distinct": 4,
          "min": "ceramic",
          "max": "plastic"
        },
        "version": {
          "nulls": 0,
          "distinct": 10,
          "min": 1,
          "max": 10
        },
        "assembly_id": {
          "nulls": 0,
          "distinct": 172,
          "min": 1,
          "max": 200
        },
        "created_at": {
          "nulls": 0,
          "distinct": 400,
          "min": "2020-01-09 13:12:07",
          "max": "2023-12-25 17:37:10"
        },
        "updated_at": {
          "nulls": 0,
          "distinct": 400,
          "min": "2020-01-02 16:42:40",
          "max": "2023-12-31 11:55:33"
        }
      }
    },
    "assemblies": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "name": {
          "nulls": 0,
          "distinct": 198,
          "min": "Alice Demir",
          "max": "Zoe Weber"
        },
        "version": {
          "nulls": 0,
          "distinct": 5,
          "min": 1,
          "max": 5
        },
        "description": {
          "nulls": 0,
          "distinct": 200
        },
        "created_at": {
          "nulls": 0,
          "distinct": 200,
          "min": "2020-01-01 15:59:51",
          "max": "2023-12-17 10:24:24"
        },
        "updated_at": {
          "nulls": 0,
          "distinct": 200,
          "min": "2020-01-08 16:42:36",
          "max": "2023-12-28 15:24:36"
        }
      }
    },
    "documentation": {
      "rows": 300,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "part_id": {
          "nulls": 29,
          "distinct": 201,
          "min": 3,
          "max": 400
        },
        "assembly_id": {
          "nulls": 30,
          "distinct": 162,
          "min": 1,
          "max": 200
        },
        "constraints": {
          "nulls": 0,
          "distinct": 300
        },
        "annotations": {
          "nulls": 0,
          "distinct": 300
        },
        "version": {
          "nulls": 0,
          "distinct": 10,
          "min": 1,
          "max": 10
        },
        "created_at": {
          "nulls": 0,
          "distinct": 300,
          "min": "2020-01-05 11:04:05",
          "max": "2023-12-30 17:18:02"
        },
        "updated_at": {
          "nulls": 0,
          "distinct": 300,
          "min": "2020-01-03 11:58:50",
          "max": "2023-12-26 17:40:54"
        }
      }
    },
    "mesh_vertices": {
      "rows": 600,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 600,
          "min": 1,
          "max": 600
        },
        "part_id": {
          "nulls": 0,
          "distinct": 315,
          "min": 1,
          "max": 399
        },
        "x_coordinate": {
          "nulls": 0,
          "distinct": 600,
          "min": -999.844,
          "max": 999.517
        },
        "y_coordinate": {
          "nulls": 0,
          "distinct": 600,
          "min": -991.747,
          "max": 995.543
        },
        "z_coordinate": {
          "nulls": 0,
          "distinct": 600,
          "min": -995.911,
          "max": 999.973
        },
        "created_at": {
          "nulls": 0,
          "distinct": 600,
          "min": "2020-01-01 11:21:47",
          "max": "2023-12-31 10:33:11"
        },
        "updated_at": {
          "nulls": 0,
          "distinct": 600,
          "min": "2020-01-05 05:24:30",
          "max": "2023-12-30 11:52:05"
        }
      }
    },
    "spline_control_points": {
      "rows": 500,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 500,
          "min": 1,
          "max": 500
        },
        "part_id": {
          "nulls": 0,
          "distinct": 282,
          "min": 1,
          "max": 400
        },
        "tangent_x": {
          "nulls": 0,
          "distinct": 500,
          "min": -999.634,
          "max": 993.733
        },
        "tangent_y": {
          "nulls": 0,
          "distinct": 500,
          "min": -996.523,
          "max": 992.634
        },
        "tangent_z": {
          "nulls": 0,
          "distinct": 500,
          "min": -997.664,
          "max": 994.802
        },
        "created_at": {
          "nulls": 0,
          "distinct": 500,
          "min": "2020-01-01 09:14:02",
          "max": "2023-12-30 20:42:10"
        },
        "updated_at": {
          "nulls": 0,
          "distinct": 500,
          "min": "2020-01-01 06:26:32",
          "max": "2023-12-27 04:00:35"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/assemblies.csv",
      "format": "csv",
      "table": "assemblies",
      "key": "datasets/cad-design-software/v2/csv/assemblies.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/cad-design-software/v2/csv/assemblies.csv",
      "bytes": 23237,
      "sha256": "553000ecc9d77e496c6bb87e0d65e6af781452f28f29e484dc340378b4868836",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/parts.csv",
      "format": "csv",
      "table": "parts",
      "key": "datasets/cad-design-software/v2/csv/parts.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/cad-design-software/v2/csv/parts.csv",
      "bytes": 28084,
      "sha256": "6a8679e808385a22702561129e4d3ab01d09e3e6fdbfd6f02e608f967861ee32",
      "rows": 400,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/documentation.csv",
      "format": "csv",
      "table": "documentation",
      "key": "datasets/cad-design-software/v2/csv/documentation.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/cad-design-software/v2/csv/documentation.csv",
      "bytes": 523126,
      "sha256": "7b06ebbc510c2cd88fb918a1a8b15f558482534f5177ee1e393ebabd637ec15b",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/mesh_vertices.csv",
      "format": "csv",
      "table": "mesh_vertices",
      "key": "datasets/cad-design-software/v2/csv/mesh_vertices.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/cad-design-software/v2/csv/mesh_vertices.csv",
      "bytes": 44306,
      "sha256": "f93682b6a29e649ff38b9518ea72dff265a3a9e2e98843af619adbe5a228e531",
      "rows": 600,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/spline_control_points.csv",
      "format": "csv",
      "table": "spline_control_points",
      "key": "datasets/cad-design-software/v2/csv/spline_control_points.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/cad-design-software/v2/csv/spline_control_points.csv",
      "bytes": 36920,
      "sha256": "93087326bf5edb4e9df3cddd9489ddf7ad8d85608c1328104e60ab4be9296661",
      "rows": 500,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "cad-design-software.json",
      "format": "json",
      "table": null,
      "key": "datasets/cad-design-software/v2/cad-design-software.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/cad-design-software/v2/cad-design-software.json",
      "bytes": 961281,
      "sha256": "eef9039718150219ac81bf30342b56ed86341d44baff2ad720a695820e864404",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/cad-design-software/v2/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/cad-design-software/v2/sql/postgres.sql",
      "bytes": 695568,
      "sha256": "1b0e6bc9694bb4c7bf3c4a2794840d05702d092640231a2c5408eec371141f36",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/cad-design-software/v2/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/cad-design-software/v2/sql/mysql.sql",
      "bytes": 694951,
      "sha256": "496c1bed8a6724bcc3c3c3c8042bdeb46fe58b5f9a96beec79a1e31a454ee459",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/cad-design-software/v2/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/cad-design-software/v2/sql/mssql.sql",
      "bytes": 701124,
      "sha256": "775dc6d7104f99d361b368dbc74816f97836d5f787e8083baf872092e6b7724c",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/cad-design-software/v2/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/cad-design-software/v2/sql/sqlite.sql",
      "bytes": 694673,
      "sha256": "bc907e1a34c3a4e86df1c7bb6e860cf5c855bd56ba1dd0ea728b08cce6c026a6",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/cad-design-software/v2/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/cad-design-software/v2/prisma/seed.ts",
      "bytes": 908431,
      "sha256": "e464eac1f279be32c4a4ba732d115f51558da596591a9f457bc8a2b47a2bf20a",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/cad-design-software/v2/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/cad-design-software/v2/django/fixtures.json",
      "bytes": 1062496,
      "sha256": "4521fa070f247d662f12486b2e56edea42718f7862a0b67e3911e9e1bb35d00e",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788766710910,
  "updatedAt": 1788782651960
}
