{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":40271,"path":"platform-administration/working-with-dynamic-schema.md","title":"Working with Dynamic Schema","bundle":null,"doc_type":null,"release":"australia","body":"\n# Working with Dynamic Schema\n\nExtend Dynamic Schema capabilities by defining dynamic attributes and dynamic categories in a dynamic namespace.\n\nAfter planning your metadata strategy, you can start building out your schema by creating dynamic attribute records in the dynamic namespace. Formally defining attributes provides several key benefits.\n\n-   Ensure data integrity, optimize queries, and improve sorting by defining dynamic attributes with appropriate types. For example, you can define attributes as strings, integers, or dates to enforce type-specific behavior.\n-   Organize dynamic attributes and enable inheritance by adding them to dynamic categories. For example, you can define dynamic attributes in a parent category, and automatically access them in child categories that inherit those attributes.\n-   Define a fixed set of values for an attribute by creating a dynamic choice set. For example, you can control which values are available in an attribute, which categories or namespaces they appear in, and override the values in specific cases.\n-   Reuse dynamic attributes across multiple dynamic attribute store fields. For example, you can define a dynamic attribute in a dynamic namespace, and then use that attribute in any store field that belongs to that namespace.\n\n## Implementing Dynamic Schema\n\nImplement Dynamic Schema using the following process.\n\n1.  [Create a dynamic attribute store field](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-administration/create-dynamic-attribute-store-field.md)\n\n    Get started by creating a dynamic attribute field for storing your dynamic attributes.\n\n2.  [Create a dynamic attribute](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-administration/add-dynamic-attributes.md)\n\n    Define one or more dynamic attributes in the dynamic namespace that's associated with the dynamic store field.\n\n3.  [Create a dynamic category](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-administration/create-dynamic-category.md)\n\n    Define one or more dynamic categories in the dynamic namespace.\n\n4.  [Include dynamic attributes in a dynamic category](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-administration/add-dynamic-attributes-dynamic-category.md)\n\n    Organize your dynamic attributes using the dynamic categories that you defined.\n\n5.  [Create a dynamic choice set](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-administration/create-choice-set.md)\n\n    Define a fixed set of choices for an attribute and create choice overrides as needed.\n\n6.  [Add dynamic attributes to a record](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-administration/add-dynamic-attributes-record.md)\n\n    Populate the dynamic attribute store field using the GlideRecord setValue\\(\\) method or by entering attributes and values as JSON.\n\n\n"}}