Vodič za početnike u pisanju shema baze podataka mySQL

Vodič za početnike u pisanju shema baze podataka mySQL

Prilikom razvoja softverskog projekta jedan od najvažnijih, temeljnih i intrinzičnih aspekata je pravilno strukturirana shema baze podataka. To je ekvivalent kada prilikom izgradnje kuće morate osigurati da su temelji pravilno postavljeni, u suprotnom se šanse za izgradnju kvalitetne kuće drastično smanjuju.





Iznenađujuće lakše nego što se moglo pomisliti, naučimo različite aspekte koji se koriste za pisanje dobro projektirane sheme baze podataka.





kako saznati tko vas je prestao pratiti na instagramu

CREATE TABLE Sintaksa

Za početak otvorite svoj omiljeni uređivač teksta. Stvaranje sheme baze podataka ne zahtijeva ništa više od obične tekstualne datoteke. Baza podataka sastoji se od više tablica, od kojih se svaka sastoji od stupaca, a sintaksa CREATE TABLE koristi se za stvaranje jedne tablice. Evo osnovnog primjera:






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

Kao što vidite, ovo će stvoriti tablicu baze podataka pod nazivom korisnika koji se sastoji od četiri stupca. Ovo bi trebao biti prilično jednostavan SQL izraz koji počinje s IZRADI TABLICU , nakon čega slijedi naziv tablica baze podataka, zatim unutar zagrada stupci tablice odvojeni zarezom.

Koristite ispravne vrste stupaca

Kao što je gore prikazano, stupci od kojih će se tablica sastojati odijeljeni su zarezima. Svaka definicija stupca sastoji se od tri ista dijela:



COL_NAME TYPE [OPTIONS]

Naziv stupca, nakon čega slijedi vrsta stupca, a zatim izborni parametri. Kasnije ćemo ući u izborne parametre, no koncentrirajući se na vrstu stupca, u nastavku su navedene najčešće korištene vrste stupaca:

Za sve namjere, gornji tipovi stupaca su sve što vam je potrebno za pisanje dobro izgrađenih shema baze podataka mySQL.





Definirajte opcije stupaca

Prilikom definiranja stupaca također možete navesti različite mogućnosti. U nastavku je još jedan primjer IZRADI TABLICU 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
);

Gore navedeno može izgledati pomalo zastrašujuće, ali ne brinite, vrlo je jednostavno. Skraćeno, evo što se događa u gornjoj izjavi:





  • Uvijek trebate koristiti NOT NULL u svim mogućim stupcima kako biste pomogli brzini i izvedbi tablice. Ovo jednostavno navodi da se stupac ne može ostaviti prazan / null kada je umetnut redak.
  • Uvijek nastojte smanjiti stupac što je moguće realnije moguće jer pomaže u poboljšanju brzine i performansi.
  • The iskaznica stupac je cijeli broj, također je primarni ključ tablice što znači da je jedinstven i povećavat će se za jedan svaki put kada se unese zapis. Ovo bi se općenito trebalo koristiti u svim tablicama koje kreirate kako biste mogli jednostavno referencirati bilo koji pojedinačni redak unutar tablice.
  • The status stupac je ENUM i mora imati vrijednost 'aktivno' ili 'neaktivno'. Ako nije navedena vrijednost, novi redak počet će sa statusom 'aktivan'.
  • The ravnotežu stupac počinje s 0 za svaki novi redak i iznos je koji je formatiran s dvije dvije decimalne točke.
  • The Datum rođenja stupac je jednostavno DATE, ali također dopušta null vrijednost jer datum rođenja možda neće biti poznat nakon stvaranja.
  • Na kraju, created_at stupac je TIMESTAMP i prema zadanim postavkama je trenutno vrijeme kada je redak umetnut.

Gore navedeno je primjer lijepo strukturirane tablice baze podataka i treba se koristiti kao primjer za dalje.

Jedna od najvećih prednosti korištenja relacijskih baza podataka, npr mySQL njegova je izvrsna podrška za ograničenja stranih ključeva i kaskadiranje. To je kada povežete dvije tablice zajedno u stupac, tvoreći roditeljski podređeni odnos, pa se nakon brisanja nadređenog retka potrebni podređeni redovi također automatski brišu.

Evo primjera:


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;

Primijetit ćete klauzulu FOREIGN KEY kao zadnji redak. Ovaj redak jednostavno navodi da ova tablica sadrži podređene retke koji su povezani korisnički ID stupca u njihov nadređeni redak, a to je iskaznica stupca korisnika stol. Što to znači, svaki put kada se redak izbriše iz korisnika tablica, mySQL će automatski izbrisati sve odgovarajuće retke iz narudžbe tablica pomaže osigurati strukturni integritet u vašoj bazi podataka.

Također imajte na umu da motor = InnoDB na kraju gornje izjave. Iako je InnoDB sada zadana vrsta tablice mySQL, to nije bilo uvijek, pa to treba dodati samo da biste ostali sigurni, jer kaskadno funkcioniranje radi samo s tablicama InnoDB.

navigacijska aplikacija za android besplatno preuzimanje

Dizajnirajte s povjerenjem

Sada ste na dobrom putu da izgradite čvrste, dobro strukturirane sheme baze podataka MySQL. Koristeći gornje znanje, sada možete napisati dobro organizirane sheme koje pružaju i performanse i strukturni integritet.

S postavljenom shemom provjerite znate li je koristiti s ovim bitne SQL naredbe .

Udio Udio Cvrkut E -pošta Kako odjednom zatražiti više tablica baze podataka pomoću SQL pridruživanja

Naučite kako koristiti SQL pridruživanja za pojednostavljivanje upita, uštedjeti vrijeme i učiniti da se osjećate kao snažni korisnik SQL -a.

Pročitajte Dalje
Povezane teme O autoru Matt Dizak(18 objavljenih članaka) Više od Matta Dizaka

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e -knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu