SQL datu bāzu un tabulu izveide

Datubāzes izveide

Vai esat gatavs sākt veidot datubāzes un tabulas ar strukturēto vaicājumu valodu ? Šajā rakstā mēs izpētām tabulu izveidošanas procesu manuāli, izmantojot CREATE DATABASE un CREATE TABLE komandas. Ja esat jauns SQL lietotājs, iespējams, vēlēsities vispirms pārskatīt mūsu SQL pamatu rakstu.

Biznesa prasības

Pirms sēžam pie tastatūras, mums ir jānodrošina, ka mums ir izpratne par klienta prasībām. Kāds ir labākais veids, kā iegūt šo ieskatu? Protams, runājot ar klientu! Pēc sēdēšanas ar XYZ personāla direktoru, mēs uzzinājām, ka viņi ir widget pārdošanas uzņēmums, un tie galvenokārt vēlas uzzināt informāciju par viņu pārdošanas personālu.

XYZ Corporation sadala savu pārdošanas spēku austrumu un rietumu reģionos, no kuriem katrs ir sadalīts daudzās teritorijās, uz kurām attiecas individuālie pārdošanas repi. Personāla departaments vēlēsies izsekot katra darbinieka aptvertās teritorijas, kā arī katra darbinieka algu informāciju un uzraudzības struktūru. Lai izpildītu šīs prasības, esam izveidojuši datubāzi, kas sastāv no trim tabulām, kas šajā lapā ir attēlota subjektu attiecību diagrammā .

Datubāzes platformas izvēle

Mēs esam nolēmuši izmantot datu bāzu pārvaldības sistēmu (vai DBVS), kas balstīta uz strukturēto vaicājumu valodu (SQL). Tāpēc visa mūsu datubāzu un galda izveides komandu rakstīšana jāveic ar standarta ANSI SQL.

Papildu ieguvums, izmantojot ANSI-compliant SQL nodrošinās, ka šīs komandas darbosies pie jebkura DBVS, kas atbalsta SQL standartu , tostarp Oracle un Microsoft SQL Server. Ja vēl neesat atlasījis platformu savai datubāzei, raksta datu bāzes programmatūras opcijas palīdz jums atlases procesā.

Datubāzes izveide

Mūsu pirmais solis ir izveidot datubāzi. Daudzas datu bāzu vadības sistēmas piedāvā virkni iespēju, lai pielāgotu datubāzes parametrus, šajā posmā, bet mūsu datubāze ļauj tikai izveidot datubāzi. Tāpat kā visas mūsu komandas, iespējams, vēlēsities iepazīties ar jūsu DBV dokumentāciju, lai noteiktu, vai kādi uzlaboti parametri, kurus atbalsta jūsu konkrētā sistēma, atbilst jūsu vajadzībām. Izmantosim komandu CREATE DATABASE, lai izveidotu mūsu datubāzi:

IZVEIDOT DATUBĀZES personālu

Īpaši ņemiet vērā lielo burtu lietojumu, kas izmantots iepriekš minētajā piemērā. SQL programmētāju vidū ir izplatīta prakse izmantot visus lielos burtus SQL atslēgvārdiem, piemēram, "CREATE" un "DATABASE", lietojot visus mazos burtus lietotāja definētiem nosaukumiem, piemēram, "personāla" datubāzes nosaukumam. Šīs konvencijas nodrošina vieglu lasāmību.

Turpiniet lasīt šo pamācību, izveidojot tabulas mūsu datu bāzei.

Mācīties vairāk

Ja vēlaties uzzināt vairāk par Strukturēto vaicājumu valodu , izlasiet sadaļu Ievads SQL vai reģistrējieties mūsu bezmaksas apmācības SQL e-pasta kursā.

Tagad, kad esam izveidojuši un izveidojuši mūsu datubāzi, mēs esam gatavi sākt izveidot trīs tabulas, ko izmanto, lai uzglabātu XYZ Corporation personāla datus. Mēs ieviesīsim tabulas, kuras mēs izstrādājām šīs apmācības iepriekšējā daļā.

Mūsu pirmā galda izveidošana

Mūsu pirmā tabula sastāv no katra mūsu uzņēmuma darbinieka personīgajiem datiem. Mums ir jāiekļauj katra darbinieka vārds, alga, ID un vadītājs. Laba dizaina prakse ir sadalīt pēdējos un pirmos vārdus atsevišķos laukos, lai vienkāršotu datu meklēšanu un šķirošanu nākotnē. Mēs arī sekosim katra darbinieka vadītājam, ievietojot atsauci uz vadītāja darbinieku ID katrā darbinieku ierakstā. Vispirms ņemam vērā vēlamo darbinieku tabulu.

Atribūts ReportsTo saglabā pārvaldnieka ID katram darbiniekam. No parauga uzskaites datiem mēs varam noteikt, ka Sue Scampi ir gan Tom Kendall, gan John Smith vadītājs. Tomēr Sue pārvaldnieka datu bāzē nav informācijas, kā to norāda NULL ieraksts viņas rindā.

Tagad mēs varam izmantot SQL, lai izveidotu tabulu mūsu personāla datu bāzē. Pirms mēs to darīsim, nodrošināsim, ka mums ir pareizā datubāze, izdodot USE komandu:

USE personāls;

Alternatīvi "datu bāzes personāls"; komanda izpilda to pašu funkciju. Tagad mēs varam apskatīt SQL komandu, ko izmanto, lai izveidotu mūsu darbinieku tabulu:

CREATE TABLE darbinieki (employeeid INTEGER NOT NULL, uzvārds VARCHAR (25) NAV NULL, vārds VARCHAR (25) NAV NULL, reportsto INTEGER NULL);

Tāpat kā iepriekšminētajā piemērā, ņemiet vērā, ka programmēšanas konvencija nosaka, ka mēs izmantojam visus lielos burtus SQL atslēgvārdiem un mazajiem burtiem, izmantojot lietotāja nosauktas slejas un tabulas. Iepriekš minētā komanda var likties mulsinoša, bet aiz tā patiešām ir vienkārša struktūra. Šeit ir visaptverošs skats, kas mazliet mazina lietas.

CREATE TABLE table_name (attribute_name datatype options, ..., attribute_name datatype opcijas);

Atribūti un datu tipi

Iepriekšējā piemērā tabulas nosaukums ir darbinieki, un mēs ietveram četrus atribūtus: employeeid, uzvārds, vārds un ziņojumi. Datata tips norāda informācijas veidu, kuru mēs gribam saglabāt katrā laukā. Darbinieka ID ir vienkāršs vesels skaitlis, tāpēc mēs izmantosim INTEGER datu tipu gan darbinieka laukam, gan ziņojumam laukā. Darbinieku nosaukumi būs mainīgas garuma rakstzīmju virknes, un mēs nedomājam, ka kādam darbiniekam būtu vārds vai uzvārds garāks par 25 rakstzīmēm. Tādēļ šiem laukiem izmantosim VARCHAR (25) veidu.

NULL vērtības

Mēs varam arī norādīt NULL vai NOT NULL CREATE pārskata opciju laukā. Tas vienkārši norāda datubāzei, vai, pievienojot datu bāzei rindas, šim atribūtam ir pieļaujamas NULL (vai tukšas) vērtības. Mūsu piemērā personāla departaments prasa, lai katram darbiniekam tiktu saglabāts darbinieka ID un pilnīgs vārds. Tomēr ne katram darbiniekam ir vadītājs - vadītājs nevienam neziņo! - tāpēc mēs atļaujam NULL ierakstus šajā jomā. Ņemiet vērā, ka NULL ir noklusējuma vērtība, un, neļaujot tai izmantot šo opciju, netieši tiks atļautas NULL vērtības.

Atlikušo galdu veidošana

Tagad apskatīsim teritoriju tabulu. Ātri apskatot šos datus, šķiet, ka mums ir jāuzglabā vesels skaitlis un divas mainīgas garuma virknes. Tāpat kā mūsu iepriekšējā piemērā, mēs negatavojam, ka Reģiona ID patērē vairāk nekā 25 rakstzīmes. Tomēr dažās mūsu teritorijās ir garāki nosaukumi, tāpēc mēs paplašināsim šī atribūta pieļaujamo garumu līdz 40 rakstzīmēm. Apskatīsim atbilstošo SQL:

CREATE TABLE teritorijas (territoriesid INTEGER NOT NULL, teritorija Apraksts VARCHAR (40) NAV NULL, regionid VARCHAR (25) NAV NULL);

Visbeidzot, mēs izmantosim tabulu EmployeeTerritories, lai saglabātu attiecības starp darbiniekiem un teritorijām. Sīkāka informācija par katru darbinieku un teritoriju tiek glabāta mūsu iepriekšējās divās tabulās. Tāpēc mums šajā tabulā ir jāuzglabā tikai divi veselu skaitļu identifikācijas numuri. Ja mums ir jāpaplašina šī informācija, mēs varam izmantot DATUMU mūsu datu atlases komandās, lai iegūtu informāciju no vairākām tabulām. Šī datu uzglabāšanas metode samazina dublēšanu mūsu datubāzē un nodrošina optimālu vietas izmantošanu mūsu atmiņas diskiem. Nākamajā apmācībā mēs padziļināti apskatīsim komandu JOIN. Šeit ir SQL kods, lai ieviestu mūsu gala galdu:

CREATE TABLE nodarbinātības teritorijas (employeeid INTEGER NOT NULL, territoriesid INTEGER NOT NULL);

Mehānisms SQL paredz mainīt datu bāzes struktūru pēc izveides

Ja jūs šodien esat īpaši pievilcīgs, jūs, iespējams, pamanījāt, ka mēs "nejauši" neievērojām vienu no dizaina prasībām, īstenojot mūsu datu bāzes tabulas. XYZ Corporation personāla direktors pieprasīja, lai datu bāzē sekotu darbinieku algu informācijai, un mēs to neievērojām mūsu izveidotajās datu bāzēs .

Tomēr viss nav pazudis. Mēs varam izmantot komandu ALTER TABLE, lai pievienotu šo atribūtu mūsu esošai datu bāzei. Mēs vēlamies saglabāt algu kā veselu vērtību. Sintakse ir diezgan līdzīga CREATE TABLE komandai, šeit tā ir:

ALTER TABLE darbinieki PIEVIENOT algu INTEGER NULL;

Ņemiet vērā, ka mēs norādījām, ka šim atribūtam ir atļauts NULL vērtības. Vairumā gadījumu, pievienojot kolonnu esošai tabulai, nav iespējas. Tas ir saistīts ar faktu, ka tabulā jau ir rindas bez šī atribūta ieraksta. Tādēļ DBVS automātiski ievieto NULL vērtību, lai aizpildītu spēkā neesošu.

Un tas paver mūsu izskatu SQL datubāzē un tabulas izveides procesā. Atkārtoti pārbaudiet jaunos maksājumus mūsu SQL apmācības sērijā. Ja vēlaties saņemt e-pasta atgādinājumu, kad vietnei Par datubāzēm tiek pievienoti jauni raksti, noteikti jāpiesakās mūsu informatīvajā biļetenā!