DBMS – QLNhaKhoa und Parallelität
- Gruppenprojekt aus dem HCMUS-Kurs „Datenbankmanagementsystem“ 2023.
Inhaltsverzeichnis
- Inhalt
- QLNhaKhoa, QLNK_Release und Assets
- SQL
- Erste Schritte
- Voraussetzungen
- Installation
- Verwendung
- Zum Einrichten der Datenbank
- Zum Ausführen der QLNhaKhoa-Anwendung
- Um Parallelitätskonflikte zu beobachten oder zu beheben
- Im DBMS
- In der QLNhaKhoa-App
- Gebaut mit
- Lernen Sie das Team kennen
Inhalt
-
Project.pdf
enthält alle Aufgaben und Anforderungen des Projekts (auf Vietnamesisch). -
Report.pdf
enthält unsere Dokumentation für alle Entwürfe und erforderlichen Aufgaben (auf Vietnamesisch).
QLNhaKhoa
, QLNK_Release
und assets
Quellcode, Release-Build und Ressourcen im Zusammenhang mit der C#-WinForms-App.
ACHTUNG: In beiden Fällen läuft die Anwendung auch nach dem Schließen der Schnittstelle im Hintergrund weiter.
- Durch Ausführen von
QLNhaKhoa.exe
in QLNK_Release
, - Durch
Start Without Debugging (Ctrl + F5)
in Visual Studio.
Es sollte manuell mit dem Task-Manager beendet werden, indem nach QLNhaKhoa
gesucht wird.
SQL
Alle Ordner und Dateien sind ziemlich selbsterklärend, aber hier sind einige bemerkenswerte Dinge:
-
setupDB.bat
erstellt die Datenbank und füllt alle Daten auf. -
concurrency
enthält Implementierungen und Lösungen für Parallelitätskonfliktszenarien.
Erste Schritte
Voraussetzungen
- Windows 10 oder 11.
- Für die WinForms-Entwicklung:
- Visual Studio 2022 und seine
.NET desktop development
-Workload.
- SQL Server 2022 Developer und SQL Server Management Studio (SSMS) 19.2.
- (Optional) Jeder anständige Code-Editor, vorzugsweise VSCode.
- Es erleichtert lediglich die Bearbeitung des Quellcodes der Datenbank.
Installation
(zurück nach oben)
Verwendung
Zum Einrichten der Datenbank
- Starten Sie den
SQL Server
und stellen Sie eine Verbindung zu ihm her.- Stellen Sie sicher, dass Sie über ausreichende Berechtigungen verfügen.
- Navigieren Sie in
SQL
Ordner. - Führen Sie
setupDB.bat
aus.- Alle Daten werden mithilfe gespeicherter Prozeduren eingefügt. Aufgrund der strengen Einschränkungen beim Einfügen einiger Tabellen ist zu erwarten, dass viele Daten die Prüfungen nicht bestehen.
Zum Ausführen der QLNhaKhoa-Anwendung
- Beenden Sie die Einrichtung der Datenbank.
- Navigieren Sie zu
QLNK_Release
. - Führen Sie
QLNhaKhoa.exe
aus.
ACHTUNG: Die Anwendung läuft auch nach dem Schließen der Schnittstelle im Hintergrund weiter. Es sollte manuell mit dem Task-Manager beendet werden, indem nach QLNhaKhoa
gesucht wird.
Um Parallelitätskonflikte zu beobachten oder zu beheben
Im DMBS
- Starten Sie den
SQL Server
und stellen Sie eine Verbindung zu ihm her.- Stellen Sie sicher, dass Sie über ausreichende Berechtigungen verfügen.
- Navigieren Sie zum Ordner
SQLconcurrencyco
, wobei co
der Konflikt Ihrer Wahl ist. - Führen Sie
co.sql
aus, um alle Basisprozeduren durch die fehlerhaften oder reparierten zu ersetzen. - Führen Sie
tran1.sql
und dann direkt danach tran2.sql
aus.- Für ein optimales Erlebnis sollte jede Datei in einer SSMS-Instanz geöffnet werden, die beide nebeneinander platziert werden sollten.
- Weitere Informationen finden Sie in den MSSQL-Isolationsstufen-Demos von CodeCowboyOrg.
In der QLNhaKhoa-App
- Starten Sie den
SQL Server
und stellen Sie eine Verbindung zu ihm her.- Stellen Sie sicher, dass Sie über ausreichende Berechtigungen verfügen.
- Navigieren Sie zum Ordner
SQLconcurrencyco
, wobei co
der Konflikt Ihrer Wahl ist. - Führen Sie
co.sql
aus, um alle Basisprozeduren durch die fehlerhaften oder reparierten zu ersetzen. - Führen Sie zwei Instanzen von QLNhaKhoa nebeneinander aus und befolgen Sie dabei die oben genannten Schritte.
- Führen Sie Aktionen aus, die für die Konfliktszenarien relevant sind.
- Nun ist dieser Schritt sehr schwer zu erklären, da die Möglichkeiten endlos sind. Im Prinzip einfach experimentieren.
- Für Hinweise können Sie sich alle
tran1.sql
s und tran2.sql
s ansehen und dann versuchen, diese Abfragen in die App zu übersetzen.
Gebaut mit
| | | | | |
---|
2022 v17.8.3 | 8,0 | Entwickler 2022 | 19.2.56.2 | 1,85,0 | 11 |
Lernen Sie das Team kennen
(zurück nach oben)