የውሂብ ጎታዎች እና ሠንጠረዦችን መፍጠር በ SQL

የውሂብ ጎታ መፍጠር

የተዋቀሩ ጥያቄዎች ቋንቋዎችን እና ሰንጠረዦችን በመፍጠር ለመጀመር ዝግጁ ነዎት? በዚህ ጽሁፍ ውስጥ ሰንጠረዦችን ለመፍጠርCREATE DATABASE እና CREATE TABLE ትዕዛዞች እራስዎ ማዘጋጀት . ለ SQL አዲስ ከሆኑ, የእኛን የ SQL basics ጽሑፍ አስቀድመው ለመገምገም ይችላሉ.

የሥራ መስፈርቶች

በቁልፍ ሰሌዳው ላይ ከመቀመጥ በፊት ስለደንበኞች ፍላጎት መረዳታችንን ማረጋገጥ ያስፈልገናል. ይህንን ግንዛቤ ለማግኘት ምርጡ መንገድ ምንድነው? በእርግጥ, ለደንበኛው ያነጋግራል! ከዜጎች ዳይሬክትሪክስ ዳይሬክተር ጋር ከተቀመጠ በኋላ, የሸቀጣሸቀጥ ሽያጭ ኩባንያ መሆኑን እና በዋናነት በድረገጻችን ላይ መረጃ መከታተል ይሻሉ.

የ XYZ ኮርፖሬሽን የሽያጩን ወደ ምሥራቅ እና ምዕራባዊ ክልሎች ይከፋፍላቸዋል, እያንዳንዱ በእያንዳንዱ የሽያጭ ማስታወቂያዎች የተሸፈነ ነው. የሂዩማን ራይት መምሪያ በእያንዳንዱ ሠራተኛ, እንዲሁም የእያንዳንዱ ሠራተኛ የደመወዝ መረጃዎች እና የቁጥጥር መዋቅር ያለውን ክልል መከታተል ይፈልጋል. እነዚህን መስፈርቶች ለማሟላት, በዚህ ገጽ ላይ በተቋም-መተሳሰሪያ ንድፍ ላይ የሚታየውን ሠንጠረዥ የያዘ የውሂብ ጎታ የምናገለግል ሲሆን

የውሂብ ጎታ መድረክን መምረጥ

በተዋቀረው ጥያቄ ቋንቋ (SQL) ላይ የተገነባ የውሂብ ጎታ አስተዳደር ስርዓት (ወይም DBMS) ለመጠቀም ወስነናል. ስለዚህ, ሁሉም የውሂብ ጎታችን እና የሰንጠረዥ ፈጠራ ትዕዛዞቻችን በመደበኛ ANSI SQL ዓባል ውስጥ መፃፍ አለባቸው.

እንደ ተጨማሪ ጥቅም እንደ ANSI ተኳሃኝ SQL በመጠቀም እነዚህ ትዕዛዞች የ SQL እሴትን በሚደግፉ ማናቸውም የ DBMS መስሪያዎች ላይ ኦክላንድ እና ማይክሮሶፍት ኤስ ኤስ ኤል አገልጋይን እንደሚሠሩ ያረጋግጣል. ለመረጃ ቋትዎ አንድ የመሳሪያ ስርዓት ገና አልተመረጡም, ጽሑፍ ሶፍትዌር ሶፍትዌር አማራጮች እርስዎ በመረጡት ሂደት ውስጥ ይጓዙዎታል.

የውሂብ ጎታ መፍጠር

የመጀመሪያው እርምጃ የውሂብ ጎታውን በራሱ ማዘጋጀት ነው. ብዙ የውሂብ ጎታ አስተዳደር ስርዓቶች በዚህ ደረጃ የውሂብ ጎታ መለኪያዎችን ለማበጀት ተከታታይ አማራጮችን ያቀርባሉ, ነገር ግን በእኛ የመረጃ ቋት (ዳታቤዝ) ብቻ ለመረጃ ቋት (ዳታቤዝ) መፍጠር ብቻ ነው. ልክ እንደ ሁሉም ትዕዛዞችዎ, ለእርስዎ ዲ ኤም ኤስ (DBMS) የተዘጋጀውን ማመቻቸት በአንድ የተወሰነ ስርዓት የተደገፉ ማናቸውም የላቁ መመዘኛዎች ፍላጎቶችዎን ማሟላት አለመቻሉን ለመወሰን ይችሉ ይሆናል. የውሂብ ጎታችንን ለማዋቀር የ CREATE DATABASE ትዕዛዝን እንጠቀም.

