Допустимые названия таблицы в базе данных MySQL
Добрый день. подскажите как можно называть таблицу в БД, к примеру. prefix_table prefix.table prefixTable из примера, какие названия допустимы а какие нет?
Отслеживать
задан 2 янв 2018 в 9:57
438 1 1 золотой знак 6 6 серебряных знаков 20 20 бронзовых знаков
точка это элемент языка, разделяющий имя схемы и таблицы или таблицы и колонки. все остальное в названиях допустимо
2 янв 2018 в 10:04
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Есть различия в допустимых обращениях: вы не сможете написать
select id from prefix.table
Подразумевая таблицу с именем prefix.table . Разделение точкой разделяет имя базы, схемы данных и имя таблицы (в терминологии mysql схемы данных не реализованы). Вы должны будете указывать имя таблицы в специальных кавычках:
select id from `prefix.table`
Либо, если sql_mode установлен в соответствие стандарту ANSI_QUOTES :
select id from "prefix.table"
Касательно использования имён в разных регистрах — есть нюансы в зависимости от используемой файловой системы.
В итоге имена с точками всегда требуют использования кавычек и при их отсутствии дадут ошибку отсутствия базы данных или таблицы. Плюс будут удивлять читающих ваши запросы. Регистрозависимые имена таблиц могут вызвать проблемы при переносе на другую файловую систему. Имена же в нижнем регистре с использованием нижнего подчёркивания для разделения слов используются часто, соответствуют стандарту SQL и проблем как правило не вызывают. Я написал «как правило» потому что всё-таки могут попадаться в списках зарезервированных слов — такие имена тоже можно использовать, но обращаться к ним возможно только с использованием кавычек.
Название таблицы в множественном числе или нет?
Как правильно писать названия таблицы в множественном числе (например, workers) или нет (например, worker)? Есть ли какой-нибудь стандарт по этому поводу?
- Вопрос задан более трёх лет назад
- 5944 просмотра
Комментировать
Решения вопроса 5
Software Engineer ( .NET )
Стандарта нет, вопрос соглашения об именовании в отдельной команде.
То же самое можно сказать об именовании первичных ключей. Где-то пишут просто Id, а где-то TableNameId.
Из опыта могу сказать, что DBA чаще называют таблицы в единственном числе, а название первичного ключа начинают с имени таблицы. Девелоперы — наоборот.
Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать
Oracle Developer
Без разницы, главное, чтобы стиль был одним и тем же в пределах одной БД.
Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать
Я бы сначала гуглил в другом комьюнити stackoverflow.com/questions/338156/table-naming-di.
Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать
Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать
Готовые решения — не подаю, но.
С учетом что может быть список клиентов и подробные данные клиента — возможно существование и таблицы clients и таблицы client (или client_data)
В общем-то вопрос привычки и соглашений. Если работать в команде — то как правило существуют этакие style guide (иногда устные), которым сотрудники или стараются или обязаны следовать.
Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать
Ответы на вопрос 0
Ваш ответ на вопрос
Войдите, чтобы написать ответ
- SQL
- +1 ещё
Какую бд лучше выбрать?
- 1 подписчик
- 14 часов назад
- 58 просмотров
Как правильно именовать таблицы, столбцы в базе данных?
Всем привет. Изучаю базы данных, установил MySQL, создал БД. Вопрос — как правильно именовать БД, таблицы, столбцы в базе данных? В ЯП есть правила именования переменных, методов и т.д., а в БД есть такие правила, рекомендации. Гугл выдает разные варианты. Почему спрашиваю, а) чтобы самому потом не запутаться, б) чтобы комп не ругался, не очень хочется потом все переписывать, лучше сразу делать правильно. Например, как правильно назвать столбец: «name column» или «name_column» или «NameColumn» и т.д. Если правил нет, то как вы товарисщи называете эти сущности?
Все спасибо за конструктивные ответы.
- Вопрос задан более трёх лет назад
- 29791 просмотр
Базы данных и начало работы с SQL
Эта статья имеет широкий спектр применения и будет актуальна для тех, кто хочет больше узнать о том, как управляются и обрабатываются данные в современном информационном мире, и особенно для людей, которые интересуются программированием и планируют строить карьеру в IT.
Статья предоставит читателю обзор основ баз данных и систем управления базами данных, а также поможет начать начать работу с языком структурированных запросов SQL.
В современном информационном обществе данные играют ключевую роль в различных аспектах жизни. От бизнеса и науки до повседневных дел, они стали неотъемлемой частью нашего существования. Однако с возрастающим объёмом информации важно находить и использовать новые эффективные и надежные методы хранения, обработки и управления информацией. В этом контексте большую значимость представляют базы данных и системы управления базами данных (СУБД).
Обычные файлы и папки могут быть удобны для хранения информации небольших проектов, но при росте объёма информации они становятся неэффективны и сложны в управлении, поэтому большинство проектов используют Базы данных (БД).
Базы данных являются структурированными сборниками информации, организованные таким образом, чтобы обеспечить эффективное хранение, управление и доступ к информации. Они играют важную роль в различных аспектах нашей современной информационной жизни. Вот некоторые из основных причин, для которых они необходимы.
- Предоставляют механизм для долгосрочного хранения больших объёмов информации. БД могут содержать данные о клиентах, продуктах, заказах, финансах, организационной структуре и многом другом.
- Позволяют систематизировать информацию с определенными правилами, что облегчает их управление. Это включает добавление, обновление, удаление и поиск данных.
- Ориентированы на максимальную производительность доступа к информации, что обеспечивает быструю обработку запросов и минимизирует время ответа.
- Возможность обслуживать одновременно множество пользователей, обеспечивая доступ к данным с различными уровнями разрешений.
- Предоставляют инструменты, обеспечивающие безопасность данных через реализацию прав доступа, применение шифрования и проведение аудита операций.
- В БД можно устанавливать правила целостности данных. Эти правила гарантируют, что информация остается согласованной и непротиворечивой.
- БД позволяют создавать резервные копии данных, что обеспечивает возможность восстановления данных после сбоев или потери информации.
- Современные БД поддерживают опцию проведения анализа информации с последующим созданием отчетов. Это помогает выявлять тенденции, принимать решения и планировать деятельность.
- Базы данных применяются в разнообразных приложениях, включая веб-сайты, мобильные приложения и корпоративные системы, чтобы обеспечить хранение и обработку данных.
- Позволяют расширяться и добавлять новые данные и функции по мере необходимости.
Виды баз данных
В области информационных технологий существует несколько различных категорий баз данных, каждая из которых предназначена под определенные задачи и сценарии. Вот несколько из наиболее распространенных типов баз данных.
- Реляционные базы данных (RDBMS) — это самый распространенный тип баз данных. Они основаны на табличной структуре, где данные организованы в виде таблиц с рядами и столбцами.
- NoSQL (Not Only SQL) — это семейство баз данных, разработанных для работы с разнородными и неструктурированными данными. К этой категории относятся:
- Документоориентированные БД. В них информация хранится в виде документов, обычно в формате JSON или BSON (бинарный формат JSON).
- Ключ-значение БД. Записи хранятся в виде пар ключ-значение.
- Колоночные. В этом типе данные организованы по столбцам, что облегчает работу с большими объемами данных при чтении и записи.
- Графовые. Ориентированы на работу с графовыми структурами данных, состоящими из узлов и связей.
- Временные ряды (Time-Series). Оптимизированы для хранения и обработки временных рядов данных, обычно с хронологическими метками.
- Object-Oriented Database Management System (OODBMS) — эти БД позволяют хранить объекты и классы из языков программирования, что упрощает хранение и доступ к сложным структурам данных, включая наследование и полиморфизм.
- OLAP (Online Analytical Processing) базы данных. Они предназначены для аналитической обработки и агрегации данных и облегчают сложные многомерные запросы и анализ данных.
- Интернет вещей (IoT) БД. Оптимизированы для работы с огромным объемом данных, сгенерированных устройствами интернета вещей. Примеры: ThingSpeak, CrateDB.
- Иерархические базы данных. Этот тип баз данных организован в виде иерархических структур с вложенными уровнями. Одна запись может иметь несколько дочерних записей. Такие базы данных часто используются в старых системах управления базами данных, например в In-Memory Database.
Это лишь некоторые из множества типов БД, доступных в сфере информационных технологий. Каждый тип баз данных имеет свои преимущества и сферу применения. Выбор определенного типа зависит от требований и характеристик проекта или приложения.
Что такое СУБД и SQL? Разбираемся с понятиями
Система управления базами данных (СУБД) — это программное обеспечение, предназначенное для создания, управления, обновления и анализа баз данных. Она обеспечивает интерфейс для взаимодействия пользователя или приложения с данными, хранящимися в базе данных. СУБД позволяют структурировать данные таким образом, чтобы обеспечить их легкий доступ, безопасность и эффективное использование.
СУБД предоставляют различные функции.
- Позволяют определить структуру БД, включая таблицы, поля, связи и ограничения.
- Обеспечивает добавление, изменение и удаление записей в БД с помощью стандартных команд.
- Поддерживают правила, гарантирующие, что данные остаются согласованными и целостными.
- Позволяют группировать операции в транзакции для обеспечения атомарности, согласованности, изолированности и долговечности (ACID-свойства).
- Управляет доступом к информации и защищает их от несанкционированного доступа.
- Оптимизирует запросы и структуру информации, чтобы обеспечить быстрое выполнение запросов.
SQL (Structured Query Language) — это специализированный язык программирования, предназначенный для взаимодействия с реляционными базами данных. С помощью SQL можно осуществлять различные операции с информацией с помощью запросов, включая добавление, изменение и удаление записей, а также создание и модификацию таблиц и прочие операции.
Подытожим, СУБД и SQL взаимодействуют между собой, обеспечивая эффективное управление и работу с информацией. СУБД предоставляют средства для создания и управления БД, а SQL позволяет выполнять различные операции с записями в этих базах, что делает их основой современных информационных систем.
Операторы SQL и как их использовать
Оператор CREATE TABLE применяется при создании новой таблицы в БД. Он определяет структуру таблицы, указывая имена столбцов и типы их данных. Вот синтаксис оператора CREATE TABLE:
table_name — имя таблицы, которую создаем.
column1, column2, . — имена столбцов таблицы.
datatype1, datatype2, . — типы данных для каждого столбца.
constraints — ограничения, которые можно применить к столбцам, такие как PRIMARY KEY, NOT NULL, UNIQUE, FOREIGN KEY и другие.
Пример создания таблицы «Employees» с семью столбцами:
EmployeeID — целочисленный тип данных (INT), который является PRIMARY KEY для уникальной идентификации каждого сотрудника.
FirstName и LastName — строки переменной длины (VARCHAR) с максимальной длиной 50 символов. Они также имеют ограничение NOT NULL, записи не могут быть пустыми.
Age — целочисленный тип данных (INT) для хранения возраста сотрудника.
Department — строка переменной длины (VARCHAR) с максимальной длиной 100 символов, в которой будет храниться название департамента.
Salary — числовой тип данных (DECIMAL) с общим размером 10 и 2 знаками после запятой, используемый для хранения заработной платы сотрудника.
HireDate — тип данных DATE для хранения даты найма сотрудника.
Обратите внимание, что каждый столбец в таблице должен иметь уникальное имя, а типы данных и ограничения должны соответствовать данным, которые вы хотите хранить в таблице. Оператор CREATE TABLE является мощным инструментом для определения структуры вашей БД и поддержки целостности информации.
INSERT применяется для вставки новых записей в таблицу БД. Он позволяет добавлять данные в таблицу, указывая значения для каждого столбца, или вставлять информацию из другой таблицы или результатов подзапроса.
Синтаксис оператора INSERT:
column1, column2, . — имена столбцов, в которые вставляем данные.
value1, value2, . — значения, которые вы хотите вставить в соответствующие столбцы. Значения нужно указывать в том же порядке, что и столбцы.
Пример вставки данных:
В этом примере мы вставляем информацию о сотруднике в таблицу «Employees». Мы указываем значения для каждого столбца в том же порядке, что и столбцы в определении таблицы. Здесь EmployeeID, FirstName, LastName, Age, Department, Salary и HireDate — это имена столбцов таблицы «Employees», а значения, которые мы указываем, соответствуют этим столбцам для новой записи о сотруднике.
Если вы не хотите указывать значения для всех столбцов, вы можете вставить данные только в определенные столбцы, указав их имена в операторе INSERT. Например, если у нас есть таблица с двумя столбцами «FirstName» и «LastName», и «LastName» допускает значение NULL, мы можем вставить только имя без фамилии:
Это создаст новую запись с именем «Alice» и фамилией, равной NULL.
Оператор SELECT применяется для выборки записей из таблицы или результатов подзапроса. Этот оператор позволяет получить информацию из БД в соответствии с определенными условиями и затем вернуть результат в виде набора строк.
condition — условие, которое определяет, какие строки будут выбраны. Это необязательное поле. Если оно не указано, будут выбраны все строки из таблицы.
Допустим, у нас есть таблица «Employees» со столбцами: EmployeeID, FirstName, LastName, Age, Department, Salary, и HireDate. И мы хотим выбрать имена и фамилии всех сотрудников, работающих в департаменте «IT» и зарабатывающих более 40000.00:
Результатом этого запроса будет набор строк, содержащий имена и фамилии всех сотрудников, которые удовлетворяют условиям (работающих в департаменте «IT» и зарабатывающих более 40000.00).
Можно также использовать функции агрегации, чтобы выполнять такие операции над данными, как COUNT, SUM, AVG, MIN и MAX. Например, чтобы подсчитать количество сотрудников в департаменте «IT»:
Это вернет число, равное количеству сотрудников в департаменте «IT».
Оператор SELECT предоставляет много возможностей для извлечения данных из базы данных. Вы можете выбрать определенные столбцы, установить условия, сортировать результаты и использовать агрегатные функции для получения нужной информации.
Условные операторы WHERE и HAVING используются для фильтрации записей в результате запроса. Они применяются для выставления условия, которое определяет, какие строки будут включены в результаты запроса. Однако они применяются в разных частях запроса и с разными функциями.
Оператор WHERE применяется в операторе SELECT, UPDATE и DELETE для фильтрации строк в результате запроса. Он позволяет выбрать только те строки, которые удовлетворяют определенному условию. В условии обычно вызываются операторы сравнения, логические операторы и другие условия.
Пример использования оператора WHERE
Допустим, у нас есть таблица «Employees» с полями EmployeeID, FirstName, LastName и Salary. Мы хотим выбрать всех сотрудников, чья зарплата больше 50000:
В этом примере оператор WHERE фильтрует строки и выбирает только те, где значение столбца Salary больше 50000.
Оператор HAVING применяется в операторе SELECT с использованием агрегатных функций (например, COUNT, SUM, AVG, MIN, MAX) и группировкой данных с помощью оператора GROUP BY. Он позволяет фильтровать результаты группировки на основе агрегатных функций.
Пример использования оператора HAVING
Допустим, у нас есть таблица «Orders» с полями OrderID, CustomerID и TotalAmount. Мы хотим получить общую сумму заказов для каждого клиента и выбрать только тех клиентов, у которых общая сумма заказов больше 1000:
В этом примере оператор HAVING применяется после оператора GROUP BY для фильтрации результатов группировки. Он выбирает только те группы клиентов, у которых общая сумма заказов (рассчитанная с помощью функции SUM) больше 1000.
Важно знать, что оператор WHERE применяется до группировки данных (если есть), тогда как оператор HAVING применяется после группировки данных. Поэтому, если вы хотите фильтровать строки до группировки, используйте WHERE, а если после группировки — используйте HAVING.
Операторы GROUP BY и ORDER BY используются для группировки данных и сортировки результатов запроса соответственно.
Оператор GROUP BY применяется в операторе SELECT совместно с агрегатными функциями (например, COUNT, SUM, AVG, MIN, MAX) для группировки данных по определенным столбцам. Это позволяет выполнить агрегатные операции на каждой группе данных отдельно.
Синтаксис оператора GROUP BY:
Пример использования оператора GROUP BY
Допустим, у нас есть таблица «Orders» с полями OrderID, CustomerID и TotalAmount. Мы хотим получить общую сумму заказов для каждого клиента:
В примере мы группируем записи по столбцу CustomerID, а затем для каждой группы (каждого клиента) вычисляем общую сумму заказов с помощью функции SUM.
Оператор ORDER BY используется в операторе SELECT для сортировки результатов запроса в определенном порядке (возрастающем или убывающем) на основе значений одного или нескольких столбцов.
Синтаксис оператора ORDER BY:
Пример использования оператора ORDER BY
Допустим, у нас есть таблица «Employees» с полями EmployeeID, FirstName, LastName и Salary. Мы хотим выбрать имена и фамилии всех сотрудников и отсортировать результаты по заработной плате (по убыванию):
В этом примере мы выбираем имена, фамилии и заработную плату всех сотрудников и сортируем результаты в порядке убывания по столбцу Salary.
Обратите внимание, что оператор GROUP BY и оператор ORDER BY могут использоваться вместе в одном запросе. Например, вы можете сначала сгруппировать данные по одному столбцу с помощью GROUP BY, а затем отсортировать результаты групп по другому столбцу с помощью ORDER BY.
Операторы JOIN (INNER JOIN, LEFT JOIN, RIGHT JOIN) используются для объединения записей из двух или более таблиц на основе условия соответствия между столбцами. Они позволяют объединять информацию из разных таблиц и получать более полную информацию, чем при работе с отдельными таблицами.
INNER JOIN (внутреннее объединение)
Оператор INNER JOIN используется для объединения только тех строк, которые удовлетворяют условию соответствия из обеих таблиц. Он возвращает только те строки, для которых есть соответствующие значения в обеих таблицах.
Синтаксис INNER JOIN:
Пример использования INNER JOIN
Например, у нас есть две таблицы «Customers» и «Orders», и мы хотим получить информацию о клиентах и их заказах, для которых есть соответствующие записи в обеих таблицах:
LEFT JOIN (левое объединение или LEFT OUTER JOIN)
Оператор LEFT JOIN применяется для объединения всех строк из таблицы слева (левая таблица) и только соответствующих строк из таблицы справа (правая таблица). Если в правой таблице нет совпадающих значений, то будут использоваться NULL значения.
Синтаксис LEFT JOIN:
Пример использования LEFT JOIN
Допустим, у нас есть таблицы «Customers» и «Orders», и мы хотим получить информацию о клиентах и их заказах, даже если для некоторых клиентов нет соответствующих заказов:
RIGHT JOIN (правое объединение или RIGHT OUTER JOIN):
Оператор RIGHT JOIN используется для объединения всех строк из таблицы справа (правая таблица), и только соответствующие строки из таблицы слева (левая таблица). Если в левой таблице нет соответствующих значений, то будут использоваться NULL значения.
Синтаксис RIGHT JOIN:
Пример использования RIGHT JOIN
Допустим, у нас есть таблицы «Customers» и «Orders», и мы хотим получить информацию о заказах и клиентах, даже если для некоторых заказов нет соответствующих клиентов:
Обратите внимание, что в большинстве СУБД также доступен оператор FULL JOIN (полное объединение или FULL OUTER JOIN), который возвращает все строки из обеих таблиц, независимо от того, есть ли у них соответствующие значения. Однако синтаксис может немного отличаться от приведенных выше примеров в зависимости от используемой СУБД.
Хоть начало работы с SQL может показаться не таким уж простым, со временем, чаще применяя знания на практике, вы сможете не только уверенно использовать эти запросы, но и писать более сложные. Базы данных и SQL — это не только инструменты для хранения данных, но и основа для анализа и принятия важных бизнес-решений. Поэтому, если вы интересуетесь разработкой программного обеспечения или планируете карьеру в IT-индустрии, изучение баз данных и SQL станет важной ступенькой вашего профессионального роста.
Автор статьи @Luckker
НЛО прилетело и оставило здесь промокод для читателей нашего блога:
-15% на заказ любого VDS (кроме тарифа Прогрев) — HABRFIRSTVDS.