Ustvarjanje podatkovnih baz in tabel v SQL

Ustvarjanje baze podatkov

Ali ste pripravljeni, da začnete ustvarjati podatkovne baze in tabele s strukturiranim poizvedbenim jezikom ? V tem članku raziskujemo postopek izdelave tabel ročno z ukazoma CREATE DATABASE in CREATE TABLE. Če ste novi v SQL, boste morda želeli najprej pregledati naš članek SQL Basics .

Poslovne zahteve

Preden sedimo pri tipkovnici, moramo zagotoviti, da imamo dobro razumevanje zahtev kupca. Kateri je najboljši način za pridobitev tega vpogleda? Seveda govorimo s stranko! Po sedežu z direktorjem XYZ za človeške vire smo se naučili, da so prodajna podjetja, ki se prodajajo, in da so predvsem zainteresirani za sledenje informacij o svojem prodajnem osebju.

XYZ Corporation deli svoje prodajne sile v vzhodne in zahodne regije, od katerih je vsaka razdeljena na več ozemelj, ki jih pokrivajo posamezni prodajalci. Kadrovski oddelek želi spremljati ozemlje, ki ga pokriva vsak zaposleni, pa tudi podatke o plači in nadzorni strukturi vsakega zaposlenega. Za izpolnitev teh zahtev smo izdelali bazo podatkov, ki je sestavljena iz treh tabel, prikazanih v diagramu Entitet Relationship na tej strani.

Izbira baz podatkov platforme

Odločili smo se za uporabo sistema za upravljanje baz podatkov (ali DBMS), ki temelji na strukturiranem jeziku poizvedb (SQL). Zato je treba vse naše baze podatkov in ukaze za ustvarjanje tabele zapisati s standardnim ANSI SQL v mislih.

Kot dodatek bo z uporabo ANSI skladnega SQL zagotovljeno, da bodo ti ukazi delali na vseh DBMS, ki podpirajo standard SQL , vključno z Oracle in Microsoft SQL Server. Če še niste izbrali platforme za vašo bazo podatkov, vam članek Možnosti programske opreme Database vas popelje skozi postopek izbire.

Ustvarjanje baze podatkov

Naš prvi korak je ustvariti samo bazo podatkov. Veliko sistemov za upravljanje baz podatkov ponuja vrsto možnosti za prilagajanje parametrov baze podatkov na tem koraku, vendar naša podatkovna baza omogoča enostavno izdelavo baze podatkov. Kot pri vseh naših ukazih se boste morda želeli posvetovati z dokumentacijo za vašo DBMS, da ugotovite, ali kateri koli napredni parametri, ki jih podpira vaš specifični sistem, ustrezajo vašim potrebam. Let's uporabo CREATE DATABASE ukaz za nastavitev naše baze podatkov:

CREATE DATABASE osebje

Bodite posebej pozorni na kapitalizacijo, uporabljeno v zgornjem primeru. Pri programerjih SQL je običajna uporaba vseh velikih črk za ključne besede SQL, kot so »CREATE« in »DATABASE«, pri čemer uporabljate vse male črke za uporabniško definirana imena, kot je ime baze podatkov »osebja«. Te konvencije zagotavljajo enostavno berljivost.

Nadaljuj branje te vaje, ko izdelujemo tabele za našo bazo podatkov.

Učenje več

Če želite izvedeti več o strukturiranem jeziku poizvedb , preberite Uvod v SQL ali se prijavite za naš brezplačen tečaj e-pošte Learning SQL.

Zdaj, ko smo oblikovali in izdelali bazo podatkov, smo pripravljeni začeti ustvarjati tri tabele, ki se uporabljajo za shranjevanje osebnih podatkov podjetja XYZ Corporation. Izvedli bomo tabele, ki smo jih oblikovali v prejšnjem delu tega vaja.

Ustvarjanje naše prve mize

Naša prva tabela je sestavljena iz osebnih podatkov za vsakega zaposlenega v našem podjetju. Moramo vključiti ime vsakega zaposlenega, plačo, ID in upravitelja. Dobra praksa oblikovanja je ločiti zadnja in druga imena v ločena polja, da bi v prihodnje poenostavili iskanje in razvrščanje podatkov. Prav tako bomo sledili upravitelju vsakega zaposlenega tako, da v vsakem zapisniku zaposlenega vstavite sklic na ID delavca upravitelja. Najprej si oglejte želeno tabelo zaposlenih.

Atribut ReportsTo shrani ID upravitelja za vsakega zaposlenega. Iz zabeleženih vzorčnih zapisov lahko ugotovimo, da je Sue Scampi direktor Tom Kendall in John Smitha. Vendar v bazi podatkov o upravitelju Sue ni nobenih podatkov, kar je označeno z vnosom NULL v njeni vrstici.

Zdaj lahko s pomočjo SQL ustvarimo tabelo v naši podatkovni bazi. Preden to storimo, zagotovimo, da smo v pravi podatkovni zbirki z izdajo ukaza USE:

Osebje USE;

Druga možnost je, da "osebje z bazo podatkov"; ukaz bi izvajal isto funkcijo. Zdaj si lahko ogledamo ukaz SQL, uporabljen za ustvarjanje tabele zaposlenih:

CREATE TABLE zaposleni (employeeid INTEGER NOT NULL, priimek VARCHAR (25) NI NULL, firstname VARCHAR (25) NOT NULL, reportsto INTEGER NULL);

Kot pri zgornjem primeru, upoštevajte, da programska konvencija narekuje, da uporabimo vse velike črke za ključne besede SQL in male črke za uporabniško imenjene stolpce in tabele. Zgornji ukaz se morda zdi zmeden, vendar za njim obstaja preprosta struktura. Tukaj je splošen pogled, ki bi lahko počistil nekaj stvari:

CREATE TABLE table_name (atribut_name options datatype, ..., atribut_name možnosti podatkovnega tipa);

Atributi in vrste podatkov

V prejšnjem primeru je ime tabele uslužbencev in vključujemo štiri atribute: employeeid, lastname, firstname in reportsto. Tip podatkov označuje vrsto informacij, ki jih želimo shraniti v posameznem polju. ID za zaposlene je preprosta integerna številka, zato bomo uporabili podatkovni tip INTEGER tako za polje employeeid kot za področje reportsto. Imena zaposlenih bodo znakovne nizi spremenljive dolžine in ne pričakujemo, da bi imeli zaposleni ime ali priimek, daljši od 25 znakov. Zato bomo za ta polja uporabili tip VARCHAR (25).

Vrednosti NULL

V polju z možnostmi izjave CREATE lahko določimo tudi NULL ali NOT NULL . To preprosto pove bazi podatkov, ali so dovoljeni vrednosti NULL (ali prazne) za ta atribut, ko dodate vrstice v bazo podatkov. V našem primeru, oddelek za kadrovske službe zahteva, da se za vsakega zaposlenega shranjuje ID delavca in celotno ime. Vendar pa ni vsak zaposleni vodja - CEO nikomur ne poroča! - zato v tem polju dovolimo vnosa NULL. Upoštevajte, da je NULL privzeta vrednost in opuščanje te možnosti implicitno dovoli vrednosti NULL za atribut.

Gradnja preostalih tabel

Zdaj pa si oglejmo tabelo območij. Iz hitrega pregleda teh podatkov se zdi, da moramo shraniti celo število in dva spremenljiva dolžinska niza. Kot pri prejšnjem primeru ne pričakujemo, da bo ID regije porabil več kot 25 znakov. Vendar pa imajo nekatera naša ozemlja daljša imena, zato bomo dovoljeno dolžino tega atributa razširili na 40 znakov. Oglejmo si ustrezni SQL:

CREATE TABLE ozemlja (teritorid INTEGER NOT NULL, ozemlje Opis VARCHAR (40) NOT NULL, regionid VARCHAR (25) NOT NULL);

Nazadnje bomo uporabili tabelo EmployeeTerritories za shranjevanje odnosov med zaposlenimi in ozemlji. Podrobne informacije o vsakem zaposlenem in ozemlju so shranjene v prejšnjih dveh tabelah. Zato moramo v to tabelo shraniti samo dve številčni identifikacijski številki. Če želimo razširiti te podatke, lahko z ukazom JOIN v naših ukazih za izbiro podatkov pridobimo informacije iz več tabel. Ta način shranjevanja podatkov zmanjšuje redundanco v naši podatkovni bazi in zagotavlja optimalno uporabo prostora na naših pogonskih pogonih. V prihodnjem vadišču bomo podrobno pokrili ukaz JOIN. Tukaj je koda SQL za izvedbo naše zadnje tabele:

CREATE TABLE zaposlovanjeterritori (employeeid INTEGER NOT NULL, ozemeljski INTEGER NOT NULL);

Mehanizem SQL omogoča spreminjanje strukture baze podatkov po ustvarjanju

Če ste še posebej navdušeni danes, ste morda opazili, da smo pri "slučajnem" izpustitvi ene od načrtovanih zahtev pri izvajanju naših tabel baz podatkov. Vodja kadrovske službe XYZ Corporation je zahteval, da baza podatkov spremlja podatke o plačah zaposlenih in smo zanemarili, da to zagotovimo v tabelah baze podatkov, ki smo jih ustvarili.

Vendar pa vse ni izgubljeno. Z ukazom ALTER TABLE lahko dodamo ta atribut v našo obstoječo bazo podatkov. Plačo želimo shraniti kot celoštevilčno vrednost. Sintaksa je precej podobna ukazu CREATE TABLE, tukaj je:

ALTER TABLE zaposleni ADD plača INTEGER NULL;

Upoštevajte, da smo določili, da so za ta atribut dovoljeni vrednosti NULL. V večini primerov ni nobene možnosti pri dodajanju stolpca v obstoječo tabelo. To je posledica dejstva, da tabela že vsebuje vrstice brez vnosa za ta atribut. Zato DBMS samodejno vnese vrednost NULL, da zapolni praznino.

In to povzema naš pogled na SQL podatkovno bazo in postopek izdelave tabele. Pogosto preverite za nove obroke v naši vadnici za SQL. Če želite opozorilo o e-pošti dodati, ko se novi člani dodajo na spletno mesto O baze podatkov, se naročite na naše novice!