Stvaranje baze podataka i tablica u SQL

Izrada baze podataka

Jeste li spremni početi stvarati baze podataka i tablice s Strukturiranim upitnikom ? U ovom članku istražujemo postupak stvaranja tablica ručno pomoću CREATE DATABASE i CREATE TABLE naredbi. Ako ste novi u SQLu, prvo biste trebali pregledati članak o osnovnim informacijama o sustavu SQL .

Poslovni zahtjevi

Prije nego što sjednemo na tipkovnici, moramo osigurati solidno razumijevanje zahtjeva korisnika. Koji je najbolji način za dobivanje ovog uvida? Razgovor s kupcem, naravno! Nakon što smo sjeli s direktorom za ljudske potencijale XYZ-a, saznali smo da su oni prodavači widgeta i prvenstveno su zainteresirani za praćenje informacija o prodajnom osoblju.

XYZ Corporation dijeli prodajnu snagu u istočnu i zapadnu regiju, od kojih je svaka podijeljena na mnoga područja koja pokrivaju pojedinačni prodavači. Odjel za ljudske resurse želi pratiti područje koje pokriva svaki zaposlenik, kao i podatke o plaći svakog pojedinog zaposlenika i nadzornu strukturu. Da bismo ispunili ove zahtjeve, napravili smo bazu podataka koja se sastoji od tri tablice, prikazane na dijagramu Entity-Relationship na ovoj stranici.

Odabir baze podataka

Odlučili smo koristiti sustav upravljanja bazom podataka (ili DBMS) koji se temelji na Strukturiranom jeziku upita (SQL). Stoga, sve naše naredbe za izradu tablica i tablica trebaju biti napisane u standardnom ANSI SQL.

Kao dodatnu korist, pomoću ANSI-usklađenog SQL-a osigurat će se da će ove naredbe raditi na bilo kojem DBMS-u koji podržava SQL standard , uključujući Oracle i Microsoft SQL Server. Ako još niste odabrali platformu za svoju bazu podataka, članak Opcije softverskih baza podataka vas vodi kroz postupak odabira.

Izrada baze podataka

Naš prvi korak je stvoriti samu bazu podataka. Mnogi sustavi za upravljanje bazama podataka nude niz mogućnosti prilagodbe parametara baze podataka u ovom koraku, ali naša baza podataka omogućuje samo jednostavnu izradu baze podataka. Kao i kod svih naših naredbi, možete se obratiti dokumentaciji za svoj DBMS kako biste utvrdili jesu li napredni parametri koji podržavaju vaš specifični sustav zadovoljavaju vaše potrebe. Upotrijebimo naredbu CREATE DATABASE za postavljanje naše baze podataka:

Stvorite osoblje DATABASE

Posebno napominjemo kako je gore navedena upotreba velikih slova. Uobičajena je praksa kod SQL programera da koriste sva velika slova za SQL ključne riječi kao što su "CREATE" i "DATABASE", a upotrebljavaju sva mala slova za korisnička imena poput imena "osoblja". Ove konvencije pružaju jednostavnu čitljivost.

Nastavite čitati ovaj vodič dok stvaramo tablice za našu bazu podataka.

Učenje više

Ako želite saznati više o Strukturiranom jeziku upita , pročitajte Uvod u SQL ili se prijavite za naš besplatni tečaj e-pošte za učenje SQL.

Sada kada smo dizajnirali i stvorili našu bazu podataka, spremni smo započeti izrađivati ​​tri tablice za pohranjivanje osobnih podataka tvrtke XYZ Corporation. Provest ćemo tablice koje smo osmislili u prethodnom dijelu ovog vodiča.

Stvaranje našeg prvog stola

Naš prvi stol sastoji se od osobnih podataka za svakog zaposlenika naše tvrtke. Moramo uključiti ime, plaću, ID i upravitelja svakog zaposlenika. Dobra je dizajnerska praksa da odvoji zadnja i prva imena u zasebna polja radi pojednostavljivanja pretraživanja i sortiranja podataka u budućnosti. Također ćemo pratiti upravitelja svakog zaposlenika umetanjem uputa na ID zaposlenika upravitelja u svakom zapisu zaposlenika. Pogledajmo najprije željenu tablicu zaposlenika.

Atribut ReportsTo pohranjuje ID upravitelja za svakog zaposlenika. Iz prikaza prikazanih uzoraka možemo utvrditi da je Sue Scampi upravitelj i Tom Kendall i John Smith. Međutim, u bazi podataka nema podataka o Sueovom menadžeru, kao što pokazuje NULL zapis u njenom retku.

Sada možemo koristiti SQL za stvaranje tablice u našoj bazi podataka osoblja. Prije nego što to učinimo, provjerimo jesmo li u ispravnoj bazi podataka izdavanjem naredbe USE:

Osoblje USE;

Alternativno, "DATABASE osoblje"; naredba će obavljati istu funkciju. Sada možemo pogledati SQL naredbu koja se koristi za izradu tablice naših zaposlenika:

