Ho theha marang-rang le litafole SQL

Ho theha Database

Na u se u itokiselitse ho qala ho fana ka marang-rang le litafole tse nang le puo e hlophisitsoeng ea Query ? Sehloohong sena, re hlahloba mokhoa oa ho theha litafole ka letsoho le CREATE DATABASE le litaelo tsa CREATE TABLE . Haeba o ncha ho SQL, o ka lakatsa ho hlahloba sehlooho sa SQL Basics pele.

Litlhoko tsa Khoebo

Pele re lula fatše lebokoseng, re lokela ho etsa bonnete ba hore re na le kutloisiso e tiileng ea litlhoko tsa bareki. Tsela e molemo ka ho fetisisa ea ho fumana temohisiso ee ke efe? Ho bua le moreki, ho joalo! Ka mor'a hore re lule fatše le mookameli oa Lefapha la Basebetsi ba XYZ, re ithutile hore ke k'hamphani ea barekisi ea li-widget 'me ka ho khetheha e thahasella ho latela boitsebiso ba basebetsi ba bona ba ho rekisa.

XYZ Corporation e arola maruo a bona libakeng tse ka bochabela le tse ka bophirimela, tseo e 'ngoe le e' ngoe e arotsoeng libakeng tse ngata tse koahetsoeng ke batho ba bang. Lefapha la HR le ka rata ho shebella tšimo e koahetsoeng ke mosebeletsi e mong le e mong hammoho le boitsebiso ba moputso oa mohiri le mookameli. E le hore re finyelle litlhoko tsena, re entse lebenkele le nang le litafole tse tharo, tse bontšitsoeng setšoantšong sa Dikamano-Mofuthu leqepheng lena.

Ho khetha Sethaleng sa Database

Re entse qeto ea ho sebelisa tsamaiso ea tsamaiso ea basebetsi (kapa DBMS) e hahiloeng holim'a Puo ea Sebopeho se Hlophisitsoeng (SQL). Ka hona, tsohle tsa rona tsa ditshwantsho le ditaelo tsa ditaele tsa ditaelo li lokela ho ngoloa ka ANSI SQL e tloaelehileng ka kelellong.

Joaloka phaello e eketsehileng, ho sebelisa SQL e lumellanang le ANSI ho tla netefatsa hore litaelo tsena li tla sebetsa ho DBMS leha e le efe e tšehetsang SQL e tloaelehileng , ho akarelletsa le Oracle le Microsoft SQL Server. Haeba o sa khethile sethaleng bakeng sa hau ea hau, joale sehlooho sa Database Software Options se u tsamaisa ka mokhoa oa ho khetha.

Ho theha Database

Mohato oa rona oa pele ke ho theha database ka boeona. Tsamaiso e mengata ea tsamaiso ea li-database e fana ka letoto la dikgetho bakeng sa ho iketsetsa maemo a marang-rang sebakeng sena, empa database ea rona e lumella feela ho thehoa ha database. Joaloka litaelo tsohle tsa rona, u ka rata ho sheba litokomane tsa DBMS ea hau ho fumana hore na maemo afe kapa afe a tsoetseng pele a ts'ehetsoeng ke tsamaiso ea hau e finyella litlhoko tsa hau. A re sebeliseng taelo ea CREATE DATABASE ho theha database ea rona:

CREATE DATABASE basebetsi

Ela hloko ka ho khetheha chelete e sebelisoang ho latela mohlala o ka holimo. Ho tloaelehile hore batho ba sebetsang SQL ba sebelise litlhaku tsohle bakeng sa SQL mantsoe a bohlokoa a kang "CREATE" le "DATABASE" ha o ntse o sebelisa mangolo a tlaase a mangata bakeng sa mabitso a sebelisoang ke basebetsi joaloka lebitso la basebetsi ba "basebetsi". Likopano tsena li etsa hore ho be bonolo ho bala.

Tsoela pele ho bala tutorial ena ha re ntse re theha litafole bakeng sa rona.

Ho ithuta ho eketsehileng

Haeba o ka rata ho ithuta ho eketsehileng ka Puo ea Sebopeho se Hlophisitsoeng , bala Sengoliloeng sa SQL kapa u ngolise thupelo ea rona ea mahala ea SQL ea ho ithuta.

