Ръководство за начинаещи за писане на схеми на база данни на MySQL

Ръководство за начинаещи за писане на схеми на база данни на MySQL

При разработването на софтуерен проект един от най -важните, основополагащи и присъщи аспекти е правилно структурирана схема на база данни. Това е равносилно на това, че при изграждането на къща трябва да се уверите, че основата е правилно положена, в противен случай шансовете за изграждане на качествена къща драстично намаляват.





Изненадващо по -лесно, отколкото човек би си помислил, нека научим различните аспекти, използвани за писане на добре проектирана схема на база данни.





как да синхронизирам имейл акаунтите си

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 във всички възможни колони, за да помогнете за скоростта и производителността на таблицата. Това просто уточнява, че колоната не може да бъде оставена празна / нулева, когато е вмъкнат ред.
  • Винаги се опитвайте да поддържате размера на колоната възможно най -малък, тъй като това спомага за подобряване на скоростта и производителността.
  • The документ за самоличност колоната е цяло число, също е първичният ключ на таблицата, което означава, че е уникална, и ще се увеличава с един всеки път, когато се вмъкне запис. Това обикновено трябва да се използва за всички създадени от вас таблици, за да можете лесно да се позовавате на всеки един ред в таблицата.
  • The състояние колоната е ENUM и трябва или да има стойност „активен“ или „неактивен“. Ако не е посочена стойност, нов ред ще започне със състоянието на „активен“.
  • The баланс колоната започва с 0 за всеки нов ред и е сума, която е форматирана с две две десетични точки.
  • The дата на раждане колоната е просто ДАТА, но също така позволява нулева стойност, тъй като датата на раждане може да не е известна при създаването.
  • И накрая, created_at колоната е 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 като последен ред. Този ред просто посочва, че тази таблица съдържа дъщерни редове, които са свързани чрез потребителски идентификатор колона към родителския ред, който е документ за самоличност колоната на потребители маса. Това означава, че всеки път, когато ред се изтрие от потребители таблица, mySQL автоматично ще изтрие всички съответни редове от поръчки таблица, помагаща да се осигури структурна цялост във вашата база данни.

Обърнете внимание и на двигател = InnoDB в края на горното изявление. Въпреки че InnoDB вече е стандартният тип таблица mySQL, това не винаги е било така, така че това трябва да се добави само за да остане в безопасност, тъй като каскадирането работи само с таблици InnoDB.

как работи звуковата карта

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

Вече сте на път да създадете стабилни, добре структурирани схеми на базата данни на MySQL. Използвайки горните знания, вече можете да пишете добре организирани схеми, които осигуряват както производителност, така и структурна цялост.

Когато вашата схема е на място, уверете се, че знаете как да я използвате с тях основни SQL команди .

Дял Дял Туит електронна поща Как да заявявате няколко таблици на база данни наведнъж с SQL съединения

Научете как да използвате SQL съединения, за да рационализирате заявките, да спестите време и да се почувствате като силен потребител на SQL.

Прочетете Напред
Свързани теми За автора Мат Дизак(18 статии са публикувани) Още от Мат Дизак

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и изключителни оферти!

Щракнете тук, за да се абонирате