Руководство для начинающих по написанию схем базы данных mySQL

Руководство для начинающих по написанию схем базы данных mySQL

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





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





трансляция с android на xbox one

CREATE TABLE Синтаксис

Для начала откройте свой любимый текстовый редактор. Для создания схемы базы данных требуется не что иное, как простой текстовый файл. База данных состоит из нескольких таблиц, каждая из которых состоит из столбцов, и синтаксис CREATE TABLE используется для создания одной таблицы. Вот простой пример:






CREATE TABLE users (
id INT NOT NULL,
is_active TINY INT NOT NULL,
full_name VAR CHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL
);

Как видите, это создаст таблицу базы данных с именем пользователи который состоит из четырех столбцов. Это должен быть довольно простой оператор SQL, начинающийся с СОЗДАТЬ ТАБЛИЦУ , за которым следует имя таблиц базы данных, затем в круглых скобках столбцы таблицы, разделенные запятой.

Используйте правильные типы столбцов

Как показано выше, столбцы, из которых будет состоять таблица, разделены запятыми. Каждое определение столбца состоит из трех одинаковых частей:



COL_NAME TYPE [OPTIONS]

Имя столбца, за которым следует тип столбца, а затем любые дополнительные параметры. Мы рассмотрим необязательные параметры позже, но, сосредоточив внимание на типе столбца, ниже перечислены наиболее часто используемые типы доступных столбцов:

Во всех смыслах перечисленные выше типы столбцов - это все, что вам нужно для написания хорошо построенных схем базы данных mySQL.





Определить параметры столбца

При определении столбцов вы также можете указать различные параметры. Ниже еще один пример СОЗДАТЬ ТАБЛИЦУ утверждение:


CREATE TABLE users (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(100) NOT NULL UNIQUE,
status ENUM('active','inactive') NOT NULL DEFAULT 'active',
balance DECIMAL(8,2) NOT NULL DEFAULT 0,
date_of_birth DATETIME,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);

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





  • Вы всегда должны использовать NOT NULL для всех столбцов, чтобы повысить скорость и производительность таблицы. Это просто указывает, что столбец не может оставаться пустым / нулевым при вставке строки.
  • Всегда старайтесь, чтобы размер столбца был как можно меньше, поскольку это помогает повысить скорость и производительность.
  • В я бы Столбец является целым числом, также является первичным ключом таблицы, означающим его уникальность, и будет увеличиваться на единицу при каждой вставке записи. Обычно это следует использовать во всех таблицах, которые вы создаете, чтобы вы могли легко ссылаться на любую отдельную строку в таблице.
  • В положение дел Столбец является ENUM и должен иметь значение «активный» или «неактивный». Если значение не указано, новая строка будет начинаться со статусом «активный».
  • В остаток средств столбец начинается с 0 для каждой новой строки и представляет собой сумму, отформатированную двумя двумя десятичными точками.
  • В Дата рождения столбец - это просто ДАТА, но также допускает нулевое значение, поскольку дата рождения может быть неизвестна при создании.
  • Наконец, создано в столбец является TIMESTAMP и по умолчанию соответствует текущему времени, когда строка была вставлена.

Выше приведен пример хорошо структурированной таблицы базы данных, и его следует использовать в дальнейшем в качестве примера.

Одно из самых больших преимуществ использования реляционных баз данных, таких как mySQL это отличная поддержка ограничений внешнего ключа и каскадирования. Это когда вы связываете две таблицы вместе столбцом, образуя отношение «родитель-потомок», поэтому, когда родительская строка удаляется, необходимые дочерние строки также автоматически удаляются.

Вот пример:


CREATE TABLE users (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(100) NOT NULL UNIQUE,
full_name VARCHAR(100) NOT NULL,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
) engine=InnoDB;
CREATE TABLE orders (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
userid INT NOT NULL,
amount DECIMAL(8,2) NOT NULL,
product_name VARCHAR(200) NOT NULL,
FOREIGN KEY (userid) REFERENCES users (id) ON DELETE CASCADE
) engine=InnoDB;

Вы заметите предложение FOREIGN KEY в последней строке. В этой строке просто говорится, что эта таблица содержит дочерние строки, которые связаны ID пользователя столбец в их родительскую строку, которая является я бы столбец пользователи стол. Это означает, что каждый раз, когда строка удаляется из пользователи table, mySQL автоматически удалит все соответствующие строки из заказы таблица, помогающая обеспечить структурную целостность вашей базы данных.

Также обратите внимание на двигатель = InnoDB в конце приведенного выше утверждения. Хотя InnoDB теперь является типом таблицы mySQL по умолчанию, это было не всегда, поэтому его следует добавить на всякий случай, поскольку каскадирование работает только с таблицами InnoDB.

как разблокировать все трофеи Snapchat

Дизайн с уверенностью

Теперь вы на правильном пути к созданию надежных, хорошо структурированных схем базы данных mySQL. Используя вышеупомянутые знания, вы теперь можете писать хорошо организованные схемы, обеспечивающие как производительность, так и структурную целостность.

Имея схему, убедитесь, что вы знаете, как ее использовать с этими основные команды SQL .

Делиться Делиться Твитнуть Эл. адрес Как запросить сразу несколько таблиц базы данных с помощью соединений SQL

Узнайте, как использовать объединения SQL для оптимизации запросов, экономии времени и создания ощущения опытного пользователя SQL.

Читать далее
Похожие темы Об авторе Мэтт Дизак(Опубликовано 18 статей) Ещё от Matt Dizak

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку технических советов, обзоров, бесплатных электронных книг и эксклюзивных предложений!

Нажмите здесь, чтобы подписаться