How suchanya-pangam/room-booking-database-design works
DataSci Booking is a PostgreSQL database design for a room-booking system, not a connected web application. Its intended workflow is to record a room request, apply booking and approval rules, track room occupancy, and expose only public availability; a separate equipment-loan workflow tracks returns and reports. The README also documents identity separation, runtime grants, and data-retention maintenance. The graph reflects those documented capabilities, but SQL source was not sampled, so it does not assert undocumented table-level wiring or backend implementation.
Main entry points: schema.sql Room booking · runtime-grants.sql Runtime grants · maintenance.sql Retention policy
Components 20
Rooms & bookings
- Room booking
sql/schema.sql - Room inventory
sql/schema.sql - Room closures
sql/schema.sql - Approval rules
sql/schema.sql - Public availability
sql/schema.sql
Equipment lifecycle
- Equipment inventory
sql/schema.sql - Equipment loan
sql/schema.sql - Return reports
sql/schema.sql
Identity & access
- User profiles
sql/schema.sql - Login accounts
sql/schema.sql - Eligible-user roster
sql/schema.sql - System settings
sql/schema.sql
Database operations
- Schema definition
sql/schema.sql - Booking database
sql/schema.sql - Runtime grants
sql/runtime-grants.sql - Retention policy
sql/maintenance.sql
Other components
- Room requester
- Designated approver
- Public visitor
- Backend service
Connections 17
- Schema definition → Booking database: defines
- Backend service → Room booking: submits requests
- Room booking → Room inventory: reserves
- Room booking → Approval rules: applies
- Approval rules → Designated approver: routes pending approvals
- Room booking → Room closures: checks conflicts
- Public visitor → Public availability: views
- Public availability → Room inventory: reads availability
- Backend service → Equipment loan: records loans
- Equipment loan → Equipment inventory: tracks items
- Equipment loan → Return reports: matches returns
- Backend service → User profiles: manages profiles
- User profiles → Login accounts: pairs one-to-one
- Eligible-user roster → User profiles: seeds eligible users
- System settings → Designated approver: identifies approver
- Runtime grants → Booking database: limits runtime access
- Retention policy → Booking database: cleans retained data