Details
-
Improvement
-
Resolution: Won't Do
-
Major
-
None
-
Data Standard v2.0
-
None
-
None
Description
Unlike the EducationOrganization abstraction which is used heavily through the model, the Descriptor abstraction is not adding any value and only increases complexity.
While state agencies, ESCs, LEAs, and schools have use cases that make use of the abstraction (such as where programs are defined or administered), there is no such use case surrounding descriptors where different descriptors are treated in a generalized manner. Each concrete Descriptor is used distinctly, just as each Type table is used distinctly.
For additional technical evidence, there are no foreign keys from the Descriptor table that are not 1->1 relationships to the "concrete" descriptor tables.
The implication of this is that the Descriptors should really not be modeled as an abstraction, but rather as a pattern that should be applied to all the concrete Descriptor tables (in the same vein as the Type tables).
The following INFORMATION_SCHEMA queries demonstrate this.
The first query identifies all FK constraints from Descriptor that are not to concrete Descriptor tables. It returns no records.
SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS rc inner join INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE ctu on rc.CONSTRAINT_SCHEMA = ctu.CONSTRAINT_SCHEMA and rc.CONSTRAINT_NAME = ctu.CONSTRAINT_NAME WHERE UNIQUE_CONSTRAINT_NAME = 'PK_Descriptor' and ctu.TABLE_NAME not like '%Descriptor' -- Ignore the concrete types
This query identifies all uses of the EducationOrganization abstraction (excluding the 1->1 relationships with the concrete EdOrg entities), and returns 31 records:
SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS rc inner join INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE ctu on rc.CONSTRAINT_SCHEMA = ctu.CONSTRAINT_SCHEMA and rc.CONSTRAINT_NAME = ctu.CONSTRAINT_NAME WHERE UNIQUE_CONSTRAINT_NAME = 'PK_EducationOrganization' and ctu.TABLE_NAME NOT IN ('StateEducationAgency', 'EducationServiceCenter', 'LocalEducationAgency', 'School', 'EducationOrganizationNetwork') -- Ignore the concrete types
Attachments
Issue Links
- relates to
-
DATASTD-1088 Remove All Enumeration Types
- Closed