Ghid pentru începători pentru scrierea schemelor de baze de date mySQL

Ghid pentru începători pentru scrierea schemelor de baze de date mySQL

La dezvoltarea unui proiect software, unul dintre cele mai importante aspecte fundamentale și intrinseci este o schemă de baze de date structurată corespunzător. Este echivalentul când construiți o casă, pentru a vă asigura că fundația este așezată corect, altfel șansele de a construi o casă de calitate sunt reduse drastic.





Surprinzător de ușor decât s-ar crede, haideți să învățăm diferitele fațete utilizate pentru a scrie o schemă de baze de date bine arhitecturată.





redirecționa automat mesajele text către e-mail

Sintaxa CREATE TABLE

Pentru început, deschideți editorul de text preferat. Crearea unei scheme de baze de date nu necesită altceva decât un fișier text simplu. O bază de date constă din mai multe tabele, fiecare constând din coloane, iar sintaxa CREATE TABLE este utilizată pentru a crea un singur tabel. Iată un exemplu de bază:






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

După cum puteți vedea, acest lucru va crea un tabel de baze de date numit utilizatori care este format din patru coloane. Aceasta ar trebui să fie o declarație SQL destul de simplă, începând cu CREAȚI TABEL , urmat de numele tabelelor bazei de date, apoi în paranteze coloanele tabelului separate printr-o virgulă.

Utilizați tipuri de coloane corecte

După cum se arată mai sus, coloanele din care va consta tabelul sunt separate prin virgule. Fiecare definiție a coloanei cuprinde aceleași trei părți:



COL_NAME TYPE [OPTIONS]

Numele coloanei, urmat de tipul coloanei, apoi de parametrii opționali. Vom intra în parametrii opționali mai târziu, dar concentrându-ne pe tipul de coloană, enumerăm mai jos cele mai utilizate tipuri de coloane disponibile:

Din toate punctele de vedere, tipurile de coloane de mai sus sunt tot ceea ce aveți nevoie pentru a scrie scheme de baze de date mySQL bine construite.





Definiți opțiunile coloanei

La definirea coloanelor există, de asemenea, diverse opțiuni pe care le puteți specifica. Mai jos este un alt exemplu de CREAȚI TABEL afirmație:


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

Cele de mai sus pot părea puțin descurajante, dar nu vă faceți griji, este destul de simplu. Defalcat, iată ce se întâmplă în afirmația de mai sus:





  • Ar trebui să utilizați întotdeauna NOT NULL pe toate coloanele posibile pentru a ajuta la viteza și performanța tabelului. Aceasta specifică pur și simplu că coloana nu poate fi lăsată goală / nulă atunci când este inserat un rând.
  • Încercați întotdeauna să mențineți dimensiunea coloanei cât mai mică posibil, deoarece contribuie la îmbunătățirea vitezei și performanței.
  • The id coloana este un număr întreg, este, de asemenea, cheia principală a tabelului, ceea ce înseamnă că este unică și va crește cu unul de fiecare dată când este inserată o înregistrare. Acest lucru ar trebui să fie utilizat în general pe toate tabelele pe care le creați, astfel încât să puteți face referință cu ușurință la orice rând din tabel.
  • The stare coloana este un ENUM și trebuie să aibă fie valoarea „activ”, fie „inactiv”. Dacă nu este specificată nicio valoare, va începe un nou rând cu starea „activ”.
  • The echilibru coloana începe de la 0 pentru fiecare rând nou și este o sumă formatată cu două două zecimale.
  • The Data de nastere coloana este pur și simplu o DATĂ, dar permite, de asemenea, o valoare nulă, deoarece data nașterii poate să nu fie cunoscută la momentul creării.
  • În ultimul rând creat la coloana este TIMESTAMP și implicit la ora curentă când a fost inserat rândul.

Cele de mai sus sunt un exemplu de tabel de baze de date frumos structurat și ar trebui folosit ca exemplu în viitor.

Unul dintre cele mai mari avantaje ale utilizării bazelor de date relaționale precum mySQL este suportul său excelent pentru constrângerile cheii străine și în cascadă. Acesta este momentul în care legați două tabele împreună printr-o coloană, formând o relație părinte copil, astfel încât atunci când rândul părinte este șters, rândurile copil necesare sunt, de asemenea, șterse automat.

Iată un exemplu:


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;

Veți observa clauza FOREIGN KEY ca ultima linie. Această linie afirmă pur și simplu că acest tabel conține rânduri copil care sunt legate de numele de utilizator coloană la rândul lor părinte, care este id coloana din utilizatori masa. Ce înseamnă acest lucru este, de fiecare dată când un rând este șters din utilizatori tabel, mySQL va șterge automat toate rândurile corespunzătoare din Comenzi tabel care ajută la asigurarea integrității structurale în baza de date.

Rețineți și motor = InnoDB la sfârșitul afirmației de mai sus. Deși InnoDB este acum tipul implicit de tabel mySQL, nu a fost întotdeauna, deci acest lucru ar trebui adăugat doar pentru a rămâne în siguranță, deoarece cascada funcționează numai cu tabelele InnoDB.

rulați pe 16 biți pe Windows 10 pe 64 de biți

Proiectați cu încredere

Acum sunteți pe cale să arhitecturați scheme de baze de date mySQL solide și bine structurate. Folosind cunoștințele de mai sus, puteți scrie acum scheme bine organizate care oferă atât performanță, cât și integritate structurală.

Cu schema dvs. în poziție, asigurați-vă că știți cum să o utilizați cu acestea comenzi SQL esențiale .

Acțiune Acțiune Tweet E-mail Cum să interogați mai multe tabele de baze de date simultan cu SQL Joins

Aflați cum să utilizați îmbinările SQL pentru a simplifica interogările, pentru a economisi timp și pentru a vă face să vă simțiți ca un utilizator SQL puternic.

Citiți în continuare
Subiecte asemănătoare Despre autor Matt Dizak(18 articole publicate) Mai multe de la Matt Dizak

Aboneaza-te la newsletter-ul nostru

Alăturați-vă newsletter-ului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!

Faceți clic aici pentru a vă abona