Главная » Мода » Функциональные зависимости в реальных процессах и явлениях. Функциональная зависимость и реляционные базы данных Функциональная зависимость и способы ее представления

Функциональные зависимости в реальных процессах и явлениях. Функциональная зависимость и реляционные базы данных Функциональная зависимость и способы ее представления

Лекции № 8-9.

Функциональная зависимость. Нормальные формы.

Цель занятия: познакомить студентов с определением функциональной зависимости атрибутов, с понятием нормализации исходного отношения, рассказать о причинах, приводящих к необходимости нормализации файлов записи, ввести способы обеспечения требуемого уровня нормальности таблицы, определить нормальные формы на конкретном примере.

Функциональные зависимости

Теория нормализации, как и теория баз данных в целом, опирается на математический аппарат, основу которого составляют теория множеств и элементы алгебры.

Одни и те же данные могут группироваться в таблицы (отношения) различными способами. Группировка атрибутов в отношениях должна быть рациональной (т. е. дублирование данных д.б. минимальным) и упрощающей процедуры их обработки и обновления. Устранение избыточности данных является одной из важнейших задач проектирования баз данных и обеспечивается нормализацией.

Нормализация таблиц (отношений) - это формальный аппарат ограничений на формирование таблиц (отношений), который позволяет устранить дублирование, обеспечивает непротиворечивость хранимых в базе данных, уменьшает трудозатраты на ведение (ввод, корректировку) базы данных. Процесс нормализации заключается в разложении (декомпозиции) исходных отношений БД на более простые отношения. Каждая ступень этого процесса приводит схему отношений в последовательные нормальные формы. Для каждой ступени нормализации имеются наборы ограничений, которым должны удовлетворять отношения БД. Нормализация позволяет удалить из таблиц базы избыточную неключевую информацию.

Вначале вспомним некоторые понятия:

Простой атрибут - это атрибут, значения которого неделимы. Иными словами, в таблице нет полей типа ФИО или Адрес - они разложены на поля Фамилия, Имя, Отчество в первом случае и на поля Индекс, Город и т. д. во втором.

Сложный (составной) атрибут получается путем соединения нескольких атомарных атрибутов, иначе его называют вектором или агрегатом данных.

Определение функциональной зависимости: Пусть X и Y атрибуты некоторого отношения. Если в любой момент времени произвольному значению X соответствует единственное значение Y, то Y функционально зависит от X (X Y)

Если ключ является составным, то любой атрибут должен зависеть от ключа в целом, но не может находиться в функциональной зависимости от какой-либо части составного ключа, т.е. функциональная зависимость имеет вид (X 1 , X 2 , ..., X) Y.

Функциональная зависимость может быть полной или неполной.

Неполной зависимостью называется зависимость неключевого атрибута от части составного ключа.


Полной функциональной зависимостью называется зависимость неключевого атрибута от всего составного ключа, а не от его частей.

Определение транзитивной функциональной зависимости: Пусть X, Y, Z - три атрибута некоторого отношения. При эtom X Y и Y Z, но обратное соответствие отсутствует, то есть Y не зависит от Z, а Х не зависит от Y. Тогда говорят, что Z транзитивно зависит от Х.

Определение многозначной зависимости: Пусть Х и Y атрибуты некоторого отношения. Атрибут Y многозначно зависит от атрибута X, если. каждому значению X соответствует множество значений Y, не связанных с другими атрибутами из отношения. Многозначные зависимости могут носить характер «один ко многим» (1:М), «многие к одному» (М:1) или «многие ко многим» (М:М), обозначаемые соответственно: X=>Y, Y<=X и X<=>Y. Например, преподаватель ведет несколько предметов, а каждый предмет может вестись несколькими преподавателями, тогда имеет место зависимость ФИО <=> Предмет.

Рассмотрим следующий пример: Предположим, что для учебной части факультета создается БД о преподавателях, которая включает следующие атрибуты:

ФИО - фамилия и инициалы преподавателя (совпадения фамилий и инициалов исключаются).

Должность - должность, занимаемая преподавателем.

Оклад- оклад преподавателя.

Стаж - преподавательский стаж. Д_Стаж - надбавка за стаж.

Кафедра - номер кафедры, на которой числится преподаватель.

Предмет - название предмета (дисциплины), читаемого преподавателем.

Группа - номер группы, в которой преподаватель проводит занятия.

Вид занятия - вид занятий, проводимых преподавателем в учебной группе.

Исходное отношение ПРЕПОДАВАТЕЛЬ

Бакланова Ирина Федоровна, учитель математики

Предмет, возраст учащихся

Математика, 7 класс

Краткая аннотация проекта

Проект рассчитан на обучающихся 7 класса, изучивших понятие функции. Тема "Функции" связывает между собой многие точные и естественные науки, бытовые и производственные сферы нашей жизни. В рамках проекта обучающиеся исследуют функциональные зависимости в окружающем мире, углубляют и обобщают свои знания о способах задания функции, закрепляют навыки перехода от одного способа задания функции к другому, «чтения» графиков функций, учатся самостоятельно описывать функциональные зависимости. Проект обеспечивает усвоение содержания образования по теме «Функция».

