Я видел это в разных БД, но я буду использовать последний пример. В AdventurWorks2012 DB, естьПонимание таблиц заголовка и подробностей
- PurchaseOrderHeader
- PurchaseOrderDetail
и
- SalesOrderHeader
- SalesOrderDetail
Я пытаюсь понять, почему у вас будет эта настройка, когда вы можете поместить всю эту информацию в одну таблицу вместо двух. Извините за недостаток знаний об этом типе настройки. Я хочу убедиться, что когда я создаю новые таблицы, мне интересно с этим типом дизайна, как это будет работать подобно тому, что я могу включить для захвата ввода данных в таблицу с использованием заголовка и детали и причины.
например.
- Текущая дата
- Текущий месяц
- Текущий финансовый год
- Компания ID
- Номер редакции
- Обслуживание продукта 1 Сумма
- Сервис Продукт 2 Количество
- Обслуживание продукта 3 Сумма
- Услуги Продукт 4 Сумма
- Сервис Продукт 5 Сумма
- Общая сумма (Сумма Пункты 6-10 выше)
- сертификации Дата
- Сотрудник по сертификации
- Подача Дата
Надежда мой вопрос является Чисто.
======================
Edited для подробного примера использования установки заголовка/Detail через мой ответ на @Szymon
В моем примере выше, чтобы развернуть его как настройку Header/Detail. Когда запись была отправлена, она генерирует идентификатор Так что мой заголовок таблица будет выглядеть следующим образом:
Заголовок таблица
1, '11 /13/13',11,2013,'000001',0,10.00, '11/12/13 ',' President ',' Chuck ',' 11/12/13 '
то в моей подробной таблице он также сгенерировал бы ID, но использовал бы предыдущую запись как FK, и она выглядела бы как это...1 (новый идентификатор), 1 (ранее таблица FK таблицы заголовков), 2 (как продукт обслуживания 1), 2 (как продукт обслуживания 2), 2 (как служебный продукт 3), 2 (как служебный продукт 4), 2 (как Сервисное обслуживание изделия 5)
Detail Таблица
1,1,2.00,2.00,2.00,2.00,2.00
=================== ==========================================
Пересмотренный снова: чтобы обеспечить лучший пример последующей работы.
WKS_Header Таблица: (ПК является WKS_Header_ID)
WKS_Header_ID [int] IDENTITY(1,1) NOT NULL,
Company_ID [varchar](6) NOT NULL,
Current_Date [DateTime] NOT NULL,
Current_Month [int] NOT NULL,
Current_Fiscal_Year [int] NOT NULL,
Revision_Number [int] NOT NULL,
Worksheet_ID [varchar] (13) NOT NULL,
Total_Amt [money] NOT NULL,
Certification_Date [DateTime] NOT NULL,
Certification_Officer [varchar] (50) NOT NULL,
Submission_Date [DateTime] NOT NULL
Примеры отчеты WKS_Header таблице:
1,'000001','11/5/13',11,2013,0,'0000001111300',20.00,'11/1/13','Chuck','11/2/13'
2,'000001','11/7/13',11,2013,1,'0000001111301',10.00,'11/4/13','Chuck','11/5/13'
3,'000500','11/10/13',11,2013,0,'0005001111300',50.00,'11/5/13','Bob','11/7/13'
WKS_LineItems Таблица: (PK является WKS_LineItems_ID)
WKS_LineItems_ID [int] IDENTITY(1,1) NOT NULL,
LineItem_Description [varchar] (50) NOT NULL,
Create_User_ID [varchar] (50) NOT NULL,
Create_Date [datetime] NOT NULL,
Modify_User_ID [varchar] (50) NOT NULL,
Modify_Date [datetime] NOT NULL
Образец WKS_LineItems Таблица
1,'Service Product Widget A Amount','Admin','10/1/13',Null,Null
2,'Service Product Widget B Amount','Admin','10/1/13',Null,Null
3,'Service Product Widget C Amount','Admin','10/1/13',Null,Null
4,'Service Product Widget D Amount','Admin','10/1/13',Null,Null
5,'Service Product Widget E Amount','Admin','10/1/13',Null,Null
6,'Final Total Widgets Amount','Admin','10/1/13',Null,Null
WKS_Details Таблица: (ПК является WKS_Details_ID, ФК является WKS_Header_ID из WKS_Header таблицы)
WKS_Details_ID IDENTITY(1,1) NOT NULL,
WKS_Header_ID [int] NOT NULL,
WKS_LineItems_ID [int] NOT NULL,
WKS_Amount [decimal] (18,2) NOT NULL,
Create_User_ID [varchar] (50) NOT NULL,
Create_Date [datetime] NOT NULL
образца WKS_Details Таблицы
1,1,1,4.00,'Chuck','11/5/13'
2,1,2,0.00,'Chuck','11/5/13'
3,1,3,0.00,'Chuck','11/5/13'
4,1,4,5.00,'Chuck','11/5/13'
5,1,5,11.00,'Chuck','11/5/13'
6,1,6,20.00,'Chuck','11/5/13'
7,2,1,0.00,'Chuck','11/7/13'
8,2,2,0.00,'Chuck','11/7/13'
9,2,3,0.00,'Chuck','11/7/13'
10,2,4,0.00,'Chuck','11/7/13'
11,2,5,0.00,'Chuck','11/7/13'
12,2,6,10.00,'Chuck','11/7/13'
13,3,1,10.00,'Bob','11/10/13'
14,3,2,10.00,'Bob','11/10/13'
15,3,3,10.00,'Bob','11/10/13'
16,3,4,10.00,'Bob','11/10/13'
17,3,5,10.00,'Bob','11/10/13'
18,3,6,50.00,'Bob','11/10/13'
Сценарий: Входной информации из формы. Он создает 3 записи в таблице WKS_Header с соответствующими подробными записями в таблице WKS_Details.
Идентификатор записи 1 является исходным представлением, после чего пользователю необходимо пересмотреть номера. Этот пользователь вводит другую запись. Это идентификатор записи 2, пересмотренное представление для замещающего идентификатора записи 1. Идентификатор записи 3 - это оригинальное представление.
Правильно ли это нормализовано?
Это очень помогло бы, если бы вы описали структуры этих таблиц, чтобы те из нас, кто не был знаком с шаблоном, могли его проанализировать. Предположим, я бы сказал, что между таблицами «Заголовок» и «Подробный» может быть отношение «один ко многим», так что у вас будет одна «детальная» запись на позицию в заказе, но без видимости по крайней мере имена и типы столбцов для обеих таблиц, невозможно сказать что-либо с уверенностью. –
@AaronMiller, это помогает? –
Он делает; @ Ответ Шимона точно верен. –