Классика баз данных - статьи

       

Функции


В контексте компьютинга функции встречаются повсеместно, и я уверен, что у вас имеется, по крайней мере, интуитивное понимание сути этого понятия. Подобно многим другим терминам компьютерной области, это понятие происходит из математики; однако смысл термина функция с годами потерял ясность и несколько выхолостился. Здесь я бы хотел вернуться к исходному математическому определению, поскольку, как я уже говорил, оно может быть достаточно полезным для прояснения понятия связи. Вот это определение: Функция – Пусть A и B – это множества, не обязательно различные. Тогда функция f – это правило, которое спаривает каждый элемент A (области определения f) с ровно одним элементом B (областью значений f); эквивалентно мы могли бы сказать, что f – это само спаривание. Уникальный элемент b множества B, соответствующий элементу a множества A, является образом a (под действием f), и множество всех таких образов является множеством значений f. Заметим, что множество значений является подмножеством (часто собственным подмножеством) области значений.

Это определение иллюстрируется приведенным ранее телефонным примером. В данном случае функция – это правило, спаривающее буквы с цифрами (эквивалентно, это само спаривание букв с цифрами); областью определения является множество букв A-Z, областью значений – множество цифр 0-9, и множеством значений – множество целых чисел 2-9 (собственное подмножество области значений). Под действием этой функции образом (например) буквы H является целое число 4.

В качестве другого примера, пусть f является правилом, спаривающим неотрицательные целые числа с их квадратами x². Тогда f – это функция, областью определения и областью значений которой является множество неотрицательных целых чисел, а множеством значений является собственное подмножество области значений (а также и области определения), которое состоит только из квадратов целых чисел. Замечание: начиная с этого места, я буду отдавать предпочтение подобным примерам (т.е. примерам со слегка математической окраской), потому что их семантика является (или должна являться) кристально ясной – нам не придется спорить о смысле менее строго определенных понятий, таких как отдел, или книга, или сегмент полета и т.д.



Содержание  Назад  Вперед