Jump to content

SQLite

(Перенаправлено с SQLite3 )
SQLite
Разработчик(и) Д. Ричард Хипп
Первоначальный выпуск 17 августа 2000 г .;
23 года назад
( 17 августа 2000 г. )
Стабильная версия 3.46.0 [1]  Отредактируйте это в Викиданных (23 мая 2024 г .; 2 месяца назад ( 23 мая 2024 г. ) ) [±]
Репозиторий
Написано в С
Операционная система Кросс-платформенный
Размер 699 КиБ
Тип СУБД ( встроенная )
Лицензия Общественное достояние [2]
Веб-сайт Склайт .org Отредактируйте это в Викиданных
Формат файла базы данных SQLite
Расширение имени файла
.sqlite, .sqlite3, .db, .db3, .s3db, .sl3
Тип интернет-СМИ application/vnd.sqlite3[3]
Магическое число 53 51 4c 69 74 65 20 66 6f 72 6d 61 74 20 33 00 с нулевым завершением ( код ASCII «SQLite формат 3»)
Первоначальный выпуск 2004-06-18
Открытый формат ? да ( общественное достояние )
Веб-сайт www .sqlite .org /fileformat2 .html

SQLite ( / ˌ ɛ s ˌ k juː ˌ ɛ l ˈ t / , [4] [5] / ˈsiːkwəˌlaɪt kwəˌlt/ [6] ) — это ядро ​​базы данных , написанное на языке программирования C. Это не отдельное приложение; скорее, это библиотека , которую разработчики программного обеспечения встраивают в свои приложения . Таким образом, она принадлежит к семейству встроенных баз данных . Это наиболее широко распространенный механизм базы данных, поскольку он используется в нескольких ведущих веб-браузерах , операционных системах , мобильных телефонах и других встроенных системах . [7]

Многие языки программирования имеют привязки к библиотеке SQLite. Обычно он соответствует синтаксису PostgreSQL не обеспечивает проверку типов . , но по умолчанию [8] [9] Это означает, что можно, например, вставить строку в столбец, определенный как целое число.

Д. Ричард Хипп разработал SQLite весной 2000 года, когда работал в компании General Dynamics по контракту с ВМС США . [10] Хипп разрабатывал программное обеспечение, используемое для системы борьбы с повреждениями на борту эсминцев с управляемыми ракетами ; Система контроля повреждений первоначально использовала HP-UX с IBM Informix базой данных серверной . SQLite начинался как расширение Tcl . [11]

В августе 2000 года была выпущена версия 1.0 SQLite с хранилищем на основе gdbm (GNU Database Manager). В сентябре 2001 года SQLite 2.0 заменил gdbm собственной реализацией B-дерева , добавив возможности транзакций . В июне 2004 года в SQLite 3.0 были добавлены интернационализация , типизация манифестов и другие важные улучшения, частично финансируемые America Online . В 2011 году Хипп объявил о своих планах добавить в SQLite интерфейс NoSQL , а также анонсировать UnQL — функциональную надстройку SQL , предназначенную для документно-ориентированных баз данных . [12] В 2018 году SQLite принял Кодекс поведения, основанный на Правиле Святого Бенедикта , который вызвал некоторые споры и позже был переименован в Кодекс этики. [13]

SQLite — один из четырех форматов, рекомендуемых для долгосрочного хранения наборов данных , одобренных для использования Библиотекой Конгресса . [14] [15] [16]

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

Благодаря бессерверной конструкции приложения SQLite требуют меньше настройки, чем базы данных клиент-сервер. SQLite называется нулевым разрешением [17] поскольку он не требует управления службами (например, сценариев запуска) или контроля доступа на основе GRANT и паролей. Управление доступом осуществляется посредством разрешений файловой системы, предоставленных самому файлу базы данных. Базы данных в системах клиент-сервер используют разрешения файловой системы , которые предоставляют доступ к файлам базы данных только процессу- демону , который обрабатывает свои блокировки внутри себя, позволяя одновременную запись из нескольких процессов.

