@@ -10,121 +10,126 @@ sequenceDiagram
10
10
``` mermaid
11
11
erDiagram
12
12
13
- artists {
14
- INTEGER ArtistId PK "'Artist' nullable "
15
- NVARCHAR Name
13
+ Artist {
14
+ INTEGER ArtistId PK "NOT NULL "
15
+ NVARCHAR120 Name
16
16
}
17
17
18
- employees {
19
- INTEGER EmployeeId
20
- NVARCHAR LastName
21
- NVARCHAR FirstName
22
- NVARCHAR Title
23
- INTEGER ReportsTo
18
+ Employee {
19
+ INTEGER EmployeeId PK "NOT NULL"
20
+ NVARCHAR20 LastName "NOT NULL"
21
+ NVARCHAR20 FirstName "NOT NULL"
22
+ NVARCHAR30 Title
23
+ INTEGER ReportsTo FK
24
24
DATETIME BirthDate
25
25
DATETIME HireDate
26
- NVARCHAR Address
27
- NVARCHAR City
28
- NVARCHAR State
29
- NVARCHAR Country
30
- NVARCHAR PostalCode
31
- NVARCHAR Phone
32
- NVARCHAR Fax
33
- NVARCHAR Email
26
+ NVARCHAR70 Address
27
+ NVARCHAR40 City
28
+ NVARCHAR40 State
29
+ NVARCHAR40 Country
30
+ NVARCHAR10 PostalCode
31
+ NVARCHAR24 Phone
32
+ NVARCHAR24 Fax
33
+ NVARCHAR60 Email
34
34
}
35
35
36
- genres {
37
- INTEGER GenreId
38
- NVARCHAR Name
36
+ Genre {
37
+ INTEGER GenreId PK "NOT NULL"
38
+ NVARCHAR120 Name
39
39
}
40
40
41
- media_types {
42
- INTEGER MediaTypeId
43
- NVARCHAR Name
41
+ MediaType {
42
+ INTEGER MediaTypeId PK "NOT NULL"
43
+ NVARCHAR120 Name
44
44
}
45
45
46
- playlists {
47
- INTEGER PlaylistId
48
- NVARCHAR Name
46
+ Playlist {
47
+ INTEGER PlaylistId PK "NOT NULL"
48
+ NVARCHAR120 Name
49
49
}
50
50
51
- albums {
52
- INTEGER AlbumId
53
- NVARCHAR Title
54
- INTEGER ArtistId
51
+ Album {
52
+ INTEGER AlbumId PK "NOT NULL"
53
+ NVARCHAR160 Title "NOT NULL"
54
+ INTEGER ArtistId FK "NOT NULL"
55
55
}
56
56
57
- customers {
58
- INTEGER CustomerId
59
- NVARCHAR FirstName
60
- NVARCHAR LastName
61
- NVARCHAR Company
62
- NVARCHAR Address
63
- NVARCHAR City
64
- NVARCHAR State
65
- NVARCHAR Country
66
- NVARCHAR PostalCode
67
- NVARCHAR Phone
68
- NVARCHAR Fax
69
- NVARCHAR Email
70
- INTEGER SupportRepId
57
+ Customer {
58
+ INTEGER CustomerId PK "NOT NULL"
59
+ NVARCHAR40 FirstName "NOT NULL"
60
+ NVARCHAR20 LastName "NOT NULL"
61
+ NVARCHAR80 Company
62
+ NVARCHAR70 Address
63
+ NVARCHAR40 City
64
+ NVARCHAR40 State
65
+ NVARCHAR40 Country
66
+ NVARCHAR10 PostalCode
67
+ NVARCHAR24 Phone
68
+ NVARCHAR24 Fax
69
+ NVARCHAR60 Email "NOT NULL"
70
+ INTEGER SupportRepId FK
71
71
}
72
72
73
- invoices {
74
- INTEGER InvoiceId
75
- INTEGER CustomerId
76
- DATETIME InvoiceDate
77
- NVARCHAR BillingAddress
78
- NVARCHAR BillingCity
79
- NVARCHAR BillingState
80
- NVARCHAR BillingCountry
81
- NVARCHAR BillingPostalCode
82
- NUMERIC Total
73
+ test_table {
74
+ INTEGER id PK "NOT NULL"
75
+ TEXT Field2_2 "'Field 2_2'"
76
+ INTEGER ArtistId FK "'Artist Id'"
83
77
}
84
78
85
- tracks {
86
- INTEGER TrackId
87
- NVARCHAR Name
88
- INTEGER AlbumId
89
- INTEGER MediaTypeId
90
- INTEGER GenreId
91
- NVARCHAR Composer
92
- INTEGER Milliseconds
93
- INTEGER Bytes
94
- NUMERIC UnitPrice
79
+ Invoice {
80
+ INTEGER InvoiceId PK "NOT NULL"
81
+ INTEGER CustomerId FK "NOT NULL"
82
+ DATETIME InvoiceDate "NOT NULL"
83
+ NVARCHAR70 BillingAddress
84
+ NVARCHAR40 BillingCity
85
+ NVARCHAR40 BillingState
86
+ NVARCHAR40 BillingCountry
87
+ NVARCHAR10 BillingPostalCode
88
+ NUMERIC10_2 Total "NOT NULL"
95
89
}
96
90
97
- invoice_items {
98
- INTEGER InvoiceLineId
99
- INTEGER InvoiceId
100
- INTEGER TrackId
101
- NUMERIC UnitPrice
102
- INTEGER Quantity
91
+ Track {
92
+ INTEGER TrackId PK "NOT NULL"
93
+ NVARCHAR200 Name "NOT NULL"
94
+ INTEGER AlbumId FK
95
+ INTEGER MediaTypeId FK "NOT NULL"
96
+ INTEGER GenreId FK
97
+ NVARCHAR220 Composer
98
+ INTEGER Milliseconds "NOT NULL"
99
+ INTEGER Bytes
100
+ NUMERIC10_2 UnitPrice "NOT NULL"
103
101
}
104
102
105
- playlist_track {
106
- INTEGER PlaylistId
107
- INTEGER TrackId
103
+ InvoiceLine {
104
+ INTEGER InvoiceLineId PK "NOT NULL"
105
+ INTEGER InvoiceId FK "NOT NULL"
106
+ INTEGER TrackId FK "NOT NULL"
107
+ NUMERIC10_2 UnitPrice "NOT NULL"
108
+ INTEGER Quantity "NOT NULL"
108
109
}
109
110
110
- artists ||--o{ albums : "foreign key"
111
+ PlaylistTrack {
112
+ INTEGER PlaylistId PK "NOT NULL"
113
+ INTEGER TrackId PK "NOT NULL"
114
+ }
111
115
112
- employees ||--o{ customers : "foreign key"
113
- employees ||--o{ employees : "foreign key"
116
+ Artist ||--o{ Album : "[Artist.ArtistId] to [Album.ArtistId]"
114
117
115
- genres ||--o{ tracks : "foreign key "
118
+ Employee ||--o{ Customer : "[Employee.EmployeeId] to [Customer.SupportRepId] "
116
119
117
- media_types ||--o{ tracks : "foreign key "
120
+ Artist ||--o{ test_table : "[Artist.ArtistId] to ['test_table'.'Artist Id'] "
118
121
119
- playlists ||--o{ playlist_track : "foreign key "
122
+ Customer ||--o{ Invoice : "[Customer.CustomerId] to [Invoice.CustomerId] "
120
123
121
- albums ||--o{ tracks : "foreign key"
124
+ Album ||--o{ Track : "[Album.AlbumId] to [Track.AlbumId]"
125
+ Genre ||--o{ Track : "[Genre.GenreId] to [Track.GenreId]"
126
+ MediaType ||--o{ Track : "[MediaType.MediaTypeId] to [Track.MediaTypeId]"
122
127
123
- customers ||--o{ invoices : "foreign key"
128
+ Invoice ||--o{ InvoiceLine : "[Invoice.InvoiceId] to [InvoiceLine.InvoiceId]"
129
+ Track ||--o{ InvoiceLine : "[Track.TrackId] to [InvoiceLine.TrackId]"
124
130
125
- invoices ||--o{ invoice_items : "foreign key"
131
+ Playlist ||--o{ PlaylistTrack : "[Playlist.PlaylistId] to [PlaylistTrack.PlaylistId]"
132
+ Track ||--o{ PlaylistTrack : "[Track.TrackId] to [PlaylistTrack.TrackId]"
126
133
127
- tracks ||--o{ invoice_items : "foreign key"
128
- tracks ||--o{ playlist_track : "foreign key"
129
134
130
135
```
0 commit comments