337 lines
7.1 KiB
Typst
337 lines
7.1 KiB
Typst
= 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
|