Hona joale kaha re entse le ho bopa database, re se re itokiselitse ho qala meralo e meraro e sebelisoang ho boloka dintlha tsa basebetsi ba XYZ Corporation. Re tla be re phethahatsa litafole tseo re li entseng karolong e fetileng ea thuto ena.

Ho Theha Letlapa la Pele la Pele

Tafole ea rona ea pele e na le boitsebiso ba motho e mong le e mong mosebetsing oa khamphani ea rona. Re hloka ho kenyelletsa lebitso la mosebeletsi, moputso, ID, le mookameli. Ke moqapi o motle oa ho arola mabitso a ho qetela le a pele maemong a fapaneng ho nolofalletsa ho batla lintlha le ho hlophisa nakong e tlang. Hape, re tla boloka tlaleho ea mookameli oa mong le e mong ka ho kenya tlaleho ho ID ea mohiri oa mookameli ho rekoto e mong le e mong ea basebetsi. A re ke re qaleng re shebe tafole ea basebetsi e lakatsehang.

The ReportsTo attribute e boloka ID ea mookameli bakeng sa mosebeletsi e mong le e mong. Ho tloha mehlala ea litlaleho tse bontšitsoeng, re ka tseba hore Sue Scampi ke mookameli oa bobeli ba Tom Kendall le John Smith. Leha ho le joalo, ha ho na tlhahisoleseding e ka lebokoseng la mookameli oa Sue, joalokaha ho bontšitsoe ke ho kena ha NULL molaong oa hae.

Hona joale re ka sebelisa SQL ho theha tafole ho basebetsi ba rona ba dintlha. Pele re etsa joalo, a re netefatse hore re sethaleng se nepahetseng ka ho fana ka taelo ea USE:

SEBELISA basebetsi;

Kapa, ​​"basebetsi ba DATABASE;" taelo e ne e tla etsa mosebetsi o tšoanang. Hona joale re ka sheba taelo ea SQL e sebelisetsoang ho theha basebetsi ba rona tafoleng:

BALA TABLE basebeletsi (mosebeletsi INTEGER NOT NULL, lebitso la ho qetela VARCHAR (25) NOT NULL, firstname VARCHAR (25) NOT NULL, tlaleho ea INTEGER NULL);

Joalokaha ho na le mohlala o boletsoeng ka holimo, tlaleho ea lenaneo la kopano e bolela hore re sebelisa litlhaku tsohle bakeng sa SQL mantsoe a bohlokoa le mangolo a tlaase bakeng sa mehala le litafole tse sebelisoang ke basebetsi. Taelo e ka holimo e ka 'na ea bonahala eka e ferekanya qalong, empa ha e le hantle ho na le mohaho o bonolo ka morao. Mona ke pono e tloaelehileng e ka 'nang ea hlakisa lintho hanyenyane:

BALA TABLE tafoleng_namane (khetho ea lebitso la lebitso la datatype, ..., khetho ea lebitso la lebitso la datatpe);

Litšoaneleho le Mefuta ea Data

Mohlala o fetileng, lebitso la tafole ke basebeletsi 'me re kenyelletsa litšobotsi tse' nè: mohlokomeli, lebitso la ho qetela, lebitso la pele, le tlaleho. Sebaka sa datatype se bontša mofuta oa tlhahisoleseding eo re lakatsang ho e boloka tšimong e 'ngoe le e' ngoe. Nomoro ea mosebeletsi ke nomoro e lekaneng haholo, kahoo re tla sebelisa datatepe ea INTEGER bakeng sa tšimo ea basebetsi le tšimo ea tlaleho. Mabitso a basebetsi e tla ba mekhoa ea mekhoa ea bolelele bo fapaneng 'me ha re lebelletse hore mosebeletsi e mong le e mong a be le lebitso la pele kapa la ho qetela nako e telele ho feta litlhaku tse 25. Ka hona, re tla sebelisa mofuta oa VARCHAR (25) bakeng sa masimo ana.

Melao ea NULL

Re ka boela ra hlalosa NULL kapa NOT NULL tšimong ea khetho ea polelo ea CREATE. Sena se bolella feela ditshwantsho hore na litekanyetso tsa NULL (kapa tse sa nang letho) li lumelloa bakeng sa tšobotsi eo ha o phaella mela ho database. Mohlala oa rona, Lefapha la HR le hloka hore ID ea mosebeletsi le lebitso le feletseng le bolokoe bakeng sa mosebeletsi e mong le e mong. Leha ho le joalo, hase mosebeletsi e mong le e mong ea nang le mookameli - CEO ha e tlale motho! - kahoo re lumella litlhaloso tsa NULL tšimong eo. Hlokomela hore NULL ke boleng ba kamehla 'me ho tlohela kgetho ena ho tla lumella ka ho feletseng litekanyetso tsa NULL bakeng sa tšobotsi.

