Aloittelijan opas mySQL -tietokantajärjestelmien kirjoittamiseen

Aloittelijan opas mySQL -tietokantajärjestelmien kirjoittamiseen

Ohjelmistoprojektia kehitettäessä yksi tärkeimmistä, perustavanlaatuisista ja luontaisista näkökohdista on oikein jäsennelty tietokantakaavio. Se vastaa taloa rakennettaessa, että sinun on varmistettava, että perustus on kunnolla asetettu, muuten mahdollisuudet rakentaa laadukas talo vähenevät jyrkästi.





Yllättävän helpompaa kuin luulisi, opitkaamme eri puolia hyvin rakennetun tietokantakaavan kirjoittamiseen.





omenamusiikki poisti kaiken musiikkini

LUO TAULUKKO Syntaksi

Aloita avaamalla suosikki tekstieditori. Tietokantakaavan luominen ei vaadi muuta kuin pelkkää tekstitiedostoa. Tietokanta koostuu useista taulukoista, joista jokainen koostuu sarakkeista, ja CREATE TABLE -syntaksia käytetään yhden taulukon luomiseen. Tässä on perusesimerkki:






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

Kuten näet, tämä luo tietokantataulukon nimeltä käyttäjille joka koostuu neljästä sarakkeesta. Tämän pitäisi olla melko suoraviivainen SQL -käsky, joka alkaa LUO TAULUKKO , jota seuraa tietokantataulukoiden nimi ja sitten suluissa taulukon sarakkeet, jotka on erotettu pilkulla.

Käytä oikeita saraketyyppejä

Kuten yllä on esitetty, taulukon sarakkeet on erotettu pilkuilla. Jokainen sarakemääritys koostuu kolmesta samasta osasta:



COL_NAME TYPE [OPTIONS]

Sarakkeen nimi, sen jälkeen sarakkeen tyyppi ja sitten valinnaiset parametrit. Käymme valinnaisia ​​parametreja myöhemmin, mutta keskitymme sarakkeen tyyppiin, alla luetellaan yleisimmin käytetyt saraketyypit:

Yllä olevat saraketyypit ovat kaikki mitä tarvitset kirjoittaaksesi hyvin rakennetut mySQL -tietokantakaaviot.





Määritä sarakeasetukset

Kun määrität sarakkeita, voit myös määrittää erilaisia ​​vaihtoehtoja. Alla on toinen esimerkki LUO TAULUKKO lausunto:


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

Yllä oleva saattaa näyttää hieman pelottavalta, mutta ei hätää, se on melko yksinkertaista. Rikki, tässä on mitä yllä olevassa lausunnossa tapahtuu:





  • Sinun tulisi aina käyttää NOT NULL -arvoa kaikissa mahdollisissa sarakkeissa taulukon nopeuden ja suorituskyvyn parantamiseksi. Tämä yksinkertaisesti määrittää, että saraketta ei voi jättää tyhjäksi / tyhjäksi, kun rivi lisätään.
  • Yritä aina pitää sarakkeen koko mahdollisimman pienenä, koska se parantaa nopeutta ja suorituskykyä.
  • The id sarake on kokonaisluku. Tätä tulisi yleensä käyttää kaikissa luomissasi taulukoissa, jotta voit helposti viitata mihin tahansa yksittäiseen taulukon riviin.
  • The Tila sarake on ENUM, ja sen arvon on oltava joko aktiivinen tai ei -aktiivinen. Jos arvoa ei ole määritetty, uusi rivi alkaa tilalla 'aktiivinen'.
  • The saldo sarake alkaa nollasta jokaisen uuden rivin kohdalla ja on summa, joka on muotoiltu kahdella desimaalilla.
  • The syntymäaika sarake on yksinkertaisesti PÄIVÄYS, mutta sallii myös nolla -arvon, koska syntymäaikaa ei ehkä tiedetä luomisen yhteydessä.
  • Lopuksi, luotu_at sarake on TIMESTAMP ja oletusarvo on nykyinen aika, jolloin rivi lisättiin.

Yllä oleva on esimerkki kauniisti jäsennellystä tietokantataulukosta, ja sitä tulisi käyttää esimerkkinä jatkossa.

Yksi suurimmista eduista relaatiotietokantojen, kuten mySQL on sen erinomainen tuki ulkomaisten avainten rajoituksille ja porrastamiselle. Tämä on silloin, kun linkität kaksi taulukkoa yhteen sarakkeen avulla ja muodostat ylätason alisuhteen, joten kun ylätason rivi poistetaan, myös tarvittavat alirivit poistetaan automaattisesti.

Tässä on esimerkki:


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;

Huomaat ULKO -KEY -lausekkeen viimeisenä rivinä. Tällä rivillä yksinkertaisesti todetaan, että taulukko sisältää alatason rivejä, jotka on linkitetty käyttäjätunnus sarakkeesta päärivilleen, joka on id sarake käyttäjille pöytä. Tämä tarkoittaa sitä, että aina kun rivi poistetaan käyttäjille taulukossa, mySQL poistaa automaattisesti kaikki vastaavat rivit tilaukset taulukko auttaa varmistamaan rakenteellisen eheyden tietokannassa.

Huomaa myös moottori = InnoDB yllä olevan lausunnon lopussa. Vaikka InnoDB on nyt oletusarvoinen mySQL -taulukkotyyppi, se ei ollut aina, joten tämä tulisi lisätä vain pysyäkseen turvassa, koska kaskadointi toimii vain InnoDB -taulukoiden kanssa.

lataa verkkosivusto offline -katselua varten chrome

Suunnittele luottavaisin mielin

Olet nyt matkalla rakentamaan vankka, hyvin jäsennelty mySQL -tietokantakaavio. Käyttämällä yllä olevaa tietoa voit nyt kirjoittaa hyvin järjestettyjä kaavioita, jotka tarjoavat sekä suorituskykyä että rakenteellista eheyttä.

Kun kaava on valmiina, varmista, että tiedät, miten sitä käytetään näiden kanssa olennaiset SQL -komennot .

Jaa Jaa Tweet Sähköposti Useiden tietokantataulukoiden kysely kerralla SQL -liitoksilla

Opi käyttämään SQL -liitoksia virtaviivaistamaan kyselyitä, säästämään aikaa ja tuntemaan olosi SQL -tehokäyttäjäksi.

Lue seuraava
Liittyvät aiheet Kirjailijasta Matt Dizak(18 artikkelia julkaistu) Lisää Matt Dizakilta

tilaa uutiskirjeemme

Liity uutiskirjeeseemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia ​​e -kirjoja ja ainutlaatuisia tarjouksia!

Klikkaa tästä tilataksesi