የሂሳብ አያያዝ ሰራተኞች ፍጠር

ከላይ በምሳሌው ላይ ጥቅም ላይ የዋለውን ካፒታላይዜሽን ላይ ልዩ ትኩረት ይስጡ. በ "SQL" እና "ዲያትብስ" የመሳሰሉ የ SQL ቁምፊዎችን እንደ "ቁምፊ" ዳታ የማስቀመጫ ስም ለሆኑ በተወሰኑ ለምሳሌ «CREATE» እና «DATABASE» ያሉ ሁሉንም ካፒታሎችን በ SQL ቁምፊዎች ውስጥ መጠቀም የተለመደ ነገር ነው. እነዚህ የአውራጃ ስብሰባዎች በቀላሉ ሊነበቡ ይችላሉ.

ለመረጃ ማቅረቢያችን ሰንጠረዥ ስንፈጥር ይህን ማጠናከሪያዎን ማንበብዎን ይቀጥሉ.

ተጨማሪ መማር

ስለ የተዋቀረው የቋንቋ ቋንቋ ተጨማሪ ለማወቅ ከፈለጉ, ወደ SQL ነፃ ንባብ ያንብቡ ወይም ለነፃ ትምህርት የ SQL ኢ-ሜይል ኮርስ ለመመዝገብ.

አሁን እኛ የውሂብ ጎለላችንን ንድፍ አውጥተን እንፈጥራለን, የ XYZ ኮርፖሬሽን የሰራተኞች መረጃን ለማከማቸት ጥቅም ላይ የዋሉትን ሶስት ጠረጴዛዎች ለመገንባት ዝግጁ ነን. ከዚህ መማሪያ ክፍል በፊት የቀረብናቸው ጠረጴዛዎች እንተገብራቸዋለን.

የመጀመሪያ ሰንጠረዥችንን መፍጠር

የእኛ የመጀመሪያ ሠንጠረዥ ለእያንዳንዱ የኩባንያችን ሰራተኛ የግል ውሂብ ያካትታል. የእያንዳንዱን ተቀጣሪ ስም, ደሞዝ, መታወቂያ እና ስራ አስኪያጅ ማካተት አለብን. የመጨረሻውን እና የመጀመሪያ ስሞችን ለወደፊቱ ውሂብን ለመመርመር እና ለመደርደር ለማቃለል ጥሩ የዲዛይን ልምድ ነው. በተጨማሪም, በእያንዳንዱ የሰራተኛ መዝገብ ላይ የአስተዳዳሪው የሠራተኛን መታወቂያ ማጣቀሻ በማከል የያንዳንዱን ሰራተኛ አስተዳዳሪ ዱካ እንይዛለን. አስቀድመን የሚፈለገውን የሰዓት ሠንጠረዥ እንመልከት.

ሪፖርቶች ለየፍላጎት ለእያንዳንዱ ተቀጣሪ የአስተዳዳሪ መታወቂያዎችን ያከማቻል. ከተመዘገበው የናሙና መዛግብት Sue Scampi የቶም ኬንደል እና ጆን ስሚዝ ሥራ አስኪያጅ መሆኑን ነው. ሆኖም ግን በሱሉ ውስጥ በ NULL ግቢው ላይ እንደተጠቀሰው በሱሉ የመረጃ ቋት ውስጥ ምንም መረጃ የለም.

አሁን ሰንጠረዡን በእኛ የግል ዳታቤዝ ውስጥ ለመፍጠር SQL እንጠቀማለን. ይህን ከማድረጋችን በፊት USE ትዕዛዝ በማውጣት በትክክለኛው የውሂብ ጎታ ላይ እንዳለን እናረጋግጣለን.

ሰራተኞችን;

በአማራጭ "የዲዛይደርስ ሠራተኞች"; ትዕዛዝ ተመሳሳይ ተግባር ይፈጽማል. አሁን የእኛን የሰራተኞች ሰንጠረዥ ለመፍጠር ጥቅም ላይ የዋለውን የ SQL ሥርዓት ትዕይንት መመልከት እንችላለን:

