Guia per a principiants per escriure esquemes de bases de dades mySQL

Guia per a principiants per escriure esquemes de bases de dades mySQL

Quan es desenvolupa un projecte de programari, un dels aspectes més importants, fonamentals i intrínsecs és un esquema de base de dades adequadament estructurat. És l'equivalent de quan es construeix una casa per assegurar-se que la base es posa correctament, en cas contrari, les possibilitats de construir una casa de qualitat es redueixen dràsticament.





Sorprenentment més fàcil del que es podria pensar, aprenem les diverses facetes que s’utilitzen per escriure un esquema de base de dades ben arquitecturat.





l'iPhone d'Apple està enganxat al logotip d'Apple

Sintaxi CREA TABLA

Per començar, obriu el vostre editor de text preferit. La creació d’un esquema de base de dades no requereix res més que un fitxer de text pla. Una base de dades consta de diverses taules, cadascuna formada per columnes, i la sintaxi CREATE TABLE s’utilitza per crear una sola taula. Aquí teniu un exemple bàsic:






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

Com podeu veure, es crearà una taula de base de dades anomenada usuaris que consta de quatre columnes. Aquesta hauria de ser una sentència SQL força senzilla que comenci per CREA TAULA , seguit del nom de les taules de la base de dades, després entre parèntesis les columnes de la taula separades per una coma.

Utilitzeu els tipus de columna correctes

Com es mostra més amunt, les columnes de la taula estarà separada per comes. Cada definició de columna es compon de les tres parts:



COL_NAME TYPE [OPTIONS]

El nom de la columna, seguit del tipus de columna i els paràmetres opcionals. Entrarem en els paràmetres opcionals més endavant, però concentrant-nos en el tipus de columna, a continuació s'enumeren els tipus de columnes més utilitzats disponibles:

De tota manera, els tipus de columna anteriors són tot el que necessiteu per escriure esquemes de base de dades mySQL ben construïts.





Definiu les opcions de columna

Quan definiu columnes, també hi ha diverses opcions que podeu especificar. A continuació es mostra un altre exemple del fitxer CREA TAULA declaració:


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

L'anterior pot semblar una mica descoratjador, però no us preocupeu, és molt senzill. Desglossat, això és el que passa a la declaració anterior:





  • Sempre heu d’utilitzar NOT NULL a totes les columnes possibles per ajudar a la velocitat i el rendiment de la taula. Això simplement especifica que la columna no es pot deixar buida / nul·la quan s'insereix una fila.
  • Intenteu sempre que la mida de la columna sigui el més reduïda possible, ja que ajuda a millorar la velocitat i el rendiment.
  • El identificador columna és un nombre enter, també és la clau principal de la taula que significa que és única i augmentarà en un cada vegada que s'insereixi un registre. Generalment, s'hauria d'utilitzar a totes les taules que creeu perquè pugueu fer referència fàcilment a qualsevol fila de la taula.
  • El estat La columna és un ENUM i ha de tenir un valor 'actiu' o 'inactiu'. Si no s'especifica cap valor, començarà una nova fila amb l'estat 'actiu'.
  • El balanç La columna comença a 0 per a cada fila nova i és una quantitat que té el format de dos punts decimals.
  • El data de naixement La columna és simplement una data, però també permet un valor nul, ja que és possible que no es conegui la data de naixement en crear-la.
  • Per últim, el creat_at La columna és TIMESTAMP i per defecte és l'hora actual en què s'ha inserit la fila.

L'anterior és un exemple d'una taula de bases de dades molt ben estructurada i s'hauria d'utilitzar com a exemple en el futur.

Un dels majors avantatges d 'utilitzar bases de dades relacionals com mySQL és el seu excel·lent suport per a restriccions de claus externes i en cascada. És quan enllaceu dues taules entre si mitjançant una columna, formant una relació fill pare, de manera que quan se suprimeix la fila pare, les files fill necessàries també se suprimiran automàticament.

Aquí teniu un exemple:


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;

Notareu la clàusula FOREIGN KEY com a última línia. Aquesta línia simplement indica que aquesta taula conté files fill que estan enllaçades per ID d'usuari a la fila pare, que és la identificador columna del fitxer usuaris taula. Això significa que cada vegada que se suprimeix una fila del fitxer usuaris taula, mySQL suprimirà automàticament totes les files corresponents del fitxer ordres taula que ajuda a garantir la integritat estructural a la vostra base de dades.

Tingueu en compte també motor = InnoDB al final de la declaració anterior. Tot i que ara InnoDB és el tipus de taula per defecte de mySQL, no sempre ho era, de manera que s'hauria d'afegir només per mantenir-se al costat segur, ja que la cascada només funciona amb les taules InnoDB.

com refrescar l’ordinador

Dissenyar amb confiança

Ara esteu en bon camí per arquitecturar esquemes de bases de dades MySQL sòlids i ben estructurats. Utilitzant els coneixements anteriors, ara podeu escriure esquemes ben organitzats que proporcionin tant rendiment com integritat estructural.

Amb el vostre esquema al seu lloc, assegureu-vos de saber-lo utilitzar amb aquests ordres SQL essencials .

Compartir Compartir Tweet Correu electrònic Com es poden consultar diverses taules de bases de dades alhora amb SQL Joins

Obteniu informació sobre com s'utilitzen les combinacions SQL per racionalitzar les consultes, estalviar temps i fer-vos sentir com un usuari avançat de SQL.

Llegiu a continuació
Temes relacionats Sobre l'autor Matt Dizak(18 articles publicats) Més de Matt Dizak

Subscriu-te al nostre butlletí

Uniu-vos al nostre butlletí per obtenir consells tècnics, ressenyes, llibres electrònics gratuïts i ofertes exclusives.

Feu clic aquí per subscriure-us