Feature/issue 131#132
Conversation
…rant Education Program Session Type to DimK12StaffAssignmentStatuses, and created DimStaffEvaluationScales
…ts for enhanced data tracking
There was a problem hiding this comment.
Pull request overview
This pull request implements database schema changes related to Issue 131, focusing on standardizing staff-related field naming conventions and adding new dimension tables and fields to support additional data elements.
Key Changes:
- Standardized naming of staff foreign key fields from
K12StaffMemberandK12StaffPersontoK12Staffacross multiple fact tables - Added new dimension tables
DimK12JobPositionStatusesandDimStaffEvaluationScales - Extended several fact and dimension tables with new fields for job position status, professional development credits, evaluation scales, and staff assignment attributes
Reviewed changes
Copilot reviewed 16 out of 17 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| src/upgrade/2025-08-27-DimPeopleCurrent-and-FK-upgrade.sql | Upgrade script to rename K12StaffMember and K12StaffPerson foreign key columns to K12Staff for consistency across FactK12StaffCourseSections and FactK12StaffAssessments |
| src/CEDS-Data-Warehouse-Project/RDS/Tables/FactK12StaffProfessionalDevelopmentSessions.sql | Added K12JobPositionStatusId column and five new professional development credit fields |
| src/CEDS-Data-Warehouse-Project/RDS/Tables/FactK12StaffEvaluationParts.sql | Added StaffEvaluationScaleId column with corresponding foreign key and index |
| src/CEDS-Data-Warehouse-Project/RDS/Tables/FactK12StaffEmployments.sql | Added K12JobPositionStatusId column with foreign key constraint and index |
| src/CEDS-Data-Warehouse-Project/RDS/Tables/FactK12StaffCourseSections.sql | Renamed K12StaffMemberId to K12StaffId and added K12JobPositionStatusId column |
| src/CEDS-Data-Warehouse-Project/RDS/Tables/FactK12StaffAssignments.sql | Added multiple new columns including JobPositionStatusDateId, AssignmentProgramTypeId, SeaFinancialExpenditureClassificationId, CharterSchoolAuthorizerId, and CharterSchoolManagementOrganizationId |
| src/CEDS-Data-Warehouse-Project/RDS/Tables/FactK12StaffAssessments.sql | Renamed K12StaffPersonId to K12StaffId and added K12JobPositionStatusId column |
| src/CEDS-Data-Warehouse-Project/RDS/Tables/DimStaffEvaluationScales.sql | New dimension table for staff evaluation scales with CEDS element metadata |
| src/CEDS-Data-Warehouse-Project/RDS/Tables/DimSeaJobClassifications.sql | Added EvaluationRequiredIndicator code and description columns |
| src/CEDS-Data-Warehouse-Project/RDS/Tables/DimProfessionalDevelopmentActivities.sql | Added ProfessionalDevelopmentApprovalStartDate and ProfessionalDevelopmentApprovalEndDate columns |
| src/CEDS-Data-Warehouse-Project/RDS/Tables/DimK12StaffAssignmentStatuses.sql | Added MigrantEducationProgramSessionType code and description columns |
| src/CEDS-Data-Warehouse-Project/RDS/Tables/DimK12JobPositionStatuses.sql | New dimension table for job position statuses including cancellation reasons |
| src/CEDS-Data-Warehouse-Project/RDS/Tables/DimCredentialDefinitions.sql | Changed multiple NOT NULL columns to nullable and added TeachingCredentialType columns |
| src/CEDS-Data-Warehouse-Project/RDS/Tables/DimCredentialAwards.sql | Added CredentialAwardIdentifierState column |
| src/CEDS-Data-Warehouse-Project/RDS/Tables/BridgeCredentialAwardRaces.sql | New bridge table linking credential awards to race dimension |
| src/CEDS-Data-Warehouse-Project/CEDS-Data-Warehouse-Project.sqlproj | Added references to new dimension tables and .NET Core build support |
| .gitignore | Updated path patterns for bin and obj directories |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @@ -0,0 +1,20 @@ | |||
| CREATE TABLE [SOM].[BridgeCredentialAwardRaces] | |||
There was a problem hiding this comment.
The table is created in the SOM schema instead of the RDS schema. All other bridge tables in this codebase use the RDS schema (e.g., BridgeCredentialAwardCompetencyDefinitions, BridgeAeStudentEnrollmentRaces). This inconsistency could cause issues with permissions, organization, and querying.
| CREATE TABLE [SOM].[BridgeCredentialAwardRaces] | ||
| ( | ||
| [BridgeCredentialAwardRaceId] int NOT NULL, | ||
| [FactCredentialAwardId] int NULL, | ||
| [RaceId] int NULL, | ||
|
|
||
| CONSTRAINT [PK_BridgeCredentialAwardRaces] PRIMARY KEY CLUSTERED ([BridgeCredentialAwardRaceId] ASC), | ||
| CONSTRAINT [FK_BridgeCredentialAwardRaces_FactCredentialAwardId] FOREIGN KEY ([FactCredentialAwardId]) REFERENCES [RDS].[FactCredentialAwards] ([FactCredentialAwardId]) ON DELETE No Action ON UPDATE No Action, | ||
| CONSTRAINT [FK_BridgeCredentialAwardRaces_RaceId] FOREIGN KEY ([RaceId]) REFERENCES [RDS].[DimRaces] ([DimRaceId]) ON DELETE No Action ON UPDATE No Action | ||
|
|
||
| ) | ||
| GO | ||
|
|
||
| CREATE NONCLUSTERED INDEX [IXFK_BridgeCredentialAwardRaces_FactCredentialAwardId] | ||
| ON [SOM].[BridgeCredentialAwardRaces] ([FactCredentialAwardId] ASC) | ||
| GO | ||
|
|
||
| CREATE NONCLUSTERED INDEX [IXFK_BridgeCredentialAwardRaces_RaceId] | ||
| ON [SOM].[BridgeCredentialAwardRaces] ([RaceId] ASC) |
There was a problem hiding this comment.
The table is created in the SOM schema instead of the RDS schema. This should use the RDS schema to be consistent with other bridge tables and the index definitions on lines 14-19 which correctly reference [SOM].[BridgeCredentialAwardRaces].
| CREATE TABLE [SOM].[BridgeCredentialAwardRaces] | |
| ( | |
| [BridgeCredentialAwardRaceId] int NOT NULL, | |
| [FactCredentialAwardId] int NULL, | |
| [RaceId] int NULL, | |
| CONSTRAINT [PK_BridgeCredentialAwardRaces] PRIMARY KEY CLUSTERED ([BridgeCredentialAwardRaceId] ASC), | |
| CONSTRAINT [FK_BridgeCredentialAwardRaces_FactCredentialAwardId] FOREIGN KEY ([FactCredentialAwardId]) REFERENCES [RDS].[FactCredentialAwards] ([FactCredentialAwardId]) ON DELETE No Action ON UPDATE No Action, | |
| CONSTRAINT [FK_BridgeCredentialAwardRaces_RaceId] FOREIGN KEY ([RaceId]) REFERENCES [RDS].[DimRaces] ([DimRaceId]) ON DELETE No Action ON UPDATE No Action | |
| ) | |
| GO | |
| CREATE NONCLUSTERED INDEX [IXFK_BridgeCredentialAwardRaces_FactCredentialAwardId] | |
| ON [SOM].[BridgeCredentialAwardRaces] ([FactCredentialAwardId] ASC) | |
| GO | |
| CREATE NONCLUSTERED INDEX [IXFK_BridgeCredentialAwardRaces_RaceId] | |
| ON [SOM].[BridgeCredentialAwardRaces] ([RaceId] ASC) | |
| CREATE TABLE [RDS].[BridgeCredentialAwardRaces] | |
| ( | |
| [BridgeCredentialAwardRaceId] int NOT NULL, | |
| [FactCredentialAwardId] int NULL, | |
| [RaceId] int NULL, | |
| CONSTRAINT [PK_BridgeCredentialAwardRaces] PRIMARY KEY CLUSTERED ([BridgeCredentialAwardRaceId] ASC), | |
| CONSTRAINT [FK_BridgeCredentialAwardRaces_FactCredentialAwardRaces_FactCredentialAwardId] FOREIGN KEY ([FactCredentialAwardId]) REFERENCES [RDS].[FactCredentialAwards] ([FactCredentialAwardId]) ON DELETE No Action ON UPDATE No Action, | |
| CONSTRAINT [FK_BridgeCredentialAwardRaces_RaceId] FOREIGN KEY ([RaceId]) REFERENCES [RDS].[DimRaces] ([DimRaceId]) ON DELETE No Action ON UPDATE No Action | |
| ) | |
| GO | |
| CREATE NONCLUSTERED INDEX [IXFK_BridgeCredentialAwardRaces_FactCredentialAwardId] | |
| ON [RDS].[BridgeCredentialAwardRaces] ([FactCredentialAwardId] ASC) | |
| GO | |
| CREATE NONCLUSTERED INDEX [IXFK_BridgeCredentialAwardRaces_RaceId] | |
| ON [RDS].[BridgeCredentialAwardRaces] ([RaceId] ASC) |
…2StaffAssignments with new fields for enhanced data tracking
…ialAwardRaces table
…tions.sql Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
@aemnathanclinton I've opened a new pull request, #133, to work on those changes. Once the pull request is ready, I'll request review from you. |
Co-authored-by: aemnathanclinton <27246381+aemnathanclinton@users.noreply.github.com>
Fix typo in extended property column references for DimSeaJobClassifications
No description provided.