CREATE TABLE Owner ( owner_id BIGSERIAL PRIMARY KEY, owner_type VARCHAR(10) CHECK (owner_type IN ('person', 'company')), name VARCHAR(200) NOT NULL, tax_id VARCHAR(50) UNIQUE, address TEXT );
CREATE TABLE Call_Log ( call_id BIGSERIAL PRIMARY KEY, source_number_id BIGINT NOT NULL REFERENCES Number(number_id), destination_number_id BIGINT NOT NULL REFERENCES Number(number_id), call_timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, duration_sec INTEGER CHECK (duration_sec >= 0), spam_flag BOOLEAN DEFAULT FALSE );
CREATE TABLE Country ( country_id SERIAL PRIMARY KEY, country_code CHAR(2) UNIQUE NOT NULL, -- ISO alpha-2 dialing_prefix VARCHAR(4) NOT NULL, country_name VARCHAR(100) NOT NULL ); CREATE TABLE Number ( number_id BIGSERIAL PRIMARY KEY, e164_number VARCHAR(15) UNIQUE NOT NULL, -- e.g., 995322123456 country_id INTEGER NOT NULL REFERENCES Country(country_id), number_type VARCHAR(20) CHECK (number_type IN ('mobile', 'landline', 'voip', 'tollfree', 'emergency')), is_active BOOLEAN DEFAULT TRUE, first_assigned_date DATE, last_updated TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
CREATE TABLE Number_Owner_History ( history_id BIGSERIAL PRIMARY KEY, number_id BIGINT NOT NULL REFERENCES Number(number_id), owner_id BIGINT NOT NULL REFERENCES Owner(owner_id), start_date DATE NOT NULL, end_date DATE, UNIQUE(number_id, start_date) );
ZIP files are also known as "archive" files. They use lossless compression to reduce the size of the files inside the ZIP.
A ZIP file works like a folder that groups files and compresses them, making it easier to store, send, and share their content.
CREATE TABLE Owner ( owner_id BIGSERIAL PRIMARY KEY, owner_type VARCHAR(10) CHECK (owner_type IN ('person', 'company')), name VARCHAR(200) NOT NULL, tax_id VARCHAR(50) UNIQUE, address TEXT );
CREATE TABLE Call_Log ( call_id BIGSERIAL PRIMARY KEY, source_number_id BIGINT NOT NULL REFERENCES Number(number_id), destination_number_id BIGINT NOT NULL REFERENCES Number(number_id), call_timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, duration_sec INTEGER CHECK (duration_sec >= 0), spam_flag BOOLEAN DEFAULT FALSE ); telefonis nomrebis baza
CREATE TABLE Country ( country_id SERIAL PRIMARY KEY, country_code CHAR(2) UNIQUE NOT NULL, -- ISO alpha-2 dialing_prefix VARCHAR(4) NOT NULL, country_name VARCHAR(100) NOT NULL ); CREATE TABLE Number ( number_id BIGSERIAL PRIMARY KEY, e164_number VARCHAR(15) UNIQUE NOT NULL, -- e.g., 995322123456 country_id INTEGER NOT NULL REFERENCES Country(country_id), number_type VARCHAR(20) CHECK (number_type IN ('mobile', 'landline', 'voip', 'tollfree', 'emergency')), is_active BOOLEAN DEFAULT TRUE, first_assigned_date DATE, last_updated TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE Owner ( owner_id BIGSERIAL PRIMARY KEY,
CREATE TABLE Number_Owner_History ( history_id BIGSERIAL PRIMARY KEY, number_id BIGINT NOT NULL REFERENCES Number(number_id), owner_id BIGINT NOT NULL REFERENCES Owner(owner_id), start_date DATE NOT NULL, end_date DATE, UNIQUE(number_id, start_date) ); owner_type VARCHAR(10) CHECK (owner_type IN ('person'