рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Проблема незафиксированной зависимости.

Проблема незафиксированной зависимости. - Лекция, раздел Образование, Курс лекций В настоящем курсе рассматриваются вопросы организации баз данных и знаний На Рис. 15.8, Рис. 15.9 Приведены В Измененном Виде Примеры, Показанные Ранее...

На рис. 15.8, рис. 15.9 приведены в измененном виде примеры, показанные ранее на рис. 15.3 и рис. 15.4 соответственно. Они демонстрируют чередующееся выполнение операций согласно описанному выше протоколу блокировки. Операция для транзакции A в момент времени t2 (извлечение на рис. 15.8 и обновление на рис. 15.9) не будет выполнена. Дело в том, что она является неявным запросом с заданием блокировки для кортежа р, а этот запрос вступает в конфликт с Х-блокировкой, уже заданной транзакцией B. Таким образом, транзакция A переходит в состояние ожидания до тех пор, пока не будет прекращено выполнение транзакции B (до операции окончания или отмены выполнения транзакции B). Тогда заданная транзакцией B блокировка будет снята и транзакция A может быть выполнена. Причем транзакция A будет иметь дело с некоторым фиксированным значением (либо существовавшим до выполнения транзакции B при отмене ее выполнения, либо полученным после выполнения транзакции B). В любом случае транзакция A больше не зависит от незафиксированного обновления.

 

Транзакция A Время Транзакция B
t1 Обновление кортежа р (задание X-блокировки для p)
Извлечение кортежа р (задание S-блокировки для p) t2
Ожидание t3 Отмена выполнения транзакции (снятие X-блокировки для p)
Итог: Извлечение кортежа р (задание S-блокировки для p) t4  

 

рис. 15.8. Транзакция A предохраняется от выполнения операций с незафиксированным изменением в момент времени t2.

 

Транзакция A Время Транзакция B
t1 Обновление кортежа р (задание X-блокировки для p)
Обновление кортежа р (задание X-блокировки для p) t2
Ожидание t3 Отмена выполнения транзакции (снятие X-блокировки для p)
Итог: Обновление кортежа р (задание X-блокировки для p) t4  

 

рис. 15.9. Транзакция A предохраняется от выполнения операций с незафиксированным изменением в момент времени t2.

 

– Конец работы –

Эта тема принадлежит разделу:

Курс лекций В настоящем курсе рассматриваются вопросы организации баз данных и знаний

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

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

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

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

Представления
  Соответственно трем уровням архитектуры выделяют три уровня абстракции данных в СУБД.   1.4.1 Внешний уровень – внешнее представление

Функции СУБД
  1. Определение данных. СУБД должна допускать определения данных (внешние схемы, концептуальную и внутреннюю схемы, соответствующие отображения). Для этого СУБД включает в себя языко

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

Обзор ранних (дореляционных) СУБД
  Рассмотрим системы, исторически предшествовавшие реляционным, что необходимо для правильного понимания причин повсеместного перехода к реляционным системам. Кроме того, внутренняя о

Манипулирование данными
Поддерживаются два класса операторов: 1. Операторы, устанавливающие адрес записи, среди которых: 1.1. прямые поисковые операторы (например, найти первую запись таблицы по некоторо

Иерархические структуры данных
Иерархическая БД состоит из упорядоченного набора деревьев; более точно, из упорядоченного набора нескольких экземпляров одного типа дерева. Тип дерева (рис. 2.1) состоит из одного "к

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

Представление информации в реляционных БД
  Реляционный подход является наиболее распространенным в настоящее время, хотя наряду с общепризнанными достоинствами обладает и рядом недостатков. К числу достоинств реляционного по

Отношения. Свойства и виды отношений
  Вокруг понятия "отношение" сложилась некоторая двусмысленность из-за отсутствия четкого разграничения между переменными отношений и значениями отношений. Переменная отноше

Свойства отношений
1. В отношении отсутствуют одинаковые кортежи. Это свойство следует из того факта - что тело отношения – это математическое множество (кортежей), а множества в математике по-определению не

Виды отношений
Определим некоторые виды отношений, встречающиеся в реляционных системах. 1. Именованное отношение – это переменная отношения, определенная в СУБД посредством операторов создания отношений

Потенциальные и первичные ключи
  Пусть R – некоторое отношение. Тогда потенциальный ключ, скажем, K для R – это подмножество множества атрибутов R, обладающее следующими свойствами: 1. Свойство уникальност

Внешние ключи
  Пусть R2 – базовое отношение. Тогда внешний ключ – FK в отношении R2 – это подмножество множества атрибутов R2 такое, что: 1. существует базовое отношение R1 (R1 и R2 не об

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

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

Замкнутость в реляционной алгебре
  Результат каждой операции над отношением (или реляционной операции) также является отношением. Это реляционное свойство называется свойством замкнутости. Поскольку результат любой о

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

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

Выборка
Выборка – это сокращенное название Q-выборки, где Q обозначает любой скалярный оператор сравнения (=, ¹, >, ³, ≤, <). Q-выборкой из отношения A по атрибутам Х и Y (в этом поря

Проекция
Проекцией отношения А по атрибутам X, Y,..., Z, где каждый из атрибутов принадлежит отношению А A [ X, Y, …, Z ] называется отношение с заголовком {X, Y,..., Z} и телом, содержащим множест

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

Деление
Пусть отношения А и В имеют заголовки: {X1, X2,..., Xm, Y1, Y2, ..., Yn} и {Y1, Y2, ..., Yn} соответственно, т.е. атрибуты Y1, Y2,..., Yn — общие для двух отношений, и отношение A имеет до

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

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

Функциональные зависимости
Для демонстрации основных идей данного раздела используется несколько измененная версия отношения Students из учебной БД, которое в дополнение к обычным атрибутам StNo, GrNo, StName, CityNo будет с

Замыкание множества зависимостей и правила вывода Армстронга
  Некоторые функциональные зависимости обозначают другие функциональные зависимости. Например, функциональная зависимость: {StNo}®{GrNo, StName} подразумевает следующие ф

Неприводимое множество зависимостей
Пусть S1 и S2 являются двумя множествами ФЗ. Если любая ФЗ, которая является зависимостью множества S1, также является зависимостью множества S2, т.е. если S1+ является подмножеством S2+ то S2 назы

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

Диаграммы функциональных зависимостей
  Некоторое неприводимое множество зависимостей отношения R можно представить в виде диаграммы функциональных зависимостей (диаграммы ФЗ). На рис. 5.5 и рис. 5.6 показаны диа

Первая нормальная форма. Возможные недостатки отношения в 1НФ
  Для простоты изложения предполагается, что каждое отношение имеет в точности один потенциальный ключ, который является первичным ключом. Это допущение подтверждают предлагаемые здес

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

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

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

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

Зависимости соединения
  До сих пор предполагалось, что единственной операцией в процессе декомпозиции является замена данного отношения (при декомпозиции без потерь) двумя его проекциями. Это допущение усп

Зависимости соединения, подразумеваемой потенциальными ключами
Рассмотрим простой пример, в котором дано отношение с данными студентов Students с потенциальным ключом StNo. Такое отношение удовлетворяет нескольким зависимостям соединения, например зависимости

Диаграммы ER-экземпляров и ER-типа
С целью повышения наглядности и удобства проектирования для представления сущностей, экземпляров сущностей и связей между ними используются следующие графические средства: 1. диаграммы ER-

Правила формирования отношений
  Правила формирования отношений основываются на учете следующего: 1. степени связи между сущностями (1:1, 1:М, М:1, М:М); 2. класса принадлежности экземпляров сущно

Методология IDEF1 (самостоятельное изучение)
  Метод IDEF1, разработанный Т. Рэмей (T. Ramey), также основан на подходе П. Чена и позволяет построить модель данных, эквивалентную реляционной модели в третьей нормальной форме. В

История создания и развития SQL
  Язык для взаимодействия с БД SQL появился в середине 70-х и был разработан в рамках проекта экспериментальной реляционной СУБД System R. Исходное название языка SEQUEL (Structered E

Типы данных в SQL
В стандарте ANSI/ISO определены типы данных, которые можно использовать для представления информации в реляционной базе данных. Типы данных, имеющиеся в стандарте SQL1, составляют лишь минимальный

Константы
В стандарте ANSI/ISO определен формат числовых и строковых констант, или литералов, которые представляют конкретные значения данных. Этот формат используется в большинстве реализации SQL.

Предложение SELECT
В предложении SELECT, с которого начинаются все операторы SELECT, необходимо указать элементы данных, которые будут возвращены в результате запроса Эти элементы задаются в виде списка возвращаемых

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

Условия поиска
В SQL используется множество условий поиска, позволяющих эффективно и естественным образом создавать различные типы запросов. Ниже рассматриваются пять основных условий поиска (в стандарте ANSI/ISO

Прочие объединения таблиц по равенству
Огромное множество многотабличных запросов основано на отношениях предок/потомок, но в SQL не требуется, чтобы связанные столбцы представляли собой пару "внешний ключ – первичный ключ". Л

Внутренние объединения в стандарте SQL2
Две объединяемые таблицы соединяются явно посредством операции JOIN, а условие поиска, описывающее объединение, находится теперь в предложении ON внутри предложения FROM В условии поиска, следующем

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

Итоговые запросы на чтение. Агрегатные функции
Для подведения итогов по информации, содержащейся в базе данных, в SQL предусмотрены агрегатные (статистические) функции. Агрегатная функция принимает в качестве аргумента какой-либо столбец данных

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

Вложенные запросы
  Вложенным (или подчиненным) запросом называется запрос, содержащийся в предложении WHERE или HAVING другого оператора SQL. Вложенные запросы позволяют естественным образом обрабатыв

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

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

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

Недостатки представлений
Наряду с перечисленными выше преимуществами, представления обладают и двумя существенными недостатками; 1. Производительность. Представление создает лишь видимость существования соответств

Представления в SQL.
  Оператор CREATE VIEW, синтаксис которого изображен ниже, используется для создания представлений. В нем указываются имя представления и запрос, лежащий в его основе. Для успешного с

Понятие системный каталог
Системным каталогом называется совокупность специальных таблиц базы данных. Их создает, сопровождает и владеет ими сама СУБД. Эти системные таблицы содержат информацию, которая описывает структуру

Содержимое системного каталога
Каждая таблица системного каталога содержит информацию об отдельном структурном элементе базы данных. В состав почти всех коммерческих реляционных СУБД входят, с небольшими различиями, системные та

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

Методы обеспечения безопасности
  В современных СУБД поддерживается один из двух широко распространенных подходов к вопросу обеспечения безопасности данных, а именно избирательный подход или обязательный подход. В о

Избирательное управление доступом
  Избирательное управление доступом поддерживается многими СУБД. Избирательное управление доступом поддерживается в языке SQL. В общем случае система безопасности таких СУБД

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

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

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

Директивы GRANT и REVOKE
  Механизм представлений языка SQL позволяет различными способами разделить базу данных на части таким образом, чтобы некоторая информация была скрыта от пользователей, которые не име

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

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

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

Индексирование
Рассмотрим в качестве примера таблицу с данными о студентах, а также часто используемый и потому очень важный запрос типа "Найти всех студентов учащихся в группе X", где X – некий парамет

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

Структуры типа Б-дерева
  Одним из наиболее важных и распространенных индексов является структура типа Б-дерева (B-tree). Причина необходимости создания структуры типа Б-дерева заключается в желании

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

Оптимизация в реляционных СУБД.
  Для реляционных систем оптимизация является как проблемой, так и возможностью повышения производительности. Проблема оптимизации состоит в том, что некоторые системы для достижения

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

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

Выборки и проекции
1. Последовательность выборок данного отношения может быть преобразована в одну (объединенную операцией AND) выборку этого отношения. Например, выражение (A WHERE выборка_1) WHERE выборка_

Распределительный закон
Говорят, что унарный оператор распределяется по бинарной операции О, если для всех А и В выполняется условие F (А О В) º f (А) О f (В). В реляционной алгебре операция выборки

Коммутативность и ассоциативность
Законы коммутативности и ассоциативности – это еще два общих правила преобразования. Говорят, что бинарная операция О является коммутативной, если для всех А и В истинно равенство А О В &o

Условия
Перейдем к обсуждению условий или выражений, результатами которых могут быть истина или ложь. Предположим, что А и В – атрибуты двух различных отношений, тогда условие А>В AND В>3

Семантические преобразования
Рассмотрим следующее выражение: (Students JOIN Groups) [StName] Данное соединение относится к соединениям типа внешниий-к-согласованному-потенциалъному-ключу. В этом соединении вн

Понятие транзакции
Транзакция – это логическая единица работы. Например. Предположим сначала, что отношение Students (отношение студентов) включает дополнительный атрибут AvgMark, представляющий собой средний балл ст

Восстановление транзакции.
Транзакция начинается с успешного выполнения оператора BEGIN TRANSACTION) и заканчивается успешным выполнением либо оператора COMMIT, либо ROLLBACK. Оператор COMMIT устанавливает так называемую точ

Свойства АСИД.
Из предыдущих разделов следует, что транзакции обладают четырьмя важными свойствами: атомарность, согласованность, изоляция и долговечность (назовем это свойствами АСИД). 1. Атомарность. Т

Алгоритм восстановления после сбоя системы
Система должна быть готова к восстановлению не только после небольших локальных нарушений, таких как невыполнение операции в пределах определенной транзакции, но также и после глобальных нарушений

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

Параллелизм. Проблемы параллелизма
Термин параллелизм означает возможность одновременной обработки в СУБД многих транзакций с доступом к одним и тем же данным, причем в одно и то же время. В такой системе для корректной обработки па

Проблема потери результатов обновления
Рассмотрим ситуацию, показанную на рис. 15.2, в такой интерпретации: транзакция A извлекает некоторый кортеж p в момент времени t1; транзакция B извлекает некоторый кортеж p в момент времени t2; тр

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

Проблема несовместимого анализа
На рис. 15.5 показаны транзакции A и B, которые выполняются для кортежей со счетами (табл. 9.1). При этом транзакция A суммирует балансы, транзакция B производит перевод суммы 10 со счета 3 на счет

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

Проблема потери результатов обновления.
На рис. 15.7 приведена измененная версия процесса, показанного на рис. 15.2, с учетом применения протокола блокировки для чередующихся операций. Операция обновления для транзакции A в момент времен

Проблема несовместимого анализа
На рис. 15.10 приведена измененная версия отношения (рис. 15.5) с перечислением чередующихся транзакций согласно протоколу блокировки. Операция обновления для транзакции B в момент времени t6 не бу

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

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

Предварительные замечания.
Системы дистрибутивных баз данных состоят из набора узлов, связанных вместе коммуникационной сетью, в которой: 1. каждый узел обладает своими собственными системами баз данных; 2.

Независимость от фрагментации
В системе поддерживается фрагментация данных, если некое хранимое отношение в целях физического хранения можно разделить на части, или "фрагменты". Фрагментация желательна для повышения п

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

Серверы баз данных
  Обычно для обозначения всей СУБД, основанной на архитектуре "клиент-сервер", включая и серверную, и клиентскую части используют термин "сервер баз данных". Такие

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

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

Поддержка исторической информации и темпоральных запросов
Обычные БД хранят мгновенный снимок модели предметной области. Любое изменение в момент времени t некоторого объекта приводит к недоступности состояния этого объекта в предыдущий момент времени. Са

Объектно-ориентированные СУБД
  Направление объектно-ориентированных баз данных (ООБД) возникло сравнительно давно. Публикации появлялись уже в середине 1980-х. Однако наиболее активно это направление развивается

Модель данных ООБД
В соответствии со стандартом ODMG 2.0 объектная модель Базовыми примитивами являются объекты и литералы. Каждый объект имеет уникальный идентификатор, литерал не имеет идентификатора.

Новые типы данных
Одним из принципиальных отличий объектных баз данных от реляционных является возможность создания и использования новых типов данных. Концептуально объект характеризуется поведением и состоянием. О

Язык СУБД и запросы
Общепризнанны две группы вариантов языков запросов. Первая объединяет языки, унаследованные от SQL и представляют собой разновидность OQL (Object Query Language), языка, стандартизованного ODMG. Хо

Транзакции в ООСУБД
В соответствии со стандартом ODMG 2.0 транзакции представляют логический блок, гарантирующий атомарность (atomicity), целостность (consistency), изолированность (isolation) и долговечность (durabil

Ведение версий
В "Манифесте объектно-ориентированных баз данных", поддержка множественных версий объектов отнесена к необязательным характеристикам ООСУБД. Однако большинство современных коммерческих ОО

Физические хранилища
Один из ключевых моментов функционирования любой СУБД — хранилище данных. Обычно база данных объединяет несколько хранилищ, каждое из которых ассоциируется с одним или несколькими файлами. Хранятся

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги