Vodnik za začetnike pri pisanju shem zbirke podatkov MySQL

Vodnik za začetnike pri pisanju shem zbirke podatkov MySQL

Pri razvoju projekta programske opreme je eden najpomembnejših, temeljnih in bistvenih vidikov pravilno strukturirana shema zbirke podatkov. Enakovredno je, da pri gradnji hiše zagotovite, da so temelji pravilno postavljeni, sicer se možnosti za izgradnjo kakovostne hiše drastično zmanjšajo.





Presenetljivo lažje, kot bi si kdo mislil, naučimo se različnih vidikov, ki se uporabljajo za pisanje dobro oblikovane sheme zbirke podatkov.





kakšen model matične plošče imam

Ustvari sintakso tabele

Za začetek odprite svoj najljubši urejevalnik besedil. Ustvarjanje sheme zbirke podatkov ne zahteva nič drugega kot navadno besedilno datoteko. Podatkovno bazo sestavlja več tabel, od katerih je vsaka sestavljena iz stolpcev, za ustvarjanje ene tabele pa se uporablja sintaksa CREATE TABLE. Tu je osnovni primer:






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

Kot lahko vidite, bo to ustvarilo tabelo zbirke podatkov z imenom uporabniki ki je sestavljen iz štirih stolpcev. To bi morala biti dokaj preprosta izjava SQL, ki se začne z Ustvari tabelo , sledi ime tabel zbirke podatkov, nato pa v oklepajih stolpce tabele, ločene z vejico.

Uporabite pravilne vrste stolpcev

Kot je prikazano zgoraj, so stolpci, ki jih bo sestavljala tabela, ločeni z vejicami. Vsaka definicija stolpca je sestavljena iz treh istih delov:



COL_NAME TYPE [OPTIONS]

Ime stolpca, ki mu sledi vrsta stolpca, nato pa morebitni neobvezni parametri. Neobvezne parametre bomo obravnavali kasneje, vendar se osredotočimo na vrsto stolpca, spodaj pa naštejemo najpogosteje uporabljene vrste stolpcev:

Za vse namene so zgoraj navedene vrste stolpcev vse, kar potrebujete za pisanje dobro zgrajenih shem baze podatkov mySQL.





Določite možnosti stolpcev

Pri določanju stolpcev lahko določite tudi različne možnosti. Spodaj je še en primer Ustvari tabelo izjava:


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

Zgornje je lahko videti malce zastrašujoče, vendar ne skrbite, to je precej preprosto. Če povzamemo, v zgornji izjavi se dogaja naslednje:





  • Vedno uporabite NOT NULL v vseh možnih stolpcih za pomoč pri hitrosti in zmogljivosti tabele. To preprosto določa, da stolpca ne morete pustiti praznega / ničelnega, ko je vstavljena vrstica.
  • Vedno se trudite, da bo stolpec čim manjši, saj pomaga izboljšati hitrost in zmogljivost.
  • The id stolpec je celo število, je tudi primarni ključ tabele, kar pomeni, da je edinstven, in se bo vsakič, ko vstavite zapis, povečal za eno. To bi na splošno morali uporabiti v vseh tabelah, ki jih ustvarite, da se lahko preprosto sklicujete na katero koli vrstico v tabeli.
  • The stanje stolpec je ENUM in mora imeti vrednost 'aktivno' ali 'neaktivno'. Če ni podana nobena vrednost, se bo nova vrstica začela s statusom 'aktivno'.
  • The ravnovesje stolpec se začne pri 0 za vsako novo vrstico in je znesek, ki je oblikovan v dveh dveh decimalnih mestih.
  • The datum rojstva stolpec je preprosto DATE, dopušča pa tudi ničelno vrednost, saj datum rojstva morda ni znan ob ustvarjanju.
  • Nazadnje, created_at stolpec je TIMESTAMP in je privzeto nastavljen na trenutni čas, ko je bila vrstica vstavljena.

Zgoraj je primer lepo strukturirane tabele zbirke podatkov in jo je treba uporabiti kot primer za naprej.

Ena največjih prednosti uporabe relacijskih baz podatkov, kot je npr mySQL je njegova odlična podpora omejitvam tujih ključev in kaskadiranju. Takrat povežete dve tabeli skupaj s stolpcem, ki tvori nadrejeni podrejeni odnos, zato se ob izbrisu nadrejene vrstice samodejno izbrišejo tudi potrebne podrejene vrstice.

Tukaj je primer:


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;

Kot zadnjo vrstico boste opazili klavzulo FOREIGN KEY. Ta vrstica preprosto navaja, da tabela vsebuje podrejene vrstice, ki so povezane z Uporabniško ime stolpec v nadrejeno vrstico, ki je id stolpec uporabniki miza. To pomeni, da se vsakič, ko se vrstica izbriše iz uporabniki mySQL bo samodejno izbrisal vse ustrezne vrstice iz naročila tabela, ki pomaga zagotoviti strukturno celovitost v vaši bazi podatkov.

Upoštevajte tudi motor = InnoDB na koncu zgornje izjave. Čeprav je InnoDB zdaj privzeta vrsta tabele mySQL, ni bilo vedno, zato jo je treba dodati samo zato, da ostanemo na varnem, saj kaskadno delovanje deluje le s tabelami InnoDB.

kako obrniti stolpce v Excelu

Oblikujte z zaupanjem

Zdaj ste na dobri poti do oblikovanja trdnih, dobro strukturiranih shem zbirk podatkov MySQL. Z uporabo zgornjega znanja lahko zdaj napišete dobro organizirane sheme, ki zagotavljajo tako zmogljivost kot strukturno celovitost.

Ko imate vzpostavljeno shemo, se prepričajte, da jo znate uporabljati s temi bistveni ukazi SQL .

Deliti Deliti Cvrkutati E-naslov Kako hkrati poizvedovati o več tabelah zbirk podatkov s pridružitvami SQL

Naučite se uporabljati združevanja SQL za poenostavitev poizvedb, prihranite čas in se počutite kot močan uporabnik SQL.

Preberite Naprej
Sorodne teme O avtorju Matt Dizak(18 objavljenih člankov) Več od Matta Dizaka

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e -knjige in ekskluzivne ponudbe!

Kliknite tukaj, če se želite naročiti