Jump to content
  • 0

Правила именования объектов базы данных


Быколай
 Share

Question

Задумался тут о том, как лучше называть таблицы и столбцы в БД. Наткнулся на хорошую (какой она мне показалась) статью Алексея Михайличенко Правила именования объектов базы данных.

Я вот пересмотрел некоторые свои привычки и задумался об изменении своей нотации. Например в таких моментах:

1. обычно первичный ключ AI всегда называл просто id. Автор неплохо доказывает чем удобнее имя_сущности_id

2. отказ от множественной формы сущности в именования таблиц. Вообще на эту тему стал задумываться наплодив что-то вроде

tbl_users,

tbl_usergroups

tbl_usergroups_controllers_accesses

tbl_usergroups_files_accesses

Понимаю, что темы связанные со стилем кодирования довольно холиварны, многое тут от вкуса и привычек зависит, и тем не менее хотелось бы услышать от коллег мнение о статье, и ваши варианты, как вы называете таблицы/столбцы? С другой стороны из темы может выйти неплохое пособие для начинающий, чтобы не было потом вопросов как этот, например ;)

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Ну это как бэ догма для начинающих, я с самого начала стал приучать себя давать осмысленные комбинированные названия в структуре бд, это и удобно в плане поиска инфы другому скажем разрабу и четкое структурирование по именованию.

Не даром язык sql запросов считается более приближенным к человеческому, от самого названия уже становится понятен смысл.

Link to comment
Share on other sites

  • 0

rus, в целом система предложенная в статье, по-твоему мнению, вполне себе руководство к действию? Или на вкус и цвет?

Книжки чисто по БД, увы, читать времени не было, и только сейчас озадачился вопросом, до этого приходилось или с готовыми БД работать (CMS), или проектировал их исходя из сложившихся в проекте традиций, или по аналогии со знакомыми мне CMS.

Тот же битрикс взять: не знаю как в последних версиях, но в той с которой я работаю, объекты в mysql по другим правилам обозваны. Во многом вразрез с методом предлагаемом Михайличенко.

WP в этом плане "пограмотнее". Джумла 1,5 пошли по пути минимализма — безликие id, name.

Так что, догма не догма, а то с чем приходится работать, часто не лучшему учит :)

Link to comment
Share on other sites

  • 0

rus, в целом система предложенная в статье, по-твоему мнению, вполне себе руководство к действию? Или на вкус и цвет?

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

а еще, многое зависит от кол-ва столбцов в таблице, самих таблиц да и схожих по смыслу и\или значению названий в столбцах и таблицах.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Similar Content

    • By keltkelt
      Добрый день. Я не программист, но люблю программировать.
      Родилась в голове идея: сделать в порядке саморазвития в web, а также для самоконтроля - такую штуку. Будет находиться у меня на сайте, я смогу вбивать туда все траты по категориям. Например, купил в Ашане шоколад, огурцы и хлеб. Нажал кнопку - вылезло окно, выбрал "сладости, овощи, хлеб" (или как-то так, категории придумаю). Вбил цены. Зарплату тоже буду вносить, неофициальные всякие деньги в отдельную категорию.
      В итоге цель: к примеру, показать список потраченных средств за год на сладости. Или за месяц на "Прочее". Чтобы по дате можно было посмотреть что и как. И заработанное.
      Потом прикручу в телефон приложуху, чтоб проще было после магаза это сделать. Тоже опыт.
      Так вот - нужна ли для этого БД? У меня ощущение, что для работы с сортировкой по дате, фильтрам - без нее никак. Я их совсем не знаю, но буду ковырять если надо. 
      Очень благодарен за возможные советы.
    • By skoch244
      Имею таблицу в которой хранятся данные корзины покупателей, хочу что бы она чистилась каждое утро от вчерашних записей, помогите пожалуйста реализовать это с помощью TRUNCATE.
      Вот что я смог сделать:
      mysql_query("DELETE FROM `baskets` WHERE `baskets`.`basket_date`>NOW()-INTERVAL '1' DAY");
      Но этот способ не приемлем, так как удаляет только одну запись по истечению одного дня хранения, а надо все сразу, у всех пользователей.
      `basket_date` имеет формат: 2017-02-14 10:05:32
    • By NDimich
      Есть следующий код
      $query="CALL getProducts()";$result=$conn->query($query);while($conn->next_result()){ $conn->store_result();}где вызывается хранимая процедура, после чего вызывается другая ХП:
      $query2="CALL getUsers()";$result2=$conn->query($query2);while($conn->next_result()){ $conn->store_result();}после чего результаты стандартно извлекаются 
      while($row=$result->fetch_row()){do somethins...}в локальной версии все прекрасно работает, при загрузке на сервер для тестирования в сети получаю ошибку:
      Strict Standards: mysqli::next_result(): There is no next result set. Please, call mysqli_more_results()/mysqli::more_results() to check whether to call this function/method...
      Посоветуйте как решить?
    • By dirty_prince
      В общем у меня такой шаблон что, на главной странице анонса постов видно только тайтл записи и миниатюра.
      И чтобы массово сделать каждому посту миниатюры, мне пришлось прибегнуть к такому действию что я в каждую запись добавлял в начало поста картинку, которая будет миниатюрой и потом с помощью плагина Auto Post Thumbinial генерировал массово миниатюры. После генерации как уже понятно, картинки мне больше не нужно, там должен остаться только тайтл и iframe с видео (это все содержании статей).
      Вопрос как удалить массово все эти картинки из каждых постов и оставить только iframe?

      Скрин содержании поста из админки:
      http://joxi.ru/l2ZN4GqSxMvg2J

      Или как удалить все кроме определенного куска кода, в моем случает это код iframe - 
      <iframe src='http://flashservice.xvideos.com/embedframe/4156360'frameborder=0 width=510 height=400 scrolling=no></iframe>
    • By anvyd
      Доброе время суток, нужна помощь/совет
      есть сайт, связанный со спортом, единоборства
      есть три основных раздела со статьями(статьи примерно одного формата(название, изображение, текст, время добавления, автор)):
      новости, аналитика, полезные статьи
      полезные статьи содержат три подкатегории:
      питание, физическая подготовка, спортивная медицина
      Вопрос, как лучше спроектировать БД
      сделать одну таблицу `category` с полями : `id`, `name`, `title`, `parent_id`
      , где у "новости", "аналитика" в поле `parent_i` будет стоять значение "0", а у подкатегорий это поле будет "3", а вторую таблицу непосредственно "articles"?

      Либо сделать отдельные таблицы для трех видов статей?
      Но тогда как мне оформить таблицу "полезные статьи"?
      создавать для нее отдельную таблицу категорий? или в ней сделать три поля типа "enum", и к какой категории относится статья там ставить единицу?

       
      кто может подсказать как это правильнее реализовать? Как делают на реальных проектах?
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy