КомпјутериБази на податоци

Многу-до-многу односи: пример во Access, во SQL. Како да се направи врска меѓу многу-многу?

Во сите DBMS (системи за управување со бази на податоци), постојат неколку видови на односи помеѓу табелите. Меѓу нив, еден-на-еден, еден-на-многу, многу-на-еден врска (некои имаат тенденција да се идентификуваат овие два вида во еден) и многу-до-многу односи. Пример за второто, неговото објаснување и примена во различни DBMS, како што се Access или SQL, ќе се дискутира во овој напис.

Дефиниција

Односот многу-до-многу е дефиниран како појавување на било кој од случаите на еден од субјектите од сите инстанци на другиот. Со други зборови, секое поле од првата (втората) табела е поврзано со сите полиња од втората (првата).

Презентираниот дијаграм јасно ја покажува суштината на оваа врска.

Кога може да се користи многу-до-многу комуникација?

Еден пример на односот многу-многу-многу е студентска група и група наставници. Секој студент учи од неколку професори кои, пак, даваат предавања на неколку студенти. Сликата ја покажува разликата помеѓу еден-на-многу и многу-до-многу.

Честопати неопходните односи се многу потребни за големите бази на податоци, малите демонстративни примери обично се користат само за образовни цели, во реалната пракса излегува дека колку повеќе лица во базата на податоци и повеќе меѓусебни врски меѓу нив - толку е поголема веројатноста честата пристап до Многу-до-многу врска.

Како да се направи врска меѓу многу-многу?

Примери за овој однос ќе бидат додадени во текот на статијата, но важно е не само да се разбере што е, туку и како може да се реализира. Деталите за овој процес директно зависат од базата на податоци избрани за работа, додека принципот останува еден за сите.

Microsoft Access

Канцелариски софтвер од Мајкрософт веќе подолго време е познат на пазарот на софтвер. Доаѓа со Worfd текстуален уредувач, Excel табеларен процесор и остатокот од "канцеларија" линија. Можете да пристапите до пристапот (читајте како "пристап", буквален превод - "пристап") и одделно од неговите "колеги". Се препорачува да се купи, се разбира, лиценциран софтвер, но за никој не е тајна колку пиратски отпакувања можете да ги најдете на интернет, во форма на редовни датотеки или дистрибуции на торенти. "Мајкрософт пристап" е достапен дури и во пренослив собрание. Тоа, што не бара инсталација и посебни вештини за работа со компјутер, најдобро одговара за избор ако софтверот нема да се користи долго и често.

Од контекст е јасно дека "Мајкрософт пристап" е систем за управување со бази на податоци. И еден од најпопуларните. Таа е релациона, што значи дека се заснова на логички модел на податоци кој во текот на својата работа се однесува на теорија на множества и логика од прв ред. Многу-до-многу комуникација во пристапот (примери ќе бидат дадени за време на објаснување) се спроведува многу, многу едноставно. Размислете за тоа.

Има две маси ..

За да не измислуваме нешто ново, ајде да го земеме она што веќе го спомнавме за да го разјасниме односот многу-на-многу, пример за студентско тело. Неопходно е да се креира табела "Студентите" и табела "Наставници". Како и во првиот, а во вториот од нив има примарни клучеви. За да се комбинираат примероци од овие два ентитета, потребна е уште една табела, чии полиња се клучеви од првата и втората табела.

Ако размислите за различен пример: да речеме, играчи и тимови (со оглед на тоа што најмалку еден од играчите играл за различни тимови, а секој тим има единаесет играчи во неговиот состав), суштината на градење врска нема да се промени. Исто така ќе бидат потребни три табели. Од нив, "Фудбалерите" и "Тимовите" како главни, и еден среден.

Шемата на податоци

Врските помеѓу табелите во DBMS "Мајкрософт пристап" се имплементираат со користење на табулаторот "Податоци за шемата". На изложениот панел се додаваат сите потребни ентитети (во нашиот случај сите три табели). Креирањето на односот многу-многу-многу ќе се појави преку две едно-до-многу односи помеѓу главните ("Студентите" и "Учители") и средната табела. За да го направите ова, треба да ги поврзете соодветните примарни клучеви.

Илустрацијата погоре покажува како изгледа табулаторот "Податоци за шема" (Relathionships). Бројот на табели додадени на панелот е неограничен. Локацијата е целосно прилагодлива за корисникот.

SQL

Дизајнирање на бази на податоци на SQL - задачата е посложена отколку на "Пристап". Ако производот на Мајкрософт е целосно прилагоден на канцеларија на животната средина, тој има огромен и со секое ослободување и ажурирање, сите проширувачки функционалности, но истовремено и кориснички интерфејс, SQL е посебен не-процедурален програмски јазик, со кој на различни платформи Можете да работите со бази на податоци. Познат софтвер за оваа задача: Oracle MySQL и DB2 (популарен, но не и единствен од ваков вид). И покрај фактот дека секој од нив има свои суптилности и нијанси, јазикот на SQL "ги обединува". Научив да работам со барем еден од нив, ќе биде многу полесно да се справите со другиот.

