2016-12-18 4 views
0

Я просто хочу проверить с вами, ребята, какой лучший способ настроить мои базы данных, поскольку я довольно новичок в правильной настройке отношений.Дизайн/отношения базы данных

я планирую иметь следующие настройки:

База данных:MyCompany Таблица:DocumentClassification

 
id | discipline | type1 | type2 
---|------------|-------|------ 
1 | A   |01  |00 
2 | A   |01  |01 
3 | B   |01  |00 

База данных:Job1 Таблица:Документы

 
id | title | doc_number | type_id 
---|-------|------------|-------- 
1 | Doc1 |00001  |3 
2 | Doc2 |00002  |1 
3 | Doc3 |00003  |3 

База данных:Job2 Таблица:Документы

 
id | title | doc_number | type_id 
---|-------|------------|-------- 
1 | Doc1 |00001  |2 
2 | Doc2 |00002  |3 
3 | Doc3 |00003  |1 

Пожалуйста, обратите внимание, что эти отдельные базы данных, но столбец "type_id" будет выглядеть столбец «id» в таблице «DocumentClassification» (в anothe r), чтобы определить его тип документа.

я выбрал для отдельных таблиц, как мы можем иметь сотни рабочих мест с десятками тысяч документов в.

Я действительно просто хочу, чтобы проверить это правильный способ приблизиться к этому?

Заранее спасибо.

ответ

0

Имея отдельную таблицу или не имея отдельных таблиц, оба варианта в порядке, если они удовлетворяют вашим требованиям.

Если у вас есть отдельные таблицы, то определенно вам нужно иметь информацию и знания о JOINS.

Я думаю, что эта ERD полностью прекрасна.

+0

Алекс, спасибо за ваш ответ. Вы никогда бы не включили «дисциплину, тип1 и тип2» в качестве столбцов в таблицах «Документы»? Вы всегда будете использовать ссылку id, чтобы не дублировать информацию? – squatman

+0

Правильно. Но это приведет к расширению ERD, что усложнит ситуацию. Я бы предложил создать новую таблицу для типов тогда и только тогда, когда типы -> 4 или 5. В ERD есть только два значения 00 и 01, я бы не предложил новую таблицу для него. :) Не забудьте принять ответ –

+0

Алекс, спасибо. В настоящее время у нас есть 555 различных типов документов. Имея это в виду, сохраните ли вы его как отдельную базу данных и таблицу? Кроме того, в настоящее время у меня нет триггеров, настроенных для принудительного использования внешнего ключа в базах данных (я никогда не делал этого раньше) - это проблема? И жаль, что еще один запрос, как вы думаете, из-за количества заданий и документов, имеющих отдельную базу данных для каждой работы, лучший способ пойти? Большое спасибо. – squatman

Смежные вопросы