mirror of
				https://github.com/mermaid-js/mermaid.git
				synced 2025-11-04 04:44:08 +01:00 
			
		
		
		
	Merge pull request #4030 from tomperr/feature/4009_er_multiple_constraints
feat(er): add multiple key constraints
This commit is contained in:
		@@ -200,14 +200,13 @@ The `type` and `name` values must begin with an alphabetic character and may con
 | 
			
		||||
 | 
			
		||||
#### Attribute Keys and Comments
 | 
			
		||||
 | 
			
		||||
Attributes may also have a `key` or comment defined. Keys can be "PK", "FK" or "UK", for Primary Key, Foreign Key or Unique Key. And a `comment` is defined by double quotes at the end of an attribute. Comments themselves cannot have double-quote characters in them.
 | 
			
		||||
Attributes may also have a `key` or comment defined. Keys can be `PK`, `FK` or `UK`, for Primary Key, Foreign Key or Unique Key. To specify multiple key constraints on a single attribute, separate them with a comma (e.g., `PK, FK`).. A `comment` is defined by double quotes at the end of an attribute. Comments themselves cannot have double-quote characters in them.
 | 
			
		||||
 | 
			
		||||
```mermaid-example
 | 
			
		||||
erDiagram
 | 
			
		||||
    CAR ||--o{ NAMED-DRIVER : allows
 | 
			
		||||
    CAR {
 | 
			
		||||
        string allowedDriver FK "The license of the allowed driver"
 | 
			
		||||
        string registrationNumber UK
 | 
			
		||||
        string registrationNumber PK
 | 
			
		||||
        string make
 | 
			
		||||
        string model
 | 
			
		||||
        string[] parts
 | 
			
		||||
@@ -217,17 +216,21 @@ erDiagram
 | 
			
		||||
        string driversLicense PK "The license #"
 | 
			
		||||
        string(99) firstName "Only 99 characters are allowed"
 | 
			
		||||
        string lastName
 | 
			
		||||
        string phone UK
 | 
			
		||||
        int age
 | 
			
		||||
    }
 | 
			
		||||
    MANUFACTURER only one to zero or more CAR
 | 
			
		||||
    NAMED-DRIVER {
 | 
			
		||||
        string carRegistrationNumber PK, FK
 | 
			
		||||
        string driverLicence PK, FK
 | 
			
		||||
    }
 | 
			
		||||
    MANUFACTURER only one to zero or more CAR : makes
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
```mermaid
 | 
			
		||||
erDiagram
 | 
			
		||||
    CAR ||--o{ NAMED-DRIVER : allows
 | 
			
		||||
    CAR {
 | 
			
		||||
        string allowedDriver FK "The license of the allowed driver"
 | 
			
		||||
        string registrationNumber UK
 | 
			
		||||
        string registrationNumber PK
 | 
			
		||||
        string make
 | 
			
		||||
        string model
 | 
			
		||||
        string[] parts
 | 
			
		||||
@@ -237,9 +240,14 @@ erDiagram
 | 
			
		||||
        string driversLicense PK "The license #"
 | 
			
		||||
        string(99) firstName "Only 99 characters are allowed"
 | 
			
		||||
        string lastName
 | 
			
		||||
        string phone UK
 | 
			
		||||
        int age
 | 
			
		||||
    }
 | 
			
		||||
    MANUFACTURER only one to zero or more CAR
 | 
			
		||||
    NAMED-DRIVER {
 | 
			
		||||
        string carRegistrationNumber PK, FK
 | 
			
		||||
        string driverLicence PK, FK
 | 
			
		||||
    }
 | 
			
		||||
    MANUFACTURER only one to zero or more CAR : makes
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Other Things
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user