Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Возвращают ли данные из БД в виде текстового документа? / 8 сообщений из 8, страница 1 из 1
10.08.2019, 17:54
    #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
10.08.2019, 19:36
    #39847830
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращают ли данные из БД в виде текстового документа?
palladin600а виде готового документа
pdf'ку что ли?
...
Рейтинг: 0 / 0
10.08.2019, 19:43
    #39847831
PizzaPizza
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращают ли данные из БД в виде текстового документа?
Вы хотите собрать строку с учениками для класса и руководителя?


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

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

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

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

Не создав топика не мог сформулировать идею ), в частности даже просто для себя, не понимал, есть ли смысл вообще развивать идею в эту сторону.
...
Рейтинг: 0 / 0
10.08.2019, 20:23
    #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
11.08.2019, 02:16
    #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
12.08.2019, 09:36
    #39848107
Minamoto
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращают ли данные из БД в виде текстового документа?
palladin600, так возвращайте шапку отдельным датасетом, а детализацию - отдельным. Связав по идентификатору, который сильно короче, чем строка.

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

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


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