የ SQL መሠረታዊ ነገሮች

ስለ DDL, DML እና JOINs ይማሩ

የተደራጀው የመጠይቅ ቋንቋ የዘመናዊ የውሂብ ጎታ መዋቅሮች ዋነኞቹ መሰረታዊ እቃዎች ናቸው. SQL በሁሉም ዋነኛ የመሣሪያ ስርዓቶች ላይ የውሂብ ጎታ ዳታዎችን ለመፍጠር እና ለመቆጣጠር ጥቅም ላይ የዋሉትን ዘዴዎች ይገልጻል. በመጀመሪያ ሲታይ ቋንቋው የሚያስፈራ እና ውስብስብ ሊመስለው ይችላል, ነገር ግን ይህ ሁሉ አስቸጋሪ አይደለም.

ከሱቅ በስተጀርባ ለሚገኙ መሰረታዊ ነገሮች መግቢያ በዚህ ውስጥ የውሂብ ጎታዎችን ለመፍጠር እና ለማሻሻል ስራ ላይ የዋሉትን አንዳንድ ዋና ትዕዛዞች በአጭሩ ይመለከታል.

ስለ SQL

የ SQL ምዘና ትክክለኛነት በውሂብ ጎታ ማህበረሰብ ውስጥ ተጨባጭ ችግር ነው. በዩ ኤስ ኤ ስታንዳርድ ውስጥ የአሜሪካ ብሔራዊ ደረጃዎች ተቋም (አሜሪካን ናሽናል ስታንዳርድስ ኢንስቲትዩት) ኦፊሴላዊው ዓረፍተ ነገር "እስልተል ኤል" (" ሆኖም ግን, ብዙ የመረጃ ቋቱ ባለሙያዎች ለስላጎን አጫዋች "ተከታይ" አድርገዋል. ምርጫው የእርስዎ ነው.

SQL ብዙ መልኮችን ያመጣል. የ Oracle ዳታ ቤዚክሶች የባለቤትነት መቆጣጠሪያውን (PL / SQL) ይጠቀማሉ. Microsoft SQL Server ን Transact-SQL ን ይጠቀማል. ሁሉም ልዩነቶች በኢንደስትሪ ደረጃዎች ANSI SQL ናቸው. ይህ መግቢያ በማንኛውም ዘመናዊ ግንኙነት ውሂብ ጎታ ላይ የሚሰሩ ANSI አስማጭ የ SQL አሃዛፎችን ይጠቀማል.

DDL እና DML

የ SQL ትእዛዞች በሁለት ዋና ዋና ንዑስ ቋንቋዎች ሊከፈል ይችላል. የውሂብ ፍቺ ዲግ (ዲኤፍዲ) የውሂብ ጎታ እና የውሂብ ጎታ ነገሮችን ለመፍጠር እና ለማጥፋት ስራ ላይ የሚውሉ ትዕዛዞችን ይዟል. የውሂብ ጎታ መዋቅር በ DDL ከተገለጸ በኋላ, የውሂብ ጎታ አስተዳዳሪዎች እና ተጠቃሚዎች የውሂብ ማዛመጃ ቋንቋ (DML) በመጠቀም በውስጡ ያለውን ውሂብን ለማስገባት, ለማውጣት እና ለማሻሻል ይችላሉ.

የውሂብ ፍቺ ገለፃ የቋንቋ ትዕዛዞች

የውሂብ ፍቺ ገለጻ የዳታ ቤቶችን እና የውሂብ ጎታ ቁሶችን ለመፍጠር እና ለማጥፋት ያገለግላል. እነዚህ ትዕዛዞች በዋናነት በውሂብ ጎታ አስተዳዳሪዎች ውቅረት ውስጥ እና የውሂብ ጎታ ፕሮጀክት ማስወገጃ ደረጃዎች ውስጥ ናቸው. አራት መሰረታዊ DDL ትዕዛዞችን አወቃቀር እና አጠቃቀም ይመልከቱ-

ይፍጠሩ. በኮምፒተር ላይ የመረጃ ቋት አስተዳደር ስርዓት መዘርጋት ብዙ ነጻ የሆኑ የውሂብ ጎታዎች እንዲፈጥሩ እና እንዲያቀናብሩ ያስችልዎታል. ለምሳሌ, ለንግድ ሥራ ክፍልዎ እና ለ HRH ክፍልዎ የሰዎች ዳታቤዝ የውሂብ ጎታ የውሂብ ጎታ መያዝ ያስፈልግዎ ይሆናል. የ CREATE ትግበራ በእያንዳንዱ የመረጃ ስርዓትዎ ላይ እነዚህን የውሂብ ጎታዎች ለመመዘን ያገለግላል. ለምሳሌ, ትዕዛዙ:

የመሠረተ ሰፊ አባላትን ይፍጠሩ

በእርስዎ DBMS ውስጥ "ሰራተኞች" የተባለ ባዶ የውሂብ ጎታ ይፈጥራል. የውሂብ ጎታውን ከተፈጠረ በኋላ, ቀጣዩ ደረጃ ውሂብን ያካተቱ ሰንጠረዦችን መፍጠር ነው. ሌላ የ CREATE ትዕዛዝ አይነት ለዚህ ዓላማ ጥቅም ላይ ሊውል ይችላል. ትዕዛዙ:

ሠንጠረዥን ይንኩ (የመጀመሪያ_ቤት ባር (20) ባዶ አይደለም, የመጨረሻ_ቤት ባር (20) የማይሰርዝ, ሰራተኛ _id int null)

አሁን ባለው የውሂብ ጎታ ውስጥ "የግል_መረጃ" ርዕስ ያለው ሰንጠረዥ ይሠማል. በምሳሌው ውስጥ ሠንጠረዡ ሶስት ባህሪያትን ይዟል; first_name, last_name እና employee_id እንዲሁም የተወሰኑ ተጨማሪ መረጃዎችን ይዟል.

ይጠቀሙ. የ USE ትዕዛዝ በእርስዎ DBMS ውስጥ ለመስራት የሚፈልጓቸውን የውሂብ ጎታ እንዲገልጹ ያስችልዎታል. ለምሳሌ, አሁን በመደብሮች የውሂብ ጎታ ውስጥ እየሰሩ እና በተጠቃሚዎች የውሂብ ጎታ ላይ ተጽዕኖ ሊያሳርፉ የሚችሉ አንዳንድ ትዕዛዞችን እየሰሩ ከሆነ, በሚከተለው የ "SQL" ትዕዛዝ ቅድመ-ቅፅ:

ሰራተኞችን ይጠቀሙ

ውሂብን የሚያጣምሩ የ SQL ትዕዛዞችን ከመስጠታቸው በፊት የሚሰራውን የውሂብ ጎታ ሁልጊዜም ማወቅ አስፈላጊ ነው.

ተካን. በአንድ የውሂብ ጎታ ውስጥ ሰንጠረዥን አንዴ ከፈጠሩ, ፍቺውን ማስተካከል ሊፈልጉ ይችላሉ. የ ALTER ትዕዛዝ ሳጥኑ ውስጥ ያለ መዋቅር ለውጦችን ሳይቀይር ይፈቅድልዎታል. የሚከተለውን ትዕዛዝ ይመልከቱ

ALTER TABLE የግል_info ADD ደሞዝ ገንዘብ ባዶ

ይህ ምሳሌ ለ personal_info ሰንጠረዥ አዲስ የባህርይ መገለጫ ያክላል-የሰራተኛ ደመወዝ. "ገንዘብ" ክርክሩ አንድ የሰራተኛው ደሞዝ በዶላስና በሲንዲ ማቴሪያል ተይዞ እንደተቀመጠ ይገልጻል. በመጨረሻም, "ባዶ" ቁልፍ ቃል ለዚህ መስክ ምንም ዋጋ እንደሌለው ለማንኛውም ለሠራተኛው ምንም ዋጋ እንደሌለው ለመረጃ ቋት ይነግረዋል.

DROP. የውሂብ ፍቺ ዲግሪ የመጨረሻው ትዕዛዝ, DROP, በጠቅላላ የውሂብ ጎታ ቁሳቁሶቻችንን ከዲ.ኤስ.ኤም.ኤስ ማስወገድ ያስችለናል. ለምሳሌ, እኛ የፈጠርነውን የባለቤት መረጃ ቋሚነት ለማስወገድ ከፈለግን የሚከተለው ትዕዛዝ እንጠቀማለን:

DROP TABLE personal_info

በተመሳሳይ ሁኔታ ከዚህ በታች ያለው ትዕዛዝ ሁሉንም የሠራተኛውን የውሂብ ጎታ ለመሰረዝ ጥቅም ላይ ይውላል.

DROP DATABASE ሰራተኞች

ይህን ትእዛዝ በጥንቃቄ ይጠቀሙ. የ DROP ትዕዛዝ ከውሂብ ጎታዎ ውስጥ ሙሉውን የውሂብ መዋቅር ያስወግዳል. የግል ሪፖርቶችን ማስወገድ ከፈለጉ, የውሂብ ማስተባበር ቋንቋን DELETE ን ይጠቀሙ.

የውሂብ ማዛባያ የቋንቋ ትዕዛዞች

የውሂብ ማዛባት ቋንቋ (DML) የውሂብ ጎታ መረጃን ለማውጣት, ለማስገባት እና ለማሻሻል ስራ ላይ ይውላል. እነዚህ የውሂብ ጎታ በመረጃ ቋት ውስጥ በሁሉም የውሂብ ጎታ ተጠቃሚዎች ጥቅም ላይ ይውላሉ.

INSERT. በ SQL ውስጥ ያለው የ INSERT ትዕዛዝ አሁን ወዳለው ሠንጠረዥ መዝገቦችን ለማዘጋጀት ጥቅም ላይ ይውላል. ከቀዳሚው ክፍል ወደ የግል_መረጃ ምሳሌ በመመለስ, የእኛ የሰው ኃይል ክፍል አዲስ ሰራተኛን ወደ ዳታቤዝ ማከል እንደሚያስፈልገው አስቡት. ከዚህ ጋር ተመሳሳይ የሆነ ትዕዛዝ መጠቀም ይችላሉ:

INSERT ወደ ግላዊ_መጠን እሴቶች ('bart', 'simpson', 12345, $ 45000)

ለመዝገቡ የተገለጹ አራት እሴቶች እንዳሉ ልብ ይበሉ. እነዚህ በተሰጡት ቅደም ተከተል ከሰንጠረዡ የባህርይ መገለጫዎች ጋር ይዛመዳሉ: first_name, last_name, employee_id እና ደሞዝ.

ምረጥ. የ SELECT ትዕዛዝ ትዕዛዞች በ SQL እጅግ በጣም የተለመዱት ትዕዛዞች ናቸው. የውሂብ ጎታ ተጠቃሚዎች ከትርምጃዎች የውሂብ ጎታ የሚፈልገውን የተወሰነ መረጃ እንዲያገኙ ያስችላቸዋል. የተወሰኑ ምሳሌዎችን ይመልከቱ, ከሰብዓዊ ዳታቤዝ ውስጥ ያለውን የግል_in ማውጫ ሰንጠረዥን እንደገና በመጠቀም.

ከታች ያለው ትዕዛዝ በግላዊ_ንሴል ሰንጠረዥ ውስጥ ያሉትን መረጃዎች በሙሉ ይመልሳል. የኮከብ ምልክት በ SQL ውስጥ እንደ ልዩ ምልክት ጥቅም ላይ እንደሚውል ያስተውሉ. ይህ በጥሬ ትርጉም ማለት "ሁሉንም ከግል-መረጃ ሰንጠረዥ" ምረጥ.

SELECT * from personal_info

በአማራጭነት, ተጠቃሚዎች ከውሂብ ጎታዎቹ የተገኙትን ባህሪያት ለመገደብ ይፈልጉ ይሆናል. ሇምሳላ የሰው ሃብት ኃሊፉዎች በኩባንያው ውስጥ ስሇሚሰሯቸው የሁሇት ሰራተኞች ስም ዝርዝር ሉጠይቁ ይችሊለ. የሚከተለው የ SQL ቁጥር ያንን መረጃ ብቻ ያገኛል:

የመጨረሻ_ስም ከ personal_info ውስጥ ምረጥ

WHERE ሐረጉ የተጠቀሱትን መመዘኛዎች ለማሟላት የተሰበሰቡትን መዝገቦች ለመወሰን መጠቀም ይችላል. ዋና ሥራ አስፈፃሚው የሁሉም ከፍተኛ የሥራ ሃላፊ ሠራተኞችን የሰራተኞች መዝገቦች ለመገምገም ይችላል. የሚከተለው ትዕዛዝ ከ 50,000 ዶላር በላይ ደመወዝ ላላቸው መዛግብቶች በጠቅላላ የግል መረጃን ወደ የግል-መረጃ ያመጣል.

SELECT * FROM personal_info WHERE ደመወዝ> $ 50000

አዘምን. የ UPDATE ትዕዛዝ በሠንጠረዥ ውስጥ ያለውን መረጃ በቡድን ወይም በግለሰብ ውስጥ ለማሻሻል ጥቅም ላይ ሊውል ይችላል. ኩባንያው ለሠራተኞቻቸው በየዓመቱ ደመወዛቸው 3 በመቶ የኑሮ ውድነት ይጨምራል. የሚከተለው የ SQL ቁጥር በዳታ የውሂብ ጎታ ውስጥ ለተከማቹ ሁሉም ሠራተኞች በፍጥነት ለማዛመድ ጥቅም ላይ ሊውል ይችላል:

አሁኑኑ የሰራ / ተነሳሽነት የግል / የሥራ ሰዓት / ደሞዝ * ደሞዝ * 1.03

አዲሱ ሰራተኛ ቤርት ሲምፕሊክስ ከላይ እና ከስራ ጥሪው በላይ ስራዎችን ሲያሳየው, አስተዳዳሪው $ 5 ሺህ ዶላር በከፍተኛ ደረጃ ያከናወናቸውን ስኬቶችን ለመለየት ይፈልጋል. ለየትኛው የትርጉም ክፍተት ለማንበብ የትኛውን ሐረግ መጠቀም ይቻላል Bart:

አሁኑኑ የሰራተኛ -የልጅ -የልጅ -የምርት አቀራረብ -የመቀጠል / የደመወዝ / $ 5000 WHERE employee_id = 12345

ሰርዝ. በመጨረሻ, የ DELETE ትዕዛዝ እንመልከት. የዚህ ትዕዛዝ አገባብ ከሌሎቹ የ DML ትዕዛዞች ተመሳሳይ ነው. በሚያሳዝን ሁኔታ, የቅርብ ጊዜው የኮርፖሬት ሪፖርታችን ሪፖርት ከተጠበቁ ጋር እኩል አልነበረም, እናም ባት ባዶ ተልቅቷል. በ WHERE ሐረግ ላይ ያለው የ DELETE ትዕዛዝ መረጃውን ከግል_info ሰንጠረዥ ለማውጣት ሊያገለግል ይችላል.

ከ personal_info WHERE employee_id = 12345 ዝጋ

JOIN

አሁን የ SQL ን መሠረታዊ ነገሮች ተምረዋል, የቋንቋውን ማስተላለፍ ከሚችለው እጅግ በጣም ሀይለኛ ፅንሰ-ሀሳቦች ውስጥ ወደ አንዱ መሄድ-የ JOIN መግለጫ. የ JOIN መግለጫ ሰፋ ያለ መጠን ያለው ውሂብን በብቃት ለማከናወን በበርካታ ሰንጠረዦች ውስጥ ውህደትን እንዲያዋሐዱ ያስችልዎታል. እነዚህ መግለጫዎች የውሂብ ጎታ እውነተኛ ኃይል ሲኖርባቸው ነው.

ከሁለት ምሰሶዎች ላይ ውሂብን ለማጣመር መሰረታዊ የ JOIN ክወናን አጠቃቀምን ለማሰስ, PERSONAL_INFO ሰንጠረዥን በመጠቀም እና ተጨማሪ ሰንጠረዡን ወደ ድብልቅው ያክሉ. በሚከተለው መግለጫ የተፈጠረ DISCIPLINARY_ACTION የሚባል ሠንጠረዥ እንዳለዎት ያስቡ-

TABLE disciplinary_action CREATE TABLE (action_id int not null, employee_id int null, አስተያየቶች char (500))

ይህ ሠንጠረዥ የዲሲፕሊን እርምጃዎችን በኩባንያው ሠራተኞች ላይ ያካትታል. ከሠራተኛው ቁጥር ውጪ ስለ ሠራተኛው ማንኛውንም መረጃ እንደማይይዝ ይገነዘባሉ. መረጃን ከ DISCIPLINARY_ACTION እና ከ PERSONAL_INFO ሰንጠረዦች ጋር ማዋሃድ የሚፈልጓቸው በርካታ ሁኔታዎችን መገመት ቀላል ነው.

ከ $ 40,000 በላይ ደመወዝ ላላቸው ሰራተኞች ሁሉ የሚወሰዱትን የቅጣት እርምጃዎች የሚዘረዝር ሪፖርት ሲደረግ ቆይተዋል. በዚህ ሁኔታ የ JOIN ክወና ጥቅም ግልጽ ነው. ይህንን መረጃ በመጠቀም የሚከተለውን መረጃ ማምጣት እንችላለን:

SELECT personal_info.first_name, የግል_info.last_name, disciplinary_action.comments ከ personal_info, disciplinary_action WHERE personal_info.employee_id = disciplinary_action.employee_id እና የግል_info.salary> 40000

ኮዱ በ FROM ውስጥ እንዲቀላቀሉ የምንፈልጋቸውን ሁለት ሠንጠረዦች እና በ WHERE ሐረግ ውስጥ ውጤቱን ለመወሰን የሰራተኞች መታወቂያዎችን የተዛወሩ መዝገቦችን እና ከ $ 40,000 በላይ የደመወዝ መስፈርት ያሟላልን.