SQLite хранит всю базу данных (определения, таблицы , индексы и сами данные) как один кроссплатформенный файл на хост-компьютере, что позволяет нескольким процессам или потокам одновременно получать доступ к одной и той же базе данных. Он реализует эту простую конструкцию, блокируя файл базы данных во время записи. Доступ на запись может завершиться неудачно с кодом ошибки , или его можно повторять до истечения настраиваемого тайм-аута. Операции чтения SQLite могут быть многозадачными , однако из-за бессерверной конструкции запись может выполняться только последовательно. Это ограничение одновременного доступа не применяется к временным таблицам, и оно смягчено в версии 3.7, поскольку ведение журнала с упреждающей записью (WAL) позволяет одновременное чтение и запись. [18] Поскольку SQLite должен полагаться на блокировки файловой системы, он не является предпочтительным выбором для развертываний с интенсивным объемом записи. [19]

SQLite использует PostgreSQL в качестве эталонной платформы. «Что бы делал PostgreSQL» используется для понимания стандарта SQL. [20] [21] Одним из основных отклонений является то, что, за исключением первичных ключей , SQLite не обеспечивает проверку типов ; тип значения является динамическим и не ограничен строго схемой ( хотя схема инициирует преобразование при сохранении, если такое преобразование потенциально обратимо). SQLite стремится следовать правилу Постела . [22]

SQLite реализует большую часть стандарта SQL-92 для SQL, но в нем отсутствуют некоторые функции. Например, он лишь частично предоставляет триггеры и не может писать в представления (однако он предоставляет триггеры INSTEAD OF, которые предоставляют эту функциональность). Поддержка операторов ALTER TABLE ограничена. [23]

SQLite использует необычную систему типов для SQL-совместимых СУБД: вместо присвоения типа столбцу, как в большинстве систем баз данных SQL, типы присваиваются отдельным значениям; в терминах языка он динамически типизирован . Более того, он слабо типизирован во многом так же, как и Perl : можно вставить строку в целочисленный столбец (хотя SQLite сначала попытается преобразовать строку в целое число, если предпочтительный тип столбца — целое число). Это добавляет столбцам гибкости, особенно при привязке к динамически типизированному языку сценариев. Однако этот метод не переносится на другие продукты SQL. Распространенной критикой является то, что в системе типов SQLite отсутствует механизм целостности данных , обеспечиваемый статически типизированными столбцами, хотя его можно эмулировать с помощью таких ограничений, как CHECK(typeof(x)='integer'). [10] Строгие таблицы были добавлены в версии 3.37.1. [22]

Таблицы обычно содержат скрытый столбец индекса rowid , который обеспечивает более быстрый доступ. [24] Если база данных содержит столбец целочисленного первичного ключа, SQLite обычно оптимизирует его, рассматривая его как псевдоним для rowid , в результате чего содержимое сохраняется как строго типизированное 64-битное целое число со знаком и изменяется его поведение, чтобы оно было чем-то вроде автоматического увеличивающийся столбец. Будущее [ когда? ] версии SQLite могут включать команду для проверки того, имеет ли столбец поведение, подобное поведению rowid, чтобы отличать эти столбцы от слабо типизированных, неавтоинкрементных целочисленных первичных ключей. [25] [ не удалось пройти проверку ]

В версии 3.6.19, выпущенной 14 октября 2009 г., добавлена ​​поддержка ограничений внешнего ключа. [26] [27]

Хранимые процедуры не поддерживаются; это явный выбор разработчиков в пользу простоты, поскольку типичный вариант использования SQLite — это встраивание в хост-приложение, которое может определять свои собственные процедуры для базы данных. [28]

Полную поддержку преобразования регистра Юникода можно включить с помощью дополнительного расширения. [29]

В SQLite версии 3.7.4 впервые был добавлен модуль FTS4 ( полнотекстовый поиск ), который имеет улучшения по сравнению со старым модулем FTS3. [30] FTS4 позволяет пользователям выполнять полнотекстовый поиск в документах аналогично тому, как поисковые системы ищут веб-страницы. [31] В версии 3.8.2 добавлена ​​поддержка создания таблиц без rowid , [32] что может обеспечить улучшение пространства и производительности. [33] Поддержка общих табличных выражений была добавлена ​​в SQLite в версии 3.8.3. [34] В 3.8.11 добавлен новый модуль поиска под названием FTS5, более радикальные (по сравнению с FTS4) изменения, требующие обновления версии.

