Die Entitäten
Folgende Entitäten werden von VirtL benötigt:
Entität (Link) | Kurzbeschreibung |
---|---|
Entity Acteur | Beschreibt einen Schauspieler |
Entity Address | Beschreibt die Adresse einer Person oder den Aufenthaltsort eines Buches, Magazins, einer CD oder einer DVD. |
Entity Author | Beschreibt einen Autor. |
Entity Book | Beschreibt ein Buch. |
Entity CD | Beschreibt eine CD. |
Entity DVD | Beschreibt eine DVD. |
Entity Email | Beschreibt die Daten einer Email Adresse. |
Entity Genre | Beschreibt ein Genre. |
Entity Interpret | Beschreibt einen Interpreten. |
Entity Magazine | Beschreibt ein Magazin. |
Entity Movie | Beschreibt einen Film. |
Entity Phone | Beschreibt einen Telefonnummer Eintrag. |
Entity Regiseur | Beschreibt einen Regisseur. |
Entity User | Beschreibt eine Person die mit diesem System arbeitet. |
Entity UserBook | Beschreibt die User bezogenen Daten zu einem Buch. |
Entity UserCD | Beschreibt die User bezogenen Daten zu einer CD. |
Entity UserDVD | Beschreibt die User bezogenen Daten zu einer DVD. |
Entity UserGroup | Beschreibt eine Personengruppe die sich zusammengeschlossen hat um das System gemeinsam zu benutzen. |
Entity UserGroupCandidate | Beinhaltet Referenzen auf User die zu einer bestimmten UserGroup angefügt werden wollen. |
Entity UserMagazine | Beschreibt die personenbezogenen Daten zu einem Magazin. |
Entity Vendor | Beschreibt einen Händler der spezifische Medien anbietet. |
Entity Wishlist | Beschreibt eine Wunschliste die ein User anlegen kann. |
In der folgenden Grafik sind die Zusammenhänge zwischen den einzelnen Entitäten skizziert.

Konstanten
Die folgende Tabelle beschreibt alle im System verwendeten Konstanten. Der Aufbau der Tabelle ist dabei:
- Konstantenname
Der Name unter dem die Konstante im System geführt wird. - Zweck
Angabe welchem Zweck diese Konstante dient. - Verwendet in Entität
Direkter Link zu den Attributen der Entitäten in denen die Konstante verwendet wird. - Beschreibung
Link auf die Beschreibung wozu die Konstante verwendet wird.
Konstantenname | Zweck | Verwendet in Entität | Beschreibung |
---|---|---|---|
ACTIVE | Angabe ob ein User zur Zeit am System als aktiver User registriert ist. | Entity User | User Statusinformationen |
INACTIVE | Angabe ob ein User zur Zeit mit dem System nicht aktiv arbeitet. | Entity User | User Statusinformationen |
DELETE | Angabe ob ein User aus dem aktiven System entfernt werden soll. | Entity User | User Statusinformationen |
DEFAULT_USER | Definition um bei einer Entität den CreatorUser ohne User anzugeben |
Entity Book Entity Author Entity Magazine Entity CD Entity DVD Entity Interpret Entity Acteur Entity Regiseur |
User Statusinformationen |
User Statusinformationen
Die Konstanten ACTIVE, INACTIVE und DELETE geben Informationen darüber wie ein User im System registriert wurde.
- ACTIVE
Gibt an das dieser User zur Zeit das System aktiv verwenden kann. Dieser Status hat nichts mit dem derzeitigen Zustand der Verarbeitung des User zu tun. Ein AKTIV gesetzter User kann sich am System anmelden und dieses System verwenden. - INACTIVE
Der User verwendet dieses System zur Zeit nicht. Seine Daten bleiben jedoch in der aktiven Datenbank vorhanden. Falls eine Berechnung für aktive User eingesetzt wird, muss dieser User für die Datenhaltung eine längere Zeit nichts bezahlen. - DELETE
Der User wurde für eine Löschung registriert. Seine Datensätze werden von einem Cleanup Job aus der aktiven Datenbank herausgelöscht und auf ein Archivmedium gespeichert - DEFAULT_USER
Mit dieser Konstanten wird der Besitzer einer Entität auf einen allgemeinen Wert gesetzt. Diese Entität wird dem User, der als Nächster eine Veränderung an der Entität durchführt, übertragen.
Entitäten
Die von diesem System statisch verwalteten Entitäten sind im Folgenden aufgeführt.
Die einzelnen Attribute werden mit den Kardinalitäten (1 für genau einmal, * für 0,1 oder n mal) angegeben. Weiterhin wird mit (FK) festgelegt ob dieses Attribut ein Foreign Key auf eine andere Entität ist.
UserGroup
Mit dieser Entität wird eine Gruppe User verwaltet.
Zweck der Entität UserGroup
Wenn sich ein User bei einer UserGroup anmeldet, kann die UserGroup seine Medien mitverwenden. Der User veröffentlicht auf diese Weise seine Medien. Weiterhin kann der User alle Medien der UserGroup Teilnehmer einsehen und sich somit aktiv beteiligen. Jede UserGroup hat ein- oder mehrere Administratoren zugewiesen. Diese Administratoren nehmen den Antrag eines neuen Users entgegen und berechtigen ihn für die UserGroup. Auf diese Weise können unerwünschte Personen nicht in den UserGroups aktiv werden. Die Administratoren sind für die UserGroup verantwortlich. Wenn ein User verbotene Medien verwendet, können die Administratoren diesen User aus der UserGroup entfernen.
UserGroup Attribute
Die folgende Tabelle beschreibt alle fachlichen Attribute der Entität UserGroup.
Attribut | Beschreibung |
---|---|
Name 1 | Der Name dieser UserGroup. |
Description 1 | Eine Beschreibung welcher Personenkreis diese UserGroup verwendet. |
User * (FK) | Alle User die mit dieser UserGroup verbunden sind. |
Administrator * (FK) | Alle Administratoren dieser UserGroup. Es muss für jede UserGroup mindestens ein User als Administrator eingetragen sein. Die UserGroup wird gelöscht falls der letzte eingetragene Administrator aus dem System entfernt wird. |
ID 1 | Eine eindeutige ID mit der die einzelnen UserGroups selektiert werden können. (Siehe Attribut ID) |
UserGroupCandidates
Diese Entität verwaltet alle User die zu einer UserGroup hinzugefügt werden wollen, von einem Administrator jedoch noch nicht akzeptiert wurden.
Zweck der Entität UserGroupCandidates
Damit ein User sich bei einer UserGroup anmelden kann, muss er sich bei dieser UserGroup registrieren und der Administrator der UserGroup muss ihn akzeptieren. Es sind somit immer zwei Arbeitsschritte notwendig um einen User in einer UserGroup aufzunehmen. Diese Maßnahme ist notwendig, damit der User festlegen kann in welchen UserGroups er aufgenommen werden will und der Administrator festlegen kann ob dieser User überhaupt in dieser UserGroup erwünscht ist.
Diese Entität hat keine ID (Siehe Attribut ID), da eine Entität durch den Schlüssel UserGroup eindeutig ist.
Attribut | Beschreibung |
---|---|
UserGroup 1 (FK) | Die UserGroup für die sich die User um eine Mitgliedschaft bewerben. |
User * (FK) | Die Kandidaten für diese UserGroup. |
Diese Entität verwaltet eine Email Adresse eines User.
Zweck der Entität Email
Damit ein User seine Emailadressen ablegen kann wird diese Entität benötigt. Ein User kann mehrere Emails im System abspeichern.
Attribut | Beschreibung |
---|---|
Email 1 | Die Email Adresse. |
Description 1 | Eine textuelle Beschreibung für diese Emailadresse. |
ID 1 | Eine eindeutige ID mit der die Email selektiert wird. (Siehe Attribut ID) |
User
Die Entität User repräsentiert eine Person die mit diesem System arbeitet.
Zweck der Entität User
Jede Person, die mit diesem System arbeiten will, muss sich als User registrieren. Nachdem ein User registriert ist, kann er seine Medien im System verwalten. Falls er sich mit anderen User Akteuren austauschen will, muss er sich bei mindestens einer UserGroup anmelden. So kann ein User sich bei der UserGroup <Firmenname> und seine Medien gleichzeitig an die UserGroup <FreundeKonstanz> anmelden. Welche Medien eines User bei den einzelnen UserGroups angezeigt werden sollen kann der User selbst bestimmen und jederzeit ändern.
User Attribute
Die folgende Tabelle beschreibt alle fachlichen Attribute der Entität User.
Attribut | Beschreibung |
---|---|
Name 1 | Der Familienname des Users. |
Surname 1 | Der Vorname des Users. |
Phone * (FK) | Die Telefonnummern des Users. |
Sex 1 | Angabe ob es sich beim User um eine Frau, Firma oder einen Mann handelt. Wird für die Anrede benötigt. |
Address 1 (FK) | Beschreibt den Wohnort des Users. |
UserBook * (FK) | Verknüpfung zu den Büchern des Users. |
UserMagazin * (FK) | Verknüpfung zu den Magazinen des Users. |
UserCD * (FK) | Verknüpfung zu den CDs des Users. |
UserDVD * (FK) | Verknüpfung zu den DVDS des Users. |
Email * (FK) | Verknüpfung zu den Emails des Users. |
ID 1 | Eine eindeutige ID über die der User selektiert wird. (Siehe Attribut ID) |
Nickname 1 | Ein Spitzname mit dem der User sich im System zu erkennen geben kann. |
Status 1 | Mit diesem Flag wird der Status des Users angegeben. Die möglichen Werte sind ACTIVE, INACTIVE oder DELETE. |
Changedate 1 | Hiermit wird festgelegt wann die Stammdaten des Users das letzte mal verändert wurden. Falls ein User eine lange Zeit inaktiv ist, kann ein Cleanup Job gestartet werden der die alten Daten aus dem System entfernt. |
Password 1 | Das derzeitige Passwort dieses Accounts. Dieses Password wird nicht im Klartext gespeichert. |
PasswordLastChanged 1 | Datumsangabe wann das Passwort das letzte mal geändert wurde. |
LastPassword * | Eine Liste mit den letzten Passwörtern des Users. Diese dürfen vom User nicht verwendet werden. |
LastPasswordDate * | Zu den letzten Passwörtern wird abgespeichert wann der User dieses Passwort verwendet hat. Begründung hierfür siehe Passwort Eigenschaften |
Phone
Die Entität Phone repräsentiert eine Telefonnummer.
Zweck der Entität Phone
Um einen User Informationen bei Änderungen im System mitteilen zu können, muss dieser seine Telefonnummern dem System bekannt geben. Nur registrierte Telefonnummern werden berechtigt, sich mit dem System in Verbindung zu setzten. Falls eine Telefonnummer nicht zu einem User zugeordnet werden kann, geht das System davon aus, dass es sich hier um einen nicht registrierten User handelt. Weiterhin werden die Telefonnummern dazu verwendet, die Zugriffe innerhalb einer UserGroup zu regeln. Ein User der UserGroup darf diverse Informationen der restlichen User unter anderem auch über sein Mobiltelefon abfragen. Dazu gehören die Wunschliste der User und die Informationen über die Medien der User. Damit nur berechtigte User diese Wunschliste einsehen können, wird die Telefonnummer als Teil des Anmeldeschlüssels verwendet.
Phone Attribute
Die folgende Tabelle beschreibt alle fachlichen Attribute der Entität Phone.
Attribut | Beschreibung |
---|---|
Number 1 | Die Telefonnummer. |
Description 1 | Eine Beschreibung die zu der Telefonnummer angehängt werden kann. |
Typ 1 | Mit dem Typ kann angegeben werden ob es sich um eine private, geschäftliche oder Mobile Nummer handelt. |
ID 1 | Eine eindeutige ID mit der die Telefonnummer selektiert werden kann. (Siehe Attribut ID) |
Vendor
Die Entität Vendor repräsentiert einen Anbieter der dieses System verwendet um die Wunschlisten der User abzuarbeiten.
Zweck der Entität Vendor
Der Vendor ermöglicht es den Usern die gewünschten Medien zu kaufen.
Vendor kann in diesem System ein aktiver User oder ein passives Element sein.
Aktive Vendor User sind Firmen, die die Wunschlisten ihrer Kunden kontrollieren und die dort aufgeführten Medien für die User besorgen. Diese User sind im System angelegt und wurden zu den jeweiligen UserGroups hinzugefügt.
Passive Vendors sind Entitäten die beschreiben, welche Anbieter es für ein gewünschtes Medium gibt. Diese Vendors werden von den Usern angelegt und können von allen Usern eingesehen werden.
Vendor Attribute
Die folgende Tabelle beschreibt alle fachlichen Attribute der Entität Vendor.
Attribut | Beschreibung |
---|---|
Name 1 | Der Name des Vendors. |
Phone * (FK) | Die Telefonnummern des Vendors. |
Address 1 (FK) | Beschreibt die postalische Anschrift des Vendors. |
User * (FK) | Verknüpfung zu den Usern die sich von diesem Vendor versorgen lassen. |
Email * (FK) | Verknüpfung zu den Emails des Vendors. |
CreatorUser 1 (FK) | User der diesen Vendor angelegt hat. (Siehe Attribut CreatorUser) |
ID 1 | Eine eindeutige ID über die der Vendor selektiert wird. (Siehe Attribut ID) |
CopyOf 1 | Angabe, ob es sich um eine Kopie vom Originalstammdatensatz des Vendors handelt. (Siehe Attribut CopyOf) |
Link 1 | Link auf die Homepage des Vendors. |
Wishlist
Die Entität Wishlist wird dazu verwendet für den jeweiligen User eine Wunschliste zusammenstellen zu können.
Zweck der Entität Wishlist
Der User vermerkt sich in einer Liste, die aus der Entität Wishlist besteht, alle seine gewünschten Bücher, Magazine, CDs und DVDS um diese zu einem bestimmten Zeitpunkt zu besorgen.
Dabei kann der User die Medien von Mitgliedern seiner UserGroups ausleihen oder selbst kaufen.
Falls ein User ein Medium zum Kauf vermerkt, kann er zu jedem Zeitpunkt diese Wunschliste abfragen und bearbeiten. Die Rolle Vendor kann die Wunschlisten durchsuchen und den Usern die gewünschten Medien anbieten.
Wishlist Attribute
Die folgende Tabelle beschreibt alle fachlichen Attribute der Entität Wishlist.
Attribut | Beschreibung |
---|---|
Medium 1 (FK) | Verweis auf das gewünschte Medium. |
Buy 1 | Angabe ob das Medium gekauft werden soll. |
Borrow 1 | Angabe ob das Medium ausgeliehen werden soll. |
Description 1 | Ein freier Text in dem z.B. beschrieben werden kann wo das Medium gekauft werden soll. |
Vendor * (FK) | Angabe welche Händler für den Kauf dieses Mediums angegangen werden sollen. Mit dieser Information werden die Vendors getriggert. |
Wishdate | Wann soll das Medium dem User zur Verfügung stehen. |
ID 1 | Eine eindeutige ID über die der User seine Wunschliste selektieren kann. (Siehe Attribut ID) |
Genre
Die Entität Genre wird dazu verwendet für das einzelne Medium festzulegen um welche Art von Medium es sich handelt.
Zweck der Entität Genre
Ein Genre ist zum Beispiel bei DVDS die Angabe um welche Art von Film es sich handelt. Horrorfilm, Liebesfilm, Dokumentation usw..
Bei Büchern sind Genres Belletristik, Roman, Fachbuch.
Diese Entität wird vom Systemadministrator gepflegt. Ein neues Genre Muss von einem User per Mail an den Systemadministrator gesendet werden. Änderungen an dieser Entität werden ebenfalls nur vom Systemadministrator durchgeführt.
Genre Attribute
Die folgende Tabelle beschreibt alle fachlichen Attribute der Entität Genre.
Attribut | Beschreibung |
---|---|
Name 1 | Name des Genres |
Description 1 | Beschreibung des Genres. |
Type 1 | Angabe ob es sich um ein Genre für Bücher, Magazine, DVDS oder CDs handelt. |
ID 1 | Eine eindeutige ID über die das Genre selektiert wird. (Siehe Attribut ID) |
Movie
Die Entität Movie beschreibt die Eigenschaften eines Films.
Zweck der Entität Movie
Ein Film besteht aus einem bestimmten Genre, einer Länge, einer Handlung usw.
Movie Attribute
Die folgende Tabelle beschreibt alle fachlichen Attribute der Entität Movie.
Attribut | Beschreibung |
---|---|
Name 1 | Name des Filmes |
Description 1 | Beschreibung des Filmes. |
Language 1 | Angabe welche Originalsprache dieser Film verwendet. |
ID 1 | Eine eindeutige ID über welche die Movie Entität selektiert wird. (Siehe Attribut ID) |
Address
Die Entität Address repräsentiert eine postalische Adresse.
Zweck der Entität Address
Mit den Adressinformationen werden die User im System registriert. Weiterhin kann Address dazu verwendet werden die Medien einem Standort zuzuweisen. So können die Fachbücher eines Users an seinem Arbeitsplatz deponiert sein. Seine DVD Sammlung ist jedoch an seinem Wohnort zu finden.
Address Attribute
Die folgende Tabelle beschreibt alle fachlichen Attribute der Entität Address.
Attribut | Beschreibung |
---|---|
Street 1 | Straßenangabe. |
Number 1 | Die Straßennummer. |
Postcode 1 | Die Postleitzahl. |
Town 1 | Die Stadt. |
POBox 1 | Falls es sich um ein Postfach handelt, kann dies hier eingetragen werden. Hierüber können User ihre Adresse angeben. Medien können nicht an eine POBox gesendet werden. |
Country 1 | Das Land |
ID 1 | Eine eindeutige ID über die diese Adresse selektiert werden kann. (Siehe Attribut ID) |
UserBook
Die Entität UserBook repräsentiert die Informationen die ein User über seine eigenen Bücher hinterlegt.
Zweck der Entität UserBook
Hier werden alle Informationen, die ein User zu einem physikalischen Buch hat, festgehalten.
Er kann angeben das er der Besitzer dieses Buches ist. Er kann beschreiben, an welcher Adresse er dieses Buch aufbewahrt. Weiterhin kann er beschreiben, ob das Buch zur Zeit von ihm gelesen wird oder ob er es sich reserviert hat.
UserBook Attribute
Die folgende Tabelle beschreibt alle fachlichen Attribute der Entität UserBooks.
Attribut | Beschreibung |
---|---|
Book 1 (FK) | Verweis auf die Stammdaten des entsprechenden Buchs. |
Bewertung 1 | Ein User kann einem Buch exakt eine Bewertung anhängen. |
UserDefinedID 1 | Falls der User der Besitzer dieses Buches ist, kann er eine eigene ID (nicht die ISBN) festlegen um das Buch zu kennzeichnen. |
Owner 1 | Angabe ob der User dieses Buch besitzt. |
InUseOf 1 (FK) | Angabe ob dieses Buch zur Zeit von einem User verwendet wird. Es wird auf den jeweiligen User verwiesen. |
Reservation * (FK) | Angabe ob User dieses Buch lesen wollen und es hierfür reservieren. Falls das Buch frei wird, kann es an den jeweiligen User ausgeliehen werden. |
Address 1 (FK) | Angabe an welchem Ort sich dieses Buch zur Zeit befindet. |
ID 1 | Eine eindeutige ID über die das UserBook selektiert wird. (Siehe Attribut ID) |
Book
Die Entität Book repräsentiert die Abbildung eines Buches.
Zweck der Entität Book
Mit dieser Entität werden alle Daten, die ein Buch beschreiben, zusammengefasst. Der erste User, der ein Buch erfasst, legt die Stammdaten eines Buches an. Zu den Stammdaten gehören die ISBN Nummer, der Verweis auf mindestens einen Autor, mindestens einen Verlag und weitere Definitionen.
Ein physikalisches Buch wird durch UserBook und Book beschrieben. UserBook kann dabei mehrmals vorkommen. Zum Beispiel können mehrere Personen Harry Potter Bücher besitzen. Die allgemeine Beschreibung der Harry Potter Bücher wird in der Entität Book einmalig hinterlegt.
Book Attribute
Die folgende Tabelle beschreibt alle fachlichen Attribute der Entität Book.
Attribut | Beschreibung |
---|---|
Titel 1 | Jedes Buch wird mit einem Titel versehen. |
ISBN 1 | Die Bestellnummer des Buches. |
Covertext 1 | Beschreibung, die auf dem Cover des Buches steht. |
Picture * | Die elektronische Ansicht des Buches. |
Author * (FK) | Die Buchautoren. |
Publisher * (FK) | Die Angaben zum Verlag der dieses Buch vertreibt. |
Description 1 | Eine Beschreibung zu diesem Buch. |
Genre 1 (FK) | Angaben, wie Beispielsweise Belletristik, Fachbuch usw.. Die Genres sind als Konstanten im System abgelegt. |
CreatorUser 1 (FK) | User der dieses Buch angelegt hat. (Siehe Attribut CreatorUser) |
ID 1 | Eine eindeutige ID über die das Buch selektiert wird. (Siehe Attribut ID) |
CopyOf 1 (FK) | Angabe, ob es sich um eine Kopie vom Originalstammdatensatz des Buches handelt. (Siehe Attribut CopyOf) |
Author
Die Entität Author hält die Informationen über einen Autor.
Zweck der Entität Author
Die Autoren von Büchern und Magazinen können für Suchanfragen verwendet werden. So kann es sinnvoll sein alle Bücher, die ein bestimmter Autor geschrieben hat und im System vorhanden sind, aufzulisten. Wenn einem ein Autor liegt, ist es sehr wahrscheinlich das man mehrere Bücher von diesem Autor lesen will.
Author Attribute
Die folgende Tabelle beschreibt alle fachlichen Attribute der Entität Author.
Attribut | Beschreibung |
---|---|
Name 1 | Der Nachname des Autors. |
Surname 1 | Der Vorname des Autors. |
Description 1 | Allgemeine Beschreibung zu diesem Autor. |
Country 1 | Angabe aus welchem Land der Autor kommt. |
Homepage 1 | Link auf die Homepage des Autors. |
Publisher * (FK) | Angabe für welche Verlage der Autor bisher geschrieben hat. |
Address 1 (FK) | Falls bekannt, die Adresse des Autors. |
Genre * (FK) | Angabe für welche Genres der Autor bisher geschrieben hat. |
CreatorUser 1 (FK) | User der diesen Author angelegt hat. (Siehe Attribut CreatorUser) |
ID 1 | Eine eindeutige ID über die dieser Autor selektiert wird. (Siehe Attribut ID) |
CopyOf 1 (FK) | Angabe, ob es sich um eine Kopie vom Originalstammdatensatz des Autors handelt. (Siehe Attribut CopyOf) |
UserMagazine
Die Entität UserMagazine repräsentiert die Informationen die ein User über seine eigenen Magazine hinterlegt.
Zweck der Entität UserMagazine
Hier werden alle Informationen, die ein User zu einem physikalischen Magazin hat, festgehalten.
Er kann angeben das er der Besitzer dieses Magazins ist. Er kann beschreiben, an welcher Adresse er dieses Magazin aufbewahrt. Weiterhin kann er beschreiben, ob das Magazin zur Zeit von ihm gelesen wird oder ob er es sich reserviert hat.
UserMagazine Attribute
Die folgende Tabelle beschreibt alle fachlichen Attribute der Entität UserMagazine.
Attribut | Beschreibung |
---|---|
Magazin 1 (FK) | Verweis auf das entsprechende Magazin. |
Description 1 | Ein User kann einem Magazin eine Beschreibung hinterlegen, wie er dieses Magazin einschätzt. |
UserDefinedID 1 | Falls der User der Besitzer dieses Magazins ist, kann er eine eigene ID (nicht die ID des Verlages) festlegen um das Magazin zu kennzeichnen. |
Owner 1 | Angabe ob der User dieses Magazin besitzt. |
InUseOf 1 (FK) | Angabe ob dieses Magazin zur Zeit von einem User verwendet wird. Es wird auf den jeweiligen User verwiesen. |
Reservation * (FK) | Angabe ob sich User dieses Magazin gerne lesen würden und es sich deshalb reserviert haben. Falls das Magazin nicht benutzt wird kann es an den jeweiligen User übergeben werden. |
Address 1 (FK) | Angabe an welchem Ort sich dieses Magazin befindet. |
ID 1 | Eine eindeutige ID über die dieses UserMagazine selektiert werden kann. (Siehe Attribut ID) |
Magazine
Die Entität Magazine repräsentiert die Abbildung einer Ausgabe eines Magazins.
Zweck der Entität Magazine
Mit dieser Entität werden alle Attribute einer Ausgabe eines Magazins erfasst.
Der erste User, der eine Ausgabe eines Magazins erfasst, legt somit die Stammdaten des betreffenden Magazins an. Zu den Stammdaten gehören die Bestellnummer, der Verweis auf die Autoren, einen Verlag und weitere Definitionen.
Ein physikalisches Magazin wird durch UserMagazine und Magazine beschrieben. UserMagazine kann dabei mehrmals vorkommen. Zum Beispiel können mehrere Personen die Zeitschrift CT abonniert haben. Die allgemeine Beschreibung der Ausgabe November 2004 wird in der Entität Magazine hinterlegt.
Magazine Attribute
Die folgende Tabelle beschreibt alle fachlichen Attribute der Entität Magazine.
Attribut | Beschreibung |
---|---|
Titel 1 | Jedes Magazin wird mit einem Titel versehen. |
PublisherID 1 | Die Bestellnummer des Magazins. |
Index 1 | Inhaltsangabe des Magazins. |
Picture * | Die elektronische Ansicht des Magazins |
Author * (FK) | Angaben zu den Autoren die in diesem Magazin geschrieben haben. |
Publisher * (FK) | Die Angaben zum Verlag der dieses Magazin vertreibt. |
Descriptions * | Die Beschreibungen sind Freitexte welche die einzelnen Artikel im Magazin beschreiben. |
CreatorUser 1 (FK) | User der dieses Magazin angelegt hat. (Siehe Attribut CreatorUser) |
ID 1 | Eine eindeutige ID über die das Magazin selektiert wird. (Siehe Attribut ID) |
CopyOf 1 (FK) | Angabe, ob es sich um eine Kopie vom Originalstammdatensatz des Magazins handelt. (Siehe Attribut CopyOf) |
UserCD
Die Entität UserCD repräsentiert die Informationen die ein User über seine CDs hinterlegt.
Zweck der Entität UserCD
Hier werden alle Informationen, die ein User zu einer physikalischen CD hat, festgehalten. Er kann angeben das er der Besitzer dieser CD ist. Er kann beschreiben, an welcher Adresse er diese CD aufbewahrt. Weiterhin kann er beschreiben, ob die CD zur Zeit von ihm verwendet wird oder ob er sie sich reserviert hat.
UserCD Attribute
Die folgende Tabelle beschreibt alle fachlichen Attribute der Entität UserCD.
Attribut | Beschreibung |
---|---|
CD 1 (FK) | Verweis auf die entsprechende CD. |
Description 1 | Ein User kann einer CD eine Beschreibung hinterlegen, wie er diese CD einschätzt. |
UserDefinedID 1 | Falls der User der Besitzer dieser CD ist, kann er eine eigene ID (nicht die ID des Verlages) festlegen um die CD zu kennzeichnen. |
Owner 1 | Angabe ob der User diese CD besitzt. |
InUseOf 1 (FK) | Angabe ob diese CD zur Zeit von einem User verwendet wird. Es wird auf den jeweiligen User verwiesen. |
Reservation * (FK) | Angabe ob ein User diese CD reservieren will um sie auszuleihen. Falls die CD frei wird kann sie dem User übermittelt werden. |
Address 1 (FK) | Angabe an welchem Ort sich diese CD befindet. |
ID 1 | Eine eindeutige ID über die diese UserCD selektiert werden kann. (Siehe Attribut ID). |
CD
Die Entität CD repräsentiert die Abbildung einer CD.
Zweck der Entität CD
Mit dieser Entität werden alle Attribute einer CD erfasst. Der erste User, der eine CD erfasst, legt somit die Stammdaten der betreffenden CD an. Mit CDDB können die Titel zu einer bestimmten CD erfasst werden. Die Stammdaten einer CD sind die Interpreten, die einzelnen Liedtitel, der Titel der CD und die Cover der CD.
Eine physikalische CD wird durch UserCD und CD beschrieben. UserCD kann dabei mehrmals vorkommen. Zum Beispiel können mehrere Personen die CD Metallica Load besitzen. Die allgemeine Beschreibung zu dieser CD kann im System mehrmals hinterlegt sein, jedoch verweisen alle Stammdatenkopien auf die Originalstammdaten um eine Bereinigung auf nur wenige Varianten durchführen zu können.
CD Attribute
Die folgende Tabelle beschreibt alle fachlichen Attribute der Entität CD.
Attribut | Beschreibung |
---|---|
Titel 1 | Jede CD wird mit einem Titel versehen. |
EAN 1 | Die Bestellnummer der CD. |
SongTitel * | Die einzelnen Titel dieser CD |
Interpret * (FK) | Angaben zu den Interpreten. Auf einer CD können mehrere Interpreten vorhanden sein. |
CreatorUser 1 (FK) | User der diese CD angelegt hat. (Siehe Attribut CreatorUser) |
ID 1 | Eine eindeutige ID über die diese CD selektiert wird. (Siehe Attribut ID) |
CopyOf 1 (FK) | Angabe, ob es sich um eine Kopie vom Originalstammdatensatz der CD handelt. (Siehe Attribut CopyOf) |
UserDVD
Die Entität UserDVD repräsentiert die Informationen die ein User über seine DVDS hinterlegt.
Zweck der Entität UserDVD
Hier werden alle Informationen, die ein User zu einer physikalischen DVD hat, festgehalten.
Er kann angeben das er der Besitzer dieser DVD ist. Er kann beschreiben, an welcher Adresse er diese DVD aufbewahrt. Weiterhin kann er beschreiben, ob die DVD zur Zeit von ihm verwendet wird oder ob er sie sich reserviert hat.
UserDVD Attribute
Die folgende Tabelle beschreibt alle fachlichen Attribute der Entität UserDVD.
Attribut | Beschreibung |
---|---|
DVD 1 (FK) | Verweis auf die entsprechende DVD. |
Description 1 | Ein User kann einer DVD eine Beschreibung hinterlegen, wie er diese DVD einschätzt. |
UserDefinedID 1 | Falls der User der Besitzer dieser DVD ist, kann er eine eigene ID (nicht die ID des Verlages) festlegen um die DVD zu kennzeichnen. |
Owner 1 | Angabe ob der User diese DVD besitzt. |
InUseOf 1 (FK) | Angabe ob diese DVD zur Zeit von einem User verwendet wird. Es wird auf den jeweiligen User verwiesen. |
Reservation * (FK) | Angabe ob sich User diese DVD reserviert haben um sie auszuleihen falls die DVD frei wird. |
Address 1 (FK) | Angabe an welchem Ort sich diese DVD befindet. |
ID 1 | Eine eindeutige ID über die diese UserDVD selektiert wird. (Siehe Attribut ID) |
DVD
Die Entität DVD repräsentiert die Abbildung einer DVD.
Zweck der Entität DVD
Mit dieser Entität werden alle Attribute einer DVD erfasst. Der erste User, der eine DVD erfasst, legt somit die Stammdaten der betreffenden DVD an.
Die Stammdaten einer DVD sind der Titel, das Genre, welche Schauspieler und Regisseure mitgewirkt haben. Eine physikalische DVD wird durch UserDVD und DVD beschrieben. UserDVD kann dabei mehrmals vorkommen. Zum Beispiel können mehrere Personen die DVD Pulp Fiction besitzen. Die allgemeine Beschreibung zu dieser DVD sind im System normalerweise nur einmal hinterlegt. Falls ein User eine eigene Kopie der DVD Stammdaten anlegen will, wird immer auf den Ursprungsdatensatz verwiesen. Somit können die Datensätze bereinigt werden.
DVD Attribute
Die folgende Tabelle beschreibt alle fachlichen Attribute der Entität DVD.
Attribut | Beschreibung |
---|---|
Titel 1 | Jede DVD wird mit einem Titel versehen. |
EAN 1 | Die Bestellnummer der DVD. |
Acteur * (FK) | Die mitwirkenden Schauspieler des Filmes der mit dieser DVD abgebildet ist. |
Regiseur * (FK) | Angaben zu den Regisseuren. Bei einem Film können mehrere Regisseure mitgewirkt haben. |
CreatorUser 1 (FK) | User der diese DVD angelegt hat. (Siehe Attribut CreatorUser) |
ID 1 | Eine eindeutige ID über die diese DVD selektiert wird. (Siehe Attribut ID) |
CopyOf 1 (FK) | Angabe, ob es sich um eine Kopie vom Originalstammdatensatz der DVD handelt. (Siehe Attribut CopyOf) |
Interpret
Die Entität Interpret hält die Informationen über eine Gruppe oder Sänger.
Zweck der Entität Interpret
Der jeweilige Interpret besitzt eine Biographie in der beschrieben wird welche Musikstücke und Alben dieser Interpret veröffentlicht hat. Weiterhin können Informationen zu den Interpreten abgelegt werden um was für Menschen es sich handelt und mit welchen anderen Interpreten sie zusammen gearbeitet haben.
Wenn ein Interpret gute Musik macht, möchte man vermutlich weitere Werke von dieser Person auswählen.
Interpret Attribute
Die folgende Tabelle beschreibt alle fachlichen Attribute der Entität Interpret.
Attribut | Beschreibung |
---|---|
Name 1 | Der Nachname des Interpreten. |
Surname 1 | Der Vorname des Interpreten. |
Description 1 | Allgemeine Beschreibung zu diesem Interpreten. |
Country 1 | Angabe aus welchem Land der Interpret kommt. |
Homepage 1 | Link auf die Homepage des Interpreten. |
Genre * (FK) | Angabe für welche Genres der Interpret bisher gespielt hat. |
CD * | Angabe bei welchen CDs dieser Interpret mitgewirkt hat. |
Interpret * (FK) | Angabe mit welchen Interpreten dieser Interpret zusammen gearbeitet hat. |
CreatorUser 1 (FK) | User der diesen Interpret angelegt hat. (Siehe Attribut CreatorUser) |
ID 1 | Eine eindeutige ID über die der Interpret selektiert wird. (Siehe Attribut ID) |
CopyOf 1 (FK) | Angabe, ob es sich um eine Kopie vom Originalstammdatensatz des Interpreten handelt. (Siehe Attribut CopyOf) |
Acteur
Die Entität Acteur hält die Informationen über einen Schauspieler.
Zweck der Entität Acteur
Die Schauspieler haben Biographien in denen beschrieben wird in welchen Filmen sie mitgewirkt haben. Weiterhin können Informationen zu den Schauspielern abgelegt werden um was für Menschen es sich handelt und mit welchen anderen Schauspielern und Regisseuren sie zusammen gearbeitet haben.
Wenn ein Schauspieler gute Filme dreht, möchte man vermutlich weitere Filme von dieser Person ansehen.
Acteur Attribute
Die folgende Tabelle beschreibt alle fachlichen Attribute der Entität Acteur.
Attribut | Beschreibung |
---|---|
Name 1 | Der Nachname des Schauspielers. |
Surname 1 | Der Vorname des Schauspielers. |
Description 1 | Allgemeine Beschreibung zu diesem Schauspieler. |
Country 1 | Angabe aus welchem Land der Schauspieler kommt. |
Homepage 1 | Link auf die Homepage des Schauspieler. |
Genre * (FK) | Angabe für welche Genres der Schauspieler bisher gespielt hat. |
Movie * (FK) | Angabe in welchen Filmen dieser Schauspieler mitgewirkt hat. |
Regiseur * (FK) | Angabe mit welchen Regisseuren dieser Schauspieler zusammen gearbeitet hat. |
Acteur * (FK) | Angabe mit welchen Schauspielern dieser Schauspieler zusammen gearbeitet hat. |
CreatorUser 1(FK) | User der diesen Schauspieler angelegt hat. (Siehe Attribut CreatorUser) |
ID 1 | Eine eindeutige ID über welche der Schauspieler selektiert wird. (Siehe Attribut ID) |
CopyOf 1 (FK) | Angabe, ob es sich um eine Kopie vom Originalstammdatensatz des Schauspielers handelt. (Siehe Attribut CopyOf) |
Regiseur
Die Entität Regiseur hält die Informationen über einen Regisseur.
Zweck der Entität Regiseur
Ein Regisseur beschreibt in seiner Biographie in welchen Filmen er mitgewirkt hat. Weiterhin werden Informationen abgelegt um was für Menschen es sich bei dem Regisseur handelt und mit welchen Schauspielern und Regisseuren er zusammen gearbeitet hat.
Wenn ein Regisseur gute Filme dreht, möchte man vermutlich weitere Filme von dieser Person ansehen.
Regiseur Attribute
Die folgende Tabelle beschreibt alle fachlichen Attribute der Entität Regiseur.
Attribut | Beschreibung |
---|---|
Name 1 | Der Nachname des Regisseurs. |
Surname 1 | Der Vorname des Regisseurs. |
Description 1 | Allgemeine Beschreibung zu diesem Regisseur. |
Country 1 | Angabe aus welchem Land der Regisseur kommt. |
Homepage 1 | Link auf die Homepage des Regisseurs. |
Genre * (FK) | Angabe für welche Genres der Regisseur bisher Filme gedreht hat. |
Movie * (FK) | Angabe in welchen Filmen dieser Regisseur mitgewirkt hat. |
Regiseur * (FK) | Angabe mit welchen Regisseuren dieser Regisseur zusammen gearbeitet hat. |
Acteur * (FK) | Angabe mit welchen Schauspielern dieser Regisseur zusammen gearbeitet hat. |
CreatorUser 1 (FK) | User der diesen Regiseur angelegt hat. (Siehe Attribut CreatorUser) |
ID 1 | Eine eindeutige ID über die der Regiseur selektiert wird. (Siehe Attribut ID) |
CopyOf 1 (FK) | Angabe, ob es sich um eine Kopie vom Originalstammdatensatz des Regisseurs handelt. (Siehe Attribut CopyOf) |
Beschreibung allgemeiner Attribute
In den einzelnen Entitäten werden Attribute in ähnlicher Weise immer wieder verwendet. Um die Eindeutigkeit der Attribute und deren Verwendung zu gewährleisten sind die betroffenen Attribute hier zusammengefasst.
Attribut CopyOf
Es ist möglich, dass die Stammdaten der einzelnen Entitäten, wie zum Beispiel die Stammdaten eines Regisseurs, fehlerhaft eingegeben wurden.
Weiter kann es möglich sein, dass ein User mit den Stammdaten nicht einverstanden ist und seine eigenen Stammdaten im System hinterlegen will.
Um diesem Wunsch nachzukommen bietet das System die Möglichkeit eine Kopie der Originalstammdaten anzulegen und an die jeweiligen Bedürfnisse anzupassen.
Mit CopyOf wird beschrieben auf welches Original sich diese Kopie bezieht.
Die Original Stammdaten bleiben unverändert und können nur vom CreatorUser verändert werden.
Wenn der User, der eine Kopie des Original Stammdatensatzes anlegt der Meinung ist das der Original Stammdatensatz verändert werden soll, kann er seine Kopie verwenden um seine Änderungswünsche dem CreatorUser des Originals mitzuteilen.
Wenn der CreatorUser des Originals mit diesem Änderungsvorschlag einverstanden ist, werden die Originalstammdaten von der Kopie überschrieben. Falls der CreatorUser nicht einverstanden ist, oder keine Änderungen vornimmt, bleiben beide Datensätze nebeneinander erhalten.
Die einzelnen User verwenden immer den Originalstammdatensatz. Die Kopie ist nur von dem jeweiligen User einseh- und verwendbar der diese Kopie erstellt hat.
Attribut CreatorUser
Mit diesem Attribut wird festgelegt welcher User den Stammdatensatz einer Entität angelegt hat. Wenn ein User als CreatorUser eingetragen ist, kann er die Stammdaten verändern und, falls es keine Referenzen auf physikalische Dokumente gibt, diese auch löschen.
Wenn ein User aus dem System auf INAKTIVE oder DELETE gesetzt wird schreibt das System für alle Stammdaten dieses Users den DEFAULT_USER als CreatorUser ein. Der nächste User, der diesen Stammdatensatz verändern will, wird als danach als CreatorUser eingetragen.
Attribut ID
Jede Entität innerhalb des Systems erhält eine eindeutige ID, die nach dem Anlegen nicht mehr verändert werden kann.
Im Datenbankdesign Muss darauf geachtet werden das diese ID automatisch vergeben wird. Über die ID werden alle Stammdatensätze und User referenziert.
Jeder Datensatz in jeder Tabelle wird mit einer ID eindeutig gestaltet. Auf diese Weise kann die Architektur so gestaltet werden, dass eine referenzielle Integrität auf Datenbankebene durchgeführt werden kann. Fehlverhalten durch nicht korrekt arbeitende Prozeduren können hiermit minimiert werden und die Datensätze bleiben in sich fachlich korrekt.
Designpatterns für die Datenhaltung
Die Entitäten lassen auf diverse Designpatterns schließen. Die folgenden Kapitel beschreiben die angewendeten Designpatterns für die Datenhaltung.
Patterns für UserBook, UserMagazine, UserCD und UserDVD
Es ist nicht auszuschließen, dass noch weitere Medien mit diesem System verwaltet werden sollen. In weiteren Ausbaustufen kann der Wunsch aufkommen, MP3 Sammlungen, Briefmarkensammlungen usw. anbieten zu können. Um ein durchgängiges Framework für die verschiedenen Bedürfnisse aufbauen zu können, soll das Factory Pattern (Fabrikmethode) sich um das Generieren der einzelnen Objekte kümmern. Da diese Entitäten viele gleiche Attribute besitzen soll außerdem das Decorator Pattern angewendet werden.
Patterns für Book, Magazine, CD und DVD
Da diese Entitäten viele gleiche Attribute besitzen soll das Decorator Pattern angewendet werden.
Zukünftige Erweiterungen
In späteren Ausbaustufen kann das System auch zur Verwaltung von Wissen in Gruppen verwendet werden. Die UserGroup und User Konstellation bleibt dabei erhalten. Anstatt Bücher werden Wissensbestandteile abgelegt. Die einzelnen User können ihre Einträge einschreiben, verändern und abrufen. Innerhalb der UserGroup können die Erkenntnisse ausgetauscht werden.