Skip to content

Commit 5771ebb

Browse files
committed
update databases
1 parent 219bc55 commit 5771ebb

File tree

29 files changed

+199
-107
lines changed

29 files changed

+199
-107
lines changed

databases/sem2/lab2/.~lock.1.odt#

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
,nf,laptop,06.05.2025 22:11,file:///home/nf/.var/app/org.libreoffice.LibreOffice/config/libreoffice/4;

databases/sem2/lab2/1.odt

345 KB
Binary file not shown.

databases/sem2/lab2/1.pdf

389 KB
Binary file not shown.

databases/sem2/lab2/lab2.sql

Lines changed: 27 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
-- 1
22
SELECT КОД, ДАТА
3-
FROM Н_ВЕДОМОСТИ LEFT JOIN Н_ОЦЕНКИ
3+
FROM Н_ОЦЕНКИ RIGHT JOIN Н_ВЕДОМОСТИ
44
ON Н_ВЕДОМОСТИ.ОЦЕНКА = Н_ОЦЕНКИ.КОД
55
WHERE
66
Н_ОЦЕНКИ.ПРИМЕЧАНИЕ < 'неудовлетворительно' AND
77
Н_ВЕДОМОСТИ.ИД < 1490007;
8+
89
-- 2
910
SELECT ЧЛВК_И_ВЕД.ИД, ЧЛВК_И_ВЕД.ЧЛВК_ИД, Н_СЕССИЯ.УЧГОД
1011
FROM
@@ -18,6 +19,7 @@ SELECT ЧЛВК_И_ВЕД.ИД, ЧЛВК_И_ВЕД.ЧЛВК_ИД, Н_СЕССИ
1819
ON ЧЛВК_И_ВЕД.ЧЛВК_ИД = Н_СЕССИЯ.ЧЛВК_ИД
1920
WHERE
2021
Н_СЕССИЯ.ДАТА < '2004-01-17';
22+
2123
-- 3
2224
SELECT COUNT(*)
2325
FROM (
@@ -39,21 +41,21 @@ SELECT COUNT(*)
3941
ON ОТД = Н_ОТДЕЛЫ.ИД
4042
)
4143
WHERE Н_ОТДЕЛЫ.КОРОТКОЕ_ИМЯ = 'КТиУ';
44+
4245
-- 4
43-
SELECT ПЛАН_ИД
44-
FROM (
45-
SELECT COUNT(*), ГРУППА_И_ПЛАН.ПЛАН_ИД
46-
FROM Н_ОТДЕЛЫ INNER JOIN (
47-
SELECT Н_ГРУППЫ_ПЛАНОВ.ГРУППА, Н_ГРУППЫ_ПЛАНОВ.ПЛАН_ИД, Н_ПЛАНЫ.ОТД_ИД
48-
FROM Н_ГРУППЫ_ПЛАНОВ INNER JOIN Н_ПЛАНЫ
49-
ON Н_ГРУППЫ_ПЛАНОВ.ПЛАН_ИД = Н_ПЛАНЫ.ИД
50-
) ГРУППА_И_ПЛАН
51-
ON ГРУППА_И_ПЛАН.ОТД_ИД = Н_ОТДЕЛЫ.ИД
52-
WHERE
53-
Н_ОТДЕЛЫ.КОРОТКОЕ_ИМЯ = 'КТиУ'
54-
GROUP BY ГРУППА_И_ПЛАН.ПЛАН_ИД
55-
)
56-
WHERE COUNT > 1;
46+
SELECT ГРУППА_И_ПЛАН.ПЛАН_ИД
47+
FROM Н_ОТДЕЛЫ INNER JOIN (
48+
SELECT Н_ГРУППЫ_ПЛАНОВ.ГРУППА, Н_ГРУППЫ_ПЛАНОВ.ПЛАН_ИД, Н_ПЛАНЫ.ОТД_ИД
49+
FROM Н_ГРУППЫ_ПЛАНОВ INNER JOIN Н_ПЛАНЫ
50+
ON Н_ГРУППЫ_ПЛАНОВ.ПЛАН_ИД = Н_ПЛАНЫ.ИД
51+
) ГРУППА_И_ПЛАН
52+
ON ГРУППА_И_ПЛАН.ОТД_ИД = Н_ОТДЕЛЫ.ИД
53+
WHERE
54+
Н_ОТДЕЛЫ.КОРОТКОЕ_ИМЯ = 'КТиУ'
55+
GROUP BY ГРУППА_И_ПЛАН.ПЛАН_ИД
56+
HAVING COUNT(*) > 1
57+
ORDER BY ГРУППА_И_ПЛАН.ПЛАН_ИД;
58+
5759
-- 5
5860
SELECT ЧЛВК_ИД, ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, СРЕДНИЙ_БАЛЛ
5961
FROM Н_ЛЮДИ INNER JOIN
@@ -86,6 +88,7 @@ SELECT ЧЛВК_ИД, ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, СРЕДНИЙ_
8688
GROUP BY Н_УЧ.ЧЛВК_ИД
8789
)
8890
);
91+
8992
-- 6
9093
SELECT
9194
Н_УЧЕНИКИ_ИЗМЕН.ГРУППА,
@@ -123,14 +126,14 @@ SELECT
123126
ON Н_УЧЕНИКИ_ИЗМЕН.ЧЛВК_ИД = Н_ЛЮДИ.ИД;
124127
-- 7
125128
SELECT ИМЯ, ДАТА_РОЖДЕНИЯ FROM
126-
Н_ЛЮДИ
127-
WHERE NOT EXISTS
128-
(
129-
SELECT 1
130-
FROM Н_ЛЮДИ Н_ЛЮДИ_2
131-
WHERE Н_ЛЮДИ.ИМЯ = Н_ЛЮДИ_2.ИМЯ AND
132-
Н_ЛЮДИ.ДАТА_РОЖДЕНИЯ = Н_ЛЮДИ_2.ДАТА_РОЖДЕНИЯ AND
133-
Н_ЛЮДИ.ИД != Н_ЛЮДИ_2.ИД
134-
)
129+
Н_ЛЮДИ
130+
WHERE NOT EXISTS
131+
(
132+
SELECT 1
133+
FROM Н_ЛЮДИ Н_ЛЮДИ_2
134+
WHERE Н_ЛЮДИ.ИМЯ = Н_ЛЮДИ_2.ИМЯ AND
135+
Н_ЛЮДИ.ДАТА_РОЖДЕНИЯ = Н_ЛЮДИ_2.ДАТА_РОЖДЕНИЯ AND
136+
Н_ЛЮДИ.ИД != Н_ЛЮДИ_2.ИД
137+
)
135138
ORDER BY ИМЯ, ДАТА_РОЖДЕНИЯ;
136139

databases/sem2/lab2/lab2_v2.sql

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
-- 2 NO COLUMN SELECTS
2+
SELECT Н_ЛЮДИ.ИД, Н_ВЕДОМОСТИ.ЧЛВК_ИД, Н_СЕССИЯ.УЧГОД
3+
FROM
4+
(SELECT ИД FROM Н_ЛЮДИ WHERE ИД = 100012) Н_ЛЮДИ LEFT JOIN Н_ВЕДОМОСТИ
5+
ON Н_ЛЮДИ.ИД = Н_ВЕДОМОСТИ.ЧЛВК_ИД
6+
LEFT JOIN Н_СЕССИЯ
7+
ON Н_ВЕДОМОСТИ.ЧЛВК_ИД = Н_СЕССИЯ.ЧЛВК_ИД
8+
WHERE
9+
Н_СЕССИЯ.ДАТА < '2004-01-17';
10+
11+
-- 3 NO COLUMN SELECTS
12+
SELECT COUNT(*)
13+
FROM
14+
(SELECT Н_ЛЮДИ.ИД FROM Н_ЛЮДИ WHERE Н_ЛЮДИ.ОТЧЕСТВО = '.') Н_ЛЮДИ
15+
LEFT JOIN Н_ВЕДОМОСТИ
16+
ON Н_ЛЮДИ.ИД = Н_ВЕДОМОСТИ.ЧЛВК_ИД
17+
RIGHT JOIN Н_СОДЕРЖАНИЯ_ЭЛЕМЕНТОВ_СТРОК
18+
ON Н_СОДЕРЖАНИЯ_ЭЛЕМЕНТОВ_СТРОК.ИД = Н_ВЕДОМОСТИ.СЭС_ИД
19+
LEFT JOIN Н_ЭЛЕМЕНТЫ_СТРОК
20+
ON Н_ЭЛЕМЕНТЫ_СТРОК.ИД = Н_СОДЕРЖАНИЯ_ЭЛЕМЕНТОВ_СТРОК.ЭСТ_ИД
21+
INNER JOIN (SELECT Н_ОТДЕЛЫ.ИД FROM Н_ОТДЕЛЫ WHERE Н_ОТДЕЛЫ.КОРОТКОЕ_ИМЯ = 'КТиУ') Н_ОТДЕЛЫ
22+
ON Н_ЭЛЕМЕНТЫ_СТРОК.ОТД_ИД = Н_ОТДЕЛЫ.ИД;
23+
24+
-- 4 NO COLUMN SELECTS
25+
SELECT Н_ПЛАНЫ.ПЛАН_ИД
26+
FROM Н_ГРУППЫ_ПЛАНОВ INNER JOIN Н_ПЛАНЫ
27+
ON Н_ГРУППЫ_ПЛАНОВ.ПЛАН_ИД = Н_ПЛАНЫ.ИД
28+
INNER JOIN (SELECT Н_ОТДЕЛЫ.ИД FROM Н_ОТДЕЛЫ WHERE Н_ОТДЕЛЫ.КОРОТКОЕ_ИМЯ = 'КТиУ') Н_ОТДЕЛЫ
29+
ON Н_ПЛАНЫ.ОТД_ИД = Н_ОТДЕЛЫ.ИД
30+
GROUP BY Н_ПЛАНЫ.ПЛАН_ИД
31+
HAVING COUNT(*) > 1
32+
ORDER BY Н_ПЛАНЫ.ПЛАН_ИД;
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package server.core;
2+
3+
import java.util.HashMap;
4+
import java.util.concurrent.ExecutorService;
5+
import java.util.function.Function;
6+
7+
import server.storage.collection.drivers.IStructDriver;
8+
import server.storage.commands.CommandsManager;
9+
10+
public class CommandFactory {
11+
private final ExecutorService executor;
12+
private final CommandsManager commandsManager;
13+
14+
public CommandFactory(ExecutorService executor, IStructDriver structDriver) {
15+
this.commandsManager = new CommandsManager(
16+
structDriver
17+
);
18+
this.executor = executor;
19+
}
20+
21+
public <T> void runCommand(
22+
String opName,
23+
HashMap<String, String> args,
24+
Function<HashMap<String,String>, T> nextStage
25+
) {
26+
commandsManager.run(
27+
opName,
28+
args,
29+
this.executor
30+
).thenApply(
31+
nextStage
32+
);
33+
}
34+
}