TABLE ሰራተኞች ፍጠር (የተቀነባ (ኮምፓስ) አግልግሎት አይደለም, የመጨረሻ ስም (VARCHAR) (25) NOT NULL, የመጀመሪያ ስም VARCHAR (25) NOT NULL, reportsto INTEGER NULL);

ከላይ ካለው ምሳሌ እንደሚያሳየው የፕሮግራም ድርድሮች ሁሉንም የካሜራ ፊደላት ለ SQL አርማዎች እና ለታላቁ ዓምዶች እና ሠንጠረዦች ሁሉንም ንዑስ ፊደላት እንደምንጠቀም ያስተውሉ. ከላይ ያለው ትዕዛዝ መጀመሪያ ላይ ግራ የተጋባ ይሆናል, ግን ከሱ በስተጀርባ ቀላል ንድፍ አለ. ነገሮችን ትንሽ ትንሽ ጥቂቱን ግልጽ ሊያደርግ የሚችል አጠቃላይ እይታ አለ

ሠንጠረዥ የሠንጠረዥ ስም (የባህሪይ_ስም የአታሚ አይነት አማራጮች, ..., የመውጫ_ ስምና የውሂብ አማራጮች);

መለያዎች እና የውሂብ አይነቶች

ባለፈው ምሳሌ, የሠንጠረዥ ስም ሰራተኞች ሲሆን አራት ባህሪያትን ያካትታል-ሰራተኛ, የመጨረሻ ስም, የአያት ስም, እና ሪፖርት ሰጪ. የመረጃ ዓይነታው በእያንዳንዱ መስክ ውስጥ ልናስቀምጠው የምንፈልገውን የመረጃ አይነት ያመለክታል. የሰራተኛ መታወቂያው ቀላሉ ቁጥር ኢንጂሪየር ነው, ስለዚህ ለተቀባይነት መስክ እና ለሪፖርተር መስክ የ INTEGER የአሰራር ሁኔታ እንጠቀማለን. የቀጣሪዎቹ ስሞች የተለዋዋጭ ርዝመት ባህሪያት ይሆናሉ, እና ማንኛውም ሰራተኛ ከ 25 ቁምፊዎች በላይ የመጀመሪያ ወይም የመጨረሻ ስም እንዲኖረው አንጠብቅም. ስለዚህ, ለእነዚህ መስኮች VARCHAR (25) አይነቱን እንጠቀማለን.

NULL እሴቶች

በ CREATE መግለጫ አማራጮች ውስጥ NULL ወይም NOT NULL መዘርዘርም እንችላለን. ይሄ በቀላሉ ወደ የውሂብ ጎታዎቹ ረድፎችን ሲያክል NULL (ወይም ባዶ) እሴቶች ለዚያ መገለጫ ባህሪያት ይፈቀዳሉ. በምሳሌአችን, የኤችአርኤር መምሪያ የሰራተኛ መታወቂያ እና ለእያንዳንዱ ሠራተኛ ስም የተሟላ ስም እንዲኖር ይጠይቃል. ሆኖም ግን, እያንዳንዱ ሠራተኛ ሥራ አስኪያጅ አይደለም - ዋናው ሥራ አስፈፃሚ ማንም የለም. - ስለዚህ በዚያ መስክ ላይ የ NULL ግቤቶችን እንፈቅዳለን. NULL ነባሪ እሴት መሆኑን እና ይህ አማራጭ መተው ለትክክሊቶች NULL እሴቶችን በተፈቀደ ይቀበላል.

የቀረውን ሠንጠረዦችን መገንባት

አሁን የአከባቢዎች ሰንጠረዥን እንመልከት. ከዚህ መረጃ ፈጣን እይታ, ኢንቲጀር እና ሁለት ተለዋዋጭ የዝመት ሕብረቁምፊዎችን ማከማቸት ያስፈልገናል. ልክ እንደ ቀደምታችን ምሳሌ, የክልል መታወቂያ ከ 25 ባህሪያት በላይ መብላት አንጠብቅም. ሆኖም ግን, የተወሰነው ግዛቶቻችን ወሰኖች ረዘም ያሉ ስሞች ስለነበሯቸው የዚህን የባህርይ ርዝመት እስከ 40 ቁምፊዎች ይዘረጋለን. ተጓዳኙን SQL እንከልሰው:

