A 'Cruthachadh Stòran-dàta agus Tùird Ann an SQL

A 'cruthachadh an stòr-dàta

A bheil thu deiseil gus stòr-dàta agus clàran a chruthachadh le Ceist Structured Language ? Anns an artaigil seo, bidh sinn a 'rannsachadh a' phròiseas a bhith a 'cruthachadh chlàran le làmh-sgrìobhainnean CREATE DATABASE agus CREATE TABLE. Ma tha thu ùr gu SQL, 's dòcha gum bi thu airson ath-sgrùdadh a dhèanamh air an artaigilean bunaiteach SQL againn an toiseach.

Riatasan Gnìomhachais

Mus suidh sinn sìos aig a 'mheur-chlàr, feumaidh sinn dèanamh cinnteach gu bheil tuigse làidir againn mu riatanasan an neach-cleachdaidh. Dè an dòigh as fheàrr air an lèirsinn seo fhaighinn? A 'bruidhinn ris an neach-cleachdaidh, gu dearbh! An dèidh suidhe còmhla ri Stiùiriche Goireasan Daonna XYZ, tha sinn air ionnsachadh gur e companaidh reic ghlasaichean a th 'annta agus tha ùidh mhòr aca ann a bhith a' cumail sùil air fiosrachadh air an luchd-reic.

Tha XYZ Corporation a 'roinn an fhèill reic a-steach do roinnean an ear agus an iar, agus tha gach aon dhiubh air a roinn ann an iomadh sgìre a tha air a chòmhdach le riochdairean reic fa leth. Bu mhath le roinn an HR rian a chumail air an raon a tha còmhdaichte le gach neach-obrach a thuilleadh air fiosrachadh tuarastail gach neach-obrach agus structar stiùiridh. Gus coinneachadh ris na riatanasan seo, tha sinn air stòr-dàta a dhealbh a tha a 'gabhail a-steach trì clàran, air an sealltainn san diagram Entity-Relationship air an duilleag seo.

A 'taghadh clàr-stòr-dàta

Tha sinn air co-dhùnadh siostam stiùireadh stòr - dàta (no DBMS) a chleachdadh a tha air a thogail air a 'Cheist Cheist Structured (SQL). Mar sin, bu chòir an stòr-dàta againn agus na h-òrdughan cruthachadh bùird againn a bhith air an sgrìobhadh le ANSI SQL cumanta.

Mar bhuannachd a bharrachd, le bhith a 'cleachdadh SQL a tha co-chòrdail le ANSI, nì e cinnteach gun obraich na h-òrdughan seo air DBMS sam bith a bheir taic do inbhe SQL , a' gabhail a-steach Oracle agus Microsoft SQL Server. Mura h-eil thu air àrd-ùrlar a thaghadh airson an stòr-dàta agad fhathast, tha Roghainnean Bathar-bog Stòr-dàta an artaigil a 'dol tro phròiseas taghaidh.

A 'cruthachadh an stòr-dàta

Is e ar ciad cheum an stòr-dàta a chruthachadh fhèin. Tha mòran de shiostaman rianachd stòr-dàta a 'tabhann sreath de roghainnean gus paramedaran stòr-dàta a ghnàthachadh aig a' cheum seo, ach chan eil an stòr-dàta againn ach a 'toirt cead dha stòr-dàta a chruthachadh. Coltach ris na h-òrdughan againn gu lèir, is dòcha gum bi thu airson co-chomhairleachadh a dhèanamh air na sgrìobhainnean airson an DBMS agad gus faighinn a-mach a bheil paramairtean adhartach sam bith a tha taic bhon t-siostam agad a 'coinneachadh ri na feumalachdan agad. Feuchaidh sinn ris an òrdugh CREATE DATABASE gus an stòr-dàta againn a chuir air dòigh:

Luchd-obrach CREATE DATABASE

Thoir nota sònraichte den t-calpachadh a chaidh a chleachdadh san eisimpleir gu h-àrd. Tha e na chleachdadh cumanta am measg luchd-freagairt phrògraman SQL a bhith a 'cleachdadh a h-uile litrichean calpa airson faclan-luirg SQL mar "CREATE" agus "DATABASE" fhad' sa tha iad a 'cleachdadh litrichean beaga beaga airson ainmean a tha air an sònrachadh le luchd-cleachdaidh mar ainm an stòr-dàta "luchd-obrach". Tha na gnàthasan sin a 'solarachadh airson leughadh furasta.

Lean air adhart a 'leughadh an oideachaidh seo oir bidh sinn a' cruthachadh chlàran airson an stòr-dàta againn.

Barrachd Ionnsachaidh

Ma tha thu airson barrachd fhaighinn a-mach mun Cheist Ceist Structured , leugh Ro-ràdh gu SQL no clàraich airson a 'chùrsa againn le post-d SQL Ionnsachaidh an-asgaidh.

A-nis gu bheil sinn air an stòr-dàta againn a dhealbhadh agus a chruthachadh, tha sinn deiseil airson tòiseachadh air na trì clàran a chruthachadh gus stòrasan luchd-obrach XYZ Corporation a stòradh. Bidh sinn a 'buileachadh nan clàr a dhealbhaich sinn san earrann roimhe den oideachadh seo.

A 'Cruthachadh ar Ciad Clàr

Tha a 'chiad bhòrd againn a' gabhail a-steach dàta pearsanta gach neach-obrach den chompanaidh againn. Feumaidh sinn a bhith a 'toirt a-steach ainm, tuarastal, ID, agus manaidsear gach neach-obrach. Is e deagh dhealbh dealbhaidh a tha ann airson sgaradh a dhèanamh eadar na h-ainmean mu dheireadh agus a 'chiad àite ann an raointean fa leth gus sìmplidh a dhèanamh air rannsachadh dàta agus òrdachadh san àm ri teachd. Cuideachd, cumaidh sinn sùil air manaidsear gach neach-obrach le bhith a 'cur a-steach iomradh air ID neach-obrach an stiùiriche anns a h-uile clàr luchd-obrach. Feuch gun toisich sinn sùil air a 'bhòrd luchd-obrach a tha ag iarraidh.

Tha an aithris ReportsTo a 'stòradh ID manaidsear airson gach neach-obrach. Bho na h-eisimpleirean de na clàran a tha air an sealltainn, is urrainn dhuinn dearbhadh gu bheil Sue Scampi na mhanaidsear air Tom Kendall agus Iain Mac a 'Ghobhainn. Ach, chan eil fiosrachadh anns an stòr-dàta air manaidsear Sue, mar a tha air a chomharrachadh leis an inntrigeadh NULL anns an t-sreath aice.

A-nis, is urrainn dhuinn SQL a chleachdadh gus an clàr a chruthachadh nar stòr-dàta luchd-obrach. Mus nì sinn sin, leigamaid cinnteach gu bheil sinn san stòr-dàta cheart le bhith a 'cur a-mach àithne USE:

Luchd-obrach cleachdadh;

Air neo, tha an "neach-obrach DATABASE;" òrdugh a 'coileanadh an aon ghnìomh. A-nis, is urrainn dhuinn sùil a thoirt air an àithne SQL a chaidh a chleachdadh gus clàr ar luchd-obrach a chruthachadh:

CREATE TABLE luchd-obrach (neach-obrach INTEGER NOT NULL, ainm-ainm VARCHAR (25) NOT NULL, ciad ainm VARCHAR (25) NOT NULL, reportsto INTEGER NULL);

Mar an eisimpleir gu h-àrd, innis gu bheil co-chruinneachadh phrògraman ag ràdh gum bi sinn a 'cleachdadh a h-uile litrichean calpa airson faclan-luirg SQL agus litrichean beaga airson colbhan agus clàran ainmichte leis an neach-cleachdaidh. Dh'fhaodadh gu bheil an t-òrdugh gu h-àrd a 'nochdadh meallta an toiseach, ach tha structar sìmplidh air a chùlaibh. Seo sealladh farsaing a dh 'fhaodadh rudeigin a ghlanadh suas:

CREATE TABLE table_name (roghainnean datatype attribute_name, ..., roghainnean datatype attribute_name);

Feartan agus Seòrsaichean Dàta

San eisimpleir roimhe, is e luchd-obrach ainm a 'bhùird agus tha ceithir buadhan againn: neach-obrach, ainm-ciad, ciad ainm, agus aithisg. Tha an dat data a 'sealltainn an seòrsa fiosrachaidh a tha sinn airson a stòradh anns gach raon. Is e àireamh iomlan àireamh sìmplidh ID a 'chosnaiche, mar sin cleachdaidh sinn an data data INTEGER airson an raon obrach agus an raon aithisg. Bidh na h-ainmean luchd-obrach nan sreath caractair de dh 'fhaid caochlaideach agus chan eil sinn a' sùileachadh gum bi a 'chiad ainm no an ainm mu dheireadh aig a' char as fhaide na 25 caractaran. Mar sin, cleachdaidh sinn an seòrsa VARCHAR (25) airson nan raointean sin.

NULL luachan

