Back to skills
SKILL.md
Database Standard
ASecurityDatabase design standards defining primary keys, foreign keys, audit fields, soft delete, junction tables. PostgreSQL style preferred, SQL lowercase without comments.
- 666 stars
- 0 votes
- 1 copy
- 18 views
- Added February 8, 2026
Security analysis
100/100npx -y skills add majiayu000/claude-skill-registry --skill database-standard --agent claude-codeAre you the author of Database Standard?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/majiayu000-database-standard)---
name: database-standard
description: Database design standards defining primary keys, foreign keys, audit fields, soft delete, junction tables. PostgreSQL style preferred, SQL lowercase without comments.
---
## Database Preferences
- **Forbidden**: MySQL
- **Recommended**: PostgreSQL or other modern databases
- **Required**: Foreign key constraints for data integrity
## SQL Code Style
- All **lowercase**
- SQL files have **no comments**
## Primary Key Standard
| Field | Type | Description |
|-------|------|-------------|
| `id` | bigint | Primary key, required for all regular tables |
## Audit Fields
All tables except junction tables MUST include:
| Field | Full Name | Type | Default | Description |
|-------|-----------|------|---------|-------------|
| `crd` | create row datetime | timestamp | current_timestamp | Row creation time, timezone-independent |
| `mrd` | modify row datetime | timestamp | null | Last modification time, timezone-independent, nullable |
| `rlv` | row lock version | integer | 0 | Optimistic lock version |
## Soft Delete Field
| Field | Full Name | Type | Default | Description |
|-------|-----------|------|---------|-------------|
| `ldf` | logic delete field | timestamp | null | Soft delete time, timezone-independent, null means active |
## Junction Table Standard
Tables linking two entities:
- **No primary key**
- **No audit fields**
- **Only** foreign key IDs from both tables
## Tree Structure
Tables with upward lookup (e.g., address) use `pid` for parent link:
| Field | Type | Description |
|-------|------|-------------|
| `pid` | bigint | Parent primary key, nullable |
## Examples
### Regular Table
```sql
create table user (
id bigint primary key,
name varchar(255) not null,
email varchar(255),
ldf timestamp,
crd timestamp not null default current_timestamp,
mrd timestamp,
rlv integer not null default 0
);
```
### Junction Table
```sql
create table user_role (
user_id bigint not null references user(id),
role_id bigint not null references role(id)
);
```
### Tree Table
```sql
create table address (
id bigint primary key,
pid bigint references address(id),
name varchar(255) not null,
crd timestamp not null default current_timestamp,
mrd timestamp,
rlv integer not null default 0
);
```
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.