Харилцан өгөгдлийн загвар нь нэг эрэмбийн предикат логикийн дагуу бүтэц, хэлийг ашиглан параметрүүдийг удирдах өвөрмөц арга юм. Үүнийг анх 1969 онд Английн эрдэмтэн Кодд тодорхойлсон байдаг. Энэ төсөлд бүх параметрүүдийг тодорхой харилцаанд бүлэглэсэн залгуур хэлбэрээр үзүүлэв.
Харилцан өгөгдлийн загварын зорилго…
…нь загвар болон асуулгыг тодорхойлохын тулд тунхаглах аргыг өгөх явдал юм.
Хэрэглэгчид мэдээллийн санд ямар мэдээлэл агуулагдаж, түүнээс ямар онолыг хүсч байгаагаа шууд тэмдэглэдэг. Мөн өгөгдлийн сангийн удирдлагын программ хангамжид үүнийг хадгалах бүтцийг тайлбарлахыг зөвшөөрнө үү. Хүсэлтэд хариу өгөх мэдээлэл хайх журам нь бас чухал.
Ихэнх RDB нь SQL өгөгдлийн тодорхойлолт болон хайлтын хэлийг ашигладаг. Эдгээр систем нь инженерийн ойролцоо гэж үзэж болох зүйлийг хэрэгжүүлдэгхарилцааны загвар.
SQL өгөгдлийн сангийн схем дэх хүснэгт нь предикат хувьсагчтай тохирч байна. Гол хязгаарлалт болон SQL асуулга нь предикаттай таарч байна.
Гэсэн хэдий ч ийм өгөгдлийн сан нь харилцааны загвараас олон нарийн ширийн зүйлээр хазайдаг бөгөөд Кодд анхны зарчмуудыг алдагдуулсан өөрчлөлтийг эрс эсэргүүцдэг.
Тойм
Харилцан өгөгдлийн загварын гол санаа нь бүх мэдээллийн санг хувьсагчдын эцсийн бүрэлдэхүүн хэсгийн предикатуудын багц болгон тайлбарлаж, боломжит утгууд болон тэдгээрийн хослолуудын хязгаарлалтыг тайлбарлах явдал юм. Тухайн цаг үеийн агуулга нь эцсийн (логик) загвар юм. Өөрөөр хэлбэл, бүх бүрэлдэхүүн хэсгүүд хангагдсан байхын тулд предикат хувьсагч бүрт нэг харьцаатай байх болно. Энэ бол харилцааны өгөгдлийн загвар юм.
Хувилбарууд
Бусад загварууд нь шаталсан болон сүлжээний системүүд юм. Тэдний зарим нь хуучин архитектурыг ашигласан ч өндөр хүчин чадалтай дата төвүүдэд түгээмэл хэвээр байна. Эсвэл одоо байгаа системүүд нь маш нарийн төвөгтэй бөгөөд хийсвэр байдаг тул харилцааны загварыг ашиглан тэдгээрт шилжих нь маш их үнэтэй байх болно. Мөн объект хандалтат шинэ өгөгдлийн сангууд анхаарал татаж байна.
Хэрэгжүүлэлт
Кодд анх тодорхойлж, бусад хүмүүсийн тайлбарласан RMD-ийн бодит бодит байдлыг олж авах хэд хэдэн оролдлого хийсэн.эрдэмтэд.
Харилцан өгөгдлийн дүрслэлийн загвар нь албан ёсны математикийн хэллэгээр тодорхойлогдсон өөрийн төрлийн гол загвар байсан юм. Шаталсан болон сүлжээний суурь нь харилцааны системээс өмнө байсан боловч тэдгээрийн техникийн үзүүлэлтүүд харьцангуй албан бус байсан. RMD-ийг тодорхойлсны дараа өөр өөр загваруудыг харьцуулах, харьцуулах олон оролдлого хийсэн бөгөөд энэ нь эртний системүүдийн илүү нарийн тодорхойлолтод хүргэсэн. Хэдийгээр шаталсан болон сүлжээний өгөгдлийн сангийн өгөгдөл боловсруулах интерфейсийн процедурын шинж чанар нь албан ёсны болгох боломжийг хязгаарласан.
Загвар
Харилцан өгөгдлийн загварын үзэл баримтлалын талаархи үндсэн таамаглал нь бүгд математикийн "p" - ердийн харилцаа, "Cn" - хос хамаарал хэлбэрээр илэрхийлэгддэг бөгөөд энэ нь хэд хэдэн декартын үржвэрийн дэд олонлог юм. домэйнууд. Математик загварт ийм өгөгдлийн талаархи үндэслэлийг хоёр утгатай предикатын логикоор хийдэг бөгөөд энэ нь өгүүлбэр бүрийн хувьд үнэн эсвэл худал гэсэн хоёр боломжит үнэлгээ байдаг (мөн үл мэдэгдэх эсвэл хамаарахгүй гэх мэт гуравдагч утга байхгүй) гэсэн үг юм., тус бүр нь ихэвчлэн 0) гэсэн ойлголттой холбоотой байдаг. Өгөгдлийг илэрхийлэх хүчин чадалтай тэнцэх тооцоолол эсвэл алгебр ашиглан боловсруулдаг.
Өгөгдлийн загвар, хамаарлын өгөгдлийн загвар
RMD нь хөгжүүлэгчдэд мэдээллийн тууштай, логик харагдах байдлыг бий болгох боломжийг олгодог. Логик схем гэж нэрлэгддэг мэдээллийн сангийн загварт заасан хязгаарлалтуудыг оруулснаар энэ бүгдэд хүрдэг. Онол бол үйл явцыг хөгжүүлэх явдал юмзагварыг хэвийн болгох, үүгээрээ тодорхой хүссэн шинж чанар бүхий загварыг логикийн хувьд ижил төстэй хувилбаруудаас сонгох боломжтой. Хандалтын төлөвлөгөө болон бусад хэрэгжүүлэлт, үйл ажиллагаанд дэлгэрэнгүй мэдээллийг DBMS хөдөлгүүрээр зохицуулдаг бөгөөд логик загварт тусгагдаагүй болно. Энэ нь гүйцэтгэлийг тааруулахын тулд логик функцийг өөрчлөх шаардлагатай байдаг нийтлэг практикээс ялгаатай юм.
Харьцааны өгөгдлийн үндсэн загвар нь барилгын блокыг илэрхийлдэг - энэ нь домайн эсвэл мэдээллийн төрөл бөгөөд ихэвчлэн хамгийн бага хэмжээнд хүртэл буурдаг. Tuple нь шинж чанарын утгуудын дараалсан багц юм. Тэд эргээд нэр, төрлөөр харилцан адилгүй хос юм. Энэ нь скаляр утга эсвэл илүү төвөгтэй утгатай байж болно.
Харилцаа нь толгой болон их биеээс бүрдэнэ
Эхнийх нь шинж чанаруудын багц юм.
Их бие (n-р харьцаатай) нь багцуудын багц юм.
Шүргэх толгой нь мөн бүтэц бүрийн сэдэв юм.
Харилцан өгөгдлийн загвар нь n-түлгийн багц гэж тодорхойлогддог. Математик болон MRD аль алиных нь хувьд олонлог нь дахин давтагдахгүй өвөрмөц элементүүдийн дараалалгүй цуглуулга юм, гэхдээ зарим DBMS нь өгөгдөл дээрээ дараалал тогтоодог. Математикийн хувьд tuple нь дараалалтай бөгөөд давхардлыг зөвшөөрдөг. Э. Ф. Кодд энэхүү математик тодорхойлолтыг ашиглан багцуудыг анх тохируулсан.
Хожим нь Э. Ф. Коддын гайхалтай санаануудын нэг нь захиалга өгөхийн оронд атрибутын нэрийг ашиглах нь илүү хялбар байх болно (ерөнхийдөө)тохиолдол) харилцаанд суурилсан компьютерийн хэлээр. Энэ мэдэгдэл өнөөдрийг хүртэл ашиг тустай хэвээр байна. Хэдийгээр үзэл баримтлал өөрчлөгдсөн ч "tuple" нэр өөрчлөгдөөгүй байна. Энэ ялгааны шууд бөгөөд чухал үр дагавар нь харилцааны загварт декартын үржвэр солигдох чадвартай болдог.
Хүснэгт нь харилцааны нийтлэг дүрслэл юм. Tuple нь мөрийн тухай ойлголттой төстэй.
Relvar нь тодорхой төрлийн шүргэгчийн нэрлэсэн хувьсагч бөгөөд харц нь тэг утсыг агуулж болох хэдий ч ямар ч үед тухайн төрлийн хамаарал оноож байдаг.
Харилцан өгөгдлийн загварын үндэс: бүх мэдээллийг харилцаан дахь мэдээллийн утгуудаар төлөөлдөг. Энэ зарчмын дагуу харилцааны суурь нь релваруудын багц бөгөөд асуулга бүрийн үр дүнг шүргэгч байдлаар илэрхийлнэ.
Харилцааны өгөгдлийн сангийн тууштай байдал нь түүнийг ашигладаг программуудад суулгасан дүрмээр бус харин логик схемийн нэг хэсэг болгон зарласан хязгаарлалтууд болон DBMS-ээс бүх программуудад мөрддөг. Хязгаарлалтууд нь онолын хувьд хангалттай, зөвхөн нэг нь дэд олонлог (⊆) байдаг харилцааны харьцуулалтын операторуудыг ашиглахад илэрхийлэгддэг. Практикт хэд хэдэн ашигтай товчлолууд бэлэн байх төлөвтэй байгаа бөгөөд эдгээрээс нэр дэвшигчийн түлхүүрүүд болон гадаад эх сурвалжийн хязгаарлалтууд хамгийн чухал байдаг. Энэ бол харилцааны өгөгдлийн загвар юм.
Тайлбар
RMD-г бүрэн дүүрэн үнэлэхийн тулд зорьсон тайлбарыг ойлгох шаардлагатай.хамаарал.
Хүрэлтийн биеийг заримдаа түүний өргөтгөл гэж нэрлэдэг. Учир нь энэ нь зарим предикатын өсөлтийг илэрхийлдэг гэж тайлбарлах ёстой. Энэ бол чөлөөт хувьсагч бүрийг нэрээр солих замаар үүсгэж болох үнэн өгүүлбэрүүдийн багц юм.
Объект-харилцан өгөгдлийн загваруудын хооронд ганцаарчилсан захидал харилцаа байдаг. Харилцааны биеийн багц бүр нь түүний чөлөөт хувьсагч бүрийг орлуулах замаар предикатыг үүсгэх шинж чанарын утгуудыг өгдөг. Үр дүн нь харилцааны бие дэх товхимол үүссэний улмаас үнэн гэж тооцогддог мэдэгдэл юм. Үүний эсрэгээр, гарчиг нь харилцааны нэртэй таарч байгаа боловч үндсэн хэсэгт харагдахгүй процесс бүрийг худал гэж үзнэ.
Энэ таамаглалыг хаалттай ертөнцийн таамаглал гэж нэрлэдэг. Энэ нь практик мэдээллийн санд ихэвчлэн зөрчигддөг бөгөөд энэ нь тохирох өгүүлбэрийн үнэн нь тодорхойгүй гэсэн үг юм. Жишээлбэл, Хэлний ур чадварын хүснэгтэд тодорхой нэр томъёо ("Жон", "Испани") байхгүй байгаа нь Жон гэх хүү испани хэл мэддэггүйг нотлох албагүй байж магадгүй.
Өгөгдлийн сангийн хэрэглээ, хэвийн болгох онол
Ердийн харилцааны RDM-д хэрэглэгддэг мэдээллийн субьект нь бүхэл тоонуудын багц, огноог бүрдүүлдэг тэмдэгтүүдийн багц эсвэл үнэн ба худал гэсэн хоёр логик байж болно. Эдгээр тоонуудын харгалзах сэдвийн нэр нь "Индекс", "Шаардлагатай ажлыг хийх" гэсэн нэртэй мөр байж болно."Цаг", "Боолийн" гэх мэт.
Гэхдээ харилцааны онол нь ямар төрлийг дэмжих ёстойг заагаагүй гэдгийг ойлгох нь чухал. Энэ нь үнэхээр үнэн, одоогоор системээс суулгасан заалтуудаас гадна захиалгат байгууллагуудад заалтуудыг ашиглах боломжтой байх төлөвтэй байна.
Атрибут
Энэ нь ихэвчлэн багана гэж нэрлэгддэг зүйлд онолын хувьд хэрэглэгддэг нэр томъёо юм. Үүний нэгэн адил хүснэгтийг онолын tangency гэсэн нэр томъёоны оронд ихэвчлэн ашигладаг (хэдийгээр энэ нь SQL-д хамааралтай ижил утгатай биш юм). Хүснэгтийн өгөгдлийн бүтцийг баганын тодорхойлолтуудын жагсаалт болгон зааж өгсөн бөгөөд тус бүр нь өвөрмөц баганын нэр болон түүнд зөвшөөрөгдсөн утгын төрлийг агуулсан болно.
Атрибутын утга нь John Doe болон 35 зэрэг тодорхой байршлын оруулга юм.
Tuple нь үндсэндээ мөртэй адилхан бөгөөд SQL RDBMS-д эгнээний баганын утгыг дарааллаар нь дарааллаар нь заагладаггүй. Үүний оронд тодорхойлолтын утга бүрийг зөвхөн нэрээр нь тодорхойлно, харин дэгдэмхий дэх дарааллын байрлалаар нь биш. Атрибутын нэр нь Нэр эсвэл Нас байж болно.
Хандлага
Энэ нь тухайн бүтэц дэх өгөгдлийн харагдах байдлын хамт бүтцийн тодорхойлолтын хүснэгт юм. Тодорхойлолт нь толгой хэсэг бөгөөд доторх өгөгдөл нь бие, мөрүүдийн багц юм. Харилцааны хувьсагчийг ихэвчлэн үндсэн хүснэгт гэж нэрлэдэг. Үүнд оноогдсон утгын гарчигямар ч цаг тухайн нүдэнд заасан цагтай таарч, түүний бие нь хамгийн сүүлд өгсөн цагтай таарч, шинэчлэлтийн мэдэгдлийг (ихэвчлэн INSERT, UPDATE эсвэл УСТГАХ) дууддаг.
Багцын онолын томъёолол
Харилцааны харилцааны загварын үндсэн ойлголтууд нь шинж чанаруудын нэр, нэрс юм. Тэдгээрийг "Хүн", "Нэр" гэх мэт тэмдэгт мөр болгон төлөөлөх шаардлагатай бөгөөд тэдгээрийг хооронд нь холбохын тулд ихэвчлэн хувьсагчдыг ашиглах шаардлагатай байдаг. Өөр нэг үндсэн ойлголт бол тоо, мөр зэрэг шаардлагатай бөгөөд чухал утгыг агуулсан атомын утгуудын багц юм.