Нормализация словаря данных
Я создаю словарь данных для организации, который объединяет поля, найденные в разных источниках, и определяет их. У меня есть все данные в другой базе данных Access, но это реляционный беспорядок. Я довольно новичок в Access, и в настоящее время я пытаюсь нормализовать базу данных и перенести данные поверх.
Источниками в настоящее время являются выдержки и отчеты. Другие источники будут в ближайшее время. Есть 2 подразделения Экстрактов (Старое и Новое), каждое с несколькими подразделами. Есть 6 подразделов Отчетов без дальнейших подразделений. Поля появляются между 1 и всеми отчетами и выдержками. Определения данных в основном одинаковы независимо от того, где появляется поле, но иногда различаются. Определения данных согласованы в подразделении "Извлечение", но могут различаться для извлечений и отчетов, а также для отчетов. Типы данных часто различаются для одного и того же имени поля в разных отчетах.
Мои таблицы в нормализованной базе данных (пока): информация о полях, источники и определения. Структура каждого из них выглядит следующим образом,
Tbl_[Field Info]
Field Name (PK) Full Name
--------------- ---------------------------
TSN Transaction Sequence Number
Я думаю, что это правильно, потому что полное имя не зависит от имени поля.
Tbl_[Sources]
Sources (PK)
-------------
New Extracts
Old Extracts
Здесь я начинаю думать, что все не так. Конечно, у источников должно быть что-то еще в таблице, кроме самих источников?
Tbl_[Definitions]
ID (PK) Field Name (FK) Source Definition
------- ---------------- ----------- ---------------
1 TSN Old Extracts blahblah
2 TSN New Extracts blahblah
3 ABC New Extracts asdfghjkl
Вот где я чувствую, что, должно быть, иду не так. Я часто повторяю одни и те же определения в таблице "Определения".
Имеет ли смысл моя система организации? Я надеюсь добавить больше полей с подробным описанием типа данных и того, будет ли это поле числовым или нет позднее.
2 ответа
Построение достойной реляционной модели для словаря данных является проблемой, которая существует уже более тридцати лет. Это не простая проблема. На эту тему имеется значительный объем литературы, и некоторые из них полезны. Есть также много продуктов, которые решают проблему управления словарем данных, но изучение модели данных из этих продуктов может быть очень трудным.
Вы говорите, что вы новичок в Access, но не говорите, имеете ли вы большой опыт работы с какой-либо другой системой реляционных баз данных, например SQLServer или Oracle. Если вы новичок в реляционном моделировании, я предлагаю вам пройти длинный курс обучения, прежде чем вы сможете найти подходящую модель для словаря данных.
Существует базовое предположение, что "TSN" как в старом, так и в новом извлечении будет иметь то же определение и все другие атрибуты.
При создании карт данных, по вашим критериям я пытаюсь соединить старое и новое в одну строку с новым слева, что даст вам это
Tbl_[Definitions]
ID (PK) Field Name (FK) Source Definition Field Name (Old) Source (old) Definition (old)
------- ---------------- ----------- --------------- ------- ---------------- ----------- ---------------
1 TSN Old Extracts blahblah TSN New Extracts blahblah
2 ABC New Extracts asdfghjkl