BEGIN TRANSACTION;
/****** Object:  Table fias_AddressObjects    Script Date: 18.11.2014 16:07:48 ******/
DROP TABLE IF EXISTS fias_AddressObjects;


CREATE TABLE IF NOT EXISTS fias_AddressObjects(
	ACTSTATUS		INTEGER NULL,
	AOGUID		VARCHAR(36) NOT NULL,
	AOID			VARCHAR(36) NOT NULL,
	AOLEVEL		INTEGER NULL,
	AREACODE	VARCHAR(3) NULL,
	AUTOCODE	VARCHAR(1) NULL,
	CENTSTATUS	INTEGER NULL,
	CITYCODE	VARCHAR(3) NULL,
	CODE		VARCHAR(17) NULL,
	CURRSTATUS	INTEGER NULL,
	ENDDATE		TIMESTAMP NULL,
	FORMALNAME	VARCHAR(120) NULL,
	IFNSFL		VARCHAR(4) NULL,
	IFNSUL		VARCHAR(4) NULL,
	NEXTID		VARCHAR(36) NULL,
	OFFNAME		VARCHAR(120) NULL,
	OKATO		VARCHAR(11) NULL,
	OKTMO		VARCHAR(11) NULL,
	OPERSTATUS	INTEGER NULL,
	PARENTGUID	VARCHAR(36) NULL,
	PLACECODE	VARCHAR(3) NULL,
	PLAINCODE	VARCHAR(15) NULL,
	POSTALCODE	VARCHAR(6) NULL,
	PREVID		VARCHAR(36) NULL,
	REGIONCODE	VARCHAR(2) NULL,
	SHORTNAME	VARCHAR(10) NULL,
	STARTDATE	TIMESTAMP NULL,
	STREETCODE	VARCHAR(4) NULL,
	TERRIFNSFL	VARCHAR(4) NULL,
	TERRIFNSUL	VARCHAR(4) NULL,
	UPDATEDATE	TIMESTAMP NULL,
	CTARCODE	VARCHAR(3) NULL,
	EXTRCODE	VARCHAR(4) NULL,
	SEXTCODE	VARCHAR(3) NULL,
	LIVESTATUS	INTEGER NULL,
	NORMDOC		VARCHAR(36) NULL,
	PLANCODE	VARCHAR(4) NULL,
	CADNUM		VARCHAR(100) NULL, --Кадастровый номер
	DIVTYPE		INTEGER NULL, -- Тип деления: 0 – не определено 1 – муниципальное 2 – административное

CONSTRAINT XPKfias_AddressObjects PRIMARY KEY (AOID)) WITH (OIDS=False);

CREATE  INDEX XIE1fias_AddressObjects ON fias_AddressObjects(AOGUID);
CREATE  INDEX XIE2fias_AddressObjects ON fias_AddressObjects(PARENTGUID);
--CREATE UNIQUE INDEX XAK1fias_AddressObjects ON fias_AddressObjects(CODE);
CREATE INDEX XIE3fias_AddressObjects ON fias_AddressObjects(REGIONCODE,AUTOCODE,AREACODE,CITYCODE,CTARCODE,PLACECODE,STREETCODE,EXTRCODE,SEXTCODE);
CREATE INDEX XIE4fias_AddressObjects ON fias_AddressObjects(CODE);

