Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Задачи для начинающих

04.02.21 08:44
Re: Задачи для начинающих
 
uscheswoi_82 свой человек
в ответ AlexNek 03.02.21 18:13, Последний раз изменено 04.02.21 08:46 (uscheswoi_82)

A. Ну для реляционной СУБД тут два варианта:

1)Создать таблицу с 3-мя полями, ID - первичный ключ, FIeldName - название поля, Value - значение:

ID | FieldName | Value

типа:

1 | LaufendeNummer | 1

1 | Datum | 01.02.2021

1 | Kundenname | Peter

1 | AnzahlKafee1 | 2

1 | Netto | 5,00

1 | Brutto | 5,20


2 | Datum | 01.02.2021

2 | Kundenname | Claus

2 | AnzahlKaffee2 | 1

2 | Netto | 3.50

2 | Brutto | 5.20


2)Сделать классы, сериализовать и запихать объекты в БД. Не знаю как в других языках сериализуется, допустим в PHP одним оператором, допустим:

class Tabelle {

public $Datum;

public $Kundenname;

public $AnzahlKaffe1;

public $AnzahlKaffe2;

public $AnzahlKaffe3;

public $Netto;

public $Brutto;


public function __consctructor()

{

....

}

}


Дальше создаёте объект

$record1 = new Tabelle();

$record1.Datum = '01.02.2021';


А дальше сериализуете и записываете в СУБД:

см. https://www.php.net/manual/ru/function.serialize.php

$ser_object = serialize($record1);


В C# тоже есть https://docs.microsoft.com/ru-ru/dotnet/api/system.runtime...


B. Для NoSQL вообще проблемы нет, в MongoDB хранятся в формате типа JSON, только BSON. Хотя есть агрегация см. https://docs.mongodb.com/manual/aggregation/, я бы в Insert см. https://docs.mongodb.com/manual/reference/method/db.collec... всё сразу что надо запихал бы. Пишите так:

use DatabaseTabelle1

db.tabelle1.insert({"LaufendeNummer":"1", "Datum":"01.02.2021", "Kundenname":"Peter", "AnzahlKaffe1":"2", "Netto":"5.00", "Brutto":"5.20"})

db.tabelle1.insert({"LaufendeNummer":"2", "Datum":"01.02.2021", "Kundenname":"Claus", "AnzahlKaffe2":"2", "Netto":"3.50", "Brutto":"3.70"})


C. Можно сделать всё это ввиде объектов и спомощью LINQ.


P.S.:Но вообще есть ещё вариант, но о нём я скажу вечером. В кратце нужно создать таблицу AnzahlKaffee, в которой будут поля: LaufendeNummer - вторичный ключ, Kategorie - (1, 2 или 3), и Anzahl - число..., получитсячто-то типа такого:

1|1|2

2|2|1

3|3|1

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
 

Перейти на