Информатика за задания за самообучение

Задача за самообучение.

Разработване на информационно-логически модел на релационна база данни.

Повечето съвременни бази данни се изграждат на базата на релационни (от английското отношение - математическото име на таблицата) системи, т.е. такива системи, за които са изпълнени две условия:

1. Данните се възприемат от потребителя като таблици. Тук става въпрос за логическото представяне на данните, а не физическото.

2. Потребителят има на разположение три оператора, които генерират "нови" таблици от "старите". Тези изявления се избират, проектират и се присъединяват.

Едно от най-важните предимства на релационните бази данни е, че можете да съхранявате логически групирани данни в различни таблици и да дефинирате връзките между тях, като ги комбинирате във виртуална таблица. За да дефинират връзка, таблиците трябва да имат полета с еднакви имена или поне с еднакви формати на данни. Връзка между таблици установява връзка между съвпадащи стойности в тези полета. Тази организация на данните ви позволява да намалите излишъка на съхранените данни, опростява въвеждането на данни и организирането на заявки и отчети. В Access можете да дефинирате три вида връзки между таблици:

- много към много;

Връзката един към много е най-често използваният тип връзка между таблици. В тази връзка всеки запис в таблица "А" може да съответства на няколко записа в таблица "Б" (полетата с тези записи се наричат ​​"външни ключове"), а запис в таблица "В" не може да съдържа повече от един съответстващ запис в таблица "А" ".

При връзка „Много към много“ един запис в таблица „А“ може да съответства на няколко записа в таблица „Б“, а един запис в таблица „В“ - няколко записа в таблица „А“. Тази схема се реализира само с помощта на трета (свързваща) таблица, ключът на която се състои от поне две полета, едното от които е общо с таблица "A", а другото е общо с таблица "B".

При връзка едно към едно записът в таблица А може да има не повече от един свързан запис в таблица Б и обратно. Този тип връзка не се използва много често, тъй като такива данни могат да бъдат поставени в една таблица. Взаимоотношението едно към едно се използва за разделяне на много широки таблици, за разделяне на части от таблица за целите на сигурността и за запазване на информация, свързана с подмножество записи в главната таблица.

Типът създадена връзка зависи от полетата, за които е дефинирана връзката:

- създава се връзка едно към много, когато само едно от полетата е ключово или има уникален индекс, тоест стойностите в него не се повтарят;

- създава се връзка едно към едно, когато и двете свързани полета са ключови или имат уникални индекси;

- връзката много към много всъщност представлява две взаимоотношения един към много чрез трета таблица, чийто ключ се състои от поне две полета, които са общи за другите две таблици.

Целостта на данните се отнася до системата от правила, които базата данни на Access използва, за да поддържа връзки между записи в свързани таблици (таблици, свързани с връзка) и да предпазва от случайно изтриване или модификация на свързани данни. Можете да контролирате целостта на данните, ако са изпълнени следните условия:

- свързаното поле (полето, през което се осъществява връзката) на една таблица е ключово поле или има уникален индекс;

- свързаните полета са от същия тип данни. Тук има изключение. Полето за брояч може да бъде свързано с числово поле, ако е от тип Long Integer;

- и двете таблици принадлежат към една и съща база данни на Access. Ако таблиците са свързани, те трябва да са таблици на Access. За да се установи целостта на данните, базата данни, съдържаща таблиците, трябва да бъде отворена. Невъзможно е да се установи целостта на данните за свързани таблици от бази данни от други формати.

Първичен ключ е една или повече колони, които идентифицират реда на връзка. Първичният ключ трябва да е уникален. Например за връзка в таблицата Student, колоната (атрибут) "StudentNumber" е уникален ключ, тъй като има връзка едно към едно между стойността на атрибута "GradebookNumber" и реда на връзката Student. По този начин заявка, която инструктира да се намерят всички редове в релацията "Student", в която стойността на атрибута "Cache Number" е 04343, ще върне един ред.

Ключът, базиран на колоната "Група", не е уникален.

От данните, представени в Таблица 1 в насоките, може да изглежда, че атрибутите "Номер на кеша", "Фамилия" и "E_mail" са уникални идентификатори. Но за да се реши дали това наистина е така, представените тук данни сами по себе си не са достатъчни. Разработчиците трябва да попитат потребителите или други експерти в областта дали дадена колона е уникална. Добър пример е колоната Фамилно име. Най-вероятно е случайно, че всички имена в нашите данни се оказаха различни. Ако попитате потребителите, те ще кажат, че стойностите в колоната „Фамилно име“ за студент не винаги са уникални.