TABLE territories (territories) ጥምረት አይደለም, ክልላዊ መግለጫ VARCHAR (40) NOT NULL, ክልላዊ VARCHAR (25) NOT NULL;

በመጨረሻም በሰራተኞችና በትራኒቶች መካከል ያለውን ግንኙነት ለማስቀመጥ የሰራተኛ ታሪፖች ሰንጠረዥን እንጠቀማለን. በእያንዲንደ ተቀጣሪና ግዛት ሊይ ያሇው ዝርዝር መረጃ በቀዯሙት ሁለት ሠንጠረዦች ውስጥ ይከማቻለ. ስለዚህ, በዚህ ሰንጠረዥ ውስጥ ያሉትን ሁለት ኢንቲጀር መለያ ቁጥሮች ብቻ ማከማቸት ያስፈልገናል. ይህንን መረጃ ማስፋፋት ከፈለግን ከብዙ ሰንጠረዦች መረጃ ለማግኘት በእኛ የምርጫ ምርጫ ትዕዛዞች JOIN መጠቀም እንችላለን. ይህ የመረጃ አሰባሰብ ዘዴ የመረጃ ክፍተታችንን ይቀንሳል እናም በእኛ የማከማቻ መንቀሳቀሻዎች ላይ ጥሩ ቦታን የሚጠቀም መሆኑን ያረጋግጣል. ለወደፊቱ የአጋዥ ስልጠና የ JOIN ትዕዛዝ ጥልቀት እናጠናለን. የመጨረሻውን ሰንጠረዥ ለመተግበር የ SQL ቁጥር እነሆ:

ሠንጠረዥ ካምፓሪዎችን ይፍጠሩ (ደሞዝ የተዋሀደ ኮንጎ, ኒውሊንግ, ግዛቶች ጥምር አልያም NULL);

ስልት SQL ከተፈጠረ በኋላ የውሂብ ጎታ ውስጣዊ መለዋወጥ ያቀርባል

በተለይ ዛሬ እርስዎ ብልጥ ከሆኑ እኛ የውሂብ ጎታችንን ከተጠቀምንበት የንድፍ መስፈርቶች "በስሕተት" እንዳንሳተፍ አስተውለናል. የ XYZ ኮርፖሬሽን HR ዳይሬክቶሪ የውሂብ ጎታ የሰራተኛ የደመወዝ መረጃን ይከታተል እና እኛ የፈጠርን የውሂብ ጎታ ዝርዝር ውስጥ ለማቅረብ ችላለን .

ይሁን እንጂ ሁሉም አልጠፋም. ይህን ባህሪ አሁን ወዳለው የውሂብ ጎታ ለመጨመር ALTER TABLE ትዕዛዝን መጠቀም እንችላለን. ደመወዝን እንደ ኢንቲጀር እሴት ለማከማቸት እንፈልጋለን. አገባቡ ከ CREATE TABLE ትዕዛዝ ጋር ተመሳሳይነት ያለው ነው, እዚህ ነው;

የአካል ጉዳተኛ ሠራተኞችን አነጋገሩ.

ያስተውሉ NULL እሴቶች ለዚህ ዓይነታ ጥብቅ ይፈቀዳሉ. በአብዛኛዎቹ ሁኔታዎች አሁን ላለው ሰንጠረዥ አምድ በማከል አማራጭ የለውም. ይህ ሊሆን የቻለው ሠንጠረዡ ቀደም ሲል የዚህ አይነታ ባዶ የሌላቸው ረድፎች ስላሉት ነው. ስለሆነም, ዲኤምኤምሲው ያለፈውን ዋጋ ለመሙላት የ NULL እሴት በራሱ ያስገባል.

እና ይሄ የ SQL ውሂብን እና የጠረጴዛን ፈጠራ ሂደታችንን ያጠቃልላል. በእኛ የእኛ SQL ተከታታይ የሽያጭ ተከታታይ ትምህርቶች ውስጥ በተደጋጋሚ ይመልከቱት. አዳዲስ ጽሁፎች ወደ ቢዝነስ ዴይስ ጣቢያ (ጣቢያ ውስጥ) ሲታከሉ የኢ-ሜይል አስታዋሽ ከፈለጉ, ለጋዜጣችን ደንበኝነት መመዝገብዎን ያረጋግጡ!