Kezdő útmutató a mySQL adatbázis -sémák írásához

Kezdő útmutató a mySQL adatbázis -sémák írásához

Egy szoftverprojekt kidolgozásakor az egyik legfontosabb, alapvető és lényeges szempont a megfelelően felépített adatbázis -séma. Ez egyenértékű azzal, amikor házat épít, biztosítania kell az alap megfelelő lerakását, különben drasztikusan csökken a minőségi ház építésének esélye.





Meglepően egyszerű, mint gondolnánk, tanuljuk meg a jól megtervezett adatbázis -séma megírásának különböző aspektusait.





érdemes ps4 -et venni

TÁBLÁZAT LÉTREHOZÁSA Szintaxis

Kezdéshez nyissa meg kedvenc szövegszerkesztőjét. Az adatbázis -séma létrehozásához nem kell más, mint egy egyszerű szöveges fájl. Az adatbázis több táblából áll, amelyek mindegyike oszlopokból áll, és a CREATE TABLE szintaxist egyetlen tábla létrehozására használják. Íme egy alapvető példa:






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

Amint látja, ez egy adatbázis -táblát hoz létre felhasználók amely négy oszlopból áll. Ennek meglehetősen egyszerű SQL utasításnak kell kezdődnie TÁBLÁZAT LÉTREHOZÁSA , majd az adatbázis táblák neve, majd zárójelben a táblázat oszlopai vesszővel elválasztva.

Használjon helyes oszloptípusokat

Amint fent látható, a táblázat oszlopait vesszővel kell elválasztani. Minden oszlopdefiníció három azonos részből áll:



COL_NAME TYPE [OPTIONS]

Az oszlop neve, majd az oszlop típusa, majd az esetleges opcionális paraméterek. Az opcionális paraméterekkel később foglalkozunk, de az oszloptípusra összpontosítva az alábbiakban felsoroljuk a leggyakrabban használt oszloptípusokat:

Minden szándékunk szerint a fenti oszloptípusok csak a jól felépített mySQL adatbázis -sémák írásához szükségesek.





Oszlopbeállítások megadása

Az oszlopok definiálásakor különféle beállításokat is megadhat. Az alábbiakban egy másik példa a TÁBLÁZAT LÉTREHOZÁSA nyilatkozat:


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

A fentiek kissé ijesztőnek tűnhetnek, de ne aggódj, ez nagyon egyszerű. Lebontva a következő állítás történik:





  • Mindig használja a NOT NULL értéket minden lehetséges oszlopban, hogy segítse a táblázat sebességét és teljesítményét. Ez egyszerűen azt határozza meg, hogy az oszlop nem maradhat üres / null, ha sor kerül beszúrásra.
  • Mindig törekedjen arra, hogy az oszlop mérete a lehető legkisebb legyen, mivel ez javítja a sebességet és a teljesítményt.
  • Az id oszlop egy egész szám, egyben a tábla elsődleges kulcsa, ami azt jelenti, hogy egyedi, és eggyel növekszik minden rekord beillesztésekor. Ezt általában minden létrehozott táblázatban használni kell, így könnyen hivatkozhat a táblázat egyetlen sorára.
  • Az állapot oszlop egy ENUM, és vagy „aktív” vagy „inaktív” értékkel kell rendelkeznie. Ha nincs megadva érték, egy új sor kezdődik az „aktív” státusszal.
  • Az egyensúly oszlop 0 -tól kezdődik minden új sornál, és két két tizedes pontban van formázva.
  • Az születési dátum Az oszlop egyszerűen DÁTUM, de lehetővé teszi a null értéket is, mivel a születési dátum nem ismert a létrehozáskor.
  • Végül, a created_at oszlop egy TIMESTAMP, és alapértelmezés szerint a sor beszúrásakor érvényes pillanat.

A fenti példa egy szépen felépített adatbázis -tábla, és ezt a továbbiakban példaként kell használni.

A relációs adatbázisok használatának egyik legnagyobb előnye, mint pl mySQL kiválóan támogatja az idegen kulcsok megszorításait és a lépcsőzetes végrehajtást. Ez az, amikor két táblát összekapcsol egy oszloppal, így létrehozza a szülő utódkapcsolatot, így a szülő sor törlésekor a szükséges utódsorok is automatikusan törlődnek.

Íme egy példa:


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;

Észre fogja venni a FOREIGN KEY záradékot utolsó sorként. Ez a sor egyszerűen azt állítja, hogy ez a táblázat az utódsorokat tartalmazza, amelyeket a Felhasználói azonosító oszlopot a szülő sorukhoz, amely a id oszlopa a felhasználók asztal. Ez azt jelenti, hogy bármikor töröl egy sort a felhasználók táblázatban, a mySQL automatikusan törli az összes megfelelő sort a megrendelések táblázat segít biztosítani az adatbázis strukturális integritását.

Szintén vegye figyelembe a motor = InnoDB a fenti állítás végén. Bár az InnoDB most az alapértelmezett mySQL tábla típus, ez nem volt mindig, ezért ezt csak a biztonság kedvéért kell hozzáadni, mivel a kaszkádolás csak az InnoDB táblákkal működik.

A legjobb laptopok a videószerkesztéshez 2015

Magabiztos tervezés

Most már jó úton halad a szilárd, jól strukturált mySQL adatbázis -sémák felépítése felé. A fenti ismeretek felhasználásával most jól szervezett sémákat írhat, amelyek mind a teljesítményt, mind a szerkezeti integritást biztosítják.

Ha a sémája a helyén van, győződjön meg arról, hogy tudja használni ezekkel alapvető SQL parancsok .

Részvény Részvény Csipog Email Hogyan lehet egyszerre több adatbázistáblát lekérdezni az SQL csatlakozásokkal?

Ismerje meg, hogyan használhatja az SQL -összekapcsolásokat a lekérdezések egyszerűsítésére, az időmegtakarításra, és úgy érezheti magát, mint egy SQL -felhasználó.

Olvassa tovább
Kapcsolódó témák A szerzőről Matt Dizak(18 cikk megjelent) Továbbiak Matt Dizak -tól

Iratkozzon fel hírlevelünkre

Csatlakozz hírlevelünkhöz, ahol technikai tippeket, véleményeket, ingyenes e -könyveket és exkluzív ajánlatokat találsz!

Feliratkozáshoz kattintson ide