В 2015 году с расширением json1 [35] и новые интерфейсы подтипов, в SQLite версии 3.9 представлено управление содержимым JSON .

Начиная с версии 3.33.0, максимальный поддерживаемый размер базы данных составляет 281 ТБ . [36]

Разработка и распространение

[ редактировать ]

Код SQLite размещается в Fossil , распределенной системе контроля версий , которая использует SQLite в качестве локального кэша для своего формата нереляционной базы данных, а SQLite SQLite — в качестве языка реализации. [37] [38]

SQLite является общественным достоянием , но не является «открытым вкладом», поскольку на веб-сайте указано, что «проект не принимает исправления от людей, которые не предоставили письменное показание, подтверждающее, что их вклад в общественное достояние». [39] Вместо кодекса поведения основатели приняли кодекс этики, основанный на Правиле св. Бенедикта . [40]

Автономная программа командной строки под названием sqlite3. [41] включен в дистрибутив SQLite. Его можно использовать для создания базы данных, определения таблиц, вставки и изменения строк, выполнения запросов и управления файлом базы данных SQLite. Он также служит примером написания приложений, использующих библиотеку SQLite.

SQLite использует автоматическое регрессионное тестирование перед каждым выпуском. Более 2 миллионов тестов [42] запускаются как часть проверки выпуска. Начиная с выпуска SQLite 3.6.17 от 10 августа 2009 г., выпуски SQLite имеют 100%-ное покрытие ветвящимися тестами, что является одним из компонентов покрытия кода . Тесты и средства тестирования частично являются общедоступными, а частично — собственностью . [42]

Известные применения

[ редактировать ]

Операционные системы

[ редактировать ]

SQLite включен по умолчанию в: [11]

Промежуточное ПО

[ редактировать ]
  • Адаптер ADO.NET , первоначально разработанный Робертом Симпсоном, поддерживается совместно с разработчиками SQLite с апреля 2010 года. [44]
  • Драйвер ODBC был разработан и поддерживается отдельно Кристианом Вернером. [45] Драйвер ODBC Вернера — рекомендуемый метод подключения для доступа к SQLite из OpenOffice.org . [46]
  • Оболочка COM ( ActiveX ), делающая SQLite доступным в Windows для языков сценариев, таких как JScript и VBScript . Это добавляет возможности базы данных SQLite в HTML-приложения (HTA). [47]

Веб-браузеры

[ редактировать ]
  • Браузеры Google Chrome , Opera , Safari и браузер Android позволяют хранить информацию и извлекать ее из базы данных SQLite внутри браузера, используя официальную сборку SQLite Wasm ( WebAssembly ), [48] или использование технологии базы данных Web SQL , хотя последняя становится устаревшей (а именно, заменяется SQLite Wasm или IndexedDB ). Внутри эти браузеры на базе Chromium используют базы данных SQLite для хранения данных конфигурации, таких как история посещений сайта, файлы cookie, история загрузок и т. д. [49]
  • Mozilla Firefox и Mozilla Thunderbird хранят различные данные конфигурации (закладки, файлы cookie, контакты и т. д.) в базах данных SQLite, управляемых изнутри. До версии Firefox 57 ( «Firefox Quantum» ) существовало стороннее дополнение, которое использовало API, поддерживающий эту функциональность, для предоставления пользовательского интерфейса для управления произвольными базами данных SQLite. [50]
  • Некоторые сторонние надстройки могут использовать API-интерфейсы JavaScript для управления базами данных SQLite. [51] [52]

Фреймворки веб-приложений

[ редактировать ]

См. также

[ редактировать ]
  1. ^ «Выпуск SQLite 3.46.0 от 23 мая 2024 г.» . 23 мая 2024 г. Проверено 23 мая 2024 г.
  2. ^ «Авторское право SQLite» . sqlite.org. Архивировано из оригинала 10 октября 2023 года . Проверено 17 мая 2010 г.
  3. ^ «Тип носителя формата файла базы данных SQLite в IANA» . Управление по присвоению номеров в Интернете . ИАНА . Архивировано из оригинала 09.11.2022 . Проверено 08 марта 2019 г.
  4. ^ «Почему SQLite преуспел как база данных — Ричард Хипп, создатель SQLite» . Журнал изменений . Эпизод 201. Событие происходит в 00:17:25. Архивировано из оригинала 7 июля 2022 г. Проверено 6 августа 2019 г. Как произнести название продукта? Я говорю SQL-ite, как минерал.
  5. ^ Д. Ричард Хипп (ведущий) (31 мая 2006 г.). Введение в SQLite (видео) . Событие Google Inc. происходит в 00:01:14 . Проверено 23 марта 2010 г. [...] эсс-кью-эллит [...]
  6. ^ Д. Ричард Хипп (ведущий) (31 мая 2006 г.). Введение в SQLite . Событие Google Inc. происходит в 00:48:15 . Проверено 23 марта 2010 г. [...] продолжение [...]
  7. ^ «Оценки наиболее широко используемых баз данных SQL» . SQLite.org . Проверено 11 мая 2011 г.
  8. ^ Оуэнс, Майкл (2006). «Глава 4: SQL». В Гилморе, Джейсон; Томас, Кейр (ред.). Полное руководство по SQLite . Д. Ричард Хипп (предисловие), Престон Хагар (технический обозреватель). Апресс . п. 133. ИСБН  978-1-59059-673-9 . Архивировано из оригинала 24 ноября 2020 года . Проверено 30 декабря 2014 г.
  9. ^ «СТРОГИЕ Таблицы» . Архивировано из оригинала 07 августа 2022 г. Проверено 11 августа 2022 г.
  10. ^ Jump up to: а б Оуэнс, Майкл (2006). Полное руководство по SQLite . Апресс . дои : 10.1007/978-1-4302-0172-4_1 . ISBN  978-1-59059-673-9 .
  11. ^ Jump up to: а б с «Известные пользователи SQLite» . SQLite. Архивировано из оригинала 11 июля 2015 года . Проверено 5 августа 2015 г.
  12. ^ «Интервью: Ричард Хипп об UnQL, новом языке запросов для баз данных документов» . ИнфоВ. 4 августа 2011 года. Архивировано из оригинала 8 апреля 2014 года . Проверено 5 октября 2011 г.
  13. ^ Маккарти, Кирен. «Создатель SQLite распят после того, как кодекс поведения предостерегает разработчиков любить Бога, а не убивать, прелюбодействовать, воровать, проклинать…» www.theregister.com . Архивировано из оригинала 17 ноября 2022 г. Проверено 17 ноября 2022 г.
  14. ^ «Рекомендуемый LoC формат хранения» . www.sqlite.org . Архивировано из оригинала 23 апреля 2020 г. Проверено 9 апреля 2020 г.
  15. ^ «SQLite, версия 3» . www.loc.gov . 28 марта 2017 г. Архивировано из оригинала 11 мая 2020 г. Проверено 9 апреля 2020 г.
  16. ^ «Заявление о рекомендуемых форматах – наборы данных/базы данных» . Библиотека Конгресса. Архивировано из оригинала 22 августа 2018 г. Проверено 9 апреля 2020 г.
  17. ^ «SQLite — это база данных с нулевой конфигурацией» . SQLite.org. Архивировано из оригинала 2 мая 2024 года . Проверено 3 августа 2015 г.
  18. ^ «Журнал упреждающей записи в SQLite 3.7» . SQLite.org. Архивировано из оригинала 2 мая 2024 года . Проверено 3 сентября 2011 г. WAL обеспечивает больший параллелизм, поскольку читатели не блокируют писателей, а писатели не блокируют читателей. Чтение и запись могут происходить одновременно.
  19. ^ «Подходящее использование SQLite» . SQLite.org. Архивировано из оригинала 2 мая 2024 г. Проверено 3 сентября 2015 г.
  20. ^ «PGCon 2014: Кластеризация и ВОДКА» . Lwn.net . Архивировано из оригинала 29 июня 2015 г. Проверено 6 января 2017 г.
  21. ^ «PGCon2014: SQLite: протеже PostgreSQL» . Pgcon.org . 20 сентября 2015 г. Архивировано из оригинала 30 декабря 2014 г. Проверено 6 января 2017 г.
  22. ^ Jump up to: а б «SQLite: Строгий режим» . Sqlite.org . Архивировано из оригинала 4 марта 2016 года . Проверено 3 сентября 2015 г.
  23. ^ «История выпусков SQLite» . Архивировано из оригинала 16 марта 2021 г. Проверено 22 марта 2021 г.
  24. ^ «SQL в понимании SQLite» . SQLite . Архивировано из оригинала 21 мая 2018 года . Проверено 21 мая 2018 г. Поиск записи с определенным идентификатором строки или всех записей с идентификаторами строк в указанном диапазоне происходит примерно в два раза быстрее, чем аналогичный поиск, выполняемый с указанием любого другого ПЕРВИЧНОГО КЛЮЧА или индексированного значения.
  25. ^ «SQLite: регистрация [2494132a]» . www.sqlite.org . 28.11.2017. Архивировано из оригинала 21 мая 2018 г. Проверено 21 мая 2018 г. Добавьте команду PRAGMA table_ipk(TABLE) для целей оценки.
  26. ^ Карвин, Билл (май 2010 г.). Картер, Жаклин (ред.). Антипаттерны SQL: как избежать ошибок при программировании баз данных . Прагматичная книжная полка. п. 70. ИСБН  978-1-934356-55-5 . Иногда вам приходится использовать бренд базы данных, который не поддерживает ограничения внешнего ключа (например, механизм хранения MySQL MyISAM или SQLite до версии 3.6.19).
  27. ^ «Выпуск SQLite 3.6.19 от 14 октября 2009 г.» . sqlite.org . Архивировано из оригинала 29 октября 2020 г. Проверено 15 октября 2020 г.
  28. ^ Источник: комментарии разработчиков на форуме SQLite. Архивировано 1 апреля 2023 г. на Wayback Machine.
  29. ^ «Сопоставление символов Юникода без учета регистра не работает» . Часто задаваемые вопросы по SQLite . Архивировано из оригинала 5 сентября 2015 г. Проверено 3 сентября 2015 г.
  30. ^ «Выпуск SQLite 3.7.4 от 08 декабря 2010 г.» . SQLite.org. 8 декабря 2010. Архивировано из оригинала 16 сентября 2015 года . Проверено 3 сентября 2015 г.
  31. ^ «Расширения SQLite FTS3 и FTS4» . SQLite.org. Архивировано из оригинала 5 сентября 2015 года . Проверено 3 сентября 2015 г.
  32. ^ «Выпуск SQLite 3.8.2 от 06 декабря 2013 г.» . SQLite.org. 6 декабря 2013. Архивировано из оригинала 24 сентября 2015 года . Проверено 3 сентября 2015 г.
  33. ^ «Оптимизация БЕЗ ROWID» . SQLite.org. Архивировано из оригинала 5 сентября 2015 года . Проверено 3 сентября 2015 г.
  34. ^ «Выпуск SQLite 3.8.3 от 3 февраля 2014 г.» . SQLite.org. 3 февраля 2014. Архивировано из оригинала 5 сентября 2015 года . Проверено 3 сентября 2015 г.
  35. ^ «Расширение JSON1» . SQLite.org . Архивировано из оригинала 14 сентября 2017 г. Проверено 14 сентября 2017 г.
  36. ^ «Ограничения в SQLite» . SQLite.org . Архивировано из оригинала 07.11.2021 . Проверено 19 сентября 2022 г.
  37. ^ «Мысли о конструкции ископаемых DVCS» . Fossil-scm.org. 12 июля 2017 года. Архивировано из оригинала 13 октября 2022 года . Проверено 14 октября 2022 г.
  38. ^ «Ископаемое: Представление окаменелостей» . Fossil-scm.org. 23 августа 2009 года. Архивировано из оригинала 9 октября 2009 года . Проверено 12 сентября 2009 г.
  39. ^ «Авторское право SQLite» . sqlite.org . Архивировано из оригинала 15 марта 2024 г. Проверено 6 марта 2024 г.
  40. ^ «Кодекс этики» . sqlite.org . Архивировано из оригинала 19 февраля 2024 г. Проверено 6 марта 2024 г.
  41. ^ «Оболочка командной строки для SQLite» . Sqlite.org. Архивировано из оригинала 6 октября 2022 года . Проверено 14 октября 2022 г.
  42. ^ Jump up to: а б «Как тестируется SQLite» . SQLite.org. Архивировано из оригинала 6 октября 2009 года . Проверено 12 сентября 2009 г.
  43. ^ «Использовать версию SQLite, установленную вместе с Windows» . 20 октября 2022 года. Архивировано из оригинала 31 марта 2022 года . Проверено 31 марта 2022 г.
  44. ^ "Дом" . Система.Данные.SQLite . 30 декабря 2016 г. Архивировано из оригинала 13 июля 2014 г. Проверено 6 января 2017 г.
  45. ^ «Драйвер SQLite ODBC» . Ch-werner.de . 01.12.2016. Архивировано из оригинала 26 июня 2014 г. Проверено 6 января 2017 г.
  46. ^ «Использование базы данных SQLite с OpenOffice.org: версия 2.0» (PDF) . Документация.openoffice.org . Архивировано (PDF) из оригинала 28 сентября 2011 г. Проверено 6 января 2017 г.
  47. ^ «sqlite — оболочки Sqlite» . SQLite.org. 7 февраля 2009 года. Архивировано из оригинала 5 февраля 2009 года . Проверено 7 февраля 2009 г.
  48. ^ «Указатель документации sqlite3 WebAssembly и JavaScript» . SQLite . Архивировано из оригинала 2 мая 2024 г. Проверено 8 мая 2023 г.
  49. ^ «Местоположение истории Google Chrome» . www.foxtonforensics.com . 06.10.2020. Архивировано из оригинала 28 февраля 2023 г. Проверено 6 октября 2020 г.
  50. ^ «SQLite Manager::Дополнения для Firefox» . Addons.mozilla.org . 28 февраля 2015 г. Архивировано из оригинала 02 января 2017 г. Проверено 6 января 2017 г.
  51. ^ «SQLite Manager – получите это расширение для 🦊 Firefox (en-US)» . Addons.mozilla.org . 24 июля 2018 г. Архивировано из оригинала 05 октября 2018 г. Проверено 5 октября 2018 г.
  52. ^ «SQLite Reader – получите это расширение для 🦊 Firefox (en-US)» . Addons.mozilla.org . 01.09.2018. Архивировано из оригинала 05 октября 2018 г. Проверено 5 октября 2018 г.
  53. ^ «Использую SQL, чтобы найти мою лучшую фотографию пеликана по версии Apple Photo» . Блог Саймона Уиллисона . Архивировано из оригинала 22 мая 2020 года . Проверено 23 мая 2020 г.
  54. ^ «Выпущена Audacity 3.0.0» . 17 марта 2021 года. Архивировано из оригинала 14 августа 2023 года . Проверено 17 марта 2021 г.
  55. ^ Хинегарднер, Джереми (28 августа 2007 г.). «Клиент Skype, использующий SQLite?» . sqlite-пользователи (список рассылки). Архивировано из оригинала 17 ноября 2007 г. Проверено 14 июня 2010 г.

Источники

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 0fce85cd8caf5b5f88f5aa03ed9a008a__1714673220
URL1:https://arc.ask3.ru/arc/aa/0f/8a/0fce85cd8caf5b5f88f5aa03ed9a008a.html
Заголовок, (Title) документа по адресу, URL1:
SQLite - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)