18. Бази данни с Mongo

Бази данни: кратка история

Видове схеми (schema)

Схема - структурата на една база данни.

Фиксирана схема

Видове схеми 2

Динамична схема

Защо да бягаме от релационните бази данни?

Безумно сложни са!

Нормализация

JOIN

Key-value Stores

Изпълняват две операции

Стойностите са непрозрачни, може да се търси само по ключ.

         >>> import shelve
         >>> s = shelve.open("mydb.db")
         >>> s['hello'] = True
         >>> s['goodbye'] = 'Bob'
         >>> s.close()
    

dbm е по-гъвкава алтернатива на shelve

Документни бази данни

Влиза Mongo

Как се казват нещата в Mongo

Операции

Ключове и стойности

ObjectId

Уникален идентификатор за всеки запис

Код

         pip install pymongo
    
        import pymongo
        mongo = pymongo.Connection('localhost')
        db = mongo['myapp']
        users = db['users']
        users.insert({'_id': 'bob', 'firstname': 'Bob', 'lastname': 'Red', 'phones': ['0888112233', '0899334455']})
        user.find_one('_id': 'bob')
    

Библиотека

Ключове

Как да си изберем ID (primary key)?

Книги

Книгата има следните полета

Автори

Ъпдейти

Търсения

         books.find({'title': '1984'}).sort({'year_of_publishing': 1})
    

Сложни търсения

Индексиране

Още въпроси?