Практический результат проекта – совместная презентация обучающихся. Календарная продолжительность проекта составляет примерно 3 недели. Цель проекта: - для ученика - обнаружение и описание функциональных зависимостей в реальных процессах и явлениях, создание учебной презентации; - для учителя - формирование компетентности обучающихся в сфере самостоятельной познавательной деятельности, развитие информационно-коммуникативной культуры обучающихся. Задачи проекта: - для ученика: 1. Найти функциональные зависимости в реальной жизни. 2. Исследовать и описать функциональные зависимости различными способами. 3. Представить работу в виде презентации.

Для учителя: 1. Формировать навыки самостоятельной работы в познавательной деятельности. 2. Формировать навыки поиска и анализа информации, умения увидеть проблему и намечать пути ее решения. 3. Развивать информационную и коммуникативную компетентности обучающихся. 4. Воспитывать навыки совместной работы по решению проблем и интерес к предмету. 5. Формировать умения и навыки исследования функциональных зависимостей, различного способа их представления.

Вопросы, направляющие проект

Основополагающий вопрос

Можно ли описать привычные и наглядные явления, образы из окружающей нас жизни, используя функциональные зависимости?

Проблемные вопросы

Какие функциональные зависимости можно обнаружить в «Отделении связи»? (Подсказка: от чего зависит стоимость телеграммы?) Какие функциональные зависимости можно обнаружить в ФАПе? (Подсказка: от чего зависит длина столбика ртути в термометре?) Какие функциональные зависимости можно обнаружить в магазине? (Подсказка: от чего зависит стоимость покупки?) Какие функциональные зависимости можно обнаружить в твоем доме? (Подсказка: от чего зависит расход краски?) Какие функциональные зависимости можно обнаружить в твоем организме? (Подсказка: от чего зависит длина шага?) Какие функциональные зависимости можно обнаружить в твоих школьных предметах? (Подсказка: от чего зависит масса вещества?) Какие функциональные зависимости можно обнаружить в прогнозе погоды? (Подсказка: как зависит температура воздуха от времени суток?)

Учебные вопросы

Что называется функцией? - Что такое аргумент? Значение функции? - Какие существуют способы задания функции? - Что называется графиком функции? - Как построить график функции?

План проведения проекта

1.Проблематизация: «присвоение» учеником проблемы, наделение её личностным смыслом (выход – тема проекта). Рассматривая на уроке примеры встречающихся на практике зависимостей между различными величинами, проводя аналогии между различными примерами, обучающиеся интуитивно строят догадки относительно функциональных зависимостей в быту и в природе, и получают возможность их проверить, участвуя в проекте. 2. Целеполагание: определение цели проекта (выход – макет презентации). 3. Планирование: определение задач, способов решения задач проекта (выход - группы обучающихся по направлениям исследования. Определены план, график работы каждой группы, распределены обязанности внутри групп(«Историки» - готовят историческую справку, «Разведчики» - занимаются сбором информации на практике, «Эксперты» - проводят экспертизу и описание выявленных функциональных зависимостей, «Маркетологи» готовят информацию к представлению). 4. Реализация: решение задач проекта. Исследования обучающихся складываются из опроса представителей различных специальностей по использованию ими функциональных зависимостей, графиков в своей профессиональной деятельности, анализа полученной информации. Приветствуется самостоятельное выявление функциональных зависимостей. 5. Самооценка, рефлексия: сравнение полученного результата с замыслом, оценка приобретенного жизненного опыта. 6. Защита проекта: презентация продукта.

Точный математический анализ социально-экономических проблем всегда базируется на понятии функции. Функция - это правило, по которому элементы одного числового множества сопоставляются с элементами другого числового множества. Функции обозначаются как:

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

Существуют четыре способа задания функции: табличный, графический, аналитический, алгоритмический. Некоторые из перечисленных способов задания функций (иногда говорят "функциональных зависимостей") будут рассмотрены ниже на конкретных примерах.

Пример 1: Результаты изучения сезонного спроса на некоторый товар приводятся в таблице.

Период времени

Спрос, тыс. шт.

Для каждого конкретного момента времени в таблице указывается значение спроса на товар в этот момент времени, то есть правило задано таблично.

Пример 2: Изучение спроса на некоторый товар в зависимости от изменения цены на него позволило построить следующую графическую зависимость:

Графический способ представления, как очевидно является наиболее удобным с точки зрения очевидности представления данных, но наименее удобным с позиций точности.

Пример 3. Расход продуктов питания Y в зависимости от доходов семьи Х может быть описан следующей зависимостью

Пример 4. Издержки по управлению товарными запасами У Складываются из затрат на хранение и затрат на доставку. В свою очередь каждое слагаемое зависит от объема товарной массы

Где А, b - коэффициенты, характеризующие условия хранения и поставки товара.

Пример 5: В микроэкономике, изучающей поведение потребителя на рынке товаров и услуг, широко используется функция полезности U. Для случая двух товаров, например, чая и кофе, она может иметь вид:

Здесь У1,У2 - объемы потребления каждого вида товара.

Приведённых примеров достаточно, чтобы сделать некоторые выводы.

Во-первых, Аналитические зависимости (формулы) совершенно различны, но все они состоят из конечного числа простых зависимостей, которые называют основными элементарными функциями.

На рис.1 показаны шесть основных элементарных функций (по порядку слева направо):

1. Линейная -

2. Квадратичная

3. Гипербола

4. Логарифмическая

5. Показательная

6. Степенная

Используемые на практике функции состоят из сочетаний нескольких элементарных и строятся по принципу "функция от функции". Например, пусть z = F(y). В свою очередь, переменная У также является функцией, зависящей от х - то есть у = F(x). Тогда говорят, что функция z является сложной функцией вида Z = F(f(x)).

Можно отметить, что функция может зависеть от одной переменной, тогда её можно изобразить на плоскости в виде графика в системе координат. Если аргумента два, как у функции полезности, то она может быть изображена на плоскости в виде совокупности линий уровня (см. рис.2).

Во-вторых, каждый из перечисленных способов задания функции не исключает любой другой. Они лишь дополняют друг друга. В одних задачах удобнее использовать аналитическую зависимость, а в других - графическую.

Кроме этого, можно отметить, что можно производить переход от одного способа представления функций к другому.

В-Третьих, функциональные зависимости полезны не только тем, что позволяют вычислить объясняемую переменную при заданных значениях объясняющих переменных, но и тем, что позволяют выявить качественные особенности описываемого явления.

Например, исследуем как изменяются затраты на продукты питания (см. пример 2), если доход увеличивается на величину Dх. Новое значение затрат определится как

Таким образом очевидно, что увеличение затрат на питание не зависит от дохода Х, а зависит лишь от прироста дохода Dх. Это означает, что, если индивид получал 800 руб. в месяц и его зарплата увеличится на 20 руб., то из этой величины он выделит дополнительно на питание 14 руб. То же самое сделает другой человек при зарплате 1600 руб. в месяц, если его зарплата также увеличится на 20 руб.

Реферат на тему:

Функция (математика)



План:

    Введение
  • 1 История
  • 2 Определения
    • 2.1 Интуитивное определение
    • 2.2 Теоретико-множественное определение
  • 3 Обозначения
    • 3.1 Функции нескольких аргументов
  • 4 Способы задания функции
    • 4.1 Аналитический способ
    • 4.2 Графический способ
  • 5 Связанные определения
    • 5.1 Сужение и продолжение функции
    • 5.2 Образ и прообраз (при отображении)
    • 5.3 Тождественное отображение
    • 5.4 Композиция отображений
    • 5.5 Обратное отображение
  • 6 Свойства
    • 6.1 Образ и прообраз при отображении
      • 6.1.1 Взятие образа
      • 6.1.2 Взятие прообраза
    • 6.2 Поведение функций
      • 6.2.1 Сюръективность
      • 6.2.2 Инъективность
      • 6.2.3 Биективность
      • 6.2.4 Возрастание и убывание
      • 6.2.5 Периодичность
      • 6.2.6 Чётность
      • 6.2.7 Экстремумы функции
  • 7 Примеры
  • 8 Вариации и обобщения
    • 8.1 Многозначные функции
  • Примечания
    Литература

Введение

График функции
.

Функция - математическое понятие, отражающее связь между элементами множеств. Более точно, это «закон», по которому каждому элементу одного множества (называемому областью определения ) ставится в соответствие некоторый элемент другого множества (называемого областью значений ).

Математическое понятие функции выражает интуитивное представление о том, как одна величина полностью определяет значение другой величины. Так значение переменной x однозначно определяет значение выражения x 2 , а значение месяца однозначно определяет значение следующего за ним месяца, также любому человеку можно сопоставить другого человека - его отца. Аналогично, некоторый задуманный заранее алгоритм по варьируемым входным данным выдаёт определённые выходные данные.

Обычно рассматриваются числовые функции, которые ставят одни числа в соответствие другим. Такие функции обладают рядом отличительных свойств и удобно представляются на рисунках в виде графиков.


1. История

Термин «функция» (в некотором более узком смысле) был впервые использован Лейбницем (1692 год). В свою очередь, Иоганн Бернулли в письме к тому же Лейбницу употребил этот термин в смысле, более близком к современному.

Первоначально, понятие функции было неотличимо от понятия аналитического представления. Впоследствии появилось определение функции, данное Эйлером (1751 год), затем - у Лакруа (1806 год) - уже практически в современном нам виде. Наконец, общее определение функции (в современной форме, но для числовых функций) было дано Лобачевским (1834 год) и Дирихле (1837 год).

К концу XIX века понятие функции переросло рамки числовых систем. Первыми это сделали векторные функции, вскоре Фреге ввёл логические функции (1879), а после появления теории множеств Дедекинд (1887) и Пеано (1911) сформулировали современное универсальное определение.


2. Определения

Существуют два определения функции:

  • интуитивное определение, где понятие функции переводится на обычный язык, используя слова «закон», «правило» или «соответствие»;
  • теоретико-множественное определение (на основе понятия бинарного отношения), которое является наиболее строгим (в современном представлении).

Оба определения не противоречат друг другу.

2.1. Интуитивное определение

Функция f (отображение , операция , оператор ) - это закон или правило , согласно которому каждому элементу x из множества X ставится в соответствие единственный элемент y из множества Y .

При этом говорят, что функция f задана на множестве X , или что f отображает X в Y .

Если элементу сопоставлен элемент , то говорят, что элемент y находится в функциональной зависимости f от элемента x . При этом переменная x называется аргументом функции f или независимой переменной , множество X называется областью задания или областью определения функции, а элемент y , соответствующий конкретному элементу x - частным значением функции f в точке x . Множество Y всех возможных частных значений функции f называется её областью значений или областью изменения .


2.2. Теоретико-множественное определение

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

Это и позволяет говорить о том, что элементу сопоставлен один и только один элемент такой, что .

Таким образом, функция - это упорядоченная тройка (или кортеж) объектов (f ,X ,Y ) , где


3. Обозначения

Если задана функция f , которая определена на множестве X и принимает значения в множестве Y , то есть, функция f отображает множество X в Y , то

Наличие функциональной зависимости между элементом и элементом


3.1. Функции нескольких аргументов

Определение функции легко обобщить на случай функции многих аргументов.

Если множество X представляет собой декартово произведение множеств , тогда отображение оказывается n -местным отображением, при этом элементы упорядоченного набора называются аргументами (данной n -местной функции), каждый из которых пробегает своё множество:

где .

В этом случае y = f (x ) означает, что .


4. Способы задания функции

4.1. Аналитический способ

Функция математический объект представляет собой бинарное отношение, удовлетворяющее определенным условиям. Функцию можно задать непосредственно как множество упорядоченных пар, например: есть функция . Однако, этот способ совершенно непригоден для функций на бесконечных множествах (каковыми являются привычные вещественные функции: степенная, линейная, показательная, логарифмическая и т. п.).

Для задания функции пользуются выражением: . При этом, x есть переменная, пробегающая область определения функции, а y - область значений. Эта запись говорит о наличии функциональной зависимости между элементами множеств. х и y могут пробегать любые множества объектов любой природы. Это могут быть числа, векторы, матрицы, яблоки, цвета радуги. Поясним на примере:

Пусть имеется множество яблоко, самолет, груша, стул и множество человек, паровоз, квадрат . Зададим функцию f следующим образом: (яблоко,человек), (самолет,паровоз), (груша,квадрат), (стул,человек) . Если ввести переменную x, пробегающую множество и переменную y, пробегающую множество , указанную функцию можно задать аналитически, как: .

Аналогично можно задавать числовые функции. Например: где х пробегает множество вещественных чисел задает некоторую функцию f. Важно понимать, что само выражение не является функцией. Функция как объект представляет собой множество (упорядоченных пар). А данное выражение как объект есть равенство двух переменных. Оно задает функцию, но не является ею.

Однако, во многих разделах математики, можно обозначать через f(x) как саму функцию, так и аналитическое выражение, ее задающее. Это синтаксическое соглашение является крайне удобным и оправданным.


4.2. Графический способ

Числовые функции можно также задавать с помощью графика. Пусть - вещественная функция n переменных.

Рассмотрим некоторое (n+1)-мерное линейное пространство над полем вещественных чисел (так как функция вещественная). Выберем в этом пространстве любой базис (). Каждой точке функции сопоставим вектор: . Таким образом, мы будем иметь множество векторов линейного пространства, соответствующих точкам данной функции по указанному правилу. Точки соответствующего аффинного пространства будут образовывать некоторую поверхность.

Если в качестве линейного пространства взять евклидово пространство свободных геометрических векторов (направленных отрезков), а число аргументов функции f не превосходит 2, указанное множество точек можно изобразить наглядно в виде чертежа (графика). Если сверх того исходный базис взять ортонормированным, получим "школьное" определение графика функции.

Для функций 3 аргументов и более такое представление не применимо ввиду отсутствия у человека геометрической интуиции многомерных пространств.

Однако, и для таких функций можно придумать наглядное полугеометрическое представление (например каждому значению четвертой координаты точки сопоставить некоторый цвет на графике)


5. Связанные определения

5.1. Сужение и продолжение функции

Пусть дано отображение и .

Функция , которая принимает на M те же значения, что и функция f , называется суже́нием (или, иначе ограничением ) функции f на множество M .

Сужение функции f на множество M обозначается как .

Если функция такова, что она является сужением для некоторой функции , то функция f , в свою очередь, называется продолжением функции g на множество X .


5.2. Образ и прообраз (при отображении)

Элемент y = f (x ) , который сопоставлен элементу x , называется образом элемента (точки) x (при отображении f ).

Если взять целое подмножество A области определения функции f , то можно рассмотреть совокупность образов всех элементов множества A , а именно подмножество области значений (функции f ) вида

,

которое, называется образом множества A (при отображении f ). Это множество иногда обозначается как f [A ] или A f .

Наоборот, взяв некоторое подмножество B области значений функции f , можно рассмотреть совокупность тех элементов области определения (функции f ), чьи образы попадают в множество B , а именно - множество вида

,

которое называется (полным ) прообразом множества B (при отображении f ).

В том частном случае, когда множество B состоит из одного элемента, скажем, B = {y } , множество f − 1 ({y }) = {x :f (x ) = y } имеет более простое обозначение f − 1 (y ) .


5.3. Тождественное отображение

Отображения, у которых совпадают область определения и область значений, называются отображениями заданного множества в себя или преобразованиями .

В частности, преобразование , которое сопоставляет каждой точке x множества X её саму или, что тоже самое,

f (x ) = x для каждого ,

называется тождественным .

Это отображение имеет специальное обозначение: i d X или, проще, i d (если из контекста понятно, какое множество имеется в виду). Такое обозначение обязано своим происхождением англ. слову identity («идентичный»).

Другое обозначение тождественного преобразования - 1 X . Такое отображение является унарной операцией, заданной на множестве X . Поэтому, нередко, тождественное преобразование называют единичным .


5.4. Композиция отображений

Пусть и - два заданных отображения таких, что область значений первого отображения является подмножеством области определения второго отображения. Тогда для всякого однозначно определяется элемент такой, что y = f (x ) , но для этого самого y однозначно определяется элемент такой, что z = g (y ) . То есть, для всякого однозначно определяется элемент такой, что z = g (f (x )) . Другими словами, определено отображение h такое, что

h (x ) = g (f (x )) для всякого .

Это отображение называется композицией отображений f и g и обозначается


5.5. Обратное отображение

Если отображение является взаимно однозначным или биективным (см. ниже), то определено отображение , у которого

  • область определения (множество Y ) совпадает с областью значений отображения f ;
  • область значений (множество X ) совпадает с областью определения отображения f ;
  • x = f − 1 (y ) тогда и только тогда, когда y = f (x ) .

Такое отображение называется обратным по отношению к отображению f .

Отображение, у которого определено обратное, называется обратимым .

В терминах композиции функции, свойство обратимости заключается в одновременном выполнении двух условий: и .


6. Свойства

Пусть задана функция , где X и Y - данные множества, причём X = d o m f . Каждая такая функция может обладать некоторыми свойствами, описание которых приведено ниже.

6.1. Образ и прообраз при отображении

6.1.1. Взятие образа

Положим, A и B - подмножества области определения. Взятие образа (или, что то же самое, применение оператора f ) обладает следующими свойствами:

Последние два свойства, вообще говоря, допускают обобщение на любое количество множеств, большее двух (как оно здесь сформулировано).


6.1.2. Взятие прообраза

Положим, A и B - подмножества множества Y .

По аналогии с взятием образа, взятие прообраза (переход к прообразу) обладает также следующими двумя очевидными свойствами:

Данные свойства, также, допускают обобщение на любое количество множеств, большее двух (как оно здесь сформулировано).

В случае, если отображение обратимо (см. ниже), прообраз каждой точки области значений одноточечный, поэтому для обратимых отображений выполняется следующее усиленное свойство для пересечений:


6.2. Поведение функций

6.2.1. Сюръективность

Функция f называется сюръективной (или, коротко, сюръекция ), если каждому элементу множества прибытия может быть сопоставлен хотя бы один элемент области определения. Другими словами, функция f сюръективна , если образ множества X при отображении совпадает с множеством Y : f [X ] = Y .

Такое отображение называется ещё отображением на .

Если условие сюръективности нарушается, то такое отображение называют отображением в .


6.2.2. Инъективность

Функция f называется инъективной (или, коротко, инъекция ), если разным элементам множества X сопоставлены разные элементы множества Y . Более формально, функция f инъективна , если для любых двух элементов таких, что f (x 1) = f (x 2) , непременно выполняется x 1 = x 2 .

Другими словами, сюръекция - это когда «у каждого образа есть прообраз», а инъекция - это когда «разные - в разные». То есть, при инъекции не бывает так, чтобы два или больше разных элементов X отображались в один и тот же элемент Y . А при сюръекции не бывает так, чтобы какой-то элемент Y не имел прообраза.


6.2.3. Биективность

Если функция является и сюръективной , и инъективной , то такую функцию называют биективной или взаимно однозначной .

6.2.4. Возрастание и убывание

Пусть дана функция Тогда

  • функция f называется возраста́ющей на M , если
.
  • функция f называется стро́го возраста́ющей на M , если
.
  • функция f называется убыва́ющей на M , если
.
  • функция f называется стро́го убыва́ющей на M , если
.

(Строго) возрастающая или убывающая функция называется (строго) монотонной.


6.2.5. Периодичность

Функция называется периодической с пери́одом , если справедливо

.

Если это равенство не выполнено ни для какого , то функция f называется апериоди́ческой .


6.2.6. Чётность

  • Функция f называется чётной, если справедливо равенство
  • Если не выполняется ни одно из этих равенств, то функция называется функцией общего вида .

6.2.7. Экстремумы функции

Пусть дана функция и - внутренняя точка области определения f . Тогда


7. Примеры

В зависимости от того, какова природа области определения и области значений, различают случаи, когда эти области - это:

  • абстрактные множества - множества, без какой-либо дополнительной структуры;
  • множества, которые наделены некоторой структурой.

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

  • конечные множества - здесь мощность множества совпадает с количеством элементов;
  • счётные множества - множества эквивалентные множеству натуральных чисел;
  • множества мощности континуума (например, отрезок действительной прямой или сама действительная прямая).

В соответствии с этим, имеет смысл рассматривать следующие примеры отображений:

  • конечные функции - отображения конечных множеств;
  • последовательности - отображение счётного множества в произвольное множество;
  • континуальные функции - отображения несчётных множеств в конечные, счётные или несчётные множества.

Во втором случае, основной объект рассмотрения - заданная на множестве структура и то, что происходит с этой структурой при отображении: если существует взаимно однозначное отображение одной структуры в другую, что при отображении сохраняются свойства заданной структуры, то говорят, что между двумя структурами установлен изоморфизм. Таким образом, изоморфные структуры, заданные в различных множествах, невозможно различить, поэтому в математике принято говорить, что данная структура рассматривается «с точностью до изоморфизма».

Существует великое разнообразие структур, которые могут быть заданы на множествах. Сюда относится:

  • структура порядка - частичный или линейный порядок.
  • алгебраическая структура - группоид, полугруппа, группа, кольцо, тело, область целостности или поле.
  • структура метрического пространства - здесь задаётся функция расстояния;
  • структура евклидового пространства - здесь задаётся скалярное произведение;
  • структура топологического пространства - здесь задаётся совокупность т. н. «открытых множеств»;
  • структура измеримого пространства - здесь задаётся функция (мера), которая действует на подмножествах данного пространства.

Природа множеств определяет и свойства соответствующих функций, поскольку эти свойства формулируются в терминах заданных на множествах структурах. Например, свойство непрерывности , требует задания топологической структуры . .


8. Вариации и обобщения

8.1. Многозначные функции

В силу определения функции, заданному значению аргумента соответствует ровно одно значение функции. Не смотря на это, нередко, можно услышать про т. н. «многозначные» функции. В действительности, это не более чем удобное обозначение функции, область значений которой само является семейством множеств.

Пусть , где - семейство подмножеств множества Y . Тогда f (x ) будет множеством для всякого .


Примечания


Литература

  • Функция. Математический энциклопедический словарь. - Гл. ред. Ю. В. Прохоров. - М.: «Большая российская энциклопедия», 1995.
  • Клейн Ф. Общее понятие функции - ru.wikisource.org/wiki/Элементарная_математика_с_точки_зрения_высшей/Общее_понятие_функции. В кн.: Элементарная математика с точки зрения высшей. Т.1. М.-Л., 1933
  1. И. А. Лавров , Л. Л. Максимова . Часть I. Теория множеств // Задачи по теории множеств, математической логике и теории алгоритмов. - 3-е изд. . - М .: Физматлит, 1995. - С. 13 - 21. - 256 с. - ISBN 5-02-014844-X
  2. А. Н. Колмогоров , С. В. Фомин . Глава 1.. Элементы теории множеств // Элементы теории функций и функционального анализа. - 3-е изд. . - М .: Наука, 1972. - С. 14 - 18. - 256 с.
  3. Дж. Л. Келли Глава 0. Предварительные сведения // Общая топология. - 2-е изд. . - М .: Наука, 1981. - С. 19 - 27. - 423 с.
  4. В. А. Зорич Глава I. Некоторые общематематические понятия и обозначения. § 3. Фунция // Математический анализ, часть I. - М, .
    Текст доступен по лицензии Creative Commons Attribution-ShareAlike .

Информация всегда имела адекватный динамичный интерес. Развитие языков программирования, реляционных баз данных и информационных технологий кардинально изменило содержание и структуру интереса. Сложилась определенная строгая система представлений. Формализация, точная математика и бинарные отношения стали успешной и, стремительно развивающейся, областью знаний и опыта.

Естественный мир информации не поменял своей динамики и, развивая содержание и структуру, поднялся на новую высоту. Он имеет плавные формы, и в природе нет ничего «прямоугольного» . Информация, безусловно, поддается формализации, но у нее есть динамика, меняются не только данные и алгоритмы их обработки, меняются сами задачи и области их применения.

Информация > формализация >> данные

Информация, превращается в информационная структура, база данных…) так, как это видит программист. Нет никакой гарантии, что это видение правильно, но если его программа решает поставленную задачу, значит данные были представлены возможно надлежащим образом.

Вопрос о том, насколько была правильно формализована информация - вопрос времени. До сих пор понятие динамики (самоадаптации к изменяющимся условиям использования) - только лишь мечта программирования.

Функциональная зависимость: «правильное решение = программа (программист)» и условие: «непрерывное соответствие задаче» действительны в большинстве случаев, но только совместно. Но это не та математическая основа, которая применяется при создании баз данных.

Прямое утверждение: естественная и непрерывная динамика информации и алгоритмов решения задач действительно всегда. А это бинарные отношения + строгая математика + точные формальные конструкции, + ...

и базы данных

Как хранятся данные уже давно неважно: будь то оперативная память или внешнее устройство. Аппаратная составляющая достигла уверенных темпов развития и обеспечивает хорошее качество в больших объемах.

Основные варианты хранения, отличающиеся вариантами использования данных:

  • файлы;
  • базы данных.

Первое отдано на откуп программисту (что записывать, в каком формате, как это делать, как читать…), второе сразу приносит необходимость познания простой функциональной зависимости.

Скорость выборки и записи информации при работе с файлами (разумного размера, а не астрономического) очень быстра, а скорость аналогичных операций с базой данных может порой быть заметно медленной.

Личный опыт и коллективный разум

В истории были попытки выйти за достигнутые пределы, но по сей день властвуют реляционные базы данных. Накоплен большой теоретический потенциал, практика применения обширная, а разработчики - высококвалифицированные.

Понятие функциональной зависимости разработчики баз данных навязывают программисту, даже если тот не намерен использовать богатый математическо-логический опыт построения сложных информационных структур, процессов работы с ними, выборки и записи информации.

Даже в самом простом случае программист зависит от логики базы данных, какую бы он ни выбрал для работы. Нет желания следовать канонам, можно использовать файлы, получится много файлов и много личного опыта. Будет потрачено много личного времени и задача будет решена за длительное время.

Какими бы сложными ни казались примеры функциональной зависимости, вовсе не обязательно погружаться в глубины смысла и логики. Часто следует признать, что коллективный разум сумел создать отличные базы данных, различного размера и функциональности:

  • солидный Oracle;
  • требовательный MS SQL Server;
  • популярный MySQL.

Прекрасные с хорошей репутацией, удобные в использовании, быстрые в умелых руках. Их применение экономит время и избавляет от необходимости писать очередные простыни вспомогательного кода.

Особенности программирования и данных

У программирования с давних пор болезнь что-то постоянно переписывать, повторять труд предшественников, чтобы как-то что-то адаптировать к изменившейся информации, задаче или условиями ее использования.

Особенность функциональной зависимости в том, что, как и в программировании, ошибка может стоить очень дорого. Задача редко бывает простой. Обычно, в ходе формализации информации, получается сложное представление данных. Обычно выделяются их элементы, потом они увязываются ключами в определенные отношения, потом налаживаются алгоритмы формирования таблиц, запросы, алгоритмы выборки информации.

Часто большое значение имеет привязка к кодировке. Не все базы данных предлагают мобильные решения, часто можно столкнуться с тем, как прекрасно настроенный MySQL, на котором лежит десяток баз данных, отлично и стабильно работающий, вынуждает разработчика делать одиннадцатую базу подобной тем, которые уже есть.

Бывают случаи, когда общий хостинг ограничивает функциональность PHP и это накладывает отпечаток на программирование доступа к базе данных.

В современном программировании ответственность за алгоритм программы эквивалентна ответственности за создание модели данных. Все должно работать, но не всегда следует погружаться в дебри теории.

БД: простая зависимость в данных

Прежде всего, понятие БД - это и база данных как система управления (например, MySQL), так и некая информационная структура, отражающая данные задачи и связи между ними. Одна база MySQL «держит» на себе сколько угодно информационных структур по различным сферам применения. Одна база Oracle, может обеспечивать информационные процессы крупной компании или банка, контролировать вопросы безопасности и сохранности данных на высочайшем уровне, располагаясь на множестве компьютеров, находящихся на различном удалении, в различных инструментальных средах.

Принято полагать, что отношение есть основное в реляционной модели. Элементарное отношение - это множество колонок с именами и строк со значениями. Классический «прямоугольник» (таблица) - простое и эффективное достижение прогресса. Сложности и функциональная зависимость базы данных начинаются, когда «прямоугольники» начинают вступать в отношения друг с другом.

Имя каждой колонки в каждой таблице должно быть уникальным в контексте задачи. Одно и то же данное не может быть в двух таблицах. Знать смысл понятий:

  • «определить сущности»;
  • «исключить избыточность»;
  • «зафиксировать взаимосвязи»;
  • «обеспечить достоверность».

Элементарная необходимость для использования базы данных и построения модели данных для конкретной задачи.

Нарушение любого из этих понятий - низкая эффективность алгоритма, медленная выборка данных, потеря данных, и другие неприятности.

Функциональная зависимость: логика и смысл

Можно не читать про кортежи отношений, про то что функция - это соответствие множества аргументов множеству значений, а функция - это не только формула или график, но может быть задана множеством значений - таблицей.

Не обязательно, но вовсе не помешает представлять функциональную зависимость как:

F(x1, x2, …, xN) = (y1, y2, …, yN).

Но обязательно понимать, что на входе - таблица, на выходе тоже таблица или конкретное решение. Обычно функциональная зависимость устанавливает логику отношений между таблицами, запросами, привилегиями, триггерами, хранимыми процедурами и другими моментами (компонентами) базы данных.

Обычно, таблицы преобразуются друг в друга, потом в результат. Но использование функциональной зависимости не ограничивается только такой идеей. Программист сам строит свое представление картины данных, информационной структуры… неважно, как это именовать, но если оно работает на конкретной базе данных, оно должно строиться по ее логике, учитывать ее смысл и диалект используемого языка, как правило, SQL.

Можно утверждать, что свойства функциональных зависимостей базы данных доступны через диалект используемого языка SQL. Но гораздо важнее понимать: после всех перипетий развития, не так много баз данных выжило, но диалектов этого языка много и особенностей внутренних конструкций в базах тоже.

О старом добром Excel

Когда компьютер показал себя с положительной стороны, мир сразу разделился на программистов и пользователей. Как правило, первые используют:

  • PHP, Perl, JavaScript, C++, Delphi.
  • MySQL, Oracle, Visual FoxPro.
  • Word.
  • Excel.

Некоторые пользователи умудряют делать самостоятельно (без помощи программистов) в Word базы данных - реальный нонсенс.

Опыт работы пользователей в Excel по созданию баз данных - практичен и интересен. Важно то, что Excel, сам по себе, функционален, красочен и практичен.

Табличная идея, определила понятие функциональной зависимости наглядно и доступно, но нюансы есть у каждой базы данных. У каждой свое «лицо», но все от Excel до Oracle манипулируют простыми квадратами, то есть таблицами.

Если учесть, что Excel - это совсем не база данных, но многие юзеры (не программисты) его именно так используют, а Oracle - это сложнейшее и мощнейшее достижение большого коллектива разработчиков именно в области баз данных, то становится естественным признать - база данных это представление конкретного программиста (коллектива) о конкретной задаче и ее решении.

Что такое функциональная зависимость, с чем, куда, почему… очевидно только автору или коллективу таковых.

О том, куда реляционные отношения идут

Научно-технический прогресс - весьма мучительная процедура, а местами жестокая. Если вспомнить с чего начинались базы данных, что такое *.dbf, как клеймили кибернетику, потом полюбили информатику и стали устраивать препоны перемещению высоких технологий на уровне стран, становится ясно почему реляционные базы данных так живучи и хороши. Почему классический стиль программирования по сей день живет, а объектно-ориентированное программирование просто ценится, но еще не властвует.

Как бы ни была прекрасна функциональная зависимость в контексте математики:

Это не бинарные отношения, точнее, это повод переосмыслить идею устанавливать отношения между множеством атрибутов, исследовать связи «один к многим», «многие к одному», «многие ко многим» или «многие вообще, а одни в частности».

Вариантов отношений можно придумать великое множество. Это математика с логикой, и она строгая! Информация - это своя математика, особенная. В ней о формальности можно говорить только с очень большим минусом.

Можно формализовать работу отдела кадров, написать АСУ для добычи нефти или производства молока, хлеба, сделать выборку в огромной базе гугла, яндекса или рамблера, но результат будет всегда статичен и каждый момент времени одинаков!

Если функциональная зависимость = строгая логика и математика = основа для баз данных, то о какой динамике можно вести речь. Любое решение будет формальным, любая формальная модель данных + строгий алгоритм = точное и однозначное решение. Информация и область применения любой программы меняются всегда.

Выборка поисковой системы на одной и той же поисковой фразе не может быть одной и той же через час или через два и, однозначно, через день - если поисковая фраза относится к области информации, в которой количество сайтов, ресурсов, знаний, прочих элементов непрерывно меняется.

Даже если программа чисто математическая и ее база данных даже не мыслит о динамике, все всегда есть строки . А у строки есть длинна. И бесконечной она быть не может. Она не может быть даже переменной, только условно-переменной. Помимо всего прочего, любая база данных своим математическим и бинарным-бюрократическим аппаратом накладывает массу формальностей, а это скорость+качество выборки и обработки информации.

А если те или иные поля в базе данных числа, особенно вещественные то в ограничения добавятся: разрядность числа, наличие буквы "е", формата представления - короче везде и всегда имеем важные свойства функциональных зависимостей базы данных: строки условно-переменной длины с массой бинарных формальностей и строгих математических ограничений.

Если сменить тон и прислушаться к пульсу динамики, то все можно расписать на объекты. В первом приближении имя колонки в таблице - это объект, список имен - тоже объект, короче таблица - это объект шапки и в нем имена колонок в шапке. И шапки может вовсе не быть...

Но в таблице могут быть строки. И в строке могут быть значения. И почему их всегда должно быть одинаковое количество. Полная квадратная таблица - это частность, причем в большинстве случаев, частная.

Если представить все конструкции в базе данных объектами, то, быть может, не придется выстраивать строгие бинарные отношения. В этом есть естественный и реальный смысл хотя бы потому, что это по объективной (однозначно не математической) логике отражает динамику информации и среды, в которой существуют задачи.





Предыдущая статья: Следующая статья:

© 2015 .
О сайте | Контакты
| Карта сайта