Что такое запрос к базе данных? Объяснение запросов SQL и NoSQL

Базы данных имеют решающее значение для создания приложений. Они хранят данные, которые заставляют наши приложения работать так, как должны. запрос к базе данных — это запрос данных базы данных, чтобы мы могли их извлекать или обрабатывать. Но когда нам следует запрашивать базу данных и что именно мы делаем?

В этой статье мы познакомим вас с запросами к базе данных с множеством распространенных применений, включая SQL, NoSQL, MongoDB, PostgreSQL , и больше. Вы узнаете, когда использовать запрос к базе данных, а также познакомитесь с передовыми практиками. Приступим!

В этой статье мы узнаем:

  • Что такое запрос к базе данных ?
  • Что такое запрос по примеру?
  • Языки для запросов к базе данных
  • Запрос с использованием PostgreSQL
  • Запрос с использованием MongoDB
  • Запрос с использованием Mongoose

Изучите фундаментальные концепции баз данных.

Узнайте об основах баз данных, диаграммах отношений, нормализации и SQL.

Основы проектирования баз данных для инженеров-программистов

Что такое запрос к базе данных?

На очень высоком уровне запрос — это вопрос. Когда мы говорим о запросах по отношению к другим людям, мы ожидаем ответного ответа. То же самое и с компьютерами, когда мы выполняем запросы к базе данных.

Запрос к базе данных — это аналогичное действие, которое наиболее тесно связано с некоторой функцией CRUD (создание, чтение, обновление, удаление). Запрос к базе данных — это запрос на доступ к данным из базы данных для управления ими или их извлечения.

Это позволяет нам выполнять логику с информацией, которую мы получаем в ответ на запрос. Существует несколько различных подходов к запросам, от использования строк запроса до написания на языке запросов или использования QBE, такого как GraphQL или REST.

С GraphQL пользователи могут запрашивать и получать только определенные данные, которые они ищут; не больше и не меньше.

Примечание: GraphQL позволяет запрашивать определенные данные, давая клиентам больше контроля над отправляемой информацией.

Это сложнее с альтернативной архитектурой, называемой REST, потому что серверная часть определяет, какие данные доступны для каждого ресурса по URL-адресу.

Параметры запроса

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

Примечание: При использовании параметров запроса по большей части нет необходимости знать или использовать реальный язык запросов..

Что такое запрос по примеру?

Сформулированный компьютерным ученым из IBM в 1970-х годах, запрос по примеру (QBE) представляет собой систему фильтрации или поиска для баз данных, в которых есть не было необходимости использовать язык запросов.

Это делается за вас. График QBE возник одновременно с разработкой языка структурированных запросов (SQL), который мы рассмотрим в следующем разделе.

Скорее всего, существует графический пользовательский интерфейс, который заполняет пользователь. вне. После отправки запрос строится под капотом. Это предотвращает пропуск ошибок ввода, поскольку запрос строится только на основе предоставленной информации, а не на основе заранее созданного запроса, ожидающего конкретной информации.

Давайте рассмотрим пример.

  Название: Парк Юрского периода Директор: Стивен Спилберг Год: Язык: Выпуск:  

Результирующий созданный SQL:

  SELECT * FROM Movies WHERE Title = 'Jurassic Park' AND Director = 'Steven Spielberg';  

Это очень простая выборка типа формы QBE который можно использовать для генерации SQL. Другие формы будут использовать раскрывающиеся списки для добавления других ключевых слов SQL, таких как LIKE , CONTAINS и т. Д.

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

Языки для запросов к базе данных

Язык запросов — это то, что позволяет нам фактически выполнять действия с базами данных. Он позволяет нам создавать, читать, обновлять и удалять элементы в нашей базе данных, а также выполнять более сложные запросы, такие как фильтрация и подсчет.

Язык структурированных запросов (SQL) — самый известный из языков запросов. SQL вырос вместе с системой Query By Example (QBE), разработанной IBM в 1970-х годах. Он служит основой реляционных баз данных.

С помощью SQL мы можем хранить, извлекать и управлять данными с помощью простых фрагментов кода, называемых запросами , в СУБД ( система управления реляционными базами данных).

Данные хранятся в РСУБД в структурированном виде, где существуют отношения между различными сущностями и переменными в данных.

Эти отношения определяются схемой базы данных, которая определяет отношения между различными объектами и организацию данных для объектов.

Цели SQL

Определение данных

  • Создайте базу данных с помощью CREATE DATABASE my_database;
  • Создайте таблицу с помощью:
  CREATE  ТАБЛИЦА my_table (тип данных column1, тип данных column2, тип данных column3, тип данных columnN, PRIMARY KEY (columnName));  
  • Удаление базы данных с помощью DROP БАЗА ДАННЫХ my_database;
  • Отбросьте таблицу с помощью DROP TABLE my_table;

Управление данными

  • Используйте базу данных с ИСПОЛЬЗУЙТЕ my_database;
  • Вставьте данные в базу данных с помощью:
  INSERT INTO my_table (column1, column2, column3, columnN) VALUES (value1, value2, value3, valueN);  
  • Выберите данные с помощью: SELECT column1, column2, columnN FROM my_table;
  • Выберите данные с определенным условием:
  SELECT column1, column2, columnN FROM my_tableWHERE [condition]//используйте LIKE,  СОДЕРЖИТ,  и т. Д. Здесь  
  • Обновить запрос:
  UPDATE my_tableSET  столбец1 = значение1, столбец2 = значение2, столбецN = значениеNWHERE [условие];   
  • Удалить запрос:
  УДАЛИТЬ ИЗ my_tableWHERE [условие];   