programming/sem2/lab5_v2/src/main/java/server/core/Engine.java

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,23 @@
11
package server.core;
22

3-
import java.util.HashMap;
43
import java.util.Queue;
5-
import java.util.concurrent.CompletableFuture;
64
import java.util.concurrent.ConcurrentLinkedQueue;
7-
import java.util.concurrent.ExecutorService;
85
import java.util.concurrent.Executors;
96

10-
import server.network.NetworkContainer;
7+
import server.network.container.NetworkContainer;
118
import server.network.NetworkCycle;
129
import server.network.drivers.implementations.UDPDriver;
1310
import server.network.serializers.implementations.BinarySerializer;
1411
import server.storage.collection.drivers.implementations.DequeDriver;
15-
import server.storage.commands.CommandsManager;
1612
import shared.objects.NetworkRequestDTO;
1713
import shared.objects.NetworkResponseDTO;
1814

1915
public class Engine {
2016
private final Queue<NetworkContainer<NetworkRequestDTO>> networkReceived = new ConcurrentLinkedQueue<>();
2117
private final Queue<NetworkContainer<NetworkResponseDTO>> networkToSend = new ConcurrentLinkedQueue<>();
2218

23-
private final ExecutorService executor = Executors.newFixedThreadPool(10);
24-
private final CommandsManager cm = new CommandsManager(
19+
private final CommandFactory commandFactory = new CommandFactory(
20+
Executors.newFixedThreadPool(10),
2521
new DequeDriver()
2622
);
2723

@@ -39,19 +35,14 @@ public Engine(){
3935

4036
public void mainCycle(){
4137
try{
42-
//Thread.sleep(1);
43-
//System.out.println(networkReceived.size());
4438
if (!networkReceived.isEmpty()){
4539
System.out.println("Received from get");
4640
NetworkContainer<NetworkRequestDTO> networkRequestDTO = networkReceived.remove();
4741
System.out.println(networkRequestDTO);
4842

49-
CompletableFuture<HashMap<String,String>> future = cm.run(
43+
commandFactory.runCommand(
5044
networkRequestDTO.data().opName(),
5145
networkRequestDTO.data().args(),
52-
this.executor
53-
);
54-
future.thenApply(
5546
res->{
5647
System.out.println("fapl: " + res.toString());
5748
return networkToSend.add(

programming/sem2/lab5_v2/src/main/java/server/network/NetworkCycle.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package server.network;
22

3+
import server.network.container.NetworkContainer;
34
import server.network.drivers.INetworkDriver;
45
import server.network.serializers.INetworkSerializers;
56
import shared.objects.NetworkRequestDTO;

programming/sem2/lab5_v2/src/main/java/server/network/NetworkManager.java

Lines changed: 0 additions & 66 deletions
This file was deleted.

programming/sem2/lab5_v2/src/main/java/server/network/NetworkContainer.java renamed to programming/sem2/lab5_v2/src/main/java/server/network/container/NetworkContainer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package server.network;
1+
package server.network.container;
22

33
import java.net.SocketAddress;
44

0 commit comments

Comments
 (0)