Основные обозначения именования баз данных (и стиль) (нажмите здесь для более подробного описания).
имена таблиц выбирают короткие, недвусмысленные имена, используя не более одного или двух слов, различать таблицы легко облегчают именование уникальных имен полей, а также таблицы поиска и привязки, дают таблицы сингулярных имен, а не множественное число (обновление: я по-прежнему согласен с причинами, данными для этого соглашения, но большинство людей действительно любят множественные имена таблиц, поэтому я смягчил мою позицию) ... перейдите по ссылке выше, пожалуйста,
Используйте realpath () .
<час>Эти
realpath()
функция должна произойти от пути, на который указываютfile_name
, абсолютный путь, который называет тот же файл, разрешение которого не включает'.
', '..
', или символьные ссылки. Сгенерированный путь должен быть сохранен как завершенная пустым указателем строка, максимум до{PATH_MAX}
байты, в буфере, на который указываютresolved_name
., Если
resolved_name
нулевой указатель, поведениеrealpath()
определяется реализацией.
следующий пример генерирует абсолютный путь для файла, определенного symlinkpath аргументом. Сгенерированный путь хранится в массиве actualpath.
#include <stdlib.h>
...
char *symlinkpath = "/tmp/symlink/file";
char actualpath [PATH_MAX+1];
char *ptr;
ptr = realpath(symlinkpath, actualpath);