Faodaidh sinn cuideachd an àireamh NULL no NOT NULL a chomharrachadh ann an raon roghainnean an aithris CREATE. Tha seo dìreach ag innse don stòr-dàta a bheil luachan NULL (no falamh) ceadaichte airson a 'ghnè sin nuair a bhios iad a' cur sreathan ris an stòr-dàta. San eisimpleir againn, feumaidh an roinn HR gum bi ID neach-obrach agus ainm iomlan air a stòradh airson gach neach-obrach. Ach, chan eil manaidsear aig a h-uile neach-obrach - tha an Ceannard ag aithris do dhuine sam bith! - mar sin leigidh sinn inntrigeadh NULL anns an raon sin. Thoir fa-near gur e NULL am luach bunaiteach agus leigidh e seachad an roghainn seo luas leudaichte le luachan de NULL airson gnè.

A 'togail nan clàran a tha air fhàgail

A-nis, thoir sùil air a 'bhòrd tìrean. Bho shealladh goirid air an dàta seo, tha e coltach gum feum sinn sloinneadh agus dà shreath fhada a stàladh. Coltach ris an eisimpleir roimhe seo, chan eil sinn a 'sùileachadh gun toir ID na roinne barrachd air 25 caractar. Ach, tha ainmean nas fhaide aig cuid de na tìrean againn, agus mar sin leudaichidh sinn an ùine sin a ghabhas a cheadachadh gu 40 caractar. Feuch gun coimhead sinn ris an SQL iomchaidh:

CREATE TABLE sgìrean (INTEGER chrìochnach NOT NULL, Territas Tuairisgeul VARCHAR (40) NOT NULL, regionid VARCHAR (25) NOT NULL);

Mu dheireadh, cleachdaidh sinn clàr EmployeeTerritories airson na dàimhean eadar luchd-obrach agus fearann ​​a stòradh. Tha fiosrachadh mionaideach mu gach neach-obrach agus fearann ​​air a stòradh anns na dà chlàr againn roimhe. Mar sin, chan fheum sinn ach an dà àireamh aithne iomlan a stòradh sa chlàr seo. Ma dh'fheumas sinn am fiosrachadh seo a leudachadh, is urrainn dhuinn a chleachdadh còmhla ris na h-òrdughan taghaidh againn airson fiosrachadh fhaighinn bho iomadh clàr. Tha an dòigh seo airson dàta a stòradh a 'lùghdachadh gainnead anns an stòr-dàta againn agus a' dèanamh cinnteach gu bheil feum nas fheàrr de rùm air na dròbharan stòraidh againn. Cuiridh sinn a-steach an t-òrdugh JOIN a-steach ann an oideachadh san àm ri teachd. Seo an còd SQL gus an clàr deireannach againn a bhuileachadh:

CREATE TABLE employeeterritories (neach-obrach INTEGER NOT NULL, INTEGER territoryid NOT NULL);

Tha an Inneal SQL a 'solarachadh Structar Stòr-dàta an dèidh Creation atharrachadh

Ma tha thu gu sònraichte an-diugh, 's dòcha gu bheil thu air mothachadh gu bheil sinn "gu fulangach" a' fàgail à aon de na riatanasan dealbhaidh nuair a bhios sinn a 'cur an gnìomh clàran an stòr-dàta againn. Dh'iarr Stiùiriche HR XYZ Corporation gun robh an stòr-dàta a 'cumail sùil air fiosrachadh tuarastail luchd-obrach agus gun do dhearbh sinn oirnn ullachadh airson seo ann an clàran an stòr - dàta a chruthaich sinn.

Ach, chan eil a h-uile càil air a chall. Faodaidh sinn an òrdugh ALTER TABLE a chleachdadh gus am feart seo a chur ris an stòr-dàta a th 'againn an-dràsta. Tha sinn airson an tuarastal a stòradh mar luach iomlan. Tha an co-chòrdadh gu math coltach ri òrdugh CREATE TABLE, an seo:

ALTER TABLE luchd-obrach tuarastal ADD INTEGER NULL;

Thoir fios gu bheil sinn a 'sònrachadh gu bheil luachan NULL ceadaichte airson a' ghnè seo. Anns a 'mhòr-chuid de chùisean, chan eil roghainn ann nuair a chuireas tu colbh gu clàr a tha ann mar-thà. Tha seo air sgàth gu bheil sreathan anns a 'chlàr mu thràth gun a bhith a' faighinn a-steach airson a 'ghnè seo. Mar sin, bidh an DBMS a 'cur a-steach luach NULL gu fèin-obrachail gus am falach a lìonadh.

Agus bidh sin a 'toirt sùil air an sgrùdadh againn air stòr-dàta SQL agus pròiseas cruthachadh bùird. Thoir sùil air ais gu tric airson cuibhreannan ùra anns an t-sreath oideachaidh SQL againn. Ma tha thu ag iarraidh cuimhneachadh air post-dealain nuair a thèid artaigilean ùra a chur ris an làrach mu Stòrasan Fiosrachadh, dèan cinnteach gu bheil thu a 'dol a-steach don cuairt-litir againn!