Във всички СУБД (системи за управление на бази данни)Има няколко типа връзки между таблиците. Сред тях са взаимоотношенията един към един, един към много, много към един (някои са склонни да идентифицират тези два типа в едно) и много към много отношения. Пример за последното, неговото обяснение и приложение в различни СУБД, като Access или SQL, ще бъдат разгледани в тази статия.
Съотношението много към много се определя катокореспонденция с който и да е от отделните единици на всички инстанции на другия. С други думи, всяко поле от първата (втората) таблица е свързано с всички полета от втората (първата).
Представената схема ясно отразява същността на тази връзка.
Пример за много на много комуникация е студентътгрупа и група учители. Всеки студент се учи от няколко преподаватели наведнъж, които от своя страна изнасят лекции пред няколко студенти. Картината показва разликата между отношенията един към много и много към много.
Често са нужни много-много отношенияпри компилирането на мащабни бази данни малки илюстративни примери обикновено се използват само за образователни цели, но в реалната практика се оказва, че колкото повече субекти в базата данни и колкото повече връзки между тях, толкова по-голяма е вероятността често да се осъществява достъп до връзката между много хора.
Примери за въпросната връзка все още ще имадобавено в хода на статията, но е важно не само да разберем какво представлява, но и как може да се приложи. Детайлите на този процес директно зависят от избраната за работа СУБД, докато принципът остава един и същ за всички.
Софтуер на Microsoft Officeизвестен на пазара на софтуер от доста време. Той се предлага с текстов редактор на Worfd, процесор за електронни таблици в Excel и други в реда на офиса. Можете да закупите Access (четете като "достъп", буквалният превод е "достъп") и отделно от "колегите му". Препоръчва се, разбира се, да се купува лицензиран софтуер, но за никого не е тайна колко пиратски репакети могат да бъдат намерени в мрежата под формата на обикновени файлове или разпространение на торенти. Microsoft Access е наличен дори в преносима версия. Той, който не изисква инсталация и специални компютърни умения, е най-подходящ за избора, ако софтуерът няма да се използва дълго и често.
От контекста става ясно, че Microsoft Access есистема за управление на база данни. И един от най-популярните. Той е релационен, което означава, че се основава на логически модел на данни, който в хода на своята работа се обръща към теорията на множествата и логиката от първи ред. Връзката "много към много" в Access (примери ще бъдат дадени по време на обяснението) се осъществява много, много просто. Помислете за нея.
За да не измислим нещо ново, ще вземемпосочени с цел да се изясни връзката между мнозина, пример за учениците. Необходимо е да се създаде таблицата "Ученици" и таблицата "Учители". И първият, и вторият имат първични ключове. За да се комбинират копия на тези две образувания, е необходима още една таблица, чиито полета са ключовете на първата и втората таблица.
Ако погледнете друг пример:например играчи и отбори (като се има предвид, че поне един от играчите играе за различни отбори и всеки отбор има единадесет играчи), същността на изграждането на връзка няма да се промени. Ще са необходими и три таблици. От тях „Футболисти“ и „Отбори“ като основни и един междинен.
Връзки между таблици в СУБД на Microsoft Accessреализира се с помощта на раздела "Схема на данни". Всички необходими единици се добавят към панела, който се появява (в нашия случай и трите таблици). Връзката „много към мнозина“ ще бъде създадена, като се използват две връзки „едно към много“ между основните (Студенти и учители) и междинната таблица. За това е необходимо да се свържат съответните първични ключове.
Илюстрацията по-горе показва как изглежда раздела Relathionships. Броят на таблиците, добавени към панела, е неограничен. Местоположението е напълно регулируемо от потребителя.
Проектиране на бази данни в SQL - предизвикателствопо-трудно, отколкото на "Достъп". Ако продуктът на Microsoft е напълно адаптиран за офис среда, той има огромно и с всяко издание и актуализация всичко е разширяемо, функционално, но в същото време удобно за простия потребителски интерфейс, тогава SQL е отделен непроцедурен език за програмиране, който може да се използва на различни платформи Можете да работите с бази данни. Известен софтуер за тази задача: Oracle MySQL и DB2 (популярен, но не един от рода). Въпреки факта, че всеки от тях има свои тънкости и нюанси, SQL езикът ги "обединява". Научавайки се да работите с поне един от тях, ще бъде много по-лесно да се справите с другия.
Създавайте, попълвайте и насочвайте действиянад съществуваща база данни в SQL, трябва чрез специални кодове или скриптове. Обаче, тези, които вече са достигнали до раздела „Комуникации много до много“, пример за който в този език за програмиране ще бъде даден по-долу, трябва да знаят поне основните команди и принципите на използване на SQL езика.
Дългото въведение може да бъде донякъде объркващо и"оставете мъглата", но всъщност принципът на комуникация е един и същ. За да бъде приложен на практика тип взаимоотношения много към много, не само в Access, но и в SQL, първоначално е необходимо да се създадат две базови таблици и една междинна таблица. Подобна е ситуацията с ключовете: основните субекти имат основните полета, всяко от които е записано в таблицата с връзки. Което означава, че връзката много към много SQL не е коренно различна от „Access“.
За реализиране на много към много комуникации в скриптовеSQL използва чужди ключове (FOREIGN KEY), подобни на изходните ключове в основните таблици. Те се записват заедно с всички полета, когато са създадени и / или редактирани.
Като цяло взаимоотношенията между субектите в базите данниизползва се за целостта на информацията, съхранявана в тях. Само добре проектирана база данни с всички необходими връзки гарантира безопасност при съхранение, лекота на използване и е структура, устойчива на външни влияния и промени. Обикновено, ако базата данни съдържа данни за цялата организация, компания или фирма, тя съдържа много организации с различни инстанции.
А това означава, че при компилиране на схема за данни (в„Достъп“) или скриптове (в „Oracle“ или „DiBiTu“) ще има поне една връзка много към много. Пример за SQl, често използван при преподаване на курс "Организация на бази данни" - King Database.
Тази база данни за обучение предоставя информация за King Corporation. Сред таблиците:
Малки таблици, които имат не повече от две или три полета, са свързани с максимум една таблица в отношенията „един към един“ или „един към много“.
Таблици с мащаб като "служители"фирми "," фирми-купувачи "," договори за продажба "и" актове за продажба "се свързват с няколко образувания наведнъж, а с някои - с помощта на" посредници "много към много отношения. Самата таблица" фирми-купувачи "е посредник като такъв, защото има много полета, заимствани от други таблици и които са чужди ключове. В допълнение, мащабът и взаимосвързаността на базата данни на King Corporation са такива, че всички отношения са неразривно свързани помежду си и влияят един на друг. един от тях ще включва q структурна цялост на цялата база данни.
При внедряване на много към много комуникации, отвънв зависимост от това коя СУБД се използва, е много важно правилно да се определят ключовете, с които ще се компилира връзката. Неправилно осъществената връзка няма да изпълни основната си цел, а именно осигуряването на целостта на таблицата и в резултат на това вместо очаквания комфорт, потребителят, напротив, ще създава неудобства и допълнителни проблеми, особено при попълване на таблиците и редактиране на данните в тях.