diff --git a/deploy_ai_search/.env b/deploy_ai_search/.env index 68897be..2b858b2 100644 --- a/deploy_ai_search/.env +++ b/deploy_ai_search/.env @@ -11,9 +11,9 @@ AIService__AzureSearchOptions__Key= AIService__AzureSearchOptions__UsePrivateEndpoint= AIService__AzureSearchOptions__Identity__FQName= StorageAccount__FQEndpoint= -StorageAccount__ConnectionString= +StorageAccount__ConnectionString=;AccountKey=;EndpointSuffix=core.windows.net> StorageAccount__RagDocuments__Container= -StorageAccount__Text2Sql__Container= +StorageAccount__Text2SqlSchemaStore__Container= OpenAI__ApiKey= OpenAI__Endpoint= OpenAI__EmbeddingModel= diff --git a/deploy_ai_search/README.md b/deploy_ai_search/README.md index c67858f..049b046 100644 --- a/deploy_ai_search/README.md +++ b/deploy_ai_search/README.md @@ -2,7 +2,7 @@ The associated scripts in this portion of the repository contains pre-built scripts to deploy the skillset with Azure Document Intelligence. -## Steps for Rag Documents Index Deployment +## Steps for Rag Documents Index Deployment (For Unstructured RAG) 1. Update `.env` file with the associated values. Not all values are required dependent on whether you are using System / User Assigned Identities or a Key based authentication. 2. Adjust `rag_documents.py` with any changes to the index / indexer. The `get_skills()` method implements the skills pipeline. Make any adjustments here in the skills needed to enrich the data source. @@ -13,7 +13,7 @@ The associated scripts in this portion of the repository contains pre-built scri - `rebuild`. Whether to delete and rebuild the index. - `suffix`. Optional parameter that will apply a suffix onto the deployed index and indexer. This is useful if you want deploy a test version, before overwriting the main version. -## Steps for Text2SQL Index Deployment +## Steps for Text2SQL Index Deployment (For Structured RAG) ### Schema Store Index @@ -29,7 +29,7 @@ The associated scripts in this portion of the repository contains pre-built scri ### Query Cache Index 1. Update `.env` file with the associated values. Not all values are required dependent on whether you are using System / User Assigned Identities or a Key based authentication. -2. Adjust `text_2_sql_query_cache.py` with any changes to the index. **There is no provided indexer or skillset for this cache, it is expected that application code will write directly to it.** +2. Adjust `text_2_sql_query_cache.py` with any changes to the index. **There is no provided indexer or skillset for this cache, it is expected that application code will write directly to it. See the details in the Text2SQL README for different cache strategies.** 3. Run `deploy.py` with the following args: - `index_type text_2_sql_query_cache`. This selects the `Text2SQLQueryCacheAISearch` sub class. diff --git a/deploy_ai_search/text_2_sql_schema_store.py b/deploy_ai_search/text_2_sql_schema_store.py index c8c91de..59d981e 100644 --- a/deploy_ai_search/text_2_sql_schema_store.py +++ b/deploy_ai_search/text_2_sql_schema_store.py @@ -111,11 +111,6 @@ def get_index_fields(self) -> list[SearchableField]: collection=True, searchable=False, ), - SearchableField( - name="JoinableEntities", - type=SearchFieldDataType.String, - collection=True, - ), ], ), SearchableField( diff --git a/text_2_sql/README.md b/text_2_sql/README.md index 937d0de..3e52275 100644 --- a/text_2_sql/README.md +++ b/text_2_sql/README.md @@ -29,6 +29,7 @@ A common way to perform Text2SQL generation _(Iteration 1)_ is to provide the co - More tables / views significantly increases the number of tokens used within the prompt and the cost of inference. - More schema information can cause confusion with the LLM. In our original use case, when exceeding 5 complex tables / views, we found that the LLM could get confused between which columns belonged to which entity and as such, would generate invalid SQL queries. +- Entity relationships between different tables is challenging for the LLM to understand. To solve these issues, a Multi-Shot approach is developed. Below is the iterations of development on the Text2SQL query component. @@ -43,6 +44,8 @@ All approaches limit the number of tokens used and avoids filling the prompt wit Using Auto-Function calling capabilities, the LLM is able to retrieve from the plugin the full schema information for the views / tables that it considers useful for answering the question. Once retrieved, the full SQL query can then be generated. The schemas for multiple views / tables can be retrieved to allow the LLM to perform joins and other complex queries. +To improve the scalability and accuracy in SQL Query generation, the entity relationships within the database are stored within the vector store. This allows the LLM to use **entity relationship graph** to navigate complex system joins. See the details in `./data_dictionary` for more details. + For the query cache enabled approach, AI Search is used as a vector based cache, but any other cache that supports vector queries could be used, such as Redis. ### Full Logical Flow for Vector Based Approach @@ -55,6 +58,15 @@ As the query cache is shared between users (no data is stored in the cache), a n ![Vector Based with Query Cache Logical Flow.](./images/Text2SQL%20Query%20Cache.png "Vector Based with Query Cache Logical Flow") +### Caching Strategy + +The cache strategy implementation is a simple way to prove that the system works. You can adopt several different strategies for cache population. Below are some of the strategies that could be used: + +- **Pre-population:** Run an offline pipeline to generate SQL queries for the known questions that you expect from the user to prevent a 'cold start' problem. +- **Chat History Management Pipeline:** Run a real-time pipeline that logs the chat history to a database. Within this pipeline, analyse questions that are Text2SQL and generate the cache entry. +- **Positive Indication System:** Only update the cache when a user positively reacts to a question e.g. a thumbs up from the UI or doesn't ask a follow up question. +- **Always update:** Always add all questions into the cache when they are asked. The sample code in the repository currently implements this approach, but this could lead to poor SQL queries reaching the cache. One of the other caching strategies would be better production version. + ### Comparison of Iterations | | Common Text2SQL Approach | Prompt Based Multi-Shot Text2SQL Approach | Vector Based Multi-Shot Text2SQL Approach | Vector Based Multi-Shot Text2SQL Approach With Query Cache | |-|-|-|-|-| @@ -152,24 +164,63 @@ Below is a sample entry for a view / table that we which to expose to the LLM. T ```json { - "EntityName": "Get All Categories", - "Entity": "vGetAllCategories", - "Description": "This view provides a comprehensive list of all product categories and their corresponding subcategories in the SalesLT schema of the AdventureWorksLT database. It is used to understand the hierarchical structure of product categories, facilitating product organization and categorization.", - "Columns": [ + "Entity": "SalesLT.SalesOrderDetail", + "Definition": "The SalesLT.SalesOrderDetail entity contains detailed information about individual items within sales orders. This entity includes data on the sales order ID, the specific details of each order item such as quantity, product ID, unit price, and any discounts applied. It also includes calculated fields such as the line total for each order item. This entity can be used to answer questions related to the specifics of sales transactions, such as which products were purchased in each order, the quantity of each product ordered, and the total price of each order item.", + "EntityName": "Sales Line Items Information", + "Database": "AdventureWorksLT", + "Warehouse": null, + "EntityRelationships": [ { - "Definition": "A unique identifier for each product category. This ID is used to reference specific categories.", - "Name": "ProductCategoryID", - "Type": "INT" + "ForeignEntity": "SalesLT.Product", + "ForeignKeys": [ + { + "Column": "ProductID", + "ForeignColumn": "ProductID" + } + ] }, { - "Definition": "The name of the parent product category. This represents the top-level category under which subcategories are grouped.", - "Name": "ParentProductCategoryName", - "Type": "NVARCHAR(50)" + "ForeignEntity": "SalesLT.SalesOrderHeader", + "ForeignKeys": [ + { + "Column": "SalesOrderID", + "ForeignColumn": "SalesOrderID" + } + ] + } + ], + "CompleteEntityRelationshipsGraph": [ + "SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductCategory", + "SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductModel -> SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription", + "SalesLT.SalesOrderDetail -> SalesLT.SalesOrderHeader -> SalesLT.Address -> SalesLT.CustomerAddress -> SalesLT.Customer", + "SalesLT.SalesOrderDetail -> SalesLT.SalesOrderHeader -> SalesLT.Customer -> SalesLT.CustomerAddress -> SalesLT.Address" + ], + "Columns": [ + { + "Name": "SalesOrderID", + "DataType": "int", + "Definition": "The SalesOrderID column in the SalesLT.SalesOrderDetail entity contains unique numerical identifiers for each sales order. Each value represents a specific sales order, ensuring that each order can be individually referenced and tracked. The values are in a sequential numeric format, indicating the progression and uniqueness of each sales transaction within the database.", + "AllowedValues": null, + "SampleValues": [ + 71938, + 71784, + 71935, + 71923, + 71946 + ] }, { - "Definition": "The name of the product category. This can refer to either a top-level category or a subcategory, depending on the context.", - "Name": "ProductCategoryName", - "Type": "NVARCHAR(50)" + "Name": "SalesOrderDetailID", + "DataType": "int", + "Definition": "The SalesOrderDetailID column in the SalesLT.SalesOrderDetail entity contains unique identifier values for each sales order detail record. The values are numeric and are used to distinguish each order detail entry within the database. These identifiers are essential for maintaining data integrity and enabling efficient querying and data manipulation within the sales order system.", + "AllowedValues": null, + "SampleValues": [ + 110735, + 113231, + 110686, + 113257, + 113307 + ] } ] } diff --git a/text_2_sql/data_dictionary/README.md b/text_2_sql/data_dictionary/README.md index 59229ef..d6d6dc4 100644 --- a/text_2_sql/data_dictionary/README.md +++ b/text_2_sql/data_dictionary/README.md @@ -8,24 +8,63 @@ Below is a sample entry for a view / table that we which to expose to the LLM. T ```json { - "EntityName": "Get All Categories", - "Entity": "vGetAllCategories", - "Description": "This view provides a comprehensive list of all product categories and their corresponding subcategories in the SalesLT schema of the AdventureWorksLT database. It is used to understand the hierarchical structure of product categories, facilitating product organization and categorization.", - "Columns": [ + "Entity": "SalesLT.SalesOrderDetail", + "Definition": "The SalesLT.SalesOrderDetail entity contains detailed information about individual items within sales orders. This entity includes data on the sales order ID, the specific details of each order item such as quantity, product ID, unit price, and any discounts applied. It also includes calculated fields such as the line total for each order item. This entity can be used to answer questions related to the specifics of sales transactions, such as which products were purchased in each order, the quantity of each product ordered, and the total price of each order item.", + "EntityName": "Sales Line Items Information", + "Database": "AdventureWorksLT", + "Warehouse": null, + "EntityRelationships": [ { - "Definition": "A unique identifier for each product category. This ID is used to reference specific categories.", - "Name": "ProductCategoryID", - "Type": "INT" + "ForeignEntity": "SalesLT.Product", + "ForeignKeys": [ + { + "Column": "ProductID", + "ForeignColumn": "ProductID" + } + ] }, { - "Definition": "The name of the parent product category. This represents the top-level category under which subcategories are grouped.", - "Name": "ParentProductCategoryName", - "Type": "NVARCHAR(50)" + "ForeignEntity": "SalesLT.SalesOrderHeader", + "ForeignKeys": [ + { + "Column": "SalesOrderID", + "ForeignColumn": "SalesOrderID" + } + ] + } + ], + "CompleteEntityRelationshipsGraph": [ + "SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductCategory", + "SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductModel -> SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription", + "SalesLT.SalesOrderDetail -> SalesLT.SalesOrderHeader -> SalesLT.Address -> SalesLT.CustomerAddress -> SalesLT.Customer", + "SalesLT.SalesOrderDetail -> SalesLT.SalesOrderHeader -> SalesLT.Customer -> SalesLT.CustomerAddress -> SalesLT.Address" + ], + "Columns": [ + { + "Name": "SalesOrderID", + "DataType": "int", + "Definition": "The SalesOrderID column in the SalesLT.SalesOrderDetail entity contains unique numerical identifiers for each sales order. Each value represents a specific sales order, ensuring that each order can be individually referenced and tracked. The values are in a sequential numeric format, indicating the progression and uniqueness of each sales transaction within the database.", + "AllowedValues": null, + "SampleValues": [ + 71938, + 71784, + 71935, + 71923, + 71946 + ] }, { - "Definition": "The name of the product category. This can refer to either a top-level category or a subcategory, depending on the context.", - "Name": "ProductCategoryName", - "Type": "NVARCHAR(50)" + "Name": "SalesOrderDetailID", + "DataType": "int", + "Definition": "The SalesOrderDetailID column in the SalesLT.SalesOrderDetail entity contains unique identifier values for each sales order detail record. The values are numeric and are used to distinguish each order detail entry within the database. These identifiers are essential for maintaining data integrity and enabling efficient querying and data manipulation within the sales order system.", + "AllowedValues": null, + "SampleValues": [ + 110735, + 113231, + 110686, + 113257, + 113307 + ] } ] } @@ -34,13 +73,15 @@ Below is a sample entry for a view / table that we which to expose to the LLM. T ## Property Definitions - **EntityName** is a human readable name for the entity. - **Entity** is the actual name for the entity that is used in the SQL query. -- **Description** provides a comprehensive description of what information the entity contains. +- **Definition** provides a comprehensive description of what information the entity contains. - **Columns** contains a list of the columns exposed for querying. Each column contains: - **Definition** a short definition of what information the column contains. Here you can add extra metadata to **prompt engineer** the LLM to select the right columns or interpret the data in the column correctly. - **Name** is the actual column name. - - **Type** is the datatype for the column. + - **DataType** is the datatype for the column. - **SampleValues (optional)** is a list of sample values that are in the column. This is useful for instructing the LLM of what format the data may be in. - **AllowedValues (optional)** is a list of absolute allowed values for the column. This instructs the LLM only to use these values if filtering against this column. +- **EntityRelationships** contains mapping of the immediate relationships to this entity. Contains details of the foreign keys to join against. +- **CompleteEntityRelationshipsGraph** contains a directed graph of how this entity relates to all others in the database. The LLM can use this to work out the joins to make. A full data dictionary must be built for all the views / tables you which to expose to the LLM. The metadata provide directly influences the accuracy of the Text2SQL component. diff --git a/text_2_sql/data_dictionary/generated_samples/SalesLT.Address.json b/text_2_sql/data_dictionary/generated_samples/SalesLT.Address.json index aeafacd..a0cfe31 100644 --- a/text_2_sql/data_dictionary/generated_samples/SalesLT.Address.json +++ b/text_2_sql/data_dictionary/generated_samples/SalesLT.Address.json @@ -1,155 +1,155 @@ { - "Entity": "SalesLT.Address", - "Definition": "The SalesLT.Address entity contains information about physical addresses used by the organization. This entity includes details such as the address lines, city, state or province, country or region, and postal code. It also tracks unique identifiers and the last modified date for records. This entity can be used to answer questions related to the geographical distribution of customers, shipping details, and the most recent updates to address information.", - "EntityName": "Address Information", - "Database": "AdventureWorksLT", - "Warehouse": null, - "EntityRelationships": [ + "Columns": [ + { + "AllowedValues": null, + "DataType": "int", + "Definition": "The AddressID column in the SalesLT.Address entity contains unique numeric identifiers for each address record in the database. These values are sequential integers that uniquely distinguish one address from another within the entity. This column is likely used as a primary key, ensuring that each address can be uniquely and efficiently referenced.", + "Name": "AddressID", + "SampleValues": [ + 612, + 903, + 1013, + 864, + 756 + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The AddressLine1 column in the SalesLT.Address entity contains the primary address information for a location. This column typically includes the street address, building number, and potentially additional location-specific information such as road names or special indicators. The values follow common address formats, including numerical street addresses and named locations, which may include abbreviations or directional indicators. The data is used to identify the first line in a two-part address structure, providing essential location details for correspondence or delivery purposes.", + "Name": "AddressLine1", + "SampleValues": [ + "2520 Flanders Road", + "250333 Southport Road, S.W.", + "9909 W. Ventura Boulevard", + "99-3 Forest Works", + "Kansas City Factory Outlet" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The AddressLine2 column in the SalesLT.Address entity contains secondary address information such as specific floor numbers, PO Box numbers, or additional details that supplement the primary address. The values typically provide more precise location details within a larger building or specify post office box numbers. The pattern in the sample values includes specific mentions of floors and post office boxes, often using common abbreviations like \"PO\" or \"P.O. Box\".", + "Name": "AddressLine2", + "SampleValues": [ + "19th Floor", + "Floor 7", + "PO Box 4023", + "P.O. Box 803", + "Box 8033" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The City column in the SalesLT.Address entity contains the names of cities where the addresses are located. This column includes a variety of city names, which can be from any geographical location. The names are represented in a plain text format, without any specific pattern or standard format. The data in this column is used to identify the city component of an address within the SalesLT.Address entity.", + "Name": "City", + "SampleValues": [ + "Kanata", + "Federal Way", + "Abingdon", + "Cambridge", + "Ferguson" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The StateProvince column in the SalesLT.Address entity contains the names of states, provinces, or equivalent regions within various countries. These values are typically proper nouns representing administrative divisions such as Wyoming, Missouri, British Columbia, Montana, and Illinois. The data in this column is useful for identifying specific regions within a country for purposes such as shipping, billing, or demographic analysis.", + "Name": "StateProvince", + "SampleValues": [ + "Wyoming", + "Missouri", + "British Columbia", + "Montana", + "Illinois" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The CountryRegion column in the SalesLT.Address entity contains the names of countries or regions associated with specific addresses. The values are in full-text format, representing the commonly used names of countries or regions. This column is used to identify the geographic location tied to each address in the database.", + "Name": "CountryRegion", + "SampleValues": [ + "United States", + "United Kingdom", + "Canada" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The PostalCode column in the SalesLT.Address entity contains the postal codes for addresses. The values in this column consist of various formats, including both alphanumeric and numeric strings, which correspond to postal codes from different countries, such as the UK and the US. The column does not adhere to a single standard format and includes postal codes for various regions.", + "Name": "PostalCode", + "SampleValues": [ + "W10 6BL", + "WA3 7BH", + "95501", + "49464", + "98045" + ] + }, + { + "AllowedValues": null, + "DataType": "uniqueidentifier", + "Definition": "The rowguid column in the SalesLT.Address entity contains unique identifier values in the form of Globally Unique Identifiers (GUIDs). Each value is a 128-bit number represented as a string of hexadecimal characters, typically in the pattern of 8-4-4-4-12 (e.g., 00000000-0000-0000-0000-000000000000). This column is used to uniquely identify each record in the address table, ensuring that each entry can be distinctly referenced.", + "Name": "rowguid", + "SampleValues": [ + "CC91297C-567B-4186-96C8-2BA6F0875E73", + "0B49022D-8B49-4CF6-B0A3-46231CD48441", + "BD3035F6-4018-4E4C-8D70-6DD3F4FE8EB4", + "1A51283C-12BB-462E-A1B8-A0039C18E6D8", + "FF2BE5E9-7D22-4C1C-ACF8-199148E957AB" + ] + }, + { + "AllowedValues": null, + "DataType": "datetime", + "Definition": "The ModifiedDate column in the SalesLT.Address entity contains timestamps indicating the last date and time when the address record was modified. The format follows the SQL standard datetime format 'YYYY-MM-DD HH:MM:SS'. This column helps track the history of changes made to address records.", + "Name": "ModifiedDate", + "SampleValues": [ + "2007-02-01 00:00:00", + "2008-02-01 00:00:00", + "2007-08-01 00:00:00", + "2007-09-01 00:00:00", + "2007-04-01 00:00:00" + ] + } + ], + "CompleteEntityRelationshipsGraph": [ + "SalesLT.Address -> SalesLT.CustomerAddress -> SalesLT.Customer -> SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductCategory", + "SalesLT.Address -> SalesLT.CustomerAddress -> SalesLT.Customer -> SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductModel -> SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription", + "SalesLT.Address -> SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductCategory", + "SalesLT.Address -> SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductModel -> SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription", + "SalesLT.Address -> SalesLT.SalesOrderHeader -> SalesLT.Customer -> SalesLT.CustomerAddress" + ], + "Database": "AdventureWorksLT", + "Definition": "The SalesLT.Address entity contains information about physical addresses used by the organization. This entity includes details such as the address lines, city, state or province, country or region, and postal code. It also tracks unique identifiers and the last modified date for records. This entity can be used to answer questions related to the geographical distribution of customers, shipping details, and the most recent updates to address information.", + "Entity": "SalesLT.Address", + "EntityName": "Address Information", + "EntityRelationships": [ + { + "ForeignEntity": "SalesLT.CustomerAddress", + "ForeignKeys": [ { - "ForeignEntity": "SalesLT.CustomerAddress", - "ForeignKeys": [ - { - "Column": "AddressID", - "ForeignColumn": "AddressID" - } - ] - }, - { - "ForeignEntity": "SalesLT.SalesOrderHeader", - "ForeignKeys": [ - { - "Column": "AddressID", - "ForeignColumn": "BillToAddressID" - }, - { - "Column": "AddressID", - "ForeignColumn": "ShipToAddressID" - } - ] + "Column": "AddressID", + "ForeignColumn": "AddressID" } - ], - "CompleteEntityRelationshipsGraph": [ - "SalesLT.Address -> SalesLT.CustomerAddress -> SalesLT.Customer -> SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductCategory", - "SalesLT.Address -> SalesLT.CustomerAddress -> SalesLT.Customer -> SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductModel -> SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription", - "SalesLT.Address -> SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductCategory", - "SalesLT.Address -> SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductModel -> SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription", - "SalesLT.Address -> SalesLT.SalesOrderHeader -> SalesLT.Customer -> SalesLT.CustomerAddress" - ], - "Columns": [ - { - "Name": "AddressID", - "DataType": "int", - "Definition": "The AddressID column in the SalesLT.Address entity contains unique numeric identifiers for each address record in the database. These values are sequential integers that uniquely distinguish one address from another within the entity. This column is likely used as a primary key, ensuring that each address can be uniquely and efficiently referenced.", - "AllowedValues": null, - "SampleValues": [ - 612, - 903, - 1013, - 864, - 756 - ] - }, - { - "Name": "AddressLine1", - "DataType": "nvarchar", - "Definition": "The AddressLine1 column in the SalesLT.Address entity contains the primary address information for a location. This column typically includes the street address, building number, and potentially additional location-specific information such as road names or special indicators. The values follow common address formats, including numerical street addresses and named locations, which may include abbreviations or directional indicators. The data is used to identify the first line in a two-part address structure, providing essential location details for correspondence or delivery purposes.", - "AllowedValues": null, - "SampleValues": [ - "2520 Flanders Road", - "250333 Southport Road, S.W.", - "9909 W. Ventura Boulevard", - "99-3 Forest Works", - "Kansas City Factory Outlet" - ] - }, - { - "Name": "AddressLine2", - "DataType": "nvarchar", - "Definition": "The AddressLine2 column in the SalesLT.Address entity contains secondary address information such as specific floor numbers, PO Box numbers, or additional details that supplement the primary address. The values typically provide more precise location details within a larger building or specify post office box numbers. The pattern in the sample values includes specific mentions of floors and post office boxes, often using common abbreviations like \"PO\" or \"P.O. Box\".", - "AllowedValues": null, - "SampleValues": [ - "19th Floor", - "Floor 7", - "PO Box 4023", - "P.O. Box 803", - "Box 8033" - ] - }, - { - "Name": "City", - "DataType": "nvarchar", - "Definition": "The City column in the SalesLT.Address entity contains the names of cities where the addresses are located. This column includes a variety of city names, which can be from any geographical location. The names are represented in a plain text format, without any specific pattern or standard format. The data in this column is used to identify the city component of an address within the SalesLT.Address entity.", - "AllowedValues": null, - "SampleValues": [ - "Kanata", - "Federal Way", - "Abingdon", - "Cambridge", - "Ferguson" - ] - }, - { - "Name": "StateProvince", - "DataType": "nvarchar", - "Definition": "The StateProvince column in the SalesLT.Address entity contains the names of states, provinces, or equivalent regions within various countries. These values are typically proper nouns representing administrative divisions such as Wyoming, Missouri, British Columbia, Montana, and Illinois. The data in this column is useful for identifying specific regions within a country for purposes such as shipping, billing, or demographic analysis.", - "AllowedValues": null, - "SampleValues": [ - "Wyoming", - "Missouri", - "British Columbia", - "Montana", - "Illinois" - ] - }, - { - "Name": "CountryRegion", - "DataType": "nvarchar", - "Definition": "The CountryRegion column in the SalesLT.Address entity contains the names of countries or regions associated with specific addresses. The values are in full-text format, representing the commonly used names of countries or regions. This column is used to identify the geographic location tied to each address in the database.", - "AllowedValues": null, - "SampleValues": [ - "United States", - "United Kingdom", - "Canada" - ] - }, - { - "Name": "PostalCode", - "DataType": "nvarchar", - "Definition": "The PostalCode column in the SalesLT.Address entity contains the postal codes for addresses. The values in this column consist of various formats, including both alphanumeric and numeric strings, which correspond to postal codes from different countries, such as the UK and the US. The column does not adhere to a single standard format and includes postal codes for various regions.", - "AllowedValues": null, - "SampleValues": [ - "W10 6BL", - "WA3 7BH", - "95501", - "49464", - "98045" - ] - }, + ] + }, + { + "ForeignEntity": "SalesLT.SalesOrderHeader", + "ForeignKeys": [ { - "Name": "rowguid", - "DataType": "uniqueidentifier", - "Definition": "The rowguid column in the SalesLT.Address entity contains unique identifier values in the form of Globally Unique Identifiers (GUIDs). Each value is a 128-bit number represented as a string of hexadecimal characters, typically in the pattern of 8-4-4-4-12 (e.g., 00000000-0000-0000-0000-000000000000). This column is used to uniquely identify each record in the address table, ensuring that each entry can be distinctly referenced.", - "AllowedValues": null, - "SampleValues": [ - "CC91297C-567B-4186-96C8-2BA6F0875E73", - "0B49022D-8B49-4CF6-B0A3-46231CD48441", - "BD3035F6-4018-4E4C-8D70-6DD3F4FE8EB4", - "1A51283C-12BB-462E-A1B8-A0039C18E6D8", - "FF2BE5E9-7D22-4C1C-ACF8-199148E957AB" - ] + "Column": "AddressID", + "ForeignColumn": "BillToAddressID" }, { - "Name": "ModifiedDate", - "DataType": "datetime", - "Definition": "The ModifiedDate column in the SalesLT.Address entity contains timestamps indicating the last date and time when the address record was modified. The format follows the SQL standard datetime format 'YYYY-MM-DD HH:MM:SS'. This column helps track the history of changes made to address records.", - "AllowedValues": null, - "SampleValues": [ - "2007-02-01 00:00:00", - "2008-02-01 00:00:00", - "2007-08-01 00:00:00", - "2007-09-01 00:00:00", - "2007-04-01 00:00:00" - ] + "Column": "AddressID", + "ForeignColumn": "ShipToAddressID" } - ] -} \ No newline at end of file + ] + } + ], + "Warehouse": null +} diff --git a/text_2_sql/data_dictionary/generated_samples/SalesLT.Customer.json b/text_2_sql/data_dictionary/generated_samples/SalesLT.Customer.json index e26a2cd..215e53d 100644 --- a/text_2_sql/data_dictionary/generated_samples/SalesLT.Customer.json +++ b/text_2_sql/data_dictionary/generated_samples/SalesLT.Customer.json @@ -1,226 +1,226 @@ { - "Entity": "SalesLT.Customer", - "Definition": "The SalesLT.Customer entity contains information about individual customers, including both personal details and contact information. It includes unique identifiers, names, company affiliations, and communication details such as email and phone number. This entity can be used to answer questions related to customer identification, contact methods, sales representative assignments, and the recent activity or updates regarding customer information.", - "EntityName": "Customer Information", - "Database": "AdventureWorksLT", - "Warehouse": null, - "EntityRelationships": [ - { - "ForeignEntity": "SalesLT.CustomerAddress", - "ForeignKeys": [ - { - "Column": "CustomerID", - "ForeignColumn": "CustomerID" - } - ] - }, - { - "ForeignEntity": "SalesLT.SalesOrderHeader", - "ForeignKeys": [ - { - "Column": "CustomerID", - "ForeignColumn": "CustomerID" - } - ] + "Columns": [ + { + "AllowedValues": null, + "DataType": "int", + "Definition": "The CustomerID column in the SalesLT.Customer entity contains unique numeric identifiers assigned to each customer. These identifiers are integers that vary significantly in value, likely indicating they are auto-incremented or assigned sequentially. This column is used to uniquely distinguish each customer in the database, aiding in the management and retrieval of customer data.", + "Name": "CustomerID", + "SampleValues": [ + 30022, + 340, + 208, + 397, + 29553 + ] + }, + { + "AllowedValues": null, + "DataType": "bit", + "Definition": "The NameStyle column in the SalesLT.Customer entity contains boolean values indicating the style of the customer's name. 'False' typically suggests that the name is formatted in the default or standard style, while 'True' would suggest a non-standard formatting. The column is used to distinguish between different formatting conventions in the customer's name data.", + "Name": "NameStyle", + "SampleValues": [ + false + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The Title column in the SalesLT.Customer entity contains honorific titles used to address individuals respectfully. The values are typically common abbreviations for titles such as 'Mr.' for Mister, 'Ms.' for Miss, 'Sr.' for Se\u00f1or, and 'Sra.' for Se\u00f1ora. The column helps in identifying the form of address appropriate for male and female customers.", + "Name": "Title", + "SampleValues": [ + "Sra.", + "Sr.", + "Ms.", + "Mr." + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The FirstName column in the SalesLT.Customer entity contains the given names of customers. These values can include a variety of international names and may include hyphens or other special characters. The names may be of any gender and vary in length. This column represents individual customer first names, which can come from diverse cultural and linguistic backgrounds.", + "Name": "FirstName", + "SampleValues": [ + "Yao-Qiang", + "Thomas", + "Jill", + "Jean", + "Jinghao" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The MiddleName column in the SalesLT.Customer entity contains the middle initial of customers' names. The values are typically a single letter, sometimes followed by a period. This pattern suggests the column is used to store abbreviated middle names of customers. The data is useful for identifying individuals more precisely in records where middle names are provided.", + "Name": "MiddleName", + "SampleValues": [ + "J.", + "M", + "C.", + "L.", + "K." + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The LastName column in the SalesLT.Customer entity contains the last names of customers. The values are typically capitalized and consist of alphabetic characters. This column is used to store the family or surname of each customer, which is a common format for identifying individuals in a customer database.", + "Name": "LastName", + "SampleValues": [ + "Farino", + "Hamilton", + "Irwin", + "Coffman", + "Brewer" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The Suffix column in the SalesLT.Customer entity contains titles or honorifics that are appended to the end of customers' names. These suffixes often denote generational order (e.g., Jr., II, IV) or academic and professional qualifications (e.g., PhD, Sr.). The values are generally abbreviated forms of formal titles and follow common naming conventions.", + "Name": "Suffix", + "SampleValues": [ + "Sr.", + "PhD", + "Jr.", + "IV", + "II" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The CompanyName column in the SalesLT.Customer entity contains the names of companies or businesses that are customers of the organization. The values typically represent the official or trade names of these companies, often including references to the industry or specific type of retail, such as bike stores or department stores. The names are generally descriptive and help identify the nature and focus of the businesses.", + "Name": "CompanyName", + "SampleValues": [ + "Trendy Department Stores", + "Number One Bike Co.", + "Fifth Bike Store", + "Bike World", + "Great Bicycle Supply" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The SalesPerson column in the SalesLT.Customer entity contains identifiers for sales representatives. The values follow a specific pattern consisting of a domain prefix 'adventure-works\\' followed by the sales representative's name and a numeric suffix. This format is used to uniquely identify individual salespersons in the Adventure Works organization.", + "Name": "SalesPerson", + "SampleValues": [ + "adventure-works\\jillian0", + "adventure-works\\garrett1", + "adventure-works\\david8", + "adventure-works\\pamela0", + "adventure-works\\jae0" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The EmailAddress column in the SalesLT.Customer entity contains the email addresses of customers. The values follow a specific format, typically comprising the customer's first name or a variation of it, followed by a numerical digit and the domain \"adventure-works.com\". This structured format helps in identifying and organizing customer communication effectively.", + "Name": "EmailAddress", + "SampleValues": [ + "twanna0@adventure-works.com", + "joseph4@adventure-works.com", + "chris6@adventure-works.com", + "victor0@adventure-works.com", + "lindsey0@adventure-works.com" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The Phone column in the SalesLT.Customer entity contains phone numbers associated with each customer. The phone numbers follow a specific format consisting of a three-digit area code, followed by a three-digit central office code, and a four-digit subscriber number (e.g., 103-555-0151). This format is likely consistent across all entries in the column. The values do not appear to conform to any international phone number format and seem to be fictional phone numbers without specific geographical significance.", + "Name": "Phone", + "SampleValues": [ + "103-555-0151", + "718-555-0152", + "362-555-0162", + "290-555-0196", + "912-555-0149" + ] + }, + { + "AllowedValues": null, + "DataType": "varchar", + "Definition": "The PasswordHash column in the SalesLT.Customer entity contains hashed passwords for customers. The values are encoded in a string format, likely using Base64 encoding, which represents the hashed version of the customers' passwords. The hashes are used to securely store passwords in the database, ensuring that the original passwords are not stored directly. The length and characteristics of the sample values suggest that a consistent hashing algorithm and encoding method are used.", + "Name": "PasswordHash", + "SampleValues": [ + "miuh5Po0s3jNnKrMwmuROEApoKFRWumb1K1EMP0hGB0=", + "20rlqqjWOPLBi7oYKBrHMzouHcYl6OknJcV+yc0zQKo=", + "0ZfPkEBplSrQkVpmgzrlfblSeTpJ4CJwJu7aVWOuOSM=", + "cvqeC4fJcKwJ9jlluiWvK5/MyuSi8neLnjFDGdvzJy4=", + "haGTwCpR1pahJRX/490ASvk+bkWOZv828Z8Krd0XO50=" + ] + }, + { + "AllowedValues": null, + "DataType": "varchar", + "Definition": "The PasswordSalt column in the SalesLT.Customer entity contains unique random strings used as additional input to hash functions to ensure password security. The values are typically base64-encoded strings, enhancing the security of stored passwords by making them less vulnerable to attacks such as rainbow table lookups. This increases the overall security of customer authentication by adding an extra layer of complexity to the password hashing process.", + "Name": "PasswordSalt", + "SampleValues": [ + "oOIbGSo=", + "n/q5ims=", + "GR7idhc=", + "lkPNcdI=", + "aOFmjMY=" + ] + }, + { + "AllowedValues": null, + "DataType": "uniqueidentifier", + "Definition": "The rowguid column in the SalesLT.Customer entity contains unique identifier values for each customer. These values are in the format of a GUID (Globally Unique Identifier), which is a 128-bit value typically represented as 32 hexadecimal digits separated by hyphens. The GUID values are used to ensure the uniqueness of each customer record across the entire database. This column is commonly used in replication and for merging data from different sources.", + "Name": "rowguid", + "SampleValues": [ + "0631F720-A96D-4505-A07C-11A954A67F6B", + "A2098F7B-3D3A-4894-90D7-C79C118845D5", + "36702D8C-0756-4B16-B0DA-8C97103D8B90", + "69AE5D43-31BE-4B76-BFBB-5A23C4788BBC", + "B143978A-3FC9-4077-A70A-DB4DFACEDC79" + ] + }, + { + "AllowedValues": null, + "DataType": "datetime", + "Definition": "The ModifiedDate column in the SalesLT.Customer entity contains the date and time when a customer record was last updated. The values follow the format of 'YYYY-MM-DD HH:MM:SS', indicating the precise timestamp of the modification. This information is crucial for tracking changes and understanding the recency of the data in the customer records.", + "Name": "ModifiedDate", + "SampleValues": [ + "2005-11-01 00:00:00", + "2005-09-01 00:00:00", + "2005-08-01 00:00:00", + "2005-12-01 00:00:00", + "2007-09-01 00:00:00" + ] + } + ], + "CompleteEntityRelationshipsGraph": [ + "SalesLT.Customer -> SalesLT.CustomerAddress -> SalesLT.Address -> SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductCategory", + "SalesLT.Customer -> SalesLT.CustomerAddress -> SalesLT.Address -> SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductModel -> SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription", + "SalesLT.Customer -> SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductCategory", + "SalesLT.Customer -> SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductModel -> SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription", + "SalesLT.Customer -> SalesLT.SalesOrderHeader -> SalesLT.Address -> SalesLT.CustomerAddress" + ], + "Database": "AdventureWorksLT", + "Definition": "The SalesLT.Customer entity contains information about individual customers, including both personal details and contact information. It includes unique identifiers, names, company affiliations, and communication details such as email and phone number. This entity can be used to answer questions related to customer identification, contact methods, sales representative assignments, and the recent activity or updates regarding customer information.", + "Entity": "SalesLT.Customer", + "EntityName": "Customer Information", + "EntityRelationships": [ + { + "ForeignEntity": "SalesLT.CustomerAddress", + "ForeignKeys": [ + { + "Column": "CustomerID", + "ForeignColumn": "CustomerID" } - ], - "CompleteEntityRelationshipsGraph": [ - "SalesLT.Customer -> SalesLT.CustomerAddress -> SalesLT.Address -> SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductCategory", - "SalesLT.Customer -> SalesLT.CustomerAddress -> SalesLT.Address -> SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductModel -> SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription", - "SalesLT.Customer -> SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductCategory", - "SalesLT.Customer -> SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductModel -> SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription", - "SalesLT.Customer -> SalesLT.SalesOrderHeader -> SalesLT.Address -> SalesLT.CustomerAddress" - ], - "Columns": [ - { - "Name": "CustomerID", - "DataType": "int", - "Definition": "The CustomerID column in the SalesLT.Customer entity contains unique numeric identifiers assigned to each customer. These identifiers are integers that vary significantly in value, likely indicating they are auto-incremented or assigned sequentially. This column is used to uniquely distinguish each customer in the database, aiding in the management and retrieval of customer data.", - "AllowedValues": null, - "SampleValues": [ - 30022, - 340, - 208, - 397, - 29553 - ] - }, - { - "Name": "NameStyle", - "DataType": "bit", - "Definition": "The NameStyle column in the SalesLT.Customer entity contains boolean values indicating the style of the customer's name. 'False' typically suggests that the name is formatted in the default or standard style, while 'True' would suggest a non-standard formatting. The column is used to distinguish between different formatting conventions in the customer's name data.", - "AllowedValues": null, - "SampleValues": [ - false - ] - }, - { - "Name": "Title", - "DataType": "nvarchar", - "Definition": "The Title column in the SalesLT.Customer entity contains honorific titles used to address individuals respectfully. The values are typically common abbreviations for titles such as 'Mr.' for Mister, 'Ms.' for Miss, 'Sr.' for Se\u00f1or, and 'Sra.' for Se\u00f1ora. The column helps in identifying the form of address appropriate for male and female customers.", - "AllowedValues": null, - "SampleValues": [ - "Sra.", - "Sr.", - "Ms.", - "Mr." - ] - }, - { - "Name": "FirstName", - "DataType": "nvarchar", - "Definition": "The FirstName column in the SalesLT.Customer entity contains the given names of customers. These values can include a variety of international names and may include hyphens or other special characters. The names may be of any gender and vary in length. This column represents individual customer first names, which can come from diverse cultural and linguistic backgrounds.", - "AllowedValues": null, - "SampleValues": [ - "Yao-Qiang", - "Thomas", - "Jill", - "Jean", - "Jinghao" - ] - }, - { - "Name": "MiddleName", - "DataType": "nvarchar", - "Definition": "The MiddleName column in the SalesLT.Customer entity contains the middle initial of customers' names. The values are typically a single letter, sometimes followed by a period. This pattern suggests the column is used to store abbreviated middle names of customers. The data is useful for identifying individuals more precisely in records where middle names are provided.", - "AllowedValues": null, - "SampleValues": [ - "J.", - "M", - "C.", - "L.", - "K." - ] - }, - { - "Name": "LastName", - "DataType": "nvarchar", - "Definition": "The LastName column in the SalesLT.Customer entity contains the last names of customers. The values are typically capitalized and consist of alphabetic characters. This column is used to store the family or surname of each customer, which is a common format for identifying individuals in a customer database.", - "AllowedValues": null, - "SampleValues": [ - "Farino", - "Hamilton", - "Irwin", - "Coffman", - "Brewer" - ] - }, - { - "Name": "Suffix", - "DataType": "nvarchar", - "Definition": "The Suffix column in the SalesLT.Customer entity contains titles or honorifics that are appended to the end of customers' names. These suffixes often denote generational order (e.g., Jr., II, IV) or academic and professional qualifications (e.g., PhD, Sr.). The values are generally abbreviated forms of formal titles and follow common naming conventions.", - "AllowedValues": null, - "SampleValues": [ - "Sr.", - "PhD", - "Jr.", - "IV", - "II" - ] - }, - { - "Name": "CompanyName", - "DataType": "nvarchar", - "Definition": "The CompanyName column in the SalesLT.Customer entity contains the names of companies or businesses that are customers of the organization. The values typically represent the official or trade names of these companies, often including references to the industry or specific type of retail, such as bike stores or department stores. The names are generally descriptive and help identify the nature and focus of the businesses.", - "AllowedValues": null, - "SampleValues": [ - "Trendy Department Stores", - "Number One Bike Co.", - "Fifth Bike Store", - "Bike World", - "Great Bicycle Supply" - ] - }, - { - "Name": "SalesPerson", - "DataType": "nvarchar", - "Definition": "The SalesPerson column in the SalesLT.Customer entity contains identifiers for sales representatives. The values follow a specific pattern consisting of a domain prefix 'adventure-works\\' followed by the sales representative's name and a numeric suffix. This format is used to uniquely identify individual salespersons in the Adventure Works organization.", - "AllowedValues": null, - "SampleValues": [ - "adventure-works\\jillian0", - "adventure-works\\garrett1", - "adventure-works\\david8", - "adventure-works\\pamela0", - "adventure-works\\jae0" - ] - }, - { - "Name": "EmailAddress", - "DataType": "nvarchar", - "Definition": "The EmailAddress column in the SalesLT.Customer entity contains the email addresses of customers. The values follow a specific format, typically comprising the customer's first name or a variation of it, followed by a numerical digit and the domain \"adventure-works.com\". This structured format helps in identifying and organizing customer communication effectively.", - "AllowedValues": null, - "SampleValues": [ - "twanna0@adventure-works.com", - "joseph4@adventure-works.com", - "chris6@adventure-works.com", - "victor0@adventure-works.com", - "lindsey0@adventure-works.com" - ] - }, - { - "Name": "Phone", - "DataType": "nvarchar", - "Definition": "The Phone column in the SalesLT.Customer entity contains phone numbers associated with each customer. The phone numbers follow a specific format consisting of a three-digit area code, followed by a three-digit central office code, and a four-digit subscriber number (e.g., 103-555-0151). This format is likely consistent across all entries in the column. The values do not appear to conform to any international phone number format and seem to be fictional phone numbers without specific geographical significance.", - "AllowedValues": null, - "SampleValues": [ - "103-555-0151", - "718-555-0152", - "362-555-0162", - "290-555-0196", - "912-555-0149" - ] - }, - { - "Name": "PasswordHash", - "DataType": "varchar", - "Definition": "The PasswordHash column in the SalesLT.Customer entity contains hashed passwords for customers. The values are encoded in a string format, likely using Base64 encoding, which represents the hashed version of the customers' passwords. The hashes are used to securely store passwords in the database, ensuring that the original passwords are not stored directly. The length and characteristics of the sample values suggest that a consistent hashing algorithm and encoding method are used.", - "AllowedValues": null, - "SampleValues": [ - "miuh5Po0s3jNnKrMwmuROEApoKFRWumb1K1EMP0hGB0=", - "20rlqqjWOPLBi7oYKBrHMzouHcYl6OknJcV+yc0zQKo=", - "0ZfPkEBplSrQkVpmgzrlfblSeTpJ4CJwJu7aVWOuOSM=", - "cvqeC4fJcKwJ9jlluiWvK5/MyuSi8neLnjFDGdvzJy4=", - "haGTwCpR1pahJRX/490ASvk+bkWOZv828Z8Krd0XO50=" - ] - }, - { - "Name": "PasswordSalt", - "DataType": "varchar", - "Definition": "The PasswordSalt column in the SalesLT.Customer entity contains unique random strings used as additional input to hash functions to ensure password security. The values are typically base64-encoded strings, enhancing the security of stored passwords by making them less vulnerable to attacks such as rainbow table lookups. This increases the overall security of customer authentication by adding an extra layer of complexity to the password hashing process.", - "AllowedValues": null, - "SampleValues": [ - "oOIbGSo=", - "n/q5ims=", - "GR7idhc=", - "lkPNcdI=", - "aOFmjMY=" - ] - }, - { - "Name": "rowguid", - "DataType": "uniqueidentifier", - "Definition": "The rowguid column in the SalesLT.Customer entity contains unique identifier values for each customer. These values are in the format of a GUID (Globally Unique Identifier), which is a 128-bit value typically represented as 32 hexadecimal digits separated by hyphens. The GUID values are used to ensure the uniqueness of each customer record across the entire database. This column is commonly used in replication and for merging data from different sources.", - "AllowedValues": null, - "SampleValues": [ - "0631F720-A96D-4505-A07C-11A954A67F6B", - "A2098F7B-3D3A-4894-90D7-C79C118845D5", - "36702D8C-0756-4B16-B0DA-8C97103D8B90", - "69AE5D43-31BE-4B76-BFBB-5A23C4788BBC", - "B143978A-3FC9-4077-A70A-DB4DFACEDC79" - ] - }, - { - "Name": "ModifiedDate", - "DataType": "datetime", - "Definition": "The ModifiedDate column in the SalesLT.Customer entity contains the date and time when a customer record was last updated. The values follow the format of 'YYYY-MM-DD HH:MM:SS', indicating the precise timestamp of the modification. This information is crucial for tracking changes and understanding the recency of the data in the customer records.", - "AllowedValues": null, - "SampleValues": [ - "2005-11-01 00:00:00", - "2005-09-01 00:00:00", - "2005-08-01 00:00:00", - "2005-12-01 00:00:00", - "2007-09-01 00:00:00" - ] + ] + }, + { + "ForeignEntity": "SalesLT.SalesOrderHeader", + "ForeignKeys": [ + { + "Column": "CustomerID", + "ForeignColumn": "CustomerID" } - ] -} \ No newline at end of file + ] + } + ], + "Warehouse": null +} diff --git a/text_2_sql/data_dictionary/generated_samples/SalesLT.CustomerAddress.json b/text_2_sql/data_dictionary/generated_samples/SalesLT.CustomerAddress.json index 978d464..b5d1a6a 100644 --- a/text_2_sql/data_dictionary/generated_samples/SalesLT.CustomerAddress.json +++ b/text_2_sql/data_dictionary/generated_samples/SalesLT.CustomerAddress.json @@ -1,99 +1,99 @@ { - "Entity": "SalesLT.CustomerAddress", - "Definition": "The SalesLT.CustomerAddress entity represents the relationship between customers and their addresses within the sales database. It contains key information about which addresses are associated with which customers, including the type of address (such as billing or shipping). This entity is useful for understanding and maintaining customer address records, ensuring accurate and up-to-date address information for each customer. It can be used to answer questions related to customer address assignments, address type categorization, and modification history of these records.", - "EntityName": "Customer Address Information", - "Database": "AdventureWorksLT", - "Warehouse": null, - "EntityRelationships": [ + "Columns": [ + { + "AllowedValues": null, + "DataType": "int", + "Definition": "The CustomerID column in the SalesLT.CustomerAddress entity contains unique identifiers for customers. Each value is an integer that uniquely identifies a customer within the database, ensuring that each customer can be distinctively referenced. These identifiers are likely autogenerated and do not follow a specific pattern other than being unique numeric values.", + "Name": "CustomerID", + "SampleValues": [ + 29522, + 29937, + 29761, + 29843, + 29728 + ] + }, + { + "AllowedValues": null, + "DataType": "int", + "Definition": "The AddressID column in the SalesLT.CustomerAddress entity contains unique numeric identifiers for each address associated with customers. The values in this column are integers and serve as primary keys to uniquely distinguish different address records within the table. The identifiers do not follow a specific sequence but ensure that each address has a distinct identifier for reference purposes.", + "Name": "AddressID", + "SampleValues": [ + 643, + 867, + 810, + 993, + 601 + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The AddressType column in the SalesLT.CustomerAddress entity contains descriptions of the type of address associated with a customer. The values can indicate different purposes for the address, such as \"Shipping\" for shipping addresses and \"Main Office\" for primary business locations. These descriptions help categorize the addresses based on their usage within the organization.", + "Name": "AddressType", + "SampleValues": [ + "Shipping", + "Main Office" + ] + }, + { + "AllowedValues": null, + "DataType": "uniqueidentifier", + "Definition": "The column rowguid in the SalesLT.CustomerAddress entity contains unique identifier values in the GUID (Globally Unique Identifier) format. These values are typically used to uniquely identify rows in the table, ensuring that each row can be distinctly referenced. The GUIDs follow a standardized 32-character hexadecimal format, divided into five groups separated by hyphens.", + "Name": "rowguid", + "SampleValues": [ + "0B887414-135A-43F6-94DC-60A220362C6D", + "5F9605D9-90C5-448B-9E38-13E53BD965F0", + "4CAA058D-61F5-4A49-9167-D1E57DCAC9CE", + "81390AF7-D4D0-4F4D-AF42-AB21F5713F14", + "F49E2C74-9BB9-462E-BCAA-67370F4D74A9" + ] + }, + { + "AllowedValues": null, + "DataType": "datetime", + "Definition": "The ModifiedDate column in the SalesLT.CustomerAddress entity contains the date and time when the record was last updated. The values are in the format of 'YYYY-MM-DD HH:MM:SS', indicating both the date and time of modification. This column is used to track and audit changes made to customer address records over time.", + "Name": "ModifiedDate", + "SampleValues": [ + "2006-03-01 00:00:00", + "2005-09-01 00:00:00", + "2005-10-01 00:00:00", + "2006-01-01 00:00:00", + "2005-08-01 00:00:00" + ] + } + ], + "CompleteEntityRelationshipsGraph": [ + "SalesLT.CustomerAddress -> SalesLT.Address -> SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductCategory", + "SalesLT.CustomerAddress -> SalesLT.Address -> SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductModel -> SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription", + "SalesLT.CustomerAddress -> SalesLT.Address -> SalesLT.SalesOrderHeader -> SalesLT.Customer", + "SalesLT.CustomerAddress -> SalesLT.Customer -> SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductCategory", + "SalesLT.CustomerAddress -> SalesLT.Customer -> SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductModel -> SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription", + "SalesLT.CustomerAddress -> SalesLT.Customer -> SalesLT.SalesOrderHeader -> SalesLT.Address" + ], + "Database": "AdventureWorksLT", + "Definition": "The SalesLT.CustomerAddress entity represents the relationship between customers and their addresses within the sales database. It contains key information about which addresses are associated with which customers, including the type of address (such as billing or shipping). This entity is useful for understanding and maintaining customer address records, ensuring accurate and up-to-date address information for each customer. It can be used to answer questions related to customer address assignments, address type categorization, and modification history of these records.", + "Entity": "SalesLT.CustomerAddress", + "EntityName": "Customer Address Information", + "EntityRelationships": [ + { + "ForeignEntity": "SalesLT.Address", + "ForeignKeys": [ { - "ForeignEntity": "SalesLT.Address", - "ForeignKeys": [ - { - "Column": "AddressID", - "ForeignColumn": "AddressID" - } - ] - }, - { - "ForeignEntity": "SalesLT.Customer", - "ForeignKeys": [ - { - "Column": "CustomerID", - "ForeignColumn": "CustomerID" - } - ] + "Column": "AddressID", + "ForeignColumn": "AddressID" } - ], - "CompleteEntityRelationshipsGraph": [ - "SalesLT.CustomerAddress -> SalesLT.Address -> SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductCategory", - "SalesLT.CustomerAddress -> SalesLT.Address -> SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductModel -> SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription", - "SalesLT.CustomerAddress -> SalesLT.Address -> SalesLT.SalesOrderHeader -> SalesLT.Customer", - "SalesLT.CustomerAddress -> SalesLT.Customer -> SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductCategory", - "SalesLT.CustomerAddress -> SalesLT.Customer -> SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductModel -> SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription", - "SalesLT.CustomerAddress -> SalesLT.Customer -> SalesLT.SalesOrderHeader -> SalesLT.Address" - ], - "Columns": [ - { - "Name": "CustomerID", - "DataType": "int", - "Definition": "The CustomerID column in the SalesLT.CustomerAddress entity contains unique identifiers for customers. Each value is an integer that uniquely identifies a customer within the database, ensuring that each customer can be distinctively referenced. These identifiers are likely autogenerated and do not follow a specific pattern other than being unique numeric values.", - "AllowedValues": null, - "SampleValues": [ - 29522, - 29937, - 29761, - 29843, - 29728 - ] - }, - { - "Name": "AddressID", - "DataType": "int", - "Definition": "The AddressID column in the SalesLT.CustomerAddress entity contains unique numeric identifiers for each address associated with customers. The values in this column are integers and serve as primary keys to uniquely distinguish different address records within the table. The identifiers do not follow a specific sequence but ensure that each address has a distinct identifier for reference purposes.", - "AllowedValues": null, - "SampleValues": [ - 643, - 867, - 810, - 993, - 601 - ] - }, - { - "Name": "AddressType", - "DataType": "nvarchar", - "Definition": "The AddressType column in the SalesLT.CustomerAddress entity contains descriptions of the type of address associated with a customer. The values can indicate different purposes for the address, such as \"Shipping\" for shipping addresses and \"Main Office\" for primary business locations. These descriptions help categorize the addresses based on their usage within the organization.", - "AllowedValues": null, - "SampleValues": [ - "Shipping", - "Main Office" - ] - }, - { - "Name": "rowguid", - "DataType": "uniqueidentifier", - "Definition": "The column rowguid in the SalesLT.CustomerAddress entity contains unique identifier values in the GUID (Globally Unique Identifier) format. These values are typically used to uniquely identify rows in the table, ensuring that each row can be distinctly referenced. The GUIDs follow a standardized 32-character hexadecimal format, divided into five groups separated by hyphens.", - "AllowedValues": null, - "SampleValues": [ - "0B887414-135A-43F6-94DC-60A220362C6D", - "5F9605D9-90C5-448B-9E38-13E53BD965F0", - "4CAA058D-61F5-4A49-9167-D1E57DCAC9CE", - "81390AF7-D4D0-4F4D-AF42-AB21F5713F14", - "F49E2C74-9BB9-462E-BCAA-67370F4D74A9" - ] - }, + ] + }, + { + "ForeignEntity": "SalesLT.Customer", + "ForeignKeys": [ { - "Name": "ModifiedDate", - "DataType": "datetime", - "Definition": "The ModifiedDate column in the SalesLT.CustomerAddress entity contains the date and time when the record was last updated. The values are in the format of 'YYYY-MM-DD HH:MM:SS', indicating both the date and time of modification. This column is used to track and audit changes made to customer address records over time.", - "AllowedValues": null, - "SampleValues": [ - "2006-03-01 00:00:00", - "2005-09-01 00:00:00", - "2005-10-01 00:00:00", - "2006-01-01 00:00:00", - "2005-08-01 00:00:00" - ] + "Column": "CustomerID", + "ForeignColumn": "CustomerID" } - ] -} \ No newline at end of file + ] + } + ], + "Warehouse": null +} diff --git a/text_2_sql/data_dictionary/generated_samples/SalesLT.Product.json b/text_2_sql/data_dictionary/generated_samples/SalesLT.Product.json index 9b00e94..d6cb0ff 100644 --- a/text_2_sql/data_dictionary/generated_samples/SalesLT.Product.json +++ b/text_2_sql/data_dictionary/generated_samples/SalesLT.Product.json @@ -1,252 +1,252 @@ { - "Entity": "SalesLT.Product", - "Definition": "The SalesLT.Product entity contains detailed information about the products available in the inventory. It includes data such as product ID, name, product number, color, size, weight, cost, price, and various dates related to the product's availability and discontinuation. This entity can be used to answer questions regarding product specifications, pricing, availability periods, and categorization. It also helps in identifying product models and tracking changes through modification dates.", - "EntityName": "Product Information", - "Database": "AdventureWorksLT", - "Warehouse": null, - "EntityRelationships": [ - { - "ForeignEntity": "SalesLT.ProductCategory", - "ForeignKeys": [ - { - "Column": "ProductCategoryID", - "ForeignColumn": "ProductCategoryID" - } - ] - }, - { - "ForeignEntity": "SalesLT.ProductModel", - "ForeignKeys": [ - { - "Column": "ProductModelID", - "ForeignColumn": "ProductModelID" - } - ] - }, - { - "ForeignEntity": "SalesLT.SalesOrderDetail", - "ForeignKeys": [ - { - "Column": "ProductID", - "ForeignColumn": "ProductID" - } - ] + "Columns": [ + { + "AllowedValues": null, + "DataType": "int", + "Definition": "The ProductID column in the SalesLT.Product entity contains unique numerical identifiers for each product. These identifiers are integer values with no specific pattern or sequence. This column is used as the primary key to uniquely distinguish each product within the product entity.", + "Name": "ProductID", + "SampleValues": [ + 989, + 735, + 743, + 865, + 883 + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The column contains a list of product names that are available for sale. The names typically include a combination of descriptive terms regarding the product type, model, and sometimes size or color. The values do not follow a strict format but often include elements such as the product category, specific attributes, and any distinguishing features. Examples include terms related to bicycle components, accessories, and clothing items.", + "Name": "Name", + "SampleValues": [ + "ML Mountain Front Wheel", + "ML Touring Seat/Saddle", + "Hitch Rack - 4-Bike", + "HL Touring Frame - Yellow, 54", + "Classic Vest, L" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The ProductNumber column in the SalesLT.Product entity contains alphanumeric strings that serve as unique identifiers for different products. These identifiers typically follow a pattern combining letters and numbers separated by dashes. The letters may represent product categories or characteristics, while the numbers likely denote specific details such as size or model. This column ensures that each product can be distinctly referenced and categorized within the database.", + "Name": "ProductNumber", + "SampleValues": [ + "BK-M47B-40", + "BK-R50R-60", + "FR-M21S-40", + "SB-M891-L", + "FR-M94B-42" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The Color column in the SalesLT.Product entity contains a list of color names that describe the appearance of the products. The values include basic colors as well as combinations of colors, often separated by a slash. These color descriptions help in identifying the visual attributes of the products within the inventory.", + "Name": "Color", + "SampleValues": [ + "Red", + "Black", + "Silver/Black", + "Silver", + "White" + ] + }, + { + "AllowedValues": null, + "DataType": "money", + "Definition": "The StandardCost column in the SalesLT.Product entity contains the standard cost values for products. These values represent the cost incurred to produce or purchase the products and are typically expressed in a decimal format to include precise cost calculations. The values can vary widely, reflecting the diversity in cost based on different product types and materials used. The cost is represented in a monetary format with up to four decimal places, indicating a detailed accounting of production costs.", + "Name": "StandardCost", + "SampleValues": [ + "55.3801", + "204.6251", + "1059.3100", + "199.3757", + "9.1593" + ] + }, + { + "AllowedValues": null, + "DataType": "money", + "Definition": "The ListPrice column in the SalesLT.Product entity contains the standard selling price of each product. The values are numeric and represent the price in a monetary format with four decimal places. This column is used to store the manufacturer's suggested retail price for the products listed in the database. Values in this column can vary widely, reflecting the varying cost of different products.", + "Name": "ListPrice", + "SampleValues": [ + "404.9900", + "2294.9900", + "159.0000", + "300.2150", + "1431.5000" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The Size column in the SalesLT.Product entity contains values that represent the size of a product. The values include both numerical sizes and alphanumeric sizes (commonly used for clothing). Numerical sizes are typically in a range such as 42, 54, and 56, whereas alphanumeric sizes follow common clothing size abbreviations like L for Large and XL for Extra Large. The column appears to mix both formats to accurately reflect different types of product sizing.", + "Name": "Size", + "SampleValues": [ + "54", + "42", + "XL", + "L", + "56" + ] + }, + { + "AllowedValues": null, + "DataType": "decimal", + "Definition": "The Weight column in the SalesLT.Product entity contains the weight measurements of products. The values represent the weight in a numerical format, which is likely measured in units such as grams or kilograms. This column does not have a fixed pattern for its values, except that they are all numerical and can include decimal points for precision. The weights vary significantly, indicating different product sizes and types.", + "Name": "Weight", + "SampleValues": [ + "13562.34", + "8976.55", + "1050.00", + "11530.26", + "8069.37" + ] + }, + { + "AllowedValues": null, + "DataType": "int", + "Definition": "The ProductCategoryID column in the SalesLT.Product entity contains numerical identifiers that correspond to different product categories. Each value in this column represents a unique category within a predefined set of product categories. The numbers do not follow a specific format and are simply identifiers to link products to their associated categories. These categories are used to classify and organize the products into groups for better management and retrieval.", + "Name": "ProductCategoryID", + "SampleValues": [ + 39, + 28, + 10, + 27, + 24 + ] + }, + { + "AllowedValues": null, + "DataType": "int", + "Definition": "The ProductModelID column in the SalesLT.Product entity contains numeric identifiers that correspond to different product models. These values are used to uniquely identify and reference specific models within the product catalog. The column helps in organizing and categorizing products based on their respective models for easier management and retrieval. The values are integers and do not follow any specific standardized format beyond being unique identifiers within the database.", + "Name": "ProductModelID", + "SampleValues": [ + 38, + 45, + 82, + 24, + 81 + ] + }, + { + "AllowedValues": null, + "DataType": "datetime", + "Definition": "The SellStartDate column in the SalesLT.Product entity contains the dates and times when the products were first available for sale. The values in this column follow the datetime format 'YYYY-MM-DD HH:MM:SS', indicating the exact start date and time for selling each product. This information is useful for determining the product's availability over time and can be used for filtering products by their start selling dates.", + "Name": "SellStartDate", + "SampleValues": [ + "2007-07-01 00:00:00", + "2006-07-01 00:00:00", + "2005-07-01 00:00:00", + "2002-06-01 00:00:00" + ] + }, + { + "AllowedValues": null, + "DataType": "datetime", + "Definition": "The SellEndDate column in the SalesLT.Product entity contains the date and time when a product is no longer available for sale. The values are in the datetime format and typically represent the exact end date and time for each product's availability. This column helps in determining the period during which a product was sold and can be used to analyze sales trends and product lifecycle.", + "Name": "SellEndDate", + "SampleValues": [ + "2007-06-30 00:00:00", + "2006-06-30 00:00:00" + ] + }, + { + "AllowedValues": null, + "DataType": "datetime", + "Definition": "The DiscontinuedDate column in the SalesLT.Product entity represents the date on which a product was discontinued and is no longer available for sale. This column contains date values, indicating the specific point in time when the product status changed to discontinued. If the value is NULL, it means the product is still currently available. This information is crucial for determining product availability and managing inventory records.", + "Name": "DiscontinuedDate", + "SampleValues": [] + }, + { + "AllowedValues": null, + "DataType": "varbinary", + "Definition": "The ThumbNailPhoto column in the SalesLT.Product entity contains binary image data for product thumbnail photos. The data is stored in a BLOB format representing the image content, typically in formats such as GIF89a. The images are used for quick visual references of products in the database and are encoded in a way consistent with image data storage for efficient retrieval and display. Each entry in the column represents a different product's thumbnail photo encoded as a byte stream.", + "Name": "ThumbNailPhoto", + "SampleValues": [ + "b'GIF89aP\\x001\\x00\\xf7\\x00\\x00\\x00\\x00\\x08\\x0c\\x04\\x0c\\x10\\x10\\x10\\x18\\x12\\x1b\"\\x0e\\x12!\\x18!)!\\x18#\\x1e\\'1\\x00\\x00)))-%-1))1)111191111991991J99999BB99c\\x10\\x10s\\x1c\\x1ck33B9BB=FJ9BJBBZG4yx%BBJJBJFANJJRRJJRJRJJZRRJRRRRRZZNNZRRZRZRRc`WRcRZxLLk^Zc^gk^cgckkkksccoko{kk{sgskssss{sw{{{\\x84s{\\x84{{~x\\x84\\x84{\\x9c\\x8cBB\\x8c\\x8a\"\\x8e\\x83]\\x8e\\x83{\\x84\\x84\\x84\\x8c{\\x84\\x8c\\x84\\x88\\x94\\x84\\x84\\xc2\\xc2\\r\\xb8\\xb39\\xd6\\xd6\\x08\\xd4\\xd4)\\x9c\\x96x\\xb7\\xb1c\\xd2\\xd2V\\xd4\\xd4{\\x8c\\x8c\\x8c\\x94\\x84\\x8c\\x92\\x8a\\x90\\x91\\x8c\\x99\\x9c\\x8c\\xa5\\x9c\\x94\\x94\\x9c\\x94\\x9c\\xa7\\x92\\x8f\\xa5\\x9c\\x94\\xa5\\xa5\\x94\\x9c\\x9c\\x9c\\xa2\\x9c\\xa2\\xad\\xa5\\x94\\xad\\x9c\\xa0\\xa9\\xa5\\xa5\\xc5\\xb7\\x9e\\xa5\\xa0\\xad\\xad\\xa5\\xad\\xad\\xad\\xad\\xb5\\xa5\\xad\\xb5\\xad\\xad\\xb5\\xb1\\xb5\\xbd\\xad\\xad\\xbd\\xb5\\xb5\\xbd\\xbd\\xb1\\xc1\\xb5\\xb9\\xbd\\xbd\\xbd\\xc6\\xb5\\xbd\\xc6\\xbd\\xbd\\xbd\\xbd\\xc6\\xc6\\xbd\\xc6\\xc6\\xc6\\xc6\\xce\\xc7\\xb5\\xce\\xc6\\xc6\\xce\\xce\\xc6\\xd6\\xc6\\xc6\\xd6\\xce\\xc6\\xc6\\xc6\\xce\\xce\\xc6\\xce\\xce\\xce\\xce\\xce\\xd6\\xce\\xd6\\xce\\xce\\xde\\xce\\xce\\xce\\xc6\\xd6\\xce\\xce\\xd6\\xd6\\xce\\xd6\\xd6\\xd6\\xd6\\xd6\\xd6\\xde\\xde\\xde\\x00\\xde\\xde\\x08\\xde\\xde\\x10\\xe7\\xe7\\x0c\\xe7\\xe7\\x18\\xef\\xef\\x10\\xef\\xef\\x18\\xf7\\xf7\\x10\\xf7\\xf7\\x18\\xff\\xff\\x18\\xe7\\xe7!\\xef\\xef!\\xf7\\xf7!\\xff\\xff!\\xde\\xde)\\xe7\\xe7)\\xef\\xef)\\xf7\\xf7)\\xff\\xff)\\xe7\\xde1\\xe7\\xe71\\xef\\xef1\\xf7\\xf71\\xff\\xff1\\xe7\\xe79\\xef\\xef9\\xf7\\xf79\\xff\\xff9\\xde\\xdeB\\xe7\\xe7B\\xef\\xefB\\xf7\\xf7B\\xe7\\xdeR\\xe7\\xe7J\\xef\\xefJ\\xe7\\xe7V\\xef\\xefR\\xff\\xffB\\xff\\xffJ\\xff\\xffR\\xef\\xe7Z\\xf3\\xf3Z\\xe4\\xe4h\\xde\\xde{\\xff\\xffZ\\xfb\\xfbg\\xff\\xffk\\xff\\xffs\\xe2\\xe2\\x7f\\xef\\xef{\\xe4\\xe4\\x8c\\xef\\xef\\x84\\xf7\\xf7\\x84\\xf3\\xf3\\x90\\xff\\xff\\x88\\xff\\xff\\x94\\xde\\xde\\xa0\\xe7\\xde\\xa5\\xeb\\xeb\\x9c\\xef\\xef\\xa5\\xf7\\xf7\\x9c\\xf7\\xf7\\xa5\\xff\\xff\\x9c\\xff\\xff\\xa5\\xe7\\xb5\\xb5\\xe7\\xbd\\xbd\\xde\\xce\\xd6\\xde\\xd6\\xd6\\xde\\xd6\\xde\\xde\\xde\\xd6\\xde\\xde\\xde\\xe7\\xde\\xde\\xe7\\xe7\\xad\\xef\\xe7\\xb5\\xe7\\xe7\\xbd\\xef\\xe7\\xc6\\xe7\\xe7\\xde\\xef\\xe7\\xde\\xef\\xef\\xad\\xef\\xef\\xb5\\xf7\\xf7\\xad\\xff\\xff\\xad\\xff\\xff\\xb5\\xef\\xef\\xbd\\xf7\\xef\\xbd\\xef\\xef\\xca\\xf7\\xf7\\xbd\\xff\\xff\\xbd\\xff\\xff\\xc6\\xf7\\xf7\\xce\\xff\\xf7\\xce\\xff\\xff\\xce\\xef\\xef\\xd6\\xf7\\xef\\xd6\\xf7\\xf7\\xd6\\xff\\xff\\xd6\\xef\\xef\\xde\\xf7\\xf7\\xde\\xff\\xff\\xde\\xde\\xde\\xe7\\xe7\\xde\\xe7\\xe7\\xe7\\xe7\\xef\\xe7\\xe7\\xef\\xef\\xe7\\xf7\\xf7\\xe7\\xff\\xff\\xe7\\xde\\xde\\xef\\xe7\\xe7\\xef\\xef\\xe7\\xef\\xef\\xef\\xef\\xf7\\xef\\xef\\xf7\\xf7\\xef\\xff\\xef\\xef\\xff\\xff\\xef\\xe7\\xe7\\xf7\\xef\\xef\\xf7\\xf7\\xef\\xf7\\xf7\\xf7\\xf7\\xf7\\xff\\xf7\\xff\\xf7\\xf7\\xff\\xff\\xf7\\xde\\xde\\xff\\xef\\xe7\\xff\\xef\\xef\\xff\\xf7\\xf7\\xff\\xf7\\xff\\xff\\xff\\xf7\\xff\\xff\\xff\\xff,\\x00\\x00\\x00\\x00P\\x001\\x00\\x00\\x08\\xfe\\x00\\xff\\t\\x1cH\\xb0\\xa0\\xc1\\x83\\x08\\x13*\\\\\\xc8\\xb0\\xe1\\xc0z\\x0e#\\n\\xac\\x17\\x07\\xcb\\x95+f\\xbe\\x00\\x03\\x16l#F\\x89\\x12\\xeb\\xbd\\xa9a\\x8c\\xe0\\xbb7b\\xda\\tt\\x07R`\\x9e\\x16\"\\\\\\\\\\xb8 \\x13\\x08\\x10\\x0b\\x15\\\\\\xdci\\xe9\\xb0\\xde\\x96\\x033\\xee\\x94+\\x93\\xc3\\xc3\\x81\\x03;\\xd4x\\xd1\\x91\\xa6\\xa5\\xb97o\\xec\\xc41S\\x84\\x06\\x02\\x04\\x17\\xa2\\xe4\\xe1\\x87\\x8fgC6\\x03\\x00l01`\\x80\\x08\\x1c#\\x0e8\\x80p\\xe0\\x8a\\xd7\\x81\\xf3\\xaa\\xc8\\x98\\xb1e\\xe7[\\x87\\xe5\\xb4|\\x00\\x10`C\\x98b\\xff\\x8ci\\x89\\x00`\\x01\\xae\\xbb\\xff\\x86U\\x11S\\x0eq\\xc4\\xc6~\\x14(hL\\x10\\x0e\\x87 \\xdf\\x10+u,\\xf1\\r\\x9b\\x7f\"$\\x18|\\xc5\\xe8T\\xbf\\xbb>\\xd5p\\x8e\\xa8\\x86\\xcc\\xbf\\x1c\\x03\\xde\\x10\\x8c\\xb7\\xa9Q(\\xc4\\xe3\\xa0\\xf4Y\\xdd\\xb0\\x9e\\x1f\\x88v\\x0ed\\xf8\\xed\\xaf\\x9f4I\\x86d!\\xfe2D%\\xef\\x85\\xed \\n\\x0c3\\x00\\xc2\\x166}^E\"\\x94\\xec\\xb4W|\\x94\\x9a\\xfe\\xd2\\xe5|\\xf6\\xda\\xa7Pr\\x0e\\xd4\\x0e\\x87q\\x80\\x08\\xa7\\xf1\\xe3\\x84\"\\x9f\\xe0\\xf9\\xcf{\\xde\\xf1\\xf3\\x8b\\'\\xd7\\x801\\xc0\\x11\\x10\\xf1#\\x8b\"\\xb0\\xd0\\xd3O\\x8a\\x9bW\\xaat\\xda\\xf8X!\\x02\\x0cH\\xff\\xa3\\xc2\\x06e \\xcd\\xd5\\xee\\xfd\\xe0S\\\\W\\xdeH\\xa2\\n\\xbd\\x13A\\xf4\\x0e\\x0c\\x05\\xc8v\\x0f:I,\\xd2\\xca\\x9c\\x06\\xd1\\xe2\\xc99\\x1bd\\x10\\xc7C\\xab(\"\\xcb>\\xb5z\\x07\\xd1\\xbc\\xa7\\xa1\\xd5\\x1dt\\xe0\\x80\\x92\\xfc#23`\\x07\\xc7\\x1cV\\x8f\\xcd\\xfd\\xe3\\x17\\x8bP\\x06\\xd4\\xf8\\xe1@\\x81x\\xa1\\x008\\x18\\x08\\xa8\\xdc\\xe7\\x0c^\\xd4\\xc2\\x83\\x1e\\xe8\\x80\\x05A\\x08\\xc2\\x10Z`\\x04\\x15\\x88a}\\xe1\\xc8\\xc64x\\x01\\x0bT\\x84\\xc2\\x11\\x93\\x08B\\x8e(@\\x84\\x18\\xfa!hJ+\\xc3\\x06\\xa4\\x10\\xcc\\x1e\\xac\\xce\\x87\\x0c\\x8ca\\x03;&\\xca7\\x98 \\x83s\\x13\\x03\\x1an\\xd0\\x81 `A\\x02[0\\x01\\x16p\\x11\\x8bQ\\x80\\x02\\x13\\xa0\\x1d\\x85*\\x9a\\xf0\\x05,\\xc0@\\x0228C\\x0c\\x1f*\\x90y\\xb9k\\x0c\\x18\\xf0\\xfe\\xc2:6 \\x83I\\x15G \\xde\\xb3\\x07?\\x1a\\x88H\\xe9\\xbc\\x90+[\\x8b*\\x14\\x0cR\\x8e1\\xdc\\xc1\\ra\\xf8\\x01\\x14`@\\x04\\x1a\\xbc\\xc0\\t\\xa1P\\x05,v\\xc1\\rp\\xd0\\x83\\x1f\\xf2\\xf8\\x079b@\\x842x\\xa1\\x1e\\xef\\xb8\\x03;\\xdc\\xf5\\xd4\\x7f\\x88A\\x02\\xb2Q\\x81\\nf\\x84[\\xcc!v\\x8e\\x8a\\x15e\\xd2\\xba\\x90\\x011\\x18\\xc4\\x18lX\\xc70\\xcaP\\x86.\\xe4!\\x0e=\\x18\\x821\\xea\\xc1\\xcc\\xb5\\tD\\r;\\xd0B\\x19\\xc4`\\x0cb0\\xa3\\x93uT\\x17\\x06\\x1a\\xb3\\x03\\x0c\\x94\\x01v\\xa7\\x81\\x88\\xf3:\\xc9aj\\xb5c\\x08\\x13`/A\\xccQ\\x06?\\xe0\\xa1ge`*\\x11v\\x10\\x07x\\xcd\\n\\xb1\\xff(\\x07\\x0cv0\\x8crDGi)\\xf2C\\x0cR \\x9034\\x80\\x08\\x99\\xdb[\\xce\\xe6\\x88\\xc8f\\xfe\\xc3\\x0e3\\x18\\xc1,\\xdb\\xe6\\x857X\\x81\\rex\\x83P\\xac\\xa0\\x03EA\\xa4\\x8e\\xbc\\x03\\xd6\\x07v\\xb27\\x8fIG\\xb0V\\xad\\x87\\x04Z0\\xa3\\n\"3\\x85A\\x9d\\xd7\\xfe\\xdeD\\xa9\\x05\\x90\"\\xe4\\x0ei\\xb8\\xc3\\x19\\xca\\xe0\\x06/\\xe4A\\r\\x1f\\x88\\xc1!\\xc5x\\x8fv\\xb0\\x03\\n,\\x98\\x11\\xc4R\\xd4\\x0e\\x1d\\xe6a F\\xb0[\\x1b\\xd7\\xfc\\xbf\\xf74z\\x8cy\\xe8\\x01\\x04\\x1e\\x9c\\xae7x\\xa1\\x0cgPC\\x1f\\x84\\x92\\x02\\n\\xb8\\xc6\\x9b\\xe58\\x068E\\xed\\x87ax\\xf9!\\xd2a\\x03\\x0bTP\\xbdr@\\x80\\x06s\\xc8\\xe2\\xa9#\\xec\\xb0\\xa7\\x15\\xfa\\x03rKH;\\xe2\\xd0\\x0664\\xd9\\x0f\\xe7P\\x03\\x04\\x8e\\x10\\x87z\\xd8\\xb8\\x1d\\xf3\\xa8\\x87;n\\x8cj\\x1c\\x1f\\xf0\\x08\\t\\xc0\\xe3@\\xb6\\xc0\\x80#\\x90\\xc3\\xd9I#/\\xb6\\xff\\x11\\x06\\x15\\x9c\\x8c!wh\\xb01n\\xac\\x83\\x06`\\xe1\\x91\\x13\\xd46\\xd2\\xae\\x8c4cT\\xc1\\x01\\xd14\\xc8\\x0c$P\\x85c\\xc8zw\\xffX\\xf7C\\xd4 \\x03\\t`q!\\xf8\\x10\\xf1@\\x8c!\\x01\\x11\\xac\\xc19,\\r\\xa3\\xc2\\x91f\\x0e2l@\\x04\\xeb8H9R\\x80\\x01,\\xd8\\xfb\\xde\\xa2,\\x87\\x1bb@\\xef\\x99\\x1e\\xc4\\x1fm\\xd0\\x829\\xef<\\xee\\x86\\x06\\xa4\\xc0\\x0c\\\\\\xaa\\xa7\\x03\\x15.\\x10cx\\xe1\\x05\\x1f\\xb8\\x1fB\\x8c\\xa1\\x02\\x14\\x1c!\\x0f\\xe6(\\x88\\xc7\\xebq\\x0c/\\xa8@\\x04\\xb9^H=\\xbc\\x90\\x83>(N b\\x80\\x00\\n\\x8c\\x90\\x07\\xc0J\\x9c\\r=0\\x81\\x07\\x08\\'!\\x19\\xa4\\xc0\\x06U\\x18F;n\\xbc9e\\xb7cE=\\xf8y\\x15<\\x8e\\x10c7\\x1d!g\\xf0\\xc0\\x06^\\xd0\\x05\\x88\\x12\\xf9a\\xde\\x04\\xb0\\x08L`\\x82\\x8d5\\x04\\n&`\\xab\\x16\\x9a<\\x0cb\\xe4\\x01%S\\xd0\\x01\\r\\xf2.m\\xce\\xc8X\\x02\\x1b\\xa0\\x81\\x0f\\xc6\\x00Lc\\xf4A\\rU\\xa0A\\x08P\\xf0\\x81\\x198}!\\xfa:\\x01\\x0bf\\xe0\\x83\\x00\\xeb \\x07V7\\x01\\x0c\\xb6\\xd0\\xb6\\xd5\\xd0\\xaa\\x0c*\\x90\\x80\\x04>P\\x82\\xb1\\xd2\\xe0\\x03\\x18\\xc8\\xc0\\x07d@u\\x90\\x94\\x83\\xe8\\xd7\\x0b\\x81\\x08D\\xa0\\x82\\x1e\\xa8a\\xcd\\xbc\\x91\\x8e=\\xde@\\x04\\x13H\\xa0\\x01\\x12\\x80\\x00\\x06\\xb4$\\x87\\x00\"$ \\x00\\x00;'", + "b'GIF89aP\\x002\\x00\\xf7\\x00\\x00\\xd7\\xd7\\xd7\\xbe\\xbe\\xbe\\x9f\\x9f\\x9f\\xf3\\xf3\\xf3\\xe2\\xe2\\xe2\\xb9\\xb9\\xb9\\xdf\\xdf\\xdf\\xce\\xce\\xce\\xe8\\xe8\\xe8\\xf5\\xf5\\xf5\\xaf\\xaf\\xaf\\xed\\xed\\xed\\xf0\\xf0\\xf0\\xaa\\xaa\\xaa\\xa4\\xa4\\xa4\\xf4\\xf4\\xf4\\xca\\xca\\xca\\xea\\xea\\xea\\xd4\\xd4\\xd4\\xf1\\xf1\\xf1\\xfc\\xfc\\xfc\\xf9\\xf9\\xf9\\xdd\\xdd\\xdd\\xc2\\xc2\\xc2\\xf8\\xf8\\xf8\\xec\\xec\\xec\\xb4\\xb4\\xb4\\xe6\\xe6\\xe6\\xd1\\xd1\\xd1\\xef\\xef\\xef\\xe4\\xe4\\xe4\\xf6\\xf6\\xf6\\xda\\xda\\xda\\xc6\\xc6\\xc6\\xb1\\xb1\\xb1\\xfb\\xfb\\xfb\\xac\\xa9\\xa5\\x8b\\x8b\\x8b\\xdb\\xda\\xdaXXX\\xd8\\xd8\\xd8\\x8c\\x8c\\x8c\\x97\\x97\\x97\\x7f\\x7f\\x80fffooo\\xd5\\xd5\\xd5\\xd6\\xd6\\xd6\\x9e\\x9d\\x9d\\xb2\\xb2\\xb2\\xcc\\xcc\\xcd\\xbb\\xbb\\xbb\\xbc\\xbc\\xbc\\x95\\x95\\x95\\xa8\\xa8\\xa8\\xc4\\xc4\\xc4\\xeb\\xeb\\xeb\\xc5\\xc5\\xc6///FFF\\x00\\x00\\x00\\x0f\\x0f\\x0fyyy}}}\\xba\\xba\\xba\\x94\\x94\\x94LLLeee\\xdb\\xdb\\xdc\\xb6\\xb6\\xb6\\x8a\\x8a\\x8a\\xbd\\xbd\\xbd\\xb0\\xb0\\xb0\\xcc\\xcc\\xcc\\x82\\x82\\x82\\xb3\\xb3\\xb3,,,\\\\\\\\\\\\OOO\\xa7\\xa7\\xa7\\xe8\\xe8\\xe9\\x9e\\x9e\\x9e\\xd5\\xd5\\xd6\\xde\\xde\\xde\\xcd\\xcd\\xcd\\xd2\\xd2\\xd2\\xf2\\xf2\\xf2\\xe1\\xe1\\xe1\\xee\\xee\\xee\\xae\\xae\\xae\\xb7\\xb7\\xb7rrs\\xb1\\xb0\\xae<<\\xf4\\n\\xb6\\xe8X\\xa4f\\x97\\xa6u\\xca6\\xea[\\xaar\\xaf\\x1e\\xde\\x99\\xb8\\xeb\\x0b\\x03\\x8d\\xc5\\x1e-\\xab\\x14m\\xd3\\xb5P\\xddN\\x8dkus\\xcf\\xce\\x0f\\x01\\xb4`\\x81\\x80\\xa8h\\xbe\\x91M\\x03\\xae\\xac\\x9apf\\xd7&\\xedw2j\\xc1\\x97Y\\x1b\\xff\\x96\\x9e\\xf0n\\xec\\x12\\x14\\x80\\x04\\xd1>\\xba\\xaf\\xe4\\xd3\\x81-\\xaf.\\xac\\x99\\xfc@\\xeaT\\xd0\\xbf\\x18\\xc2\\x1e\\xf7r\\xef\\xf1\\xf5\\x06\\xddx\\xf6\\xddg\\x9eC\"\\x88@\\xc1\\x0b\\'\\xf4\\xa7\\\\w\\xf0\\xf1\\xf6\\x9cx\\xf5\\xd9G]\\x82\\x0b6\\xe8X{\\xb91\\xf7\\x9d|\\xbeEW\\xa0\\x81?\\x05\\x85\\xe1\\x0b^8\\xc8\\xdd{\\xbb9\\x17\\x1e}#ju\\xa0#\\'jx\\xdb\\x83,6\\x07\\xde|\\xbf\\xc5hW\\x89\\x0f\\xd5\\xa8\\xa2{\\xba\\xe9\\x08\\xe2\\x80\\x15\\x92w\\xa1\\x82|\\xd8\\x98\\xdc\\x8aE~( \\x85>\\xfe\\xc8\\x90\\x89\"0\\x80\\x88\\x93\\xdb\\x11\\xe9a\\x80\\x13\\xc2\\xe8\\xe3\\x85Y\\x88\\x01\\x03\\x97\\x1c\\xfe\\x17\\xa1\\x8b<\\x8a\\xe8\\x9a\\x1f;\\xe8\\xc0\\x03\\x0fJ\\\\\\x88\\xc7\\x1bg\\x0e\\xd9!\\x80\\x12\\xbe\\xd8#p541\\x06\\nI8A\\xc0\\x8c\"\\x98@B\\x9e\\x1b\\xfa\\x07a\\x8b;\\x86H\\xe0f\\t\\xc4\\xe0C\\x0e\\x06\\x080\\x05\\xa2\\x8a\\xc2\\x80\\x86\\x9ejBz$\\x95\\x05\\x12P\\xc5\\x19qHA\\x04\\x1bX4\\xa2\\x18\\x82\\x9d\\xfe\\xff\\x00\\xea\\xa3FN)\\xe6\\x88M\\xc40\\x81\"D\\x08\\x92\\xc3 7\\x0c\\xe0P\\r\\xb1\\xce\\x9a\\xa3\\x94a\\xfei\\x1f\\n:l%A\\n-\\x00\\xe0H\\t\\xc56\\x8ac\\x94`\\xfa\\xe9\\xa6t\\t\\xcc\\x11Cg781\\x00\\xb5$\\x00b\\x84\\xb1\\xd8\\xf6\\xd9\\xe6\\xa4\\xc0A\\x91\\x83\\x95@9R\\x06q\\x8a\\xae\\xa0\\x02\\xba_\\xaa+i\\x92\\x9b%\\x01\\x05\\xbc\\\\9\\xc2\\xc4\\xb8\\xf5\\xdek-\\x94\\xf9\\xb2\\xb9\\xef\\x88RX\\x01pCn\\xec0m\\xc1\\xf8\\xf2\\xa90\\x92#\\xca\\x80\\xc3\\xc3W\\xb4`\\xc3\\xc4$\\xd8[\\xf1\\x9a\\x91b\\\\\\xa0\\x0c$.\\x84B\\x0b78D\\xae\\xc8\\x07{iq\\xc9\\xa4\\xda\\x872\\xbc\\x07\\xb0\\xd0\\xb2\\xcb\\x14\\xc7\\xbc\\'\\xc9\\xa3\\xdeJ\\xde\\xcd?\\t\\xf0\\xf1C/\\x1b|#\\xc23\\x07\\xad\\xactD3\\x94\\x02\\nA%=\\xb2\\xa8\\xb6>\\r\\\\\\xd4\\x0b\\xb1\\x80C\\xd5=/-3\\xd0Yo\\x0b\\xdc\\xbbV\\xe2\\xd0\\xc2\\xab\\x8e\\x10\\xb2\\x07\\x170\\x8b\\xfd3\\xd6\\xc9\\x9a\\xbd\\x19\\x0e\\x85\\xa4\\x8cB\\nl\\xb3\\xff@A\\x04[$ru\\xadu\\xb3\\xbb\\xd9\\xde)\\xc7`C\\xdf\\x11\\x9d\\x90\\x9d\\xcf\\xa1\\x12\\xae\\xad\\xe1\\x87!n\\xa5\\x0030N\\x81\\xe3\\x83#;9\\xbfuY.5\\n\\x9as\\x0e9\\xad\\x9e\\xaf\\x0b:]\\x8b\\xec\\x902\\x0b\\x0f\\xbc*[\\xe3\\x8f\\xcb\\x1dy\\xea\\x0b\\xdb\\xb7F\\x0f9U\\x81\\x02\\n9\\xa30C\\x82\"(\\xa1\\xe0\\xe6\\xb5?96\\xdd\\x9f\\x8f\\x18H\\x17p\\x98\\x91B\\n>\\xb4\\x90\\x82\\x00\\xc4\\x03\\x11Q\\x1dB$\\xdf\\xe5\\xdc\\x92\\xab^\\xe5B\\x8a\\x07\\xec\\xc8\\x02d\\xe8@G\\x18\\x08t\\x9e\\xad\\xf8c*TC\\xe6\\rQaG\\x0fL\\x18A@h\\xca\\x83\\x8f\\xbb\\xc91Z\\x88\\x0fP\\x80\\x85<\\xe8\\xa0\\x07C\\x80\\x00c\\x90\\xf3\\xbd\\xdb\\xbd/w\\x01TH\\n\\x84\\xc0\\x030DAXB\\xf9\\n\\x03\\xd3\\x84\\xba\\x07\\x02pD\\x0b\\xb9B\\r6\\x85\\x17\\r\\xbaO_\\x1f,\\x10u\\x16x\\xc2\\x8b\\x89G\\x01\\x8b\\x88\\xa1\\x0cgH\\xc3\\x1a\\xda\\xb0\\x86\\x01\\xc8\\xa1\\x0e\\x8fp\\x04\\x1a\\xf8\\xd0\\x873\\x98\\x01\\x10(\\n@\\xc4Ch\\xa1\\x08E\\xf8\\xc3\\x12\\x96\\x10\\x03$ !\\x0bj\\xf8B\\x03l\\xf0\\x04\\x07\\xf4!\\rQ\\xd0\\x83!\\xdaP\\x039\\xdc! \\x00;'", + "b'GIF89aP\\x001\\x00\\xf7\\x00\\x00\\x00\\x00\\x00\\x80\\x00\\x00\\x00\\x80\\x00\\x80\\x80\\x00\\x00\\x00\\x80\\x80\\x00\\x80\\x00\\x80\\x80\\x80\\x80\\x80\\xc0\\xc0\\xc0\\xff\\x00\\x00\\x00\\xff\\x00\\xff\\xff\\x00\\x00\\x00\\xff\\xff\\x00\\xff\\x00\\xff\\xff\\xff\\xff\\xff\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x003\\x00\\x00f\\x00\\x00\\x99\\x00\\x00\\xcc\\x00\\x00\\xff\\x003\\x00\\x0033\\x003f\\x003\\x99\\x003\\xcc\\x003\\xff\\x00f\\x00\\x00f3\\x00ff\\x00f\\x99\\x00f\\xcc\\x00f\\xff\\x00\\x99\\x00\\x00\\x993\\x00\\x99f\\x00\\x99\\x99\\x00\\x99\\xcc\\x00\\x99\\xff\\x00\\xcc\\x00\\x00\\xcc3\\x00\\xccf\\x00\\xcc\\x99\\x00\\xcc\\xcc\\x00\\xcc\\xff\\x00\\xff\\x00\\x00\\xff3\\x00\\xfff\\x00\\xff\\x99\\x00\\xff\\xcc\\x00\\xff\\xff3\\x00\\x003\\x0033\\x00f3\\x00\\x993\\x00\\xcc3\\x00\\xff33\\x0033333f33\\x9933\\xcc33\\xff3f\\x003f33ff3f\\x993f\\xcc3f\\xff3\\x99\\x003\\x9933\\x99f3\\x99\\x993\\x99\\xcc3\\x99\\xff3\\xcc\\x003\\xcc33\\xccf3\\xcc\\x993\\xcc\\xcc3\\xcc\\xff3\\xff\\x003\\xff33\\xfff3\\xff\\x993\\xff\\xcc3\\xff\\xfff\\x00\\x00f\\x003f\\x00ff\\x00\\x99f\\x00\\xccf\\x00\\xfff3\\x00f33f3ff3\\x99f3\\xccf3\\xffff\\x00ff3fffff\\x99ff\\xccff\\xfff\\x99\\x00f\\x993f\\x99ff\\x99\\x99f\\x99\\xccf\\x99\\xfff\\xcc\\x00f\\xcc3f\\xccff\\xcc\\x99f\\xcc\\xccf\\xcc\\xfff\\xff\\x00f\\xff3f\\xffff\\xff\\x99f\\xff\\xccf\\xff\\xff\\x99\\x00\\x00\\x99\\x003\\x99\\x00f\\x99\\x00\\x99\\x99\\x00\\xcc\\x99\\x00\\xff\\x993\\x00\\x9933\\x993f\\x993\\x99\\x993\\xcc\\x993\\xff\\x99f\\x00\\x99f3\\x99ff\\x99f\\x99\\x99f\\xcc\\x99f\\xff\\x99\\x99\\x00\\x99\\x993\\x99\\x99f\\x99\\x99\\x99\\x99\\x99\\xcc\\x99\\x99\\xff\\x99\\xcc\\x00\\x99\\xcc3\\x99\\xccf\\x99\\xcc\\x99\\x99\\xcc\\xcc\\x99\\xcc\\xff\\x99\\xff\\x00\\x99\\xff3\\x99\\xfff\\x99\\xff\\x99\\x99\\xff\\xcc\\x99\\xff\\xff\\xcc\\x00\\x00\\xcc\\x003\\xcc\\x00f\\xcc\\x00\\x99\\xcc\\x00\\xcc\\xcc\\x00\\xff\\xcc3\\x00\\xcc33\\xcc3f\\xcc3\\x99\\xcc3\\xcc\\xcc3\\xff\\xccf\\x00\\xccf3\\xccff\\xccf\\x99\\xccf\\xcc\\xccf\\xff\\xcc\\x99\\x00\\xcc\\x993\\xcc\\x99f\\xcc\\x99\\x99\\xcc\\x99\\xcc\\xcc\\x99\\xff\\xcc\\xcc\\x00\\xcc\\xcc3\\xcc\\xccf\\xcc\\xcc\\x99\\xcc\\xcc\\xcc\\xcc\\xcc\\xff\\xcc\\xff\\x00\\xcc\\xff3\\xcc\\xfff\\xcc\\xff\\x99\\xcc\\xff\\xcc\\xcc\\xff\\xff\\xff\\x00\\x00\\xff\\x003\\xff\\x00f\\xff\\x00\\x99\\xff\\x00\\xcc\\xff\\x00\\xff\\xff3\\x00\\xff33\\xff3f\\xff3\\x99\\xff3\\xcc\\xff3\\xff\\xfff\\x00\\xfff3\\xffff\\xfff\\x99\\xfff\\xcc\\xfff\\xff\\xff\\x99\\x00\\xff\\x993\\xff\\x99f\\xff\\x99\\x99\\xff\\x99\\xcc\\xff\\x99\\xff\\xff\\xcc\\x00\\xff\\xcc3\\xff\\xccf\\xff\\xcc\\x99\\xff\\xcc\\xcc\\xff\\xcc\\xff\\xff\\xff\\x00\\xff\\xff3\\xff\\xfff\\xff\\xff\\x99\\xff\\xff\\xcc\\xff\\xff\\xff!\\xf9\\x04\\x01\\x00\\x00\\x10\\x00,\\x00\\x00\\x00\\x00P\\x001\\x00\\x00\\x08\\xff\\x00\\xff\\t\\x1cH\\xb0\\xa0\\xc1\\x83\\x08\\x13*\\\\\\xc8\\xb0\\xa1\\xc3\\x87\\x10#J\\x9cH\\xb1\\xa2\\xc5\\x8b\\x183j\\xdc\\xc8\\xb1\\xa3\\xc7\\x8f C\\x8a\\x1cI\\xb2\\xa4\\xc9\\x93(S\\xaa\\\\\\x99\\x11\\x05\\x8a\\x81.\\x17\\xc6d\\xf9\\xd0\\xe5\\xcb\\x7f3\\x13\\xe6\\xa4\\xc9\\xd0\\xa6\\xc0\\x996o\\xc2|\\x19\\xd3g\\xce\\xa0Cq\\xdeD\\xca\\x11i\\xd1\\xa5B\\x95*%\\xfa\\x14g\\xd2\\xa7T\\x7fF\\xc5XT*\\xd0\\xa8U\\xa5\\x8a\\x9d\\x9a\\xd5+\\xd4\\xa6T\\xc3\\xeeT{\\xd6\\xacX\\xac>7~-\\xbb\\x96\\xee\\xd9\\xafo\\xcbz\\x9c\\x9b\\x97 [\\xad}\\xb1\\xf6\\x95+t\\xee\\xd6\\xbfy\\xe3\\xb2\\xdd\\xc9Sb\\xe1\\xad\\x8d/2\\x8dL\\xb9\\xb2\\xe5\\xcb\\x981\\xc7u\\x18\\xd6 c\\xc6\"7C\\x04\\r\\xd8/d\\x90U\\x8f\\xa6\\xbd\\x0b\\x15/^\\xb2\\xa8\\xb3\\xaa~\\xec\\x96\\xb6Q\\xd9m;\\xfe\\x9d\\x8d{\\xe8n\\xbb\\x1f\\x7f\\x03N\\xcd:\\xf0j\\xd2\\x92\\x83\\x127\\xee\\xb6\\xf9\\xf2\\x90\\xaa\\xb5\\xb6]\\xee\\x9azn\\xc2I\\xa7\\xfa~\\xae\\xdcy\\xeb\\xd3\\x99\\xc3\\x8b\\x12\\x1fO\\xbe\\xbc\\xf9\\xf3\\xe8\\xd3\\xab_\\xcf\\xbe\\xbd\\xfb\\xf7\\xef\\x03\\x02\\x00;'", + "b'GIF89aP\\x002\\x00\\xf7\\x00\\x00z\\xa3\\x1d\\xce\\xa9E\\xf9\\xf6\\xee\\xba\\xba\\xba\\xc5\\xa2,\\x7f\\x7f\\x7f\\xb3\\xb3\\xb3\\x86r\\xf4\\n\\xb6\\xe8X\\xa4f\\x97\\xa6u\\xca6\\xea[\\xaar\\xaf\\x1e\\xde\\x99\\x18\\xefW\\xa2b\\x8f\\x96U\\x8a\\xb6\\xe9Z\\xa8n\\xa7\\xc6\\xb5\\xba\\xb9g\\xe7\\xc5y\\x1d\\x8b\\xee+\\xd9t`\\xcb\\xaa\\x0bkn\\x9d\\xf0.\\xec\\xcfz\\x1f\\x8f\\xf6;\\xf9\\xb4\\xe0\\xcb\\xab\\r\\xf3\\xfe\\xb7\\xaf\\x00\\x03\\x0f\\xd0\\xa1\\x170\\xd4H\\xb1C\\xc6\\x14\\x91\\x8dH@\\xa1{\\xf7\\t\\xe0\\xc3\\xa7\\xff\\xaa!\\x06p\\xe5\\xd4\\x843\\xf3>\\x94 \\x85\\xbf\\xf7\\xf0\\xe3\\xfbc\\xf0\\xe8w-\\x11u\\xe4\\xeb\\xd7\\xef\\x00\\x82q\\xdc\\xe9\\xb1vX\\x17\\x1e\\xbcWF\\x1cx\\xa8r\\xc6\\x82g\\xc0\\xd1\\xc7\\x18r\\xbcW\\xc7\\x02\\x105\\x81\\xc1{[\\x90\\x01F\\x1b\\x18\\x92\\x91 \\x83\\r>\\x18\\xa1?2Hp\\xde`\\x98\\x01\\xef\\xb51\\x86\"f\\xf8\\x01\\x8a \\x82d\\x90A\\x03\\x9dd1\\xc7\\x1b`l1\\xdf\\x02\\xeem\\x01\\x06\\x1f\\xe8\\xf8X\\xc6\\x18g\\x98q\\t\\t\\x99dbF\\x1a\\xd6\\xe4\\xa3#\\x8f>:\\xf0\\xcaq\\xb9\\xa9\\x97U\\x11\\x0c\\xf8\\xb3\\xc5\\x1ah\\xf8\\xf1\\xc7 \\x051t\\x8a\\x02\\x16\\xd0\\xf1\\xc6\\x88\\xfe\\xc4\\x01@\\x16\\x81x\\xb9\\x86\"\\x88\\xa4\\xc3BG\\xfa\\xc4\\x00C\\x16z\\x80QI \\xf4\\x98\\xf1F\\x1c\\xfe\\xa4\\xb0\\x00\\x80)*\\xc7S\\x117\\xf8\\xd3F$Y\\xfc\\x91\\xc8A\\x89\\xb5PB5^BB\\x07*\\xa5\\xf8S\\x06 Ypp\\r_fAsK\\x1a}\\xf8x\\x00\\x08h\\xe0\\xb1E\\n\\x1f\\xa0\\xff\\x97\\xe8n\\x08\\x15\\xd8\\x06\\x1f%\\x10\\xc2\\xd9],n\\x01\\x88\\x1b\\xectyk\\t\\xf7\\x08G[\\x13\\xc3d\\xf1\\x06\\x87\\xab\\xbc`F\\xaa)\\xb4\\x82br\\xb4\\x1at\\xe1\\xad\\xb8\\x90\\xb9\\xebO\\x86x\\xf9\\xab9\\x06\\xe2j\\xc3^\\x90\\x91\\xe6\\x040n\\xbc\\xf1\\xaa\\x01.^zS\\x82+\\xae\\xfd\\xd4\\x88{c\\xb8\\x81\\x8a,\\xef\\x01R\\x82\\r\\xa1\\x91j\\xae\\x14\\xc0\\xe4\\xd1\\x87?;\\x84\\xe1\\x02\\x1dk\\xf8SA\\xbcZ\\xee\\x94\\xdf\\x1anh\\xcb\\xd3V\\x17\\xcaAG\\x06\\x02t\\nF\\x16(\\xc8f0qU\\xa83\\x07\\x18\\xfeH F\\x00g\\xd8\\xe1\\xcf\\x0cY\\xaaxP\\x0f\\x9e\\xa6!HV?\\xcd\\xf2^9\\x8c\\xf0s\\x87\\xa7h\\x14\\x93\\x80\\xc9\\xe5\\xa2\\xdc\\x0b\\x01\\xacl!\\x83\\x18\\xca\\x98\\xb0\\x87?\\xd2\\xd4\\xac\\xa8A\\x8dfS\\xc2\\xa4\\x881t!\\x19Y\\xac\\xc0O\\x81\\xfdR\\xe3O\\x18\\x05\\']\\x1b\\x16\\x1a\\x98\\xc1\\xf2*_p\\x83\\x06\\x19\\xfe\\xfc\\x10\\xe0\\xd5\\x04\\x1d\\xe2%\\x1a;\\xf3\\xff\\xccP~\\x92\\x04\\xad\\xc6{\\xf1\\xb8\\x81\\x87?#\\xa4=\\xdc\\xda\\\\<\\xf0\\x86?\\x9a|q\\x0c\"l\\xf8\\x83\\xc0\\xdd\\xd5\\xfe\\xc3\"\\x19n\\xe0\\xeb\\xb7BSx:G\\x0b\\xfc@\\xe0\\x8f\\x1cy\\xe0\\xa0\\x87?7(~\\xec_\\\\\\xe8\\x82F\\x84VD\\xd1\\x0e\\x1cN\\xdf1\\xebN\\x05B\\xe2H]\\x0cm\\x9e\\x85\\x00\\xfct\\xb9\\x86\\x05\\n\\xa0!\\xb3\\xeb\\x91\\x95v\\x129y\\xb0\\xdcC\\x14\\x17\\xa4A\\xb7\\x01\\xbb#\\xe4\\x1e&\\x11\\x00\\xbf\\x90\\xf1\\x9d8\\xd4\\xa8(\\r\\xfc\\xe2\\xb6?\\x03\\x90\\xbb\\xb8\\xf3(\\x99P\\xf9\\tQ\\x18\\x13\\xbd?\\x10d\\x7f\\xd0{h\\x10\\xe3\\xbdB\\x05\\x8e\\x124?\\xef\\x01@(\\xa8\\x90\\x85\\x88\\xa5\\xcfX\\xcd\\x83]\\x17\\x0205\\x15\\xb8$\\x0b\\xef\\xb3_A\\xba\\xf0\\x9e4\\xe8\\x8a.\\x0c)\\x10)2\\xe0\\x10\\xfc)\\x80\\x80\\x95\\x13\\x81\\xfa^W\\x9c\\x00P\\xc2\\x1f\\x0ep\\t\\x01*\\x97\\x00\\t\\x12\\x84^\\xfe\\xb0\\xe0\\xfe\\xfa\\xa1A\\x0e\\x020\\x869\\x00\\xa1?D\\x88\\xc0\\x83\\x99\\xc6\\x84(tI\\x00\\xffX\\xe8\\xc2\\x81\\x14\\xa1\\x82\\x93\\x98a\\x81\\xc8\\xd7A\\x7f\\x9ca\\x80Y8\\x1c\\x0fg\\x93\\xc0\\x12\\x9e0\\x85Sp\\x03\\x11\\xa9\\xb5\\x93\\xf7\\x9c\\xa1o\\x9f\\xa3\\xa1?\\xf0\\xf0\\xbf\\xf7p/\\x19\\xf3; \\x15}\\xa8\\x96\\x07T\\xce\\x81S\\xc8\\xc2\\x18\\xfcq\\x82\"\\x0e\\xc4=\\xa3\\xa0\\xc1\\x0c\\x13\\xe0\\x0f0\\xf8A|\\xfe\\x80\\x04*r`=\\xf4\\x8d\\xb0\\x8aMaF\\x14\\xe9\\x18\\x05^\\xd0\\x81e\\xf5\\xe3b\\xad\\xfc\\xb1\\x06?\\xcc\\xd0tv0\\x83)\\xf8\\xc1\\xc78\\xb8\\x81\\x03g(\\x83?\\x98\\xc7F.h \\r\\x84\\x9a\\xde;\\x14!3\\xecI\\xf2 \\xa6k\\x03\\x1d\\x92\\x18\\xc6\\xd0\\xf9\\x03\\x00\\r\\xe0\\xc7#\\x1c5\\x87fL\\x8d\\x02\\xa4D\\xd9I^\\x00\\x07Q\\xb6\\x84\\x00\\x8f\\xd3\\x01\\xe6vBA\\x7fD\\x02\\x14\\x18\\xfc\\x9b?\\xc6\\xe0\\x07\\x01,\\xe1=\\x92@\\x04\\xcb\\x12wH6:\\x03\\x82\\x90\\xfb\\xc2\\x05\\xcc\\x10\\xb1\\xcb\\xd9q \\x05\"\\x83\\x19.\\x98\\xaf\\x85\\xb0\\xa8\\x0ch\\x88@\\xf1\\xfc\\xa1\\xce89!\\x98k\\xdb\\xc6\\x19\"\\x04\\xff7y\\xe8A\\x94v;\\xe7?p\\xe6L\\x0bpmc\\x0c\\xd9\\xd74\\xdd`\\x8a\\xa1\\xf9\\x03\\x10\\x96\\xf0\\x05\\xd2\\xd6\\xc7\\x14\\x14\\x80\\xf3i\\xcfHC\\xc4\\xbaa\\xb5\\xcc\\xa1\\xd3\\x1fv@\\x83\\x1e\\xdb\\xe9N/\\xf1\\x01y\\xd3p\\x94\"P1Q\\x12F\\x03\\x04\\x8b\\xe0\\x90\\x04\\xd6\\xe1\\x86M\\xf8h\\x01\\x1d\\xed\\x89\\xde(i\\x86?\\x90T!\\x8d\\xc8\\x8f\\x1c\\xd0\\x90\\tI\\xbc\\'\\x0eih\\x00>G\\x12\\x0c|\\xc0\\x81n\\x0eX\\x06Le6\\xb1\\x9c\\xf6\\x84E\\xd3\\xec\\xe9A{\\xf3\\x13[\\x92\\x01\\r\\xf3\\x80\\xc7{\\xc6@\\x07\\x0e\\x8c\\xa3\\x87g\\xd1\\x06\\x08\\xe00\\xc7\\x14\\x9c\\xc3\\x04O\\xf5\\x87\\x0e\\xa6%/\\xac\\xf0q\\x9asp\\x04;\\xcb\\xb4\\x95D\\x1c\\xe0=d\\x80\\x83%\\xe24M4X\\x80\\x16k\\x0cI..\\x01\\x87\\x88U\\xa2\\x1eYX\\x04\\xddR \\x04\\xbaV\\xac\\'w\\x8d\\x03\\x1c\"\\xa5\\xb1\\x81\\xfcD\\x00\\x19(\\x01\\x1aX\\x06\\xd27\\x98\\x81\\xb0d`E\\x16H\\xc0\\x82r\\xc5\\x00\\x07ix\\x03\\x19*\\x11\\x0bK\\xff\\xcca\\x0f\\x1c\\x82\\x95\\xac^iW\\x03\\xb1\\xe1\\x0cypD\\x04&A\\xa6~\\x9cb\\x05\\n\\xa0\\x81\\x1b\\xd0\\xc0\\xa3\\xf8|I\\x0f\\xdf0\\x10\\x92\\xcc\\x80\\x03w\\xd8#\\x1d\\x97\\xa0\\x03\\x1c0\\x01\\x0ba b\\x0e\\x8b\\xe8\\x11\\xc3\\x0e\\xb5\\xdb\\xba\\xd2\\xa5\\x07\\xeeq\\xd4\\x18\\xdep\\x864\\x98!\\x0bY\\xc8C\\x1a\\xd0\\xa0\\x87=\\xc4\\xc1G\\xfe\\xc0\\xc0\\x1d\\xf2\\xe3)0\\xac\\x01\\xbfG\\xdaD{\\xdf\\x0b\\xdf\\xf9\\xd6W\\xbc\\xf3\\xd1\\x02\\x96\\x96y\\x98\"\\xdc\\xf5=v\\x88\\x03\\x18\\xc6\\xc0\\x865\\x80A\\x0e\\xa2|\\x8f\\x07\\xee \\x94\\x02\\xa4\\xd7S\\xf2i\\x83\\x84)la2d\\x18\\x85\\xd88\\x11\\xc5lV\\x97.`\\x80\\xbf\\xfb)T\\x02\\x88\\xf0\\x9b]p\\xa2Q1\\x8e1\\x02>\\xf0\\x9f\\xf2^\\xb65\\x87\\xe8A\\x01\\xa2\\xe3\\x01\\x0c\\x14\\x80\\x08\\\\\\xf9\\rX\\xc2\\xe0\\t\\x110\\xc0;*\\x10Gx&\\x10\\x8eT\\x18\\xc26*\\xb6\\xear\\xb8\\xca\\x10\\xcf4f\\xa9\\n\\xbc\\x8d\\x8fY\\xbce\\xbb\\xfc\\xc4\\xcb\\xa0\\xe9\\xa60)\\x83\\x1a\\xcb\\x92yY\\xcb\\xaf\\xb9Nl\\xc0\\\\\\x1c1\\xbb\\x19op\\xf6\\x8d\\x9c\\x81\\xd3RD\\x9a\\xa7\\xcd+\\xee\\xc1\\x10\\xf6A\\xe8B\\x1b\\xfa\\xd0\\x88N4\\xa2\\x89\\xc0\\xe8F\\xdf\\xe1\\x0e\\x85\\x88t\\xa4\\x07@i\\x1fX\\x1a\\x1c!\\xc8\\xb4-\\x0c\\xc0\\xe9O|\\xc2\\x10\\x0b\\xf0\\xc4\\x0f>\\xd0\\x8a l`\\x03\\x8f\\xe0D\\x07:0\\x83\\x1a@ \\x00;'", + "b'GIF89aP\\x001\\x00\\xf7\\x00\\x00\\xe3\\xe3\\xfc\\xb8\\xbb\\xc8\\xac\\xad\\xb0UUZo\\x83\\x8f\\xf9\\xfa\\xfd\\xf4\\xf6\\xfe\\xed\\xed\\xfe*FS\\xe2\\xe5\\xea\\x9a\\xa6\\xb3Ml\\x86\\x99\\x9b\\x9e\\xcb\\xd0\\xd5\\xdc\\xe2\\xeb\\xbb\\xbd\\xbe\\x87\\x8b\\x93\\\\fs\\xd1\\xd1\\xd3\\xf9\\xfa\\xfa\\xc5\\xc9\\xe3\\xe9\\xe9\\xfd\\xdc\\xdc\\xe9gku\\xdc\\xde\\xe2\\xaa\\xab\\xad;\\x84\\x87\\x8b\\xb2\\xae\\xae\\xc7\\xcb\\xd5\\xea\\xeb\\xfaegl\\xfa\\xff\\xff-/5\\xf3\\xf4\\xf6_}\\x8ey\\x9e\\xb3\\xc0\\xbf\\xcb\\xf2\\xf3\\xfboz\\x8b\\xfd\\xfd\\xfa\\xf3\\xf8\\xfaAFh\\x91\\x9f\\xaf@[\\x90\\xef\\xf0\\xfb\\xe4\\xe3\\xe6\\xe3\\xe4\\xf2\\xf2\\xfa\\xfd\\xb5\\xb7\\xb6\\xec\\xea\\xeb_^c\\xf4\\xf3\\xfe\\xed\\xee\\xf7\\xeb\\xec\\xf1\\xb7\\xb8\\xbawz\\x7f\\xd7\\xd9\\xe8\\xe5\\xe7\\xe8\\x8d\\x8e\\x91\\xf0\\xf2\\xfd\\xe8\\xe9\\xe786?C\\xa7\\xa7\\xaa\\xfd\\xfe\\xfe\\xfe\\xff\\xff\\xfd\\xfe\\xff\\xfb\\xfe\\xfd\\xfd\\xff\\xfe\\xfc\\xff\\xff\\xfc\\xfe\\xff\\xfc\\xff\\xfehgg\\xfe\\xff\\xfc\\xe2\\xe4\\xf6\\x9e\\x9c\\xa8\\xf1\\xf1\\xfe~\\x7f\\x83\\x9c\\x9a\\x98yu\\x82\\x9a\\x97\\x97nw\\x80\\xaa\\xa6\\xa7\\xc7\\xc8\\xc7\\xf8\\xfe\\xff\\xf9\\xfb\\xfe\\xfa\\xfd\\xfd\\xec\\xeb\\xf3\\xea\\xec\\xf7\\xd1\\xd7\\xe0\\xeb\\xeb\\xf3\\x8f\\x90\\x8e|\\x8a\\x9ea\\x7f\\xb7k\\x85\\x9f\\xe6\\xe6\\xf9\\x9d\\x9f\\x9a\\xf9\\xf8\\xf3\\xde\\xde\\xe0\\xf1\\xf3\\xf2rps\\x1f \\'W_xM`}\\xa7\\xa8\\xa6\\x8a\\x84\\x86\\xf7\\xf7\\xf6uro\\xe9\\xe6\\xe6fx\\x9c\\xef\\xef\\xf0[j\\x95\\xf3\\xf3\\xf5\\x1aDm\\x1d?Upmp\\x8a\\x98\\xa7\\x84\\x8a\\xa9\\xc5\\xc4\\xc6\\x9f\\x9f\\xa2\\xfc\\xfd\\xfb|{\\x89\\xee\\xee\\xea\\xfd\\xfd\\xfexyx\\xa1\\xa0\\xa0\\xfb\\xfb\\xff..3nx\\xa5\\x96\\x97\\xa6\\xe1\\xd7\\xd5\\x84\\x97\\xc0\\xc1\\xc1\\xd7uz\\x98\\xd7\\xd7\\xef\\xd6\\xd6\\xf8\\xd1\\xca\\xc6\\xff\\xff\\xff\\xfc\\xfe\\xfe!\\xf9\\x04\\x00\\x00\\x00\\x00\\x00,\\x00\\x00\\x00\\x00P\\x001\\x00\\x00\\x08\\xff\\x00\\xff\\t\\x1cHp`-\\x7f\\x08\\x13\"\\xace\\x0ba\\x9aq\\xfer\\x15\\x9cH\\xb1\\xa2\\xc5\\x8b\\x18)\\x1eT\\xa8p\\xdc\"y\\xbdbx\\x08b+\\xa3\\xc9\\x93(+n\\xe4\\xd8\\xf0\\x8f(\\x10+\\x0c\\xb9\\x91\\xe0/\\xa5\\xcd\\x9b\\x18W*\\xb4\\x05\\xef\\x08\\x1ftZ\\\\I\\xa9\\x99\\xb2V\\xad\\x7f\\xb8\\xfe\\x1d5\\xca\\xb4\\xa9Q\\x9c\\x16urD\\x18\\xca\\xd8\\x92\\t%S6\\x9c\\xca5!T\\x95]\\x116<\\x13\\x81\\x9d?^\\'\\x19\"\\xfc\\x84\\x02\\xc5\\xa7OW0aRA\\x92\\xe3W\\x8da\\x13\\xb2\\x12\\x05\\xc5\\x96D\\x93\\x1b\\x85l\\t#\\xc9E\\x8f\\xc3=\\\\\\xb8p`\\xf7\\xeeD\\xa7N\\xfdM\\xc0!j\\x07\\xd1\\x93\\xb6\\x96\\x11\\xc1\\xe2\\xef\\xdb\\x872\\xe7\\xce\\x81\\x99\\xc4(Hc\\xc7\\'\\xfduH\\x04\\xe5\\x96.\\x9bR\\x15\\xb8X0\\t\\x13W\\xd4\\'s\\xf9\\x13S\\xc4H\\xc2\\xbf\\x19k\\x8d\\x18\\xd8\\x90\\xcf\\x8fPaqc\\\\\\xb6\\xcc\\xd6\\xae\\x05`\\x12\\x11\\xe2\\xd0\\xe17\\xae\\xa4*\\x8f\\n\\xf4\\xe7\\x07\\xc8\\x87\\x85J\\x13\\xda\\xff\\xca\\xaa\\xbc\"\\xaee\\xfe\\xd6\\xb8\\xe0\\xb6M[\\x88/\\x03X\\xac\\x11\\xaf\\xfd\\xf1\\xf6\\x07\\x1ep\\\\\\xf3\\x97ue\\xfd\\xf2\\x16\\xf9\\xa3\\x00\\x18\\x88(\\x91E\\x06U|\\x11\\x826+\\x00\\x91\\n}\\x15\\xf9\\xa3I\\x11\\x03L\\x80\\x10\\x806\\xf9\\xa3Bau|!\\x0cB\\x9d\\x98\\xa1\\xc5{\\x90\\x18r\\x06\\x13\\xe2\\x19t\\xd0\\x04\\xd0}w!\\x86\\xb9a!\\x80\\x16\\xc6\\xf8cF\\x08P(\\xb4A\\x08\\xef\\x85\\x00B\\x12\\x1e@4\\x953\\xe6,\\xe0\\x87W0f\\xc4\\x8b?\\x10Hb\\x88o\\xfe\\xdc\\x10B\\x0c\\n]0\\xa5\\x12-\\xf0\\x08\\xc9\\x05\\xa6\\x94\\x93P\\x10\\x04\\x9c\\xa3\\xc0eIb\\xd4P8\\xc6 `\\xc4\\x03\\xfc\\xf9\\xc3A\\x08J$\\xe4\\xcc\\x17\\x1a\\xf8s\\x85)\\x86\\xb8\\xf7\\xc5\\x1eq\\x98\\xe0\\xcf\\x0eE\\x14q\\x02\\x99e\\xfe\\xb3\\x15G\\x91L K\\x0f\\x04\\xbc\\x88\\x10\\x03!\\xa8\\x92\\x90%!\\x00\\x91\\x90\\x1d@\\x0c\\xa0\\xe0\\x17e$\\x92\\xc7\\x0c\\x0f\\x16t\\xe8T\\xc0\\xa5\\x84\\xd02|\\x94\\x90\\x01\\x03f|\\xf0\\xc0\\r?0\\xff\\x80@\\x03\\x97\\x91\\x81\\x10\\x0e!\\x98\\x81\\xd0\\x9c{\\x14\\x10QB\\xd7\\xdc\\xa0\\x85{+\\x98R+B\\xf0\\xa4R\\xc2\\x19\\xac\\xb2p\\x82\\x04\\x9c\\xf9\\xf3\\x1fF\\x08I\\xc1\\x80!Z\\xec\\x01\\x826\\xdc\\x82 J6\\x10\\xb8\\xa0[A\\x08\\t\\x13\\x02\\x07\\x08E\\x13\\x82Y\\x03\\xe9\\x86\\x90\\x19_\\x9c\\x12\\xaa\\xa1\\xfe`\\xe1\\xc1\\x0c\"\\xe4\\xd1\\xca\\x1e\\xf4\\xb4\\xe0C\\x1e\\x03\\xfc H\\x16\\xd2f\\xe4O\\x17\\xaa\\xb8\\xe1C\\x0b{h\\xe0\\x86\\x08n\\x102\\x8b\\x088\\x84\\xe1\\xc2\\x0f5\\x90i\\xab?N\\xe4\\xeaO\\x1bE\\xb4p\\x05\\xa1\\xfe\\xc8\\x01\\xc9\\r\\x05l5\\xc1\\t+\\xec\\xd1\\x02=\\x89\\x94\\xf1\\xb0\\x08Z$\\x02\\t$edcY\\xa9\\x05\\xe9V\\xc2\\x00\\xff\\xbaaH\\x0c\\xad\\x02q\\xcc\\x1f\\xe0\\xc0R\\x8c<+hS\\x86\\x9f\\x7f\\xb9[r\\x08,\\xf8\\x93N\\x08\\x0c\\\\\\x86^\\x13\\xdaTaL\\x00\\xa80\\x92\\x06\\x14y\\xd0\\xd3\\xca\\n\\xc2tc\\x02%\\xeb\\x04`\\x8a\\x18qT\\xa1\\x81\\x0fZ\\xdc`!E\\xba\\t\\xe0F\\x1en\\xc4\\xff\\xc1\\xc0\\x03:4\\x11\\xc4(\\xfe\\xa4\\x10\\xc7\\x00\\x7f\\x0c\\xe3\\xca, \\xf8\\xf0\\x9dD\\x87\\x8e J\\x08g$\\x93\\x08\\x08\\x91\\\\\\xe6\\x8f\\x07_l2\\x88\\x13\\xd0\\x90\\xa5\\x01\\x08\\x030 \\xc1\\x18\\x9c\\xf8\\x03\\x03\\x08\\x93y\\xcf\\xfe\\x00\\xa1E\\x1e+\\xac\\xd9\\x01\\x19l 1\\xc1*\\xfeX\\xe0\\x817\\xe8\\xfc\\xf1\\xc0\\x0fU\\xec\\x01\\xc9w\\xed\"t\\xc4\\x00!\\xc8\\xb2\\xc4\\xb9\\x9a\\xaf\\x00\\x89\\x11\\xf5L\\xa3A\\x19\\xf4\\xc8\\xcd\\x02\\x150\\x14P\\x81-h,S\\x81\\xfa\\xfe\\x18\\x80\\x8a)\\xc2h\\xa0A\\x1c#\\x13\\xe4O\\xe4a\\x08\\x10\\x8c\\xcc\\xf3M*\\x06\\xe0\\xc1\\x04\\xd8\\x90\\x0b@\\xb0B\\x1f\\x99\\xd8A\\x14R`\\x86\\x15\\xf8\\xa0\\x15~\"\\x83@\\xdcu\\x05\\x11\\x84@\\x01\\x99\\x00A\\x13\\xfc\\x81\\x9eRhc\\x00%X\\x02\"\\x16\\x90\\x08\\x1f\\xc0\\xc2\\x12\\xd1p\\xc6\\x01`\\xf0\\x86\\x7f\\xa0!\\n\\x15\\xa0A\\xfa*\\xe0\\x8fRP\\xe2\\x06\\xb3\\xc8\\x83\\xa4^\\xf3\\x0f\\x7fXa\\x00\\x1a0D\\x06\\xff0\\xe0\\x8f\\n\\x14\\xa0\\x0b]\\xa8\\xc0\\x15`\\xb0\\x0c6XA\\x0f\\x9a\\xe8\\x03 \\xfc\\x11\\x8b\\x06\\xd2C\\x04V\\xb8\\xccV\\xca\\xa1\\x85/d\"\\x047\\xf0\\x07.r\\xf7\\x05\\'\\xb0\\x82\\x06\\xdcxA\\x0f\\xca@\\x88$\\xd4\\xc1\\x01\\xf0\\x00\\x005\\n\\xf0\\xc2\\n \\x01\\x061\\xa4\\x01\\x1b&`\\x03E\\xc8\\xcfO\\xdb\\xc1\\xc1\\xc4hA\\x024\\x14\\xc0|Y`\\xc5/\\xa8p\\x00e\\x8c\"\\x00/\\xa0\\xc0(j\\x91\\x8by\\xc8\\xc0\\x0c\"\\xa0\\x07\\x0e\\xb4\\x98\\x90\\'\\xe4AA\\xda\\x10R\\xf3t\\x85\\x0cBx\\x0e\\x03fH\\xc4\\x0f\\x1a\\xd0\\x06\\x03\\xf0\\xc3\\x00\\x8dX\\x06\\x1a`0\\x05$\\x18\\xe0\\x00\\xed\\x00\\x84\\'L \\x87=\\x88\\x02+\\xe9\\x19\\xc0,\\x14\\xe1\\xa7 \\x00\\x80\\x062<\\x02*\\x1aa\\xc8`\\x88\\xe3\\x05c\\x88H!`0\\x02J\\xfc \\x11Z\\x18\\nq\\x12b\\x85V\\xf0\\x08\\x02\\xfeP\\x836\\x08\\xc1\\x82 \\xcc@\\x03\\xdc\\x90\\x06\\x11\\xfc\\xc1\\x88*\\xb8A\\x01m\\xa8@#\\x0e\\x10\\x054\\x00\\xa0\\x11\\x06\\x80A-\\x0ep\\xff\\x00\\xd5|@\\x0b\\xf4`\\x93?X\\xa0\\x85\\x01\\x08\\xc0\\x02h\\xa0\\xc1\\x11\\xa8a\\x80J\\xb0\\x01\\x0b\\x168\\xc0<(\\xb0\\t\\x05\\\\\\xe2\\x1fl\\x80\\x01\\'`0\\x8e\\x0c\\x0c\\x80\\x1e\\xec\\x12\\xc8\\xa8\\xa4\\x90%m\\x14\\x80\\x05\\xda\\x10\\x816 \\xa1\\x8d/\\xcc\\x02\\x11\\xe4X\\'\\rXP\\x86\\x19\\xac\\x01\\x00h\\xb0\\x05\\x00\\xa6@\\x05N\\xe4\\xe2\\x00\\x04\\xb4C(J\\x80\\x0e\\x10\\xc4A2r\\x98E\\x0cJ\\xe0\\x0f\\x1aT \\xa1\\x8d(\\x04\\'\\x0c\\xd0\\x01<\\xf8\\x03\\x1f\\x9b\\xa0\\x15?\\x0f`\\x00[d\\x81\\x121\\xd8\\x83#r\\x01\\x9c\\\\\\xa8E5 \\x00\\xa3!|\\x80\\x03\\t\\x18\\x02\\x04\\x89\\x18\\xdd\\x17\\xb4\\xa1\\x85\\x0b\\xd8\\x83\\x03\\x00[\\x82\\x0cR1\\x85)\\x14\\xe2\\xa7\\x80P\\x01+\\xb0\\xe1\\x8fk0\\xc0\\x84VH\\xc3\\x00\\xdc\\xc0\\x80\\x14\\xdcb\\x1e\\xf00@\\x05rP\\x016\\x00\"\\x01:@\\x854\\x06\\xd1\\x016\\xa0!\\x18\\xf9\\xbcC R\\xc0\\x00-\\x10\"c\\x13\\xb9\\x05BHP\\x85\\x0b8!\\x06bH\\x80\"\\x08a\\x08A\\xffH\\xc0\\x03\\xaa\\x90C\\x19Z\\xb0\\xad/TA\\tg\\xa0@#\\xfcq\\x80F\\xd4`\\x0cT\\x00\\x04\\x0c\\xca\\xe0\\x0f\\xeb\\xc0\\x02eS\\x1d\\xba\\xe0\\x0f\\xf1 V\\x02 \\x01o\\xd0\\x04\\xb6\\xa0\\x06XP\\x03\\x9c\\x00\\x08o\\x80\\x04\\x8d`\\x05j\\xe0\\x07O0\\x04Q\\xe0\\x0f:\\xb0\\x013\\x00\\x02\\x8a\\xe0n\\xf6\\xd3\\x00\\x1b\\xe0\\x07\\xba\\xd0\\x10\\rQ\\x02\\x13\\xc3\\x0e\\xce\\xf0\\x0b\\x18\\xf0\\x0b}\\xf0\\x08f\\x00\\x02?0\\x01\\xb5\\x10\\x0c\\t\\x80\\x07\\xf0\\x00\\x03\\x85@\\x03\\x07\\x80\\x01\\x1e\\xd04N\\x10\\x11=t\\re0\\x0b?\\x00\\x04\\xf3\\xa1\\x06\\xd8`\\x07\\xd8\\x00\\x03\\xd8\\x95O]\\x80\\x05\\x0fR\\x03\\xd4 \\x05\\x8b\\x80\\x03t\\x83\"\\x15\\x91\\x0bG \\x05N\\xc0\\x02\\xb7@\\x10\\xba\\xe1\\x04- \\x02\\'\\x90\\x000\\x80\\x06*\\x90*7 \\x00X\\xb0\\x0bl\\xf0\\x04\\x9e\\x80\\x06\\xbe r\\x0e\\xb0\\x01x8\\x0b\\xf2\\xff\\xd7C\\x1e\\xb0\\x07e\\x80\\x03\\x19\\xb0\\x03\\x13p\\x05j\\x00\\x0f1\\xc4\\x03P\\x88\\rM\\xf0\\x04O\\xe0\\x0f\\x82p\\x068\\xa0\\x01-\\x00Ho\\x18%\\x1a0\\x00.\\xd7C\\xb1P\\x05> \\n\\xa6\\x90\\x02\\x1ab\\x07M0\\x01X\\x10\\x04\\xcb\\xc0\\tX\\x80\\x05\\x00`\\x00\\xfe\\xd0\\x00\\x1e\\xf0\\x03>\\x10Pd\\xb2\\x0b\\xfe\\x00\\r-\\xa0\\x05\\xc2\\xf0\\x01\\xeb \\x05\\x13\\x90\\x05\\t\\xc5\\x03\\xcaP\\x01\\x13\\x80\"\\xd7\\xf0\\x00\\x1f\\xf0\\x03Z\\x00\\x02\\xf2`\\x85\\xb3\\x17\\x04k0\\x0e\\xb9\\xb0\\x0c\\x041F)\\xa0\\x05p\\x97\\x01$\\xd0\\x01\\xf0\\xc0\\x04\\xcb\\xc0\\x04W0\\x019\\x10\\x04]\\x90\\x05C\\x80\\x0c@\\x10\\x07\\x0bc)<\\xd3\\x10\\xca\\xa8?7@\\x0b%\\xd0\\x01\\xcd@\\x03\\xd4\\x84\\x06\\xed \\x01\\x0f\\x00\\x04\\x1c\\xe0\\x08\\x89\\xb0\\x07\\x8f\\x93\\x11[A\\x11\\xb6\"\\x01n\\x00\\tn \\x0c\\x1e \\x01\\xf7`\\r50\\x01\\x13\\x10\\x08\\xdfp\\x0ft\\xb0\\x08\\x8aP\\x05\\x0c\\x93\\x01\\xe0\\x88;\\x8bP6T\\x86\\x03, \\x00\\x1bp\\x02\\\\0\\x07s\\xbe \\x0f8\\x90T \\xa0\\x05L\\xc537\\xb1\\x0bc\\xa4\\x06r@\\x0f> \\x02N0\\x0cs\\xc0\\x05\\xfd \\x0b@\\xb0\\x08\\x7f\\x10\\x03U\\xc0R\"\\x80\\x0c-\\xf9\\x18\\xe9\\x11\\x0f>\\xd08U\\xe0\\x08q\\x00\\x05N\\x10\\x07\\x86\\xd0<\\xda\\xb0\\x07\\x8a\\xd0\\x05\\x05\\x83\\x1bct\\x04\\x1e\\xa0\\x92\\xfe\\xa2\\x05U\\xb0\\x02+0\\x00\\x84p9\\xda0\\x0bf@X\\x191F\\xd6\\xa7\\x08n\\xc0[ \\xd0\\x02\\x90@\\x0f\\x90\\x00070\\x14\\xfcA\\x1e8q\\x1eGp$\\tq\\x05\\x0f\\x10\\x07e\\x00\\t\\xdb\\xc2-\\xf40\\x0b\\x8e@\\x0b\\xa18-\\x17\\xa12i\\xd0\\r\\xd0\\x00\\r\\x1c\\x10\\x88\\x1dp|\\x899\\x1e\\xa8q\\x1dR\\x93\\x10\\xe5 \\x01\\xab\\xc2\\x00\\x1e@\\x02h\\x99\\x10\\xe68\\x11\\x01\\x01\\x00;'" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The ThumbnailPhotoFileName column in the SalesLT.Product entity contains filenames of thumbnail images associated with each product. The filenames typically include a description of the product followed by '_small' and the file extension. This pattern indicates that the files are likely smaller, thumbnail-sized versions of product images, commonly in GIF format. The filenames help in referencing the specific thumbnail image for the corresponding product in the database.", + "Name": "ThumbnailPhotoFileName", + "SampleValues": [ + "superlight_silver_small.gif", + "single_headlight_small.gif", + "water_bottle_cage_small.gif", + "tail_lights_small.gif", + "julianax_r_02_yellow_small.gif" + ] + }, + { + "AllowedValues": null, + "DataType": "uniqueidentifier", + "Definition": "The column rowguid in the SalesLT.Product entity contains unique identifier values (GUIDs) in the standard format of a 32-character hexadecimal string, divided into five groups separated by hyphens. Each value in this column is used to uniquely identify rows within the Product entity. The format typically ensures high uniqueness and is commonly used for synchronization or to generate unique keys across different tables or databases.", + "Name": "rowguid", + "SampleValues": [ + "22DF26F2-60BC-493E-A14A-5500633E9F7E", + "47AB0300-7B55-4D35-A786-80190976B9B5", + "AE638923-2B67-4679-B90E-ABBAB17DCA31", + "AAD81532-A572-49A5-83C3-DFA9E3B4FEA6", + "A3EE6897-52FE-42E4-92EC-7A91E7BB905A" + ] + }, + { + "AllowedValues": null, + "DataType": "datetime", + "Definition": "The ModifiedDate column in the SalesLT.Product entity contains timestamp values indicating the last date and time a product record was modified. The timestamps are in the format YYYY-MM-DD HH:MM:SS.ssssss. This column helps track changes and updates to product information, ensuring that the most recent modifications are recorded and can be referenced for audit or synchronization purposes.", + "Name": "ModifiedDate", + "SampleValues": [ + "2008-03-11 10:03:55.510000", + "2008-03-11 10:01:36.827000" + ] + } + ], + "CompleteEntityRelationshipsGraph": [ + "SalesLT.Product -> SalesLT.ProductCategory", + "SalesLT.Product -> SalesLT.ProductModel -> SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription", + "SalesLT.Product -> SalesLT.SalesOrderDetail -> SalesLT.SalesOrderHeader -> SalesLT.Address -> SalesLT.CustomerAddress -> SalesLT.Customer", + "SalesLT.Product -> SalesLT.SalesOrderDetail -> SalesLT.SalesOrderHeader -> SalesLT.Customer -> SalesLT.CustomerAddress -> SalesLT.Address" + ], + "Database": "AdventureWorksLT", + "Definition": "The SalesLT.Product entity contains detailed information about the products available in the inventory. It includes data such as product ID, name, product number, color, size, weight, cost, price, and various dates related to the product's availability and discontinuation. This entity can be used to answer questions regarding product specifications, pricing, availability periods, and categorization. It also helps in identifying product models and tracking changes through modification dates.", + "Entity": "SalesLT.Product", + "EntityName": "Product Information", + "EntityRelationships": [ + { + "ForeignEntity": "SalesLT.ProductCategory", + "ForeignKeys": [ + { + "Column": "ProductCategoryID", + "ForeignColumn": "ProductCategoryID" } - ], - "CompleteEntityRelationshipsGraph": [ - "SalesLT.Product -> SalesLT.ProductCategory", - "SalesLT.Product -> SalesLT.ProductModel -> SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription", - "SalesLT.Product -> SalesLT.SalesOrderDetail -> SalesLT.SalesOrderHeader -> SalesLT.Address -> SalesLT.CustomerAddress -> SalesLT.Customer", - "SalesLT.Product -> SalesLT.SalesOrderDetail -> SalesLT.SalesOrderHeader -> SalesLT.Customer -> SalesLT.CustomerAddress -> SalesLT.Address" - ], - "Columns": [ - { - "Name": "ProductID", - "DataType": "int", - "Definition": "The ProductID column in the SalesLT.Product entity contains unique numerical identifiers for each product. These identifiers are integer values with no specific pattern or sequence. This column is used as the primary key to uniquely distinguish each product within the product entity.", - "AllowedValues": null, - "SampleValues": [ - 989, - 735, - 743, - 865, - 883 - ] - }, - { - "Name": "Name", - "DataType": "nvarchar", - "Definition": "The column contains a list of product names that are available for sale. The names typically include a combination of descriptive terms regarding the product type, model, and sometimes size or color. The values do not follow a strict format but often include elements such as the product category, specific attributes, and any distinguishing features. Examples include terms related to bicycle components, accessories, and clothing items.", - "AllowedValues": null, - "SampleValues": [ - "ML Mountain Front Wheel", - "ML Touring Seat/Saddle", - "Hitch Rack - 4-Bike", - "HL Touring Frame - Yellow, 54", - "Classic Vest, L" - ] - }, - { - "Name": "ProductNumber", - "DataType": "nvarchar", - "Definition": "The ProductNumber column in the SalesLT.Product entity contains alphanumeric strings that serve as unique identifiers for different products. These identifiers typically follow a pattern combining letters and numbers separated by dashes. The letters may represent product categories or characteristics, while the numbers likely denote specific details such as size or model. This column ensures that each product can be distinctly referenced and categorized within the database.", - "AllowedValues": null, - "SampleValues": [ - "BK-M47B-40", - "BK-R50R-60", - "FR-M21S-40", - "SB-M891-L", - "FR-M94B-42" - ] - }, - { - "Name": "Color", - "DataType": "nvarchar", - "Definition": "The Color column in the SalesLT.Product entity contains a list of color names that describe the appearance of the products. The values include basic colors as well as combinations of colors, often separated by a slash. These color descriptions help in identifying the visual attributes of the products within the inventory.", - "AllowedValues": null, - "SampleValues": [ - "Red", - "Black", - "Silver/Black", - "Silver", - "White" - ] - }, - { - "Name": "StandardCost", - "DataType": "money", - "Definition": "The StandardCost column in the SalesLT.Product entity contains the standard cost values for products. These values represent the cost incurred to produce or purchase the products and are typically expressed in a decimal format to include precise cost calculations. The values can vary widely, reflecting the diversity in cost based on different product types and materials used. The cost is represented in a monetary format with up to four decimal places, indicating a detailed accounting of production costs.", - "AllowedValues": null, - "SampleValues": [ - "55.3801", - "204.6251", - "1059.3100", - "199.3757", - "9.1593" - ] - }, - { - "Name": "ListPrice", - "DataType": "money", - "Definition": "The ListPrice column in the SalesLT.Product entity contains the standard selling price of each product. The values are numeric and represent the price in a monetary format with four decimal places. This column is used to store the manufacturer's suggested retail price for the products listed in the database. Values in this column can vary widely, reflecting the varying cost of different products.", - "AllowedValues": null, - "SampleValues": [ - "404.9900", - "2294.9900", - "159.0000", - "300.2150", - "1431.5000" - ] - }, - { - "Name": "Size", - "DataType": "nvarchar", - "Definition": "The Size column in the SalesLT.Product entity contains values that represent the size of a product. The values include both numerical sizes and alphanumeric sizes (commonly used for clothing). Numerical sizes are typically in a range such as 42, 54, and 56, whereas alphanumeric sizes follow common clothing size abbreviations like L for Large and XL for Extra Large. The column appears to mix both formats to accurately reflect different types of product sizing.", - "AllowedValues": null, - "SampleValues": [ - "54", - "42", - "XL", - "L", - "56" - ] - }, - { - "Name": "Weight", - "DataType": "decimal", - "Definition": "The Weight column in the SalesLT.Product entity contains the weight measurements of products. The values represent the weight in a numerical format, which is likely measured in units such as grams or kilograms. This column does not have a fixed pattern for its values, except that they are all numerical and can include decimal points for precision. The weights vary significantly, indicating different product sizes and types.", - "AllowedValues": null, - "SampleValues": [ - "13562.34", - "8976.55", - "1050.00", - "11530.26", - "8069.37" - ] - }, - { - "Name": "ProductCategoryID", - "DataType": "int", - "Definition": "The ProductCategoryID column in the SalesLT.Product entity contains numerical identifiers that correspond to different product categories. Each value in this column represents a unique category within a predefined set of product categories. The numbers do not follow a specific format and are simply identifiers to link products to their associated categories. These categories are used to classify and organize the products into groups for better management and retrieval.", - "AllowedValues": null, - "SampleValues": [ - 39, - 28, - 10, - 27, - 24 - ] - }, - { - "Name": "ProductModelID", - "DataType": "int", - "Definition": "The ProductModelID column in the SalesLT.Product entity contains numeric identifiers that correspond to different product models. These values are used to uniquely identify and reference specific models within the product catalog. The column helps in organizing and categorizing products based on their respective models for easier management and retrieval. The values are integers and do not follow any specific standardized format beyond being unique identifiers within the database.", - "AllowedValues": null, - "SampleValues": [ - 38, - 45, - 82, - 24, - 81 - ] - }, - { - "Name": "SellStartDate", - "DataType": "datetime", - "Definition": "The SellStartDate column in the SalesLT.Product entity contains the dates and times when the products were first available for sale. The values in this column follow the datetime format 'YYYY-MM-DD HH:MM:SS', indicating the exact start date and time for selling each product. This information is useful for determining the product's availability over time and can be used for filtering products by their start selling dates.", - "AllowedValues": null, - "SampleValues": [ - "2007-07-01 00:00:00", - "2006-07-01 00:00:00", - "2005-07-01 00:00:00", - "2002-06-01 00:00:00" - ] - }, - { - "Name": "SellEndDate", - "DataType": "datetime", - "Definition": "The SellEndDate column in the SalesLT.Product entity contains the date and time when a product is no longer available for sale. The values are in the datetime format and typically represent the exact end date and time for each product's availability. This column helps in determining the period during which a product was sold and can be used to analyze sales trends and product lifecycle.", - "AllowedValues": null, - "SampleValues": [ - "2007-06-30 00:00:00", - "2006-06-30 00:00:00" - ] - }, - { - "Name": "DiscontinuedDate", - "DataType": "datetime", - "Definition": "The DiscontinuedDate column in the SalesLT.Product entity represents the date on which a product was discontinued and is no longer available for sale. This column contains date values, indicating the specific point in time when the product status changed to discontinued. If the value is NULL, it means the product is still currently available. This information is crucial for determining product availability and managing inventory records.", - "AllowedValues": null, - "SampleValues": [] - }, - { - "Name": "ThumbNailPhoto", - "DataType": "varbinary", - "Definition": "The ThumbNailPhoto column in the SalesLT.Product entity contains binary image data for product thumbnail photos. The data is stored in a BLOB format representing the image content, typically in formats such as GIF89a. The images are used for quick visual references of products in the database and are encoded in a way consistent with image data storage for efficient retrieval and display. Each entry in the column represents a different product's thumbnail photo encoded as a byte stream.", - "AllowedValues": null, - "SampleValues": [ - "b'GIF89aP\\x001\\x00\\xf7\\x00\\x00\\x00\\x00\\x08\\x0c\\x04\\x0c\\x10\\x10\\x10\\x18\\x12\\x1b\"\\x0e\\x12!\\x18!)!\\x18#\\x1e\\'1\\x00\\x00)))-%-1))1)111191111991991J99999BB99c\\x10\\x10s\\x1c\\x1ck33B9BB=FJ9BJBBZG4yx%BBJJBJFANJJRRJJRJRJJZRRJRRRRRZZNNZRRZRZRRc`WRcRZxLLk^Zc^gk^cgckkkksccoko{kk{sgskssss{sw{{{\\x84s{\\x84{{~x\\x84\\x84{\\x9c\\x8cBB\\x8c\\x8a\"\\x8e\\x83]\\x8e\\x83{\\x84\\x84\\x84\\x8c{\\x84\\x8c\\x84\\x88\\x94\\x84\\x84\\xc2\\xc2\\r\\xb8\\xb39\\xd6\\xd6\\x08\\xd4\\xd4)\\x9c\\x96x\\xb7\\xb1c\\xd2\\xd2V\\xd4\\xd4{\\x8c\\x8c\\x8c\\x94\\x84\\x8c\\x92\\x8a\\x90\\x91\\x8c\\x99\\x9c\\x8c\\xa5\\x9c\\x94\\x94\\x9c\\x94\\x9c\\xa7\\x92\\x8f\\xa5\\x9c\\x94\\xa5\\xa5\\x94\\x9c\\x9c\\x9c\\xa2\\x9c\\xa2\\xad\\xa5\\x94\\xad\\x9c\\xa0\\xa9\\xa5\\xa5\\xc5\\xb7\\x9e\\xa5\\xa0\\xad\\xad\\xa5\\xad\\xad\\xad\\xad\\xb5\\xa5\\xad\\xb5\\xad\\xad\\xb5\\xb1\\xb5\\xbd\\xad\\xad\\xbd\\xb5\\xb5\\xbd\\xbd\\xb1\\xc1\\xb5\\xb9\\xbd\\xbd\\xbd\\xc6\\xb5\\xbd\\xc6\\xbd\\xbd\\xbd\\xbd\\xc6\\xc6\\xbd\\xc6\\xc6\\xc6\\xc6\\xce\\xc7\\xb5\\xce\\xc6\\xc6\\xce\\xce\\xc6\\xd6\\xc6\\xc6\\xd6\\xce\\xc6\\xc6\\xc6\\xce\\xce\\xc6\\xce\\xce\\xce\\xce\\xce\\xd6\\xce\\xd6\\xce\\xce\\xde\\xce\\xce\\xce\\xc6\\xd6\\xce\\xce\\xd6\\xd6\\xce\\xd6\\xd6\\xd6\\xd6\\xd6\\xd6\\xde\\xde\\xde\\x00\\xde\\xde\\x08\\xde\\xde\\x10\\xe7\\xe7\\x0c\\xe7\\xe7\\x18\\xef\\xef\\x10\\xef\\xef\\x18\\xf7\\xf7\\x10\\xf7\\xf7\\x18\\xff\\xff\\x18\\xe7\\xe7!\\xef\\xef!\\xf7\\xf7!\\xff\\xff!\\xde\\xde)\\xe7\\xe7)\\xef\\xef)\\xf7\\xf7)\\xff\\xff)\\xe7\\xde1\\xe7\\xe71\\xef\\xef1\\xf7\\xf71\\xff\\xff1\\xe7\\xe79\\xef\\xef9\\xf7\\xf79\\xff\\xff9\\xde\\xdeB\\xe7\\xe7B\\xef\\xefB\\xf7\\xf7B\\xe7\\xdeR\\xe7\\xe7J\\xef\\xefJ\\xe7\\xe7V\\xef\\xefR\\xff\\xffB\\xff\\xffJ\\xff\\xffR\\xef\\xe7Z\\xf3\\xf3Z\\xe4\\xe4h\\xde\\xde{\\xff\\xffZ\\xfb\\xfbg\\xff\\xffk\\xff\\xffs\\xe2\\xe2\\x7f\\xef\\xef{\\xe4\\xe4\\x8c\\xef\\xef\\x84\\xf7\\xf7\\x84\\xf3\\xf3\\x90\\xff\\xff\\x88\\xff\\xff\\x94\\xde\\xde\\xa0\\xe7\\xde\\xa5\\xeb\\xeb\\x9c\\xef\\xef\\xa5\\xf7\\xf7\\x9c\\xf7\\xf7\\xa5\\xff\\xff\\x9c\\xff\\xff\\xa5\\xe7\\xb5\\xb5\\xe7\\xbd\\xbd\\xde\\xce\\xd6\\xde\\xd6\\xd6\\xde\\xd6\\xde\\xde\\xde\\xd6\\xde\\xde\\xde\\xe7\\xde\\xde\\xe7\\xe7\\xad\\xef\\xe7\\xb5\\xe7\\xe7\\xbd\\xef\\xe7\\xc6\\xe7\\xe7\\xde\\xef\\xe7\\xde\\xef\\xef\\xad\\xef\\xef\\xb5\\xf7\\xf7\\xad\\xff\\xff\\xad\\xff\\xff\\xb5\\xef\\xef\\xbd\\xf7\\xef\\xbd\\xef\\xef\\xca\\xf7\\xf7\\xbd\\xff\\xff\\xbd\\xff\\xff\\xc6\\xf7\\xf7\\xce\\xff\\xf7\\xce\\xff\\xff\\xce\\xef\\xef\\xd6\\xf7\\xef\\xd6\\xf7\\xf7\\xd6\\xff\\xff\\xd6\\xef\\xef\\xde\\xf7\\xf7\\xde\\xff\\xff\\xde\\xde\\xde\\xe7\\xe7\\xde\\xe7\\xe7\\xe7\\xe7\\xef\\xe7\\xe7\\xef\\xef\\xe7\\xf7\\xf7\\xe7\\xff\\xff\\xe7\\xde\\xde\\xef\\xe7\\xe7\\xef\\xef\\xe7\\xef\\xef\\xef\\xef\\xf7\\xef\\xef\\xf7\\xf7\\xef\\xff\\xef\\xef\\xff\\xff\\xef\\xe7\\xe7\\xf7\\xef\\xef\\xf7\\xf7\\xef\\xf7\\xf7\\xf7\\xf7\\xf7\\xff\\xf7\\xff\\xf7\\xf7\\xff\\xff\\xf7\\xde\\xde\\xff\\xef\\xe7\\xff\\xef\\xef\\xff\\xf7\\xf7\\xff\\xf7\\xff\\xff\\xff\\xf7\\xff\\xff\\xff\\xff,\\x00\\x00\\x00\\x00P\\x001\\x00\\x00\\x08\\xfe\\x00\\xff\\t\\x1cH\\xb0\\xa0\\xc1\\x83\\x08\\x13*\\\\\\xc8\\xb0\\xe1\\xc0z\\x0e#\\n\\xac\\x17\\x07\\xcb\\x95+f\\xbe\\x00\\x03\\x16l#F\\x89\\x12\\xeb\\xbd\\xa9a\\x8c\\xe0\\xbb7b\\xda\\tt\\x07R`\\x9e\\x16\"\\\\\\\\\\xb8 \\x13\\x08\\x10\\x0b\\x15\\\\\\xdci\\xe9\\xb0\\xde\\x96\\x033\\xee\\x94+\\x93\\xc3\\xc3\\x81\\x03;\\xd4x\\xd1\\x91\\xa6\\xa5\\xb97o\\xec\\xc41S\\x84\\x06\\x02\\x04\\x17\\xa2\\xe4\\xe1\\x87\\x8fgC6\\x03\\x00l01`\\x80\\x08\\x1c#\\x0e8\\x80p\\xe0\\x8a\\xd7\\x81\\xf3\\xaa\\xc8\\x98\\xb1e\\xe7[\\x87\\xe5\\xb4|\\x00\\x10`C\\x98b\\xff\\x8ci\\x89\\x00`\\x01\\xae\\xbb\\xff\\x86U\\x11S\\x0eq\\xc4\\xc6~\\x14(hL\\x10\\x0e\\x87 \\xdf\\x10+u,\\xf1\\r\\x9b\\x7f\"$\\x18|\\xc5\\xe8T\\xbf\\xbb>\\xd5p\\x8e\\xa8\\x86\\xcc\\xbf\\x1c\\x03\\xde\\x10\\x8c\\xb7\\xa9Q(\\xc4\\xe3\\xa0\\xf4Y\\xdd\\xb0\\x9e\\x1f\\x88v\\x0ed\\xf8\\xed\\xaf\\x9f4I\\x86d!\\xfe2D%\\xef\\x85\\xed \\n\\x0c3\\x00\\xc2\\x166}^E\"\\x94\\xec\\xb4W|\\x94\\x9a\\xfe\\xd2\\xe5|\\xf6\\xda\\xa7Pr\\x0e\\xd4\\x0e\\x87q\\x80\\x08\\xa7\\xf1\\xe3\\x84\"\\x9f\\xe0\\xf9\\xcf{\\xde\\xf1\\xf3\\x8b\\'\\xd7\\x801\\xc0\\x11\\x10\\xf1#\\x8b\"\\xb0\\xd0\\xd3O\\x8a\\x9bW\\xaat\\xda\\xf8X!\\x02\\x0cH\\xff\\xa3\\xc2\\x06e \\xcd\\xd5\\xee\\xfd\\xe0S\\\\W\\xdeH\\xa2\\n\\xbd\\x13A\\xf4\\x0e\\x0c\\x05\\xc8v\\x0f:I,\\xd2\\xca\\x9c\\x06\\xd1\\xe2\\xc99\\x1bd\\x10\\xc7C\\xab(\"\\xcb>\\xb5z\\x07\\xd1\\xbc\\xa7\\xa1\\xd5\\x1dt\\xe0\\x80\\x92\\xfc#23`\\x07\\xc7\\x1cV\\x8f\\xcd\\xfd\\xe3\\x17\\x8bP\\x06\\xd4\\xf8\\xe1@\\x81x\\xa1\\x008\\x18\\x08\\xa8\\xdc\\xe7\\x0c^\\xd4\\xc2\\x83\\x1e\\xe8\\x80\\x05A\\x08\\xc2\\x10Z`\\x04\\x15\\x88a}\\xe1\\xc8\\xc64x\\x01\\x0bT\\x84\\xc2\\x11\\x93\\x08B\\x8e(@\\x84\\x18\\xfa!hJ+\\xc3\\x06\\xa4\\x10\\xcc\\x1e\\xac\\xce\\x87\\x0c\\x8ca\\x03;&\\xca7\\x98 \\x83s\\x13\\x03\\x1an\\xd0\\x81 `A\\x02[0\\x01\\x16p\\x11\\x8bQ\\x80\\x02\\x13\\xa0\\x1d\\x85*\\x9a\\xf0\\x05,\\xc0@\\x0228C\\x0c\\x1f*\\x90y\\xb9k\\x0c\\x18\\xf0\\xfe\\xc2:6 \\x83I\\x15G \\xde\\xb3\\x07?\\x1a\\x88H\\xe9\\xbc\\x90+[\\x8b*\\x14\\x0cR\\x8e1\\xdc\\xc1\\ra\\xf8\\x01\\x14`@\\x04\\x1a\\xbc\\xc0\\t\\xa1P\\x05,v\\xc1\\rp\\xd0\\x83\\x1f\\xf2\\xf8\\x079b@\\x842x\\xa1\\x1e\\xef\\xb8\\x03;\\xdc\\xf5\\xd4\\x7f\\x88A\\x02\\xb2Q\\x81\\nf\\x84[\\xcc!v\\x8e\\x8a\\x15e\\xd2\\xba\\x90\\x011\\x18\\xc4\\x18lX\\xc70\\xcaP\\x86.\\xe4!\\x0e=\\x18\\x821\\xea\\xc1\\xcc\\xb5\\tD\\r;\\xd0B\\x19\\xc4`\\x0cb0\\xa3\\x93uT\\x17\\x06\\x1a\\xb3\\x03\\x0c\\x94\\x01v\\xa7\\x81\\x88\\xf3:\\xc9aj\\xb5c\\x08\\x13`/A\\xccQ\\x06?\\xe0\\xa1ge`*\\x11v\\x10\\x07x\\xcd\\n\\xb1\\xff(\\x07\\x0cv0\\x8crDGi)\\xf2C\\x0cR \\x9034\\x80\\x08\\x99\\xdb[\\xce\\xe6\\x88\\xc8f\\xfe\\xc3\\x0e3\\x18\\xc1,\\xdb\\xe6\\x857X\\x81\\rex\\x83P\\xac\\xa0\\x03EA\\xa4\\x8e\\xbc\\x03\\xd6\\x07v\\xb27\\x8fIG\\xb0V\\xad\\x87\\x04Z0\\xa3\\n\"3\\x85A\\x9d\\xd7\\xfe\\xdeD\\xa9\\x05\\x90\"\\xe4\\x0ei\\xb8\\xc3\\x19\\xca\\xe0\\x06/\\xe4A\\r\\x1f\\x88\\xc1!\\xc5x\\x8fv\\xb0\\x03\\n,\\x98\\x11\\xc4R\\xd4\\x0e\\x1d\\xe6a F\\xb0[\\x1b\\xd7\\xfc\\xbf\\xf74z\\x8cy\\xe8\\x01\\x04\\x1e\\x9c\\xae7x\\xa1\\x0cgPC\\x1f\\x84\\x92\\x02\\n\\xb8\\xc6\\x9b\\xe58\\x068E\\xed\\x87ax\\xf9!\\xd2a\\x03\\x0bTP\\xbdr@\\x80\\x06s\\xc8\\xe2\\xa9#\\xec\\xb0\\xa7\\x15\\xfa\\x03rKH;\\xe2\\xd0\\x0664\\xd9\\x0f\\xe7P\\x03\\x04\\x8e\\x10\\x87z\\xd8\\xb8\\x1d\\xf3\\xa8\\x87;n\\x8cj\\x1c\\x1f\\xf0\\x08\\t\\xc0\\xe3@\\xb6\\xc0\\x80#\\x90\\xc3\\xd9I#/\\xb6\\xff\\x11\\x06\\x15\\x9c\\x8c!wh\\xb01n\\xac\\x83\\x06`\\xe1\\x91\\x13\\xd46\\xd2\\xae\\x8c4cT\\xc1\\x01\\xd14\\xc8\\x0c$P\\x85c\\xc8zw\\xffX\\xf7C\\xd4 \\x03\\t`q!\\xf8\\x10\\xf1@\\x8c!\\x01\\x11\\xac\\xc19,\\r\\xa3\\xc2\\x91f\\x0e2l@\\x04\\xeb8H9R\\x80\\x01,\\xd8\\xfb\\xde\\xa2,\\x87\\x1bb@\\xef\\x99\\x1e\\xc4\\x1fm\\xd0\\x829\\xef<\\xee\\x86\\x06\\xa4\\xc0\\x0c\\\\\\xaa\\xa7\\x03\\x15.\\x10cx\\xe1\\x05\\x1f\\xb8\\x1fB\\x8c\\xa1\\x02\\x14\\x1c!\\x0f\\xe6(\\x88\\xc7\\xebq\\x0c/\\xa8@\\x04\\xb9^H=\\xbc\\x90\\x83>(N b\\x80\\x00\\n\\x8c\\x90\\x07\\xc0J\\x9c\\r=0\\x81\\x07\\x08\\'!\\x19\\xa4\\xc0\\x06U\\x18F;n\\xbc9e\\xb7cE=\\xf8y\\x15<\\x8e\\x10c7\\x1d!g\\xf0\\xc0\\x06^\\xd0\\x05\\x88\\x12\\xf9a\\xde\\x04\\xb0\\x08L`\\x82\\x8d5\\x04\\n&`\\xab\\x16\\x9a<\\x0cb\\xe4\\x01%S\\xd0\\x01\\r\\xf2.m\\xce\\xc8X\\x02\\x1b\\xa0\\x81\\x0f\\xc6\\x00Lc\\xf4A\\rU\\xa0A\\x08P\\xf0\\x81\\x198}!\\xfa:\\x01\\x0bf\\xe0\\x83\\x00\\xeb \\x07V7\\x01\\x0c\\xb6\\xd0\\xb6\\xd5\\xd0\\xaa\\x0c*\\x90\\x80\\x04>P\\x82\\xb1\\xd2\\xe0\\x03\\x18\\xc8\\xc0\\x07d@u\\x90\\x94\\x83\\xe8\\xd7\\x0b\\x81\\x08D\\xa0\\x82\\x1e\\xa8a\\xcd\\xbc\\x91\\x8e=\\xde@\\x04\\x13H\\xa0\\x01\\x12\\x80\\x00\\x06\\xb4$\\x87\\x00\"$ \\x00\\x00;'", - "b'GIF89aP\\x002\\x00\\xf7\\x00\\x00\\xd7\\xd7\\xd7\\xbe\\xbe\\xbe\\x9f\\x9f\\x9f\\xf3\\xf3\\xf3\\xe2\\xe2\\xe2\\xb9\\xb9\\xb9\\xdf\\xdf\\xdf\\xce\\xce\\xce\\xe8\\xe8\\xe8\\xf5\\xf5\\xf5\\xaf\\xaf\\xaf\\xed\\xed\\xed\\xf0\\xf0\\xf0\\xaa\\xaa\\xaa\\xa4\\xa4\\xa4\\xf4\\xf4\\xf4\\xca\\xca\\xca\\xea\\xea\\xea\\xd4\\xd4\\xd4\\xf1\\xf1\\xf1\\xfc\\xfc\\xfc\\xf9\\xf9\\xf9\\xdd\\xdd\\xdd\\xc2\\xc2\\xc2\\xf8\\xf8\\xf8\\xec\\xec\\xec\\xb4\\xb4\\xb4\\xe6\\xe6\\xe6\\xd1\\xd1\\xd1\\xef\\xef\\xef\\xe4\\xe4\\xe4\\xf6\\xf6\\xf6\\xda\\xda\\xda\\xc6\\xc6\\xc6\\xb1\\xb1\\xb1\\xfb\\xfb\\xfb\\xac\\xa9\\xa5\\x8b\\x8b\\x8b\\xdb\\xda\\xdaXXX\\xd8\\xd8\\xd8\\x8c\\x8c\\x8c\\x97\\x97\\x97\\x7f\\x7f\\x80fffooo\\xd5\\xd5\\xd5\\xd6\\xd6\\xd6\\x9e\\x9d\\x9d\\xb2\\xb2\\xb2\\xcc\\xcc\\xcd\\xbb\\xbb\\xbb\\xbc\\xbc\\xbc\\x95\\x95\\x95\\xa8\\xa8\\xa8\\xc4\\xc4\\xc4\\xeb\\xeb\\xeb\\xc5\\xc5\\xc6///FFF\\x00\\x00\\x00\\x0f\\x0f\\x0fyyy}}}\\xba\\xba\\xba\\x94\\x94\\x94LLLeee\\xdb\\xdb\\xdc\\xb6\\xb6\\xb6\\x8a\\x8a\\x8a\\xbd\\xbd\\xbd\\xb0\\xb0\\xb0\\xcc\\xcc\\xcc\\x82\\x82\\x82\\xb3\\xb3\\xb3,,,\\\\\\\\\\\\OOO\\xa7\\xa7\\xa7\\xe8\\xe8\\xe9\\x9e\\x9e\\x9e\\xd5\\xd5\\xd6\\xde\\xde\\xde\\xcd\\xcd\\xcd\\xd2\\xd2\\xd2\\xf2\\xf2\\xf2\\xe1\\xe1\\xe1\\xee\\xee\\xee\\xae\\xae\\xae\\xb7\\xb7\\xb7rrs\\xb1\\xb0\\xae<<\\xf4\\n\\xb6\\xe8X\\xa4f\\x97\\xa6u\\xca6\\xea[\\xaar\\xaf\\x1e\\xde\\x99\\xb8\\xeb\\x0b\\x03\\x8d\\xc5\\x1e-\\xab\\x14m\\xd3\\xb5P\\xddN\\x8dkus\\xcf\\xce\\x0f\\x01\\xb4`\\x81\\x80\\xa8h\\xbe\\x91M\\x03\\xae\\xac\\x9apf\\xd7&\\xedw2j\\xc1\\x97Y\\x1b\\xff\\x96\\x9e\\xf0n\\xec\\x12\\x14\\x80\\x04\\xd1>\\xba\\xaf\\xe4\\xd3\\x81-\\xaf.\\xac\\x99\\xfc@\\xeaT\\xd0\\xbf\\x18\\xc2\\x1e\\xf7r\\xef\\xf1\\xf5\\x06\\xddx\\xf6\\xddg\\x9eC\"\\x88@\\xc1\\x0b\\'\\xf4\\xa7\\\\w\\xf0\\xf1\\xf6\\x9cx\\xf5\\xd9G]\\x82\\x0b6\\xe8X{\\xb91\\xf7\\x9d|\\xbeEW\\xa0\\x81?\\x05\\x85\\xe1\\x0b^8\\xc8\\xdd{\\xbb9\\x17\\x1e}#ju\\xa0#\\'jx\\xdb\\x83,6\\x07\\xde|\\xbf\\xc5hW\\x89\\x0f\\xd5\\xa8\\xa2{\\xba\\xe9\\x08\\xe2\\x80\\x15\\x92w\\xa1\\x82|\\xd8\\x98\\xdc\\x8aE~( \\x85>\\xfe\\xc8\\x90\\x89\"0\\x80\\x88\\x93\\xdb\\x11\\xe9a\\x80\\x13\\xc2\\xe8\\xe3\\x85Y\\x88\\x01\\x03\\x97\\x1c\\xfe\\x17\\xa1\\x8b<\\x8a\\xe8\\x9a\\x1f;\\xe8\\xc0\\x03\\x0fJ\\\\\\x88\\xc7\\x1bg\\x0e\\xd9!\\x80\\x12\\xbe\\xd8#p541\\x06\\nI8A\\xc0\\x8c\"\\x98@B\\x9e\\x1b\\xfa\\x07a\\x8b;\\x86H\\xe0f\\t\\xc4\\xe0C\\x0e\\x06\\x080\\x05\\xa2\\x8a\\xc2\\x80\\x86\\x9ejBz$\\x95\\x05\\x12P\\xc5\\x19qHA\\x04\\x1bX4\\xa2\\x18\\x82\\x9d\\xfe\\xff\\x00\\xea\\xa3FN)\\xe6\\x88M\\xc40\\x81\"D\\x08\\x92\\xc3 7\\x0c\\xe0P\\r\\xb1\\xce\\x9a\\xa3\\x94a\\xfei\\x1f\\n:l%A\\n-\\x00\\xe0H\\t\\xc56\\x8ac\\x94`\\xfa\\xe9\\xa6t\\t\\xcc\\x11Cg781\\x00\\xb5$\\x00b\\x84\\xb1\\xd8\\xf6\\xd9\\xe6\\xa4\\xc0A\\x91\\x83\\x95@9R\\x06q\\x8a\\xae\\xa0\\x02\\xba_\\xaa+i\\x92\\x9b%\\x01\\x05\\xbc\\\\9\\xc2\\xc4\\xb8\\xf5\\xdek-\\x94\\xf9\\xb2\\xb9\\xef\\x88RX\\x01pCn\\xec0m\\xc1\\xf8\\xf2\\xa90\\x92#\\xca\\x80\\xc3\\xc3W\\xb4`\\xc3\\xc4$\\xd8[\\xf1\\x9a\\x91b\\\\\\xa0\\x0c$.\\x84B\\x0b78D\\xae\\xc8\\x07{iq\\xc9\\xa4\\xda\\x872\\xbc\\x07\\xb0\\xd0\\xb2\\xcb\\x14\\xc7\\xbc\\'\\xc9\\xa3\\xdeJ\\xde\\xcd?\\t\\xf0\\xf1C/\\x1b|#\\xc23\\x07\\xad\\xactD3\\x94\\x02\\nA%=\\xb2\\xa8\\xb6>\\r\\\\\\xd4\\x0b\\xb1\\x80C\\xd5=/-3\\xd0Yo\\x0b\\xdc\\xbbV\\xe2\\xd0\\xc2\\xab\\x8e\\x10\\xb2\\x07\\x170\\x8b\\xfd3\\xd6\\xc9\\x9a\\xbd\\x19\\x0e\\x85\\xa4\\x8cB\\nl\\xb3\\xff@A\\x04[$ru\\xadu\\xb3\\xbb\\xd9\\xde)\\xc7`C\\xdf\\x11\\x9d\\x90\\x9d\\xcf\\xa1\\x12\\xae\\xad\\xe1\\x87!n\\xa5\\x0030N\\x81\\xe3\\x83#;9\\xbfuY.5\\n\\x9as\\x0e9\\xad\\x9e\\xaf\\x0b:]\\x8b\\xec\\x902\\x0b\\x0f\\xbc*[\\xe3\\x8f\\xcb\\x1dy\\xea\\x0b\\xdb\\xb7F\\x0f9U\\x81\\x02\\n9\\xa30C\\x82\"(\\xa1\\xe0\\xe6\\xb5?96\\xdd\\x9f\\x8f\\x18H\\x17p\\x98\\x91B\\n>\\xb4\\x90\\x82\\x00\\xc4\\x03\\x11Q\\x1dB$\\xdf\\xe5\\xdc\\x92\\xab^\\xe5B\\x8a\\x07\\xec\\xc8\\x02d\\xe8@G\\x18\\x08t\\x9e\\xad\\xf8c*TC\\xe6\\rQaG\\x0fL\\x18A@h\\xca\\x83\\x8f\\xbb\\xc91Z\\x88\\x0fP\\x80\\x85<\\xe8\\xa0\\x07C\\x80\\x00c\\x90\\xf3\\xbd\\xdb\\xbd/w\\x01TH\\n\\x84\\xc0\\x030DAXB\\xf9\\n\\x03\\xd3\\x84\\xba\\x07\\x02pD\\x0b\\xb9B\\r6\\x85\\x17\\r\\xbaO_\\x1f,\\x10u\\x16x\\xc2\\x8b\\x89G\\x01\\x8b\\x88\\xa1\\x0cgH\\xc3\\x1a\\xda\\xb0\\x86\\x01\\xc8\\xa1\\x0e\\x8fp\\x04\\x1a\\xf8\\xd0\\x873\\x98\\x01\\x10(\\n@\\xc4Ch\\xa1\\x08E\\xf8\\xc3\\x12\\x96\\x10\\x03$ !\\x0bj\\xf8B\\x03l\\xf0\\x04\\x07\\xf4!\\rQ\\xd0\\x83!\\xdaP\\x039\\xdc! \\x00;'", - "b'GIF89aP\\x001\\x00\\xf7\\x00\\x00\\x00\\x00\\x00\\x80\\x00\\x00\\x00\\x80\\x00\\x80\\x80\\x00\\x00\\x00\\x80\\x80\\x00\\x80\\x00\\x80\\x80\\x80\\x80\\x80\\xc0\\xc0\\xc0\\xff\\x00\\x00\\x00\\xff\\x00\\xff\\xff\\x00\\x00\\x00\\xff\\xff\\x00\\xff\\x00\\xff\\xff\\xff\\xff\\xff\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x003\\x00\\x00f\\x00\\x00\\x99\\x00\\x00\\xcc\\x00\\x00\\xff\\x003\\x00\\x0033\\x003f\\x003\\x99\\x003\\xcc\\x003\\xff\\x00f\\x00\\x00f3\\x00ff\\x00f\\x99\\x00f\\xcc\\x00f\\xff\\x00\\x99\\x00\\x00\\x993\\x00\\x99f\\x00\\x99\\x99\\x00\\x99\\xcc\\x00\\x99\\xff\\x00\\xcc\\x00\\x00\\xcc3\\x00\\xccf\\x00\\xcc\\x99\\x00\\xcc\\xcc\\x00\\xcc\\xff\\x00\\xff\\x00\\x00\\xff3\\x00\\xfff\\x00\\xff\\x99\\x00\\xff\\xcc\\x00\\xff\\xff3\\x00\\x003\\x0033\\x00f3\\x00\\x993\\x00\\xcc3\\x00\\xff33\\x0033333f33\\x9933\\xcc33\\xff3f\\x003f33ff3f\\x993f\\xcc3f\\xff3\\x99\\x003\\x9933\\x99f3\\x99\\x993\\x99\\xcc3\\x99\\xff3\\xcc\\x003\\xcc33\\xccf3\\xcc\\x993\\xcc\\xcc3\\xcc\\xff3\\xff\\x003\\xff33\\xfff3\\xff\\x993\\xff\\xcc3\\xff\\xfff\\x00\\x00f\\x003f\\x00ff\\x00\\x99f\\x00\\xccf\\x00\\xfff3\\x00f33f3ff3\\x99f3\\xccf3\\xffff\\x00ff3fffff\\x99ff\\xccff\\xfff\\x99\\x00f\\x993f\\x99ff\\x99\\x99f\\x99\\xccf\\x99\\xfff\\xcc\\x00f\\xcc3f\\xccff\\xcc\\x99f\\xcc\\xccf\\xcc\\xfff\\xff\\x00f\\xff3f\\xffff\\xff\\x99f\\xff\\xccf\\xff\\xff\\x99\\x00\\x00\\x99\\x003\\x99\\x00f\\x99\\x00\\x99\\x99\\x00\\xcc\\x99\\x00\\xff\\x993\\x00\\x9933\\x993f\\x993\\x99\\x993\\xcc\\x993\\xff\\x99f\\x00\\x99f3\\x99ff\\x99f\\x99\\x99f\\xcc\\x99f\\xff\\x99\\x99\\x00\\x99\\x993\\x99\\x99f\\x99\\x99\\x99\\x99\\x99\\xcc\\x99\\x99\\xff\\x99\\xcc\\x00\\x99\\xcc3\\x99\\xccf\\x99\\xcc\\x99\\x99\\xcc\\xcc\\x99\\xcc\\xff\\x99\\xff\\x00\\x99\\xff3\\x99\\xfff\\x99\\xff\\x99\\x99\\xff\\xcc\\x99\\xff\\xff\\xcc\\x00\\x00\\xcc\\x003\\xcc\\x00f\\xcc\\x00\\x99\\xcc\\x00\\xcc\\xcc\\x00\\xff\\xcc3\\x00\\xcc33\\xcc3f\\xcc3\\x99\\xcc3\\xcc\\xcc3\\xff\\xccf\\x00\\xccf3\\xccff\\xccf\\x99\\xccf\\xcc\\xccf\\xff\\xcc\\x99\\x00\\xcc\\x993\\xcc\\x99f\\xcc\\x99\\x99\\xcc\\x99\\xcc\\xcc\\x99\\xff\\xcc\\xcc\\x00\\xcc\\xcc3\\xcc\\xccf\\xcc\\xcc\\x99\\xcc\\xcc\\xcc\\xcc\\xcc\\xff\\xcc\\xff\\x00\\xcc\\xff3\\xcc\\xfff\\xcc\\xff\\x99\\xcc\\xff\\xcc\\xcc\\xff\\xff\\xff\\x00\\x00\\xff\\x003\\xff\\x00f\\xff\\x00\\x99\\xff\\x00\\xcc\\xff\\x00\\xff\\xff3\\x00\\xff33\\xff3f\\xff3\\x99\\xff3\\xcc\\xff3\\xff\\xfff\\x00\\xfff3\\xffff\\xfff\\x99\\xfff\\xcc\\xfff\\xff\\xff\\x99\\x00\\xff\\x993\\xff\\x99f\\xff\\x99\\x99\\xff\\x99\\xcc\\xff\\x99\\xff\\xff\\xcc\\x00\\xff\\xcc3\\xff\\xccf\\xff\\xcc\\x99\\xff\\xcc\\xcc\\xff\\xcc\\xff\\xff\\xff\\x00\\xff\\xff3\\xff\\xfff\\xff\\xff\\x99\\xff\\xff\\xcc\\xff\\xff\\xff!\\xf9\\x04\\x01\\x00\\x00\\x10\\x00,\\x00\\x00\\x00\\x00P\\x001\\x00\\x00\\x08\\xff\\x00\\xff\\t\\x1cH\\xb0\\xa0\\xc1\\x83\\x08\\x13*\\\\\\xc8\\xb0\\xa1\\xc3\\x87\\x10#J\\x9cH\\xb1\\xa2\\xc5\\x8b\\x183j\\xdc\\xc8\\xb1\\xa3\\xc7\\x8f C\\x8a\\x1cI\\xb2\\xa4\\xc9\\x93(S\\xaa\\\\\\x99\\x11\\x05\\x8a\\x81.\\x17\\xc6d\\xf9\\xd0\\xe5\\xcb\\x7f3\\x13\\xe6\\xa4\\xc9\\xd0\\xa6\\xc0\\x996o\\xc2|\\x19\\xd3g\\xce\\xa0Cq\\xdeD\\xca\\x11i\\xd1\\xa5B\\x95*%\\xfa\\x14g\\xd2\\xa7T\\x7fF\\xc5XT*\\xd0\\xa8U\\xa5\\x8a\\x9d\\x9a\\xd5+\\xd4\\xa6T\\xc3\\xeeT{\\xd6\\xacX\\xac>7~-\\xbb\\x96\\xee\\xd9\\xafo\\xcbz\\x9c\\x9b\\x97 [\\xad}\\xb1\\xf6\\x95+t\\xee\\xd6\\xbfy\\xe3\\xb2\\xdd\\xc9Sb\\xe1\\xad\\x8d/2\\x8dL\\xb9\\xb2\\xe5\\xcb\\x981\\xc7u\\x18\\xd6 c\\xc6\"7C\\x04\\r\\xd8/d\\x90U\\x8f\\xa6\\xbd\\x0b\\x15/^\\xb2\\xa8\\xb3\\xaa~\\xec\\x96\\xb6Q\\xd9m;\\xfe\\x9d\\x8d{\\xe8n\\xbb\\x1f\\x7f\\x03N\\xcd:\\xf0j\\xd2\\x92\\x83\\x127\\xee\\xb6\\xf9\\xf2\\x90\\xaa\\xb5\\xb6]\\xee\\x9azn\\xc2I\\xa7\\xfa~\\xae\\xdcy\\xeb\\xd3\\x99\\xc3\\x8b\\x12\\x1fO\\xbe\\xbc\\xf9\\xf3\\xe8\\xd3\\xab_\\xcf\\xbe\\xbd\\xfb\\xf7\\xef\\x03\\x02\\x00;'", - "b'GIF89aP\\x002\\x00\\xf7\\x00\\x00z\\xa3\\x1d\\xce\\xa9E\\xf9\\xf6\\xee\\xba\\xba\\xba\\xc5\\xa2,\\x7f\\x7f\\x7f\\xb3\\xb3\\xb3\\x86r\\xf4\\n\\xb6\\xe8X\\xa4f\\x97\\xa6u\\xca6\\xea[\\xaar\\xaf\\x1e\\xde\\x99\\x18\\xefW\\xa2b\\x8f\\x96U\\x8a\\xb6\\xe9Z\\xa8n\\xa7\\xc6\\xb5\\xba\\xb9g\\xe7\\xc5y\\x1d\\x8b\\xee+\\xd9t`\\xcb\\xaa\\x0bkn\\x9d\\xf0.\\xec\\xcfz\\x1f\\x8f\\xf6;\\xf9\\xb4\\xe0\\xcb\\xab\\r\\xf3\\xfe\\xb7\\xaf\\x00\\x03\\x0f\\xd0\\xa1\\x170\\xd4H\\xb1C\\xc6\\x14\\x91\\x8dH@\\xa1{\\xf7\\t\\xe0\\xc3\\xa7\\xff\\xaa!\\x06p\\xe5\\xd4\\x843\\xf3>\\x94 \\x85\\xbf\\xf7\\xf0\\xe3\\xfbc\\xf0\\xe8w-\\x11u\\xe4\\xeb\\xd7\\xef\\x00\\x82q\\xdc\\xe9\\xb1vX\\x17\\x1e\\xbcWF\\x1cx\\xa8r\\xc6\\x82g\\xc0\\xd1\\xc7\\x18r\\xbcW\\xc7\\x02\\x105\\x81\\xc1{[\\x90\\x01F\\x1b\\x18\\x92\\x91 \\x83\\r>\\x18\\xa1?2Hp\\xde`\\x98\\tHW\\x01\\xef\\xb51\\x86\"f\\xf8\\x01\\x8a \\x82d\\x90A\\x03\\x9dd1\\xc7\\x1b`l1\\xdf\\x02\\xeem\\x01\\x06\\x1f\\xe8\\xf8X\\xc6\\x18g\\x98q\\t\\t\\x99dbF\\x1a\\xd6\\xe4\\xa3#\\x8f>:\\xf0\\xcaq\\xb9\\xa9\\x97U\\x11\\x0c\\xf8\\xb3\\xc5\\x1ah\\xf8\\xf1\\xc7 \\x051t\\x8a\\x02\\x16\\xd0\\xf1\\xc6\\x88\\xfe\\xc4\\x01@\\x16\\x81x\\xb9\\x86\"\\x88\\xa4\\xc3BG\\xfa\\xc4\\x00C\\x16z\\x80QI \\xf4\\x98\\xf1F\\x1c\\xfe\\xa4\\xb0\\x00\\x80)*\\xc7S\\x117\\xf8\\xd3F$Y\\xfc\\x91\\xc8A\\x89\\xb5PB5^BB\\x07*\\xa5\\xf8S\\x06 Ypp\\r_fAsK\\x1a}\\xf8x\\x00\\x08h\\xe0\\xb1E\\n\\x1f\\xa0\\xff\\x97\\xe8n\\x08\\x15\\xd8\\x06\\x1f%\\x10\\xc2\\xd9],n\\x01\\x88\\x1b\\xectyk\\t\\xf7\\x08G[\\x13\\xc3d\\xf1\\x06\\x87\\xab\\xbc`F\\xaa)\\xb4\\x82br\\xb4\\x1at\\xe1\\xad\\xb8\\x90\\xb9\\xebO\\x86x\\xf9\\xab9\\x06\\xe2j\\xc3^\\x90\\x91\\xe6\\x040n\\xbc\\xf1\\xaa\\x01.^zS\\x82+\\xae\\xfd\\xd4\\x88{c\\xb8\\x81\\x8a,\\xef\\x01R\\x82\\r\\xa1\\x91j\\xae\\x14\\xc0\\xe4\\xd1\\x87?;\\x84\\xe1\\x02\\x1dk\\xf8SA\\xbcZ\\xee\\x94\\xdf\\x1anh\\xcb\\xd3V\\x17\\xcaAG\\x06\\x02t\\nF\\x16(\\xc8f0qU\\xa83\\x07\\x18\\xfeH F\\x00g\\xd8\\xe1\\xcf\\x0cY\\xaaxP\\x0f\\x9e\\xa6!HV?\\xcd\\xf2^9\\x8c\\xf0s\\x87\\xa7h\\x14\\x93\\x80\\xc9\\xe5\\xa2\\xdc\\x0b\\x01\\xacl!\\x83\\x18\\xca\\x98\\xb0\\x87?\\xd2\\xd4\\xac\\xa8A\\x8dfS\\xc2\\xa4\\x881t!\\x19Y\\xac\\xc0O\\x81\\xfdR\\xe3O\\x18\\x05\\']\\x1b\\x16\\x1a\\x98\\xc1\\xf2*_p\\x83\\x06\\x19\\xfe\\xfc\\x10\\xe0\\xd5\\x04\\x1d\\xe2%\\x1a;\\xf3\\xff\\xccP~\\x92\\x04\\xad\\xc6{\\xf1\\xb8\\x81\\x87?#\\xa4=\\xdc\\xda\\\\<\\xf0\\x86?\\x9a|q\\x0c\"l\\xf8\\x83\\xc0\\xdd\\xd5\\xfe\\xc3\"\\x19n\\xe0\\xeb\\xb7BSx:G\\x0b\\xfc@\\xe0\\x8f\\x1cy\\xe0\\xa0\\x87?7(~\\xec_\\\\\\xe8\\x82F\\x84VD\\xd1\\x0e\\x1cN\\xdf1\\xebN\\x05B\\xe2H]\\x0cm\\x9e\\x85\\x00\\xfct\\xb9\\x86\\x05\\n\\xa0!\\xb3\\xeb\\x91\\x95v\\x129y\\xb0\\xdcC\\x14\\x17\\xa4A\\xb7\\x01\\xbb#\\xe4\\x1e&\\x11\\x00\\xbf\\x90\\xf1\\x9d8\\xd4\\xa8(\\r\\xfc\\xe2\\xb6?\\x03\\x90\\xbb\\xb8\\xf3(\\x99P\\xf9\\tQ\\x18\\x13\\xbd?\\x10d\\x7f\\xd0{h\\x10\\xe3\\xbdB\\x05\\x8e\\x124?\\xef\\x01@(\\xa8\\x90\\x85\\x88\\xa5\\xcfX\\xcd\\x83]\\x17\\x0205\\x15\\xb8$\\x0b\\xef\\xb3_A\\xba\\xf0\\x9e4\\xe8\\x8a.\\x0c)\\x10)2\\xe0\\x10\\xfc)\\x80\\x80\\x95\\x13\\x81\\xfa^W\\x9c\\x00P\\xc2\\x1f\\x0ep\\t\\x01*\\x97\\x00\\t\\x12\\x84^\\xfe\\xb0\\xe0\\xfe\\xfa\\xa1A\\x0e\\x020\\x869\\x00\\xa1?D\\x88\\xc0\\x83\\x99\\xc6\\x84(tI\\x00\\xffX\\xe8\\xc2\\x81\\x14\\xa1\\x82\\x93\\x98a\\x81\\xc8\\xd7A\\x7f\\x9ca\\x80Y8\\x1c\\x0fg\\x93\\xc0\\x12\\x9e0\\x85Sp\\x03\\x11\\xa9\\xb5\\x93\\xf7\\x9c\\xa1o\\x9f\\xa3\\xa1?\\xf0\\xf0\\xbf\\xf7p/\\x19\\xf3; \\x15}\\xa8\\x96\\x07T\\xce\\x81S\\xc8\\xc2\\x18\\xfcq\\x82\"\\x0e\\xc4=\\xa3\\xa0\\xc1\\x0c\\x13\\xe0\\x0f0\\xf8A|\\xfe\\x80\\x04*r`=\\xf4\\x8d\\xb0\\x8aMaF\\x14\\xe9\\x18\\x05^\\xd0\\x81e\\xf5\\xe3b\\xad\\xfc\\xb1\\x06?\\xcc\\xd0tv0\\x83)\\xf8\\xc1\\xc78\\xb8\\x81\\x03g(\\x83?\\x98\\xc7F.h \\r\\x84\\x9a\\xde;\\x14!3\\xecI\\xf2 \\xa6k\\x03\\x1d\\x92\\x18\\xc6\\xd0\\xf9\\x03\\x00\\r\\xe0\\xc7#\\x1c5\\x87fL\\x8d\\x02\\xa4D\\xd9I^\\x00\\x07Q\\xb6\\x84\\x00\\x8f\\xd3\\x01\\xe6vBA\\x7fD\\x02\\x14\\x18\\xfc\\x9b?\\xc6\\xe0\\x07\\x01,\\xe1=\\x92@\\x04\\xcb\\x12wH6:\\x03\\x82\\x90\\xfb\\xc2\\x05\\xcc\\x10\\xb1\\xcb\\xd9q \\x05\"\\x83\\x19.\\x98\\xaf\\x85\\xb0\\xa8\\x0ch\\x88@\\xf1\\xfc\\xa1\\xce89!\\x98k\\xdb\\xc6\\x19\"\\x04\\xff7y\\xe8A\\x94v;\\xe7?p\\xe6L\\x0bpmc\\x0c\\xd9\\xd74\\xdd`\\x8a\\xa1\\xf9\\x03\\x10\\x96\\xf0\\x05\\xd2\\xd6\\xc7\\x14\\x14\\x80\\xf3i\\xcfHC\\xc4\\xbaa\\xb5\\xcc\\xa1\\xd3\\x1fv@\\x83\\x1e\\xdb\\xe9N/\\xf1\\x01y\\xd3p\\x94\"P1Q\\x12F\\x03\\x04\\x8b\\xe0\\x90\\x04\\xd6\\xe1\\x86M\\xf8h\\x01\\x1d\\xed\\x89\\xde(i\\x86?\\x90T!\\x8d\\xc8\\x8f\\x1c\\xd0\\x90\\tI\\xbc\\'\\x0eih\\x00>G\\x12\\x0c|\\xc0\\x81n\\x0eX\\x06Le6\\xb1\\x9c\\xf6\\x84E\\xd3\\xec\\xe9A{\\xf3\\x13[\\x92\\x01\\r\\xf3\\x80\\xc7{\\xc6@\\x07\\x0e\\x8c\\xa3\\x87g\\xd1\\x06\\x08\\xe00\\xc7\\x14\\x9c\\xc3\\x04O\\xf5\\x87\\x0e\\xa6%/\\xac\\xf0q\\x9asp\\x04;\\xcb\\xb4\\x95D\\x1c\\xe0=d\\x80\\x83%\\xe24M4X\\x80\\x16k\\x0cI..\\x01\\x87\\x88U\\xa2\\x1eYX\\x04\\xddR \\x04\\xbaV\\xac\\'w\\x8d\\x03\\x1c\"\\xa5\\xb1\\x81\\xfcD\\x00\\x19(\\x01\\x1aX\\x06\\xd27\\x98\\x81\\xb0d`E\\x16H\\xc0\\x82r\\xc5\\x00\\x07ix\\x03\\x19*\\x11\\x0bK\\xff\\xcca\\x0f\\x1c\\x82\\x95\\xac^iW\\x03\\xb1\\xe1\\x0cypD\\x04&A\\xa6~\\x9cb\\x05\\n\\xa0\\x81\\x1b\\xd0\\xc0\\xa3\\xf8|I\\x0f\\xdf0\\x10\\x92\\xcc\\x80\\x03w\\xd8#\\x1d\\x97\\xa0\\x03\\x1c0\\x01\\x0ba b\\x0e\\x8b\\xe8\\x11\\xc3\\x0e\\xb5\\xdb\\xba\\xd2\\xa5\\x07\\xeeq\\xd4\\x18\\xdep\\x864\\x98!\\x0bY\\xc8C\\x1a\\xd0\\xa0\\x87=\\xc4\\xc1G\\xfe\\xc0\\xc0\\x1d\\xf2\\xe3)0\\xac\\x01\\xbfG\\xdaD{\\xdf\\x0b\\xdf\\xf9\\xd6W\\xbc\\xf3\\xd1\\x02\\x96\\x96y\\x98\"\\xdc\\xf5=v\\x88\\x03\\x18\\xc6\\xc0\\x865\\x80A\\x0e\\xa2|\\x8f\\x07\\xee \\x94\\x02\\xa4\\xd7S\\xf2i\\x83\\x84)la2d\\x18\\x85\\xd88\\x11\\xc5lV\\x97.`\\x80\\xbf\\xfb)T\\x02\\x88\\xf0\\x9b]p\\xa2Q1\\x8e1\\x02>\\xf0\\x9f\\xf2^\\xb65\\x87\\xe8A\\x01\\xa2\\xe3\\x01\\x0c\\x14\\x80\\x08\\\\\\xf9\\rX\\xc2\\xe0\\t\\x110\\xc0;*\\x10Gx&\\x10\\x8eT\\x18\\xc26*\\xb6\\xear\\xb8\\xca\\x10\\xcf4f\\xa9\\n\\xbc\\x8d\\x8fY\\xbce\\xbb\\xfc\\xc4\\xcb\\xa0\\xe9\\xa60)\\x83\\x1a\\xcb\\x92yY\\xcb\\xaf\\xb9Nl\\xc0\\\\\\x1c1\\xbb\\x19op\\xf6\\x8d\\x9c\\x81\\xd3RD\\x9a\\xa7\\xcd+\\xee\\xc1\\x10\\xf6A\\xe8B\\x1b\\xfa\\xd0\\x88N4\\xa2\\x89\\xc0\\xe8F\\xdf\\xe1\\x0e\\x85\\x88t\\xa4\\x07@i\\x1fX\\x1a\\x1c!\\xc8\\xb4-\\x0c\\xc0\\xe9O|\\xc2\\x10\\x0b\\xf0\\xc4\\x0f>\\xd0\\x8a l`\\x03\\x8f\\xe0D\\x07:0\\x83\\x1a@ \\x00;'", - "b'GIF89aP\\x001\\x00\\xf7\\x00\\x00\\xe3\\xe3\\xfc\\xb8\\xbb\\xc8\\xac\\xad\\xb0UUZo\\x83\\x8f\\xf9\\xfa\\xfd\\xf4\\xf6\\xfe\\xed\\xed\\xfe*FS\\xe2\\xe5\\xea\\x9a\\xa6\\xb3Ml\\x86\\x99\\x9b\\x9e\\xcb\\xd0\\xd5\\xdc\\xe2\\xeb\\xbb\\xbd\\xbe\\x87\\x8b\\x93\\\\fs\\xd1\\xd1\\xd3\\xf9\\xfa\\xfa\\xc5\\xc9\\xe3\\xe9\\xe9\\xfd\\xdc\\xdc\\xe9gku\\xdc\\xde\\xe2\\xaa\\xab\\xad;\\x84\\x87\\x8b\\xb2\\xae\\xae\\xc7\\xcb\\xd5\\xea\\xeb\\xfaegl\\xfa\\xff\\xff-/5\\xf3\\xf4\\xf6_}\\x8ey\\x9e\\xb3\\xc0\\xbf\\xcb\\xf2\\xf3\\xfboz\\x8b\\xfd\\xfd\\xfa\\xf3\\xf8\\xfaAFh\\x91\\x9f\\xaf@[\\x90\\xef\\xf0\\xfb\\xe4\\xe3\\xe6\\xe3\\xe4\\xf2\\xf2\\xfa\\xfd\\xb5\\xb7\\xb6\\xec\\xea\\xeb_^c\\xf4\\xf3\\xfe\\xed\\xee\\xf7\\xeb\\xec\\xf1\\xb7\\xb8\\xbawz\\x7f\\xd7\\xd9\\xe8\\xe5\\xe7\\xe8\\x8d\\x8e\\x91\\xf0\\xf2\\xfd\\xe8\\xe9\\xe786?C\\xa7\\xa7\\xaa\\xfd\\xfe\\xfe\\xfe\\xff\\xff\\xfd\\xfe\\xff\\xfb\\xfe\\xfd\\xfd\\xff\\xfe\\xfc\\xff\\xff\\xfc\\xfe\\xff\\xfc\\xff\\xfehgg\\xfe\\xff\\xfc\\xe2\\xe4\\xf6\\x9e\\x9c\\xa8\\xf1\\xf1\\xfe~\\x7f\\x83\\x9c\\x9a\\x98yu\\x82\\x9a\\x97\\x97nw\\x80\\xaa\\xa6\\xa7\\xc7\\xc8\\xc7\\xf8\\xfe\\xff\\xf9\\xfb\\xfe\\xfa\\xfd\\xfd\\xec\\xeb\\xf3\\xea\\xec\\xf7\\xd1\\xd7\\xe0\\xeb\\xeb\\xf3\\x8f\\x90\\x8e|\\x8a\\x9ea\\x7f\\xb7k\\x85\\x9f\\xe6\\xe6\\xf9\\x9d\\x9f\\x9a\\xf9\\xf8\\xf3\\xde\\xde\\xe0\\xf1\\xf3\\xf2rps\\x1f \\'W_xM`}\\xa7\\xa8\\xa6\\x8a\\x84\\x86\\xf7\\xf7\\xf6uro\\xe9\\xe6\\xe6fx\\x9c\\xef\\xef\\xf0[j\\x95\\xf3\\xf3\\xf5\\x1aDm\\x1d?Upmp\\x8a\\x98\\xa7\\x84\\x8a\\xa9\\xc5\\xc4\\xc6\\x9f\\x9f\\xa2\\xfc\\xfd\\xfb|{\\x89\\xee\\xee\\xea\\xfd\\xfd\\xfexyx\\xa1\\xa0\\xa0\\xfb\\xfb\\xff..3nx\\xa5\\x96\\x97\\xa6\\xe1\\xd7\\xd5\\x84\\x97\\xc0\\xc1\\xc1\\xd7uz\\x98\\xd7\\xd7\\xef\\xd6\\xd6\\xf8\\xd1\\xca\\xc6\\xff\\xff\\xff\\xfc\\xfe\\xfe!\\xf9\\x04\\x00\\x00\\x00\\x00\\x00,\\x00\\x00\\x00\\x00P\\x001\\x00\\x00\\x08\\xff\\x00\\xff\\t\\x1cHp`-\\x7f\\x08\\x13\"\\xace\\x0ba\\x9aq\\xfer\\x15\\x9cH\\xb1\\xa2\\xc5\\x8b\\x18)\\x1eT\\xa8p\\xdc\"y\\xbdbx\\x08b+\\xa3\\xc9\\x93(+n\\xe4\\xd8\\xf0\\x8f(\\x10+\\x0c\\xb9\\x91\\xe0/\\xa5\\xcd\\x9b\\x18W*\\xb4\\x05\\xef\\x08\\x1ftZ\\\\I\\xa9\\x99\\xb2V\\xad\\x7f\\xb8\\xfe\\x1d5\\xca\\xb4\\xa9Q\\x9c\\x16urD\\x18\\xca\\xd8\\x92\\t%S6\\x9c\\xca5!T\\x95]\\x116<\\x13\\x81\\x9d?^\\'\\x19\"\\xfc\\x84\\x02\\xc5\\xa7OW0aRA\\x92\\xe3W\\x8da\\x13\\xb2\\x12\\x05\\xc5\\x96D\\x93\\x1b\\x85l\\t#\\xc9E\\x8f\\xc3=\\\\\\xb8p`\\xf7\\xeeD\\xa7N\\xfdM\\xc0!j\\x07\\xd1\\x93\\xb6\\x96\\x11\\xc1\\xe2\\xef\\xdb\\x872\\xe7\\xce\\x81\\x99\\xc4(Hc\\xc7\\'\\xfduH\\x04\\xe5\\x96.\\x9bR\\x15\\xb8X0\\t\\x13W\\xd4\\'s\\xf9\\x13S\\xc4H\\xc2\\xbf\\x19k\\x8d\\x18\\xd8\\x90\\xcf\\x8fPaqc\\\\\\xb6\\xcc\\xd6\\xae\\x05`\\x12\\x11\\xe2\\xd0\\xe17\\xae\\xa4*\\x8f\\n\\xf4\\xe7\\x07\\xc8\\x87\\x85J\\x13\\xda\\xff\\xca\\xaa\\xbc\"\\xaee\\xfe\\xd6\\xb8\\xe0\\xb6M[\\x88/\\x03X\\xac\\x11\\xaf\\xfd\\xf1\\xf6\\x07\\x1ep\\\\\\xf3\\x97ue\\xfd\\xf2\\x16\\xf9\\xa3\\x00\\x18\\x88(\\x91E\\x06U|\\x11\\x826+\\x00\\x91\\n}\\x15\\xf9\\xa3I\\x11\\x03L\\x80\\x10\\x806\\xf9\\xa3Bau|!\\x0cB\\x9d\\x98\\xa1\\xc5{\\x90\\x18r\\x06\\x13\\xe2\\x19t\\xd0\\x04\\xd0}w!\\x86\\xb9a!\\x80\\x16\\xc6\\xf8cF\\x08P(\\xb4A\\x08\\xef\\x85\\x00B\\x12\\x1e@4\\x953\\xe6,\\xe0\\x87W0f\\xc4\\x8b?\\x10Hb\\x88o\\xfe\\xdc\\x10B\\x0c\\n]0\\xa5\\x12-\\xf0\\x08\\xc9\\x05\\xa6\\x94\\x93P\\x10\\x04\\x9c\\xa3\\xc0eIb\\xd4P8\\xc6 `\\xc4\\x03\\xfc\\xf9\\xc3A\\x08J$\\xe4\\xcc\\x17\\x1a\\xf8s\\x85)\\x86\\xb8\\xf7\\xc5\\x1eq\\x98\\xe0\\xcf\\x0eE\\x14q\\x02\\x99e\\xfe\\xb3\\x15G\\x91L K\\x0f\\x04\\xbc\\x88\\x10\\x03!\\xa8\\x92\\x90%!\\x00\\x91\\x90\\x1d@\\x0c\\xa0\\xe0\\x17e$\\x92\\xc7\\x0c\\x0f\\x16t\\xe8T\\xc0\\xa5\\x84\\xd02|\\x94\\x90\\x01\\x03f|\\xf0\\xc0\\r?0\\xff\\x80@\\x03\\x97\\x91\\x81\\x10\\x0e!\\x98\\x81\\xd0\\x9c{\\x14\\x10QB\\xd7\\xdc\\xa0\\x85{+\\x98R+B\\xf0\\xa4R\\xc2\\x19\\xac\\xb2p\\x82\\x04\\x9c\\xf9\\xf3\\x1fF\\x08I\\xc1\\x80!Z\\xec\\x01\\x826\\xdc\\x82 J6\\x10\\xb8\\xa0[A\\x08\\t\\x13\\x02\\x07\\x08E\\x13\\x82Y\\x03\\xe9\\x86\\x90\\x19_\\x9c\\x12\\xaa\\xa1\\xfe`\\xe1\\xc1\\x0c\"\\xe4\\xd1\\xca\\x1e\\xf4\\xb4\\xe0C\\x1e\\x03\\xfc H\\x16\\xd2f\\xe4O\\x17\\xaa\\xb8\\xe1C\\x0b{h\\xe0\\x86\\x08n\\x102\\x8b\\x088\\x84\\xe1\\xc2\\x0f5\\x90i\\xab?N\\xe4\\xeaO\\x1bE\\xb4p\\x05\\xa1\\xfe\\xc8\\x01\\xc9\\r\\x05l5\\xc1\\t+\\xec\\xd1\\x02=\\x89\\x94\\xf1\\xb0\\x08Z$\\x02\\t$edcY\\xa9\\x05\\xe9V\\xc2\\x00\\xff\\xbaaH\\x0c\\xad\\x02q\\xcc\\x1f\\xe0\\xc0R\\x8c<+hS\\x86\\x9f\\x7f\\xb9[r\\x08,\\xf8\\x93N\\x08\\x0c\\\\\\x86^\\x13\\xdaTaL\\x00\\xa80\\x92\\x06\\x14y\\xd0\\xd3\\xca\\n\\xc2tc\\x02%\\xeb\\x04`\\x8a\\x18qT\\xa1\\x81\\x0fZ\\xdc`!E\\xba\\t\\xe0F\\x1en\\xc4\\xff\\xc1\\xc0\\x03:4\\x11\\xc4(\\xfe\\xa4\\x10\\xc7\\x00\\x7f\\x0c\\xe3\\xca, \\xf8\\xf0\\x9dD\\x87\\x8e J\\x08g$\\x93\\x08\\x08\\x91\\\\\\xe6\\x8f\\x07_l2\\x88\\x13\\xd0\\x90\\xa5\\x01\\x08\\x030 \\xc1\\x18\\x9c\\xf8\\x03\\x03\\x08\\x93y\\xcf\\xfe\\x00\\xa1E\\x1e+\\xac\\xd9\\x01\\x19l 1\\xc1*\\xfeX\\xe0\\x817\\xe8\\xfc\\xf1\\xc0\\x0fU\\xec\\x01\\xc9w\\xed\"t\\xc4\\x00!\\xc8\\xb2\\xc4\\xb9\\x9a\\xaf\\x00\\x89\\x11\\xf5L\\xa3A\\x19\\xf4\\xc8\\xcd\\x02\\x150\\x14P\\x81-h,S\\x81\\xfa\\xfe\\x18\\x80\\x8a)\\xc2h\\xa0A\\x1c#\\x13\\xe4O\\te\\xe4a\\x08\\x10\\x8c\\xcc\\xf3M*\\x06\\xe0\\xc1\\x04\\xd8\\x90\\x0b@\\xb0B\\x1f\\x99\\xd8A\\x14R`\\x86\\x15\\xf8\\xa0\\x15~\"\\x83@\\xdcu\\x05\\x11\\x84@\\x01\\x99\\x00A\\x13\\xfc\\x81\\x9eRhc\\x00%X\\x02\"\\x16\\x90\\x08\\x1f\\xc0\\xc2\\x12\\xd1p\\xc6\\x01`\\xf0\\x86\\x7f\\xa0!\\n\\x15\\xa0A\\xfa*\\xe0\\x8fRP\\xe2\\x06\\xb3\\xc8\\x83\\xa4^\\xf3\\x0f\\x7fXa\\x00\\x1a0D\\x06\\xff0\\xe0\\x8f\\n\\x14\\xa0\\x0b]\\xa8\\xc0\\x15`\\xb0\\x0c6XA\\x0f\\x9a\\xe8\\x03 \\xfc\\x11\\x8b\\x06\\xd2C\\x04V\\xb8\\xccV\\xca\\xa1\\x85/d\"\\x047\\xf0\\x07.r\\xf7\\x05\\'\\xb0\\x82\\x06\\xdcxA\\x0f\\xca@\\x88$\\xd4\\xc1\\x01\\xf0\\x00\\x005\\n\\xf0\\xc2\\n \\x01\\x061\\xa4\\x01\\x1b&`\\x03E\\xc8\\xcfO\\xdb\\xc1\\xc1\\xc4hA\\x024\\x14\\xc0|Y`\\xc5/\\xa8p\\x00e\\x8c\"\\x00/\\xa0\\xc0(j\\x91\\x8by\\xc8\\xc0\\x0c\"\\xa0\\x07\\x0e\\xb4\\x98\\x90\\'\\xe4AA\\xda\\x10R\\xf3t\\x85\\x0cBx\\x0e\\x03fH\\xc4\\x0f\\x1a\\xd0\\x06\\x03\\xf0\\xc3\\x00\\x8dX\\x06\\x1a`0\\x05$\\x18\\xe0\\x00\\xed\\x00\\x84\\'L \\x87=\\x88\\x02+\\xe9\\x19\\xc0,\\x14\\xe1\\xa7 \\x00\\x80\\x062<\\x02*\\x1aa\\xc8`\\x88\\xe3\\x05c\\x88H!`0\\x02J\\xfc \\x11Z\\x18\\nq\\x12b\\x85V\\xf0\\x08\\x02\\xfeP\\x836\\x08\\xc1\\x82 \\xcc@\\x03\\xdc\\x90\\x06\\x11\\xfc\\xc1\\x88*\\xb8A\\x01m\\xa8@#\\x0e\\x10\\x054\\x00\\xa0\\x11\\x06\\x80A-\\x0ep\\xff\\x00\\xd5|@\\x0b\\xf4`\\x93?X\\xa0\\x85\\x01\\x08\\xc0\\x02h\\xa0\\xc1\\x11\\xa8a\\x80J\\xb0\\x01\\x0b\\x168\\xc0<(\\xb0\\t\\x05\\\\\\xe2\\x1fl\\x80\\x01\\'`0\\x8e\\x0c\\x0c\\x80\\x1e\\xec\\x12\\xc8\\xa8\\xa4\\x90%m\\x14\\x80\\x05\\xda\\x10\\x816 \\xa1\\x8d/\\xcc\\x02\\x11\\xe4X\\'\\rXP\\x86\\x19\\xac\\x01\\x00h\\xb0\\x05\\x00\\xa6@\\x05N\\xe4\\xe2\\x00\\x04\\xb4C(J\\x80\\x0e\\x10\\xc4A2r\\x98E\\x0cJ\\xe0\\x0f\\x1aT \\xa1\\x8d(\\x04\\'\\x0c\\xd0\\x01<\\xf8\\x03\\x1f\\x9b\\xa0\\x15?\\x0f`\\x00[d\\x81\\x121\\xd8\\x83#r\\x01\\x9c\\\\\\xa8E5 \\x00\\xa3!|\\x80\\x03\\t\\x18\\x02\\x04\\x89\\x18\\xdd\\x17\\xb4\\xa1\\x85\\x0b\\xd8\\x83\\x03\\x00[\\x82\\x0cR1\\x85)\\x14\\xe2\\xa7\\x80P\\x01+\\xb0\\xe1\\x8fk0\\xc0\\x84VH\\xc3\\x00\\xdc\\xc0\\x80\\x14\\xdcb\\x1e\\xf00@\\x05rP\\x016\\x00\"\\x01:@\\x854\\x06\\xd1\\x016\\xa0!\\x18\\xf9\\xbcC R\\xc0\\x00-\\x10\"c\\x13\\xb9\\x05BHP\\x85\\x0b8!\\x06bH\\x80\"\\x08a\\x08A\\xffH\\xc0\\x03\\xaa\\x90C\\x19Z\\xb0\\xad/TA\\tg\\xa0@#\\xfcq\\x80F\\xd4`\\x0cT\\x00\\x04\\x0c\\xca\\xe0\\x0f\\xeb\\xc0\\x02eS\\x1d\\xba\\xe0\\x0f\\xf1 V\\x02 \\x01o\\xd0\\x04\\xb6\\xa0\\x06XP\\x03\\x9c\\x00\\x08o\\x80\\x04\\x8d`\\x05j\\xe0\\x07O0\\x04Q\\xe0\\x0f:\\xb0\\x013\\x00\\x02\\x8a\\xe0n\\xf6\\xd3\\x00\\x1b\\xe0\\x07\\xba\\xd0\\x10\\rQ\\x02\\x13\\xc3\\x0e\\xce\\xf0\\x0b\\x18\\xf0\\x0b}\\xf0\\x08f\\x00\\x02?0\\x01\\xb5\\x10\\x0c\\t\\x80\\x07\\xf0\\x00\\x03\\x85@\\x03\\x07\\x80\\x01\\x1e\\xd04N\\x10\\x11=t\\re0\\x0b?\\x00\\x04\\xf3\\xa1\\x06\\xd8`\\x07\\xd8\\x00\\x03\\xd8\\x95O]\\x80\\x05\\x0fR\\x03\\xd4 \\x05\\x8b\\x80\\x03t\\x83\"\\x15\\x91\\x0bG \\x05N\\xc0\\x02\\xb7@\\x10\\xba\\xe1\\x04- \\x02\\'\\x90\\x000\\x80\\x06*\\x90*7 \\x00X\\xb0\\x0bl\\xf0\\x04\\x9e\\x80\\x06\\xbe r\\x0e\\xb0\\x01x8\\x0b\\xf2\\xff\\xd7C\\x1e\\xb0\\x07e\\x80\\x03\\x19\\xb0\\x03\\x13p\\x05j\\x00\\x0f1\\xc4\\x03P\\x88\\rM\\xf0\\x04O\\xe0\\x0f\\x82p\\x068\\xa0\\x01-\\x00Ho\\x18%\\x1a0\\x00.\\xd7C\\xb1P\\x05> \\n\\xa6\\x90\\x02\\x1ab\\x07M0\\x01X\\x10\\x04\\xcb\\xc0\\tX\\x80\\x05\\x00`\\x00\\xfe\\xd0\\x00\\x1e\\xf0\\x03>\\x10Pd\\xb2\\x0b\\xfe\\x00\\r-\\xa0\\x05\\xc2\\xf0\\x01\\xeb \\x05\\x13\\x90\\x05\\t\\xc5\\x03\\xcaP\\x01\\x13\\x80\"\\xd7\\xf0\\x00\\x1f\\xf0\\x03Z\\x00\\x02\\xf2`\\x85\\xb3\\x17\\x04k0\\x0e\\xb9\\xb0\\x0c\\x041F)\\xa0\\x05p\\x97\\x01$\\xd0\\x01\\xf0\\xc0\\x04\\xcb\\xc0\\x04W0\\x019\\x10\\x04]\\x90\\x05C\\x80\\x0c@\\x10\\x07\\x0bc)<\\xd3\\x10\\xca\\xa8?7@\\x0b%\\xd0\\x01\\xcd@\\x03\\xd4\\x84\\x06\\xed \\x01\\x0f\\x00\\x04\\x1c\\xe0\\x08\\x89\\xb0\\x07\\x8f\\x93\\x11[A\\x11\\xb6\"\\x01n\\x00\\tn \\x0c\\x1e \\x01\\xf7`\\r50\\x01\\x13\\x10\\x08\\xdfp\\x0ft\\xb0\\x08\\x8aP\\x05\\x0c\\x93\\x01\\xe0\\x88;\\x8bP6T\\x86\\x03, \\x00\\x1bp\\x02\\\\0\\x07s\\xbe \\x0f8\\x90T \\xa0\\x05L\\xc537\\xb1\\x0bc\\xa4\\x06r@\\x0f> \\x02N0\\x0cs\\xc0\\x05\\xfd \\x0b@\\xb0\\x08\\x7f\\x10\\x03U\\xc0R\"\\x80\\x0c-\\xf9\\x18\\xe9\\x11\\x0f>\\xd08U\\xe0\\x08q\\x00\\x05N\\x10\\x07\\x86\\xd0<\\xda\\xb0\\x07\\x8a\\xd0\\x05\\x05\\x83\\x1bct\\x04\\x1e\\xa0\\x92\\xfe\\xa2\\x05U\\xb0\\x02+0\\x00\\x84p9\\xda0\\x0bf@X\\x191F\\xd6\\xa7\\x08n\\xc0[ \\xd0\\x02\\x90@\\x0f\\x90\\x00070\\x14\\xfcA\\x1e8q\\x1eGp$\\tq\\x05\\x0f\\x10\\x07e\\x00\\t\\xdb\\xc2-\\xf40\\x0b\\x8e@\\x0b\\xa18-\\x17\\xa12i\\xd0\\r\\xd0\\x00\\r\\x1c\\x10\\x88\\x1dp|\\x899\\x1e\\xa8q\\x1dR\\x93\\x10\\xe5 \\x01\\xab\\xc2\\x00\\x1e@\\x02h\\x99\\x10\\xe68\\x11\\x01\\x01\\x00;'" - ] - }, - { - "Name": "ThumbnailPhotoFileName", - "DataType": "nvarchar", - "Definition": "The ThumbnailPhotoFileName column in the SalesLT.Product entity contains filenames of thumbnail images associated with each product. The filenames typically include a description of the product followed by '_small' and the file extension. This pattern indicates that the files are likely smaller, thumbnail-sized versions of product images, commonly in GIF format. The filenames help in referencing the specific thumbnail image for the corresponding product in the database.", - "AllowedValues": null, - "SampleValues": [ - "superlight_silver_small.gif", - "single_headlight_small.gif", - "water_bottle_cage_small.gif", - "tail_lights_small.gif", - "julianax_r_02_yellow_small.gif" - ] - }, - { - "Name": "rowguid", - "DataType": "uniqueidentifier", - "Definition": "The column rowguid in the SalesLT.Product entity contains unique identifier values (GUIDs) in the standard format of a 32-character hexadecimal string, divided into five groups separated by hyphens. Each value in this column is used to uniquely identify rows within the Product entity. The format typically ensures high uniqueness and is commonly used for synchronization or to generate unique keys across different tables or databases.", - "AllowedValues": null, - "SampleValues": [ - "22DF26F2-60BC-493E-A14A-5500633E9F7E", - "47AB0300-7B55-4D35-A786-80190976B9B5", - "AE638923-2B67-4679-B90E-ABBAB17DCA31", - "AAD81532-A572-49A5-83C3-DFA9E3B4FEA6", - "A3EE6897-52FE-42E4-92EC-7A91E7BB905A" - ] - }, - { - "Name": "ModifiedDate", - "DataType": "datetime", - "Definition": "The ModifiedDate column in the SalesLT.Product entity contains timestamp values indicating the last date and time a product record was modified. The timestamps are in the format YYYY-MM-DD HH:MM:SS.ssssss. This column helps track changes and updates to product information, ensuring that the most recent modifications are recorded and can be referenced for audit or synchronization purposes.", - "AllowedValues": null, - "SampleValues": [ - "2008-03-11 10:03:55.510000", - "2008-03-11 10:01:36.827000" - ] + ] + }, + { + "ForeignEntity": "SalesLT.ProductModel", + "ForeignKeys": [ + { + "Column": "ProductModelID", + "ForeignColumn": "ProductModelID" + } + ] + }, + { + "ForeignEntity": "SalesLT.SalesOrderDetail", + "ForeignKeys": [ + { + "Column": "ProductID", + "ForeignColumn": "ProductID" } - ] -} \ No newline at end of file + ] + } + ], + "Warehouse": null +} diff --git a/text_2_sql/data_dictionary/generated_samples/SalesLT.ProductCategory.json b/text_2_sql/data_dictionary/generated_samples/SalesLT.ProductCategory.json index 64a011f..b441ffe 100644 --- a/text_2_sql/data_dictionary/generated_samples/SalesLT.ProductCategory.json +++ b/text_2_sql/data_dictionary/generated_samples/SalesLT.ProductCategory.json @@ -1,99 +1,99 @@ { - "Entity": "SalesLT.ProductCategory", - "Definition": "The SalesLT.ProductCategory entity contains information about the different categories of products in the sales database. This entity includes details such as the unique identifier for each category, the identifier for parent categories, the name of the category, and metadata like the last modification date. Questions that can be answered using this entity include identifying all product categories, understanding the hierarchical structure of product categories, and tracking when categories were last updated.", - "EntityName": "Product Category Data", - "Database": "AdventureWorksLT", - "Warehouse": null, - "EntityRelationships": [ + "Columns": [ + { + "AllowedValues": null, + "DataType": "int", + "Definition": "The ProductCategoryID column in the SalesLT.ProductCategory entity contains unique identifiers for different product categories. Each value represents a specific category of products within the database. These identifiers are numeric and typically range from single-digit to multi-digit numbers. The values in this column are used to categorize and differentiate products for organization and retrieval purposes.", + "Name": "ProductCategoryID", + "SampleValues": [ + 24, + 36, + 25, + 9, + 10 + ] + }, + { + "AllowedValues": null, + "DataType": "int", + "Definition": "The ParentProductCategoryID column in the SalesLT.ProductCategory entity contains numerical identifiers that represent the parent product category ID for each product category. These values are integers and indicate a hierarchical structure within product categories, where each ID points to another category that serves as its parent in the hierarchy. The column helps to establish and navigate the relationships between broader and more specific product categories.", + "Name": "ParentProductCategoryID", + "SampleValues": [ + 4, + 3, + 2, + 1 + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The Name column in the SalesLT.ProductCategory entity contains the names of various product categories. The values are descriptive terms representing different categories of products sold, such as types of accessories, apparel, and bicycle parts. The names are generally concise, composed of one or two words, and provide a quick reference to the type of product group.", + "Name": "Name", + "SampleValues": [ + "Locks", + "Jerseys", + "Road Frames", + "Components", + "Wheels" + ] + }, + { + "AllowedValues": null, + "DataType": "uniqueidentifier", + "Definition": "The rowguid column in the SalesLT.ProductCategory entity contains unique identifier values (GUIDs) for each product category. The values are in the standard 36-character UUID format, which includes alphanumeric characters separated by hyphens. This column is typically used to ensure each product category entry has a globally unique identifier for database operations and synchronization purposes. The GUID format aids in preventing duplication and maintaining data integrity across systems.", + "Name": "rowguid", + "SampleValues": [ + "43B445C8-B820-424E-A1D5-90D81DA0B46F", + "6D24AC07-7A84-4849-864A-865A14125BC9", + "5515F857-075B-4F9A-87B7-43B4997077B3", + "5DEB3E55-9897-4416-B18A-515E970BC2D1", + "A9E54089-8A1E-4CF5-8646-E3801F685934" + ] + }, + { + "AllowedValues": null, + "DataType": "datetime", + "Definition": "The ModifiedDate column in the SalesLT.ProductCategory entity contains timestamps indicating the last date and time a product category record was modified. The values in this column are in the datetime format 'YYYY-MM-DD HH:MM:SS' and include both date and time components down to the second. This column is useful for tracking changes and updates to product category records over time.", + "Name": "ModifiedDate", + "SampleValues": [ + "2002-06-01 00:00:00" + ] + } + ], + "CompleteEntityRelationshipsGraph": [ + "SalesLT.ProductCategory -> SalesLT.ProductCategory", + "SalesLT.ProductCategory -> SalesLT.Product -> SalesLT.ProductModel -> SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription", + "SalesLT.ProductCategory -> SalesLT.Product -> SalesLT.SalesOrderDetail -> SalesLT.SalesOrderHeader -> SalesLT.Address -> SalesLT.CustomerAddress -> SalesLT.Customer", + "SalesLT.ProductCategory -> SalesLT.Product -> SalesLT.SalesOrderDetail -> SalesLT.SalesOrderHeader -> SalesLT.Customer -> SalesLT.CustomerAddress -> SalesLT.Address" + ], + "Database": "AdventureWorksLT", + "Definition": "The SalesLT.ProductCategory entity contains information about the different categories of products in the sales database. This entity includes details such as the unique identifier for each category, the identifier for parent categories, the name of the category, and metadata like the last modification date. Questions that can be answered using this entity include identifying all product categories, understanding the hierarchical structure of product categories, and tracking when categories were last updated.", + "Entity": "SalesLT.ProductCategory", + "EntityName": "Product Category Data", + "EntityRelationships": [ + { + "ForeignEntity": "SalesLT.Product", + "ForeignKeys": [ { - "ForeignEntity": "SalesLT.Product", - "ForeignKeys": [ - { - "Column": "ProductCategoryID", - "ForeignColumn": "ProductCategoryID" - } - ] - }, - { - "ForeignEntity": "SalesLT.ProductCategory", - "ForeignKeys": [ - { - "Column": "ParentProductCategoryID", - "ForeignColumn": "ProductCategoryID" - }, - { - "Column": "ProductCategoryID", - "ForeignColumn": "ParentProductCategoryID" - } - ] + "Column": "ProductCategoryID", + "ForeignColumn": "ProductCategoryID" } - ], - "CompleteEntityRelationshipsGraph": [ - "SalesLT.ProductCategory -> SalesLT.ProductCategory", - "SalesLT.ProductCategory -> SalesLT.Product -> SalesLT.ProductModel -> SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription", - "SalesLT.ProductCategory -> SalesLT.Product -> SalesLT.SalesOrderDetail -> SalesLT.SalesOrderHeader -> SalesLT.Address -> SalesLT.CustomerAddress -> SalesLT.Customer", - "SalesLT.ProductCategory -> SalesLT.Product -> SalesLT.SalesOrderDetail -> SalesLT.SalesOrderHeader -> SalesLT.Customer -> SalesLT.CustomerAddress -> SalesLT.Address" - ], - "Columns": [ - { - "Name": "ProductCategoryID", - "DataType": "int", - "Definition": "The ProductCategoryID column in the SalesLT.ProductCategory entity contains unique identifiers for different product categories. Each value represents a specific category of products within the database. These identifiers are numeric and typically range from single-digit to multi-digit numbers. The values in this column are used to categorize and differentiate products for organization and retrieval purposes.", - "AllowedValues": null, - "SampleValues": [ - 24, - 36, - 25, - 9, - 10 - ] - }, - { - "Name": "ParentProductCategoryID", - "DataType": "int", - "Definition": "The ParentProductCategoryID column in the SalesLT.ProductCategory entity contains numerical identifiers that represent the parent product category ID for each product category. These values are integers and indicate a hierarchical structure within product categories, where each ID points to another category that serves as its parent in the hierarchy. The column helps to establish and navigate the relationships between broader and more specific product categories.", - "AllowedValues": null, - "SampleValues": [ - 4, - 3, - 2, - 1 - ] - }, - { - "Name": "Name", - "DataType": "nvarchar", - "Definition": "The Name column in the SalesLT.ProductCategory entity contains the names of various product categories. The values are descriptive terms representing different categories of products sold, such as types of accessories, apparel, and bicycle parts. The names are generally concise, composed of one or two words, and provide a quick reference to the type of product group.", - "AllowedValues": null, - "SampleValues": [ - "Locks", - "Jerseys", - "Road Frames", - "Components", - "Wheels" - ] - }, + ] + }, + { + "ForeignEntity": "SalesLT.ProductCategory", + "ForeignKeys": [ { - "Name": "rowguid", - "DataType": "uniqueidentifier", - "Definition": "The rowguid column in the SalesLT.ProductCategory entity contains unique identifier values (GUIDs) for each product category. The values are in the standard 36-character UUID format, which includes alphanumeric characters separated by hyphens. This column is typically used to ensure each product category entry has a globally unique identifier for database operations and synchronization purposes. The GUID format aids in preventing duplication and maintaining data integrity across systems.", - "AllowedValues": null, - "SampleValues": [ - "43B445C8-B820-424E-A1D5-90D81DA0B46F", - "6D24AC07-7A84-4849-864A-865A14125BC9", - "5515F857-075B-4F9A-87B7-43B4997077B3", - "5DEB3E55-9897-4416-B18A-515E970BC2D1", - "A9E54089-8A1E-4CF5-8646-E3801F685934" - ] + "Column": "ParentProductCategoryID", + "ForeignColumn": "ProductCategoryID" }, { - "Name": "ModifiedDate", - "DataType": "datetime", - "Definition": "The ModifiedDate column in the SalesLT.ProductCategory entity contains timestamps indicating the last date and time a product category record was modified. The values in this column are in the datetime format 'YYYY-MM-DD HH:MM:SS' and include both date and time components down to the second. This column is useful for tracking changes and updates to product category records over time.", - "AllowedValues": null, - "SampleValues": [ - "2002-06-01 00:00:00" - ] + "Column": "ProductCategoryID", + "ForeignColumn": "ParentProductCategoryID" } - ] -} \ No newline at end of file + ] + } + ], + "Warehouse": null +} diff --git a/text_2_sql/data_dictionary/generated_samples/SalesLT.ProductDescription.json b/text_2_sql/data_dictionary/generated_samples/SalesLT.ProductDescription.json index b5c36eb..7121a96 100644 --- a/text_2_sql/data_dictionary/generated_samples/SalesLT.ProductDescription.json +++ b/text_2_sql/data_dictionary/generated_samples/SalesLT.ProductDescription.json @@ -1,74 +1,74 @@ { - "Entity": "SalesLT.ProductDescription", - "Definition": "The SalesLT.ProductDescription entity contains details about product descriptions used in a sales database. It uniquely identifies each product description with a ProductDescriptionID, stores the actual description text, and includes metadata such as a unique rowguid and the date the record was last modified. This entity can be used to answer questions related to the specific descriptions of products, track historical changes to product descriptions, or generate reports that include detailed product information for sales and marketing purposes.", - "EntityName": "Product Descriptions", - "Database": "AdventureWorksLT", - "Warehouse": null, - "EntityRelationships": [ + "Columns": [ + { + "AllowedValues": null, + "DataType": "int", + "Definition": "The ProductDescriptionID column in the SalesLT.ProductDescription entity contains unique numeric identifiers for each product description. Each value in this column is an integer that serves as a primary key to distinguish one product description from another. The values do not follow a specific format other than being positive integers and are used to reference specific product descriptions within the database.", + "Name": "ProductDescriptionID", + "SampleValues": [ + 1569, + 1832, + 1763, + 1707, + 2003 + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The Description column in the SalesLT.ProductDescription entity contains detailed product descriptions in various languages. These descriptions provide specific information about the product\u2019s features and benefits, such as durability, functionality, and design. The descriptions appear to cater to a global market, offering text in languages like Chinese, Arabic, Thai, English, and French. This diversity indicates that the column is used to store localized product descriptions for different regions or customer bases.", + "Name": "Description", + "SampleValues": [ + "\u94a2\u4e1d\u6491\u8f6e\u5708\u5916\u80ce\u7684\u4ef7\u683c\u4fbf\u5b9c\uff0c\u8f6e\u80ce\u9762\u5374\u4e0e\u4ef7\u683c\u66f4\u8d35\u7684\u8f6e\u80ce\u540c\u6837\u51fa\u8272\u3002", + "\u0644\u0639\u0627\u0634\u0642\u064a \u0642\u064a\u0627\u062f\u0629 \u0627\u0644\u062f\u0631\u0627\u062c\u0627\u062a \u0641\u064a \u0627\u0644\u0645\u0645\u0631\u0627\u062a \u063a\u064a\u0631 \u0627\u0644\u0645\u0645\u0647\u062f\u0629. \u062f\u0631\u0627\u062c\u0629 \u0634\u062f\u064a\u062f\u0629 \u0627\u0644\u062a\u062d\u0645\u0644 \u064a\u0645\u0643\u0646\u0643 \u0627\u0644\u0627\u0646\u0637\u0644\u0627\u0642 \u0628\u0647\u0627 \u0625\u0644\u0649 \u0623\u064a \u0645\u0643\u0627\u0646 \u0628\u0645\u0627 \u062a\u0648\u0641\u0631\u0647 \u0644\u0643 \u0645\u0646 \u062a\u062d\u0643\u0645 \u0639\u0644\u0649 \u0627\u0644\u0637\u0631\u0642 \u0627\u0644\u0648\u0639\u0631\u0629\u060c \u0643\u0644 \u0647\u0630\u0627 \u062f\u0648\u0646 \u0623\u0646 \u062a\u062a\u062c\u0627\u0648\u0632 \u0645\u064a\u0632\u0627\u0646\u064a\u062a\u0643.", + "\u0e01\u0e32\u0e23\u0e2d\u0e2d\u0e01\u0e41\u0e1a\u0e1a\u0e17\u0e35\u0e48\u0e21\u0e31\u0e48\u0e19\u0e04\u0e07 \u0e23\u0e31\u0e1a\u0e41\u0e23\u0e07\u0e01\u0e23\u0e30\u0e41\u0e17\u0e01\u0e41\u0e25\u0e30\u0e43\u0e2b\u0e49\u0e01\u0e32\u0e23\u0e04\u0e27\u0e1a\u0e04\u0e38\u0e21\u0e17\u0e35\u0e48\u0e41\u0e21\u0e48\u0e19\u0e22\u0e33", + "Triple crankset; alumunim crank arm; flawless shifting.", + "Un v\u00e9ritable v\u00e9lo multi-sports, qui offre une conduite optimis\u00e9e et une ligne r\u00e9volutionnaire. Sa ligne a\u00e9rodynamique vous permet de l'utiliser en course et ses vitesses de gravir les cols." + ] + }, + { + "AllowedValues": null, + "DataType": "uniqueidentifier", + "Definition": "The rowguid column in the SalesLT.ProductDescription entity contains unique identifier values for each product description. These values are in the form of GUIDs (Globally Unique Identifiers), ensuring that each entry is distinct and can be reliably used to identify and reference specific product descriptions within the database. The pattern of the sample values indicates they are in the standard 36-character GUID format, including hyphens separating sections of hexadecimal digits.", + "Name": "rowguid", + "SampleValues": [ + "A400C418-2DEF-490D-98BB-BDF8B7D47853", + "4F5E9527-565D-462E-88C0-6453FE86EA7A", + "853B8535-E4A6-4C17-B2AC-9E05DA2D6ECD", + "E11A3C2A-B074-48F9-8226-16D65C2F91C2", + "07ADF9DE-A65D-46D3-9FE3-4F7D49691066" + ] + }, + { + "AllowedValues": null, + "DataType": "datetime", + "Definition": "The ModifiedDate column in the SalesLT.ProductDescription entity contains the date and time when the product description record was last updated. The values are in the format of YYYY-MM-DD HH:MM:SS.nnnnnn, which includes the date followed by the time down to microseconds. This column helps track changes and updates to the product description records over time.", + "Name": "ModifiedDate", + "SampleValues": [ + "2008-03-11 10:32:17.973000", + "2007-06-01 00:00:00" + ] + } + ], + "CompleteEntityRelationshipsGraph": [ + "SalesLT.ProductDescription -> SalesLT.ProductModelProductDescription -> SalesLT.ProductModel -> SalesLT.Product -> SalesLT.ProductCategory", + "SalesLT.ProductDescription -> SalesLT.ProductModelProductDescription -> SalesLT.ProductModel -> SalesLT.Product -> SalesLT.SalesOrderDetail -> SalesLT.SalesOrderHeader -> SalesLT.Address -> SalesLT.CustomerAddress -> SalesLT.Customer", + "SalesLT.ProductDescription -> SalesLT.ProductModelProductDescription -> SalesLT.ProductModel -> SalesLT.Product -> SalesLT.SalesOrderDetail -> SalesLT.SalesOrderHeader -> SalesLT.Customer -> SalesLT.CustomerAddress -> SalesLT.Address" + ], + "Database": "AdventureWorksLT", + "Definition": "The SalesLT.ProductDescription entity contains details about product descriptions used in a sales database. It uniquely identifies each product description with a ProductDescriptionID, stores the actual description text, and includes metadata such as a unique rowguid and the date the record was last modified. This entity can be used to answer questions related to the specific descriptions of products, track historical changes to product descriptions, or generate reports that include detailed product information for sales and marketing purposes.", + "Entity": "SalesLT.ProductDescription", + "EntityName": "Product Descriptions", + "EntityRelationships": [ + { + "ForeignEntity": "SalesLT.ProductModelProductDescription", + "ForeignKeys": [ { - "ForeignEntity": "SalesLT.ProductModelProductDescription", - "ForeignKeys": [ - { - "Column": "ProductDescriptionID", - "ForeignColumn": "ProductDescriptionID" - } - ] + "Column": "ProductDescriptionID", + "ForeignColumn": "ProductDescriptionID" } - ], - "CompleteEntityRelationshipsGraph": [ - "SalesLT.ProductDescription -> SalesLT.ProductModelProductDescription -> SalesLT.ProductModel -> SalesLT.Product -> SalesLT.ProductCategory", - "SalesLT.ProductDescription -> SalesLT.ProductModelProductDescription -> SalesLT.ProductModel -> SalesLT.Product -> SalesLT.SalesOrderDetail -> SalesLT.SalesOrderHeader -> SalesLT.Address -> SalesLT.CustomerAddress -> SalesLT.Customer", - "SalesLT.ProductDescription -> SalesLT.ProductModelProductDescription -> SalesLT.ProductModel -> SalesLT.Product -> SalesLT.SalesOrderDetail -> SalesLT.SalesOrderHeader -> SalesLT.Customer -> SalesLT.CustomerAddress -> SalesLT.Address" - ], - "Columns": [ - { - "Name": "ProductDescriptionID", - "DataType": "int", - "Definition": "The ProductDescriptionID column in the SalesLT.ProductDescription entity contains unique numeric identifiers for each product description. Each value in this column is an integer that serves as a primary key to distinguish one product description from another. The values do not follow a specific format other than being positive integers and are used to reference specific product descriptions within the database.", - "AllowedValues": null, - "SampleValues": [ - 1569, - 1832, - 1763, - 1707, - 2003 - ] - }, - { - "Name": "Description", - "DataType": "nvarchar", - "Definition": "The Description column in the SalesLT.ProductDescription entity contains detailed product descriptions in various languages. These descriptions provide specific information about the product\u2019s features and benefits, such as durability, functionality, and design. The descriptions appear to cater to a global market, offering text in languages like Chinese, Arabic, Thai, English, and French. This diversity indicates that the column is used to store localized product descriptions for different regions or customer bases.", - "AllowedValues": null, - "SampleValues": [ - "\u94a2\u4e1d\u6491\u8f6e\u5708\u5916\u80ce\u7684\u4ef7\u683c\u4fbf\u5b9c\uff0c\u8f6e\u80ce\u9762\u5374\u4e0e\u4ef7\u683c\u66f4\u8d35\u7684\u8f6e\u80ce\u540c\u6837\u51fa\u8272\u3002", - "\u0644\u0639\u0627\u0634\u0642\u064a \u0642\u064a\u0627\u062f\u0629 \u0627\u0644\u062f\u0631\u0627\u062c\u0627\u062a \u0641\u064a \u0627\u0644\u0645\u0645\u0631\u0627\u062a \u063a\u064a\u0631 \u0627\u0644\u0645\u0645\u0647\u062f\u0629. \u062f\u0631\u0627\u062c\u0629 \u0634\u062f\u064a\u062f\u0629 \u0627\u0644\u062a\u062d\u0645\u0644 \u064a\u0645\u0643\u0646\u0643 \u0627\u0644\u0627\u0646\u0637\u0644\u0627\u0642 \u0628\u0647\u0627 \u0625\u0644\u0649 \u0623\u064a \u0645\u0643\u0627\u0646 \u0628\u0645\u0627 \u062a\u0648\u0641\u0631\u0647 \u0644\u0643 \u0645\u0646 \u062a\u062d\u0643\u0645 \u0639\u0644\u0649 \u0627\u0644\u0637\u0631\u0642 \u0627\u0644\u0648\u0639\u0631\u0629\u060c \u0643\u0644 \u0647\u0630\u0627 \u062f\u0648\u0646 \u0623\u0646 \u062a\u062a\u062c\u0627\u0648\u0632 \u0645\u064a\u0632\u0627\u0646\u064a\u062a\u0643.", - "\u0e01\u0e32\u0e23\u0e2d\u0e2d\u0e01\u0e41\u0e1a\u0e1a\u0e17\u0e35\u0e48\u0e21\u0e31\u0e48\u0e19\u0e04\u0e07 \u0e23\u0e31\u0e1a\u0e41\u0e23\u0e07\u0e01\u0e23\u0e30\u0e41\u0e17\u0e01\u0e41\u0e25\u0e30\u0e43\u0e2b\u0e49\u0e01\u0e32\u0e23\u0e04\u0e27\u0e1a\u0e04\u0e38\u0e21\u0e17\u0e35\u0e48\u0e41\u0e21\u0e48\u0e19\u0e22\u0e33", - "Triple crankset; alumunim crank arm; flawless shifting.", - "Un v\u00e9ritable v\u00e9lo multi-sports, qui offre une conduite optimis\u00e9e et une ligne r\u00e9volutionnaire. Sa ligne a\u00e9rodynamique vous permet de l'utiliser en course et ses vitesses de gravir les cols." - ] - }, - { - "Name": "rowguid", - "DataType": "uniqueidentifier", - "Definition": "The rowguid column in the SalesLT.ProductDescription entity contains unique identifier values for each product description. These values are in the form of GUIDs (Globally Unique Identifiers), ensuring that each entry is distinct and can be reliably used to identify and reference specific product descriptions within the database. The pattern of the sample values indicates they are in the standard 36-character GUID format, including hyphens separating sections of hexadecimal digits.", - "AllowedValues": null, - "SampleValues": [ - "A400C418-2DEF-490D-98BB-BDF8B7D47853", - "4F5E9527-565D-462E-88C0-6453FE86EA7A", - "853B8535-E4A6-4C17-B2AC-9E05DA2D6ECD", - "E11A3C2A-B074-48F9-8226-16D65C2F91C2", - "07ADF9DE-A65D-46D3-9FE3-4F7D49691066" - ] - }, - { - "Name": "ModifiedDate", - "DataType": "datetime", - "Definition": "The ModifiedDate column in the SalesLT.ProductDescription entity contains the date and time when the product description record was last updated. The values are in the format of YYYY-MM-DD HH:MM:SS.nnnnnn, which includes the date followed by the time down to microseconds. This column helps track changes and updates to the product description records over time.", - "AllowedValues": null, - "SampleValues": [ - "2008-03-11 10:32:17.973000", - "2007-06-01 00:00:00" - ] - } - ] -} \ No newline at end of file + ] + } + ], + "Warehouse": null +} diff --git a/text_2_sql/data_dictionary/generated_samples/SalesLT.ProductModel.json b/text_2_sql/data_dictionary/generated_samples/SalesLT.ProductModel.json index 724116b..60284f0 100644 --- a/text_2_sql/data_dictionary/generated_samples/SalesLT.ProductModel.json +++ b/text_2_sql/data_dictionary/generated_samples/SalesLT.ProductModel.json @@ -1,94 +1,94 @@ { - "Entity": "SalesLT.ProductModel", - "Definition": "The SalesLT.ProductModel entity contains information about different product models within a company's product catalog. It includes details such as the unique identifier for each product model, the name of the product model, and a description of the product model as listed in the catalog. This entity also includes a globally unique identifier and the date the record was last modified. Questions that can be answered using this entity include identifying product model names, retrieving specific product model descriptions, and tracking the last modification dates of product models.", - "EntityName": "Product Model Information", - "Database": "AdventureWorksLT", - "Warehouse": null, - "EntityRelationships": [ + "Columns": [ + { + "AllowedValues": null, + "DataType": "int", + "Definition": "The ProductModelID column in the SalesLT.ProductModel entity contains unique identifier numbers for different product models. These values are integers and are used to distinguish and reference various product models within the database. Each product model has a distinct ProductModelID which is used in various queries and joins to uniquely identify the model.", + "Name": "ProductModelID", + "SampleValues": [ + 13, + 57, + 95, + 20, + 117 + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The Name column in the SalesLT.ProductModel entity contains names of product models. These names typically include descriptive terms related to the product type and often feature a combination of words and numbers. The values may include elements such as the product category, model specifications, or unique identifiers. The format of the names varies, ranging from simple descriptive names to more specific and detailed descriptions.", + "Name": "Name", + "SampleValues": [ + "Touring Tire", + "Sport-100", + "Road-750", + "LL Mountain Seat/Saddle 1", + "All-Purpose Bike Stand" + ] + }, + { + "AllowedValues": null, + "DataType": "xml", + "Definition": "The CatalogDescription column in the SalesLT.ProductModel entity contains textual data that provides a detailed description of the product models available in the catalog. This includes information such as features, specifications, and usage details, which helps customers understand the product better. The data in this column is typically lengthy and formatted in XML or JSON to support rich text descriptions. This column is useful for generating product literature and online catalog pages.", + "Name": "CatalogDescription", + "SampleValues": null + }, + { + "AllowedValues": null, + "DataType": "uniqueidentifier", + "Definition": "The rowguid column in the SalesLT.ProductModel entity contains unique identifier values in the form of GUIDs (Globally Unique Identifiers). These GUIDs are used to ensure that each record in the ProductModel table can be uniquely identified across different tables, databases, and servers, providing a reliable way to distinguish each product model entry. The values follow the standard GUID format, consisting of 32 hexadecimal characters separated by hyphens into five groups.", + "Name": "rowguid", + "SampleValues": [ + "D71BD21C-239E-4C2B-98A3-101962D6B2D3", + "3CDF61D6-6209-436F-B235-82E8F159208B", + "3494E8FF-7DAF-4860-ABF6-97842048E272", + "E7B00DFF-8136-4947-B503-994584CC89E7", + "0434F63A-A361-4D0B-A9FC-8AC2A866CE85" + ] + }, + { + "AllowedValues": null, + "DataType": "datetime", + "Definition": "The ModifiedDate column in the SalesLT.ProductModel entity contains timestamp values indicating the date and time when each product model record was last modified. The values follow the standard SQL datetime format, including both date and time components, down to fractions of a second. This column is likely used to track changes and updates to product model records for auditing purposes.", + "Name": "ModifiedDate", + "SampleValues": [ + "2009-05-16 16:34:29.010000", + "2005-06-01 00:00:00", + "2002-05-02 00:00:00", + "2009-05-16 16:34:29.027000", + "2009-05-16 16:34:29.043000" + ] + } + ], + "CompleteEntityRelationshipsGraph": [ + "SalesLT.ProductModel -> SalesLT.Product -> SalesLT.ProductCategory", + "SalesLT.ProductModel -> SalesLT.Product -> SalesLT.SalesOrderDetail -> SalesLT.SalesOrderHeader -> SalesLT.Address -> SalesLT.CustomerAddress -> SalesLT.Customer", + "SalesLT.ProductModel -> SalesLT.Product -> SalesLT.SalesOrderDetail -> SalesLT.SalesOrderHeader -> SalesLT.Customer -> SalesLT.CustomerAddress -> SalesLT.Address", + "SalesLT.ProductModel -> SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription" + ], + "Database": "AdventureWorksLT", + "Definition": "The SalesLT.ProductModel entity contains information about different product models within a company's product catalog. It includes details such as the unique identifier for each product model, the name of the product model, and a description of the product model as listed in the catalog. This entity also includes a globally unique identifier and the date the record was last modified. Questions that can be answered using this entity include identifying product model names, retrieving specific product model descriptions, and tracking the last modification dates of product models.", + "Entity": "SalesLT.ProductModel", + "EntityName": "Product Model Information", + "EntityRelationships": [ + { + "ForeignEntity": "SalesLT.Product", + "ForeignKeys": [ { - "ForeignEntity": "SalesLT.Product", - "ForeignKeys": [ - { - "Column": "ProductModelID", - "ForeignColumn": "ProductModelID" - } - ] - }, - { - "ForeignEntity": "SalesLT.ProductModelProductDescription", - "ForeignKeys": [ - { - "Column": "ProductModelID", - "ForeignColumn": "ProductModelID" - } - ] + "Column": "ProductModelID", + "ForeignColumn": "ProductModelID" } - ], - "CompleteEntityRelationshipsGraph": [ - "SalesLT.ProductModel -> SalesLT.Product -> SalesLT.ProductCategory", - "SalesLT.ProductModel -> SalesLT.Product -> SalesLT.SalesOrderDetail -> SalesLT.SalesOrderHeader -> SalesLT.Address -> SalesLT.CustomerAddress -> SalesLT.Customer", - "SalesLT.ProductModel -> SalesLT.Product -> SalesLT.SalesOrderDetail -> SalesLT.SalesOrderHeader -> SalesLT.Customer -> SalesLT.CustomerAddress -> SalesLT.Address", - "SalesLT.ProductModel -> SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription" - ], - "Columns": [ - { - "Name": "ProductModelID", - "DataType": "int", - "Definition": "The ProductModelID column in the SalesLT.ProductModel entity contains unique identifier numbers for different product models. These values are integers and are used to distinguish and reference various product models within the database. Each product model has a distinct ProductModelID which is used in various queries and joins to uniquely identify the model.", - "AllowedValues": null, - "SampleValues": [ - 13, - 57, - 95, - 20, - 117 - ] - }, - { - "Name": "Name", - "DataType": "nvarchar", - "Definition": "The Name column in the SalesLT.ProductModel entity contains names of product models. These names typically include descriptive terms related to the product type and often feature a combination of words and numbers. The values may include elements such as the product category, model specifications, or unique identifiers. The format of the names varies, ranging from simple descriptive names to more specific and detailed descriptions.", - "AllowedValues": null, - "SampleValues": [ - "Touring Tire", - "Sport-100", - "Road-750", - "LL Mountain Seat/Saddle 1", - "All-Purpose Bike Stand" - ] - }, - { - "Name": "CatalogDescription", - "DataType": "xml", - "Definition": "The CatalogDescription column in the SalesLT.ProductModel entity contains textual data that provides a detailed description of the product models available in the catalog. This includes information such as features, specifications, and usage details, which helps customers understand the product better. The data in this column is typically lengthy and formatted in XML or JSON to support rich text descriptions. This column is useful for generating product literature and online catalog pages.", - "AllowedValues": null, - "SampleValues": null - }, - { - "Name": "rowguid", - "DataType": "uniqueidentifier", - "Definition": "The rowguid column in the SalesLT.ProductModel entity contains unique identifier values in the form of GUIDs (Globally Unique Identifiers). These GUIDs are used to ensure that each record in the ProductModel table can be uniquely identified across different tables, databases, and servers, providing a reliable way to distinguish each product model entry. The values follow the standard GUID format, consisting of 32 hexadecimal characters separated by hyphens into five groups.", - "AllowedValues": null, - "SampleValues": [ - "D71BD21C-239E-4C2B-98A3-101962D6B2D3", - "3CDF61D6-6209-436F-B235-82E8F159208B", - "3494E8FF-7DAF-4860-ABF6-97842048E272", - "E7B00DFF-8136-4947-B503-994584CC89E7", - "0434F63A-A361-4D0B-A9FC-8AC2A866CE85" - ] - }, + ] + }, + { + "ForeignEntity": "SalesLT.ProductModelProductDescription", + "ForeignKeys": [ { - "Name": "ModifiedDate", - "DataType": "datetime", - "Definition": "The ModifiedDate column in the SalesLT.ProductModel entity contains timestamp values indicating the date and time when each product model record was last modified. The values follow the standard SQL datetime format, including both date and time components, down to fractions of a second. This column is likely used to track changes and updates to product model records for auditing purposes.", - "AllowedValues": null, - "SampleValues": [ - "2009-05-16 16:34:29.010000", - "2005-06-01 00:00:00", - "2002-05-02 00:00:00", - "2009-05-16 16:34:29.027000", - "2009-05-16 16:34:29.043000" - ] + "Column": "ProductModelID", + "ForeignColumn": "ProductModelID" } - ] -} \ No newline at end of file + ] + } + ], + "Warehouse": null +} diff --git a/text_2_sql/data_dictionary/generated_samples/SalesLT.ProductModelProductDescription.json b/text_2_sql/data_dictionary/generated_samples/SalesLT.ProductModelProductDescription.json index 36914b3..68eee3f 100644 --- a/text_2_sql/data_dictionary/generated_samples/SalesLT.ProductModelProductDescription.json +++ b/text_2_sql/data_dictionary/generated_samples/SalesLT.ProductModelProductDescription.json @@ -1,96 +1,96 @@ { - "Entity": "SalesLT.ProductModelProductDescription", - "Definition": "The SalesLT.ProductModelProductDescription entity links product models to their descriptions across different cultures. It holds data about the association between a product model and its corresponding description, including which language or culture the description pertains to. This entity is useful for answering questions related to the multilingual descriptions of product models, tracking modifications, and ensuring cultural relevance in product information.", - "EntityName": "Product Model and Description Association", - "Database": "AdventureWorksLT", - "Warehouse": null, - "EntityRelationships": [ + "Columns": [ + { + "AllowedValues": null, + "DataType": "int", + "Definition": "The ProductModelID column in the SalesLT.ProductModelProductDescription entity contains numeric identifiers that correspond to specific product models. Each unique ProductModelID represents a distinct product model and is used to link product descriptions to their respective models. The values are integers, and they appear to be sequential, serving as foreign keys to other related tables that provide additional details about the product models.", + "Name": "ProductModelID", + "SampleValues": [ + 1, + 91, + 47, + 3, + 40 + ] + }, + { + "AllowedValues": null, + "DataType": "int", + "Definition": "The ProductDescriptionID column in the SalesLT.ProductModelProductDescription entity contains unique numeric identifiers for product descriptions. These identifiers are used to link specific product models to their respective descriptions in the database. The values are integers with no apparent pattern, indicating each product description's distinct entry in the system.", + "Name": "ProductDescriptionID", + "SampleValues": [ + 1799, + 1862, + 1905, + 1825, + 1426 + ] + }, + { + "AllowedValues": null, + "DataType": "nchar", + "Definition": "The Culture column in the SalesLT.ProductModelProductDescription entity contains codes representing different cultures or languages. The values follow an abbreviation format, where some are two-letter language codes (e.g., 'he' for Hebrew, 'fr' for French, 'th' for Thai) and others follow a language-region format (e.g., 'zh-cht' for Traditional Chinese). These codes are used to indicate the language in which the product description is provided.", + "Name": "Culture", + "SampleValues": [ + "he ", + "fr ", + "zh-cht", + "th ", + "ar " + ] + }, + { + "AllowedValues": null, + "DataType": "uniqueidentifier", + "Definition": "The column rowguid in the SalesLT.ProductModelProductDescription entity contains globally unique identifier (GUID) values in the standard 36-character format. These values are used to uniquely identify each record in the table and ensure that each record can be distinctly referenced. The GUIDs are generated in a standard format that includes hexadecimal characters separated by hyphens. This column helps maintain the uniqueness of records across the database and may be used for tasks that require unique entity identification.", + "Name": "rowguid", + "SampleValues": [ + "C07515EF-9092-4BDD-BA2A-A49AB7FD98D3", + "284B8A07-645B-48EB-B4C0-F8EAE2A44DDB", + "C00AB8B7-1451-4A28-AF77-621A2D6F0674", + "77117A9F-3529-4E90-965A-17F306A5A6C7", + "40B7B7EF-0816-4BD2-A9A8-D7533D635D16" + ] + }, + { + "AllowedValues": null, + "DataType": "datetime", + "Definition": "The ModifiedDate column in the SalesLT.ProductModelProductDescription entity contains the date and time when the corresponding record was last updated. The values are in the format 'YYYY-MM-DD HH:MM:SS' which includes both the date and the precise time of modification. This provides a time-stamp for tracking changes to the records and ensuring data is current as of the last update.", + "Name": "ModifiedDate", + "SampleValues": [ + "2007-06-01 00:00:00" + ] + } + ], + "CompleteEntityRelationshipsGraph": [ + "SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription", + "SalesLT.ProductModelProductDescription -> SalesLT.ProductModel -> SalesLT.Product -> SalesLT.ProductCategory", + "SalesLT.ProductModelProductDescription -> SalesLT.ProductModel -> SalesLT.Product -> SalesLT.SalesOrderDetail -> SalesLT.SalesOrderHeader -> SalesLT.Address -> SalesLT.CustomerAddress -> SalesLT.Customer", + "SalesLT.ProductModelProductDescription -> SalesLT.ProductModel -> SalesLT.Product -> SalesLT.SalesOrderDetail -> SalesLT.SalesOrderHeader -> SalesLT.Customer -> SalesLT.CustomerAddress -> SalesLT.Address" + ], + "Database": "AdventureWorksLT", + "Definition": "The SalesLT.ProductModelProductDescription entity links product models to their descriptions across different cultures. It holds data about the association between a product model and its corresponding description, including which language or culture the description pertains to. This entity is useful for answering questions related to the multilingual descriptions of product models, tracking modifications, and ensuring cultural relevance in product information.", + "Entity": "SalesLT.ProductModelProductDescription", + "EntityName": "Product Model and Description Association", + "EntityRelationships": [ + { + "ForeignEntity": "SalesLT.ProductDescription", + "ForeignKeys": [ { - "ForeignEntity": "SalesLT.ProductDescription", - "ForeignKeys": [ - { - "Column": "ProductDescriptionID", - "ForeignColumn": "ProductDescriptionID" - } - ] - }, - { - "ForeignEntity": "SalesLT.ProductModel", - "ForeignKeys": [ - { - "Column": "ProductModelID", - "ForeignColumn": "ProductModelID" - } - ] + "Column": "ProductDescriptionID", + "ForeignColumn": "ProductDescriptionID" } - ], - "CompleteEntityRelationshipsGraph": [ - "SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription", - "SalesLT.ProductModelProductDescription -> SalesLT.ProductModel -> SalesLT.Product -> SalesLT.ProductCategory", - "SalesLT.ProductModelProductDescription -> SalesLT.ProductModel -> SalesLT.Product -> SalesLT.SalesOrderDetail -> SalesLT.SalesOrderHeader -> SalesLT.Address -> SalesLT.CustomerAddress -> SalesLT.Customer", - "SalesLT.ProductModelProductDescription -> SalesLT.ProductModel -> SalesLT.Product -> SalesLT.SalesOrderDetail -> SalesLT.SalesOrderHeader -> SalesLT.Customer -> SalesLT.CustomerAddress -> SalesLT.Address" - ], - "Columns": [ - { - "Name": "ProductModelID", - "DataType": "int", - "Definition": "The ProductModelID column in the SalesLT.ProductModelProductDescription entity contains numeric identifiers that correspond to specific product models. Each unique ProductModelID represents a distinct product model and is used to link product descriptions to their respective models. The values are integers, and they appear to be sequential, serving as foreign keys to other related tables that provide additional details about the product models.", - "AllowedValues": null, - "SampleValues": [ - 1, - 91, - 47, - 3, - 40 - ] - }, - { - "Name": "ProductDescriptionID", - "DataType": "int", - "Definition": "The ProductDescriptionID column in the SalesLT.ProductModelProductDescription entity contains unique numeric identifiers for product descriptions. These identifiers are used to link specific product models to their respective descriptions in the database. The values are integers with no apparent pattern, indicating each product description's distinct entry in the system.", - "AllowedValues": null, - "SampleValues": [ - 1799, - 1862, - 1905, - 1825, - 1426 - ] - }, - { - "Name": "Culture", - "DataType": "nchar", - "Definition": "The Culture column in the SalesLT.ProductModelProductDescription entity contains codes representing different cultures or languages. The values follow an abbreviation format, where some are two-letter language codes (e.g., 'he' for Hebrew, 'fr' for French, 'th' for Thai) and others follow a language-region format (e.g., 'zh-cht' for Traditional Chinese). These codes are used to indicate the language in which the product description is provided.", - "AllowedValues": null, - "SampleValues": [ - "he ", - "fr ", - "zh-cht", - "th ", - "ar " - ] - }, - { - "Name": "rowguid", - "DataType": "uniqueidentifier", - "Definition": "The column rowguid in the SalesLT.ProductModelProductDescription entity contains globally unique identifier (GUID) values in the standard 36-character format. These values are used to uniquely identify each record in the table and ensure that each record can be distinctly referenced. The GUIDs are generated in a standard format that includes hexadecimal characters separated by hyphens. This column helps maintain the uniqueness of records across the database and may be used for tasks that require unique entity identification.", - "AllowedValues": null, - "SampleValues": [ - "C07515EF-9092-4BDD-BA2A-A49AB7FD98D3", - "284B8A07-645B-48EB-B4C0-F8EAE2A44DDB", - "C00AB8B7-1451-4A28-AF77-621A2D6F0674", - "77117A9F-3529-4E90-965A-17F306A5A6C7", - "40B7B7EF-0816-4BD2-A9A8-D7533D635D16" - ] - }, + ] + }, + { + "ForeignEntity": "SalesLT.ProductModel", + "ForeignKeys": [ { - "Name": "ModifiedDate", - "DataType": "datetime", - "Definition": "The ModifiedDate column in the SalesLT.ProductModelProductDescription entity contains the date and time when the corresponding record was last updated. The values are in the format 'YYYY-MM-DD HH:MM:SS' which includes both the date and the precise time of modification. This provides a time-stamp for tracking changes to the records and ensuring data is current as of the last update.", - "AllowedValues": null, - "SampleValues": [ - "2007-06-01 00:00:00" - ] + "Column": "ProductModelID", + "ForeignColumn": "ProductModelID" } - ] -} \ No newline at end of file + ] + } + ], + "Warehouse": null +} diff --git a/text_2_sql/data_dictionary/generated_samples/SalesLT.SalesOrderDetail.json b/text_2_sql/data_dictionary/generated_samples/SalesLT.SalesOrderDetail.json index 37d7cdf..863e24d 100644 --- a/text_2_sql/data_dictionary/generated_samples/SalesLT.SalesOrderDetail.json +++ b/text_2_sql/data_dictionary/generated_samples/SalesLT.SalesOrderDetail.json @@ -1,148 +1,148 @@ { - "Entity": "SalesLT.SalesOrderDetail", - "Definition": "The SalesLT.SalesOrderDetail entity contains detailed information about individual items within sales orders. This entity includes data on the sales order ID, the specific details of each order item such as quantity, product ID, unit price, and any discounts applied. It also includes calculated fields such as the line total for each order item. This entity can be used to answer questions related to the specifics of sales transactions, such as which products were purchased in each order, the quantity of each product ordered, and the total price of each order item.", - "EntityName": "Sales Line Items Information", - "Database": "AdventureWorksLT", - "Warehouse": null, - "EntityRelationships": [ + "Columns": [ + { + "AllowedValues": null, + "DataType": "int", + "Definition": "The SalesOrderID column in the SalesLT.SalesOrderDetail entity contains unique numerical identifiers for each sales order. Each value represents a specific sales order, ensuring that each order can be individually referenced and tracked. The values are in a sequential numeric format, indicating the progression and uniqueness of each sales transaction within the database.", + "Name": "SalesOrderID", + "SampleValues": [ + 71938, + 71784, + 71935, + 71923, + 71946 + ] + }, + { + "AllowedValues": null, + "DataType": "int", + "Definition": "The SalesOrderDetailID column in the SalesLT.SalesOrderDetail entity contains unique identifier values for each sales order detail record. The values are numeric and are used to distinguish each order detail entry within the database. These identifiers are essential for maintaining data integrity and enabling efficient querying and data manipulation within the sales order system.", + "Name": "SalesOrderDetailID", + "SampleValues": [ + 110735, + 113231, + 110686, + 113257, + 113307 + ] + }, + { + "AllowedValues": null, + "DataType": "smallint", + "Definition": "The OrderQty column in the SalesLT.SalesOrderDetail entity contains the quantity of items ordered for each sales order detail. This column represents integer values indicating how many units of a product were included in a specific order. The values are numeric and can vary, showing the specific amount ordered for each line item within a sales order.", + "Name": "OrderQty", + "SampleValues": [ + 11, + 9, + 16, + 23, + 1 + ] + }, + { + "AllowedValues": null, + "DataType": "int", + "Definition": "The ProductID column in the SalesLT.SalesOrderDetail entity contains numerical identifiers for products. Each value in this column represents a unique product associated with a sales order detail, used to link sales order records to specific products within the inventory. The identifiers are likely integer numbers and may not follow any specific sequential order.", + "Name": "ProductID", + "SampleValues": [ + 884, + 961, + 926, + 944, + 896 + ] + }, + { + "AllowedValues": null, + "DataType": "money", + "Definition": "The UnitPrice column in the SalesLT.SalesOrderDetail entity contains the unit prices of products sold in individual sales transactions. The values are represented as decimal numbers, likely indicating the price per unit of a product in a given currency. The prices can vary widely depending on the product and its specifications. The decimal format suggests precision is important for these financial values.", + "Name": "UnitPrice", + "SampleValues": [ + "2.9940", + "72.0000", + "31.5840", + "31.3142", + "40.5942" + ] + }, + { + "AllowedValues": null, + "DataType": "money", + "Definition": "The UnitPriceDiscount column in the SalesLT.SalesOrderDetail entity contains numerical values representing the discount applied to the unit price of a product. The values are in decimal format where each value indicates the proportion of the discount relative to the unit price. For instance, a value of 0.4000 indicates a 40% discount, while a value of 0.0000 indicates no discount.", + "Name": "UnitPriceDiscount", + "SampleValues": [ + "0.4000", + "0.1000", + "0.0500", + "0.0200", + "0.0000" + ] + }, + { + "AllowedValues": null, + "DataType": "numeric", + "Definition": "The LineTotal column in the SalesLT.SalesOrderDetail entity contains the total price for each sales order line item. The values represent the monetary amount calculated by multiplying the unit price by the quantity ordered, potentially including any discounts applied. The values are represented as decimal numbers, which can vary greatly depending on the quantity and price of the items ordered. This column is important for financial and sales reporting within the database.", + "Name": "LineTotal", + "SampleValues": [ + "23.952000", + "923.388000", + "218.682000", + "13769.940000", + "269.946000" + ] + }, + { + "AllowedValues": null, + "DataType": "uniqueidentifier", + "Definition": "The rowguid column in the SalesLT.SalesOrderDetail entity contains unique identifier values for each sales order detail entry. These values are in the form of GUIDs (Globally Unique Identifiers) which are 128-bit numbers typically represented in hexadecimal and are used to uniquely identify records. This ensures that each entry in the SalesOrderDetail table can be uniquely referenced across any system. The values follow a standard GUID format, e.g., 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'.", + "Name": "rowguid", + "SampleValues": [ + "281D1C72-EC9A-4E76-93B8-F83217A26A2E", + "BFBD21A7-253A-411A-9FE7-56884370529E", + "686999FB-42E6-4D00-9A14-83FFA86833E3", + "61EFC1C5-71CE-4537-9EDE-723DD776A042", + "FDEDAB25-D27E-4D66-BB57-6A699846C3E9" + ] + }, + { + "AllowedValues": null, + "DataType": "datetime", + "Definition": "The ModifiedDate column in the SalesLT.SalesOrderDetail entity contains timestamp values indicating when each record was last updated. The values are in the 'YYYY-MM-DD HH:MI:SS' format. This column helps in tracking the modification history of sales order details. It is essential for auditing and maintaining data integrity by recording the precise date and time of the latest changes.", + "Name": "ModifiedDate", + "SampleValues": [ + "2008-06-01 00:00:00" + ] + } + ], + "CompleteEntityRelationshipsGraph": [ + "SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductCategory", + "SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductModel -> SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription", + "SalesLT.SalesOrderDetail -> SalesLT.SalesOrderHeader -> SalesLT.Address -> SalesLT.CustomerAddress -> SalesLT.Customer", + "SalesLT.SalesOrderDetail -> SalesLT.SalesOrderHeader -> SalesLT.Customer -> SalesLT.CustomerAddress -> SalesLT.Address" + ], + "Database": "AdventureWorksLT", + "Definition": "The SalesLT.SalesOrderDetail entity contains detailed information about individual items within sales orders. This entity includes data on the sales order ID, the specific details of each order item such as quantity, product ID, unit price, and any discounts applied. It also includes calculated fields such as the line total for each order item. This entity can be used to answer questions related to the specifics of sales transactions, such as which products were purchased in each order, the quantity of each product ordered, and the total price of each order item.", + "Entity": "SalesLT.SalesOrderDetail", + "EntityName": "Sales Line Items Information", + "EntityRelationships": [ + { + "ForeignEntity": "SalesLT.Product", + "ForeignKeys": [ { - "ForeignEntity": "SalesLT.Product", - "ForeignKeys": [ - { - "Column": "ProductID", - "ForeignColumn": "ProductID" - } - ] - }, - { - "ForeignEntity": "SalesLT.SalesOrderHeader", - "ForeignKeys": [ - { - "Column": "SalesOrderID", - "ForeignColumn": "SalesOrderID" - } - ] + "Column": "ProductID", + "ForeignColumn": "ProductID" } - ], - "CompleteEntityRelationshipsGraph": [ - "SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductCategory", - "SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductModel -> SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription", - "SalesLT.SalesOrderDetail -> SalesLT.SalesOrderHeader -> SalesLT.Address -> SalesLT.CustomerAddress -> SalesLT.Customer", - "SalesLT.SalesOrderDetail -> SalesLT.SalesOrderHeader -> SalesLT.Customer -> SalesLT.CustomerAddress -> SalesLT.Address" - ], - "Columns": [ - { - "Name": "SalesOrderID", - "DataType": "int", - "Definition": "The SalesOrderID column in the SalesLT.SalesOrderDetail entity contains unique numerical identifiers for each sales order. Each value represents a specific sales order, ensuring that each order can be individually referenced and tracked. The values are in a sequential numeric format, indicating the progression and uniqueness of each sales transaction within the database.", - "AllowedValues": null, - "SampleValues": [ - 71938, - 71784, - 71935, - 71923, - 71946 - ] - }, - { - "Name": "SalesOrderDetailID", - "DataType": "int", - "Definition": "The SalesOrderDetailID column in the SalesLT.SalesOrderDetail entity contains unique identifier values for each sales order detail record. The values are numeric and are used to distinguish each order detail entry within the database. These identifiers are essential for maintaining data integrity and enabling efficient querying and data manipulation within the sales order system.", - "AllowedValues": null, - "SampleValues": [ - 110735, - 113231, - 110686, - 113257, - 113307 - ] - }, - { - "Name": "OrderQty", - "DataType": "smallint", - "Definition": "The OrderQty column in the SalesLT.SalesOrderDetail entity contains the quantity of items ordered for each sales order detail. This column represents integer values indicating how many units of a product were included in a specific order. The values are numeric and can vary, showing the specific amount ordered for each line item within a sales order.", - "AllowedValues": null, - "SampleValues": [ - 11, - 9, - 16, - 23, - 1 - ] - }, - { - "Name": "ProductID", - "DataType": "int", - "Definition": "The ProductID column in the SalesLT.SalesOrderDetail entity contains numerical identifiers for products. Each value in this column represents a unique product associated with a sales order detail, used to link sales order records to specific products within the inventory. The identifiers are likely integer numbers and may not follow any specific sequential order.", - "AllowedValues": null, - "SampleValues": [ - 884, - 961, - 926, - 944, - 896 - ] - }, - { - "Name": "UnitPrice", - "DataType": "money", - "Definition": "The UnitPrice column in the SalesLT.SalesOrderDetail entity contains the unit prices of products sold in individual sales transactions. The values are represented as decimal numbers, likely indicating the price per unit of a product in a given currency. The prices can vary widely depending on the product and its specifications. The decimal format suggests precision is important for these financial values.", - "AllowedValues": null, - "SampleValues": [ - "2.9940", - "72.0000", - "31.5840", - "31.3142", - "40.5942" - ] - }, - { - "Name": "UnitPriceDiscount", - "DataType": "money", - "Definition": "The UnitPriceDiscount column in the SalesLT.SalesOrderDetail entity contains numerical values representing the discount applied to the unit price of a product. The values are in decimal format where each value indicates the proportion of the discount relative to the unit price. For instance, a value of 0.4000 indicates a 40% discount, while a value of 0.0000 indicates no discount.", - "AllowedValues": null, - "SampleValues": [ - "0.4000", - "0.1000", - "0.0500", - "0.0200", - "0.0000" - ] - }, - { - "Name": "LineTotal", - "DataType": "numeric", - "Definition": "The LineTotal column in the SalesLT.SalesOrderDetail entity contains the total price for each sales order line item. The values represent the monetary amount calculated by multiplying the unit price by the quantity ordered, potentially including any discounts applied. The values are represented as decimal numbers, which can vary greatly depending on the quantity and price of the items ordered. This column is important for financial and sales reporting within the database.", - "AllowedValues": null, - "SampleValues": [ - "23.952000", - "923.388000", - "218.682000", - "13769.940000", - "269.946000" - ] - }, - { - "Name": "rowguid", - "DataType": "uniqueidentifier", - "Definition": "The rowguid column in the SalesLT.SalesOrderDetail entity contains unique identifier values for each sales order detail entry. These values are in the form of GUIDs (Globally Unique Identifiers) which are 128-bit numbers typically represented in hexadecimal and are used to uniquely identify records. This ensures that each entry in the SalesOrderDetail table can be uniquely referenced across any system. The values follow a standard GUID format, e.g., 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'.", - "AllowedValues": null, - "SampleValues": [ - "281D1C72-EC9A-4E76-93B8-F83217A26A2E", - "BFBD21A7-253A-411A-9FE7-56884370529E", - "686999FB-42E6-4D00-9A14-83FFA86833E3", - "61EFC1C5-71CE-4537-9EDE-723DD776A042", - "FDEDAB25-D27E-4D66-BB57-6A699846C3E9" - ] - }, + ] + }, + { + "ForeignEntity": "SalesLT.SalesOrderHeader", + "ForeignKeys": [ { - "Name": "ModifiedDate", - "DataType": "datetime", - "Definition": "The ModifiedDate column in the SalesLT.SalesOrderDetail entity contains timestamp values indicating when each record was last updated. The values are in the 'YYYY-MM-DD HH:MI:SS' format. This column helps in tracking the modification history of sales order details. It is essential for auditing and maintaining data integrity by recording the precise date and time of the latest changes.", - "AllowedValues": null, - "SampleValues": [ - "2008-06-01 00:00:00" - ] + "Column": "SalesOrderID", + "ForeignColumn": "SalesOrderID" } - ] -} \ No newline at end of file + ] + } + ], + "Warehouse": null +} diff --git a/text_2_sql/data_dictionary/generated_samples/SalesLT.SalesOrderHeader.json b/text_2_sql/data_dictionary/generated_samples/SalesLT.SalesOrderHeader.json index 9ae9a28..c3ec317 100644 --- a/text_2_sql/data_dictionary/generated_samples/SalesLT.SalesOrderHeader.json +++ b/text_2_sql/data_dictionary/generated_samples/SalesLT.SalesOrderHeader.json @@ -1,290 +1,290 @@ { - "Entity": "SalesLT.SalesOrderHeader", - "Definition": "The SalesLT.SalesOrderHeader entity contains summarized information about each sales order, including details such as order dates, status, shipping information, customer identification, and financial totals. It helps track the progression of a sales order from creation to shipment and invoicing. This entity is useful for answering questions related to sales order processing, such as the status of an order, shipping methods used, customer order details, and the total due amounts for sales transactions.", - "EntityName": "Sales Order Information", - "Database": "AdventureWorksLT", - "Warehouse": null, - "EntityRelationships": [ + "Columns": [ + { + "AllowedValues": null, + "DataType": "int", + "Definition": "The SalesOrderID column in the SalesLT.SalesOrderHeader entity contains unique identifiers for sales orders. These identifiers are numeric and sequential, indicating that each sales order is assigned a unique number upon creation to track and manage individual sales transactions. The values do not follow any specific pattern other than being unique and incrementally assigned.", + "Name": "SalesOrderID", + "SampleValues": [ + 71846, + 71832, + 71938, + 71897, + 71923 + ] + }, + { + "AllowedValues": null, + "DataType": "tinyint", + "Definition": "The RevisionNumber column in the SalesLT.SalesOrderHeader entity contains integer values that indicate the number of times a sales order has been revised. This column is used to track changes or updates made to the original sales order after its initial creation. The values in this column help identify the version history of each sales order to maintain an accurate record of modifications. A higher number signifies more revisions have been made.", + "Name": "RevisionNumber", + "SampleValues": [ + 2 + ] + }, + { + "AllowedValues": null, + "DataType": "datetime", + "Definition": "The OrderDate column in the SalesLT.SalesOrderHeader entity contains the dates and times when sales orders were placed. The data follows the standard datetime format 'YYYY-MM-DD HH:MM:SS'. This column is used to record the precise date and time for each order, and it may be used for chronological sorting, filtering orders within specific time frames, or analyzing sales trends over time.", + "Name": "OrderDate", + "SampleValues": [ + "2008-06-01 00:00:00" + ] + }, + { + "AllowedValues": null, + "DataType": "datetime", + "Definition": "The DueDate column in the SalesLT.SalesOrderHeader entity contains the date and time by which the sales order is due to be completed or delivered. The values in this column are in the datetime format 'YYYY-MM-DD HH:MM:SS'. This data assists in tracking when sales orders need to be fulfilled by, and ensures timely delivery or completion of orders. Notably, the time portion of the data often appears as '00:00:00', indicating that the primary focus is on the date rather than a specific time of day.", + "Name": "DueDate", + "SampleValues": [ + "2008-06-13 00:00:00" + ] + }, + { + "AllowedValues": null, + "DataType": "datetime", + "Definition": "The ShipDate column in the SalesLT.SalesOrderHeader entity contains the date and time when the shipment of an order was processed. The values in this column are in the datetime format, typically in the YYYY-MM-DD HH:MI:SS layout. This column is used to track when orders have been shipped to customers.", + "Name": "ShipDate", + "SampleValues": [ + "2008-06-08 00:00:00" + ] + }, + { + "AllowedValues": null, + "DataType": "tinyint", + "Definition": "The Status column in the SalesLT.SalesOrderHeader entity represents the current state or condition of the sales order. The values in this column are numeric codes, such as '5', that indicate different statuses of the sales order. These statuses are likely defined by a specific business logic which assigns meaning to each numeric code, identifying different stages in the sales order processing workflow.", + "Name": "Status", + "SampleValues": [ + 5 + ] + }, + { + "AllowedValues": null, + "DataType": "bit", + "Definition": "The OnlineOrderFlag column in the SalesLT.SalesOrderHeader entity indicates whether a sales order was placed online or not. The values are typically boolean, with 'True' representing orders placed online and 'False' representing orders not placed online. This column helps to identify the source of the sales order for tracking and analysis purposes.", + "Name": "OnlineOrderFlag", + "SampleValues": [ + false + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The SalesOrderNumber column in the SalesLT.SalesOrderHeader entity contains unique alphanumeric identifiers for sales orders. Each sales order number starts with the prefix 'SO' followed by a sequence of digits. This pattern ensures that each sales order can be individually tracked and referenced within the system. The column helps in uniquely identifying and managing sales orders within the database.", + "Name": "SalesOrderNumber", + "SampleValues": [ + "SO71858", + "SO71936", + "SO71816", + "SO71885", + "SO71867" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The PurchaseOrderNumber column in the SalesLT.SalesOrderHeader entity contains alphanumeric codes representing unique purchase order numbers assigned to each sales order. The values follow a pattern that starts with the prefix 'PO' followed by a sequence of digits. These purchase order numbers are used to track and reference sales transactions.", + "Name": "PurchaseOrderNumber", + "SampleValues": [ + "PO29111718", + "PO3770176273", + "PO8671170385", + "PO10353140756", + "PO2697119362" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The AccountNumber column in the SalesLT.SalesOrderHeader entity contains alphanumeric identifiers for customer accounts. The values follow a specific pattern, typically consisting of a numeric sequence formatted as '10-4020-XXXXXX', where 'XXXXXX' is a unique six-digit number. This column is used to link sales orders to particular customer accounts within the system.", + "Name": "AccountNumber", + "SampleValues": [ + "10-4020-000649", + "10-4020-000223", + "10-4020-000502", + "10-4020-000276", + "10-4020-000609" + ] + }, + { + "AllowedValues": null, + "DataType": "int", + "Definition": "The CustomerID column in the SalesLT.SalesOrderHeader entity contains unique numeric identifiers assigned to each customer. The values in this column are integers that uniquely distinguish one customer from another within the sales order header records. This column is used to link sales orders to the corresponding customer information. Each CustomerID represents a specific customer in the database.", + "Name": "CustomerID", + "SampleValues": [ + 29975, + 30113, + 29531, + 29938, + 29584 + ] + }, + { + "AllowedValues": null, + "DataType": "int", + "Definition": "The ShipToAddressID column in the SalesLT.SalesOrderHeader entity contains unique identifier numbers for shipping addresses used in sales orders. These identifier numbers are likely assigned sequentially or based on some internal addressing schema. The column facilitates linking each sales order to a specific shipping address within the database. The values in this column are integers and do not follow any externally recognized standard.", + "Name": "ShipToAddressID", + "SampleValues": [ + 635, + 660, + 992, + 1086, + 649 + ] + }, + { + "AllowedValues": null, + "DataType": "int", + "Definition": "The BillToAddressID column in the SalesLT.SalesOrderHeader entity contains integer values that represent unique identifiers for billing addresses associated with sales orders. Each value corresponds to a specific address recorded in a related address table. The integers are used to link the sales order records to their respective billing address records, ensuring accurate invoicing and customer identification.", + "Name": "BillToAddressID", + "SampleValues": [ + 652, + 651, + 635, + 669, + 653 + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The ShipMethod column in the SalesLT.SalesOrderHeader entity contains the names of shipping methods used for orders. The values represent different shipping options available for delivering products to customers. These values are generally descriptive and may include specific transport types or service levels provided by the shipping company. The values typically follow a pattern of descriptive shipping terms like \"CARGO TRANSPORT\" with added numerical identifiers to distinguish various methods.", + "Name": "ShipMethod", + "SampleValues": [ + "CARGO TRANSPORT 5" + ] + }, + { + "AllowedValues": null, + "DataType": "varchar", + "Definition": "The CreditCardApprovalCode column in the SalesLT.SalesOrderHeader entity contains the approval codes received from credit card companies when a customer's credit card transaction is authorized. This column typically holds alphanumeric strings that represent the unique approval identifier for each transaction. These codes are used to verify that the credit card payment was successfully processed and authorized.", + "Name": "CreditCardApprovalCode", + "SampleValues": [] + }, + { + "AllowedValues": null, + "DataType": "money", + "Definition": "The SubTotal column in the SalesLT.SalesOrderHeader entity represents the total amount for a sales order before taxes and shipping are applied. The values in this column are numeric and likely represent monetary amounts with up to four decimal places, indicating precision in the currency calculation. This column is used to calculate the preliminary cost of an order, reflecting the aggregate price of all items included in the order.", + "Name": "SubTotal", + "SampleValues": [ + "88812.8625", + "2453.7645", + "2137.2310", + "246.7392", + "74058.8078" + ] + }, + { + "AllowedValues": null, + "DataType": "money", + "Definition": "The TaxAmt column in the SalesLT.SalesOrderHeader entity contains the total tax amount applied to each sales order. The values are represented as decimal numbers with up to four decimal places. These amounts indicate the monetary tax applied to the sales order in the corresponding currency of the transaction.", + "Name": "TaxAmt", + "SampleValues": [ + "19.7391", + "1105.8967", + "8684.9465", + "91.3263", + "1014.8712" + ] + }, + { + "AllowedValues": null, + "DataType": "money", + "Definition": "The Freight column in the SalesLT.SalesOrderHeader entity contains numerical values representing the freight cost associated with each sales order. The values are likely to be in a currency format, indicating the monetary amount charged for shipping and handling. This column includes a wide range of values, reflecting the variability in freight charges depending on factors such as order size, weight, and shipping method. The values can be fractional, showing precision in the cost calculations.", + "Name": "Freight", + "SampleValues": [ + "60.3918", + "0.9738", + "1440.8659", + "61.3441", + "345.5927" + ] + }, + { + "AllowedValues": null, + "DataType": "money", + "Definition": "The TotalDue column in the SalesLT.SalesOrderHeader entity contains the final amount payable for a sales order after all calculations, including taxes, discounts, and additional charges, have been applied. The values in this column are expressed as decimal numbers representing monetary amounts. It is used to track the total revenue generated from each sales order and is crucial for financial reporting and analysis.", + "Name": "TotalDue", + "SampleValues": [ + "1170.5376", + "108597.9536", + "70698.9922", + "3293.7761", + "14017.9083" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The Comment column in the SalesLT.SalesOrderHeader entity contains optional textual notes or remarks provided by customers or sales representatives about specific sales orders. This may include special instructions, delivery notes, or any other relevant information related to the order. The data in this column is typically used to provide additional context or details that are not covered by other columns in the sales order header.", + "Name": "Comment", + "SampleValues": [] + }, + { + "AllowedValues": null, + "DataType": "uniqueidentifier", + "Definition": "The rowguid column in the SalesLT.SalesOrderHeader entity contains unique identifier values in the UUID/GUID (Universally Unique Identifier/Globally Unique Identifier) format. Each value in this column is a 36-character string including hyphens, following the standard UUID format. This column is likely used to ensure distinctiveness and aid in the unique identification of each sales order record within the database.", + "Name": "rowguid", + "SampleValues": [ + "F1BE45A5-5C57-4A50-93C6-5F8BE44CB7CB", + "E3C189E7-98DE-4C40-B6C2-0D1D13F9BB33", + "7DB2329E-6446-42A8-8915-9C8370B68ED8", + "917EF5BA-F32D-4563-8588-66DB0BCDC846", + "BB3FEE84-C8BF-4DD2-BCCA-675AB6A11C38" + ] + }, + { + "AllowedValues": null, + "DataType": "datetime", + "Definition": "The ModifiedDate column in the SalesLT.SalesOrderHeader entity contains the timestamps of when each sales order record was last updated. The data is in the format 'YYYY-MM-DD HH:MM:SS'. This indicates the date and time when changes were made to the respective records in the sales order header. This column helps in tracking the modification history of the sales orders.", + "Name": "ModifiedDate", + "SampleValues": [ + "2008-06-08 00:00:00" + ] + } + ], + "CompleteEntityRelationshipsGraph": [ + "SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductCategory", + "SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductModel -> SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription", + "SalesLT.SalesOrderHeader -> SalesLT.Address -> SalesLT.CustomerAddress -> SalesLT.Customer", + "SalesLT.SalesOrderHeader -> SalesLT.Customer -> SalesLT.CustomerAddress -> SalesLT.Address" + ], + "Database": "AdventureWorksLT", + "Definition": "The SalesLT.SalesOrderHeader entity contains summarized information about each sales order, including details such as order dates, status, shipping information, customer identification, and financial totals. It helps track the progression of a sales order from creation to shipment and invoicing. This entity is useful for answering questions related to sales order processing, such as the status of an order, shipping methods used, customer order details, and the total due amounts for sales transactions.", + "Entity": "SalesLT.SalesOrderHeader", + "EntityName": "Sales Order Information", + "EntityRelationships": [ + { + "ForeignEntity": "SalesLT.SalesOrderDetail", + "ForeignKeys": [ { - "ForeignEntity": "SalesLT.SalesOrderDetail", - "ForeignKeys": [ - { - "Column": "SalesOrderID", - "ForeignColumn": "SalesOrderID" - } - ] - }, - { - "ForeignEntity": "SalesLT.Address", - "ForeignKeys": [ - { - "Column": "BillToAddressID", - "ForeignColumn": "AddressID" - }, - { - "Column": "ShipToAddressID", - "ForeignColumn": "AddressID" - } - ] - }, - { - "ForeignEntity": "SalesLT.Customer", - "ForeignKeys": [ - { - "Column": "CustomerID", - "ForeignColumn": "CustomerID" - } - ] + "Column": "SalesOrderID", + "ForeignColumn": "SalesOrderID" } - ], - "CompleteEntityRelationshipsGraph": [ - "SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductCategory", - "SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductModel -> SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription", - "SalesLT.SalesOrderHeader -> SalesLT.Address -> SalesLT.CustomerAddress -> SalesLT.Customer", - "SalesLT.SalesOrderHeader -> SalesLT.Customer -> SalesLT.CustomerAddress -> SalesLT.Address" - ], - "Columns": [ - { - "Name": "SalesOrderID", - "DataType": "int", - "Definition": "The SalesOrderID column in the SalesLT.SalesOrderHeader entity contains unique identifiers for sales orders. These identifiers are numeric and sequential, indicating that each sales order is assigned a unique number upon creation to track and manage individual sales transactions. The values do not follow any specific pattern other than being unique and incrementally assigned.", - "AllowedValues": null, - "SampleValues": [ - 71846, - 71832, - 71938, - 71897, - 71923 - ] - }, - { - "Name": "RevisionNumber", - "DataType": "tinyint", - "Definition": "The RevisionNumber column in the SalesLT.SalesOrderHeader entity contains integer values that indicate the number of times a sales order has been revised. This column is used to track changes or updates made to the original sales order after its initial creation. The values in this column help identify the version history of each sales order to maintain an accurate record of modifications. A higher number signifies more revisions have been made.", - "AllowedValues": null, - "SampleValues": [ - 2 - ] - }, - { - "Name": "OrderDate", - "DataType": "datetime", - "Definition": "The OrderDate column in the SalesLT.SalesOrderHeader entity contains the dates and times when sales orders were placed. The data follows the standard datetime format 'YYYY-MM-DD HH:MM:SS'. This column is used to record the precise date and time for each order, and it may be used for chronological sorting, filtering orders within specific time frames, or analyzing sales trends over time.", - "AllowedValues": null, - "SampleValues": [ - "2008-06-01 00:00:00" - ] - }, - { - "Name": "DueDate", - "DataType": "datetime", - "Definition": "The DueDate column in the SalesLT.SalesOrderHeader entity contains the date and time by which the sales order is due to be completed or delivered. The values in this column are in the datetime format 'YYYY-MM-DD HH:MM:SS'. This data assists in tracking when sales orders need to be fulfilled by, and ensures timely delivery or completion of orders. Notably, the time portion of the data often appears as '00:00:00', indicating that the primary focus is on the date rather than a specific time of day.", - "AllowedValues": null, - "SampleValues": [ - "2008-06-13 00:00:00" - ] - }, - { - "Name": "ShipDate", - "DataType": "datetime", - "Definition": "The ShipDate column in the SalesLT.SalesOrderHeader entity contains the date and time when the shipment of an order was processed. The values in this column are in the datetime format, typically in the YYYY-MM-DD HH:MI:SS layout. This column is used to track when orders have been shipped to customers.", - "AllowedValues": null, - "SampleValues": [ - "2008-06-08 00:00:00" - ] - }, - { - "Name": "Status", - "DataType": "tinyint", - "Definition": "The Status column in the SalesLT.SalesOrderHeader entity represents the current state or condition of the sales order. The values in this column are numeric codes, such as '5', that indicate different statuses of the sales order. These statuses are likely defined by a specific business logic which assigns meaning to each numeric code, identifying different stages in the sales order processing workflow.", - "AllowedValues": null, - "SampleValues": [ - 5 - ] - }, - { - "Name": "OnlineOrderFlag", - "DataType": "bit", - "Definition": "The OnlineOrderFlag column in the SalesLT.SalesOrderHeader entity indicates whether a sales order was placed online or not. The values are typically boolean, with 'True' representing orders placed online and 'False' representing orders not placed online. This column helps to identify the source of the sales order for tracking and analysis purposes.", - "AllowedValues": null, - "SampleValues": [ - false - ] - }, - { - "Name": "SalesOrderNumber", - "DataType": "nvarchar", - "Definition": "The SalesOrderNumber column in the SalesLT.SalesOrderHeader entity contains unique alphanumeric identifiers for sales orders. Each sales order number starts with the prefix 'SO' followed by a sequence of digits. This pattern ensures that each sales order can be individually tracked and referenced within the system. The column helps in uniquely identifying and managing sales orders within the database.", - "AllowedValues": null, - "SampleValues": [ - "SO71858", - "SO71936", - "SO71816", - "SO71885", - "SO71867" - ] - }, - { - "Name": "PurchaseOrderNumber", - "DataType": "nvarchar", - "Definition": "The PurchaseOrderNumber column in the SalesLT.SalesOrderHeader entity contains alphanumeric codes representing unique purchase order numbers assigned to each sales order. The values follow a pattern that starts with the prefix 'PO' followed by a sequence of digits. These purchase order numbers are used to track and reference sales transactions.", - "AllowedValues": null, - "SampleValues": [ - "PO29111718", - "PO3770176273", - "PO8671170385", - "PO10353140756", - "PO2697119362" - ] - }, + ] + }, + { + "ForeignEntity": "SalesLT.Address", + "ForeignKeys": [ { - "Name": "AccountNumber", - "DataType": "nvarchar", - "Definition": "The AccountNumber column in the SalesLT.SalesOrderHeader entity contains alphanumeric identifiers for customer accounts. The values follow a specific pattern, typically consisting of a numeric sequence formatted as '10-4020-XXXXXX', where 'XXXXXX' is a unique six-digit number. This column is used to link sales orders to particular customer accounts within the system.", - "AllowedValues": null, - "SampleValues": [ - "10-4020-000649", - "10-4020-000223", - "10-4020-000502", - "10-4020-000276", - "10-4020-000609" - ] + "Column": "BillToAddressID", + "ForeignColumn": "AddressID" }, { - "Name": "CustomerID", - "DataType": "int", - "Definition": "The CustomerID column in the SalesLT.SalesOrderHeader entity contains unique numeric identifiers assigned to each customer. The values in this column are integers that uniquely distinguish one customer from another within the sales order header records. This column is used to link sales orders to the corresponding customer information. Each CustomerID represents a specific customer in the database.", - "AllowedValues": null, - "SampleValues": [ - 29975, - 30113, - 29531, - 29938, - 29584 - ] - }, - { - "Name": "ShipToAddressID", - "DataType": "int", - "Definition": "The ShipToAddressID column in the SalesLT.SalesOrderHeader entity contains unique identifier numbers for shipping addresses used in sales orders. These identifier numbers are likely assigned sequentially or based on some internal addressing schema. The column facilitates linking each sales order to a specific shipping address within the database. The values in this column are integers and do not follow any externally recognized standard.", - "AllowedValues": null, - "SampleValues": [ - 635, - 660, - 992, - 1086, - 649 - ] - }, - { - "Name": "BillToAddressID", - "DataType": "int", - "Definition": "The BillToAddressID column in the SalesLT.SalesOrderHeader entity contains integer values that represent unique identifiers for billing addresses associated with sales orders. Each value corresponds to a specific address recorded in a related address table. The integers are used to link the sales order records to their respective billing address records, ensuring accurate invoicing and customer identification.", - "AllowedValues": null, - "SampleValues": [ - 652, - 651, - 635, - 669, - 653 - ] - }, - { - "Name": "ShipMethod", - "DataType": "nvarchar", - "Definition": "The ShipMethod column in the SalesLT.SalesOrderHeader entity contains the names of shipping methods used for orders. The values represent different shipping options available for delivering products to customers. These values are generally descriptive and may include specific transport types or service levels provided by the shipping company. The values typically follow a pattern of descriptive shipping terms like \"CARGO TRANSPORT\" with added numerical identifiers to distinguish various methods.", - "AllowedValues": null, - "SampleValues": [ - "CARGO TRANSPORT 5" - ] - }, - { - "Name": "CreditCardApprovalCode", - "DataType": "varchar", - "Definition": "The CreditCardApprovalCode column in the SalesLT.SalesOrderHeader entity contains the approval codes received from credit card companies when a customer's credit card transaction is authorized. This column typically holds alphanumeric strings that represent the unique approval identifier for each transaction. These codes are used to verify that the credit card payment was successfully processed and authorized.", - "AllowedValues": null, - "SampleValues": [] - }, - { - "Name": "SubTotal", - "DataType": "money", - "Definition": "The SubTotal column in the SalesLT.SalesOrderHeader entity represents the total amount for a sales order before taxes and shipping are applied. The values in this column are numeric and likely represent monetary amounts with up to four decimal places, indicating precision in the currency calculation. This column is used to calculate the preliminary cost of an order, reflecting the aggregate price of all items included in the order.", - "AllowedValues": null, - "SampleValues": [ - "88812.8625", - "2453.7645", - "2137.2310", - "246.7392", - "74058.8078" - ] - }, - { - "Name": "TaxAmt", - "DataType": "money", - "Definition": "The TaxAmt column in the SalesLT.SalesOrderHeader entity contains the total tax amount applied to each sales order. The values are represented as decimal numbers with up to four decimal places. These amounts indicate the monetary tax applied to the sales order in the corresponding currency of the transaction.", - "AllowedValues": null, - "SampleValues": [ - "19.7391", - "1105.8967", - "8684.9465", - "91.3263", - "1014.8712" - ] - }, - { - "Name": "Freight", - "DataType": "money", - "Definition": "The Freight column in the SalesLT.SalesOrderHeader entity contains numerical values representing the freight cost associated with each sales order. The values are likely to be in a currency format, indicating the monetary amount charged for shipping and handling. This column includes a wide range of values, reflecting the variability in freight charges depending on factors such as order size, weight, and shipping method. The values can be fractional, showing precision in the cost calculations.", - "AllowedValues": null, - "SampleValues": [ - "60.3918", - "0.9738", - "1440.8659", - "61.3441", - "345.5927" - ] - }, - { - "Name": "TotalDue", - "DataType": "money", - "Definition": "The TotalDue column in the SalesLT.SalesOrderHeader entity contains the final amount payable for a sales order after all calculations, including taxes, discounts, and additional charges, have been applied. The values in this column are expressed as decimal numbers representing monetary amounts. It is used to track the total revenue generated from each sales order and is crucial for financial reporting and analysis.", - "AllowedValues": null, - "SampleValues": [ - "1170.5376", - "108597.9536", - "70698.9922", - "3293.7761", - "14017.9083" - ] - }, - { - "Name": "Comment", - "DataType": "nvarchar", - "Definition": "The Comment column in the SalesLT.SalesOrderHeader entity contains optional textual notes or remarks provided by customers or sales representatives about specific sales orders. This may include special instructions, delivery notes, or any other relevant information related to the order. The data in this column is typically used to provide additional context or details that are not covered by other columns in the sales order header.", - "AllowedValues": null, - "SampleValues": [] - }, - { - "Name": "rowguid", - "DataType": "uniqueidentifier", - "Definition": "The rowguid column in the SalesLT.SalesOrderHeader entity contains unique identifier values in the UUID/GUID (Universally Unique Identifier/Globally Unique Identifier) format. Each value in this column is a 36-character string including hyphens, following the standard UUID format. This column is likely used to ensure distinctiveness and aid in the unique identification of each sales order record within the database.", - "AllowedValues": null, - "SampleValues": [ - "F1BE45A5-5C57-4A50-93C6-5F8BE44CB7CB", - "E3C189E7-98DE-4C40-B6C2-0D1D13F9BB33", - "7DB2329E-6446-42A8-8915-9C8370B68ED8", - "917EF5BA-F32D-4563-8588-66DB0BCDC846", - "BB3FEE84-C8BF-4DD2-BCCA-675AB6A11C38" - ] - }, + "Column": "ShipToAddressID", + "ForeignColumn": "AddressID" + } + ] + }, + { + "ForeignEntity": "SalesLT.Customer", + "ForeignKeys": [ { - "Name": "ModifiedDate", - "DataType": "datetime", - "Definition": "The ModifiedDate column in the SalesLT.SalesOrderHeader entity contains the timestamps of when each sales order record was last updated. The data is in the format 'YYYY-MM-DD HH:MM:SS'. This indicates the date and time when changes were made to the respective records in the sales order header. This column helps in tracking the modification history of the sales orders.", - "AllowedValues": null, - "SampleValues": [ - "2008-06-08 00:00:00" - ] + "Column": "CustomerID", + "ForeignColumn": "CustomerID" } - ] -} \ No newline at end of file + ] + } + ], + "Warehouse": null +} diff --git a/text_2_sql/data_dictionary/generated_samples/SalesLT.vGetAllCategories.json b/text_2_sql/data_dictionary/generated_samples/SalesLT.vGetAllCategories.json index 9a778b1..2916f2b 100644 --- a/text_2_sql/data_dictionary/generated_samples/SalesLT.vGetAllCategories.json +++ b/text_2_sql/data_dictionary/generated_samples/SalesLT.vGetAllCategories.json @@ -1,49 +1,49 @@ { - "Entity": "SalesLT.vGetAllCategories", - "Definition": "The SalesLT.vGetAllCategories entity contains information about product categories and their hierarchical relationships. It includes both parent and child product category names as well as unique identifiers for each product category. This entity can be used to answer questions related to the structure and organization of product categories, such as finding all subcategories under a specific parent category or identifying the parent category of a given product category.", - "EntityName": "Product Category Information", - "Database": "AdventureWorksLT", - "Warehouse": null, - "EntityRelationships": [], - "CompleteEntityRelationshipsGraph": [], - "Columns": [ - { - "Name": "ParentProductCategoryName", - "DataType": "nvarchar", - "Definition": "The ParentProductCategoryName column in the SalesLT.vGetAllCategories entity contains the names of the primary categories for products. These categories are broad classifications that group related products together. Sample values indicate that the entries generally represent major product categories, such as Components, Clothing, Bikes, and Accessories. This column helps in identifying and organizing products at a high-level classification within the product hierarchy.", - "AllowedValues": null, - "SampleValues": [ - "Components", - "Clothing", - "Bikes", - "Accessories" - ] - }, - { - "Name": "ProductCategoryName", - "DataType": "nvarchar", - "Definition": "The ProductCategoryName column in the SalesLT.vGetAllCategories entity contains the names of various product categories. These category names represent different parts and accessories related to cycling, such as bike components and apparel. The values are descriptive and specific to the type of product or accessory they denote. This column helps in categorizing products for better organization and retrieval in the database.", - "AllowedValues": null, - "SampleValues": [ - "Fenders", - "Saddles", - "Handlebars", - "Bottom Brackets", - "Vests" - ] - }, - { - "Name": "ProductCategoryID", - "DataType": "int", - "Definition": "The ProductCategoryID column in the SalesLT.vGetAllCategories entity contains unique numeric identifiers assigned to different product categories. Each number corresponds to a specific category such as clothing, accessories, or equipment. These identifiers are used to distinguish and organize products into their respective categories within the database.", - "AllowedValues": null, - "SampleValues": [ - 39, - 38, - 17, - 41, - 36 - ] - } - ] -} \ No newline at end of file + "Columns": [ + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The ParentProductCategoryName column in the SalesLT.vGetAllCategories entity contains the names of the primary categories for products. These categories are broad classifications that group related products together. Sample values indicate that the entries generally represent major product categories, such as Components, Clothing, Bikes, and Accessories. This column helps in identifying and organizing products at a high-level classification within the product hierarchy.", + "Name": "ParentProductCategoryName", + "SampleValues": [ + "Components", + "Clothing", + "Bikes", + "Accessories" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The ProductCategoryName column in the SalesLT.vGetAllCategories entity contains the names of various product categories. These category names represent different parts and accessories related to cycling, such as bike components and apparel. The values are descriptive and specific to the type of product or accessory they denote. This column helps in categorizing products for better organization and retrieval in the database.", + "Name": "ProductCategoryName", + "SampleValues": [ + "Fenders", + "Saddles", + "Handlebars", + "Bottom Brackets", + "Vests" + ] + }, + { + "AllowedValues": null, + "DataType": "int", + "Definition": "The ProductCategoryID column in the SalesLT.vGetAllCategories entity contains unique numeric identifiers assigned to different product categories. Each number corresponds to a specific category such as clothing, accessories, or equipment. These identifiers are used to distinguish and organize products into their respective categories within the database.", + "Name": "ProductCategoryID", + "SampleValues": [ + 39, + 38, + 17, + 41, + 36 + ] + } + ], + "CompleteEntityRelationshipsGraph": [], + "Database": "AdventureWorksLT", + "Definition": "The SalesLT.vGetAllCategories entity contains information about product categories and their hierarchical relationships. It includes both parent and child product category names as well as unique identifiers for each product category. This entity can be used to answer questions related to the structure and organization of product categories, such as finding all subcategories under a specific parent category or identifying the parent category of a given product category.", + "Entity": "SalesLT.vGetAllCategories", + "EntityName": "Product Category Information", + "EntityRelationships": [], + "Warehouse": null +} diff --git a/text_2_sql/data_dictionary/generated_samples/SalesLT.vProductAndDescription.json b/text_2_sql/data_dictionary/generated_samples/SalesLT.vProductAndDescription.json index 315c3c4..b2fc44e 100644 --- a/text_2_sql/data_dictionary/generated_samples/SalesLT.vProductAndDescription.json +++ b/text_2_sql/data_dictionary/generated_samples/SalesLT.vProductAndDescription.json @@ -1,76 +1,76 @@ { - "Entity": "SalesLT.vProductAndDescription", - "Definition": "The SalesLT.vProductAndDescription entity provides a comprehensive view of product information along with their descriptions in different cultures. It includes details such as the product ID and name, the product model, the culture code indicating the language or region, and the product description tailored to that particular culture. This entity is useful for questions related to product details, multilingual product descriptions, and product model information.", - "EntityName": "Product Information and Descriptions", - "Database": "AdventureWorksLT", - "Warehouse": null, - "EntityRelationships": [], - "CompleteEntityRelationshipsGraph": [], - "Columns": [ - { - "Name": "ProductID", - "DataType": "int", - "Definition": "The ProductID column in the SalesLT.vProductAndDescription entity contains unique numeric identifiers for each product. The values in this column are whole numbers that serve as primary keys to distinguish individual products in the database. Each number corresponds to a specific product's details and description within the SalesLT.vProductAndDescription entity.", - "AllowedValues": null, - "SampleValues": [ - 995, - 889, - 904, - 909, - 724 - ] - }, - { - "Name": "Name", - "DataType": "nvarchar", - "Definition": "The Name column in the SalesLT.vProductAndDescription entity contains descriptive names of various products. The values include specific product details such as type, model, color, and size. These names are typically composed of multiple parts describing different attributes of the product, often separated by commas or hyphens. The data in this column helps identify and differentiate products based on their unique features and specifications.", - "AllowedValues": null, - "SampleValues": [ - "Rear Derailleur", - "Sport-100 Helmet, Red", - "HL Road Frame - Red, 58", - "ML Road Frame - Red, 58", - "LL Road Rear Wheel" - ] - }, - { - "Name": "ProductModel", - "DataType": "nvarchar", - "Definition": "The ProductModel column in the SalesLT.vProductAndDescription entity contains the names of various product models sold. Each value represents the model name of a product, which can include different types of items such as bicycles and bicycle components. The values are descriptive and may include combinations of letters, numbers, and hyphens to distinguish between different product models. The names are specific and indicative of the product's type or series within a broader category.", - "AllowedValues": null, - "SampleValues": [ - "All-Purpose Bike Stand", - "Road-450", - "LL Crankset", - "Mountain-200", - "LL Headset" - ] - }, - { - "Name": "Culture", - "DataType": "nchar", - "Definition": "The Culture column in the SalesLT.vProductAndDescription entity contains language codes that identify the culture or locale associated with product descriptions. The values follow a pattern of two-letter lowercase codes, which likely correspond to the ISO 639-1 standard for language codes. Examples include 'ar' for Arabic, 'en' for English, 'th' for Thai, 'he' for Hebrew, and 'fr' for French. These codes are used to localize product information for different regions and languages.", - "AllowedValues": null, - "SampleValues": [ - "ar ", - "en ", - "th ", - "he ", - "fr " - ] - }, - { - "Name": "Description", - "DataType": "nvarchar", - "Definition": "The Description column in the SalesLT.vProductAndDescription entity contains detailed textual descriptions of various products. These descriptions provide information about the features, specifications, and unique selling points of the products. The values in this column are multilingual, indicating that the product descriptions are available in different languages, catering to a diverse customer base.", - "AllowedValues": null, - "SampleValues": [ - "High-performance carbon road fork with curved legs.", - "Chaque cadre est fabriqu\u00e9 artisanalement dans notre atelier de Bordeaux afin d'obtenir le diam\u00e8tre et l'\u00e9paisseur adapt\u00e9s \u00e0 un v\u00e9lo tout-terrain de premier choix. Le cadre en aluminium soud\u00e9 \u00e0 chaud pr\u00e9sente un tube d'un plus grand diam\u00e8tre, afin d'absorber les bosses.", - "\u0e1b\u0e23\u0e30\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e20\u0e32\u0e1e\u0e01\u0e32\u0e23\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e40\u0e01\u0e35\u0e22\u0e23\u0e4c\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e19\u0e37\u0e2d\u0e01\u0e27\u0e48\u0e32", - "\u05de\u05db\u05e0\u05e1\u05d9 \u05d2\u05d1\u05e8\u05d9\u05dd \u05e7\u05e6\u05e8\u05d9\u05dd \u05dc\u05ea\u05d7\u05e8\u05d5\u05d9\u05d5\u05ea, 8 \u05d7\u05dc\u05e7\u05d9\u05dd \u2013 \u05e2\u05e9\u05d5\u05d9\u05d9\u05dd \u05e1\u05e4\u05e0\u05d3\u05e7\u05e1 \u05e2\u05dd \u05d7\u05d2\u05d5\u05e8\u05d4 \u05d0\u05dc\u05e1\u05d8\u05d9\u05ea \u05d5\u05d4\u05d9\u05d3\u05d5\u05e7 \u05e8\u05d2\u05dc\u05d9\u05d9\u05dd.", - "\u0e08\u0e38\u0e4a\u0e1a\u0e22\u0e32\u0e07\u0e1c\u0e19\u0e36\u0e01\u0e14\u0e49\u0e27\u0e22\u0e15\u0e19\u0e40\u0e2d\u0e07" - ] - } - ] -} \ No newline at end of file + "Columns": [ + { + "AllowedValues": null, + "DataType": "int", + "Definition": "The ProductID column in the SalesLT.vProductAndDescription entity contains unique numeric identifiers for each product. The values in this column are whole numbers that serve as primary keys to distinguish individual products in the database. Each number corresponds to a specific product's details and description within the SalesLT.vProductAndDescription entity.", + "Name": "ProductID", + "SampleValues": [ + 995, + 889, + 904, + 909, + 724 + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The Name column in the SalesLT.vProductAndDescription entity contains descriptive names of various products. The values include specific product details such as type, model, color, and size. These names are typically composed of multiple parts describing different attributes of the product, often separated by commas or hyphens. The data in this column helps identify and differentiate products based on their unique features and specifications.", + "Name": "Name", + "SampleValues": [ + "Rear Derailleur", + "Sport-100 Helmet, Red", + "HL Road Frame - Red, 58", + "ML Road Frame - Red, 58", + "LL Road Rear Wheel" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The ProductModel column in the SalesLT.vProductAndDescription entity contains the names of various product models sold. Each value represents the model name of a product, which can include different types of items such as bicycles and bicycle components. The values are descriptive and may include combinations of letters, numbers, and hyphens to distinguish between different product models. The names are specific and indicative of the product's type or series within a broader category.", + "Name": "ProductModel", + "SampleValues": [ + "All-Purpose Bike Stand", + "Road-450", + "LL Crankset", + "Mountain-200", + "LL Headset" + ] + }, + { + "AllowedValues": null, + "DataType": "nchar", + "Definition": "The Culture column in the SalesLT.vProductAndDescription entity contains language codes that identify the culture or locale associated with product descriptions. The values follow a pattern of two-letter lowercase codes, which likely correspond to the ISO 639-1 standard for language codes. Examples include 'ar' for Arabic, 'en' for English, 'th' for Thai, 'he' for Hebrew, and 'fr' for French. These codes are used to localize product information for different regions and languages.", + "Name": "Culture", + "SampleValues": [ + "ar ", + "en ", + "th ", + "he ", + "fr " + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The Description column in the SalesLT.vProductAndDescription entity contains detailed textual descriptions of various products. These descriptions provide information about the features, specifications, and unique selling points of the products. The values in this column are multilingual, indicating that the product descriptions are available in different languages, catering to a diverse customer base.", + "Name": "Description", + "SampleValues": [ + "High-performance carbon road fork with curved legs.", + "Chaque cadre est fabriqu\u00e9 artisanalement dans notre atelier de Bordeaux afin d'obtenir le diam\u00e8tre et l'\u00e9paisseur adapt\u00e9s \u00e0 un v\u00e9lo tout-terrain de premier choix. Le cadre en aluminium soud\u00e9 \u00e0 chaud pr\u00e9sente un tube d'un plus grand diam\u00e8tre, afin d'absorber les bosses.", + "\u0e1b\u0e23\u0e30\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e20\u0e32\u0e1e\u0e01\u0e32\u0e23\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e40\u0e01\u0e35\u0e22\u0e23\u0e4c\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e19\u0e37\u0e2d\u0e01\u0e27\u0e48\u0e32", + "\u05de\u05db\u05e0\u05e1\u05d9 \u05d2\u05d1\u05e8\u05d9\u05dd \u05e7\u05e6\u05e8\u05d9\u05dd \u05dc\u05ea\u05d7\u05e8\u05d5\u05d9\u05d5\u05ea, 8 \u05d7\u05dc\u05e7\u05d9\u05dd \u2013 \u05e2\u05e9\u05d5\u05d9\u05d9\u05dd \u05e1\u05e4\u05e0\u05d3\u05e7\u05e1 \u05e2\u05dd \u05d7\u05d2\u05d5\u05e8\u05d4 \u05d0\u05dc\u05e1\u05d8\u05d9\u05ea \u05d5\u05d4\u05d9\u05d3\u05d5\u05e7 \u05e8\u05d2\u05dc\u05d9\u05d9\u05dd.", + "\u0e08\u0e38\u0e4a\u0e1a\u0e22\u0e32\u0e07\u0e1c\u0e19\u0e36\u0e01\u0e14\u0e49\u0e27\u0e22\u0e15\u0e19\u0e40\u0e2d\u0e07" + ] + } + ], + "CompleteEntityRelationshipsGraph": [], + "Database": "AdventureWorksLT", + "Definition": "The SalesLT.vProductAndDescription entity provides a comprehensive view of product information along with their descriptions in different cultures. It includes details such as the product ID and name, the product model, the culture code indicating the language or region, and the product description tailored to that particular culture. This entity is useful for questions related to product details, multilingual product descriptions, and product model information.", + "Entity": "SalesLT.vProductAndDescription", + "EntityName": "Product Information and Descriptions", + "EntityRelationships": [], + "Warehouse": null +} diff --git a/text_2_sql/data_dictionary/generated_samples/SalesLT.vProductModelCatalogDescription.json b/text_2_sql/data_dictionary/generated_samples/SalesLT.vProductModelCatalogDescription.json index 14410f9..2ca183f 100644 --- a/text_2_sql/data_dictionary/generated_samples/SalesLT.vProductModelCatalogDescription.json +++ b/text_2_sql/data_dictionary/generated_samples/SalesLT.vProductModelCatalogDescription.json @@ -1,292 +1,292 @@ { - "Entity": "SalesLT.vProductModelCatalogDescription", - "Definition": "The SalesLT.vProductModelCatalogDescription entity contains detailed descriptions and catalog-specific information about different product models. It includes various attributes such as product names, summaries, manufacturer details, warranty information, maintenance descriptions, and specific features related to bike components. Additionally, it offers visual details like picture angles and sizes, along with meta information such as the date of last modification and unique identifiers. This entity can be used to answer questions related to the detailed characteristics and specifications of products, including their warranty and maintenance information, as well as visual and style attributes.", - "EntityName": "Product Model Catalog Description", - "Database": "AdventureWorksLT", - "Warehouse": null, - "EntityRelationships": [], - "CompleteEntityRelationshipsGraph": [], - "Columns": [ - { - "Name": "ProductModelID", - "DataType": "int", - "Definition": "The ProductModelID column in the SalesLT.vProductModelCatalogDescription entity contains numerical identifiers for different product models. These identifiers are used to uniquely distinguish each product model within the database. The values are integers and each number corresponds to a specific product model entry. This column is essential for linking product models to their respective descriptions in the catalog.", - "AllowedValues": null, - "SampleValues": [ - 34, - 28, - 35, - 25, - 23 - ] - }, - { - "Name": "Name", - "DataType": "nvarchar", - "Definition": "The Name column in the SalesLT.vProductModelCatalogDescription entity contains the names of various product models. The names typically consist of a descriptor followed by a numerical value, which likely indicates the specific model or version of the product. These descriptors often pertain to the type or category of the product, such as \"Touring,\" \"Road,\" or \"Mountain.\"", - "AllowedValues": null, - "SampleValues": [ - "Touring-2000", - "Road-450", - "Mountain-500", - "Touring-1000", - "Road-150" - ] - }, - { - "Name": "Summary", - "DataType": "nvarchar", - "Definition": "The Summary column in the SalesLT.vProductModelCatalogDescription entity contains descriptive text summing up the features and benefits of various bicycle models. The summaries highlight key selling points such as design, comfort, performance, and specific components used in each bike. The descriptions are detailed and aim to entice potential customers by emphasizing the unique qualities of each bike model, including aspects like frame material, suspension, gear range, and additional accessories. These summaries are tailored to appeal to a wide range of customers, whether they are looking for competitive racing bikes or comfortable travel bicycles.", - "AllowedValues": null, - "SampleValues": [ - "Our top-of-the-line competition mountain bike. Performance-enhancing options include the innovative HL Frame,super-smooth front suspension, and traction for all terrain. ", - "Travel in style and comfort. Designed for maximum comfort and safety.Wide gear range takes on all hills. High-tech aluminum alloy construction provides durability without added weight. ", - "Suitable for any type of riding, on or off-road.Fits any budget. Smooth-shifting with a comfortable ride. ", - "This bike is ridden by race winners. Developed with theAdventure Works Cycles professional race team, it has a extremely lightheat-treated aluminum frame, and steering that allows precision control. ", - "The plush custom saddle keeps you riding all day, and there's plenty of space to add panniers and bike bags to the newly-redesigned carrier.This bike has great stability when fully-loaded. " - ] - }, - { - "Name": "Manufacturer", - "DataType": "nvarchar", - "Definition": "The Manufacturer column in the SalesLT.vProductModelCatalogDescription entity contains the names of companies that produce or assemble the products listed in the catalog. In the provided sample, the value is \"AdventureWorks,\" which suggests that this column stores the brand or company name responsible for manufacturing the products. The Manufacturer field likely holds text values that identify different manufacturers associated with various product models in the catalog.", - "AllowedValues": null, - "SampleValues": [ - "AdventureWorks" - ] - }, - { - "Name": "Copyright", - "DataType": "nvarchar", - "Definition": "The Copyright column in the SalesLT.vProductModelCatalogDescription entity contains the copyright year of the product model catalog description. The values reflect the year when the copyright was established, presented in a four-digit numerical format. This indicates the time period during which the intellectual property rights for the catalog description were secured.", - "AllowedValues": null, - "SampleValues": [ - "2002" - ] - }, - { - "Name": "ProductURL", - "DataType": "nvarchar", - "Definition": "The ProductURL column in the SalesLT.vProductModelCatalogDescription entity contains URLs that link to product pages on the Adventure Works website. The values in this column follow the standard URL format, beginning with 'HTTP://' or 'HTTPS://', followed by the domain name 'www.Adventure-works.com'. This column is used to provide direct access to more detailed information about each product model on the company's website.", - "AllowedValues": null, - "SampleValues": [ - "HTTP://www.Adventure-works.com" - ] - }, - { - "Name": "WarrantyPeriod", - "DataType": "nvarchar", - "Definition": "The WarrantyPeriod column in the SalesLT.vProductModelCatalogDescription entity contains information about the length of the warranty period for products. The values are expressed as a combination of a numerical value and the word \"year\" or \"years,\" indicating the duration of the warranty in years. This suggests that warranty periods are provided in whole years rather than partial years or other units of time. The data helps determine how long a product is covered under warranty.", - "AllowedValues": null, - "SampleValues": [ - "4 years", - "3 years", - "1 year" - ] - }, - { - "Name": "WarrantyDescription", - "DataType": "nvarchar", - "Definition": "The WarrantyDescription column in the SalesLT.vProductModelCatalogDescription entity contains text descriptions of the warranties associated with different product models. These descriptions typically explain the scope of coverage, such as what parts and services are included under the warranty terms. The descriptions may vary in length and detail, but generally outline the protections and benefits that come with the purchase of the product. Common inclusions in these descriptions are mentions of parts and labor coverage.", - "AllowedValues": null, - "SampleValues": [ - "parts and labor" - ] - }, - { - "Name": "NoOfYears", - "DataType": "nvarchar", - "Definition": "The NoOfYears column in the SalesLT.vProductModelCatalogDescription entity contains the duration or lifespan information of a product model, typically indicated in years. The values in this column follow a format that includes a numeric value followed by the word \"years.\" This column helps identify the length of time a product model is associated with or has been in the catalog.", - "AllowedValues": null, - "SampleValues": [ - "7 years", - "5 years", - "3 years", - "10 years" - ] - }, - { - "Name": "MaintenanceDescription", - "DataType": "nvarchar", - "Definition": "The MaintenanceDescription column in the SalesLT.vProductModelCatalogDescription entity contains descriptive text regarding the maintenance options and services available for products. The descriptions typically mention the availability of maintenance contracts through dealers or retail stores associated with AdventureWorks. The text may vary slightly but consistently communicates where and how maintenance support can be obtained.", - "AllowedValues": null, - "SampleValues": [ - "maintenance contract available through your dealer or any AdventureWorks retail store.", - "maintenance contact available through dealer or any Adventure Works Cycles retail store.", - "maintenance contact available through dealer" - ] - }, - { - "Name": "Wheel", - "DataType": "nvarchar", - "Definition": "The Wheel column in the SalesLT.vProductModelCatalogDescription entity contains descriptions of wheel-related features and specifications for different product models. These descriptions highlight aspects such as durability, performance, material composition, and suitability for various rider experience levels. The information is geared towards providing detailed insights into the quality and characteristics of the wheels used in the products.", - "AllowedValues": null, - "SampleValues": [ - "Strong wheels with double-walled rims.", - "Stable, durable wheels suitable for novice riders.", - "High performance wheels.", - "Excellent aerodynamic rims guarantee a smooth ride.", - "Aluminum alloy rim with stainless steel spokes; built for speed on our high quality rubber tires." - ] - }, - { - "Name": "Saddle", - "DataType": "nvarchar", - "Definition": "The Saddle column in the SalesLT.vProductModelCatalogDescription entity contains descriptions of bicycle saddles. The descriptions highlight features such as the material used, comfort enhancements, design innovations, and weight specifications. These entries tend to focus on attributes that improve the riding experience, including padding, pressure relief, and lightweight construction.", - "AllowedValues": null, - "SampleValues": [ - "Made from synthetic leather and features gel padding for increased comfort.", - "New design relieves pressure for long rides.", - "Cut-out shell for a more comfortable ride.", - "Comfortable saddle with bump absorping rubber bumpers.", - "Lightweight kevlar racing saddle." - ] - }, - { - "Name": "Pedal", - "DataType": "nvarchar", - "Definition": "The Pedal column in the SalesLT.vProductModelCatalogDescription entity contains descriptions of different types of bicycle pedals. These descriptions highlight the specific features, advantages, and uses of each pedal type, such as clipless pedals with adjustable tension, platforms suitable for various shoe types, and stability for all-day riding. The information is provided in sentence form, detailing the product's unique selling points and designed purpose.", - "AllowedValues": null, - "SampleValues": [ - "Top-of-the-line clipless pedals with adjustable tension.", - "Expanded platform so you can ride in any shoes; great for all-around riding.", - "A stable pedal for all-day riding." - ] - }, - { - "Name": "BikeFrame", - "DataType": "nvarchar", - "Definition": "The BikeFrame column in the SalesLT.vProductModelCatalogDescription entity contains textual descriptions of the bicycle frames used in different product models. These descriptions highlight various attributes such as material (e.g., aluminum), quality, construction techniques (e.g., welded and heat-treated), design benefits (e.g., strength, comfort, performance), and specific manufacturing processes (e.g., hand-crafted parts). The entries emphasize the unique features and technological advancements of each bike frame to appeal to potential buyers.", - "AllowedValues": null, - "SampleValues": [ - "The aluminum frame is custom-shaped for both good looks and strength;it will withstand the most rigorous challenges of daily riding.", - "Our lightest and best quality aluminum frame made from the newest alloy;it is welded and heat-treated for strength.Our innovative design results in maximum comfort and performance.", - "Our best value frame utilizing the same, ground-breaking technology as the ML aluminum frame.", - "Each frame is hand-crafted in our Bothell facility to the optimum diameterand wall-thickness required of a premium mountain frame.The heat-treated welded aluminum frame has a larger diameter tube that absorbs the bumps.", - "aluminum alloy frame and features a lightweight down-tube milled to the perfect diameter for optimal strength." - ] - }, - { - "Name": "Crankset", - "DataType": "nvarchar", - "Definition": "The Crankset column in the SalesLT.vProductModelCatalogDescription entity contains descriptions of the crankset features for various product models. The values include specific attributes and qualities of the crankset, such as materials, construction, and performance characteristics. Each value provides a brief, descriptive phrase highlighting key selling points or technical details of the crankset. The descriptions are typically short phrases that emphasize aspects like durability, rigidity, and functionality.", - "AllowedValues": null, - "SampleValues": [ - " Triple crankset; alumunim crank arm; flawless shifting. ", - " Super rigid spindle. ", - " High-strength crank arm. " - ] - }, - { - "Name": "PictureAngle", - "DataType": "nvarchar", - "Definition": "The PictureAngle column in the SalesLT.vProductModelCatalogDescription entity contains descriptions of the angle at which a product picture is taken. The values in this column describe the perspective or viewpoint from which the product image is captured, such as 'front'. This helps users understand the visual representation of the product in the catalog.", - "AllowedValues": null, - "SampleValues": [ - "front" - ] - }, - { - "Name": "PictureSize", - "DataType": "nvarchar", - "Definition": "The PictureSize column in the SalesLT.vProductModelCatalogDescription entity contains information about the size classification of pictures used in the catalog descriptions of product models. Based on the sample value provided, the sizes are described using general descriptive terms. This column helps to categorize and filter products based on the picture size used in their catalog entries.", - "AllowedValues": null, - "SampleValues": [ - "small" - ] - }, - { - "Name": "ProductPhotoID", - "DataType": "nvarchar", - "Definition": "The ProductPhotoID column in the SalesLT.vProductModelCatalogDescription entity contains unique numeric identifiers for the photos associated with products in the catalog. Each value in this column is a distinct integer that corresponds to a specific product photo, indicating which image is linked to a particular product model. This column helps in associating product models with their respective images within the catalog.", - "AllowedValues": null, - "SampleValues": [ - "87", - "126", - "118", - "111", - "1" - ] - }, - { - "Name": "Material", - "DataType": "nvarchar", - "Definition": "The Material column in the SalesLT.vProductModelCatalogDescription entity contains the type of material used in the product models. The values in this column are descriptive names of materials, which can include various types of metals, alloys, and other substances. The sample values suggest that common materials include different forms of aluminum and aluminum alloys. The data is presented in a plain text format with no special codes or abbreviations.", - "AllowedValues": null, - "SampleValues": [ - "Aluminum Alloy", - "Aluminum", - "Almuminum Alloy" - ] - }, - { - "Name": "Color", - "DataType": "nvarchar", - "Definition": "The Color column in the SalesLT.vProductModelCatalogDescription entity contains descriptive sentences about the color availability of the products. The values generally indicate the range or exceptions in color availability, such as stating if the product is available in most colors, all colors, or specific exclusions. The descriptions often follow a common format, starting with \"Available in\" followed by details about the color options. This column helps in providing a textual representation of the color options available for each product model.", - "AllowedValues": null, - "SampleValues": [ - "Available in most colors.", - "Available in most colors", - "Available in all colors.", - "Available in all colors except metallic." - ] - }, - { - "Name": "ProductLine", - "DataType": "nvarchar", - "Definition": "The ProductLine column in the SalesLT.vProductModelCatalogDescription entity contains descriptions of different categories of bikes. The values in this column represent various types of bikes, which can include classifications such as Touring bike, Road bike, and Mountain bike. The column helps categorize products within the catalog for better organization and ease of reference.", - "AllowedValues": null, - "SampleValues": [ - "Touring bike", - "Road bike", - "Mountain bike" - ] - }, - { - "Name": "Style", - "DataType": "nvarchar", - "Definition": "The Style column in the SalesLT.vProductModelCatalogDescription entity contains descriptions of the targeted gender for products. The values in this column indicate whether a product is meant for men, women, or for both genders (unisex). The data helps in categorizing products based on the intended user demographic for marketing and sales purposes.", - "AllowedValues": null, - "SampleValues": [ - "Unisex", - "Men's" - ] - }, - { - "Name": "RiderExperience", - "DataType": "nvarchar", - "Definition": "The RiderExperience column in the SalesLT.vProductModelCatalogDescription entity contains descriptions of the skill levels that a product is suitable for. The values follow a pattern indicating a range of rider experience levels, such as Novice, Intermediate, Advanced, and Professional. These ranges help indicate the suitability of the product for riders with different levels of expertise and ability.", - "AllowedValues": null, - "SampleValues": [ - "Novice to Intermediate riders", - "Novice to Advanced riders", - "Intermediate to Professional riders", - "Intermediate to Advanced riders", - "Advanced to Professional riders" - ] - }, - { - "Name": "rowguid", - "DataType": "uniqueidentifier", - "Definition": "The rowguid column in the SalesLT.vProductModelCatalogDescription entity contains unique identifier values in the form of globally unique identifiers (GUIDs). Each value is a 36-character string in the standard GUID format, which includes hexadecimal characters and hyphens separating specific character groups. This column is used to uniquely identify each row in the table and ensures that each entry can be reliably distinguished from others.", - "AllowedValues": null, - "SampleValues": [ - "FCA0665B-B956-489A-A5EC-6F0B4AA14D02", - "94FFB702-0CBC-4E3F-B840-C51F0D11C8F6", - "AA10D9E6-E33F-4DA8-ACE1-992FCD6BB171", - "52E7F2C1-DBFF-4518-927D-C7D46F9ED32E", - "8456BB94-B4DD-4A47-A76B-D0E54AB4285D" - ] - }, - { - "Name": "ModifiedDate", - "DataType": "datetime", - "Definition": "The ModifiedDate column in the SalesLT.vProductModelCatalogDescription entity contains the date and time when a product model catalog description was last updated. The values follow the format 'YYYY-MM-DD HH:MM:SS.ssssss', representing year, month, day, hour, minute, second, and fractional seconds. This column is used to track changes and ensure that the catalog description data is current and up-to-date. The precise timestamp allows for accurate monitoring and auditing of modifications.", - "AllowedValues": null, - "SampleValues": [ - "2006-11-20 09:56:38.273000", - "2005-06-01 00:00:00" - ] - } - ] -} \ No newline at end of file + "Columns": [ + { + "AllowedValues": null, + "DataType": "int", + "Definition": "The ProductModelID column in the SalesLT.vProductModelCatalogDescription entity contains numerical identifiers for different product models. These identifiers are used to uniquely distinguish each product model within the database. The values are integers and each number corresponds to a specific product model entry. This column is essential for linking product models to their respective descriptions in the catalog.", + "Name": "ProductModelID", + "SampleValues": [ + 34, + 28, + 35, + 25, + 23 + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The Name column in the SalesLT.vProductModelCatalogDescription entity contains the names of various product models. The names typically consist of a descriptor followed by a numerical value, which likely indicates the specific model or version of the product. These descriptors often pertain to the type or category of the product, such as \"Touring,\" \"Road,\" or \"Mountain.\"", + "Name": "Name", + "SampleValues": [ + "Touring-2000", + "Road-450", + "Mountain-500", + "Touring-1000", + "Road-150" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The Summary column in the SalesLT.vProductModelCatalogDescription entity contains descriptive text summing up the features and benefits of various bicycle models. The summaries highlight key selling points such as design, comfort, performance, and specific components used in each bike. The descriptions are detailed and aim to entice potential customers by emphasizing the unique qualities of each bike model, including aspects like frame material, suspension, gear range, and additional accessories. These summaries are tailored to appeal to a wide range of customers, whether they are looking for competitive racing bikes or comfortable travel bicycles.", + "Name": "Summary", + "SampleValues": [ + "Our top-of-the-line competition mountain bike. Performance-enhancing options include the innovative HL Frame,super-smooth front suspension, and traction for all terrain. ", + "Travel in style and comfort. Designed for maximum comfort and safety.Wide gear range takes on all hills. High-tech aluminum alloy construction provides durability without added weight. ", + "Suitable for any type of riding, on or off-road.Fits any budget. Smooth-shifting with a comfortable ride. ", + "This bike is ridden by race winners. Developed with theAdventure Works Cycles professional race team, it has a extremely lightheat-treated aluminum frame, and steering that allows precision control. ", + "The plush custom saddle keeps you riding all day, and there's plenty of space to add panniers and bike bags to the newly-redesigned carrier.This bike has great stability when fully-loaded. " + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The Manufacturer column in the SalesLT.vProductModelCatalogDescription entity contains the names of companies that produce or assemble the products listed in the catalog. In the provided sample, the value is \"AdventureWorks,\" which suggests that this column stores the brand or company name responsible for manufacturing the products. The Manufacturer field likely holds text values that identify different manufacturers associated with various product models in the catalog.", + "Name": "Manufacturer", + "SampleValues": [ + "AdventureWorks" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The Copyright column in the SalesLT.vProductModelCatalogDescription entity contains the copyright year of the product model catalog description. The values reflect the year when the copyright was established, presented in a four-digit numerical format. This indicates the time period during which the intellectual property rights for the catalog description were secured.", + "Name": "Copyright", + "SampleValues": [ + "2002" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The ProductURL column in the SalesLT.vProductModelCatalogDescription entity contains URLs that link to product pages on the Adventure Works website. The values in this column follow the standard URL format, beginning with 'HTTP://' or 'HTTPS://', followed by the domain name 'www.Adventure-works.com'. This column is used to provide direct access to more detailed information about each product model on the company's website.", + "Name": "ProductURL", + "SampleValues": [ + "HTTP://www.Adventure-works.com" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The WarrantyPeriod column in the SalesLT.vProductModelCatalogDescription entity contains information about the length of the warranty period for products. The values are expressed as a combination of a numerical value and the word \"year\" or \"years,\" indicating the duration of the warranty in years. This suggests that warranty periods are provided in whole years rather than partial years or other units of time. The data helps determine how long a product is covered under warranty.", + "Name": "WarrantyPeriod", + "SampleValues": [ + "4 years", + "3 years", + "1 year" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The WarrantyDescription column in the SalesLT.vProductModelCatalogDescription entity contains text descriptions of the warranties associated with different product models. These descriptions typically explain the scope of coverage, such as what parts and services are included under the warranty terms. The descriptions may vary in length and detail, but generally outline the protections and benefits that come with the purchase of the product. Common inclusions in these descriptions are mentions of parts and labor coverage.", + "Name": "WarrantyDescription", + "SampleValues": [ + "parts and labor" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The NoOfYears column in the SalesLT.vProductModelCatalogDescription entity contains the duration or lifespan information of a product model, typically indicated in years. The values in this column follow a format that includes a numeric value followed by the word \"years.\" This column helps identify the length of time a product model is associated with or has been in the catalog.", + "Name": "NoOfYears", + "SampleValues": [ + "7 years", + "5 years", + "3 years", + "10 years" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The MaintenanceDescription column in the SalesLT.vProductModelCatalogDescription entity contains descriptive text regarding the maintenance options and services available for products. The descriptions typically mention the availability of maintenance contracts through dealers or retail stores associated with AdventureWorks. The text may vary slightly but consistently communicates where and how maintenance support can be obtained.", + "Name": "MaintenanceDescription", + "SampleValues": [ + "maintenance contract available through your dealer or any AdventureWorks retail store.", + "maintenance contact available through dealer or any Adventure Works Cycles retail store.", + "maintenance contact available through dealer" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The Wheel column in the SalesLT.vProductModelCatalogDescription entity contains descriptions of wheel-related features and specifications for different product models. These descriptions highlight aspects such as durability, performance, material composition, and suitability for various rider experience levels. The information is geared towards providing detailed insights into the quality and characteristics of the wheels used in the products.", + "Name": "Wheel", + "SampleValues": [ + "Strong wheels with double-walled rims.", + "Stable, durable wheels suitable for novice riders.", + "High performance wheels.", + "Excellent aerodynamic rims guarantee a smooth ride.", + "Aluminum alloy rim with stainless steel spokes; built for speed on our high quality rubber tires." + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The Saddle column in the SalesLT.vProductModelCatalogDescription entity contains descriptions of bicycle saddles. The descriptions highlight features such as the material used, comfort enhancements, design innovations, and weight specifications. These entries tend to focus on attributes that improve the riding experience, including padding, pressure relief, and lightweight construction.", + "Name": "Saddle", + "SampleValues": [ + "Made from synthetic leather and features gel padding for increased comfort.", + "New design relieves pressure for long rides.", + "Cut-out shell for a more comfortable ride.", + "Comfortable saddle with bump absorping rubber bumpers.", + "Lightweight kevlar racing saddle." + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The Pedal column in the SalesLT.vProductModelCatalogDescription entity contains descriptions of different types of bicycle pedals. These descriptions highlight the specific features, advantages, and uses of each pedal type, such as clipless pedals with adjustable tension, platforms suitable for various shoe types, and stability for all-day riding. The information is provided in sentence form, detailing the product's unique selling points and designed purpose.", + "Name": "Pedal", + "SampleValues": [ + "Top-of-the-line clipless pedals with adjustable tension.", + "Expanded platform so you can ride in any shoes; great for all-around riding.", + "A stable pedal for all-day riding." + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The BikeFrame column in the SalesLT.vProductModelCatalogDescription entity contains textual descriptions of the bicycle frames used in different product models. These descriptions highlight various attributes such as material (e.g., aluminum), quality, construction techniques (e.g., welded and heat-treated), design benefits (e.g., strength, comfort, performance), and specific manufacturing processes (e.g., hand-crafted parts). The entries emphasize the unique features and technological advancements of each bike frame to appeal to potential buyers.", + "Name": "BikeFrame", + "SampleValues": [ + "The aluminum frame is custom-shaped for both good looks and strength;it will withstand the most rigorous challenges of daily riding.", + "Our lightest and best quality aluminum frame made from the newest alloy;it is welded and heat-treated for strength.Our innovative design results in maximum comfort and performance.", + "Our best value frame utilizing the same, ground-breaking technology as the ML aluminum frame.", + "Each frame is hand-crafted in our Bothell facility to the optimum diameterand wall-thickness required of a premium mountain frame.The heat-treated welded aluminum frame has a larger diameter tube that absorbs the bumps.", + "aluminum alloy frame and features a lightweight down-tube milled to the perfect diameter for optimal strength." + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The Crankset column in the SalesLT.vProductModelCatalogDescription entity contains descriptions of the crankset features for various product models. The values include specific attributes and qualities of the crankset, such as materials, construction, and performance characteristics. Each value provides a brief, descriptive phrase highlighting key selling points or technical details of the crankset. The descriptions are typically short phrases that emphasize aspects like durability, rigidity, and functionality.", + "Name": "Crankset", + "SampleValues": [ + " Triple crankset; alumunim crank arm; flawless shifting. ", + " Super rigid spindle. ", + " High-strength crank arm. " + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The PictureAngle column in the SalesLT.vProductModelCatalogDescription entity contains descriptions of the angle at which a product picture is taken. The values in this column describe the perspective or viewpoint from which the product image is captured, such as 'front'. This helps users understand the visual representation of the product in the catalog.", + "Name": "PictureAngle", + "SampleValues": [ + "front" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The PictureSize column in the SalesLT.vProductModelCatalogDescription entity contains information about the size classification of pictures used in the catalog descriptions of product models. Based on the sample value provided, the sizes are described using general descriptive terms. This column helps to categorize and filter products based on the picture size used in their catalog entries.", + "Name": "PictureSize", + "SampleValues": [ + "small" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The ProductPhotoID column in the SalesLT.vProductModelCatalogDescription entity contains unique numeric identifiers for the photos associated with products in the catalog. Each value in this column is a distinct integer that corresponds to a specific product photo, indicating which image is linked to a particular product model. This column helps in associating product models with their respective images within the catalog.", + "Name": "ProductPhotoID", + "SampleValues": [ + "87", + "126", + "118", + "111", + "1" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The Material column in the SalesLT.vProductModelCatalogDescription entity contains the type of material used in the product models. The values in this column are descriptive names of materials, which can include various types of metals, alloys, and other substances. The sample values suggest that common materials include different forms of aluminum and aluminum alloys. The data is presented in a plain text format with no special codes or abbreviations.", + "Name": "Material", + "SampleValues": [ + "Aluminum Alloy", + "Aluminum", + "Almuminum Alloy" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The Color column in the SalesLT.vProductModelCatalogDescription entity contains descriptive sentences about the color availability of the products. The values generally indicate the range or exceptions in color availability, such as stating if the product is available in most colors, all colors, or specific exclusions. The descriptions often follow a common format, starting with \"Available in\" followed by details about the color options. This column helps in providing a textual representation of the color options available for each product model.", + "Name": "Color", + "SampleValues": [ + "Available in most colors.", + "Available in most colors", + "Available in all colors.", + "Available in all colors except metallic." + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The ProductLine column in the SalesLT.vProductModelCatalogDescription entity contains descriptions of different categories of bikes. The values in this column represent various types of bikes, which can include classifications such as Touring bike, Road bike, and Mountain bike. The column helps categorize products within the catalog for better organization and ease of reference.", + "Name": "ProductLine", + "SampleValues": [ + "Touring bike", + "Road bike", + "Mountain bike" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The Style column in the SalesLT.vProductModelCatalogDescription entity contains descriptions of the targeted gender for products. The values in this column indicate whether a product is meant for men, women, or for both genders (unisex). The data helps in categorizing products based on the intended user demographic for marketing and sales purposes.", + "Name": "Style", + "SampleValues": [ + "Unisex", + "Men's" + ] + }, + { + "AllowedValues": null, + "DataType": "nvarchar", + "Definition": "The RiderExperience column in the SalesLT.vProductModelCatalogDescription entity contains descriptions of the skill levels that a product is suitable for. The values follow a pattern indicating a range of rider experience levels, such as Novice, Intermediate, Advanced, and Professional. These ranges help indicate the suitability of the product for riders with different levels of expertise and ability.", + "Name": "RiderExperience", + "SampleValues": [ + "Novice to Intermediate riders", + "Novice to Advanced riders", + "Intermediate to Professional riders", + "Intermediate to Advanced riders", + "Advanced to Professional riders" + ] + }, + { + "AllowedValues": null, + "DataType": "uniqueidentifier", + "Definition": "The rowguid column in the SalesLT.vProductModelCatalogDescription entity contains unique identifier values in the form of globally unique identifiers (GUIDs). Each value is a 36-character string in the standard GUID format, which includes hexadecimal characters and hyphens separating specific character groups. This column is used to uniquely identify each row in the table and ensures that each entry can be reliably distinguished from others.", + "Name": "rowguid", + "SampleValues": [ + "FCA0665B-B956-489A-A5EC-6F0B4AA14D02", + "94FFB702-0CBC-4E3F-B840-C51F0D11C8F6", + "AA10D9E6-E33F-4DA8-ACE1-992FCD6BB171", + "52E7F2C1-DBFF-4518-927D-C7D46F9ED32E", + "8456BB94-B4DD-4A47-A76B-D0E54AB4285D" + ] + }, + { + "AllowedValues": null, + "DataType": "datetime", + "Definition": "The ModifiedDate column in the SalesLT.vProductModelCatalogDescription entity contains the date and time when a product model catalog description was last updated. The values follow the format 'YYYY-MM-DD HH:MM:SS.ssssss', representing year, month, day, hour, minute, second, and fractional seconds. This column is used to track changes and ensure that the catalog description data is current and up-to-date. The precise timestamp allows for accurate monitoring and auditing of modifications.", + "Name": "ModifiedDate", + "SampleValues": [ + "2006-11-20 09:56:38.273000", + "2005-06-01 00:00:00" + ] + } + ], + "CompleteEntityRelationshipsGraph": [], + "Database": "AdventureWorksLT", + "Definition": "The SalesLT.vProductModelCatalogDescription entity contains detailed descriptions and catalog-specific information about different product models. It includes various attributes such as product names, summaries, manufacturer details, warranty information, maintenance descriptions, and specific features related to bike components. Additionally, it offers visual details like picture angles and sizes, along with meta information such as the date of last modification and unique identifiers. This entity can be used to answer questions related to the detailed characteristics and specifications of products, including their warranty and maintenance information, as well as visual and style attributes.", + "Entity": "SalesLT.vProductModelCatalogDescription", + "EntityName": "Product Model Catalog Description", + "EntityRelationships": [], + "Warehouse": null +} diff --git a/text_2_sql/data_dictionary/manual_samples/entities.json b/text_2_sql/data_dictionary/manual_samples/entities.json index e745a04..bc448b0 100644 --- a/text_2_sql/data_dictionary/manual_samples/entities.json +++ b/text_2_sql/data_dictionary/manual_samples/entities.json @@ -2,24 +2,24 @@ { "Columns": [ { + "DataType": "INT", "Definition": "A unique identifier for each sales order ticket. This ID is auto-generated and serves as the primary key for the SalesOrderTicket table.", - "Name": "SalesOrderID", - "DataType": "INT" + "Name": "SalesOrderID" }, { + "DataType": "DATETIME", "Definition": "The date and time when the sales order was created. This is used to track when the order was initiated.", - "Name": "OrderDate", - "DataType": "DATETIME" + "Name": "OrderDate" }, { + "DataType": "DATETIME", "Definition": "The date by which the order is expected to be fulfilled or delivered. It helps in managing delivery timelines.", - "Name": "DueDate", - "DataType": "DATETIME" + "Name": "DueDate" }, { + "DataType": "DATETIME", "Definition": "The date when the order was shipped to the customer. This is used for tracking shipping and fulfillment status.", - "Name": "ShipDate", - "DataType": "DATETIME" + "Name": "ShipDate" }, { "AllowedValues": [ @@ -27,26 +27,31 @@ 2, 3 ], + "DataType": "TINYINT", "Definition": "The current status of the order, represented as a numeric code (e.g., 1 for In Progress, 2 for Completed, 3 for Canceled).", - "Name": "Status", - "DataType": "TINYINT" + "Name": "Status" }, { + "DataType": "MONEY", "Definition": "The total amount due for the order, including all line items, taxes, and shipping charges.", - "Name": "TotalDue", - "DataType": "MONEY" + "Name": "TotalDue" }, { + "DataType": "DATETIME", "Definition": "The date and time when the sales order ticket record was last modified. This is used for tracking updates and changes to the order.", - "Name": "ModifiedDate", - "DataType": "DATETIME" + "Name": "ModifiedDate" } ], + "CompleteEntityRelationshipsGraph": [ + "SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductCategory", + "SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductModel -> SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription", + "SalesLT.SalesOrderDetail -> SalesLT.SalesOrderHeader -> SalesLT.Address -> SalesLT.CustomerAddress -> SalesLT.Customer", + "SalesLT.SalesOrderDetail -> SalesLT.SalesOrderHeader -> SalesLT.Customer -> SalesLT.CustomerAddress -> SalesLT.Address" + ], + "Database": "AdventureWorksLT", "Definition": "This table stores detailed information about sales order tickets, including the order details, customer information, order status, and timestamps. It is used to manage and track sales orders throughout the order lifecycle, from creation to fulfillment.", "Entity": "SalesOrderDetail", "EntityName": "Sales Order Detail", - "Database": "AdventureWorksLT", - "Warehouse": null, "EntityRelationships": [ { "ForeignEntity": "SalesLT.Product", @@ -67,34 +72,29 @@ ] } ], - "CompleteEntityRelationshipsGraph": [ - "SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductCategory", - "SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductModel -> SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription", - "SalesLT.SalesOrderDetail -> SalesLT.SalesOrderHeader -> SalesLT.Address -> SalesLT.CustomerAddress -> SalesLT.Customer", - "SalesLT.SalesOrderDetail -> SalesLT.SalesOrderHeader -> SalesLT.Customer -> SalesLT.CustomerAddress -> SalesLT.Address" - ] + "Warehouse": null }, { "Columns": [ { + "DataType": "INT", "Definition": "A unique identifier for each sales order. This ID is auto-generated and serves as the primary key for the SalesOrderHeader table.", - "Name": "SalesOrderID", - "DataType": "INT" + "Name": "SalesOrderID" }, { + "DataType": "DATETIME", "Definition": "The date and time when the sales order was created. This field is used to track when the order was initiated.", - "Name": "OrderDate", - "DataType": "DATETIME" + "Name": "OrderDate" }, { + "DataType": "DATETIME", "Definition": "The date by which the order is expected to be fulfilled or delivered. It helps in managing delivery timelines.", - "Name": "DueDate", - "DataType": "DATETIME" + "Name": "DueDate" }, { + "DataType": "DATETIME", "Definition": "The date when the order was shipped to the customer. This is used for tracking shipping and fulfillment status.", - "Name": "ShipDate", - "DataType": "DATETIME" + "Name": "ShipDate" }, { "AllowedValues": [ @@ -102,85 +102,91 @@ 2, 3 ], + "DataType": "TINYINT", "Definition": "The current status of the order, represented as a numeric code (e.g., 1 for In Progress, 2 for Completed, 3 for Canceled).", - "Name": "Status", - "DataType": "TINYINT" + "Name": "Status" }, { "AllowedValues": [ "True", "False" ], + "DataType": "BIT", "Definition": "Indicates whether the order was placed online.", - "Name": "OnlineOrderFlag", - "DataType": "BIT" + "Name": "OnlineOrderFlag" }, { + "DataType": "NVARCHAR(25)", "Definition": "A unique order number assigned to the sales order. This is used for tracking and identification purposes.", - "Name": "SalesOrderNumber", - "DataType": "NVARCHAR(25)" + "Name": "SalesOrderNumber" }, { + "DataType": "NVARCHAR(25)", "Definition": "The purchase order number provided by the customer. This field links the sales order to the customer's purchase order.", - "Name": "PurchaseOrderNumber", - "DataType": "NVARCHAR(25)" + "Name": "PurchaseOrderNumber" }, { + "DataType": "NVARCHAR(15)", "Definition": "The account number of the customer placing the order. This helps link the order to the customer's account.", - "Name": "AccountNumber", - "DataType": "NVARCHAR(15)" + "Name": "AccountNumber" }, { + "DataType": "INT", "Definition": "A foreign key that links to the Customer table, representing the customer who placed the order.", - "Name": "CustomerID", - "DataType": "INT" + "Name": "CustomerID" }, { + "DataType": "INT", "Definition": "A foreign key that links to the Address table, representing the shipping address for the order.", - "Name": "ShipToAddressID", - "DataType": "INT" + "Name": "ShipToAddressID" }, { + "DataType": "INT", "Definition": "A foreign key that links to the Address table, representing the billing address for the order.", - "Name": "BillToAddressID", - "DataType": "INT" + "Name": "BillToAddressID" }, { + "DataType": "NVARCHAR(50)", "Definition": "The shipping method used for the order (e.g., UPS, FedEx). This field helps track shipping preferences.", - "Name": "ShipMethod", - "DataType": "NVARCHAR(50)" + "Name": "ShipMethod" }, { + "DataType": "MONEY", "Definition": "The total cost of the order before taxes and shipping charges. This field is used to calculate the final total. The currency is pound sterling (GBP).", - "Name": "SubTotal", - "DataType": "MONEY" + "Name": "SubTotal" }, { + "DataType": "MONEY", "Definition": "The tax amount applied to the order. This is calculated based on the order subtotal and applicable tax rates. The currency is pound sterling (GBP).", - "Name": "TaxAmt", - "DataType": "MONEY" + "Name": "TaxAmt" }, { + "DataType": "MONEY", "Definition": "The shipping charge applied to the order. This field represents the cost of shipping the order to the customer. The currency is pound sterling (GBP).", - "Name": "Freight", - "DataType": "MONEY" + "Name": "Freight" }, { + "DataType": "MONEY", "Definition": "The total amount due for the order, including all line items, taxes, and shipping charges. The currency is pound sterling (GBP).", - "Name": "TotalDue", - "DataType": "MONEY" + "Name": "TotalDue" }, { + "DataType": "NVARCHAR(255)", "Definition": "Any additional comments or notes related to the sales order. This field can include special instructions or remarks.", - "Name": "Comment", - "DataType": "NVARCHAR(255)" + "Name": "Comment" }, { + "DataType": "DATETIME", "Definition": "The date and time when the sales order header record was last modified. This is used for tracking updates and changes to the order.", - "Name": "ModifiedDate", - "DataType": "DATETIME" + "Name": "ModifiedDate" } ], + "CompleteEntityRelationshipsGraph": [ + "SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductCategory", + "SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductModel -> SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription", + "SalesLT.SalesOrderHeader -> SalesLT.Address -> SalesLT.CustomerAddress -> SalesLT.Customer", + "SalesLT.SalesOrderHeader -> SalesLT.Customer -> SalesLT.CustomerAddress -> SalesLT.Address" + ], "Definition": "This table contains high-level information about sales orders, including order dates, customer details, shipping information, and order status. It is used to manage and track sales orders from initiation to fulfillment.", "Entity": "SalesOrderHeader", "EntityName": "Sales Order Header", @@ -191,7 +197,7 @@ { "Column": "SalesOrderID", "ForeignColumn": "SalesOrderID" - }, + } ] }, { @@ -216,52 +222,52 @@ } ] } - ], - "CompleteEntityRelationshipsGraph": [ - "SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductCategory", - "SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductModel -> SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription", - "SalesLT.SalesOrderHeader -> SalesLT.Address -> SalesLT.CustomerAddress -> SalesLT.Customer", - "SalesLT.SalesOrderHeader -> SalesLT.Customer -> SalesLT.CustomerAddress -> SalesLT.Address" ] }, { "Columns": [ { + "DataType": "INT", "Definition": "A unique identifier for each address. This ID is auto-generated and serves as the primary key for the Address table.", - "Name": "AddressID", - "DataType": "INT" + "Name": "AddressID" }, { + "DataType": "NVARCHAR(30)", "Definition": "The city in which the address is located. This is used to specify the city for the address.", - "Name": "City", - "DataType": "NVARCHAR(30)" + "Name": "City" }, { + "DataType": "NVARCHAR(50)", "Definition": "The state or province in which the address is located. This is used to specify the state or province for the address.", - "Name": "StateProvince", - "DataType": "NVARCHAR(50)" + "Name": "StateProvince" }, { + "DataType": "NVARCHAR(50)", "Definition": "The country or region in which the address is located. This is used to specify the country or region for the address.", - "Name": "CountryRegion", - "DataType": "NVARCHAR(50)" + "Name": "CountryRegion" }, { + "DataType": "NVARCHAR(15)", "Definition": "The postal code associated with the address. This is used to specify the postal code for the address, which helps in geographical sorting and shipping.", - "Name": "PostalCode", - "DataType": "NVARCHAR(15)" + "Name": "PostalCode" }, { + "DataType": "DATETIME", "Definition": "The date and time when the address record was last modified. This is used for tracking updates and changes to the address information.", - "Name": "ModifiedDate", - "DataType": "DATETIME" + "Name": "ModifiedDate" } ], + "CompleteEntityRelationshipsGraph": [ + "SalesLT.Address -> SalesLT.CustomerAddress -> SalesLT.Customer -> SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductCategory", + "SalesLT.Address -> SalesLT.CustomerAddress -> SalesLT.Customer -> SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductModel -> SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription", + "SalesLT.Address -> SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductCategory", + "SalesLT.Address -> SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductModel -> SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription", + "SalesLT.Address -> SalesLT.SalesOrderHeader -> SalesLT.Customer -> SalesLT.CustomerAddress" + ], + "Database": "AdventureWorksLT", "Definition": "This table stores address information for customers, including street addresses, city, state, postal code, and country/region. It is used to maintain contact and shipping information for orders, as well as to manage customer locations.", "Entity": "Address", "EntityName": "Address", - "Database": "AdventureWorksLT", - "Warehouse": null, "EntityRelationships": [ { "ForeignEntity": "SalesLT.CustomerAddress", @@ -294,58 +300,53 @@ ] } ], - "CompleteEntityRelationshipsGraph": [ - "SalesLT.Address -> SalesLT.CustomerAddress -> SalesLT.Customer -> SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductCategory", - "SalesLT.Address -> SalesLT.CustomerAddress -> SalesLT.Customer -> SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductModel -> SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription", - "SalesLT.Address -> SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductCategory", - "SalesLT.Address -> SalesLT.SalesOrderHeader -> SalesLT.SalesOrderDetail -> SalesLT.Product -> SalesLT.ProductModel -> SalesLT.ProductModelProductDescription -> SalesLT.ProductDescription", - "SalesLT.Address -> SalesLT.SalesOrderHeader -> SalesLT.Customer -> SalesLT.CustomerAddress" - ] + "Warehouse": null }, { "Columns": [ { + "DataType": "INT", "Definition": "A unique identifier for each product category. This ID is used to reference specific categories.", - "Name": "ProductCategoryID", - "DataType": "INT" + "Name": "ProductCategoryID" }, { + "DataType": "NVARCHAR(50)", "Definition": "The name of the parent product category. This represents the top-level category under which subcategories are grouped.", - "Name": "ParentProductCategoryName", - "DataType": "NVARCHAR(50)" + "Name": "ParentProductCategoryName" }, { + "DataType": "NVARCHAR(50)", "Definition": "The name of the product category. This can refer to either a top-level category or a subcategory, depending on the context.", - "Name": "ProductCategoryName", - "DataType": "NVARCHAR(50)" + "Name": "ProductCategoryName" } ], + "CompleteEntityRelationshipsGraph": [], + "Database": "AdventureWorksLT", "Definition": "This view provides a comprehensive list of all product categories and their corresponding subcategories in the SalesLT schema of the AdventureWorksLT database. It is used to understand the hierarchical structure of product categories, facilitating product organization and categorization.", "Entity": "vGetAllCategories", "EntityName": "Get All Categories", - "Database": "AdventureWorksLT", - "Warehouse": null, "EntityRelationships": [], - "CompleteEntityRelationshipsGraph": [] + "Warehouse": null }, { "Columns": [ { + "DataType": "INT", "Definition": "A unique identifier for each product. This ID is used to distinguish individual products.", - "Name": "ProductID", - "DataType": "INT" + "Name": "ProductID" }, { + "DataType": "NVARCHAR(50)", "Definition": "The name of the product. This provides a brief and identifiable name for each product.", - "Name": "Name", - "DataType": "NVARCHAR(50)" + "Name": "Name" }, { + "DataType": "NVARCHAR(50)", "Definition": "The model name associated with the product. This indicates the specific model type or version of the product.", - "Name": "ProductModel", - "DataType": "NVARCHAR(50)" + "Name": "ProductModel" }, { + "DataType": "NVARCHAR(6)", "Definition": "The culture or language code for the product description. This is used to localize the product description, such as 'en' for English or 'fr' for French.", "Name": "Culture", "SampleValues": [ @@ -353,152 +354,151 @@ "fr", "es", "de" - ], - "DataType": "NVARCHAR(6)" + ] }, { + "DataType": "NVARCHAR(400)", "Definition": "A detailed description of the product. This text provides additional information about the product, which can vary based on the culture or language.", - "Name": "Definition", - "DataType": "NVARCHAR(400)" + "Name": "Definition" } ], + "CompleteEntityRelationshipsGraph": [], + "Database": "AdventureWorksLT", "Definition": "This view provides detailed information about products, including their names, associated product models, descriptions, and the specific culture or language of the description. It is useful for understanding product details and translating product descriptions for different cultures.", "Entity": "vProductAndDescription", "EntityName": "Product and Description", - "Database": "AdventureWorksLT", - "Warehouse": null, "EntityRelationships": [], - "CompleteEntityRelationshipsGraph": [] + "Warehouse": null }, { "Columns": [ { + "DataType": "INT", "Definition": "A unique identifier for each product model. This ID is used to distinguish different product models.", - "Name": "ProductModelID", - "DataType": "INT" + "Name": "ProductModelID" }, { + "DataType": "NVARCHAR(50)", "Definition": "The name of the product model, providing a recognizable title for each model.", - "Name": "Name", - "DataType": "NVARCHAR(50)" + "Name": "Name" }, { + "DataType": "NVARCHAR(MAX)", "Definition": "A brief summary of the product model, highlighting key features and characteristics.", - "Name": "Summary", - "DataType": "NVARCHAR(MAX)" + "Name": "Summary" }, { + "DataType": "NVARCHAR(50)", "Definition": "The name of the manufacturer of the product model.", - "Name": "Manufacturer", - "DataType": "NVARCHAR(50)" + "Name": "Manufacturer" }, { + "DataType": "NVARCHAR(30)", "Definition": "Copyright information related to the product model, indicating the legal ownership of the product design and content.", - "Name": "Copyright", - "DataType": "NVARCHAR(30)" + "Name": "Copyright" }, { + "DataType": "NVARCHAR(256)", "Definition": "The URL for the product model, providing a link to more information or to purchase the product.", - "Name": "ProductURL", - "DataType": "NVARCHAR(256)" + "Name": "ProductURL" }, { + "DataType": "NVARCHAR(30)", "Definition": "The duration of the warranty period for the product model, specifying how long the warranty is valid.", - "Name": "WarrantyPeriod", - "DataType": "NVARCHAR(30)" + "Name": "WarrantyPeriod" }, { + "DataType": "NVARCHAR(255)", "Definition": "A description of the warranty provided for the product model, detailing what is covered under the warranty.", - "Name": "WarrantyDescription", - "DataType": "NVARCHAR(255)" + "Name": "WarrantyDescription" }, { + "DataType": "INT", "Definition": "The number of years the warranty is valid for the product model.", - "Name": "NoOfYears", - "DataType": "INT" + "Name": "NoOfYears" }, { + "DataType": "NVARCHAR(MAX)", "Definition": "A description of the maintenance requirements and recommendations for the product model.", - "Name": "MaintenanceDescription", - "DataType": "NVARCHAR(MAX)" + "Name": "MaintenanceDescription" }, { + "DataType": "NVARCHAR(50)", "Definition": "Details about the type of wheels used in the product model.", - "Name": "Wheel", - "DataType": "NVARCHAR(50)" + "Name": "Wheel" }, { + "DataType": "NVARCHAR(50)", "Definition": "Information about the saddle of the product model, such as material and design.", - "Name": "Saddle", - "DataType": "NVARCHAR(50)" + "Name": "Saddle" }, { + "DataType": "NVARCHAR(50)", "Definition": "Details regarding the pedal design and specifications of the product model.", - "Name": "Pedal", - "DataType": "NVARCHAR(50)" + "Name": "Pedal" }, { + "DataType": "NVARCHAR(50)", "Definition": "Description of the bike frame used in the product model, including material and type.", - "Name": "BikeFrame", - "DataType": "NVARCHAR(50)" + "Name": "BikeFrame" }, { + "DataType": "NVARCHAR(50)", "Definition": "Information about the crankset of the product model, specifying its design and features.", - "Name": "Crankset", - "DataType": "NVARCHAR(50)" + "Name": "Crankset" }, { + "DataType": "NVARCHAR(20)", "Definition": "The angle at which the product model is photographed, providing a visual perspective of the product.", - "Name": "PictureAngle", - "DataType": "NVARCHAR(20)" + "Name": "PictureAngle" }, { + "DataType": "NVARCHAR(20)", "Definition": "The size of the product model's picture, specifying dimensions or resolution.", - "Name": "PictureSize", - "DataType": "NVARCHAR(20)" + "Name": "PictureSize" }, { + "DataType": "INT", "Definition": "An identifier linking to the product photo, which provides a visual representation of the product model.", - "Name": "ProductPhotoID", - "DataType": "INT" + "Name": "ProductPhotoID" }, { + "DataType": "NVARCHAR(50)", "Definition": "The material used in the construction of the product model, indicating durability and quality.", - "Name": "Material", - "DataType": "NVARCHAR(50)" + "Name": "Material" }, { + "DataType": "NVARCHAR(15)", "Definition": "The color of the product model, providing information about the appearance of the product.", - "Name": "Color", - "DataType": "NVARCHAR(15)" + "Name": "Color" }, { + "DataType": "NVARCHAR(2)", "Definition": "A code representing the product line to which the model belongs, categorizing the product within a broader product range.", - "Name": "ProductLine", - "DataType": "NVARCHAR(2)" + "Name": "ProductLine" }, { + "DataType": "NVARCHAR(50)", "Definition": "The style of the product model, indicating design and aesthetic aspects.", - "Name": "Style", - "DataType": "NVARCHAR(50)" + "Name": "Style" }, { + "DataType": "NVARCHAR(50)", "Definition": "A description of the target rider's experience level for which the product model is designed, such as beginner, intermediate, or expert.", - "Name": "RiderExperience", - "DataType": "NVARCHAR(50)" + "Name": "RiderExperience" }, { + "DataType": "DATETIME", "Definition": "The date and time when the product model information was last modified, indicating the currency of the data.", - "Name": "ModifiedDate", - "DataType": "DATETIME" + "Name": "ModifiedDate" } ], + "CompleteEntityRelationshipsGraph": [], + "Database": "AdventureWorksLT", "Definition": "This view provides detailed catalog information about product models, including descriptions, manufacturing details, warranty information, and specifications related to product design and features. It is useful for generating comprehensive product catalogs and providing detailed product information to customers.", "Entity": "vProductModelCatalogDescription", "EntityName": "Product Model Catalog Description", - "Database": "AdventureWorksLT", - "Warehouse": null, "EntityRelationships": [], - "CompleteEntityRelationshipsGraph": [] + "Warehouse": null } -] \ No newline at end of file +]