Чек-лист для .NET программиста: Базы данных SQL и NoSQL

Практически каждое приложение за исключением самых простых нуждается в более надежном хранилище данных, чем оперативная память. В зависимости от специфики разрабатываемого программного обеспечения, программисты выбирают наиболее подходящую СУБД, из которых можно выделить реляционные (MS SQL), документо-ориетированные (MongoDB, CouchDB) и объектно-реляционные (PostgreSQL). Каждый тип СУБД обладает своими сильными и слабыми сторонами. Например, MongoDB отлично масштабируется горизонтально, имеет динамическую схему данных, является кроссплатформенной БД, однако, в отличие от MS SQL, не поддерживает транзакций, триггеров, внешних ключей и является менее развитой с точки зрения безопасности. Как результат некоторые разрабатываемые приложения работают одновременно с несколькими видами баз данных, c целью позаимствовать сильные стороны каждой из них.

Вопросы

  1. Как реализовать отношение «многие ко многим»?
  2. Какое отличие кластерного индекса от не кластерного?
  3. Какое отличие типов CHAR и VARCHAR?
  4. Как работает оператор LEFT JOIN?
  5. Каково предназначение оператора HAVING в T-SQL?
  6. Какие основные отличия хранимых процедур и SQL функций?
  7. Что такое оконные функции?
  8. Что такое каскадное удаление?
  9. Как сохранить древовидную структуру при помощи одной таблицы?
  10. Какие существуют способы денормализации данных в MS SQL?
  11. О чем говорят свойства транзакций ACID?
  12. Какие существуют уровни изоляций транзакций?
  13. Как создать мертвую блокировку в MS SQL?
  14. Какие существуют способы минимизации шансов появление мертвых блокировок?
  15. В чем достоинства и недостатки динамических SQL запросов?
  16. Какое предназначение у функции ROW_NUMBER?
  17. Какую информацию можно получить, проанализировав план выполнения запроса?
  18. О чем говорит теорема CAP?
  19. Какие системы относятся к CP, AP и CA из теоремы CAP?
  20. Почему NoSql системы лучше подходят для горизонтального масштабирования чем SQL?

Книги

Статьи

Ресурсы

  • sql-ex.ru — позволяет практиковать написание SQL запросов, решая задачи

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google photo

Для комментария используется ваша учётная запись Google. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s