Ключи sql

Управление ключами SQL Server и базы данныхManaging SQL Server and Database Keys

Управление ключами шифрования заключается в создании новых ключей базы данных, создании резервной копии ключей сервера и базы данных и знании порядка восстановления, удаления и смены ключей.Managing encryption keys consists of creating new database keys, creating a backup of the server and database keys, and knowing when and how to restore, delete, or change the keys.

Чтобы управлять симметричными ключами, можно использовать средства, входящие в SQL ServerSQL Server , для выполнения следующих действий:To manage symmetric keys, you can use the tools included in SQL ServerSQL Server to do the following:

  • Резервное копирование копии ключа сервера и базы данных, чтобы использовать их при восстановлении установки сервера или в ходе запланированного переноса.Back up a copy of the server and database keys so that you can use them to recover a server installation, or as part of a planned migration.

  • Восстановление ранее сохраненного ключа в базе данных.Restore a previously saved key to a database. Это позволяет новому экземпляру сервера обращаться к существующим данным, которые первоначально шифровались не им.This enables a new server instance to access existing data that it did not originally encrypt.

  • Удаление зашифрованных данных из базы данных в маловероятной ситуации, когда не удается обратиться к зашифрованным данным.Delete the encrypted data in a database in the unlikely event that you can no longer access encrypted data.

  • Повторное создание ключей и повторное шифрование данных в маловероятной ситуации, когда ключ становится известен посторонним.Re-create keys and re-encrypt data in the unlikely event that the key is compromised. Для повышения безопасности следует периодически повторно создавать ключи (например, раз в несколько месяцев) для защиты сервера от атак с целью расшифровки ключа.As a security best practice, you should re-create the keys periodically (for example, every few months) to protect the server from attacks that try to decipher the keys.

  • Добавление или удаление экземпляра сервера из масштабного развертывания, когда несколько серверов используют одну базу данных и ключ, допускающий обратимое шифрование для этой базы данных.Add or remove a server instance from a server scale-out deployment where multiple servers share both a single database and the key that provides reversible encryption for that database.

Отношение один к одному

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

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

 
CREATE TABLE Names
(
 idName uniqueidentifier DEFAULT NEWID(), 
 vcName varchar(50),
 CONSTRAINT PK_guid PRIMARY KEY (idName)
)

CREATE TABLE Phones
(
 idPhone uniqueidentifier DEFAULT NEWID(),
 vcPhone varchar(10), 
 CONSTRAINT PK_idPhone PRIMARY KEY (idPhone),
 CONSTRAINT FK_idPhone FOREIGN KEY (idPhone)
   REFERENCES Names (idName)
)

Внешний ключ нужен только у одной из таблиц. Так как связь идет один к одному, то не имеет значения, в какой таблице создать его.

Руководство по проектированию реляционных баз данных (7-9 часть из 15) [перевод]

Перевод

Продолжение.
Предыдущие части: 1-3, 4-6

7. Связь один-ко-многим.

Я уже показал вам как данные из разных таблиц могут быть связаны при помощи связи по внешнему ключу. Вы видели как заказы связываются с клиентами путем помещения customer_id в качестве внешнего ключа в таблице заказов.
Другой пример связи один-ко-многим – это связь, которая существует между матерью и ее детьми. Мать может иметь множество детей, но каждый ребенок может иметь только одну мать.
(Технически лучше говорить о женщине и ее детях вместо матери и ее детях потому, что, в контексте связи один-ко-многим, мать может иметь 0, 1 или множество потомков, но мать с 0 детей не может считаться матерью. Но давайте закроем на это глаза, хорошо?)
Когда одна запись в таблице А может быть связана с 0, 1 или множеством записей в таблице B, вы имеете дело со связью один-ко-многим. В реляционной модели данных связь один-ко-многим использует две таблицы.
Схематическое представление связи один-ко-многим. Запись в таблице А имеет 0, 1 или множество ассоциированных ей записей в таблице B.

Разница между первичным ключом и внешним ключом

Определение

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

Количество связанных таблиц

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

Повторяющиеся значения

Кроме того, еще одно различие между первичным ключом и внешним ключом состоит в том, что значения первичного ключа не могут иметь повторяющиеся значения, тогда как значения внешнего ключа могут иметь повторяющиеся значения.

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

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

использование

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

Заключение

Первичный ключ и внешний ключ — это два типа ключей, используемых в СУБД. Разница между первичным ключом и внешним ключом заключается в том, что первичный ключ используется для уникальной идентификации записей в таблице, а внешний ключ используется для соединения двух таблиц вместе.   

Простой и составной первичный ключ

Primary key может быть простым и составным. Если уникальность записи определяется значением только в одном поле, как описано выше, мы имеем дело с простым ключом. Составной ключ – это первичный ключ базы данных, состоящий из двух и более полей. Рассмотрим следующее отношение клиентов банка.

Ф. И. О. Дата рождения Серия паспорта Номер паспорта
Иванов П.А. 12.05.1996 75 0553009
Сергеев В.Т. 14.07.1958 71 4100654
Краснов Л.В. 22.01.2001 73 1265165

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

Внешний ключ и целостность данных в БД

Все вышеизложенное приводит нас к внешнему ключу (Foreign key) и целостности БД. Foreign key – это поле, ссылающееся на Primary key внешнего отношения. В таблице успеваемости это столбцы «Студент» и «Дисциплина». Их данные отсылают нас к внешним таблицам. То есть поле «Студент» в отношении «Успеваемость» — это Foreign key, а в отношении «Студент» это первичный ключ в базе данных.

Важным принципом построения баз данных является их целостность. И одно из ее правил – целостность по ссылкам. Это значит, что внешний ключ таблицы не может ссылаться на несуществующий Primary key другого отношения. Нельзя удалить из отношения «Студент» запись с кодом 1000 – Иванов Иван, если на нее ссылается запись из таблицы успеваемости. В правильно построенной БД при попытке удаления вы получите ошибку, что это поле используется.

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

Пример приведения таблицы ко второй нормальной форме

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

Таблица сотрудников в первой нормальной форме.

ФИО Должность Подразделение Описание подразделения
Иванов И.И. Программист Отдел разработки Разработка и сопровождение приложений и сайтов
Сергеев С.С. Бухгалтер Бухгалтерия Ведение бухгалтерского и налогового учета финансово-хозяйственной деятельности
John Smith Продавец Отдел реализации Организация сбыта продукции

Мы видим, что она удовлетворяет условиям первой нормальной формы, т.е. в ней нет дублирующих строк и все значения атомарны.

Теперь мы можем начать процесс нормализации этой таблицы до второй нормальной формы.

Что для этого нам нужно сделать? Нам нужно внедрить первичный ключ.

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

Поэтому очевидно, что для таблицы, которая будет хранить список сотрудников, первичным ключом может выступать табельный номер, зная который мы можем четко идентифицировать каждого сотрудника, т.е. каждую строку нашей таблицы. Если бы такого табельного номера у нас не было или в рамках организации он мог повторяться (например, сотрудник уволился, и спустя время его номер присвоили новому сотруднику), то для первичного ключа мы могли бы создать искусственный ключ с целочисленным типом данных, который автоматически увеличивался бы в случае добавления новых записей в таблицу. Тем самым мы бы точно также четко идентифицировали каждую строку в таблице.

Таким образом, чтобы привести эту таблицу ко второй нормальной форме, мы должны добавить в нее еще один атрибут, т.е. столбец с табельным номером.

Таблица сотрудников во второй нормальной форме с простым первичным ключом.

Табельный номер ФИО Должность Подразделение Описание подразделения
1 Иванов И.И. Программист Отдел разработки Разработка и сопровождение приложений и сайтов
2 Сергеев С.С. Бухгалтер Бухгалтерия Ведение бухгалтерского и налогового учета финансово-хозяйственной деятельности
3 John Smith Продавец Отдел реализации Организация сбыта продукции

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

Иными словами, если первичный ключ простой (не составной, т.е. состоящий из одного столбца), второе требование, которое предъявляется к таблицам для перехода во вторую нормальную форму, выполнять не требуется, так как оно относится только к таблицам, у которых первичный ключ составной.

пример

В качестве первого примера для иллюстрации внешних ключей предположим, что в базе данных учетных записей есть таблица со счетами-фактурами, и каждый счет-фактура связан с определенным поставщиком. Детали поставщика (например, имя и адрес) хранятся в отдельной таблице; каждому поставщику дается «номер поставщика» для его идентификации. Каждая запись счета-фактуры имеет атрибут, содержащий номер поставщика для этого счета-фактуры. Тогда «номер поставщика» является первичным ключом в таблице «Поставщик». Внешний ключ в таблице Invoices указывает на этот первичный ключ. Реляционная схема следующая. Первичные ключи выделены жирным шрифтом, а внешние ключи — курсивом.

  Supplier ( SupplierNumber, Name, Address, Type )
  Invoices ( InvoiceNumber, SupplierNumber, Text )

Соответствующий оператор языка определения данных выглядит следующим образом.

  CREATE TABLE Supplier (
     SupplierNumber  INTEGER NOT NULL,
     Name            VARCHAR(20) NOT NULL,
     Address         VARCHAR(50) NOT NULL,
     Type            VARCHAR(10),
     CONSTRAINT supplier_pk PRIMARY KEY(SupplierNumber),
     CONSTRAINT number_value CHECK (SupplierNumber > ) )

  CREATE TABLE Invoices (
     InvoiceNumber   INTEGER NOT NULL,
     SupplierNumber  INTEGER NOT NULL,
     Text            VARCHAR(4096),
     CONSTRAINT invoice_pk PRIMARY KEY(InvoiceNumber),
     CONSTRAINT inumber_value CHECK (InvoiceNumber > ),
     CONSTRAINT supplier_fk FOREIGN KEY(SupplierNumber)
        REFERENCES Supplier(SupplierNumber)
        ON UPDATE CASCADE ON DELETE RESTRICT )

При помощи Microsoft Equation 3.0

Стоит сразу сказать, что данный способ для вставки знака корня в документ отлично подходит как для соответствия всем нормам, так и для применения его во всех версиях программы. А пользоваться мы будем инструментом под названием Microsoft Equation 3.0.

Для начала необходимо открыть интерфейс самой утилиты, для этого:

  1. Перейдите во вкладку “Вставка”.
  2. В группе инструментов “Текст” нажмите по кнопке “Объекты”.
  3. В появившемся окне выберите “Microsoft Equation 3.0”, который находится в списке “Тип объекта”.
  4. Нажмите кнопку “ОК”.

После этого в месте где был установлен курсор, появится форма для заполнения

Обратите внимание также на то, что внешний вид “Ворда” довольно сильно поменяется

Для вставки знака корня вам необходимо в окне инструментов “Формула” нажать на кнопку “Шаблоны дробей и радикалов”. Ее расположение вы можете наблюдать на изображении ниже.

Теперь в выпадающем списке нужно выбрать соответствующий шаблон. После этого в поле для набора формул появится знак корня, а рядом с ним пустая ячейка, в которую можно вводить число. После того как число было введено, переключится на стандартный интерфейс программы можно, нажав левую кнопку мыши (ЛКМ) за пределами формы для ввода формул.

Внешний ключ

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

Внешний ключ — это столбец или группа столбцов, ссылающиеся на столбец или группу столбцов другой (или этой же) таблицы. Таблица, на которую ссылается внешний ключ, называется родительской таблицей, а столбцы, на которые ссылается внешний ключ — родительским ключом. Родительский ключ должен быть первичным или уникальным ключом, значения же внешнего ключа могут повторяться хоть сколько раз. То есть с помощью внешних ключей поддерживаются связи «один ко многим». Типы данных (а в некоторых СУБД и размерности) соответствующих столбцов внешнего и родительского ключа должны совпадать.

И самое главное. Все значения внешнего ключа должны совпадать с каким-либо из значений родительского ключа. (Заметим в скобках насчет совпадения / несовпадения: нюансы возникают, когда в значениях столбцов вторичного ключа встречается NULL. Давайте пока в эти нюансы вдаваться не будем). Появление значений внешнего ключа, для которых нет соответствующих значений родительского ключа, недопустимо. Вот тут-то мы плавно переходим к понятию ссылочной целостности.

Ключи и ссылочная целостность в MySQL и Oracle

Oracle поддерживает первичные, уникальные, внешние ключи в полном объеме. Oracle поддерживает следующие правила ссылочной целостности:

  • NO ACTION (устанавливается по умолчанию) в более жестком, чем по стандарту SQL 92, варианте: запрещается изменение и удаление строк родительской таблицы, для которых имеются связанные строки в дочерних таблицах.
  • ON DELETE CASCADE.

Более сложные правила ссылочной целостности в Oracle можно реализовать через механизм триггеров.

MySQL версии 4.1 (последняя на момент написания статьи стабильная версия) позволяет в командах CREATE / ALTER TABLE задавать фразы REFERENCES / FOREIGN KEY, но в работе никак их не учитывает и реально внешние ключи не создает. Соответственно правила ссылочной целостности, реализуемые через внешние ключи, в MySQL не поддерживаются. И все заботы по обеспечению целостности и непротиворечивости информации в базе MySQL ложатся на плечи разработчиков клиентских приложений.

Типы связей и их реализация. Ссылочная целостность и ее обеспечение.

Более
правильным вариантом является вынесение
сведений об издателях в отдельную
таблицу «Издатели». При этом таблица
«Книги» будет содержать ссылки на
записи таблицы «Издатели».

Чтобы
сохранить синхронизацию, следует
обеспечить целостность данных между
таблицами «Книги» и «Издатели».
Связи с обеспечением целостности данных
позволяют следить за тем, чтобы данные
в одной таблице соответствовали данным
в другой. Например, каждая книга в таблице
«Книги» связана с определенным
издателем в таблице «Издатели».
Добавить в таблицу книгу для издателя,
отсутствующего в базе данных, невозможно.

Виды
связей между таблицами

Связь
осуществляется путем сопоставления
данных в ключевых столбцах; обычно это
столбцы, имеющие в обеих таблицах
одинаковые названия. В большинстве
случаев сопоставляются первичный ключ
одной таблицы, содержащий для каждой
из строк уникальный идентификатор, и
внешний ключ другой таблицы. Например,
с каждым из изданий, находящихся в
продаже, можно связать объемы его продаж
путем создания столбца «ИД_издания»
в таблице «Книги» (первичный ключ)
и столбца «ИД_издания» в таблице
«Продажи» (внешний ключ).

Существует
три вида связей между таблицами. Вид
создаваемой связи зависит от того, как
заданы связанные столбцы.

Связи
«один ко многим»

Связь
«один ко многим» — наиболее
распространенный вид связи. При такой
связи каждой строке таблицы А может
соответствовать множество строк таблицы
Б, однако каждой строке таблицы Б может
соответствовать только одна строка
таблицы А. Например, между таблицами
«Издатели» и «Книги» установлена
связь «один ко многим»: каждый из
издателей может опубликовать множество
книг, однако каждая книга публикуется
лишь одним издателем.

Связь
«один ко многим» создается в том
случае, когда только на один из связываемых
столбцов наложено ограничение уникальности
или он является первичным ключом.

В
Microsoft Access сторона связи «один ко
многим», которой соответствует
первичный ключ, обозначается символом
ключа. Сторона связи, которой соответствует
внешний ключ, обозначается символом
бесконечности.

Связи
«многие ко многим»

При
установлении связи «многие ко многим»
каждой строке таблицы А может
соответствовать множество строк таблицы
Б и наоборот. Такая связь создается при
помощи третьей таблицы, называемой
соединительной, первичный ключ которой
состоит из внешних ключей, связанных с
таблицами А и Б. Например, между таблицами
«Авторы» и «Книги» установлена
связь вида «многие ко многим»,
задаваемая с помощью связей вида «один
ко многим» между каждой из этих таблиц
и таблицей «АвторыКниг». Первичный
ключ таблицы «АвторыКниг» — это
сочетание столбцов «ИД_автора»
(первичного ключа таблицы авторов) и
«ИД_книги» (первичного ключа таблицы
заголовков).

Связи
«один к одному»

При
установлении связи «один к одному»
каждой строке таблицы А может
соответствовать только одна строка
таблицы Б и наоборот. Связь «один к
одному» создается в том случае, когда
оба связанные столбца являются первичными
ключами или на них наложены ограничения
уникальности.

Этот
вид связи используется редко, поскольку
в такой ситуации связываемые данные
обычно можно хранить в одной таблице.
Использовать связь вида «один к
одному» можно в указанных ниже случаях.

• Чтобы
разделить таблицу, содержащую слишком
много столбцов.

• Чтобы
изолировать часть таблицы по соображениям
безопасности.

• Для
хранения данных кратковременного
использования, удалить которые проще
всего путем очистки таблицы.

• Для
хранения данных, имеющих отношение
только к подмножеству основной таблицы.

В
Microsoft Access сторона связи «один к одному»,
которой соответствует первичный ключ,
обозначается символом ключа. Сторона
связи, которой соответствует внешний
ключ, также обозначается символом ключа.

Создание
связей между таблицами

При
установлении связи между таблицами
связанные поля не обязательно должны
иметь одинаковые названия. При этом у
них должен быть один и тот же тип данных,
если только поле, являющееся первичным
ключом, не относится к типу «Счетчик».
Поле типа «Счетчик» можно связать
с полем типа «Числовой» только в
том случае, если для свойства FieldSize
(размер поля) каждого из них задано одно
и то же значение. Например, можно связать
столбцы типов «Счетчик» и «Числовой»,
если для свойства FieldSize каждого из них
установлено значение «Длинное целое».
Даже если оба связываемых столбца
относятся к типу «Числовой», значение
свойства FieldSize для обоих полей должно
быть одинаковым.

Вставка рисунка или объекта

Создание других таблиц для этой базы данных — аналогичное. 

Создайте еще 5 таблиц самостоятельно.

Вставка в запись рисунка или объекта

Рисунок или объект добавляется из имеющегося файла либо создается в приложении OLE (например, в MS Paint), а затем вставляется в текущую запись.

Рассмотрим размещение объекта OLE на примере поля Фотография начальника в таблице Преподаватели. Фотографии хранятся в формате графического редактора Paint в файлах с расширением .bmp. Если рисунка в вашем файле нет, то создайте его самостоятельно и сохраните.

  1. В окне базы данных установите курсор на таблице Преподаватели и нажмите кнопку Открыть
  2. Заполните строки (записи) открывшейся таблицы данными в соответствии с названиями столбцов (полей)
  3. Для размещения поля Фотография начальника выполните внедрение объекта OLE в файл базы данных. Установите курсор в соответствующее поле таблицы. Выполните команду меню Вставка|Объект
  4. В окне Вставка объекта выберите тип объекта Paintbrush Picture и установите флажок Создать из файла
  5. В этом окне можно ввести имя файла, содержащего фотографию.
  6. Для просмотра внедренного объекта установите курсор в соответствующее поле и дважды щелкните кнопкой мыши
  7. Чтобы вернуться из программы Paint, выполните команду Файл|Выход и возврат к таблице Преподаватели.
Размещение данных типа МЕМО в таблице

В таблице ПРЕДМЕТ предусмотрено поле ПРОГРАММА, которое будет содержать длинный текст – краткую программу курса. Для такого поля выберите тип данных ПолеМЕМО.

Как ставить хештеги в разных социальных сетях

В каждой соцсети есть свои тонкости. Рассмотрим подробнее.

С этой соцсети пошло использование хештегов, и по сей день они активно там используются. Более того – без хештегов ваш твит вообще мало кто увидит, кроме подписчиков.

Пример использования хештега в “Твиттере”

Искать посты по определенным хештегам просто: достаточно забить нужное слово в строку поиска. Далее выбираете нужную категорию твитов: “Популярное”, “Последнее”, “Люди”№, “Фотографии”, “Видео”.

Рекомендуется использовать не более 2-3 хештегов, иначе ваш пост могут счесть спамом. Не злоупотребляйте!  Также в “Твиттере” принято вставлять хештег прямо в тело поста, а не в концовку.

Instagram

Вот уж где раздолье для хештегов всех мастей! В “Инстаграме” пост без хештегов – редкость. Это и неудивительно: очень многие любят позалипать вечерком, смотря красивые фото пользователей, объединенные одной темой. Найти записи по определенному хештегу можно в строке поиска вверху страницы.

Пожалуйста – 1797 262 публикации!

Алгоритм прост: если вы добавляете хештеги к своей записи, ваш пост будет показываться первым в ленте – пока кто-то еще не опубликует запись с таким же хештегом, и ваша запись улетит вниз. Есть здесь и ограничения: к одному посту можно добавить не более 30 хештегов. Хотя и это перебор, на мой взгляд.

Популярные хештеги можно подобрать с помощью специальных сервисов (напишу о них в конце статьи). А также внимательно смотреть, какие метки ставят к своим записям другие пользователи.

Поиск по хештегам осуществляется так же: забивается нужное слово в строку поиска.

Мы видим все посты пользователей начиная от самых недавних

Во “Вконтакте” хештеги используются не столь активно, как в “Инстаграме” и “Твиттере”. Здесь принято ставить их в конце поста. И не злоупотреблять количеством, конечно – хоть конкретных ограничений по количеству хештегов не имеется.

Есть во “ВКонтакте” интересная фишка: с помощью хештегов можно группировать посты по теме внутри одного сообщества. Выглядит это так: #отзывы@название сообщества. По этим хештегам можно найти все отзывы по теме.

Пример локального хештега

По моим наблюдениям, хештеги в Facebook используются нечасто. Найти нужную запись можно также по поиску – в этом алгоритм не отличается от других соцсетей. Результаты можно смотреть как все подряд, так и в категориях: “Публикации”, “Люди”, “Фото”, “Видео”, “Места”, “Группы” и так далее.

Рекомендуется ставить не более трех хештегов к одной записи. Иначе ваш пост может не показываться другим пользователям и получить мало охвата.  

Принцип поиска по хештегам тот же. Можно искать посты по теме в категориях “Люди”, “Группы”, “Игры”, “Музыка”, “Видео”. Но есть нюанс: когда вы начинаете вводить хештег, соцсеть сама дает подсказки (типа Т9 на смартфоне). Весьма удобная фишка!

YouTube

Здесь тоже есть ограничение: не более 15 хештегов к одному видео. В остальном все также: видео по хештегам ищутся через поиск (причем видеохостинг дает подсказки), сами хештеги ставятся в описании видеоролика или прямо в заголовке – перед названием ролика.

Поиск видео по хештегу #бизнес

Особых правил нет: хештеги ставятся в описании поста, ограничений на их количество нет. Остальные правила написания хештегов те же, что и обычно.

Telegram

Особо стоит отметить “Телеграм”, хоть это и не совсем соцсеть – скорее мессенджер с элементами соцсети. Но не суть

В Telegram тоже используются хештеги, чтобы привлечь внимание к своей записи. Также их используют в групповых чатах и личной переписке

Удобная фишка: когда вводите хештег в строку поиска, результаты показывают не только посты других каналов и пользователей с этим хештегом, но и ваши личные диалоги, в которых вы употребляли то или иной хештег.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector