Я знаю, мне очень не нравятся вопросы общего типа, но я не мог придумать лучшего способа узнать то, что мне нужно знать. Я очень зеленый в мире разработки баз данных, работая только над небольшим количеством проектов, которые просто взаимодействуют с базой данных, вместо того, чтобы фактически создавать новый с нуля. Однако все меняется, и теперь я сталкиваюсь с созданием собственной базы данных.
До сих пор я создал нужные мне таблицы и добавил нужные мне столбцы, в том числе любые таблицы ссылок для отношений многие-многие и столбцы для отношений один-ко-многим. У меня есть некоторые конкретные вопросы по этому вопросу, но я чувствовал, что вместо того, чтобы просто получить ответы на эти вопросы, было бы больше смысла спрашивать о вещах, которые я, возможно, даже не знаю, к которым я должен обратиться сейчас, а не через 6 месяцев, когда у нас будет много база данных и клиентские инструменты, использующие его.
Сначала вопросы в моей базе данных, которые привели меня к пониманию, что я недостаточно знаю:
- Как мне обеспечить актуальность моих таблиц ссылок «многие ко многим» и столбцов «один ко многим» при внесении изменений в ссылочные таблицы? С какими проблемами я могу столкнуться?
- Я использую nvarchar (n) и nvarchar (MAX) для различных текстовых полей. Стоит ли вместо этого использовать эквиваленты varchar (я читал, что при использовании nvarchar могут быть риски производительности)? Есть ли еще какие-то ошибки, касающиеся выбора типов данных, помимо осторожности в использовании массивов символов фиксированной длины для хранения информации переменной длины? Любые правила о том, как выбрать соответствующий тип данных?
- Я использую
int
для столбца ID
каждой таблицы, который является моим первичным ключом во всех, кроме таблиц ссылок (где у меня есть два первичных ключа, ID
s строк ссылочной таблицы). Этот идентификатор устанавливается как личность. Есть ли подводные камни в этом подходе?
- Я создал таблицы метаданных для таких вещей, как типы юнитов и статусы, но я не знаю, правильно ли это было делать или нет. Вы должны создать новые таблицы для таких вещей, как нумерованные списки, или есть лучший способ?
Я понимаю, что базы данных являются сложными и являются предметом многих достойных томов, но я подозреваю, что у многих из вас есть несколько советов и приемов для улучшения такого материала для чтения (хотя советы по основному чтению также приветствуются).
Сообщество wiki'd из-за довольно субъективной природы подобных сообщений. Извиняюсь, если это дубликат, я провел несколько поисков чего-то подобного, но не смог найти ни одного, хотя этот, безусловно, связан . Спасибо.
Обновление
Я только что нашел этот вопрос , который очень похож окольным путем.