Datu-basea sortzea
Dira datu-baseak eta taulak sortzeko Query Structured Language- ekin hasita? Artikulu honetan, TAULA TAILERRA sortzean eta CREATE TABLE komandoekin eskuz sortzeko taulak sortzeko prozesua aztertuko dugu. SQL berrian bazabiltza, SQL Basics artikuluaren lehen artikulua berrikusi nahi baduzu.
Enpresa Baldintzak
Teklatuan eseri aurretik, bezeroaren eskakizunak ondo ulertzen ditugu. Zein da ikuspegi hau lortzeko modurik onena? Bezeroari hitz egitea, jakina! XYZren Giza Baliabideen Zuzendaritzarekin eserita egon ondoren, widget-salmentako enpresak direla diogu ikasi dugu eta haien salmentako langileei buruzko jarraipen-informazioa interesatzen zaie.
XYZ Corporationek salmenta indarra banatzen du ekialdeko eta mendebaldeko eskualdeetara, eta horietako bakoitza banakako saltokietan jasotako lurralde askotan banatzen da. HR sailak langile bakoitzeko lurraldean zein langile bakoitzaren soldata informazioa eta gainbegiratze egitura aztertu nahi du. Baldintza horiek betetzeko, hiru tauletan osatutako datu-base bat diseinatu dugu, orrialde honetan Entity-Relationship diagraman .
Datu-basearen plataforma aukeratzea
Datuak kudeatzeko sistema bat (edo DBMS) erabiltzea erabaki dugu Query Structured Language (SQL) sisteman oinarrituta. Hori dela eta, gure datu-basea eta mahaiaren sorrerako komando guztiak ANSI SQL estandarretan idatziko dira kontuan.
Balio erantsi gisa, ANSI-compliant SQL erabiliz komando horiek SQL estandarra onartzen duten edozein DBMS-ekin lan egingo dute , Oracle eta Microsoft SQL Server barne. Zure datu-basearen plataforma bat hautatu ez baduzu oraindik, Datu-basearen Aukerazko Aukerazko artikuluak hautapen prozesuan zehar ibiltzen zaitu.
Datu-basea sortzea
Gure lehen urratsa datu-basea sortzea da. Datu-basearen kudeaketa sistemek aukera ugari eskaintzen dituzte pauso honetan datu-basearen parametroak pertsonalizatzeko, baina gure datu-basea datu-base bat sortzea baimentzen du. Gure komando guztiekin bezala, zure DBMSren dokumentazioa kontsultatu nahi baduzu, zure sistema zehatzak onartzen dituen parametro aurreratuek zure beharrak asetzen badituzte. Erabil ezazu CREATE DATABASE komandoa gure datu-basea konfiguratzeko:
DATU BASEAREN SORKUNTZA sortzea Kontutan hartu goiko adibidean erabilitako kapitalizazioa. SQL programatzaileen arteko ohiko praktika da "SORTU" eta "DATU BASE" bezalako SQL gako-hitzak bezalako hizki nagusiak erabil ditzazun, "pertsonen" datu-basearen izena bezalako erabiltzaile izenetan dauden letra minuskulak erabiltzen dituzunean. Konbentzio horiek erraz irakur daitezke.
Jarraitu tutorial hau irakurtzen gure taulako taulak sortzeko.
Gehiago ikastea
Query Structured Query buruzko informazio gehiago nahi izanez gero, irakurri SQL Sarrera edo erregistratu gure Learning SQL e-mail ikastaroa doan.
Orain, gure datu-basea diseinatu eta sortu dugunean, XYZ Corporation-en datu pertsonalak gordetzeko erabiltzen diren hiru taulak sortzeko prest gaude. Tutorial honen aurreko atalean diseinatutako taulak ezarriko ditugu.
Gure lehen taula sortzea
Gure lehen taula gure enpresako langile bakoitzerako datu pertsonalak dira. Langile bakoitzaren izena, soldata, IDa eta kudeatzailea barne hartu behar ditugu. Diseinuaren praktika ona da azken eta lehenengo izenen izenak eremu ezberdinetan bereizteko, etorkizunean bilaketak egiteko eta ordenatzeko. Gainera, langile bakoitzaren arduradunaren jarraipena egingo dugu kudeatzaileen langileen IDan erreferentzia bat txertatuz langile bakoitzaren erregistroan. Lehen begiratu dezagun nahi duzun langile taula.
ReportsTo atributuak langile bakoitzaren ID kudeatzailea gordetzen du. Erakusten diren lagin erregistroetatik, Sue Scampi Tom Kendall eta John Smith zuzendaria da. Hala eta guztiz ere, Sue-ren kudeatzailean datu-baserik ez dago, errenkadan NULL sarreran adierazitakoaren arabera .
Orain SQL erabil dezakegu taula sortzeko gure langileen datu-basean. Hori egin baino lehen, ziurtatu datu basean gaude, USE komando bat igortzen dugunean:
Bestela, "DATABASE langileak"; Komandoak funtzio bera egingo du. Orain, gure langileen taula sortzeko erabiltzen dugun SQL komandoari begirada bat eman diezaiokegu:
CREATE TABLE langileak (INTEGER NOT NULL langilea, VARCHAR izena (25) EZ NULL, izena VARCHAR (25) EZ NULL, INTEGER NULL txostena);Aurreko adibidean bezala, kontutan izan programazio konbentzioek SQL hizkuntzatako maiuskulak eta minuskulak erabiltzen dituztela gehien erabiltzen ditugun zutabe eta taulako taulak. Goiko komandoa hasieran nahasgarria dirudi, baina egitura sinple bat dago atzean. Hona hemen gauzak pixka bat garbitu litezkeen ikuspegi orokorra:
CREATE TABLE table_name (attribute_name datatype aukerak, ..., attribute_name datatype aukerak);Atributuak eta datu motak
Aurreko adibidean, taula-izena langileak da eta lau atributu ditugu: employeeid, lastname, firstname, eta reportsto. Datu-baseak eremuan gorde nahi dugun informazio mota adierazten du. Langilearen ID zenbakia zenbaki oso sinplea da, beraz INTEGERren datu-mota erabiliko dugu langilegoaren eremuan eta txostena eremuan. Langileen izenek luzera aldakorreko karaktere-kateak izango dute eta ez dugu espero langile batek 25 karaktere baino luzeagoak izatea. Horregatik, eremu horietako VARCHAR (25) mota erabiliko dugu.
Balio NULL
Halaber, NULL edo NO NULL zehaztu dezakegu CREATE deklarazioko aukeren eremuan. Honek datu-basea datu-baseari gehitzen dizkion NULL (edo hutsa) balioak onartzen dituen datu-basea kontatzen du. Gure adibidean, HR sailak eskatzen du langile baten identifikazioa eta izen osoa langile bakoitzarentzat gordeta dagoela. Hala eta guztiz ere, langile guztiek ez dute kudeatzailerik - CEOak inork ez daki! - Beraz, eremu horretan NULL sarrerak baimendu ditzakegu. Kontutan izan NULL balio lehenetsia dela eta aukera hau ez dela inolaz ere baimenduko balio NULL atributu batentzat.
Eraikitzen geratzen diren taulak
Orain aztertu lurraldeen taulan. Datu horiei begirada bizkorra emanez, zenbaki oso bat eta bi luzera-luzera kateak behar ditugu. Gure aurreko adibidean bezala, ez dugu espero Eskualde IDak 25 karaktere baino gehiago kontsumitzea. Hala ere, gure lurraldeetako batzuek izen luzeagoak dituzte, beraz, 40 karaktereko atributuaren luzera baimenduko dugu. Ikus dezagun dagokion SQLa:
CREATE TABLE lurraldeak (lurralde INTEGER NOT NULL, lurraldea Deskribapena VARCHAR (40) NOT NULL, VARCHAR eskualdea (25) EZ NULL);Azkenean, EmployeeTerritories taula erabiliko dugu langileen eta lurraldeen arteko harremanak gordetzeko. Langile eta lurralde bakoitzari buruzko informazio zehatza gure aurreko bi tauletan gordetzen da. Hori dela eta, mahai honetako bi osoko identifikazio-zenbakiak bakarrik gorde behar ditugu. Informazio hori zabaltzeko beharrezkoa izanez gero, DATUEN aukeren komandoetan JOIN bat erabil dezakezu mahai anitzetatik informazioa lortzeko. Datuen biltegiratze metodo hau gure datu basean erredundantzia murrizten du eta espazioen erabilera optimoa bermatzen du gure biltegiratze unitateetan. JOIN komandoa sakonduko dugu etorkizuneko tutorial batean. Hona hemen gure azken taula ezartzeko SQL kodea:
CREATE TABLE employeeterritories (INTEGER NOT NULL langilea, INTEGER NOT NULL lurraldea);SQL Mekanismoak Sorkuntzaren ondorengo datu-base baten egitura aldatzen du
Oraindik bereziki astuna bazara gaur egun, nabaritu genezake "ustekabean" gure datu-basearen taulak ezartzeko diseinu-eskakizunen bat baztertuko genuela. XYZ Corporation-en HR Zuzendariak eskatzen du datu-basea jarraipena egiteko soldataren informazioa ordaintzea eta sortu dugun datu-basearen tauletan ez dugula eman.
Hala ere, dena ez da galdu. ALTER TABLE komandoa erabil dezakezu atributu hau gure datu basean gehitzeko. Soldata osoko balio gisa gorde nahi dugu. Sintaxia CREATE TABLE komandoaren antzekoa da, hau da:
Oharra nabarituko dugu atributu hau NULL balioak onartzen direla. Kasu gehienetan, ez dago aukera bat lehendik dagoen taulan zutabe bat gehitzean. Hori dela eta, taulak dagoeneko errenkadak ditu atributu honen sarrera gabe. Hori dela eta, DBMS automatikoki NULL balio bat txertatzen du void betetzeko.
Eta horrek SQL datu-basea eta taularen sorrerako prozesua begiratzen du. Berriro begiratu sarbide berrietan gure SQL tutorial sailetan. Mezu elektronikoen gogorarazlea nahi baduzu, artikulu berriak gehituko zaizkizu Datu baseen datuei buruz, ziurtatu gure buletina harpidetzeko.