Креирање, пополнување и директно дејство на постоечка база на податоци во SQL е неопходно преку специјални кодови или скрипти. Сепак, оние кои веќе стигнаа до секцијата "Многу-до-многу", пример за кој во овој програмски јазик ќе биде даден подолу, треба да ги знаат барем основните команди и принципи за користење на јазикот на SQL.

Принципот на создавање на многу-на-многу врска

Долгиот вовед може да биде непријатно и "замаглување", но всушност принципот на реализација на комуникацијата останува ист. За да се имплементира во практика многуте до многу видови на комуникација, не само во "Пристап", туку и во SQL, мора првично да креирате две основни табели и една средна табела. Слично на тоа, случајот е со клучевите: главните субјекти ги имаат главните полиња, од кои секоја е напишана на табелата со врски. Што значи тоа дека многу-многу-многу SQL-комуникација во основа не се разликува од "пристапот".

Спроведување на комуникација

За да се имплементира многу-многу-комуникација, SQL-скриптите користат странски клучеви (FOREIGN KEY) слични на оригиналните клучеви во главните табели. Тие се напишани заедно со сите полиња кога се создадени и / или изменети.

Улогата на многу-до-многу комуникација

Општо земено, односите меѓу ентитетите во бази на податоци се користат за интегритетот на информациите зачувани во нив. Само добро дизајнирана база на податоци со сите потребни конекции гарантира сигурност на чување, удобност на работата и структура која е отпорна на надворешни влијанија и промени. Обично, ако базата на податоци содржи податоци за цела организација, фирма или фирма, таа содржи многу ентитети со различни инстанци.

И ова значи дека барем една врска од многу-до-многу ќе биде присутна при компонирањето на шемата за податоци (во "Accessory") или скрипти за пишување (во Oracle или DiBiT). Пример за SQl, често користен во обуката на курсот "Организација на бази на податоци" - ДБ Кинг.

База на Кинг

Оваа база на податоци за обука е информации за King's Corporation. Меѓу табелите:

  • Вработените во фирмата - го содржат кодот на работникот, неговото име, средно име и почетна (ориентација кон странски имиња), код на шефот и работното место вработено лице, датумот на неговото пристигнување во фирмата, неговата плата и провизија, одделот;
  • Оддели на корпорацијата - меѓу полињата на табелата има код и името на одделот, како и кодот на неговото сместување;
  • Пласман на одделенија, кој вклучува внесување информации за кодот на сместувањето и името на градот;
  • Позиции во фирмата - мала маса со две области на кодот за работа и нејзиното официјално име;
  • Компании за купувачи - полиња: код на купувачот и име, адреса, град и држава, поштенски код и регионален код, телефонски број, шифра за услуги на клиентите, кредит и коментари на купувачот (белешки и белешки);
  • Договори за продажба кои содржат код и датум на договорот, кодот на купувачот, датумот на испорака и вкупниот износ на договорот;
  • Акти за продажба - кодот на актот и кодот на договорот, кој го вклучува актот, шифрата на производот, неговата цена, износот на купената и вкупната куповна цена;
  • Стока - шифрата и името на производот;
  • Цени - кодот на производот, цената објавена за неа, најниската можна цена, датумот на основање и датумот на откажување на цената.

Мали маси, во присуство на не повеќе од две или три полиња, се поврзани со максимум една табела со однос еден-на-еден или еден-на-многу.

Големите табели, како што се "вработени во компанијата", "фирми за купувачи", "договори за продажба" и "продажни акти" се поврзани со неколку ентитети одеднаш, а со некои - со помош на "посредници" многу-до-многу. Табелата "фирми-купувачи" сама по себе е посредник, бидејќи таа има многу полиња, позајмени од други табели и се надворешни клучеви. Покрај тоа, обемот и поврзаноста на базата на податоци на "King Corporation" е таква што сите односи се неразделно поврзани и влијаат еден на друг. Уништувањето на барем еден од нив ќе повлече уништување на интегритетот на целата база на податоци.

Важни нијанси

При спроведување на многу-до-многу комуникација, без оглед на која DBMS се користи, многу е важно правилно да се одредат клучните клучеви со кои ќе се генерира врската. Неправилно имплементираната комуникација нема да ја исполни својата главна цел, имено, обезбедување на интегритетот на табелата, а како резултат на тоа, наместо очекуваната удобност, корисникот ќе добие, напротив, непријатности и дополнителни проблеми, особено манифестирани при пополнување на табели и уредување на податоците во нив.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 mk.unansea.com. Theme powered by WordPress.