Database for Assessor Office System
1. Property Profile Management
Table Property (
property_id INT PK,
arp_number VARCHAR(50) UNIQUE,
location_barangay VARCHAR(100),
lot_number VARCHAR(50),
block_number VARCHAR(50),
coordinates VARCHAR(100),
lot_size DECIMAL(12,2),
classification VARCHAR(50), -- e.g., residential, commercial
land_use VARCHAR(50), -- e.g., agricultural
created_at DATETIME,
updated_at DATETIME
)
2. Owner/Taxpayer Information
Table Owner (
owner_id INT PK,
name VARCHAR(100),
contact_number VARCHAR(50),
tin VARCHAR(20),
address TEXT
)
Table Ownership (
ownership_id INT PK,
property_id INT FK -> Property.property_id,
owner_id INT FK -> Owner.owner_id,
title_type VARCHAR(50), -- e.g., TCT or OCT
title_number VARCHAR(100),
date_acquired DATE,
is_active BOOLEAN
)
3. Assessment Module
Table Assessment (
assessment_id INT PK,
property_id INT FK -> Property.property_id,
market_value DECIMAL(12,2),
assessment_level DECIMAL(5,2),
assessed_value DECIMAL(12,2),
smv_reference VARCHAR(100),
remarks TEXT,
reassessed BOOLEAN,
date_assessed DATE
)
4. Tax Declaration Management
Table TaxDeclaration (
td_id INT PK,
assessment_id INT FK -> Assessment.assessment_id,
tax_declaration_number VARCHAR(50) UNIQUE,
current_owner_id INT FK -> Owner.owner_id,
previous_owner_id INT FK -> Owner.owner_id,
status VARCHAR(20), -- active, cancelled, under protest
issue_date DATE,
cancel_reason TEXT,
supporting_documents TEXT
)
5. Supporting Documents Repository
Table Document (
document_id INT PK,
property_id INT FK -> Property.property_id,
doc_type VARCHAR(100), -- e.g., Deed of Sale, ID
file_name VARCHAR(255),
file_path TEXT,
uploaded_at DATETIME,
uploaded_by VARCHAR(100)
)
6. Geotagging / Mapping Integration (Optional)
Table GeoMap (
geo_id INT PK,
property_id INT FK -> Property.property_id,
map_image_url TEXT,
lat DECIMAL(10,6),
lng DECIMAL(10,6),
boundary_data TEXT -- GeoJSON or shapefile reference
)
7. Search and Reports
(These are primarily query-based but you may include a table for logs or search filters if needed)
Table ReportLog (
report_id INT PK,
report_type VARCHAR(100),
generated_by VARCHAR(100),
filters_used TEXT,
date_generated DATETIME
)
8. User Access & Logs
Table User (
user_id INT PK,
username VARCHAR(50),
password_hash TEXT,
role VARCHAR(20), -- Assessor, Clerk, Encoder, Admin
name VARCHAR(100),
is_active BOOLEAN
)
Table ActivityLog (
log_id INT PK,
user_id INT FK -> User.user_id,
action TEXT,
module VARCHAR(50),
action_date DATETIME
)