Lesson 1Audit and Change Log table: change_id, element_id, change_type, timestamp, user, reasonPlan the Check and Change Record table to follow part history, catching who changed what, when, and why, so analysts can rebuild model states, find odd things, and help leading and rule needs.
Defining change_id and linking to element_idModeling change_type and lifecycle eventsTimestamp precision and time zone handlingCapturing user identity and change reasonsPartitioning and retention of large audit logsLesson 2Systems table: system_id, system_type, connected_elements, performance_tagsSet the Systems table to show logic and real BIM systems, storing system kind, linked parts, and work marks, letting analysis of nets, powers, and system-level work.
Designing system_id and system_type fieldsModeling connected_elements relationshipsStoring performance_tags and KPIsHandling nested and overlapping systemsQuerying systems for impact analysisLesson 3Issues and Clashes table: issue_id, element_ids, clash_type, severity, assigned_to, status, detection_dateSet the Problems and Clashes table to note found troubles, linked parts, clash kinds, serious level, given to, state, and find date, letting ordered teamwork flows and work reports across BIM projects.
Designing issue_id and element_ids linkageRepresenting clash_type and severity scalesTracking status, assigned_to, and due fieldsStoring detection_date and resolution datesIntegrating with clash detection toolsLesson 4Core Elements table: element_id, model_source, category, family/type, UUID, geometry_refSet the Core Parts table as the main BIM fact-like thing, catching part marks, groups, families, kinds, and shape links to help joins with costs, problems, assets, and other study tables.
Choosing stable element_id and external keysStoring model_source and version metadataModeling category, family, and type attributesReferencing geometry via geometry_ref fieldsIndexing for fast element-level analyticsLesson 5Schedules/Phasing table: phase_id, element_id (FK), planned_start, planned_end, construction_statusSet the Times and Phases table to catch planned start, end, and build state per part and phase, letting time-based analysis, progress follow, and 4D BIM reports.
Defining phase_id and element_id foreign keysModeling planned_start and planned_end datesTracking construction_status and milestonesAligning phases with project calendarsLinking schedule data to external toolsLesson 6Locations table: location_id, building, wing, floor, room_id, coordinatesSet the Places table to make space data from BIM models standard, including buildings, wings, floors, rooms, and points, letting steady space asks, adds up, and cross-project place analysis.
Primary keys and surrogate location_id strategyNormalizing building, wing, floor, and room codesStoring and indexing 2D and 3D coordinatesHandling multi-building and campus hierarchiesLinking locations to BIM views and gridsLesson 7Costs table: cost_id, element_id (FK), unit_cost, quantity, total_cost, currency, cost_sourceSet the Costs table to link money data to BIM parts, storing unit cost, amount, total cost, money type, and cost from, letting sure cost guess, compare, and budget difference study.
Defining cost_id and element_id foreign keyModeling unit_cost, quantity, and total_costHandling multi-currency and exchange ratesCapturing cost_source and estimation methodsAggregating costs by location and systemLesson 8Assets and Maintenance table: asset_id, element_id (FK), manufacturer, serial, warranty_end, maintenance_frequencyPlan the Assets and Upkeep table to follow running data for BIM parts, including maker, serial numbers, guarantees, and upkeep times, helping life handling and building running.
Defining asset_id and element_id relationshipsCapturing manufacturer and model metadataStoring serial, warranty_end, and documentsModeling maintenance_frequency and tasksAligning assets with CMMS and CAFM systems