powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Возвращают ли данные из БД в виде текстового документа?
8 сообщений из 8, страница 1 из 1
Возвращают ли данные из БД в виде текстового документа?
    #39847802
palladin600
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую,

не подскажете, делают ли так вообще, запрос из БД данных не в виде строк, а виде готового документа?
Постараюсь объяснить, значит, есть такая структура таблиц:
declare @Teachers table([ID] int, [Name] nvarchar(50))
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
insert into @Teachers(ID, [Name])
select 1, N'Антонина Сергеевна' union all
select 2, N'Ольга Петровна' union all
select 3, N'Станислав Фёдорович' 

declare @Classes table(Class int, Teacher int)
insert into @Classes(Class, Teacher)
select 1, 1 union all
select 4, 2 union all
select 5, 3

declare @Pupils table(ClassID int, [Name] nvarchar(10))
insert into @Pupils(ClassID, [Name])
select 1, N'Ваня' union all
select 1, N'Петя' union all
select 1, N'Жора' union all
select 4, N'Даша' union all
select 4, N'Маша' union all
select 5, N'Таня'


чтобы получить данные о классе, его классной, и учениках, надо сделать примерно такой запрос:
Код: sql
1.
2.
3.
4.
SELECT p.[Name], p.[ClassID], t.[Name] as Teacher 
FROM @Pupils p inner join 
	@Classes c on p.ClassID = c.Class inner join 
	@Teachers t on c.Teacher = t.ID


вернутся данные:
Код: plaintext
1.
2.
3.
4.
5.
6.
Name	ClassID	Teacher
Ваня	1	Антонина Сергеевна
Петя	1	Антонина Сергеевна
Жора	1	Антонина Сергеевна
Даша	4	Ольга Петровна
Маша	4	Ольга Петровна
Таня	5	Станислав Фёдорович

в принципе, ничего страшного, когда данных, которые должны быть общими, немного. Но когда шапка большая, и с каждой записью её тянуть, на мой взгляд, расточительно. Поэтому, вопрос, может разработчики зачастую группируют общую часть, и возвращают в виде какой-то структуры? Ведь, тут какие плюсы: а) перебирать на клиенте не надо; б) можно сразу вставлять в виде обрамлённого тегами куска текста, например, на странице сайта; в) передаётся куда меньший объём данных с сервера.

Т. е., иными словами, чтобы сервер возвращал сгруппированные данные в виде блока:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
____________________________________
|1 класс                           |
|Руководитель: Антонина Сергеевна  |
|Ученики: Ваня, Петя, Жора         |
|__________________________________|
____________________________________
|4 класс                           | 
|Руководитель: Ольга Петровна      |
|Ученики: Даша, Маша               |
|__________________________________|
____________________________________
|5 класс                           |
|Руководитель: Станислав Фёдорович |
|Ученики: Таня                     |
|__________________________________|

или моветон?
...
Рейтинг: 0 / 0
Возвращают ли данные из БД в виде текстового документа?
    #39847830
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
palladin600а виде готового документа
pdf'ку что ли?
...
Рейтинг: 0 / 0
Возвращают ли данные из БД в виде текстового документа?
    #39847831
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы хотите собрать строку с учениками для класса и руководителя?


класс руководитель ученики1Антонина СергеевнаВаня Петя Жора4Ольга ПетровнаДаша Маша5Станислав ФёдоровичТаня

Или реально вам надо все эти повторяющиеся Руководитель, ученики, класс в каждом блоке?

Вообще форматирование проще и эффективнее делать на клиенте. База данных для данных.
...
Рейтинг: 0 / 0
Возвращают ли данные из БД в виде текстового документа?
    #39847832
palladin600
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей Алексеевичpdf'ку что ли?не, не совсем, возвращается как текст, но объеденённый в одном поле.

PizzaPizzaИли реально вам надо все эти повторяющиеся Руководитель, ученики, класс в каждом блоке?нет, как раз-таки не надо. Пока думаю.

Не создав топика не мог сформулировать идею ), в частности даже просто для себя, не понимал, есть ли смысл вообще развивать идею в эту сторону.
...
Рейтинг: 0 / 0
Возвращают ли данные из БД в виде текстового документа?
    #39847836
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Документ это не только текст, но и формат [файла], кодировка, форматирование текста и прочие фишки.
Для этого существуют средства. Потоки, блобы, xml
https://docs.microsoft.com/ru-ru/sql/relational-databases/blob/binary-large-object-blob-data-sql-server?view=sql-server-2017
...
Рейтинг: 0 / 0
Возвращают ли данные из БД в виде текстового документа?
    #39847876
Massa52
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
palladin600,
Гоните тогда уже сразу в HTML(там уже все и форматирование и текст).
Примеров море - https://www.google.com/search?q=TSQL HTML encode&rlz=1C1GGRV_enAU751AU751&oq=TSQL HTML encode&aqs=chrome..69i57j0.15171j0j7&sourceid=chrome&ie=UTF-8
...
Рейтинг: 0 / 0
Возвращают ли данные из БД в виде текстового документа?
    #39848107
Minamoto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
palladin600, так возвращайте шапку отдельным датасетом, а детализацию - отдельным. Связав по идентификатору, который сильно короче, чем строка.

Еще один вариант - сразу на стороне SQL Server'а собирать XML или JSON, там будет увеличение объема за счет служебных символов и названий полей, но сокращение за счет убирания дублей значений.
...
Рейтинг: 0 / 0
Возвращают ли данные из БД в виде текстового документа?
    #39848170
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
palladin600,

получить готовый документ можно при помощи отчета и Reporting Services.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Возвращают ли данные из БД в виде текстового документа?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]