Ukulawulwa kokufinyelela kwabasebenzisi kanye nezindima ku-SQL

Ukuphepha kubaluleke kakhulu kubaqondisi bezinqolobane ezifuna ukuvikela i-gigabyte yabo yedatha ebalulekile ebhizinisini kusukela emahlotsheni angaphandle kwabangaphandle abangagunyaziwe nabangaphakathi abazama ukudlula igunya labo. Zonke izinhlelo zokuphathwa kwedatha yokuxhumana zinikeza uhlobo oluthile lwezinhlelo zokuphepha zangaphakathi ezenzelwe ukunciphisa lezi ziphetho. Zivela ekuvikeleni okulula kwephasiwedi okuhlinzekwa yi- Microsoft Access kwisakhiwo esiyinkimbinkimbi yomsebenzisi / sendima esekelwe ulwazi oluseduze lokuxhumana olufana ne-Oracle ne- Microsoft SQL Server. Lesi sihloko sigxile emisebenzini yokuphepha ejwayelekile kuwo wonke ama-database asebenzisa uLimi Oluhlelekile Lokusebenza (noma i- SQL ). Sonke, sizohamba ngenqubo yokuqinisa ukutholakala kwedatha nokuqinisekisa ukuphepha kwedatha yakho.

Abasebenzisi

Ulwazi olusekelwe kwiseva lonke lusekela umqondo womsebenzisi ofana nalowo osetshenziselwa izinhlelo zokusebenza zokusebenzisa ikhompyutha. Uma ujwayele ubuqhawe bomsebenzisi / iqembu olutholakala kwi-Microsoft Windows NT ne-Windows 2000, uzothola ukuthi amaqembu omsebenzisi / amaqembu asekelwa yi-SQL Server ne-Oracle afana kakhulu.

Kunconywa kakhulu ukuthi udale ama-akhawunti womsebenzisi womuntu ngamunye womuntu ngamunye ozofinyelela ku-database yakho. Kungenzeka ngokusemthethweni ukwabelana ngama-akhawunti phakathi kwabasebenzisi noma ukusebenzisa nje i-akhawunti eyodwa yomsebenzisi ngayinye uhlobo lomsebenzisi okudingeka afinyelele ku-database yakho, kodwa ngidumaza kakhulu lo mkhuba ngezizathu ezimbili. Okokuqala, kuzoqeda ukuziphendulela ngabanye-uma umsebenzisi enza ushintsho ku-database yakho (ake sithi ngokuziphakamisa imali engu-$ 5,000), ngeke ukwazi ukuyibuyisela kumuntu othize ngokusebenzisa ukusetshenziswa kwama-audit log. Ngaphezu kwalokho, uma umsebenzisi othize eshiya inhlangano yakho futhi ufisa ukususa ukufinyelela kwakhe kusuka ku-database, uzophoqeleka ukushintsha iphasiwedi bonke abasebenzisi abathembele kuyo.

Izindlela zokudala i-akhawunti yomsebenzisi ziyahlukahluka kusuka kwipulatifomu kuya kwipulatifomu futhi kuzodingeka uxhumane nemibhalo yakho ethize ye-DBMS yenqubo ngqo. Abasebenzisi be-Microsoft SQL Server kufanele baphenye ukusetshenziswa kwenqubo ye-sp_adduser egcinwe. Abaqondisi be-database ye-Oracle bazothola umyalo wokudala UMSEBENZI. Ungase futhi ufune ukuphenya ezinye izinhlelo zokuqinisekisa. Isibonelo, i-Microsoft SQL Server isekela ukusetshenziswa kweWindows NT Integrated Security. Ngaphansi kwalolu hlelo, abasebenzisi babonakala kwi-database ngama-akhawunti wabo womsebenzisi we-Windows NT futhi akudingeki ukuba bafake i-ID yomsebenzisi eyengeziwe kanye nephasiwedi ukufinyelela ku-database. Le ndlela iyathandwa kakhulu phakathi kwabaqondisi be-database ngoba ishintsha umthwalo wokuphatha i-akhawunti kubasebenzi bokuphatha inethiwekhi futhi inikeza kalula ukubonisa okufanayo kumsebenzisi wokugcina.

Izindima

