Базы данных. Отличие реляционных от нереляционных. SQL запросы. Flashcards
(3 cards)
1
Q
Несколько типов NoSQL базы данных
A
- Ключ-значение (Redis, Memcached, Amazon DynamoDB). Базу данных этого типа можно представить в виде таблицы, в каждой ячейке которой хранятся значения произвольного типа. Главное преимущество таких баз — поиск по ключу и быстрое получение данных. Обычно используются для кэшей объектов.
- Документо-ориентированные (MongoDB, CouchDB, Amazon DocumentDB). Похожи на БД типа ключ-значение, но единица хранения — «документ»; в документ можно записать любой набор данных. Такие базы часто используются для хранения информации о товарах с разнородными характеристиками.
- Столбцовые (или колоночные) (BigTable, HyperTable, Apache HBase, Apache Cassandra). В таких БД данные хранятся не в строчках, а в столбцах. Это позволяет выполнять быстрый поиск по базе. Область применения — большой объём данных, аналитика.
- Графовые (neo4j, AllegroGraph, ActiveRDF). Информация в таких БД представлена в виде узлов и отношений между узлами. Графовые БД позволяют эффективно работать с большими объёмами связанных данных; используются, например, для создания соцсетей.
2
Q
Резидентная база данных
A
- Базу данных можно создать не в файле, а в памяти компьютера; такие базы называют резидентными.
- Резидентная база создаётся так:
con = sqlite3.connect(‘:memory:’) - После закрытия соединения резидентная база данных удаляется из памяти. Такие базы могут быть полезны для отладки и тестирования кода.
3
Q
Композитный первичный ключ
A
- Первичные ключи, состоящие из значений нескольких полей, называют композитными первичными ключами.
- Другим примером композитного первичного ключа может быть пара «серия-номер» паспорта. Ни серия, ни номер не обязаны быть уникальны, но в паре эти значения составляют уникальный идентификатор, определяющий документ и его владельца.