Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
D
Datenbanken und Datensicherheit
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Oumar Rafiou Diallo
Datenbanken und Datensicherheit
Commits
5ff51487
Commit
5ff51487
authored
1 year ago
by
Peter Gerwinski
Browse files
Options
Downloads
Patches
Plain Diff
Praktikumsunterlagen Versuch 2
parent
f48ce110
No related branches found
No related tags found
No related merge requests found
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
20231123/dbs-2023ws-p2.pdf
+0
-0
0 additions, 0 deletions
20231123/dbs-2023ws-p2.pdf
20231123/dbs-2023ws-p2.tex
+38
-21
38 additions, 21 deletions
20231123/dbs-2023ws-p2.tex
20231123/pgscript.sty
+1
-0
1 addition, 0 deletions
20231123/pgscript.sty
with
39 additions
and
21 deletions
20231123/dbs-2023ws-p2.pdf
0 → 100644
+
0
−
0
View file @
5ff51487
File added
This diff is collapsed.
Click to expand it.
20231123/dbs-2023ws-p2.tex
+
38
−
21
View file @
5ff51487
...
...
@@ -47,36 +47,53 @@
Prof.~Dr.~Peter Gerwinski
\end{center}
Aufgabe: S
chreib
en Sie ein
Programm, das auf strukturierte Daten zugreift
und diese per TCP/IP kontrolliert zur Verfügung stellt
.
Aufgabe: S
tell
en Sie ein
en realistischen Datenbestand
in einer relationalen Datenbank dar
.
\begin{multicols}
{
2
}
%
\begin{multicols}{2}
\begin{itemize}
\item
Die struktur
ier
t
en
Daten sollen in Gestalt einer Text-Datei zur Verfügung steh
en,
z.
\,
B.
\
einer CSV-Datei. Einschränkungen hinsichtlich der Daten,
z.
\,
B.
\
das Ausschließen bestimmter Zeichen aus Strings, sind erlaubt
.
Install
ieren
Sie auf einem Rechner, auf dem Sie Administrationsrechte hab
en,
ein Datenbank-Management-System (DBMS, z.
\,
B.
\
PostgreSQL, MariaDB).
Legen Sie einen Nutzer mit Passwort an
.
\item
Ihr Programm soll über einem TCP-Port
Befehle zur selektiven Datenabfrage entgegennehmen
und die angeforderten Daten über dieselbe TCP-Verbindung ausliefern.
Machen Sie sich mit dem Umgang mit dieser Datenbank vertraut.
Hierfür können Sie z.
\,
B.
\
die Tabelle,
für die Sie in Praktikumsversuch 1 ein Abfragesystem programmiert haben,
in die Datenbank einspielen.
Geben Sie SQL-Befehle sowohl von Hand ein
als auch über vorab erstellte SQL-Skripte.
\item
Das Definieren einer für diese Situation angemessenen Abfragesprache
ist Teil der Praktikumsaufgabe.
Überlegen Sie sich ein realistisches Szenario
als Anwendungsbeispiel für eine relationale Datenbank.
Nutzen Sie für Ihre Daten verschiedene (sinnvolle!) Datentypen.
\item
Implementieren S
ie ei
ne Passwort-Abfrage,
über die sich berechtigte Benutzer Ihres Informationssystems
authentifizieren können.
Beispiel 1: Musiksammlung (vgl.~d
ie
B
ei
spiele aus der Vorlesung
bzw.~aus
\url
{
https://de.wikipedia.org/wiki/Normalisierung
_
(Datenbank)
}
zum Thema "`Normalformen"')
\item
Zusatzaufgabe 1: Implementieren Sie auch Schreibzugriff auf die Text-Datei.
Beispiel 2: Online-Shop.
Hier gibt es typischerweise Listen für die Kundschaft
inklusive teilweise mehrerer Adressen,
Listen von Waren, Listen von Bestellungen,
\dots
\item
Zusatzaufgabe 2: Demonstrieren Sie, wie sich die Authentifizer
ung
d
urch Mitlesen des Netzwerkverkehrs umgehen läßt
.
Achten Sie bei der Organisation Ihrer Daten auf die Einhalt
ung
d
er in der Vorlesung vorgestellten Normalformen
.
\item
Zusatzaufgabe 3: Gestalten Sie die Authentifizierung so, daß sie sich
durch Mitlesen des Netzwerkverkehrs nicht mehr umgehen läßt.
Erstellen Sie ein SQL-Skript, mit dem Sie diese Datenbank
automatisch einspielen können. (Beispiele dazu finden Sie z.
\,
B.
\
unter
\url
{
https://gitlab.cvh-server.de/pgerwinski/dbs/-/tree/2023ws/20231123
}
.)
\item
Stellen Sie Abhängigkeiten zwischen den Tabellen
durch primäre Schlüssel (
\lstinline
[style=cmd]
{
PRIMARY KEY
}
),
Fremdschlüssel (
\lstinline
[style=cmd]
{
FOREIGN KEY
}
)
und Tabellenverknüpfungen (
\lstinline
[style=cmd]
{
JOIN
}
) her.
\item
Erstellen Sie Sichten auf Tabellen (
\lstinline
[style=cmd]
{
VIEW
}
)
für praxistypische Anwendungsfälle (z.
\,
B.
\
in Beispiel 1:
Liste sämtlicher Musikstücke inklusive Album, Erscheinungsjahr usw.).
\end{itemize}
\end{multicols}
%
\end{multicols}
\strut\hfill\emph
{
Viel Erfolg!
}
...
...
@@ -88,7 +105,7 @@
\setlength
{
\leftskip
}{
3cm
}
Stand: 2
2
.
\
November 2023
Stand: 2
8
.
\
November 2023
Copyright
\copyright\
2023
\quad
Peter Gerwinski
\\
Lizenz:
\mylicense
...
...
This diff is collapsed.
Click to expand it.
20231123/pgscript.sty
0 → 120000
+
1
−
0
View file @
5ff51487
../common/pgscript.sty
\ No newline at end of file
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment