Как правильно именовать таблицы, столбцы в базе данных?
Всем привет. Изучаю базы данных, установил MySQL, создал БД. Вопрос - как правильно именовать БД, таблицы, столбцы в базе данных? В ЯП есть правила именования переменных, методов и т.д., а в БД есть такие правила, рекомендации. Гугл выдает разные варианты. Почему спрашиваю, а) чтобы самому потом не запутаться, б) чтобы комп не ругался, не очень хочется потом все переписывать, лучше сразу делать правильно. Например, как правильно назвать столбец: "name column" или "name_column" или "NameColumn" и т.д. Если правил нет, то как вы товарисщи называете эти сущности?
Все спасибо за конструктивные ответы.
вот только открыл это прекрасное руководство, прочитал "префиксы типа sp_ or tbl_ избыточны" - и сразу дальше читать не хочу. Да это офигительно, когда есть префикс tbl_ or v_ и я знаю, что в одном случае это таблица и можно смело с ней работать, а в другом это вьюха, которую хрен знает кто из команды создал и что у нее внутри. Кому оно избыточно?
ну не знаю, тут кому как нравиться наверное, в основном префиксы применяют когда в одной базе могут хранятся таблицы нескольких сайтов или на разных но с совпадающими именами таблиц, если я правильно понимаю.
Поддерживаю предыдущего оратора, что мысль "префиксы типа sp_ or tbl_ избыточны" является глупостью. Добавлю, что так же глупостью является "не используйте id в качестве первичного идентификатора таблицы". А за пробелы между JOIN'ами вообще положен "пожизненный эцих с гвоздями". В общем, много там глупостей написано. Не рекомендую сей опус.
Советую почитать книгу "Совершенный код" Стива Макконнелла. Она относится больше к проектированию и программированию и данной темы касается только частично, но зато она прививает мышление, что подход к именованию (конвенции именования) нужно выработать заранее и дальше следовать им. А уже какие конвенции выбрать зависит от проекта и разработчиков. Главное, чтобы они были удобны и эффективны в использовании в данном проекте.
Если кратко: Нужно решить заранее каким правилам следовать и следовать им неотступно в конкретном проекте. От проекта к проекту конвенции именования могут отличаться, и это нормально.