Príručka pre začiatočníkov k písaniu databázových schém mySQL

Príručka pre začiatočníkov k písaniu databázových schém mySQL

Pri vývoji softvérového projektu je jedným z najdôležitejších, základných a vnútorných aspektov správne štruktúrovaná databázová schéma. Je to ekvivalent, ako keď staviate dom, musíte zabezpečiť, aby bol základ správne položený, inak sú šance na stavbu kvalitného domu drasticky znížené.





Prekvapivo jednoduchšie, ako by si jeden myslel, sa naučme rôzne aspekty používané na napísanie dobre zostavenej schémy databázy.





ako vytvoriť disk na obnovenie systému Windows 8.1

VYTVORIŤ TABUĽKU Syntax

Na začiatku otvorte svoj obľúbený textový editor. Vytvorenie schémy databázy nevyžaduje nič iné ako obyčajný textový súbor. Databáza pozostáva z viacerých tabuliek, z ktorých každá pozostáva zo stĺpcov, a na vytvorenie jednej tabuľky sa používa syntax CREATE TABLE. Tu je základný príklad:






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

Ako vidíte, vytvorí sa databázová tabuľka s názvom používateľov ktorý pozostáva zo štyroch stĺpcov. Toto by mal byť celkom priamy príkaz SQL začínajúci na VYTVORIŤ TABUĽKU , za ktorým nasleduje názov databázových tabuliek, a potom v zátvorkách stĺpce tabuľky oddelené čiarkou.

Použite správne typy stĺpcov

Ako je uvedené vyššie, stĺpce, z ktorých bude tabuľka pozostávať, sú oddelené čiarkami. Každá definícia stĺpca sa skladá z troch rovnakých častí:



COL_NAME TYPE [OPTIONS]

Názov stĺpca, za ktorým nasleduje typ stĺpca a potom prípadné voliteľné parametre. K voliteľným parametrom sa dostaneme neskôr, ale so zameraním na typ stĺpca, nižšie uvedený zoznam najčastejšie používaných typov stĺpcov:

Vyššie uvedené typy stĺpcov sú všetko, čo potrebujete na napísanie dobre zostavených databázových schém mySQL.





Definujte možnosti stĺpcov

Pri definovaní stĺpcov existujú aj rôzne možnosti, ktoré môžete zadať. Nasleduje ďalší príklad súboru VYTVORIŤ TABUĽKU vyhlásenie:


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

Vyššie uvedené môže vyzerať trochu skľučujúco, ale nebojte sa, je to celkom jednoduché. V skratke sa vo vyššie uvedenom vyhlásení deje toto:





  • Vždy by ste vo všetkých stĺpcoch mali používať NOT NULL, aby ste pomohli s rýchlosťou a výkonom tabuľky. Toto jednoducho určuje, že stĺpec nemôže byť prázdny / prázdny, keď je vložený riadok.
  • Vždy sa snažte, aby bola veľkosť stĺpca čo najmenšia, pretože to pomáha zvýšiť rýchlosť a výkon.
  • The id stĺpec je celé číslo, je tiež primárnym kľúčom tabuľky, čo znamená, že je jedinečný, a zvýši sa o jeden pri každom vložení záznamu. Toto by sa malo vo všeobecnosti používať vo všetkých tabuľkách, ktoré vytvoríte, aby ste v tabuľke mohli ľahko odkazovať na jeden riadok.
  • The postavenie stĺpec je ENUM a musí mať buď hodnotu „aktívny“ alebo „neaktívny“. Ak nie je zadaná žiadna hodnota, nový riadok začne stavom „aktívny“.
  • The rovnováha Stĺpec začína na 0 pre každý nový riadok a je to čiastka, ktorá má formát dve dve desatinné miesta.
  • The dátum narodenia stĺpec je jednoducho DÁTUM, ale umožňuje aj zadanie nulovej hodnoty, pretože dátum narodenia nemusí byť pri vytváraní známy.
  • Naposledy, created_at stĺpec je TIMESTAMP a predvolene sa používa pre aktuálny čas, kedy bol riadok vložený.

Vyššie uvedené je príkladom pekne štruktúrovanej databázovej tabuľky a malo by byť použité ako príklad v budúcnosti.

Jednou z najväčších výhod používania relačných databáz ako napr mySQL je vynikajúcou podporou pre obmedzenia cudzích kľúčov a kaskádovanie. To je vtedy, keď prepojíte dve tabuľky dohromady stĺpcom, čím vytvoríte vzťah nadradeného podriadeného, ​​takže keď sa nadradený riadok odstráni, automaticky sa odstránia aj potrebné podradené riadky.

Tu je príklad:


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;

Ako posledný riadok si všimnete klauzulu FOREIGN KEY. Tento riadok jednoducho uvádza, že táto tabuľka obsahuje podradené riadky, ktoré sú prepojené príponou ID používateľa do ich nadradeného riadka, čo je id stĺpec stĺpca používateľov stôl. Čo to znamená, kedykoľvek je z riadka odstránený riadok používateľov tabuľka, mySQL automaticky odstráni všetky zodpovedajúce riadky z objednávky tabuľka, ktorá pomáha zaistiť štrukturálnu integritu vo vašej databáze.

Všimnite si tiež motor = InnoDB na konci vyššie uvedeného vyhlásenia. Napriek tomu, že InnoDB je teraz predvoleným typom tabuľky mySQL, nebolo to vždy, takže by ste to mali pridať, aby ste zostali na bezpečnej strane, pretože kaskádovanie funguje iba s tabuľkami InnoDB.

ako používať iphone ako mikrofón pre počítač

Dizajn s dôverou

Teraz ste na dobrej ceste k architektúre solídnych, dobre štruktúrovaných databázových schém mySQL. Pomocou vyššie uvedených znalostí môžete teraz písať dobre organizované schémy, ktoré poskytujú výkonnosť aj štrukturálnu integritu.

Keď je vaša schéma na mieste, uistite sa, že ju poznáte s týmito schémami nevyhnutné príkazy SQL .

zdieľam zdieľam Tweet E -mail Ako dotazovať viacero databázových tabuliek naraz pomocou spojení SQL

Naučte sa používať spojenia SQL na zefektívnenie dotazov, úsporu času a pocit, že sa cítite ako skúsený používateľ SQL.

Čítajte ďalej
Súvisiace témy O autorovi Matt Dizak(18 článkov uverejnených) Viac od Matta Dizaka

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné elektronické knihy a exkluzívne ponuky!

Kliknutím sem sa prihlásite na odber