= Systemübersicht == Systemkontext == Systemarchitektur == Systemschnittstellen === Realisierte Schnittstellen === Verwendete Schnittstellen == Logisches Datenmodell #figure( kind: image, ```pintora erDiagram USER { string id PK datetime created_date datetime last_modified_date int version string email boolean enabled string firstName string lastName string password string token boolean tokenExpired string userName UNIQUE } USER ||--o{ AUTHORIZATION_MATRIX : "matrix" ROLE { string id PK datetime created_date datetime last_modified_date int version string name } ROLE ||--o{ AUTHORIZATION_MATRIX : "matrix" AUTHORIZATION_MATRIX { string id PK datetime created_date datetime last_modified_date int version string user_id FK string role_id FK } ```, caption: [Benutzer ER-Diagramm] ) #figure( kind: image, ```pintora erDiagram comic { string id PK datetime created_date datetime last_modified_date int version boolean completed boolean currentOrder string title string publisher_id FK } comic ||--o{ comic_work : "1" comic ||--o{ issue : "1" comic ||--o{ volume : "1" comic ||--o{ story_arc : "1" comic ||--o{ trade_paperback : "1" volume { string id PK datetime created_date datetime last_modified_date int version string name string comic_id FK } volume ||--o{ issue : "1" issue { string id PK datetime created_date datetime last_modified_date int version boolean in_stock boolean is_read string issue_number string comic_id FK string volume_id FK } publisher { string id PK datetime created_date datetime last_modified_date int version string name } publisher ||--o{ comic : "1" artist { string id PK datetime created_date datetime last_modified_date int version string name } artist ||--o{ comic_work : "1" story_arc { string id PK datetime created_date datetime last_modified_date int version string name string comic_id FK } trade_paperback { string id PK datetime created_date datetime last_modified_date int version int issueStart int issueEnd string name string comic_id FK } worktype { string id PK datetime created_date datetime last_modified_date int version string name } worktype ||--o{ comic-work : "1" comic_work { string id PK datetime created_date datetime last_modified_date int version string artist_id FK string comic_id FK string worktype_id FK } ```, caption: [Comics ER-Diagramm] ) #figure( kind: image, ```pintora erDiagram sport { string id PK datetime created_date datetime last_modified_date int version string name } team { string id PK datetime created_date datetime last_modified_date int version string name string short_name string sport_id FK } field_position { string id PK datetime created_date datetime last_modified_date int version string name string short_name string sport_id FK } rooster { string id PK datetime created_date datetime last_modified_date int version int year string player_id FK string position_id FK string team_id FK } player { string id PK datetime created_date datetime last_modified_date int version string first_name string last_name } vendor { string id PK datetime created_date datetime last_modified_date int version string name } card_set { string id PK datetime created_date datetime last_modified_date int version boolean insert_set string name boolean parallel_set string vendor_id FK } card { string id PK datetime created_date datetime last_modified_date int version int cardNumber int year string card_set FK string rooster_id FK string vendor_id FK } sport ||--o{ team : "1" sport ||--o{ field_position : "1" field_position ||--o{ rooster : "1" player ||--o{ rooster : "1" team ||--o{ rooster : "1" vendor ||--o{ card : "1" card_set ||--o{ card : "1" rooster ||--o{ card : "1" ```, caption: [TYSC ER-Diagramm] ) #figure( kind: image, ```pintora erDiagram book { string id PK datetime created_date datetime last_modified_date int version string isbn UNIQUE string title int year string publisher_id FK } bookshelf_publisher { string id PK datetime created_date datetime last_modified_date int version string name UNIQUE } author { string id PK datetime created_date datetime last_modified_date int version string first_name string last_name } article { string id PK datetime created_date datetime last_modified_date int version string title } article_author { string id PK datetime created_date datetime last_modified_date int version string article_id FK string author_id FK } book_author { string id PK datetime created_date datetime last_modified_date int version string book_id FK string author_id FK } bookshelf_publisher ||--o{ book : "1" article ||--o{ article_author : "1" author ||--o{ article_author : "1" book ||--o{ book_author : "1" author ||--o{ book_author : "1" ```, caption: [Bookshelf ER-Diagramm] ) #figure( kind: image, ```pintora erDiagram mail { string id PK datetime created_date datetime last_modified_date int version string subject string content datetime received_date datetime sent_date } mail_account { string id PK datetime created_date datetime last_modified_date int version string host string password int port string protocol boolean start_tls string user_name } mail_address { string id PK datetime created_date datetime last_modified_date int version string internet_address UNIQUE string personal string user_id FK } user ||--o{ mail_address : "1" ```, caption: [Mail ER-Diagramm] ) === Einschränkungen