Uma usendaweni enenani elincane labasebenzisi, cishe uzothola ukuthi ukudala ama-akhawunti womsebenzisi nokunikeza izimvume ngokuqondile kuzo kukwanele izidingo zakho. Kodwa-ke, uma unezinombolo eziningi zabasebenzisi, cishe uzogxeka umthwalo wokugcina ama-akhawunti kanye nezimvume ezifanele. Ukuze unciphise lo mthwalo, imininingwane yolwazi ehlobeneyo isekela umbono wendima. Izindima ze-database zisebenza ngokufanayo namaqembu e-Windows NT. Ama-akhawunti womsebenzisi anikezwe indima (s) kanye nezimvume zinikezwa indima yonke esikhundleni kunama-akhawunti womsebenzisi ngamunye. Isibonelo, singakha indima ye-DBA bese ufaka ama-akhawunti womsebenzisi wabasebenzi bethu bokuphatha kule ndima. Uma senze lokhu, singabela imvume ethile kubo bonke abaqondisayo (nalabo abazayo) ngokumane nje banikeze imvume yendima. Ngokuphindaphindiwe, izinqubo zokudala izindima zihluka kusuka kwipulatifomu kuya kwesikhulumi. Abaphathi be-MS SQL Server kufanele baphenye inqubomgomo ye-sp_addrole egcinwe ngenkathi i-Oracle DBA kufanele isebenzise i-syntax yokudala.

Ukunikeza Izimvume

Manje njengoba senezele abasebenzisi ku-database yethu, sekuyisikhathi sokuqala ukuqinisa ukuphepha ngokungeza izimvume. Isinyathelo sethu sokuqala sizoba ukunikeza izimvume ezigciniwe ezifanele kubasebenzisi bethu. Sizokufeza lokhu ngokusebenzisa isitatimende se-SQL GRANT.

Nasi i-syntax yesitatimende:

I-GRANT
[ON ]
KUYA
[NGOKUKHETHA OKUHLELEKILE]

Manje, ake sibuke lesi sitatimende se-line-by-line. Umzila wokuqala, i-GRANT , isenza sikwazi ukucacisa izimvume zetafula eziqondile esizinikeza zona. Lezi zingaba izimvume zezinga lesitafula (njengokukhetha, HLELA, QAPHELA futhi UCWELE) noma izimvume zesisekelo sedatha (njenge-CREATE TABLE, ALTER DATABASE no-GRANT). Imvume engaphezu kweyodwa inganikwa ngesitatimende esisodwa se-GRANT, kodwa izimvume zezinga lesitafula kanye nezimvume ezingeni le-database zingahle zihlangane esitatimendeni esisodwa.

Umugqa wesibili, ku-

, usetshenziselwa ukucacisa ithebula elichaphaziwe lamvume wezinga lethebula. Lo mzila ushiywe uma sinikezela izimvume ezingeni le-database. Umzila wesithathu ucacisa umsebenzisi noma indima enikezwa izimvume.

Ekugcineni, umugqa wesine, NGOKUKHONA UKUQALA, kuyakhethwa. Uma lo mgqa ufakiwe esitatimendeni, umsebenzisi othintekayo uphinde avunyelwe ukunikeza lezi zimvume ezifanayo kwabanye abasebenzisi. Qaphela ukuthi i-WITH OPTION OPTION ayikwazi ukucaciswa uma izimvume zinikezwa indima.

Izibonelo

Ake sibheke izibonelo ezimbalwa. Esikhathini sethu sokuqala, sisanda kuqasha iqembu lama-operators angu-42 wokungenisa idatha okuzokwengeza nokugcina amarekhodi amakhasimende. Kudingeka bakwazi ukufinyelela ulwazi kumathebula Amakhasimende, ukuguqula lolu lwazi bese wengeza amarekhodi amasha etafuleni. Akufanele bakwazi ukususa ngokuphelele irekhodi kusuka ku-database. Okokuqala, kufanele senze ama-akhawunti womsebenzisi we-opharetha ngamunye bese sibangeze sonke indima entsha, i-DataEntry. Okulandelayo, kufanele sisebenzise isitatimende esilandelayo se-SQL ukuze sibanikeze izimvume ezifanele:

UKUHLOLA, HLELA, QAPHELA
ON abathengi
TO DataEntry

Futhi yilokho okukhona kulokho! Manje ake sihlole icala lapho sinikezela izimvume ezingeni le-database. Sifuna ukuvumela amalungu endima ye-DBA ukwengeza amatafula amasha ku-database yethu. Ngaphezu kwalokho, sifuna ukuba bakwazi ukunikeza abanye abasebenzisi imvume yokwenza okufanayo. Nasi isitatimende se-SQL:

YOKUKHALA ITHEBULA
KUDBA
NGOKWENZEKA UKUQALA

Qaphela ukuthi sifake i-NOKUTHUTHA umugqa wokuqinisekisa ukuqinisekisa ukuthi ama-DBA ethu angabela le mvume kwabanye abasebenzisi.

Ukususa Izimvume

Uma sesinikeze izimvume, ngokuvamile kubonakala kudingekile ukuwayeka ngosuku oluthile. Ngenhlanhla, i-SQL isinikeza umyalelo we-REVOKE ukususa izimvume ezinikeziwe ngaphambilini. Nasi i-syntax:

HLAWULA [UKUQALA KWENKULUNKULU]
KU
FROM

Uzoqaphela ukuthi i-syntax yalo myalo ifana neyomyalo we-GRANT. Ukwahlukana kuphela ukuthi UKUQALA OKUHLELEKILE kucaciswe emgqeni we-REVOKE kunokuba sekupheleni komyalo. Ngokwesibonelo, ake sicabange ukuthi sifuna ukuxosha imvume kaMariya eyayinikezwe ngaphambilini ukususa amarekhodi avela ku-database yabathengi. Sisebenzisa umyalo olandelayo:

HLOLA UKUHLEKA
ON abathengi
KUYA KUMariya

Futhi yilokho okukhona kulokho! Kunendlela eyodwa eyengeziwe esekelwe yi-Microsoft SQL Server okufanelekile ukuyibiza-umyalo we-DENY. Lo myalo ungasetshenziselwa ukuphika ngokucacile imvume kumsebenzisi ukuthi bangase babe nayo ngokubambisana kwamanje noma okuzayo. Nasi i-syntax:

DENY
KU
KUYA

Izibonelo

Ukubuyela esibonelweni sethu sangaphambilini, ake sicabange ukuthi uMariya wayelungu leNdima yabaPhathi ababuye babe nokufinyelela kuthebula lamakhasimende. Isitatimende sangaphambilini se-REVOKE ngeke sikwanele ukumphika ukufinyelela kwakhe etafuleni. Kungasusa imvume eyinikezwe ngesikhulumi se-GRANT esibheka i-akhawunti yakhe yomsebenzisi, kodwa angeke sithinte izimvume ezitholwe ngobulungu bakhe kuNdima yabaphathi. Nokho, uma sisebenzisa isitatimende se-DENY sizovimba ifa lakhe lemvume. Nansi umyalo:

DENY PHEKA
ON abathengi
KuMariya

Umyalo we-DENY udala "imvume engalungile" ekulawuleni kokufinyelela kwedatha. Uma kamuva sikhetha ukunika uMariya imvume yokususa imigqa evela kuthebula labalimi, asikwazi ukusebenzisa umyalo we-GRANT kuphela. Lo myalo uzobe usuphethwe ngokushesha yi-DENY ekhona. Esikhundleni salokho, sizoqala ukusebenzisa umyalo we-REVOKE ukususa ukungena ngemvume okungalungile kanje:

HLOLA UKUHLEKA
ON abathengi
KUYA KUMariya

Uzoqaphela ukuthi lo myalo ufana nalokho owasetshenziselwa ukususa imvume enhle. Khumbula ukuthi imiyalo ye-DENY ne-GRANT yombili isebenza ngendlela efanayo * mdash; bobabili badala izimvume (ezilungile noma ezingalungile) kumshini wokulawula ukufinyelela kokufinyelela kwedatha. Umyalo we-REVOKE ususa zonke izimvume ezihle nezibi zomsebenzisi ocacisiwe. Uma lo myalelo ukhishwe, uMariya uzokwazi ukususa imigqa etafuleni uma engelungu lendima enayo leyo mvume. Ngaphandle kwalokho, umyalo we-GRANT ungakhishwa ukuze unikeze imvume yokukhipha imvume ngqo ku-akhawunti yakhe.

Kuyo yonke le ngqungquthela yalesi sihloko, ufunde into enhle mayelana nezinqubo zokulawula ukufinyelela kokusekelwa ngolimi olujwayelekile lombuzo. Lesi singeniso kufanele sikunikeze iphuzu elihle lokuqala, kodwa ngikukhuthaza ukuthi ubhekisele emadokhumenti wakho we-DBMS ukuze ufunde izinyathelo zokuphepha ezithuthukisiwe ezisekelwa yisistimu yakho. Uzothola ukuthi imininingwane eminingi isekela izindlela eziningi zokulawula ukufinyelela, njengokunikeza izimvume kumakholomu athile.