Водич за почетнике у писању шема базе података миСКЛ

Водич за почетнике у писању шема базе података миСКЛ

Приликом развоја софтверског пројекта један од најважнијих, темељних и интринзичних аспеката је правилно структурирана шема базе података. То је еквивалент када приликом изградње куће морате осигурати да су темељи правилно постављени, у супротном се шансе за изградњу квалитетне куће драстично смањују.





Изненађујуће лакше него што би се помислило, хајде да научимо различите аспекте који се користе за писање добро пројектоване шеме базе података.





аппле мусиц је избрисао сву моју музику

ЦРЕАТЕ ТАБЛЕ Синтакса

За почетак отворите свој омиљени уређивач текста. Креирање шеме базе података не захтева ништа више од обичне текстуалне датотеке. База података се састоји од више табела, од којих се свака састоји од колона, а синтакса ЦРЕАТЕ ТАБЛЕ се користи за креирање једне табеле. Ево основног примера:






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
);

Као што видите, ово ће створити табелу базе података под називом корисника који се састоји од четири колоне. Ово би требао бити прилично јасан СКЛ израз који почиње ЦРЕАТЕ ТАБЛЕ , затим име табела базе података, затим унутар заграда колоне табеле одвојене зарезом.

Користите исправне типове колона

Као што је горе приказано, колоне од којих ће се табела састојати одвојене су зарезима. Свака дефиниција колоне састоји се од три иста дела:



COL_NAME TYPE [OPTIONS]

Назив колоне, затим тип колоне, затим опционални параметри. Касније ћемо ући у опционалне параметре, али концентришући се на тип колоне, испод су наведени најчешће коришћени типови колона:

За све намере, горе наведени типови колона су све што вам је потребно за писање добро изграђених шема базе података МиСКЛ.





Дефинишите опције колоне

Приликом дефинисања колона постоје и различите опције које можете навести. Испод је још један пример ЦРЕАТЕ ТАБЛЕ изјава:


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
);

Горе наведено може изгледати помало застрашујуће, али не брините, прилично је једноставно. Скраћено, ево шта се дешава у горњој изјави:





  • Увек треба да користите НОТ НУЛЛ у свим могућим колонама како бисте помогли брзини и перформансама табеле. Ово једноставно специфицира да се ступац не може оставити празан / нулл када се унесе ред.
  • Увек се трудите да величина колоне буде што је могуће мања, јер помаже у побољшању брзине и перформанси.
  • Тхе ид колона је цео број, такође је примарни кључ табеле што значи да је јединствена и повећаће се за сваки сваки пут када се унесе запис. Ово би генерално требало да се користи у свим табелама које креирате тако да можете лако да се позовете на било који појединачни ред у табели.
  • Тхе статус колона је ЕНУМ и мора имати вредност „активна“ или „неактивна“. Ако није наведена вредност, нови ред ће почети са статусом „активан“.
  • Тхе равнотежа колона почиње са 0 за сваки нови ред и представља износ који је форматиран са две две децимале.
  • Тхе Датум рођења колона је једноставно ДАТЕ, али такође дозвољава и нулл вредност јер датум рођења можда неће бити познат након креирања.
  • На крају, Креирано ступац је ТИМЕСТАМП и према заданим поставкама је тренутно вријеме када је ред уметнут.

Горе наведено је пример лепо структуиране табеле базе података и требало би да се користи као пример за даље.

Једна од највећих предности коришћења релационих база података као што су миСКЛ је његова одлична подршка за ограничења страних кључева и каскадирање. Ово је када повежете две табеле заједно помоћу колоне, формирајући родитељски подређени однос, па када се родитељски ред избрише, потребни подређени редови се такође аутоматски бришу.

Ево примера:


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;

Приметићете клаузулу ФОРЕИГН КЕИ као последњи ред. Ова линија једноставно наводи да ова табела садржи подређене редове који су повезани ИД корисник ступац у њихов надређени ред, а то је ид колона корисника сто. Шта то значи, сваки пут када се ред избрише из корисника табле, миСКЛ ће аутоматски избрисати све одговарајуће редове из наређења Табела помаже у обезбеђивању структурног интегритета у вашој бази података.

Такође имајте на уму да енгине = ИнноДБ на крају горње изјаве. Иако је ИнноДБ сада подразумевани тип табеле миСКЛ, то није било увек, па ово треба додати само да бисте остали сигурни, јер каскадно функционише само са ИнноДБ табелама.

вифи нема важећу ИП адресу за Виндовс 10

Дизајнирајте са поверењем

Сада сте на добром путу да направите чврсте, добро структуриране схеме базе података МиСКЛ. Користећи горње знање, сада можете писати добро организоване шеме које пружају и перформансе и структурни интегритет.

Када је ваша шема постављена, уверите се да је знате користити са овим битне СКЛ команде .

Објави Објави Твеет Емаил Како одједном затражити више табела базе података помоћу СКЛ придруживања

Научите како да користите СКЛ придруживања за поједностављивање упита, уштедите време и учините да се осећате као снажан корисник СКЛ -а.

Прочитајте следеће
Повезане теме О аутору Матт Дизак(18 објављених чланака) Више од Матта Дизака

Претплатите се на наш билтен

Придружите се нашем билтену за техничке савете, критике, бесплатне е -књиге и ексклузивне понуде!

Кликните овде да бисте се претплатили