COMMENT ON TABLE  fias_AddressObjects IS  'ADDROBJ (Object) содержит коды, наименования и типы адресообразующих элементов (регионы; округа; районы (улусы, кужууны); города, внутригородские районы,  поселки городского типа, сельские населенные пункты; улицы, дополнительные адресные элементы, элементы улично-дорожной сети, планировочной структуры дополнительного адресного элемента).';
COMMENT ON COLUMN fias_AddressObjects.AOGUID IS 'Глобальный уникальный идентификатор адресного объекта';
COMMENT ON COLUMN fias_AddressObjects.FORMALNAME IS 'Формализованное наименование';
COMMENT ON COLUMN fias_AddressObjects.REGIONCODE IS 'Код региона';
COMMENT ON COLUMN fias_AddressObjects.AUTOCODE IS 'Код автономии';
COMMENT ON COLUMN fias_AddressObjects.AREACODE IS 'Код района';
COMMENT ON COLUMN fias_AddressObjects.CITYCODE IS 'Код города';
COMMENT ON COLUMN fias_AddressObjects.CTARCODE IS 'Код внутригородского района';
COMMENT ON COLUMN fias_AddressObjects.PLACECODE IS 'Код населенного пункта';
COMMENT ON COLUMN fias_AddressObjects.STREETCODE IS 'Код улицы';
COMMENT ON COLUMN fias_AddressObjects.EXTRCODE IS 'Код дополнительного адресообразующего элемента';
COMMENT ON COLUMN fias_AddressObjects.SEXTCODE IS 'Код подчиненного дополнительного адресообразующего элемента';
COMMENT ON COLUMN fias_AddressObjects.OFFNAME IS 'Официальное наименование';
COMMENT ON COLUMN fias_AddressObjects.POSTALCODE IS 'Почтовый индекс';
COMMENT ON COLUMN fias_AddressObjects.IFNSFL IS 'Код ИФНС ФЛ';
COMMENT ON COLUMN fias_AddressObjects.TERRIFNSFL IS 'Код территориального участка ИФНС ФЛ';
COMMENT ON COLUMN fias_AddressObjects.IFNSUL IS 'Код ИФНС ЮЛ';
COMMENT ON COLUMN fias_AddressObjects.TERRIFNSUL IS 'Код территориального участка ИФНС ЮЛ';
COMMENT ON COLUMN fias_AddressObjects.OKATO IS 'ОКАТО';
COMMENT ON COLUMN fias_AddressObjects.OKTMO IS 'ОКТМО';
COMMENT ON COLUMN fias_AddressObjects.UPDATEDATE IS 'Дата  внесения (обновления) записи';
COMMENT ON COLUMN fias_AddressObjects.SHORTNAME IS 'Краткое наименование типа объекта';
COMMENT ON COLUMN fias_AddressObjects.AOLEVEL IS 'Уровень адресного объекта ';
COMMENT ON COLUMN fias_AddressObjects.PARENTGUID IS 'Идентификатор объекта родительского объекта';
COMMENT ON COLUMN fias_AddressObjects.AOID IS 'Уникальный идентификатор записи. Ключевое поле';
COMMENT ON COLUMN fias_AddressObjects.PREVID IS 'Идентификатор записи связывания с предыдушей исторической записью';
COMMENT ON COLUMN fias_AddressObjects.NEXTID IS 'Идентификатор записи  связывания с последующей исторической записью';
COMMENT ON COLUMN fias_AddressObjects.CODE IS 'Код адресного объекта одной строкой с признаком актуальности из КЛАДР 4.0.'; 
COMMENT ON COLUMN fias_AddressObjects.PLAINCODE IS 'Код адресного объекта из КЛАДР 4.0 одной строкой без признака актуальности (последних двух цифр)';
COMMENT ON COLUMN fias_AddressObjects.ACTSTATUS IS 'Статус актуальности адресного объекта ФИАС. Актуальный адрес на текущую дату. Обычно последняя запись об адресном объекте. 0 – Не актуальный, 1 - Актуальный';
COMMENT ON COLUMN fias_AddressObjects.CENTSTATUS IS 'Статус центра';
COMMENT ON COLUMN fias_AddressObjects.OPERSTATUS IS 'Статус действия над записью – причина появления записи (см. описание таблицы OperationStatus)';
COMMENT ON COLUMN fias_AddressObjects.LIVESTATUS IS 'Признак действующего адресного объекта: 0 – недействующий адресный объект, 1 - действующий';
COMMENT ON COLUMN fias_AddressObjects.CURRSTATUS IS 'Статус актуальности КЛАДР 4 (последние две цифры в коде)';
COMMENT ON COLUMN fias_AddressObjects.STARTDATE IS 'Начало действия записи';
COMMENT ON COLUMN fias_AddressObjects.ENDDATE IS 'Окончание действия записи';
COMMENT ON COLUMN fias_AddressObjects.NORMDOC IS 'Внешний ключ на нормативный документ';
COMMENT ON COLUMN fias_AddressObjects.PLANCODE IS 'Код элемента планировочной структуры';
COMMENT ON COLUMN fias_AddressObjects.CADNUM IS 'Кадастровый номер';
COMMENT ON COLUMN fias_AddressObjects.DIVTYPE IS 'Тип деления: 0 – не определено 1 – муниципальное 2 – административное';


--ROLLBACk TRANSACTION;
COMMIT TRANSACTION;