CREATE TABLE djelatnici (employeeid INTEGER NOT NULL, prezime VARCHAR (25) NOT NULL, ime VARCHAR (25) NIJE NULL, reportsto INTEGER NULL);

Kao i kod gore navedenog primjera, napominjemo da programska konvencija diktira da koristimo sva velika slova za SQL ključne riječi i mala slova za stupce i tablice s imenom pod imenom. Naredba gore može se činiti zbunjujućom na početku, ali zaista postoji jednostavna struktura. Evo općenitog prikaza koji bi mogao nešto ukloniti:

CREATE TABLE table_name (atribut_name opcije vrste podataka, ..., atribut_name opcije vrste podataka);

Atributi i Vrste podataka

U prethodnom primjeru, naziv tablice je zaposlenik, a mi uključujemo četiri atributa: employeeid, prezime, ime, i reportsto. Vrsta podataka označava vrstu informacija koje želimo pohraniti u svakom polju. ID zaposlenika jednostavan je cijeli broj pa ćemo upotrijebiti INTEGER datatip za polje employeeid i polje reportsto. Imena zaposlenika bit će znakovne nizove promjenjive duljine i ne očekujemo da bilo koji zaposlenik ima ime ili prezime duže od 25 znakova. Stoga ćemo za te polja koristiti vrstu VARCHAR (25).

NULL vrijednosti

Također možemo navesti ili NULL ili NOT NULL u polju opcija izjave CREATE. To jednostavno govori u bazi da li su dopušteni NULL (ili prazni) vrijednosti za taj atribut pri dodavanju redaka u bazu podataka. U našem primjeru, odjel za upravljanje ljudskim resursima zahtijeva pohranjivanje ID-a zaposlenika i potpunog imena za svakog zaposlenika. Međutim, ne svaki zaposlenik ima menadžera - predsjednik Uprave izvještava nikome! - pa dopuštamo NULL unose u tom polju. Napominjemo da je NULL zadana vrijednost, a izostavljanje ove opcije implicitno će dopustiti NULL vrijednosti za atribut.

Izgradnja preostalih tablica

Pogledajmo sada tablicu teritorija. S brzog pregleda ovih podataka čini se da moramo pohraniti nizove s brojevima cijele i dvije varijabilne duljine. Kao i kod našeg prethodnog primjera, ne očekujemo da ID regije potroši više od 25 znakova. Međutim, neki od naših područja imaju dulje ime pa ćemo proširiti dopuštenu dužinu tog atributa na 40 znakova. Pogledajmo odgovarajući SQL:

CREATE TABLE teritorij (territoryid INTEGER NOT NULL, područje Opis VARCHAR (40) NOT NULL, regionid VARCHAR (25) NIJE NULL);

Konačno, koristit ćemo tablicu EmployeeTerritories za pohranu odnosa između zaposlenika i teritorija. Detaljne informacije o svakom zaposleniku i teritoriju pohranjene su u našim prethodnim dvjema tablicama. Stoga u ovoj tablici trebamo pohraniti dva brojeva za cijeli broj. Ako bismo trebali proširiti te podatke, možemo upotrijebiti JOIN u našim naredbama za odabir podataka za dobivanje informacija iz više tablica. Ova metoda pohrane podataka smanjuje redundanciju u našoj bazi podataka i osigurava optimalno korištenje prostora na našim pogonima za pohranu. Prikazat ćemo naredbu JOIN u dubini u budućem vodiču. Evo SQL koda koji će implementirati naš konačni stol:

CREATE TABLE zapošljavanje (employeeid INTEGER NOT NULL, teritorij INTEGER NOT NULL);

Mehanizam SQL pruža promjenu strukture baze podataka nakon stvaranja

Ako ste danas posebno lukavi, možda ste primijetili da smo slučajno izostavili jedan od zahtjeva za projektiranje prilikom implementacije naših tablica baze podataka. HR ravnatelj XYZ Corporation zatražio je da baza podataka prati podatke o plaći zaposlenika, a mi smo zanemarili pružiti to u tablicama baze podataka koje smo stvorili.

Međutim, sve se ne gubi. Pomoću naredbe ALTER TABLE možemo dodati ovaj atribut u postojeću bazu podataka. Želimo pohraniti plaću kao cjelobrojnu vrijednost. Sintaksa je vrlo slična onoj iz naredbe CREATE TABLE, ovdje je:

ALTER TABLE djelatnici dodaju plaću INTEGER NULL;

Primijetite da smo naveli da su NULL vrijednosti dopuštene za ovaj atribut. U većini slučajeva ne postoji mogućnost dodavanja stupca u postojeću tablicu. To je zbog činjenice da tablica već sadrži retke bez unosa za ovaj atribut. Stoga, DBMS automatski unosi NULL vrijednost za ispunjavanje praznine.

A to završava naš pogled na SQL bazu podataka i stvaranje tablice proces. Ponovno provjeravajte često za nove obroke u našoj seriji SQL tutorijata. Ako želite podsjetiti na e-poštu kada se novi članci dodaju na web stranicu O bazi podataka, svakako se pretplatite na naš newsletter!