Комитет W3C опубликовал черновик API для создания индексируемых БД в браузере

Материал из Викиновостей, свободного источника новостей

9 января 2010 года

В дополнение к ранее опубликованной спецификации WebSimpleDB API, определяющей возможность использования в web-приложениях API для доступа к интегрированной в web-браузер БД, работающей в режиме ключ/значение, комитет W3C представил черновой вариант стандарта IndexedDB API. Главное отличие новой спецификации - реализация возможности упорядоченной выборки данных, если в WebSimpleDB API можно было получить только заданные определенными ключами значения, то в IndexedDB API появилась возможность совершения операций по запросу ключей из базы, отсортированных в определенном порядке.

Кроме того, в IndexedDB API добавлены средства для гибкого поиска значений по маскам и диапазонам, реализована поддержка хранения нескольких значений, привязанных к одному ключу, включая возможность присвоения одному ключу одинаковых дублирующихся значений. Для организации работы индексов могут использоваться структуры данных, формируемые с использованием алгоритма B-tree. Индексы могут создаваться и удаляться для существующих хранилищ объектов в произвольном порядке, в зависимости от желания разработчика.

API предусматривает два метода совершения выборки: синхронный (с ожиданием завершения выборки и поддержкой курсоров) и асинхронный (после выполнения запроса работа скрипта сразу продолжается, после завершения выборки вызывается callback-функция).

Пример скрипта, поясняющего основную суть нового API:


// Открываем БД
var db = indexedDB.open('AddressBook', 'Address Book');
if (db.version === '1') {
// Если БД версии без поддержки индексации, создаем индекс и преобразуем в новый формат.
var olddb = indexedDB.open('AddressBook', 'Address Book');
olddb.createObjectStore('Contact', 'id', true);
olddb.createIndex('ContactName', 'Contact', 'name', false);
olddb.setVersion('2');
}

// Пример сохранения данных.
var store = db.openObjectStore('Contact');
var lincoln = {name: 'Lincoln', number: '7012'};
var contact = store.put(lincoln);

// Пример выборки из индекса.
var index = db.openIndex('ContactName');
var id = index.get('Lincoln');
if (id)
report(id.name);
else
report(null);

// пример выборки по диапазону значний.
var range = new KeyRange.bound('L', 'M'); //выборка значений с первыми буквами от L до M
var cursor = index.openCursor(range);
cursor.continue();

Источники[править]


Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «Комитет W3C опубликовал черновик API для создания индексируемых БД в браузере», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.