Контрольные данные

  • Транзакции:
   COMMIT; ROLLBACK;  

SQL — это основа для создания структурированных запросов для ваших реляционных баз данных. Есть много других «разновидностей» SQL, каждая из которых использует SQL по-своему. Различные версии SQL включают Oracle PL/SQL, PostgreSQL и Microsoft Transact-SQL. На высоком уровне все они очень похожи, но у каждого может быть свой синтаксис для определенных операций.

Продолжайте обучение.

Базы данных Maser и SQL, не просматривая видео или документация. Текстовые курсы Educative просты в использовании и включают среду программирования в реальном времени, что делает обучение быстрым и эффективным.

Основы проектирования баз данных для инженеров-программистов

СУБД с использованием PostgreSQL

  1. Используйте документацию для создания файла, который устанавливает конфигурацию и подключение к Postgres.

  2. Создание таблиц

  3. Выполнить функцию, которая создает ваши таблицы

  4. Создать простой сервер с использованием Express

  5. Запрос GET к образцу API:

  app.get ('/info, (req, res) => {pool.connect ((err, client, done) => {const query =' SELECT * FROM my_table; client.query (query  , (ошибка, результат) => {done (); if (error) {res.status (400) .json ({error})} if (result.rows  

  1. POST-запрос к образцу API:
  app.post ('/info, (req, res) => {const data = {name: req.body.name, age: req.body.age, адрес:  req.body.address, city: req.body.city, состояние: req.body.state,} pool.connect ((err, client, done) => {const query = 'INSERT INTO my_table (name, age, address  , город, штат) ЦЕННОСТИ (1 доллар, 2 доллара, 3 доллара, 4 доллара,  $ 5) ВОЗВРАЩЕНИЕ * ';  значения const = [data.name, data.age, data.address, data.city, data.state];  client.query (запрос, значения, (ошибка, результат) => {done (); if (error) {res.status (400) .json ({error});} res.status (202) .send ({  статус: 'Успешно', результат: result.rows [0],});});  });});  

NoSQL с использованием MongoDB

  1. Используйте документацию для создания файла, который устанавливает конфигурацию и подключение к MongoDB.
  2. Создать схему
  3. Запрос GET к образцу API:

  const client = new MongoClient (uri); асинхронная функция runMongo () {попробуйте {await client.connect (  );  const database = client.db ("my_database");  const collection = database.collection ("фильмы"); //Запрос фильма с названием "Парк Юрского периода" const query = {title: "Парк Юрского периода"};  параметры const = {проекция: {_id: 0, заголовок: 1, imdb: 1},};  const movie = await collection.findOne (запрос, параметры);  console.log (фильм);  } наконец {ожидание client.close ();  }} runMongo (). catch (console.dir);  

  1. POST-запрос к образцу API:
  const client = new MongoClient (uri);  асинхронная функция runMongo () {попробуйте {ждать client.connect ();  база данных const = клиент. db ("my_database");  const collection = database.collection ("фильмы"); //создаем документ для вставки const doc = {title: "Мир юрского периода", imdb: {rating: 4.0, голосов: 32333, id: 241567}};  const result = ожидание collection.insertOne (документ);  console.log (документы `$ {result.insertedCount} были вставлены с _id: $ {result.insertedId}`,);  } наконец {ожидание client.close ();  }} runMongo (). catch (console.dir);  

NoSQL с использованием Mongoose — фреймворк для MongoDB

  1. Используйте документацию для создания файла (ов), который устанавливает конфигурацию и подключение к Mongoose и Express.
  2. Создать схему
  3. Запрос GET к образцу API:

  app.get ('/ info, async (req, res) => {let movies = await collection.find () {if (movies) {res.status (200) .json (movies);} else {res.status (500) .json (  «Фильмы не найдены»);}});  
  1. POST-запрос к образцу API:
  app.post ('/info, async (req, res) => {const {title  , imdb} = req.body;  let movie = новый фильм ({название, imdb});  Movies.save ((err, movie) => {if (movie) {res.status (201) .json (movie);} else {res.status (500) .json («фильмы не опубликованы»);}}  );  

Что узнать дальше

Поздравляем! В этой статье мы рассмотрели различные способы обработки запросов. Реляционные базы данных, базы данных NoSQL, поисковые системы, SQL и QBE — это лишь некоторые из различных способов, с помощью которых вы можете столкнуться с запросами и языком запросов.

Еще многое предстоит узнать, когда дело доходит до баз данных и запрос. Следующее, что вам нужно изучить:

  • Моделирование данных
  • Модели отношений сущностей
  • Функциональные зависимости
  • SQL-операторы
  • и другие

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

Удачного обучения!

Продолжить чтение о базах данных и SQL

  • MongoDB против PostgreSQL: что следует учитывать при выборе базы данных
  • MongoDB против MySQL: какую базу данных использовать
  • Учебное пособие по MySQL: руководство по использованию для новичков MySQL
Оцените статью
nanomode.ru
Добавить комментарий