Ho Haha Litoro Tse Tsoelang Pele

Joale a re shebeng libaka tsa tafole. Ho tloha ka potlako re sheba lintlha tsena, ho bonahala eka re lokela ho boloka e leng lenane le likhoele tse peli tse bolelele ba mefuta e sa tšoaneng. Joaloka mohlala oa rona oa pele, ha rea ​​lebella hore ID ea Naha e je litlhaku tse fetang 25. Leha ho le joalo, libaka tse ling tsa rona li na le mabitso a mangata, kahoo re tla atolosa bolelele bo amohelehang ba tšobotsi eo ho lirapa tse 40. A re shebeng SQL e lekanang:

BALA LITABA libaka (sebaka sa INTEGER NOT NULL, tšimo e hlalosang VARCHAR (40) HA HO NULL, regionid VARCHAR (25) HA HO NULL);

Qetellong, re tla sebelisa tafoleng ea EmployeeTerritories ho boloka likamano pakeng tsa basebetsi le libaka. Tlhahisoleseding e qaqileng bakeng sa mosebeletsi le mosebeletsi o mong le o mong o bolokiloe tafoleng tse peli tse fetileng Ka hona, re hloka feela ho boloka lintlha tse peli tsa boitsebiso bo holimo tafoleng ena. Haeba re hloka ho atolosa tlhahisoleseling ena re ka sebelisa JOIN ka litaelo tsa rona tsa khetho ea data ho fumana boitsebiso bo tsoang litafole tse ngata. Mokhoa ona oa ho boloka dintlha o fokotsa ts'ebetso e fokolang ka molareng oa rona mme o etsa bonnete ba hore sebedisa sebaka ka likoloi tsa rona tsa polokelo. Re tla koahela taelo ea JOIN ka botebo thutong e tlang. Mona ke SQL khoutu ea ho kenya ts'ebetsong tafole ea rona ea ho qetela:

BALA TABLE employeterritories (INTEGER NOTOLATE, mosebeletsi INTEGER NOT NULL);

SQL ea Mesebetsi e fana ka Tlhaloso ea ho Fetola Tlhaloso ea Database Ka mor'a Pōpo

Haeba u hloletsoe haholo kajeno, u ka be u hlokometse hore "ka phoso" ha rea ​​ka ra tlohela e le 'ngoe ea litlhoko tsa moralo ha re sebelisa litafole tsa rona tsa marang-rang. XYZ ea HR Director o ile a kōpa hore boitsebiso ba moputso oa basebetsi ba setsi sa morao-rao ba morao-rao 'me re hlokomolohe ho fana ka sena ho tafoleng ea databases eo re e entseng.

Leha ho le joalo, tsohle ha li lahlehe. Re ka sebelisa taelo ea ALTER TABLE ho eketsa tšobotsi ena ho database ea rona e teng. Re batla ho boloka moputso e le tekanyo ea bohle. Poleloana e tšoana hantle le ea CREATE TABLE taelo, ke ena:

ALTER TABLE basebetsi ba eketsa moputso MONGOLI NULL;

Hlokomela hore re boletse hore litekanyetso tsa NULL li lumelloa moeeng ona. Maemong a mangata, ha ho na kgetho ha o eketsa mohala ho tafoleng e teng. Sena se bakoa ke taba ea hore tafole e se e ntse e na le mela e se nang ho kena moeeng ona. Ka lebaka leo, DBMS e kenya ka boomo letšoao la NULL ho tlatsa letho.

'Me seo se etsa hore re shebane le sebopeho sa SQL le mokhoa oa ho hlahisa litafole. Sheba khafetsa bakeng sa mekhahlelo e mecha ka lihlopha tsa rona tsa thupelo ea SQL. Haeba o ka rata khopotso ea melaetsa ha lihlooho tse ncha li kenyelletsoa ho Websaeteng ea Li-database, etsa bonnete ba hore u ngolisa ho tsebiso ea rona!