ecad product guide - ossian smyth
TRANSCRIPT
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7
ECAD PRODUCT GUIDE
Edition 1, version 7
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7
Table of Contents
1. General Information .................................................................................................................. 3
1.1 Background .......................................................................................................................................... 3
1.2 What is an Eircode? ........................................................................................................................... 3
1.3 Who supplies Eircode? ..................................................................................................................... 4
1.4 Sources of Data ................................................................................................................................... 4
1.5 Addressing in Ireland ........................................................................................................................ 4
1.6 Eircode Structure and Presentation.............................................................................................. 6
1.7 Eircode Address Database (ECAD) ................................................................................................. 7
1.8 How Irish language is Integrated ................................................................................................21
1.9 Postal Address ...................................................................................................................................25
2. Advanced Topics ....................................................................................................................... 31
2.1 How to use Alias Information ......................................................................................................31
2.2 Spatial Data and Other Information ..........................................................................................36
2.3 Address Validation ...........................................................................................................................43
2.4 Sample ECAD Queries.....................................................................................................................46
3. Data Provision and Updates ................................................................................................. 49
3.1 ECAD ....................................................................................................................................................49
4. Appendices................................................................................................................................... 52
4.1 Appendix 1 – Physical Model for Model ECAD V0.1 .............................................................52
4.2 Appendix 2 – Lookup Tables ........................................................................................................87
4.3 Appendix 3 – Postal Address View .............................................................................................94
Contact Information ........................................................................................................................ 102
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 1
Using the ECAD Product Guide
Introduction
This is the product guide to the Beta-Eircode Address Database (ECAD) data product. It is an
accurate representation of the data which will be within the Beta-ECAD when it is
released. This guide provides software programmers and database administrators’ information
required to incorporate ECAD data into their IT systems.
The Beta-ECAD does not contain actual Eircodes; these will be released just prior to launch in
mid 2015. It is expected that the full ECAD will be the same as this Beta-ECAD, with the
inclusion of Eircodes. The final version of the ECAD is subject to approval by Department of
Communication, Energy and Natural Resources (DCENR), this includes the following data sources
not provided by OSi and/or GeoDirectory;
a) Eircode Translation for Irish_Verification (P17,21)
b) Unverified Accuracy Level (p37) for spatial data accuracy
c) The Code of Practice for changing Eircodes
The document is structured in four sections.
1. General Information
The information in this section covers the following topics:
The structure of an Eircode
The unique challenges of addressing in Ireland
How Eircodes are assigned
Recommendation for storage and presentation
Describes the ECAD data product
Describes how Irish language is integrated into the ECAD
Describes the nature of the Postal Address in the ECAD
2. Advanced Topics
This section provides more detail on certain technical aspects of ECAD.
How to use alias information
Spatial data and other data within the ECAD
Information concerning address validation
How to perform sample ECAD queries
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 2
3. Data Provision and Updates
This section covers the following topics:
Data supply format and options for receiving updates
Business process considerations
4. Appendices
This section contains the following Appendices:
Appendix 1 – ECAD Tables
This appendix provides a list and detailed specification of all files provided as part of the
ECAD data provision
Appendix 2 – Lookup Tables
This appendix provides details of the Address Types and other Lookup Table information
Appendix 3 – Postal Address View
This appendix provides details of how to create the Postal Address View from the ECAD
information
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 3
1. General Information
1.1 Background
Every address in Ireland will receive its Eircode by mid 2015. Ireland will be the first country in
the world to have a public database of unique identifiers for all properties which will assist
citizens, businesses and public bodies to locate every individual address in the country.
An Eircode will identify an individual address – rural or urban - and help show exactly where it
is located. Postcodes in most other countries only identify clusters or groups of addresses. The
Eircode is much more than just a postcode. It is a smart location code for all Irish addresses.
By mid 2015, all 2.2 million addresses in the country will be directly notified of the Eircode for
their address. It is anticipated that there will be rapid take-up and quick adoption of Eircode by
the Public and businesses. At that time, all major state bodies will be using Eircode in
correspondence and in their dealings with their customers.
People and businesses will not need to change their address, they will just add the Eircode to
their current address. While the use of Eircode will not be mandatory on mail, many
organisations and businesses will start to ask people to provide their Eircode as a normal part of
doing business (e.g. to capture address details faster and more accurately, to improve delivery
accuracy).
1.2 What is an Eircode?
Eircode are location codes for Irish addresses. An Eircode will be assigned to every residential
and non-residential address in Ireland that receives post, as defined by the Universal Service
Provider for postal services in Ireland. Throughout this document the term “Postal Address”
always refers to a delivery address as defined by Irish Standard - I.S. EN 14142-1:2011 (Postal
services. Address databases), as operated by the Universal Service Provider, An Post.
One or more Eircodes are assigned per building depending on the number of unique addresses
within the building. For multi-occupancy residential premises, each individual address, e.g.
“Apartment 1” receives its own Eircode. For multi-occupancy business premises unique address
information is required, e.g. “Unit 1”, otherwise the businesses are assigned the same Eircode.
For multi-occupancy mixed use buildings Eircodes are not shared between residential and non-
residential addresses. The only exception to this rule is where the entire address is both
residential and non-residential, e.g. a farm house.
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 4
1.3 Who supplies Eircode?
Eircode (the company), part of Capita Business Support Services (Ireland) Ltd, is the Postcode
Management Licence Holder (PMLH) and were awarded the government licence to design,
launch and manage a postcode system for Ireland. This included the design and assignment of
the postcode – now called “Eircode”.
This Eircode data is available to external organisations in two forms: a basic version Eircode
Address File (ECAF) and a richer version with more data elements Eircode Address Database
(ECAD) which is described in this document.
Software applications are available from third party suppliers who provide a variety of products
and services using Eircode data.
Find out more about the range of products and services available www.eircode.ie
1.4 Sources of Data
The source data is supplied by the following:
• Alias information: Eircode
• Unofficial Irish Translations: Foras na Gaelige
• Administrative information: Ordnance Survey Ireland
• All Other Information: An Post Geodirectory Limited, which sources information from
Ordnance Survey Ireland, the Placenames Branch (Department of Arts, Heritage and the
Gaeltacht) and the Universal Service Provider for postal services in Ireland, An Post.
1.5 Addressing in Ireland
Ireland has a number of unique challenges when it comes to addressing. Firstly, people in the
same street, townland, apartment building, etc. may write their addresses in very different ways.
This arises for reasons of; local common naming conventions, historical reasons, variations in
spelling (notably anglicised versions of Gaelic names) and vanity addressing.
An Post, the Universal Service Provider, has prompted postal users to use the addressing format
required to maximise the effectiveness and efficiency of the postal service. Their addressing
guides comply with the Universal Postal Union’s (UPU) (the United Nations body responsible for
promoting standards in the postal industry across the World) addressing guidelines. The postal
address as defined by Irish Standard - I.S. EN 14142-1:2011 (Postal services. Address databases),
as operated by the Universal Service Provider, An Post,, is the format used in the ECAD.
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 5
However, the various ways that people record their own address may differ from the Postal
Address. The following examples of the same address and the different ways in which it can be
recorded illustrate the problem.
Example:
42 Woodbrook Glen 42 Woodbrook Glen 42 Woodbrook Glen
Diswellstown Rd Riverwood Road Carpenterstown
Clonsilla Castleknock Dublin 15
Dublin 15 Dublin 15
In section 2.1 we discuss how alias information available in the ECAD can be used to mitigate
this problem. Section 2.3 describes how the allocation of Eircodes to addresses follows a
methodology designed to optimise address verification.
Ireland has a very high level of non-unique addresses (NUA), i.e. the address does not contain a
unique building number or name. Approximately 35% of all Irish addresses are non-unique
which equates to 600,000 addresses.
The typical example of NUA addressing is where every address in a townland is the same. The
way that post is delivered is by local knowledge of postal delivery personnel of which addressee
lives in which house.
N.B. For a NUA address, it is impossible to match to a unique record in the ECAD and
assign an Eircode.
We can clearly see the issue below where four separate houses in a townland have the same
address, but a different Eircode. Knowing the address isn’t sufficient information to determine
the Eircode.
Address 1 Address 2 Address 3 Address 4
Ballinroamin Ballinroamin Ballinroamin Ballinroamin
Holycross Holycross Holycross Holycross
Tipperary Tipperary Tipperary Tipperary
A65 TF12 A65 DE34 A65 TA33 A65 HN88
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 6
1.6 Eircode Structure and Presentation
An Eircode is a seven-character postcode consisting of two elements:
1. Three-character Routing Key
2. Four-character Unique Identifier
1.6.1 Recommendations for Storage and Presentation
An Eircode should always be stored as a single string of seven upper case characters in
IT systems, i.e. A65F4E2.
An Eircode should always be presented in upper case as two parts separated by a space,
on stationary, mail items, computer forms, etc. i.e. A65 F4E2 and never A65F4E2.
1.6.2 Routing Key
The Routing Key is the first part of an Eircode and is consistently three characters long. The
Universal Service Provider identified principal post towns through which mail is distributed and
Eircode assigned Routing Key codes to those principal post towns. The Routing Key format is
Letter-Number-Number with the single exception of D6W for the Dublin 6W postal district. The
existing Dublin Postal Districts 1 to 24 have been retained as D01 to D24. The Routing Key letter
and numbers assigned to the remainder of the 139 Routing Keys are not directly linked to
counties, towns or any other geographic boundaries. A Routing Key will be shared by many
properties in an area. Routing keys are fixed once assigned to an address and do not change.
1.6.3 Unique Identifier
The Unique Identifier is the second part of an Eircode and consistently comprises four
characters. The Unique Identifier is unique within each Routing Key, but not across Routing
Keys. Unique Identifiers are not assigned in any sequence order, nor is there any hierarchical
grouping information contained in the Unique Identifier. Unique Identifiers are fixed once
generated an Eircode, and are only retired if there is a change of building use, e.g. A Georgian
House is converted into a block of apartments.
6
Number
5
Number*
4 Alpha-
Numeric
A
Letter
F Alpha-
Numeric
E Alpha-
Numeric
2 Alpha-
Numeric
* “W” allowed for only in D6W
Routing Key Unique Identifier
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 7
The Unique Identifier has the same allowable characters in each position, twenty five characters
in total defined from the following available list of numbers and letters:
NUMBERS: 0,1,2,3,4,5,6,7,8,9
LETTERS: A,C,D,E,F,H,K,N,P,R,T,V,W,X,Y
This provides 25 x 25 x 25 x 25 possible combinations, which allows a maximum of 390,625
Eircodes per Routing Key.
1.6.4 Character Set
The characters allowed in each position in an Eircode are as below:
Component Position Allowed Characters
Routing Key 1 A,C,D,E,F,H,K,N,P,R,T,V,W,X,Y
2 0-9
3 0-9 with the exception of W for D6W
Unique Identifier 4
0-9 and A,C,D,E,F,H,K,N,P,R,T,V,W,X,Y 5
6
7
1.7 Eircode Address Database (ECAD)
ECAD is the Eircode Address Database. It is a master database containing complete address and
Eircode information for over 2 million Irish addresses. The ECAD contains no software; the data
within it must be processed for use in IT applications.
The ECAD is comprised of a number of database tables. The tables are divided into a number of
categories based on the role they perform within the database. The categories are:
Address – Contains the information that is used to make up an address
Alias – Provides information on address alias information
Lookup – Contains lookup information that has been normalised into separate tables
Information – Holds non address information related to the Address Tables
Historical* – Provides detail of retired or changed building records and their related
Eircodes *Note: Historical Tables yet to be determined.
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 8
The tables in the ECAD are described in more detail below (detailed table definition for each
table is available in Appendix 1.)
1.7.1 Address Tables
The following is the list of tables that contain the address information stored in the ECAD:
Address Group Address Table
Premises Tables ORGANISATION
SUB_ADDRESS_POINT
ADDRESS_POINT
BUILDINGS
Thoroughfare Tables BUILDING_GROUP
THOROUGHFARE
Locality Tables LOCALITY
POST_TOWN
COUNTY
Address POSTAL_ADDRESS
The address information stored in these tables is stored in upper case only. Address elements
always have an associated address type that is stored in the Address Type Lookup Table
described in Appendix 2.
Address
ORGANISATION
SUB_ADDRESS_POINT
ADDRESS_POINT
BUILDING
BUILDING_GROUP
THOROUGHFARE
LOCALITY
POST_TOWN
COUNTY
POSTAL_ADDRESS
Alias
ALIAS_TYPE
ORGANISATION_ALIAS
SUB_ADDRESS_POINT_ALIAS
ADDRESS_POINT_ALIAS
BUILDING_ALIAS
BUILDING_GROUP_ALIAS
THOROUGHFARE_ALIAS
LOCALITY_ALIAS
POST_TOWN_ALIAS
COUNTY_ALIAS
Lookup
ADDRESS_TYPE
DESCRIPTOR
GEOGRAPHIC
QUALIFIER
IRISH_VERFICATION
ROUTING_KEY
GEODIRECTORY_LOOKUP
Information
SPATIAL_INFO
BUILDING_INFO
ORGANISATION_INFO
ADMINISTRATIVE_INFO
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 9
The Entity Relationship Diagram for Address Tables is shown below, and the tables are
described in the following sections.
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 10
BUILDING
A record in the BUILDING table generally refers to a permanent physical building, however some
records may refer to other entities, e.g. a halting site bay. The BUILDING table is the central hub
of the Address Tables, defining the thoroughfare and locality elements of a building. A locality
may cross county boundaries, or a thoroughfare may cross multiple post towns, therefore the
post town or county information resides solely at the building level.
ADDRESS TYPE DESCRIPTION
Single Occupancy Residential Building
This type of building contains one residential address.
Multiple Occupancy Residential Building
This type of building contains multiple residential addresses.
Single Occupancy Non-Residential Building
This type of building contains one non-residential address (business, club or other organisation).
Multiple Occupancy Non-Residential Building
This type of building contains multiple non-residential addresses (business, club or other organisation).
Multiple Occupancy Mixed Use Building
This type of building contains multiple residential and non-residential addresses.
Buildings can also have a more specific address types such as a Hospital, School, Shopping
Centre, etc.
ADDRESS_POINT
An address point record exists for every unique address within a building. A standard residential
property will have one address point. Apartment buildings and multi-unit commercial buildings
will have one address point for every unique address within the building. Eircodes are assigned
at the address point level and reside in the ADDRESS_POINT table.
There are a number of address points that do not have an associated Eircode. This is due to the
building not receiving a direct delivery of mail by the Universal Service Provider. In these cases
mail is generally delivered centrally and distributed to each building by internal mail processes,
e.g. a University Campus. These addresses do not have a Postal Address as defined by Irish
Standard - I.S. EN 14142-1:2011 (Postal services. Address databases), as operated by the
Universal Service Provider, An Post.
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 11
Address points can be one of the following address types:
ADDRESS TYPE DESCRIPTION
Residential Address Point This type of address point has one or more residential addresses associated with it.
Non-Residential Address Point This type of address point has one or more non-residential address (business, club or other organisation) associated with it.
Mixed Address Point This is a special case where the residential and non residential addresses in the building are essentially the same address. The typical example is a farm house on an active farm.
It is important to note that this is a special case. In general a building with both residential and non-residential addresses (e.g. an apartment over a shop) will receive two address points, one commercial and one residential, and hence two Eircodes.
Buildings can contain multiple address points of type Residential and/or Non-Residential.
SUB_ADDRESS_POINT
A sub address point is an address within a building which has no underlying address
information. This information indicates that there are multiple flats within a building without
discrete addresses (e.g. without Flat 1, Flat 2, etc. indicators). These records are inserted into the
SUB_ADDRESS_POINT table to indicate their existence. The address point associated with the
records is always of type Residential Address Point. The SUB_ADDRESS_POINT records are never
used to generate a Postal Address and can be ignored for most purposes.
ORGANISATION
The ORGANISATION table contains a record for every non-residential address in the ECAD. The
organisation name is present unless the address is vacant or the organisation name is unknown.
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 12
BUILDING_GROUP
A building group is a collection of buildings with a collective name, located on or near the same
thoroughfare.
Building groups can be one of the following generic address types:
ADDRESS TYPE DESCRIPTION
Residential Building Group This type of building group contains buildings with residential addresses only.
Non-Residential Building Group This type of building group contains buildings with non-residential addresses (business, club or other organisation) only.
Mixed Building Group This type of building group contains buildings with residential and non-residential addresses.
Building groups can also have a more specific address type such as a Hospital, School, Shopping
Centre, etc.
THOROUGHFARE
Thoroughfares generally refer to the street, road, avenue, etc. on which a building resides. The
BUILDINGS table has a reference to both PRIMARY and SECONDARY thoroughfares (if
populated), which both references this THOROUGHFARE table.
LOCALITY
A locality refers to areas, districts, towns, etc. and is generally one of the following address types:
ADDRESS TYPE DESCRIPTION
Rural Locality This is generally a townland.
Industrial Estate Industrial Estate, Industrial Park, Business Campus, etc.
Shopping District Shopping Centre.
Housing Estate Residential Housing Estate.
Village Based on Census 2011 population < 1,500.
Town Based on Census 2011 population > 1,500.
Urban Area Wholly within a village/town/city e.g. Rathmines.
Suburban Locality This is an area that is both rural and urban, as it is both a townland, and also an area name applied to houses in a town, as the town has extended partially into the townland.
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 13
The BUILDINGS table has a reference to PRIMARY and SECONDARY localities (if populated),
which all reference this LOCALITY table.
All records in the POST_TOWN table are duplicated in the LOCALITY table, where the
LOCALITY_ID in the LOCALITY table is equal to the POST_TOWN_ID in the POST_TOWN table.
These LOCALITY records have one of the following address types:
ADDRESS TYPE DESCRIPTION
Village Based on Census 2011 population < 1,500
Town Based on Census 2011 population > 1,500
Postal District Dublin 1 to 24
City Dublin, Cork, Limerick, Galway or Waterford
POST_TOWN
The POST_TOWN table contains a record for every post town in the ECAD (currently 139 Post
Towns). The post town is a vital element of the Postal Address, it is always populated in an
address. The official post office guide, Eolaí an Phoist1, describes post towns in the following
manner;
“A provincial postal address may include the name of a town or village several miles distant, with which the addressee has little or no connection, and, in some places, especially if this residence happens to be near a county boundary, the name of the neighbouring county instead of the county in which he actually resides. The explanation is that the main mail despatches have to be sent for more detailed sub division to certain centres known as POST TOWNS, chosen because of their accessibility and convenience.”
The POST TOWN record always has an address type of post town.
COUNTY
The COUNTY table contains a row for each of the 26 counties in Ireland.
A COUNTY record always has an address type of County.
1 Ireland. Eolaí an phoist: Post office guide. Dublin
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 14
POSTAL_ADDRESS
The POSTAL ADDRESS Table contains a row for every Postal Address in the ECAD. It contains the
following fields:
POST_ADDRESS field
ECAD_ID
ORGANISATION_ID
ADDRESS_POINT_ID
BUILDING_ID
BUILDING_GROUP_ID
PRIMARY_THOROUGHFARE_ID
SECONDARY_THOROUGHFARE_ID
PRIMARY_LOCALITY_ID
SECONDARY_LOCALITY_ID
POST_TOWN_ID
POST_COUNTY_ID
EIRCODE
NUA
ADDR_LINE_1
ADDR_LINE_2
ADDR_LINE_3
ADDR_LINE_4
ADDR_LINE_5
ADDR_LINE_6
ADDR_LINE_7
ADDR_LINE_8
ADDR_LINE_9
IRISH_ADDR_LINE_1
IRISH_ADDR_LINE_2
IRISH_ADDR_LINE_3
IRISH_ADDR_LINE_4
IRISH_ADDR_LINE_5
IRISH_ADDR_LINE_6
IRISH_ADDR_LINE_7
IRISH_ADDR_LINE_8
IRISH_ADDR_LINE_9
ADDRESS_REFERENCE
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 15
The individual address elements (i.e. BUILDING_ID, THOROUGHFARE_ID,etc) make up the
address lines. Some address elements are combined for an address line (e.g. Building Number
and Thoroughfare Name). Address creation rules have been applied to create Address Line 1-8
in both English and Irish. The final line in every Postal Address in the table is the Eircode. For
inbound international mail the country name IRELAND should be appended as the last line of
the Postal Address.
The NUA field contains a Y value when the address is a non-unique address, and N when it is a
unique address.
The ADDRESS_REFERENCE is the An Post GeoDirectory address reference identifier used by the
Universal Service Provider.
1.7.2 Lookup Tables
The Lookup Tables are used to tie together the Address Tables. They have been created when
the Address Tables were normalised. The Lookup Tables are as follows:
ADDRESS_TYPE
DESCRIPTOR
GEOGRAPHIC
QUALIFIER
IRISH_VERIFICATION
ROUTING_KEY
GEODIRECTORY_LOOKUP
ADDRESS_TYPE
This table contains one record for each Address Type. Address Types categorise addresses. The
address type is a field in every Address Table and thus allows for the addresses to be
consistently queried.
For example a BUILDING, a BUILDING GROUP or a LOCALITY may all have an Address Type of
“Industrial Estate”. The Address Type of a BUILDING has a bearing on what other information is
available for an address. For example if a building has an address type of SINGLE OCCUPANCY
RESIDENTIAL BUILDING this means that there will be no entries in the ORGANISATION table for
that building. All Address Tables contain an ADDRESS_TYPE_ID that references the
ADDRESS_TYPE table.
For a comprehensive list please see Appendix 2.
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 16
DESCRIPTOR
This table contains one record for each Descriptor. A Descriptor is the part of a thoroughfare or
building group address such as the examples below.
NAME IRISH NAME
AVENUE ASCAILL
GROVE GARRÁN
STREET SRÁID
ROAD BÓTHAR
For a comprehensive list please see Appendix 2.
GEOGRAPHIC
This file contains one record for each Geographic. A geographic address element is North, South,
East or West which can be appended or prepended to an address element.
Name Irish Name
EAST THOIR
NORTH THUAIDH
SOUTH THEAS
WEST THIAR
QUALIFIER
This table contains one record for each Qualifier. Qualifiers are appended of prepended to
address elements, and are listed in the table below.
NAME IRISH NAME
EXTENSION SÍNEADH
GREAT MHÓR
LITTLE BHEAG
LOWER ÍOCHTARACH
MIDDLE LÁIR
UPPER UACHTARACH
For the BUILDING_GROUP, THOROUGHFARE and LOCALITY tables the DESCRIPTOR_ID,
QUALIFIER_ID and GEOGRAPHIC_ID fields are deconstructed from the NAME and NAME_IRISH
fields. The tables also contain a variation of the following two fields (THOROUGHFARES table
used as an example).
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 17
THOROUGHFARE_NAME
The element of NAME that remains after Descriptor, Qualifier and Geographic elements have
been removed.
THOROUGHFARE_NAME_IRISH
Same as THOROUGHFARE_NAME but using NAME_IRISH.
THOROUGHFARE EXAMPLE 1 EXAMPLE 2
NAME ABBEY STREET MIDDLE O'CONNELL STREET LOWER
NAME_IRISH SRÁID NA MAINISTREACH LÁIR
SRÁID UÍ CHONAILL ÍOCHTARACH
THOROUGHFARE_NAME ABBEY O'CONNELL
THOROUGHFARE_NAME_IRISH SRÁID NA MAINISTREACH LÁIR
SRÁID UÍ CHONAILL ÍOCHTARACH
As the NAME field contains these elements in a variety of order permutations, it is not possible
to re-create the NAME or NAME_IRISH fields in their original order.
IRISH_VERIFICATION
All Address Tables contain a field called NAME, this contains the English language version for
the address element. Each table also contains a NAME_IRISH field which contains the equivalent
address element in Irish.
Each Address Table also contains an IRISH_VERIFICATION_ID field. This field denotes the
validation status of the Irish language address element. This information is stored in the
IRISH_VERIFICATION table as displayed below:
IRISH_VERIFICATION_ID VALIDATION_LIFECYCLE
0 NO IRISH - ENGLISH USED
1 EIRCODE TRANSLATION2
2 UNOFFICIAL TRANSLATION
3 OFFICIAL TRANSLATION
2 In a small number of cases Eircode has generated a translation without recourse to official sources. These generally
apply to simple lookup table entries (e.g. East, West, etc.). Eircode plan to have these translations verified, but do not
expect the values to change.
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 18
The Irish Validation lifecycle gives the developer the option of choosing the Irish language
version where the validation level is appropriately high. Official Translation of the address is
provided by FIONTAR in collaboration with The Placenames Branch (Department of Arts,
Heritage and the Gaeltacht). Unofficial translations are provided by Conradh na Gaelige and
Foras na Gaelige.
ROUTING_KEY
The Routing Key is the first part of an Eircode and is consistently three characters long. Routing
Keys are defined by the Universal Service Provider for postal services which reflect the sortation
requirements of the mail distribution network. The Routing Key format is Letter-Number-
Number with the single exception of D6W for the Dublin 6W postal district. The existing Dublin
Postal Districts 1 to 24 have been retained as D01 to D24. The Routing Key letters and number
assigned to the remainder of the 139 Routing Keys are not directly linked to counties, towns or
any other geographic boundaries. A Routing Key will be shared by many properties in an area.
Routing keys are fixed once assigned to an Eircode and do not change.
The BUILDING table contains a ROUTING_KEY_ID column that links to the ROUTING_KEY table
which contains 139 Routing Key Names (e.g. D01, Y14, etc.).
GEODIRECTORY_LOOKUP
For existing users of GeoDirectory, this table provides a lookup to determine the relevant
ECAD_ID for a GeoDirectory ID, as illustrated by the sample rows below.
ECAD_ID GEO_ID ECAD_TABLE GEO_TABLE
1000548185 36650520 BUILDING BUILDINGS
1000548186 36650521 BUILDING BUILDINGS
1000548187 36650522 BUILDING BUILDINGS
1000548188 36650523 BUILDING BUILDINGS
1.7.3 Information Tables
The information tables provide extra information that adds value to the addresses.
INFORMATION TABLES
SPATIAL_INFO
BUILDING_INFO
ORGANISATION_INFO
ADMINISTRATIVE_INFO
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 19
SPATIAL_INFO
The SPATIAL_INFO table contains spatial data. This data includes map coordinates of buildings
and also the extents of non-buildings, e.g. Town, Thoroughfare. The spatial information is
provided in a number of coordinate formats. The SPATIAL_INFO table is described in detail in
section 2.2.1 of this document. This table links to all Address Tables at BUILDING level and
below.
BUILDING_INFO
The BUILDING_INFO table contains extra information about buildings such as if it is under
construction or vacant. This links to the BUILDING table.
ORGANISATION_INFO
The ORGANISATION_INFO table contains extra information about an Organisation. The
ORGANISATION_INFO is explained in detail in section 2.2.3 of this document.
ADMINISTRATIVE_INFO
The ADMINISTRATIVE_INFO table contains information that is useful from a governmental and
local administration perspective. It includes census and other boundary information. The
ADMINISTRATIVE_INFO is explained in detail in section 2.2.4 of this document.
These tables are described in detail in section 2.2.
1.7.4 Alias Tables
There is an alias table for each of the Address Tables as listed in the table below:
ADDRESS GROUP ALIAS TABLE
Premises Tables ORGANISATION_ALIAS
ADDRESS_POINT_ALIAS
BUILDINGS_ALIAS
Thoroughfare Tables BUILDING_GROUP_ALIAS
THOROUGHFARE_ALIAS
Locality Tables LOCALITY_ALIAS
POST_TOWN_ALIAS
COUNTY_ALIAS
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 20
Aliases fall into the following categories:
1. Common Misspelling
Either English or Irish common misspellings of an address element. The address element
should be corrected to the proper spelling.
2. Alternative Spelling
Alternative spelling of an address element. The address element does not need to be corrected
to the proper spelling.
3. Alternative Format
The address is commonly written in a different format to the Postal Address.
4. Alternative Format and Spelling
The address element has an alternative spelling, but only when written in a different format to
the Postal Address.
For a more in depth description of Aliases see section 2.1 How to use Alias Information.
1.7.5 Historic Tables
Historic tables provide detail of retired or changed ECAD records. Historic tables have yet to be
defined, but they will cater for the following business processes:
• Changed Address Elements
If a thoroughfare, building name, etc. previously had a different name to its current
name, the historic tables will store the previous name and date of change. The previous
name will also be stored in the relevant alias table if appropriate.
• Retired Address Elements
If a thoroughfare, locality, etc. no longer exists, the historic tables will store the address
element and date of retirement.
• Retired Eircodes
When buildings are demolished, or if a building is changed from multi-unit to a single
unit, then associated Eircodes are retired. The historic tables will store the retired
Eircodes, when they were retired, and a link to the new building where appropriate. For
demolished buildings the coordinates of the old building location and its full address
will be stored.
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 21
• Changed Eircodes
There may be exceptional circumstances that require an Eircode to be changed. If this
occurs it will most likely be an address in a multi-unit building that previously shared its
Eircode with other addresses being given its own Eircode as underlying address data
issues are corrected. It is Eircode’s policy not to change an Eircode once issued, however,
if an issue is raised regarding an Eircode it will be reviewed against the Code of Practice.
The historic tables will store the previous version of the Eircode, the date of change, and
the reason for the change.
Note to GeoDirectory users:
If a correction is made to two buildings in such a way as they swap their unique address
information, e.g. No. 9 and No 10 are swapped, then the Eircode associated with the existing
address is not changed, the attributes (e.g. coordinates) of the buildings are swapped. This is to
ensure that matching a unique address to ECAD always returns the same Eircode. If the
GeoDirectory solution to the data issue involved an alternative method of a change to the
Building Number labels, then this will result in a change to the ADDRESS_REFERENCE for an
Eircode address.
1.8 How Irish language is Integrated
The ECAD is bilingual by design. Every ECAD table that contains address fields has both English
and Irish language versions side by side.
All Address Tables contain a field called NAME, this contains the English language version for
the address element. Each table also contains a NAME_IRISH field which contains the equivalent
address element in Irish.
Each Address Table contains an IRISH_VERIFICATION_ID field. This field denotes the validation
status of the Irish language address element. This information is stored in the
IRISH_VERIFICATION table as displayed below:
IRISH_VERIFICATION_ID VALIDATION_LIFECYCLE
0 NO IRISH - ENGLISH USED
1 EIRCODE TRANSLATION3
2 UNOFFICIAL TRANSLATION
3 OFFICIAL TRANSLATION
3 In a small number of cases Eircode has generated a translation without recourse to official sources. These generally
apply to simple Lookup Table entries (e.g. East, West, etc.). Eircode plan to have these translations verified, but do not
expect the values to change.
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 22
The Validation Lifecycle gives users the option of choosing the Irish language version suitable
for their purpose. Unofficial translations are provided by Conradh na Gaelige and Foras na
Gaelige, and are replaced with official translations when they become available.
The Irish Postal Address currently only contains the Official Translation of the address, and if that
is not available it uses the English version of the address.
The English and Irish versions of address elements are displayed per Address Table below.
ADDRESS TABLE NAME IRISH LANGUAGE
ORGANISATION NAME SUB_ADDRESS_NAME DEPARTMENT
NAME_IRISH SUB_ADDRESS_NAME_IRISH DEPARTMENT_IRISH
SUB_ADDRESS_POINT NAME NAME_IRISH
ADDRESS_POINT NAME NAME_IRISH
BUILDING NAME NAME_IRISH
BUILDING_GROUP NAME BUILDING_GROUP_NAME
NAME_IRISH BUILDING_GROUP_NAME_IRISH
THOROUGHFARE NAME THOROUGHFARE_NAME
NAME_IRISH THOROUGHFARE_NAME_IRISH
LOCALITY NAME LOCALITY_NAME
NAME_IRISH LOCALITY_NAME_IRISH
POST_TOWN NAME NAME_IRISH
COUNTY NAME NAME_IRISH
Irish translations are also available in the various Lookup Tables.
LOOKUP TABLE ENGLISH LANGUAGE IRISH LANGUAGE
QUALIFIER NAME NAME_IRISH
DESCRIPTOR NAME NAME_IRISH
GEOGRAPHIC NAME NAME_IRISH
Address Tables store QUALIFIER_ID, DESCRIPTOR_ID or GEOGRAPHIC_ID as a key to the
equivalent Lookup Table. This means that the English and Irish equivalent for each of the values
is equally available and is consistently stored.
For example, the thoroughfare OAKWOOD STREET UPPER would be stored in the
THOROUGHFARE Table as:
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 23
THOROUGHFARE Fictional Example
NAME OAKWOOD STREET UPPER
NAME_IRISH SRÁID CHOILL NA DARACH UACHTARACH
QUALIFIER_ID 123
GEOGRAPHIC_ID NULL
DESCRIPTOR_ID 777
THOROUGHFARE_NAME OAKWOOD
THOROUGHFARE_NAME_IRISH CHOILL NA DARACH
The QUALIFIER_ID in the THOROUGHFARE table links to the Qualifier record that contains the
English and Irish version of the Qualifier.
QUALIFIER Fictional Example
QUALIFIER_ID 123
NAME UPPER
NAME_IRISH UACHTARACH
IRISH_VERIFICATION_ID 1
The DESCRIPTOR_ID in the THOROUGHFARE table links to the Descriptor record that contains the
English and Irish version of the Descriptor.
DESCRIPTOR Fictional Example
DESCRIPTOR_ID 777
NAME STREET
NAME_IRISH SRÁID
IRISH_VERIFICATION_ID 777
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 24
This allows Irish versions of addresses to be searched in the exact same manner as English
versions of addresses. For Example:
THOROUGHFARE EXAMPLE 1 EXAMPLE 2
NAME MARY STREET NORTH O'CONNELL STREET LOWER
NAME_IRISH SRÁID MHUIRE THUAIDH SRÁID UÍ CHONAILL ÍOCHTARACH
THOROUGHFARE_NAME MARY O'CONNELL
THOROUGHFARE_NAME_IRISH MHUIRE UÍ CHONAILL
QUALIFIER_ID 0 14
DESCRIPTOR_ID 194 194
GEOGRAPHIC_ID 2 0
The two thoroughfares above have their full name stored in both English and Irish. The
descriptor, qualifier and geographic is removed from the full name and the remainder is stored
in THOROUGHFARE_NAME and THOROUGHFARE_NAME_IRISH.
A link to the DESCRIPTOR (STREET, ROAD, AVENUE etc.) table is stored with the thoroughfare.
This link allows the Irish and English to be equally searchable.
DESCRIPTOR EXAMPLE 1 EXAMPLE 2
DESCRIPTOR_ID 194 194
NAME STREET STREET
NAME_IRISH SRÁID SRÁID
A link to the QUALIFIER (LITTLE, MIDDLE, GREAT, etc.) is stored with the thoroughfare. This link
allows the Irish and English to be equally searchable.
QUALIFIER EXAMPLE 1 EXAMPLE 2
QUALIFIER_ID 13
NAME LOWER
NAME_IRISH ÍOCHTARACH
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 25
A link to the GEOGRAPHIC (NORTH, SOUTH, EAST, WEST) is stored with the thoroughfare. This
link allows the Irish and English to be equally searchable.
GEOGRAPHIC EXAMPLE 1 EXAMPLE 2
GEOGRAPHIC_ID 2
NAME NORTH
NAME_IRISH THUAIDH
This model allows the main elements of the thoroughfare to be stored and searched efficiently.
It also removes common items to separate tables to improve data accuracy and search
capabilities.
1.9 Postal Address
An Post, the Universal Service Provider, has prompted postal users to use the addressing format
required to maximise the effectiveness and efficiency of the postal service. Their addressing
guides comply with the Universal Postal Union’s (UPU) (the United Nations body responsible for
promoting standards in the postal industry across the World) addressing guidelines. The postal
address as defined by Irish Standard - I.S. EN 14142-1:2011 (Postal services. Address databases),
as operated by the Universal Service Provider, An Post., is the format used in the ECAD.
The Postal Address is made up of a number of parts as outlined in the table below.
Address Parts
Department
Organisation
Sub Building Name (e.g. ‘Flat 1’)
Building Name (e.g. ‘Rose Cottage’)
Building Number (e.g. 22)
Building Group (e.g. ‘Marian Terrace’)
Primary Thoroughfare (e.g. ‘Griffith Road’)
Secondary Thoroughfare (e.g. Navan Road’)
Primary Locality (e.g. ‘Cookstown Industrial Estate’)
Secondary Locality (e.g. ‘Manorhamilton’)
Post Town (e.g. ‘Dublin 14’)
Post County (e.g. ‘Cork’)
Eircode (e.g. ‘A65R2AF’)
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 26
There are twelve possible address parts but no Postal Address contains more than eight address
lines. A set of rules is applied to the twelve possible address parts to construct an address with a
maximum of eight lines plus a line for the Eircode. The results are stored in the
POSTAL_ADDRESS table as described in section 1.7.1.
1.9.1 Address Elements & Rules for Construction
Department
The department or division within an organisation. If the department element exists, then the
organisation must also exist.
Field in ECAD Fictional Example
Department ACCOUNTS DEPARTMENT
Organisation ENERGY FOR YOU
Sub Building UNIT 8
Building MIDDLETON CENTRE
Primary Thoroughfare MAIN STREET
Post Town TRIM
Post County MEATH
Postcode T22 FNT4
Organisation
The name of an organisation, commercial or non-commercial.
Field in ECAF Fictional Example
Organisation OAK TREE LIMITED
Primary Thoroughfare SAINT ANDREW STREET
Post Town DUBLIN 1
Postcode T22 FNT4
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 27
Sub-Building
The sub-building refers to an apartment, flat or unit within a building.
Field in ECAF Fictional Example
Sub Building APARTMENT 114
Building THE MIDDLETON
Primary Thoroughfare MAIN STREET
Post Town TRIM
Post County MEATH
Postcode T22 FNT4
Building Name
The name given to the building. Prepended by sub building, if any, when the sub building does
not appear on a line to itself. The building name is omitted if it is the same as either the
Organisation or Building Group.
Building Number
A number associated with the whole building. The building number may have a numeric and
an alphanumeric component, which are concatenated e.g. 2A, or alternatively will have a simple
building number or a complex building number. The building number always relates to the
whole building and not a sub-unit within it.
A complex building number may be one of the following:
Dual
Two number separated by '/' e.g. 63/64 = 63, 64
Sequence
An odd or even sequence of numbers with lower and upper bound separated by an
underscore '_' e.g. 1_5 = 1,3,5 and 2_6 = 2,4,6
Range
A range of consecutive numbers with lower and upper bound separated by a dash '-' e.g.
63-66 = 63, 64, 56, 66
The building number never appears on a line by itself and can prepend Building Group, Primary
Thoroughfare or Primary Locality.
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 28
THOROUGHFARE ELEMENTS
Building Groups
A collection of buildings with a collective name, located on or near the same thoroughfare. The
buildings in a Building Group, if numbered, are numbered within the Building Group, not within
the thoroughfare. Examples include universities, hospitals, some industrial estates, some
terraces, shopping centres, apartment complexes etc.
It may be appended to a building number, if any, otherwise it is output on a line by itself. It is
omitted if the same as organisation.
Primary Thoroughfare
The name of the thoroughfare on which premises are located. It may appear on a line by itself
or be appended to either a sub building or building number.
Addresses with thoroughfares can sometimes have the thoroughfare excluded where a Building
Group exists, such as a Retail Centre or Business Park, and the thoroughfare is not part of the
Postal Address.
Secondary thoroughfare
It is never present without a primary thoroughfare. The primary thoroughfare is dependent on
the secondary thoroughfare and appears before the secondary thoroughfare in any address.
Secondary thoroughfare are generally used to assist locating a primary thoroughfare. For
example:
ADDRESS Fictional Example
Primary Thoroughfare LOVE LANE EAST
Secondary Thoroughfare MOUNT STREET LOWER
Post Town DUBLIN 2
This example shows that LOVE LANE EAST is a small thoroughfare that can be found off MOUNT
STREET LOWER in DUBLIN 2.
LOCALITY ELEMENTS
Locality elements are:
Primary Locality
Secondary Locality
Post Town
County
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 29
The first two locality elements refer to areas, districts, industrial estates, towns, etc. For a
complete list of address types see Appendix 2.
For example:
ADDRESS Fictional Example
Primary Locality KILLARAINY
Secondary Locality MOYCULLEN
The primary locality refers to the specific place the address is. The secondary locality helps
identify where the primary locality is located.
Primary Locality
The name of the locality in which the address resides.
In urban areas, the primary locality can be required to distinguish between two thoroughfares of
the same name in the same district or town. Industrial estates with named thoroughfares are
also held as localities. In rural areas the primary locality is generally a townland name.
Secondary Locality
Never present without a primary locality. The secondary locality has a wider geographic scope
than the primary locality.
It is the secondary locality therefore which differentiates addresses with the same primary
locality name within the same county.
Secondary localities are more likely to be required for rural addresses.
Post Town
The name of the post town associated with the premises for postal delivery purposes. This
includes Dublin Postal Districts “Dublin 1” to “Dublin 24”.
The post town is a vital element of the Postal Address, it is always populated in an address. The
official post office guide, Eolaí an Phoist4, describes post towns in the following manner
“A provincial postal address may include the name of a town or village several miles distant, with which the addressee has little or no connection, and, in some places, especially if this residence happens to be near a county boundary, the name of the neighbouring county instead of the county in which he actually resides. The explanation is that the main mail despatches have to be sent for more detailed sub division to certain centres known as POST TOWNS, chosen because of their accessibility and convenience.”
4 Ireland. Eolaí an phoist: Post office guide. Dublin
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 30
Post County
One of the 26 Counties in the Republic of Ireland. These counties are sub-national divisions
used for the purposes of administrative, geographical and political demarcation. Post County is
the County associated with the Post Town, not the geographic county in which the building is
located. The Post County is normally used as part of the Postal Address with some exceptions
e.g. Dublin Postal Districts where the Post County is not used and some Post Towns (e.g.
Tipperary, Kildare, etc.) that have the same name as the Post County.
EIRCODE ELEMENT
Eircode
The seven character Eircode has an A65F4E2 format. The Eircode is a mandatory address
element. The last line of a Postal Address will contain the Eircode, displayed with a space. e.g.
A65 F4E2.
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 31
2. Advanced Topics
This section is aimed at ECAD users, and provides more detail on the following technical aspects
of ECAD:
How to use Alias information
Spatial data and other data within the ECAD
Information concerning address validation
How to perform sample ECAD queries
2.1 How to use Alias Information
How the Irish Public currently provide and use addresses can differ from the Postal Address
format. While the first address line is usually (but not always) the same, the subsequent
address lines can vary in number and content. One of the issues is a difference to the Post
County in the Postal Address. For example the address below is geographically located in Co.
Offaly but has a postal county of Co. Laois. It is not uncommon to find the address written as
Co. Offaly rather than the correct postal county of Co. Laois.
ADDRESS WRITTEN ADDRESS POSTAL ADDRESS
ADDRESS LINE 1 123 ROWAN STREET 123 ROWAN STREET
ADDRESS LINE 2 TULLAMORE ROAD TULLAMORE ROAD
ADDRESS LINE 3 PORTARLINGTON PORTARLINGTON
ADDRESS LINE 4 CO. OFFALY CO. LAOIS
The BUILDING table contains both a POST_COUNTY_ID and a COUNTY_ID to indicate the County
used in the Postal Address and the Geographic County to be used as an aid to address matching
or validation of a provided address.
Another issue relates to whether the Post Town element of the Postal Address is currently in
common use by the public. If we look at the following example address:
ADDRESS WRITTEN ADDRESS POSTAL ADDRESS
ADDRESS LINE 1 123 ROCK STREET 123 ROCK STREET
ADDRESS LINE 2 DUN LAOGHAIRE DUN LAOGHAIRE
ADDRESS LINE 3 CO. DUBLIN GLENAGEARY
ADDRESS LINE 4 CO. DUBLIN
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 32
Addresses in Dun Laoghaire have a post town of Glenageary, however addresses in existing
databases and as currently provided by the public would not commonly contain the Glenageary
post town, and thus cause difficulties when address matching or validating a provided address.
The BUILDING table contains a flag called POST_TOWN_COMMON_USE to indicate this
information. Typically, with a POST_TOWN_COMMON_USE flag of ‘Y’ you encounter the
address without the Post Town or Post County and instead it uses the Geographic County.
It is important to note that Eircode is providing this flag as a method to assist address
matching/verification only. The flag does not indicate an alternative postal address to the
postal address as defined by Irish Standard - I.S. EN 14142-1:2011 (Postal services. Address
databases), as operated by the Universal Service Provider, An Post.
Alias Tables provide a solution to the remaining address differences with addresses that do not
conform to the correct Postal Address.
Each of the Address Tables have an associated Alias table as listed below.
ADDRESS TABLE ALIAS TABLE
ORGANISATION ORGANISATION_ALIAS
ADDRESS_POINT ADDRESS_POINT_ALIAS
BUILDINGS BUILDINGS_ALIAS
BUILDING_GROUP BUILDING_GROUP_ALIAS
THOROUGHFARE THOROUGHFARE_ALIAS
LOCALITY LOCALITY_ALIAS
POST_TOWN POST_TOWN_ALIAS
COUNTY COUNTY_ALIAS
The aliases fall into 4 types as described in the table below:
# ALIAS TYPE
1 Common Misspelling
2 Alternative Name
3 Alternative Format
4 Alternative Name and Format
The following sections describe the different Alias Types.
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 33
2.1.1 Common Misspelling Alias Type
This Alias Type covers situations where common misspellings of addresses are outside normal
“fuzzy tolerance” settings. If searching for an address element does not yield a result, the
recommended approach is to perform a search on the relevant Alias Table. This will allow
matching an address that has been incorrectly spelt. The alias table contains the incorrect
spelling of the address element and a link to the relevant record containing the correct element
it represents. In a common misspelling scenario it would be normal procedure to feedback the
corrected address rather than perpetuating the spelling mistake. Care must be taken in this
scenario to highlight the correction back to the originator.
This example shows a common misspelling of a locality and how it is corrected.
Entered Address:
Fictional Example
ROCK STREET
DUNLAOGHIRE
Entry in LOCALITY_ALIAS Table:
LOCALITY_ID ALIAS_TYPE_ID NAME
132165468 1 DUNLAOGHIRE
Entry in LOCALITY Table
LOCALITY_ID NAME
132165468 DUN LAOGHAIRE
This allows us to match the address and correct its spelling.
Corrected Address
ROCK STREET
DUN LAOIGHAIRE
2.1.2 Alternative Name Alias Type
This alias type covers situations where address elements have more than one way of being spelt
that are accepted as correct. The Alias Table will contain the name that the address element is
also known as. In alternative spelling scenarios it would be normal procedure to not correct the
inputted address.
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 34
This example shows an alternative spelling of a locality.
Entered Address:
Fictional Example
ROCK STREET
BUNNYCONNELLAN
MAYO
Entry in LOCALITY_ALIAS Table:
LOCALITY_ALIAS_ID LOCALITY_ID ALIAS_TYPE_ID NAME
1546 132164558 2 BUNNYCONNELLAN
Entry in LOCALITY Table:
LOCALITY_ID NAME
132164558 BONNICONLON
In the Postal Address this is spelt BONNICONLON but in this case it is not advisable to correct the
locally used spelling of the input address.
Unchanged Address
ROCK STREET
BUNNYCONNELLAN
MAYO
It is important to note that this advice pertains where there is a requirement to maintain
the input address as is, and does not indicate an alternative postal address to the postal
address as defined by Irish Standard - I.S. EN 14142-1:2011 (Postal services. Address
databases), as operated by the Universal Service Provider, An Post..
2.1.3 Alternative Format Alias Type
This alias type covers situations where an address is often written using different address lines
to the Postal Address.
In this alias type each Alias Table with contain links to the records that make up the alternative
format of an address.
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 35
Alternative format aliases can be used in all Alias Tables and this example shows a
THOROUGHFARE_ALIAS example.
Field Type Fictional Example Alias Postal Address
Thoroughfare STONEWALL DRIVE STONEWALL DRIVE
Primary Locality SAGGART ABBEY
Post Town DUBLIN 24
Post County CO. DUBLIN
Entry in THOROUGHFARE_ALIAS Table:
ALIAS_TYPE_ID THOROUGHFARE_ID PRIMARY_LOCALITY_ID POST_TOWN_ID COUNTY_ID
3 132164558 543216 20
Thus the Thoroughfare of STONEWALL DRIVE(132164558) can be followed by SAGGART
ABBEY(543216), CO. DUBLIN (20).
This alias type allows you to match/verify addresses in an alternative format to the Postal
Address by using the Address IDs in the tables. It is important to note that Eircode is
providing this alias information as a method to assist address matching/verification only.
The alias information does not indicate an alternative postal address to the postal address
as defined by Irish Standard - I.S. EN 14142-1:2011 (Postal services. Address databases), as
operated by the Universal Service Provider, An Post.
2.1.4 Alternative Name and Format Alias Type
This alias type covers situations where an address can be written using different address lines to
the Postal Address including an alternative name for the current address element. This
commonly occurs where there are alternative names for certain roads or housing estates that
have an implied relationship with or shortened next address line.
This example shows the same address displayed in two different formats.
Entered Address:
Field Type Fictional Example Alias Postal Address
Thoroughfare THE DRIVE CASTLETOWN DRIVE
Locality CASTLETOWN
Post Town ASHBOURNE ASHBOURNE
Post County CO. MEATH CO. MEATH
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 36
Entry in the THOROUGHFARE_ALIAS Table:
FIELD NAME VALUE
ALIAS_TYPE_ID 4
THOROUGHFARE_ID
132164558
NAME THE DRIVE
PRIMARY_LOCALITY_ID 543216
POST_TOWN_ID 252
POST_COUNTY_ID 20
It is important to note that by making this an ALIAS_TYPE of 4 instead of 2 you are being told to
only match/validate an address written as THE DRIVE to CASTLETOWN DRIVE when the
following line in the address is CASTLETOWN.
It is important to note that Eircode is providing this alias information as a method to assist
address matching/verification only. The alias information does not indicate an alternative
postal address to the postal address as defined by Irish Standard - I.S. EN 14142-1:2011
(Postal services. Address databases), as operated by the Universal Service Provider, An Post.
2.2 Spatial Data and Other Information
This section explains the additional non-address related information that the ECAD provides.
There are four tables:
Spatial Information, i.e. geographical co-ordinates
Extra non address related Building Information
Extra non address related Organisation Information
Administrative Information, i.e. local authorities.
The main link between these additional information tables and the address type entities will be
the primary key of these Address Tables, i.e. BUILDING_ID, THOROUGHFARE_ID, etc.
Each of the four additional information tables has a list of address types which it supports. For
the included Address Tables, you can simply use the primary key of the Address Table to look up
information in the respective tables by linking to its primary key; ECAD_ID.
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 37
Figure 1 Example of how sample Address Tables link to SPATIAL_INFO table using primary keys.
Table Name Address Tables
SPATIAL_INFO Buildings
Building Groups
Thoroughfares
Localities
Post Towns
Counties
BUILDING_INFO Buildings
ORGANISATION_INFO Organisations
ADMINISTRATIVE_INFO Buildings
Building Groups
Thoroughfares
Localities
Post Towns
Counties
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 38
The data in these tables is updated independently from the address related tables. Each table
has their own LAST_UPDATED and CREATED_DATE columns to reflect these changes.
In the next sections the above Additional Information Tables are described in more detail, listing
the columns and descriptions for each.
2.2.1 Spatial Data
The ECAD supports multiple geographical co-ordinate options for mapping locations. These co-
ordinates are available as Easting/Northing or Latitude/Longitude depending on the reference
system used.
The following geographic co-ordinate systems are currently supported in the ECAD:
Irish National Grid (Easting/Northing)
Irish Transverse Mercator (Easting/Northing)
ETRS89 Reference System (Latitude/Longitude)
These are described in more detail below and further detail can be found on the Ordnance
Survey website (www.osi.ie).
2.2.1.1 Spatial Accuracy
The accuracy of the geo-coordinate provided for a building is determined by An Post based on
the source of the information and the methodology employed. The accuracy levels are
described in the following table:
ACCURACY LEVEL DESCRIPTION
1 – OSI MAP This is the highest level of accuracy. The position has been determined by Ordnance Survey Ireland using their most up to date mapping. The position is located in the centroid of the building outline.
2 – OSI ORTHO The position has been determined by Ordnance Survey Ireland using ortho photography.
3 – GENERAL An initial approximate position has been generated by An Post
4 – UNVERIFIED The co-ordinates provided, if any, have not been certified by the source provider. This means that the final quality control process has not been completed, and you should not rely on the accuracy of the provided co-ordinates.
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 39
2.2.1.3 Specific Geo-coordinates Vs. Bounding Box Geo-coordinates
For buildings the SPATIAL_INFO table will contain geo-coordinates for the specific building
location. For the remaining address types which encompass multiple buildings the specific geo-
co-ordinate fields contain statistical mean values of the co-ordinates and also bounding box
information. The bounding box fields contain the minimum and maximum coordinate values
for all the buildings associated with the address.
The SPATIAL_INFO table has the following fields:
FIELD INFO DESCRIPTION
ECAD_ID Unique 10 digit identification number
ING_EAST Irish National Grid Easting Co-ordinate
ING_NORTH Irish National Grid Northing Co-ordinate
ITM_EAST ITM Easting Co-ordinate
ITM_NORTH ITM Northing Co-ordinate
ETRS89_LAT ETRS89 Latitude Co-ordinate
ETRS89_LONG ETRS89 Longitude Co-ordinate
ING_MIN_EAST Irish National Grid Minimum Easting Coordinate
ING_MIN_NORTH Irish National Grid Minimum Northing Coordinate
ING_MAX_EAST Irish National Grid Maximum Easting Coordinate
ING_MAX_NORTH Irish National Grid Maximum Northing Coordinate
ITM_MIN_EAST ITM Minimum Easting Coordinate
ITM_MIN_NORTH ITM Minimum Northing Coordinate
ITM_MAX_EAST ITM Maximum Easting Coordinate
ITM_MAX_NORTH ITM Maximum Northing Coordinate
ETRS89_MIN_LAT ETRS89 Minimum Latitude Coordinate
ETRS89_MIN_LONG ETRS89 Minimum Longitude Coordinate
ETRS89 _MAX_ LAT ETRS89 Maximum Latitude Coordinate
ETRS89 _MAX_ LONG ETRS89 Maximum Longitude Coordinate
SPATIAL_ACCURACY Describes Accuracy Level of Geo-Coordinates
CREATED_DATE Date Created for the record
LAST_UPDATED Date Updated for the record
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 40
2.2.1.4 Irish National Grid
The Irish National Grid reference system was derived by the Ordnance Survey of Ireland, it is a
plane co-ordinate system based on a modified Transverse Mercator Map Projection on the Airy
Modified ellipsoid.
Within the grid any location can be mapped using two dimensions Easting (E) and Northings (N)
relative to the false origin. The Irish grid false origin is originated at 200 kilometres west and 250
kilometres south of true origin. The true origin is located at Latitude: 53°30'00 N and Longitude:
8°00'00 W.
2.2.1.5 Irish Transverse Mercator (ITM)
ITM is a new co-ordinate system devised for Ireland jointly implemented by the Ordnance
Survey of Ireland (OSI) and the Ordnance Survey of Northern Ireland (OSNI) in 2001. The name
is derived from the Transverse Mercator projection it uses.
It maintains the true origin and central meridian as set in the Irish National Grid but has a
different False Origin, thus distributing the differences between the previous National Irish Grid
distortions due to the projection evenly.
2.2.1.6 ETRS89 European Terrestrial Reference System
The European Terrestrial Reference system is a precise subset of the IRTF (International
Terrestrial Reference Frame) with geographic co-ordinates (latitudes and longitudes) based on
the GRS80 ellipsoid and has become the adopted reference system for Europe.
2.2.1.7 WGS84 Reference System
The Reference System WGS84 is commonly used with GPS devices. It and the European
Reference System ETRS89 are virtually identical and Coordinate Transformation between the
two systems is unnecessary as the positions calculated by these two Reference Systems
currently deviate by far less than one metre.
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 41
2.2.2 Additional Building Information
The following table lists the fields available in the BUILDING_INFO table. The unique identifier
for this table is the BUILDING_ID which is the primary key of the BUILDING table.
FIELD INFO DESCRIPTION
BUILDING_ID Unique 10 digit identification number for the Building.
HOLIDAY_HOME A Yes/No field, indicating whether or not the building is a holiday home. NOTE: This field currently provided for future proofing, no data currently available to Eircode.
BUILDING_TYPE The Type of Building e.g. Bungalow, Detached etc.
UNDER CONSTRUCTION
A Yes/No field, indicating whether or not the building is under construction.
BUILDING_USE R- Residential, C-Commercial, B-Both or U-Unknown.
VACANT A Yes/No field, indicating whether or not the building is vacant.
CREATED_DATE Date Created for the record.
LAST_UPDATED Date Updated for the record.
2.2.3 Additional Organisation Information
The following table lists the fields available in the ORGANISATION_INFO table. The unique
identifier for this table is the ORGANISATION_ID which is the primary key of the ORGANISATION
table.
FIELD INFO DESCRIPTION
ORGANISATION_ID Unique 10 digit identification number for Organisations
NACE_CODE The NACE Code for the Category. NOTE: This field currently provided for future proofing, no data currently available to Eircode.
NACE_CATEGORY Name of the NACE Category. NOTE: This field currently provided for future proofing, no data currently available to Eircode.
CREATED_DATE Date Created for the record.
LAST_UPDATED Date Updated for the record.
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 42
NACE CODE
The NACE (Nomenclature of Economic Activities) Classification list for economic activities is
divided into separate categories such as Manufacturing, Agriculture, etc.
2.2.4 Additional Administrative Information
The ADMINISTRATIVE INFO table contains additional generic information for different types of
ECAD Address Information Entities.
The ECAD ID’s of the different Address Entities i.e. Building ID, Address Point ID, etc. are the
unique identifiers to be used to look up information in this table using the ECAD_ID column.
FIELD INFO DESCRIPTION
ECAD_ID Unique 10 digit identification
LA_ID Unique Identifier for Local Authority
ED_ID Unique Identifier for Electoral Divisions
SMALL_AREA_ID Unique Identifier for the Small Area
TOWNLAND_ID Unique Identifier for townland
CREATED_DATE Date Created for the record
LAST_UPDATED Date Updated for the record
Local Authority
There are 31 local authorities in Ireland including 26 county councils, 2 city and county councils,
and 3 city councils. Local authorities are multi-purpose bodies charged with the responsibility
for a large range of services within their area, e.g. Housing, Planning, Roads, etc.
Electoral Divisions
Electoral Divisions (ED) are legally defined administrative areas in Ireland. There are 3,441
Electoral Divisions. Electoral Divisions are sub-divisions of Counties.
Small Area
Small Area boundaries are sub-divisions of Electoral Divisions and offer a much greater level of
detail in terms of analysing data spatially. A normal Small Area is comprised of approximately
80-120 dwellings created by the National Institute of Regional and Spatial Analysis (NIRSA) on
behalf of the Ordnance Survey Ireland (OSi) in consultation with the Central Statistics Office
(CSO). CSO’s Census 2011 publishes SAPS at the Small Area level. There are 18,489 Small Areas
in the ECAD.
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 43
Townland
A townland is a small geographical division of land commonly used in Ireland and form the
building blocks for higher-level Electoral Divisions.
Townland names may not be unique within a County.
2.3 Address Validation
The Eircode is designed to optimise validation against its corresponding address. The Eircode
design and allocation has a number of built-in rules to minimise issues with verbal and written
miscommunication.
2.3.1 Character Set
The character set selected to make up the Eircode was carefully chosen to minimise the
confusion caused by characters that are similar physically or phonetically. This will assist the
accuracy of written and verbal communication of an Eircode.
2.3.2 Rules for Assigning Eircodes
The main aim of the allocation process is to ensure that similar addresses have very different
Eircodes to allow ease of validation of an Eircode against its address.
Let’s consider the following Postal Address to illustrate the concept:
Postal Address
DUNROAMIN
21 STONEWALL DRIVE
DUBLIN 24
D24 TF12
If the Eircode has a data entry error, then we may have examples like the following:
Captured Eircode Entry Error
D24 FT12 Characters transposed
D22 TF12 Incorrect character entered
D24 TF13 Incorrect character entered
D24 TF21 Characters transposed
Etc.
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 44
Eircodes have been assigned in a manner to ensure the following is true for all the addresses
associated with Eircodes similar to D24 TF12
None will have a house name of Dunroamin
None will be on street called Stonewall Drive
None will have the same house number and similar street stems, e.g. none of the
following; 21 Stonewall Road, 21 Stonewall Lane, 21 Stonewall Grove, etc.
In the case of a non-unique address:
Postal Address
BALLINROAMIN
THURLES
CO. TIPPERARY
A65 TF12
Eircodes have been assigned in a manner to ensure the following is true for all the addresses
associated with similar Eircodes to A65 TF12
None will be in the same townland of Ballinroamin
None will be in any townland in Ireland called Ballinroamin
None will be in any similar townland name of Ballinroamin North, Ballinroamin Upper,
etc.
So how does this help us with address validation? Consider the following four input addresses
and their Eircodes:
Example 1 Example 2 Example 3 Example 4
12 STONEWALL DRIVE BALLINROAMIN 21 STONEWALL
DRIVE
21 STONEWALL DRIVE
DUBLIN 24 HOLYCROSS SAGGART ABBEY DUBLIN 24
D24 TF12 TIPPERARY DUBLIN D24 FT12
A65 TF12 D24 TF12
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 45
Example 1
In this example we can be confident that the number 12 in the address is an error and should
be corrected to 21.
Example 2
In this example we can confidently validate this address even though the second address line
doesn’t match the Postal Address.
Example 3
In this example we can confidently validate the address even though the second and third
address lines don’t match the Postal Address.
Example 4
In this example we can confidently correct the Eircode from D24 FT12 to D24 TF12.
The following are the complete list of rules that have been implemented when allocating
Eircodes:
Not similar to other Eircodes in the same building
Not similar to Eircodes with the same building name, group of buildings, street, or
townland
Not similar to Eircodes with the same building number and similar street names
Where adjoining Routing Keys meet, the same Unique Identifier segment of the Eircode
within each are not physically close, designed to be at least 300 metres apart.
Where the address entered cannot be easily verified with the corresponding address, it is
recommended that alias address information is checked to assist verification. Alias information
is covered in section 2.1.
If Eircodes were simply allocated randomly, rather than our rules based approach, then our
calculations indicate that eight percent of addresses would have Eircodes that would be liable to
address verification issues. While every effort has been made to mitigate this issue, we cannot
guarantee 100% that all instances of address/Eircode verification confusion have been resolved.
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 46
2.4 Sample ECAD Queries
The sample database queries below demonstrate some commonly requested address queries.
The SQL is for a SQL Server database or similar relational database.
2.4.1 Querying Towns by County
Show all the town in a given county:
-- all post towns in Wexford SELECT C.NAME as county, PT.NAME as post_town FROM BUILDING b INNER JOIN POST_TOWN PT ON PT.POST_TOWN_ID = b.POST_TOWN_ID INNER JOIN COUNTY C ON b.COUNTY_ID = C.COUNTY_ID WHERE C.NAME = 'WEXFORD' GROUP BY C.NAME, PT.NAME ORDER BY POST_TOWN
county post_town
WEXFORD ENNISCORTHY
WEXFORD GOREY
WEXFORD NEW ROSS
WEXFORD WEXFORD
Determine number of buildings in each town in a given county:
-- number of buildings in each post town in Wexford SELECT C.NAME as county, PT.NAME as post_town, COUNT(*) as building_count FROM BUILDING b INNER JOIN POST_TOWN PT ON PT.POST_TOWN_ID = b.POST_TOWN_ID INNER JOIN COUNTY C ON b.COUNTY_ID = C.COUNTY_ID WHERE C.NAME = 'WEXFORD' GROUP BY C.NAME, PT.NAME ORDER BY POST_TOWN
county post_town building_count
WEXFORD ENNISCORTHY 22
WEXFORD GOREY 25
WEXFORD NEW ROSS 22
WEXFORD WEXFORD 56
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 47
2.4.2 Querying Industrial Estates in a County
Show industrial estates in Dublin:
SELECT DISTINCT l.NAME as Industrial_Estate FROM BUILDING b INNER JOIN COUNTY c ON b.COUNTY_ID = c.COUNTY_ID INNER JOIN LOCALITY l ON (b.PRIMARY_LOCALITY_ID = l.LOCALITY_ID OR b.SECONDARY_LOCALITY_ID = l.LOCALITY_ID) WHERE c.NAME = 'DUBLIN' AND l.ADDRESS_TYPE_ID = 1080 -- Industrial Estate UNION
SELECT DISTINCT b.NAME as Industrial_Estate FROM BUILDING b INNER JOIN COUNTY c ON b.COUNTY_ID = c.COUNTY_ID WHERE c.NAME = 'DUBLIN' AND b.ADDRESS_TYPE_ID = 1080 -- Industrial Estate UNION SELECT DISTINCT bg.NAME as Industrial_Estate FROM BUILDING b INNER JOIN COUNTY c ON b.COUNTY_ID = c.COUNTY_ID INNER JOIN BUILDING_GROUP bg ON (b.BUILDING_GROUP_ID = bg.BUILDING_GROUP_ID) WHERE c.NAME = 'DUBLIN' AND bg.ADDRESS_TYPE_ID = 1080 -- Industrial Estate
Industrial_Estate
I.F.S.C
2.4.3 Querying Thoroughfares in a Town
Show roads in Bantry:
SELECT TOP 3 T.THOROUGHFARE_ID , T.NAME FROM (SELECT POST_TOWN_ID FROM POST_TOWN WHERE NAME = 'BANTRY') PT INNER JOIN BUILDING B ON B.POST_TOWN_ID = PT.POST_TOWN_ID INNER JOIN THOROUGHFARE T ON (T.THOROUGHFARE_ID = B.PRIMARY_THOROUGHFARE_ID OR T.THOROUGHFARE_ID = B.SECONDARY_THOROUGHFARE_ID) LEFT OUTER JOIN LOCALITY LOC1 ON (LOC1.LOCALITY_ID = B.PRIMARY_LOCALITY_ID) LEFT OUTER JOIN LOCALITY LOC2 ON (LOC2.LOCALITY_ID = B.SECONDARY_LOCALITY_ID) WHERE (LOC1.LOCALITY_ID IS NULL OR LOC1.ADDRESS_TYPE_ID NOT IN (3400,3600,3700,3800)) and (LOC2.LOCALITY_ID IS NULL OR LOC2.ADDRESS_TYPE_ID NOT IN (3400,3600,3700,3800)) GROUP BY T.THOROUGHFARE_ID, T.NAME THOROUGHFARE_ID THOROUGHFARE
1000014808 BARRACK STREET
1000034519 OLD BARRACK ROAD
1000039257 GLENGARRIFF ROAD
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 48
2.4.4 Postal Address View
The Postal Address View is a view of data from the ECAD address tables in the ECAD database
that replicates the ECAD Postal Address table.
The extract requires two primary steps:
1. get the address data from the tables
2. construct address lines 1 to 8 from the address data
Construction of the eight columns for address lines 1 to 8 requires conditional logic and is
therefore best suited to a function or other programming construct in either SQL or any other
programming language.
The following sub-sections describe an example of how a Postal Address View might be
constructed on a relational database, in this case a SQL Server database. Comments are
embedded in the SQL for clarification: The SQL is contained in Appendix 3.
Postal Address Line View
The nine address lines are constructed from the following address elements:
Department
Organisation
Sub Building
Building Number
Building Group
Primary Thoroughfare
Secondary Thoroughfare
Primary Locality
Secondary Locality
Post Town
County
Eircode
The Irish language version of the Postal Address is to be produced in the same manner as the
English version simply by replacing references to any NAME column to NAME_IRISH.
The construction of the eight address lines is conditional upon the content of these elements
and so typically the conditional logic is put in a function. Each value present appears on the
next available address line, except for sub building which may prefix another element, and
building number which always prefixes the next available address line after building name.
Having constructed the eight address line rows, they are “pivoted” to convert them from rows
into columns which can then be appended to each row in the view, as described above. The
example SQL function (f_get_address_cols) gets the address lines (f_get_address_lines) and
pivots them into 7 columns. See Appendix 3 for details.
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 49
3. Data Provision and Updates
Updates are available from Eircode on a quarterly basis. These are available for secure
download via the Eircode website www.eircode.ie
3.1 ECAD
There are two types of update available for the ECAD:
Complete dataset
Update only
The data files are tab delimited with column headers as the first line and each subsequent line
is a row of data. The lines are separated by newline characters. The character encoding is
Windows 1252.
Description Character Ascii values
Delimiter Tab (\t) 0x09
Newline Newline (\r \n) 0x0A , 0x0D
3.1.1 Complete Dataset
The complete dataset consists of a single zip file that contains a text file for each table in the
ECAD, each containing the full record set. The schema is described in Appendix 1. The file size
estimate for the Complete Dataset zip file is 150Mb, the unzipped contents are approximately 2
GB.
When updating an ECAD with the complete dataset, the existing data for the all ECAD tables
should be removed, leaving an empty schema. Then each text file is imported into the relevant
table.
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 50
The tables included are (Structures for and descriptions of all these tables are contained in
Appendix 1):
# TABLENAME
1 ADDRESS_POINT
2 ADDRESS_TYPE
3 ALIAS_TYPE
4 BUILDING
5 BUILDING_ALIAS
6 BUILDING_GROUP
7 BUILDING_GROUP_ALIAS
8 BUILDING_INFO
9 COUNTY
10 COUNTY_ALIAS
11 DESCRIPTOR
12 GEODIRECTORY_LOOKUP
13 GEOGRAPHIC
14 LOCALITY
15 LOCALITY_ALIAS
16 ORGANISATION
17 ORGANISATION_INFO
18 POST_TOWN
19 POST_TOWN_ALIAS
20 POSTAL_ADDRESS
21 QUALIFIER
22 SPATIAL_INFO
23 SUB_ADDRESS_POINT
24 THOROUGHFARE
25 THOROUGHFARE_ALIAS
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 51
3.1.2 Update Only
The Update Only version contains all the changes required to add, update and remove the
necessary records to upgrade it from one ECAD release to the next. This deliverable comprises of
multiple files, these files are categorised into three different types: insertions, updates and
deletions.
3.1.2.1 Insert File for Update Only Process
As part of the Update Only release there is an insert file for each table that has new records. The
new data records in each file must be inserted into the relevant table.
3.1.2.2 Update File for Update Only process
As part of the Update Only release there is one update file. This file contains details of the
changes that have to be made to the ECAD compared to the previous release.
Each data row contains directions to update to one field of data in the ECAD. The data contains
the ECAD identifier, table name, column name, the new value.
The example below shows some sample records in an update file:
UPDATE_ID TABLE_NAME ECAD_ID COLUMN_NAME NEW_VALUE
1 BUILDING 54684 BUILDING_NAME DUNROAMIN
2 BUILDING 54684 LAST_UPDATED 2014-01-01 09:00:00
Each update must be performed in order, to bring the ECAD up to date.
3.1.2.3 Delete File for Update process
As part of the Update Only release there is one delete file. This file contains details of all records
that need to be removed from the ECAD as part of this release.
Each data row contains details of the records to remove from the ECAD. The data contains the
ECAD identifier and the table name.
DELETE_ID ECAD_ID TABLE_NAME
1 1000658732 BUILDING
2 1000074563 ORGAINISATION
When each data record in the delete file has been processed the ECAD update is complete.
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 52
4. Appendices
4.1 Appendix 1 – Physical Model for Model ECAD V0.1
Entity Report
Entity 'dbo.ADDRESS_POINT'
Caption ADDRESS_POINT
Entity Properties
Filegroup PRIMARY
Primary Key 'PK_ADDRESS_POINT' Attribute Name type Parent Entity
ADDRESS_POINT_ID PK -----
Attributes Key Attribute Name Data Type Comment
PK ADDRESS_POINT_ID Int
FK ADDRESS_TYPE_ID Int
FK BUILDING_ID Int
NAME Nvarchar(60)
NAME_IRISH Nvarchar(60)
IRISH_VERIFICATION_ID Int
EIRCODE Varchar(7)
FULL_ADDRESS_LINE Varchar(1)
SUB_BUILDING_NAME_REQUIRED Varchar(1)
CREATED_DATE Datetime
LAST_UPDATED Datetime
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 53
Relationships Relationship Name Relationship
Type Parent Entity Child Entity Card.
FK_ADDRESS_POINT_BUILDING Non-identifying dbo.BUILDING dbo.ADDRESS_POINT
1:N
FK_BUILDING_GROUP_ADDRESS_POINT
Non-identifying dbo.ADDRESS_TYPE
dbo.ADDRESS_POINT
1:N
FK_ORGANISATION_ADDRESS_POINT
Non-identifying dbo.ADDRESS_POINT
dbo.ORGANISATION 1:N
FK_SUB_ADDRESS_POINT_ADDRESS_POINT
Non-identifying dbo.ADDRESS_POINT
dbo.SUB_ADDRESS_POINT
1:N
Indexes Index Name Attributes Unique
IDX_AP_ADD_PT_ID ADDRESS_POINT_ID YES
IDX_AP_ADD_TYP_ID ADDRESS_TYPE_ID NO
IDX_AP_BLD_ID BUILDING_ID NO
IDX_AP_BLD_ID_ADD_TP_ID BUILDING_ID, ADDRESS_TYPE_ID NO
IDX_AP_PCODE EIRCODE NO
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 54
Entity 'dbo.ADDRESS_TYPE'
Caption ADDRESS_TYPE
Entity Properties Filegroup PRIMARY
Primary Key 'PK_ADDRESS_TYPE' Attribute Name type Parent Entity
ADDRESS_TYPE_ID PK -----
Attributes Key Attribute Name Data Type Comments
PK ADDRESS_TYPE_ID Int
NAME Nvarchar(80)
NAME_IRISH Nvarchar(80)
IRISH_VERIFICATION_ID Int
CREATED_DATE Datetime
LAST_UPDATED Datetime
Relationships Relationship Name Relationship
Type Parent Entity Child Entity Card.
FK_BUILDING_GROUP_ADDRESS_POINT
Non-identifying dbo.ADDRESS_TYPE
dbo.ADDRESS_POINT
1:N
FK_BUILDING_GROUP_ADRTYPE Non-identifying dbo.ADDRESS_TYPE
dbo.BUILDING_GROUP
1:N
FK_SUB_ADDRESS_POINT_ADDRESS_TYPE_ID
Non-identifying dbo.ADDRESS_TYPE
dbo.SUB_ADDRESS_POINT
1:N
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 55
Entity 'dbo.ADMINISTRATIVE_INFO'
Caption ADMINISTRATIVE_INFO
Entity Properties Filegroup PRIMARY
Primary Key 'PK_ADMINISTRATIVE_INFO' Attribute Name type Parent Entity
ECAD_ID PFK dbo.BUILDING
Attributes Key Attribute Name Data Type Comments
PFK ECAD_ID Int
LA_ID Int
DED_ID Int
SMALL_AREA_ID Int
TOWNLAND_ID Int
CREATED_DATE Datetime
LAST_UPDATED Datetime
Relationships Relationship Name Relationship
Type Parent Entity Child Entity Card.
FK_ADMINISTRATIVE_INFO_BUILDING
Identifying dbo.BUILDING dbo.ADMINISTRATIVE_INFO
1:N
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 56
Entity 'dbo.ALIAS_TYPE'
Caption ALIAS_TYPE
Entity Properties Filegroup PRIMARY
Attributes Key Attribute Name Data Type Comments
PK ALIAS_TYPE_ID Int
NAME Nvarchar(80)
NAME_IRISH Nvarchar(80)
IRISH_VERIFICATION_ID Int
CREATED_DATE Datetime
LAST_UPDATED Datetime
Entity 'dbo.BUILDING'
Caption BUILDING
Entity Properties Filegroup PRIMARY
Primary Key 'PK_BUILDING' Attribute Name type Parent Entity
BUILDING_ID PK -----
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 57
Attributes Key Attribute Name Data Type Comments
PK BUILDING_ID Int
ADDRESS_TYPE_ID Int
NAME Nvarchar(60)
NAME_IRISH Nvarchar(60)
IRISH_VERIFICATION_ID Int
BUILDING_NAME_REQUIRED Varchar(1)
NUMBER Nvarchar(40)
BUILDING_NUMBER_REQUIRED Varchar(1)
FK BUILDING_GROUP_ID Int
BUILDING_GROUP_REQUIRED Varchar(1)
FK PRIMARY_THOROUGHFARE_ID Int
PRIMARY_THOROUGHFARE_REQUIRED Varchar(1)
FK SECONDARY_THOROUGHFARE_ID Int
SECONDARY_THOROUGHFARE_REQUIRED Varchar(1)
FK PRIMARY_LOCALITY_ID Int
PRIMARY_LOCALITY_REQUIRED Varchar(1)
FK SECONDARY_LOCALITY_ID Int
SECONDARY_LOCALITY_REQUIRED Varchar(1)
FK POST_TOWN_ID Int
POST_TOWN_REQUIRED Varchar(1)
POST_TOWN_COMMON_USE Varchar(1)
POST_COUNTY_ID Int
POST_COUNTY_REQUIRED Varchar(1)
COUNTY_ID Int
ROUTING_KEY_ID Int
CREATED_DATE Datetime
LAST_UPDATED Datetime
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 58
Relationships Relationship Name Relationship
Type Parent Entity Child Entity Card.
FK_ADDRESS_POINT_BUILDING
Non-identifying dbo.BUILDING dbo.ADDRESS_POINT 1:N
FK_BUILDING_BUILDING_GROUP
Non-identifying dbo.BUILDING_GROUP
dbo.BUILDING 1:N
FK_BUILDING_LOCALITY Non-identifying dbo.LOCALITY dbo.BUILDING 1:N
FK_BUILDING_LOCALITY1 Non-identifying dbo.LOCALITY dbo.BUILDING 1:N
FK_BUILDING_PO_PT_ID Non-identifying dbo.POST_TOWN dbo.BUILDING 1:N
FK_BUILDING_POST_TOWN Non-identifying dbo.POST_TOWN dbo.BUILDING 1:N
FK_BUILDING_THOROUGHFARE_2nd
Non-identifying dbo.THOROUGHFARE
dbo.BUILDING 1:N
FK_BUILDING_THOROUGHFARE_Primary
Non-identifying dbo.THOROUGHFARE
dbo.BUILDING 1:N
FK_BUILDING_INFO_BUILDING
Identifying dbo.BUILDING dbo.BUILDING_INFO 1:N
FK_ADMINISTRATIVE_INFO_BUILDING
Identifying dbo.BUILDING dbo.ADMINISTRATIVE_INFO
1:N
FK_SPATIAL_INFO_BUILDING Identifying dbo.BUILDING dbo.SPATIAL_INFO 1:N
Indexes Index Name Attributes Unique
IDX_BUILDP_BG BUILDING_GROUP_ID NO
IDX_BUILDP_BID BUILDING_ID NO
IDX_BUILDP_COUNTY COUNTY_ID NO
IDX_BUILDP_LOC PRIMARY_LOCALITY_ID NO
IDX_BUILDP_LOC2 SECONDARY_LOCALITY_ID NO
IDX_BUILDP_THOR PRIMARY_THOROUGHFARE_ID NO
IDX_BUILDP_THOR2 SECONDARY_THOROUGHFARE_ID NO
IDX_BUILDP_TOWN POST_TOWN_ID NO
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 59
Entity 'dbo.BUILDING_GROUP'
Caption BUILDING_GROUP
Entity Properties Filegroup PRIMARY
Primary Key 'PK_BUILDING_GROUP' Attribute Name type Parent Entity
BUILDING_GROUP_ID PK -----
Attributes Key Attribute Name Data Type Comments
PK BUILDING_GROUP_ID Int
FK ADDRESS_TYPE_ID Int
NAME Nvarchar(80)
NAME_IRISH Nvarchar(80)
IRISH_VERIFICATION_ID Int
FK QUALIFIER_ID Int
FK DESCRIPTOR_ID Int
FK GEOGRAPHIC_ID Int
BUILDING_GROUP_NAME Nvarchar(80)
BUILDING_GROUP_NAME_IRISH Nvarchar(80)
CREATED_DATE Datetime
LAST_UPDATED Datetime
Relationships Relationship Name Relationshi
p Type Parent Entity Child Entity Card
.
FK_BUILDING_BUILDING_GROUP Non-identifying
dbo.BUILDING_GROUP
dbo.BUILDING 1:N
FK_BUILDING_GROUP_ADRTYPE Non-identifying
dbo.ADDRESS_TYPE dbo.BUILDING_GROUP
1:N
FK_BUILDING_GROUP_DESCRIPTOR
Non-identifying
dbo.DESCRIPTOR dbo.BUILDING_GROUP
1:N
FK_BUILDING_GROUP_GEOG Non-identifying
dbo.GEOGRAPHIC dbo.BUILDING_GROUP
1:N
FK_BUILDING_GROUP_QUALIFIER Non-identifying
dbo.QUALIFIER dbo.BUILDING_GROUP
1:N
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 60
Entity 'dbo.BUILDING_INFO'
Caption BUILDING_INFO
Entity Properties Filegroup PRIMARY
Primary Key 'PK_BUILDING_INFO' Attribute Name type Parent Entity
BUILDING_ID PFK dbo.BUILDING
Attributes Key Attribute Name Data Type Comments
PFK BUILDING_ID Int
BUILDING_TYPE_ID Int
HOLIDAY_HOME Nvarchar(1)
UNDER_CONSTRUCTION Nvarchar(1)
BUILDING_USE Nvarchar(1)
VACANT Nvarchar(1)
CREATED_DATE Datetime
LAST_UPDATED Datetime
Relationships Relationship Name Relationship
Type Parent Entity Child Entity Card.
FK_BUILDING_INFO_BUILDING Identifying dbo.BUILDING dbo.BUILDING_INFO 1:N
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 61
Entity 'dbo.COUNTY'
Caption COUNTY
Entity Properties Filegroup PRIMARY
Primary Key 'PK_COUNTY' Attribute Name type Parent Entity
COUNTY_ID PK -----
Attributes Key Attribute Name Data Type Comments
PK COUNTY_ID Int
ADDRESS_TYPE_ID Int
NAME Nvarchar(80)
NAME_IRISH Nvarchar(80)
IRISH_VERIFICATION_ID Int
CREATED_DATE Datetime
LAST_UPDATED Datetime
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 62
Entity 'dbo.DESCRIPTOR'
Caption DESCRIPTOR
Entity Properties Filegroup PRIMARY
Primary Key 'PK_DESCRIPTOR' Attribute Name type Parent Entity
DESCRIPTOR_ID PK -----
Attributes Key Attribute Name Data Type Comments
PK DESCRIPTOR_ID Int
NAME Nvarchar(80)
NAME_IRISH Nvarchar(80)
IRISH_VERIFICATION_ID Int
CREATED_DATE Datetime
LAST_UPDATED Datetime
Relationships Relationship Name Relationship
Type Parent Entity Child Entity Card.
FK_BUILDING_GROUP_DESCRIPTOR Non-identifying
dbo.DESCRIPTOR dbo.BUILDING_GROUP 1:N
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 63
Entity 'dbo.POSTAL_ADDRESS'
Caption POSTAL_ADDRESS
Entity Properties Filegroup PRIMARY
Primary Key 'PK_POSTAL_ADDRESS' Attribute Name type Parent Entity
ECAD_ID PK -----
Attributes Key Attribute Name Data Type Comments
PK ECAD_ID Int
ORGANISATION_ID Int
ADDRESS_POINT_ID Int
BUILDING_ID Int
BUILDING_GROUP_ID Int
PRIMARY_THOROUGHFARE_ID Int
SECONDARY_THOROUGHFARE_ID Int
PRIMARY_LOCALITY_ID Int
SECONDARY_LOCALITY_ID Int
POST_TOWN_ID Int
POST_COUNTY_ID Int
EIRCODE Varchar(7)
NUA Varchar(1)
ADDR_LINE_1 Nvarchar(200)
ADDR_LINE_2 Nvarchar(200)
ADDR_LINE_3 Nvarchar(200)
ADDR_LINE_4 Nvarchar(200)
ADDR_LINE_5 Nvarchar(200)
ADDR_LINE_6 Nvarchar(200)
ADDR_LINE_7 Nvarchar(200)
ADDR_LINE_8 Nvarchar(200)
ADDR_LINE_9 Nvarchar(200)
IRISH_ADDR_LINE_1 Nvarchar(200)
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 64
Key Attribute Name Data Type Comments
IRISH_ADDR_LINE_2 Nvarchar(200)
IRISH_ADDR_LINE_3 Nvarchar(200)
IRISH_ADDR_LINE_4 Nvarchar(200)
IRISH_ADDR_LINE_5 Nvarchar(200)
IRISH_ADDR_LINE_6 Nvarchar(200)
IRISH_ADDR_LINE_7 Nvarchar(200)
IRISH_ADDR_LINE_8 Nvarchar(200)
IRISH_ADDR_LINE_9 Nvarchar(200)
ADDRESS_REFERENCE Varchar(16)
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 65
Entity 'dbo.GEODIRECTORY_LOOKUP'
Caption GEODIRECTORY_LOOKUP
Entity Properties Filegroup PRIMARY
Attributes Key Attribute Name Data Type Comments
PK ECAD_ID Int
GEO_ID Int
ECAD_TABLE Nvarchar(50)
GEO_TABLE Nvarchar(50)
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 66
Entity 'dbo.GEOGRAPHIC'
Caption GEOGRAPHIC
Entity Properties Filegroup PRIMARY
Primary Key 'PK_GEOGRAPHIC' Attribute Name type Parent Entity
GEOGRAPHIC_ID PK -----
Attributes Key Attribute Name Data Type Comments
PK GEOGRAPHIC_ID Int
NAME Nvarchar(80)
NAME_IRISH Nvarchar(80)
IRISH_VERIFICATION_ID Int
CREATED_DATE Datetime
LAST_UPDATED Datetime
Relationships Relationship Name Relationship
Type Parent Entity Child Entity Card.
FK_BUILDING_GROUP_GEOG
Non-identifying dbo.GEOGRAPHIC dbo.BUILDING_GROUP
1:N
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 67
Entity 'dbo.IRISH_VERIFICATION'
Caption IRISH_VERIFICATION
Entity Properties Filegroup PRIMARY
Primary Key 'PK_IRISH_VERIFICATION' Attribute Name type Parent Entity
IRISH_VERIFICATION_ID PK -----
Attributes Key Attribute Name Data Type Comments
PK IRISH_VERIFICATION_ID Int
VALIDATION_LIFECYCLE Nvarchar(50)
CREATED_DATE Datetime
LAST_UPDATED Datetime
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 68
Entity 'dbo.LOCALITY'
Caption LOCALITY
Entity Properties Filegroup PRIMARY
Primary Key 'PK_LOCALITY' Attribute Name type Parent Entity
LOCALITY_ID PK -----
Attributes Key Attribute Name Data Type Comments
PK LOCALITY_ID Int
ADDRESS_TYPE_ID Int
NAME Nvarchar(80)
NAME_IRISH Nvarchar(80)
LOCALITY_NAME Nvarchar(80)
LOCALITY_NAME_IRISH Nvarchar(80)
IRISH_VERIFICATION_ID Int
QUALIFIER_ID Int
GEOGRAPHIC_ID Int
CREATED_DATE Datetime
LAST_UPDATED Datetime
Relationships Relationship Name Relationship
Type Parent Entity Child Entity Card.
FK_BUILDING_LOCALITY Non-identifying dbo.LOCALITY dbo.BUILDING 1:N
FK_BUILDING_LOCALITY1 Non-identifying dbo.LOCALITY dbo.BUILDING 1:N
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 69
Entity 'dbo.ORGANISATION'
Caption ORGANISATION
Entity Properties Filegroup PRIMARY
Primary Key 'PK_ORGANISATION' Attribute Name type Parent Entity
ORGANISATION_ID PK -----
Attributes Key Attribute Name Data Type Comments
PK ORGANISATION_ID Int
FK ADDRESS_POINT_ID Int
ADDRESS_TYPE_ID Int
NAME Nvarchar(500)
NAME_IRISH Nvarchar(500)
SUB_ADDRESS_NAME Nvarchar(500)
SUB_ADDRESS_NAME_IRISH Nvarchar(500)
DEPARTMENT Nvarchar(500)
DEPARTMENT_IRISH Nvarchar(500)
IRISH_VERIFICATION_ID Int
FULL_ADDRESS_LINE Varchar(1)
ORGANISATION_NAME_REQUIRED Varchar(1)
BUILDING_GROUP_REQUIRED Varchar(1)
BUILDING_NAME_REQUIRED Varchar(1)
DEPARTMENT_REQUIRED Varchar(1)
SUB_BUILDING_NAME_REQUIRED Varchar(1)
CREATED_DATE Datetime
LAST_UPDATED Datetime
Relationships Relationship Name Relationship
Type Parent Entity Child Entity Card
.
FK_ORGANISATION_ADDRESS_POINT
Non-identifying
dbo.ADDRESS_POINT dbo.ORGANISATION 1:N
FK_ORGANISATION_INFO_ORG
Identifying dbo.ORGANISATION dbo.ORGANISATION_INFO
1:N
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 70
Entity 'dbo.ORGANISATION_INFO'
Caption ORGANISATION_INFO
Entity Properties Filegroup PRIMARY
Primary Key 'PK_ORGANISATION_INFO' Attribute Name type Parent Entity
ORGANISATION_ID PFK dbo.ORGANISATION
Attributes Key Attribute Name Data Type Comments
PFK ORGANISATION_ID Int
NACE_CODE Nvarchar(20)
NACE_CATEGORY Nvarchar(100)
CREATED_DATE Datetime
LAST_UPDATED Datetime
Relationships Relationship Name Relationship
Type Parent Entity Child Entity Card.
FK_ORGANISATION_INFO_ORG Identifying dbo.ORGANISATION dbo.ORGANISATION_INFO 1:N
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 71
Entity 'dbo.POST_TOWN'
Caption POST_TOWN
Entity Properties Filegroup PRIMARY
Primary Key 'PK_POST_TOWN' Attribute Name type Parent Entity
POST_TOWN_ID PK -----
Attributes Key Attribute Name Data Type Comments
PK POST_TOWN_ID Int
ADDRESS_TYPE_ID Int
NAME Nvarchar(80)
NAME_IRISH Nvarchar(80)
IRISH_VERIFICATION_ID Int
CREATED_DATE Datetime
LAST_UPDATED Datetime
Relationships Relationship Name Relationship
Type Parent Entity Child Entity Card.
FK_BUILDING_PO_PT_ID Non-identifying dbo.POST_TOWN dbo.BUILDING 1:N
FK_BUILDING_POST_TOWN Non-identifying dbo.POST_TOWN dbo.BUILDING 1:N
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 72
Entity 'dbo.QUALIFIER'
Caption QUALIFIER
Entity Properties Filegroup PRIMARY
Primary Key 'PK_QUALIFIER' Attribute Name type Parent Entity
QUALIFIER_ID PK -----
Attributes Key Attribute Name Data Type Comments
PK QUALIFIER_ID Int
NAME Nvarchar(80)
NAME_IRISH Nvarchar(80)
IRISH_VERIFICATION_ID Int
CREATED_DATE Datetime
LAST_UPDATED Datetime
Relationships Relationship Name Relationship
Type Parent Entity Child Entity Card.
FK_BUILDING_GROUP_QUALIFIER Non-identifying
dbo.QUALIFIER dbo.BUILDING_GROUP 1:N
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 73
Entity 'dbo.ROUTING_KEY'
Caption ROUTING_KEY
Entity Properties Filegroup PRIMARY
Primary Key 'PK_ROUTING_KEY' Attribute Name type Parent Entity
ROUTING_KEY_ID PK -----
Attributes Key Attribute Name Data Type Comments
PK ROUTING_KEY_ID Int
ROUTING_KEY_NAME Nvarchar(50)
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 74
Entity 'dbo.SPATIAL_INFO'
Caption SPATIAL_INFO
Entity Properties Filegroup PRIMARY
Primary Key 'PK_SPATIAL_INFO' Attribute Name type Parent Entity
ECAD_ID PFK dbo.BUILDING
Attributes Key Attribute Name Data Type Comments
PFK ECAD_ID Int
ING_EAST Float
ING_NORTH Float
ITM_EAST Float
ITM_NORTH Float
ETRS89_LAT Float
ETRS89_LONG Float
ING_MIN_EAST Float
ING_MIN_NORTH Float
ING_MAX_EAST Float
ING_MAX_NORTH Float
ITM_MIN_EAST Float
ITM_MIN_NORTH Float
ITM_MAX_EAST Float
ITM_MAX_NORTH Float
ETRS89_MIN_LAT Float
ETRS89_MIN_LONG Float
ETRS89_MAX_LAT Float
ETRS89_MAX_LONG Float
SPATIAL_ACCURACY Nvarchar(1)
CREATED_DATE Datetime
LAST_UPDATED Datetime
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 75
Relationships Relationship Name Relationship
Type Parent Entity Child Entity Card.
FK_SPATIAL_INFO_BUILDING Identifying dbo.BUILDING dbo.SPATIAL_INFO 1:N
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 76
Entity 'dbo.SUB_ADDRESS_POINT'
Caption SUB_ADDRESS_POINT
Entity Properties Filegroup PRIMARY
Primary Key 'PK_SUB_ADDRESS_POINT' Attribute Name type Parent Entity
SUB_ADDRESS_POINT_ID PK -----
Attributes Key Attribute Name Data Type Comments
PK SUB_ADDRESS_POINT_ID Int
FK ADDRESS_TYPE_ID Int
FK ADDRESS_POINT_ID Int
NAME Nvarchar(50)
NAME_IRISH Nvarchar(50)
IRISH_VERIFICATION_ID Int
FULL_ADDRESS_LINE Varchar(1)
SUB_BUILDING_NAME_REQUIRED Varchar(1)
CREATED_DATE Datetime
LAST_UPDATED Datetime
Relationships Relationship Name Relationsh
ip Type Parent Entity Child Entity Car
d.
FK_SUB_ADDRESS_POINT_ADDRESS_POINT
Non-identifying
dbo.ADDRESS_POINT
dbo.SUB_ADDRESS_POINT
1:N
FK_SUB_ADDRESS_POINT_ADDRESS_TYPE_ID
Non-identifying
dbo.ADDRESS_TYPE
dbo.SUB_ADDRESS_POINT
1:N
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 77
Entity 'dbo.THOROUGHFARE'
Caption THOROUGHFARE
Entity Properties Filegroup PRIMARY
Primary Key 'PK_THOROUGHFARE' Attribute Name type Parent Entity
THOROUGHFARE_ID PK -----
Attributes Key Attribute Name Data Type Comments
PK THOROUGHFARE_ID Int
ADDRESS_TYPE_ID Int
NAME Nvarchar(80)
NAME_IRISH Nvarchar(80)
THOROUGHFARE_NAME Nvarchar(80)
THOROUGHFARE_NAME_IRISH Nvarchar(80)
IRISH_VERIFICATION_ID Int
QUALIFIER_ID Int
GEOGRAPHIC_ID Int
DESCRIPTOR_ID Int
CREATED_DATE Datetime
LAST_UPDATED Datetime
Relationships Relationship Name Relationship
Type Parent Entity Child Entity Card.
FK_BUILDING_THOROUGHFARE_2nd Non-identifying
dbo.THOROUGHFARE dbo.BUILDING 1:N
FK_BUILDING_THOROUGHFARE_Primary Non-identifying
dbo.THOROUGHFARE dbo.BUILDING 1:N
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 78
Entity 'dbo.ADDRESS_POINT_ALIAS'
Caption ADDRESS_POINT_ALIAS
Entity Properties Filegroup PRIMARY
Primary Key 'PK_ADDRESS_POINT_ALIAS' Attribute Name type Parent Entity
ADDRESS_POINT_ALIAS_ID PK -----
Attributes Key Attribute Name Data Type Comments
PK ADDRESS_POINT_ALIAS_ID Int
ALIAS_TYPE_ID Int
ADDRESS_POINT_ID Int
BUILDING_ID Int
NAME Nvarchar(80)
NAME_IRISH Nvarchar(80)
BUILDING_GROUP_ID Int
PRIMARY_THOROUGHFARE_ID Int
SECONDARY_THOROUGHFARE_ID Int
PRIMARY_LOCALITY_ID Int
SECONDARY_LOCALITY_ID Int
POST_TOWN_ID Int
POST_COUNTY_ID Int
CREATED_DATE Datetime
LAST_UPDATED Datetime
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 79
Entity 'dbo.SUB_ADDRESS_POINT_ALIAS'
Caption SUB_ADDRESS_POINT_ALIAS
Entity Properties Filegroup PRIMARY
Primary Key 'PK_SUB_ADDRESS_POINT_ALIAS' Attribute Name type Parent Entity
SUB_ADDRESS_POINT_ALIAS_ID PK -----
Attributes Key Attribute Name Data Type Comments
PK SUB_ADDRESS_POINT_ALIAS_ID Int
ALIAS_TYPE_ID Int
SUB_ADDRESS_POINT_ID Int
ADDRESS_POINT_ID Int
BUILDING_ID Int
NAME Nvarchar(80)
NAME_IRISH Nvarchar(80)
BUILDING_GROUP_ID Int
PRIMARY_THOROUGHFARE_ID Int
SECONDARY_THOROUGHFARE_ID Int
PRIMARY_LOCALITY_ID Int
SECONDARY_LOCALITY_ID Int
POST_TOWN_ID Int
POST_COUNTY_ID Int
CREATED_DATE Datetime
LAST_UPDATED Datetime
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 80
Entity 'dbo.ORGANISATION_ALIAS'
Caption SUB_ORGANISATION_ALIAS
Entity Properties Filegroup PRIMARY
Primary Key 'PK_SUB_ADDRESS_POINT_ALIAS' Attribute Name type Parent Entity
ORGANISATION_ALIAS_ID PK -----
Attributes Key Attribute Name Data Type Comments
PK ORGANISATION_ALIAS_ID Int
ALIAS_TYPE_ID Int
ORGANISATION_ID Int
ADDRESS_POINT_ID Int
BUILDING_ID Int
NAME Nvarchar(80)
NAME_IRISH Nvarchar(80)
BUILDING_GROUP_ID Int
PRIMARY_THOROUGHFARE_ID Int
SECONDARY_THOROUGHFARE_ID Int
PRIMARY_LOCALITY_ID Int
SECONDARY_LOCALITY_ID Int
POST_TOWN_ID Int
POST_COUNTY_ID Int
CREATED_DATE Datetime
LAST_UPDATED Datetime
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 81
Entity 'dbo.BUILDING_ALIAS'
Caption BUILDING_ALIAS
Entity Properties Filegroup PRIMARY
Primary Key 'PK_BUILDING_ALIAS' Attribute Name type Parent Entity
BUILDING_ALIAS_ID PK -----
Attributes Key Attribute Name Data Type Comments
PK BUILDING_ALIAS_ID Int
ALIAS_TYPE_ID Int
BUILDING_ID Int
NAME Nvarchar(80)
NAME_IRISH Nvarchar(80)
NUMBER Nvarchar(80)
BUILDING_GROUP_ID Int
PRIMARY_THOROUGHFARE_ID Int
SECONDARY_THOROUGHFARE_ID Int
PRIMARY_LOCALITY_ID Int
SECONDARY_LOCALITY_ID Int
POST_TOWN_ID Int
POST_COUNTY_ID Int
CREATED_DATE Datetime
LAST_UPDATED Datetime
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 82
Entity 'dbo.BUILDING_GROUP_ALIAS'
Caption BUILDING_GROUP_ALIAS
Entity Properties Filegroup PRIMARY
Primary Key 'PK_BUILDING_GROUP_ALIAS' Attribute Name type Parent Entity
BUILDING_GROUP_ALIAS_ID PK -----
Attributes Key Attribute Name Data Type Comments
PK BUILDING_GROUP_ALIAS_ID Int
ALIAS_TYPE_ID Int
BUILDING_GROUP_ID Int
NAME Nvarchar(80)
NAME_IRISH Nvarchar(80)
PRIMARY_THOROUGHFARE_ID Int
SECONDARY_THOROUGHFARE_ID Int
PRIMARY_LOCALITY_ID Int
SECONDARY_LOCALITY_ID Int
POST_TOWN_ID Int
POST_COUNTY_ID Int
CREATED_DATE Datetime
LAST_UPDATED Datetime
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 83
Entity 'dbo.COUNTY_ALIAS'
Caption COUNTY_ALIAS
Entity Properties Filegroup PRIMARY
Primary Key 'PK_COUNTY_ALIAS' Attribute Name type Parent Entity
COUNTY_ALIAS_ID PK -----
Attributes Key Attribute Name Data Type Comments
PK COUNTY_ALIAS_ID Int
ALIAS_TYPE_ID Int
COUNTY_ID Int
NAME Nvarchar(50)
NAME_IRISH Nvarchar(50)
CREATED_DATE Datetime
LAST_UPDATED Datetime
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 84
Entity 'dbo.LOCALITY_ALIAS'
Caption LOCALITY_ALIAS
Entity Properties Filegroup PRIMARY
Primary Key 'PK_LOCALITY_ALIAS' Attribute Name type Parent Entity
LOCALITY_ALIAS_ID PK -----
Attributes Key Attribute Name Data Type Comments
PK LOCALITY_ALIAS_ID Int
ALIAS_TYPE_ID Int
LOCALITY_ID Int
NAME Nvarchar(50)
NAME_IRISH Nvarchar(50)
SECONDARY_LOCALITY_ID Int
POST_TOWN_ID Int
POST_COUNTY_ID Int
CREATED_DATE Datetime
LAST_UPDATED Datetime
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 85
Entity 'dbo.POST_TOWN_ALIAS'
Caption POST_TOWN_ALIAS
Entity Properties Filegroup PRIMARY
Primary Key 'PK_POST_TOWN_ALIAS' Attribute Name type Parent Entity
POST_TOWN_ALIAS_ID PK -----
Attributes Key Attribute Name Data Type Comments
PK POST_TOWN_ALIAS_ID Int
ALIAS_TYPE_ID Int
POST_TOWN_ID Int
NAME Nvarchar(50)
NAME_IRISH Nvarchar(50)
POST_COUNTY_ID Int
CREATED_DATE Datetime
LAST_UPDATED Datetime
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 86
Entity 'dbo.THOROUGHFARE_ALIAS'
Caption THOROUGHFARE_ALIAS
Entity Properties Filegroup PRIMARY
Primary Key 'PK_THOROUGHFARE_ALIAS' Attribute Name type Parent Entity
THOROUGHFARE_ALIAS_ID PK -----
Attributes Key Attribute Name Data Type Comments
PK THOROUGHFARE_ALIAS_ID Int
ALIAS_TYPE_ID Int
THOROUGHFARE_ID Int
NAME Nvarchar(50)
NAME_IRISH Nvarchar(50)
SECONDARY_THOROUGHFARE_ID Int
PRIMARY_LOCALITY_ID Int
SECONDARY_LOCALITY_ID Int
POST_TOWN_ID Int
POST_COUNTY_ID Int
CREATED_DATE Datetime
LAST_UPDATED Datetime
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 87
4.2 Appendix 2 – Lookup Tables
4.2.1 ADDRESS_TYPE Table
ADDRESS_TYPE_ID NAME
1200 APARTMENT COMPLEX
1520 BUNGALOW
1220 BUSINESS PARK
1390 COLLEGE
1260 COURT
1210 EDUCATIONAL CAMPUS
1470 FACTORY COMPLEX
1280 FLAT COMPLEX
1410 GROUP OF DETACHED HOUSES
1270 HALTING SITE
1460 HERITAGE AND HISTORICAL
1430 HOLIDAY HOMES
1230 HOSPITAL
1450 HOTEL COMPLEX
1290 HOUSING ESTATE
1080 INDUSTRIAL ESTATE
1330 MOBILE HOME PARK
1440 MIXED DEVELOPMENT
1240 NURSING HOME
1400 POWER GENERATION PLANT
1370 PRIVATE ESTATE
1380 RELIGIOUS ORGANISATION
1090 RESIDENTIAL ESTATE
1310 SCHOOL
1130 SECONDARY LOCALITY
1300 SHELTERED HOUSING
1190 SHOPPING CENTRE
1340 SPORTS COMPLEX
1530 TEMPORARY DWELLING
1180 TERRACE
1360 TOWNHOUSES
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 88
ADDRESS_TYPE_ID NAME
1250 VOCATIONAL TRAINING & EMPLOYMENT
2000 ORGANISATION
2050 SUB ADDRESS POINT
2100 NON-RESIDENTIAL ADDRESS POINT
2150 RESIDENTIAL ADDRESS POINT
2180 MIXED ADDRESS POINT
2200 SINGLE OCCUPANCY RESIDENTIAL BUILDING
2210 MULTI OCCUPANCY RESIDENTIAL BUILDING
2220 SINGLE OCCUPANCY NON-RESIDENTIAL BUILDING
2230 MULTI OCCUPANCY NON-RESIDENTIAL BUILDING
2240 MULTI OCCUPANCY MIXED BUILDING
2300 RESIDENTIAL BUILDING GROUP
2310 NON-RESIDENTIAL BUILDING GROUP
2320 MIXED BUILDING GROUP
3100 THOROUGHFARE
3200 URBAN AREA
3350 SUBURBAN LOCALITY
3400 RURAL LOCALITY
3600 VILLAGE
3700 TOWN
3750 POSTAL DISTRICT
3800 CITY
3900 COUNTY
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 89
4.2.2 DESCRIPTOR Table
DESCRIPTOR_ID NAME
50 ABBEY
51 ACRE
52 ALLEY
53 APARTMENTS
54 ARCADE
55 ARCH
56 AVENUE
57 BANK
58 BANKS
59 BARN
60 BARRACK
61 BAY
62 BIRCHES
63 BOREEN
64 BOULEVARD
65 BOW
66 BRIDGE
67 BROOK
68 BUILDINGS
69 BUNGALOWS
70 BUSH
71 BUSINESS
72 BUSINESS CENTRE
73 BUSINESS PARK
74 BY-PASS
75 CASTLE
76 CELL
77 CENTRE
78 CHURCH
79 CIRCLE
80 CLOSE
81 COLLEGE
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 90
DESCRIPTOR_ID NAME
82 COMPLEX
83 COPSE
84 CORNER
85 COTTAGE
86 COTTAGES
87 COURT
88 COVE
89 CRESCENT
90 CREST
91 CROFT
92 CROSS
93 CROSSING
94 DALE
95 DELL
96 DEMESNE
97 DOCK
98 DOWNS
99 DRIVE
100 DWELLINGS
101 EDGE
102 ELMS
103 END
104 ENTERPRISE CENTRE
105 ENTERPRISE PARK
106 ESPLANADE
107 ESTATE
108 FARM
109 FIELD
110 FIELDS
111 FLATS
112 FOLLY
113 FOREST
114 FORT
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 91
DESCRIPTOR_ID NAME
115 GARDEN
116 GARDENS
117 GARTH
118 GATE
119 GLADE
120 GLEN
121 GRANGE
122 GREEN
123 GROUND
124 GROVE
125 HALL
126 HALTING SITE
127 HAMLET
128 HARBOUR
129 HAVEN
130 HEATH
131 HEIGHTS
132 HILL
133 HILLS
134 HOME
135 HOSPITAL
136 HOUSE
137 HURST
138 INDUSTRIAL COMPLEX
139 INDUSTRIAL ESTATE
140 INDUSTRIAL PARK
141 ISLAND
142 LANDS
143 LANE
144 LAURELS
145 LAWN
146 LAWNS
147 LOCK
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 92
DESCRIPTOR_ID NAME
148 LODGE
149 LODGES
150 MALL
151 MANOR
152 MANSIONS
153 MARKET
154 MEAD
155 MEADOW
156 MEADOWS
157 MEWS
158 MILL
159 MOUNT
160 NORTH
161 NUMBER
162 OAKS
163 OPENING
164 ORCHARD
165 PARADE
166 PARK
167 PARKS
168 PASSAGE
169 PATH
170 PIER
171 PINES
172 PLACE
173 POINT
174 PORT
175 PROMENADE
176 QUAY
177 RIDGE
178 RING
179 RISE
180 ROAD
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 93
DESCRIPTOR_ID NAME
181 ROCK
182 ROUND
183 ROW
184 SCHOOL
185 SHOPPING CENTRE
186 SIDE
187 SLOPES
188 SPINNEY
189 SPRINGS
190 SQUARE
191 STATION
192 STEPS
193 STRAND
194 STREET
195 TERRACE
196 THICKET
197 TOWER
198 TRACK
199 TURN
200 VALE
201 VALLEY
202 VIEW
203 VILLA
204 VILLAGE
205 VILLAS
206 VILLE
207 WALK
208 WAY
209 WELL
210 WHARF
211 WOOD
212 WOODS
213 YARD
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 94
4.3 Appendix 3 – Postal Address View
4.3.1 Postal Address View
This view combines a view of the address data (v_ecad_model) with the corresponding address
line columns 1 to 9, which are constructed using a user-defined function (f_get_address_cols):
create view dbo.v_postal_address_view as SELECT
[ECAD_ID], [ORGANISATION_ID], [ADDRESS_POINT_ID] ,[BUILDING_GROUP_ID],[PRIMARY_THOROUGHFARE_ID],[SECONDARY_THOROUGHFARE_ID] ,[PRIMARY_LOCALITY_ID],[SECONDARY_LOCALITY_ID] ,[POST_TOWN_ID], [POST_COUNTY_ID] ,[EIRCODE], [EIRCODE_DISPLAY] ,cols.ADDR_LINE_1, cols.ADDR_LINE_2, cols.ADDR_LINE_3, cols.ADDR_LINE_4 ,cols.ADDR_LINE_5, cols.ADDR_LINE_6, cols.ADDR_LINE_7, cols.ADDR_LINE_8 ,cols.ADDR_LINE_9 ,irish_cols.ADDR_LINE_1 as IRISH_ADDR_LINE_1 ,irish_cols.ADDR_LINE_2 as IRISH_ADDR_LINE_2 ,irish_cols.ADDR_LINE_3 as IRISH_ADDR_LINE_3 ,irish_cols.ADDR_LINE_4 as IRISH_ADDR_LINE_4 ,irish_cols.ADDR_LINE_5 as IRISH_ADDR_LINE_5 ,irish_cols.ADDR_LINE_6 as IRISH_ADDR_LINE_6 ,irish_cols.ADDR_LINE_7 as IRISH_ADDR_LINE_7 ,irish_cols.ADDR_LINE_8 as IRISH_ADDR_LINE_8 ,irish_cols.ADDR_LINE_8 as IRISH_ADDR_LINE_9
from dbo.v_ecad_model em -- append 9 address columns cols.ADDR_LINE_1 to cols.ADDR_LINE_9
cross apply dbo.f_get_address_cols(
EM.ECAD_ID ,EM.DEPARTMENT ,EM.DEPARTMENT_REQUIRED ,EM.ORGANISATION_NAME ,EM.ORGANISATION_NAME_REQUIRED ,EM.SUB_BUILDING_NAME ,EM.SUB_BUILDING_NAME_FULL_ADDRESS_LINE ,EM.SUB_BUILDING_NAME_REQUIRED ,EM.BUILDING_NAME ,EM.BUILDING_NAME_REQUIRED ,EM.BUILDING_NUMBER ,EM.BUILDING_NUMBER_REQUIRED ,EM.BUILDING_GROUP_NAME ,EM.BUILDING_GROUP_REQUIRED ,EM.PRIMARY_THOROUGHFARE ,EM.PRIMARY_THOROUGHFARE_REQUIRED ,EM.SECONDARY_THOROUGHFARE ,EM.SECONDARY_THOROUGHFARE_REQUIRED ,EM.PRIMARY_LOCALITY ,EM.PRIMARY_LOCALITY_REQUIRED ,EM.SECONDARY_LOCALITY ,EM.SECONDARY_LOCALITY_REQUIRED ,EM.POST_TOWN ,EM.POST_TOWN_REQUIRED ,EM.POST_COUNTY ,EM.POST_COUNTY_REQUIRED ,EM.EIRCODE_DISPLAY ) cols
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 95
-- append 9 Irish address columns cols.ADDR_LINE_1 to cols.ADDR_LINE_9
cross apply dbo.f_get_address_cols ( EM.ECAD_ID ,EM.DEPARTMENT_IRISH ,EM.DEPARTMENT_REQUIRED ,EM.ORGANISATION_NAME_IRISH ,EM.ORGANISATION_NAME_REQUIRED ,EM.SUB_BUILDING_NAME_IRISH ,EM.SUB_BUILDING_NAME_FULL_ADDRESS_LINE ,EM.SUB_BUILDING_NAME_REQUIRED ,EM.BUILDING_NAME_IRISH ,EM.BUILDING_NAME_REQUIRED ,EM.BUILDING_NUMBER ,EM.BUILDING_NUMBER_REQUIRED ,EM.BUILDING_GROUP_NAME_IRISH ,EM.BUILDING_GROUP_REQUIRED ,EM.PRIMARY_THOROUGHFARE_IRISH ,EM.PRIMARY_THOROUGHFARE_REQUIRED ,EM.SECONDARY_THOROUGHFARE_IRISH ,EM.SECONDARY_THOROUGHFARE_REQUIRED ,EM.PRIMARY_LOCALITY_IRISH ,EM.PRIMARY_LOCALITY_REQUIRED ,EM.SECONDARY_LOCALITY_IRISH ,EM.SECONDARY_LOCALITY_REQUIRED ,EM.POST_TOWN_IRISH ,EM.POST_TOWN_REQUIRED ,EM.POST_COUNTY_IRISH ,EM.POST_COUNTY_REQUIRED ,EM.EIRCODE_DISPLAY ) irish_cols
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 96
4.3.2 Postal Address Model View
A model view is produced by joining together those ECAD model tables which are required to construct addresses. This query encapsulates the rules of the model:
CREATE VIEW dbo.v_ecad_model
as
select b.routing_key_id, rk.routing_key_name routing_key, IIF(NOT sap.SUB_ADDRESS_POINT_ID IS NULL, sap.SUB_ADDRESS_POINT_ID,
IIF(NOT org.ORGANISATION_ID IS NULL, org.ORGANISATION_ID, ap.address_point_id)
) as ECAD_ID -- The ECAD_ID identifies an ‘A’ddress Point, ‘S’ub-Address Point or ‘O’rganisation , IIF(NOT sap.SUB_ADDRESS_POINT_ID IS NULL, 'S'
,IIF(NOT org.ORGANISATION_ID IS NULL, 'O', 'A') ) as ECAD_ID_IS_FROM , b.BUILDING_ID , ap.ADDRESS_POINT_ID , org.ORGANISATION_ID , sap.SUB_ADDRESS_POINT_ID , org.NAME as ORGANISATION_NAME , org.DEPARTMENT , org.NAME_IRISH as ORGANISATION_NAME_IRISH , org.DEPARTMENT_IRISH -- Determine SUB_BUILDING_NAME depending on single/multiple occupancy and whether residential -- or commercial , IIF(NOT sap.SUB_ADDRESS_POINT_ID IS NULL, sap.NAME,
IIF(NOT org.ORGANISATION_ID IS NULL AND NOT org.SUB_ADDRESS_NAME IS NULL, org.SUB_ADDRESS_NAME, ap.NAME ) ) as SUB_BUILDING_NAME
, IIF(NOT sap.SUB_ADDRESS_POINT_ID IS NULL, sap.NAME_IRISH, IIF(NOT org.ORGANISATION_ID IS NULL AND
NOT org.SUB_ADDRESS_NAME_IRISH IS NULL, org.SUB_ADDRESS_NAME_IRISH, ap.NAME_IRISH )
) as SUB_BUILDING_NAME_IRISH -- Does the SUB_BUILDING_NAME appear on a line by itself or does it prefix the next address element ? , IIF(NOT sap.SUB_ADDRESS_POINT_ID IS NULL, sap.FULL_ADDRESS_LINE, IIF(NOT org.ORGANISATION_ID IS NULL, org.FULL_ADDRESS_LINE, ap.FULL_ADDRESS_LINE)
) as SUB_BUILDING_NAME_FULL_ADDRESS_LINE , b.name as BUILDING_NAME , b.name_irish as BUILDING_NAME_IRISH , b.number as BUILDING_NUMBER , bg.name as BUILDING_GROUP_NAME , bg.name_irish as BUILDING_GROUP_NAME_IRISH , th1.name as PRIMARY_THOROUGHFARE , th1.name_irish as PRIMARY_THOROUGHFARE_IRISH , th2.name as SECONDARY_THOROUGHFARE , th2.name_irish as SECONDARY_THOROUGHFARE_IRISH , l1.name as PRIMARY_LOCALITY , l1.name_irish as PRIMARY_LOCALITY_IRISH , l2.name as SECONDARY_LOCALITY , l2.name_irish as SECONDARY_LOCALITY_IRISH , pt.name as POST_TOWN , pt.name_irish as POST_TOWN_IRISH , c.name as POST_COUNTY , c.name_irish as POST_COUNTY_IRISH , ap.EIRCODE
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 97
-- The Eircode has 8 digits, 3 for routing key, a space, then the 4-digit unique identifier , substring(ap.EIRCODE,1,3) +' '+ substring(ap.EIRCODE,4,4) as EIRCODE_DISPLAY -- flags determine if building address elements are required for individual address points , org.ORGANISATION_NAME_REQUIRED , IIF(NOT org.ORGANISATION_ID IS NULL, org.BUILDING_GROUP_REQUIRED, b.BUILDING_GROUP_REQUIRED) as BUILDING_GROUP_REQUIRED , IIF(NOT org.ORGANISATION_ID IS NULL, org.BUILDING_NAME_REQUIRED,
b.BUILDING_NAME_REQUIRED) as BUILDING_NAME_REQUIRED , b.PRIMARY_THOROUGHFARE_REQUIRED , b.SECONDARY_THOROUGHFARE_REQUIRED , b.PRIMARY_LOCALITY_REQUIRED , b.SECONDARY_LOCALITY_REQUIRED , b.POST_TOWN_REQUIRED , b.POST_COUNTY_REQUIRED , org.DEPARTMENT_REQUIRED , IIF(NOT sap.SUB_ADDRESS_POINT_ID IS NULL, sap.SUB_BUILDING_NAME_REQUIRED,
IIF(NOT org.ORGANISATION_ID IS NULL, org.SUB_BUILDING_NAME_REQUIRED, ap.SUB_BUILDING_NAME_REQUIRED)
) SUB_BUILDING_NAME_REQUIRED , b.BUILDING_NUMBER_REQUIRED , b.ADDRESS_TYPE_ID building_address_type_id , b.BUILDING_GROUP_ID , b.PRIMARY_THOROUGHFARE_ID , b.SECONDARY_THOROUGHFARE_ID , b.PRIMARY_LOCALITY_ID , b.SECONDARY_LOCALITY_ID , b.POST_TOWN_ID , b.POST_COUNTY_ID , ap.address_type_id ap_address_type_id , ap.building_id ap_building_id , ap.name ap_name , org.address_type_id org_address_type_id from dbo.ADDRESS_POINT ap
inner join dbo.BUILDING b on b.building_id = ap.building_id
inner join dbo.ROUTING_KEY rk on rk.routing_key_id = b.routing_key_id
left outer join dbo.ORGANISATION org on org.ADDRESS_POINT_ID = ap.ADDRESS_POINT_ID
left outer join dbo.SUB_ADDRESS_POINT sap on sap.ADDRESS_POINT_ID = ap.ADDRESS_POINT_ID
left outer join dbo.BUILDING_GROUP bg on bg.BUILDING_GROUP_ID = b.BUILDING_GROUP_ID
left outer join dbo.THOROUGHFARE th1 on th1.THOROUGHFARE_ID = b.PRIMARY_THOROUGHFARE_ID
left outer join dbo.THOROUGHFARE th2 on th2.THOROUGHFARE_ID = b.SECONDARY_THOROUGHFARE_ID
left outer join dbo.LOCALITY l1 on l1.LOCALITY_ID = b.PRIMARY_LOCALITY_ID
left outer join dbo.LOCALITY l2 on l2.LOCALITY_ID = b.SECONDARY_LOCALITY_ID
left outer join dbo.POST_TOWN pt on pt.POST_TOWN_ID = b.POST_TOWN_ID
left outer join dbo.COUNTY c on c.COUNTY_ID = b.POST_COUNTY_ID
where not ap.EIRCODE is null
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 98
4.1.3 SQL Functions to get Address Lines 1 to 9
4.1.3.1 f_get_address_lines
The following is an implementation of the f_get_address_lines function for SQL Server:
CREATE FUNCTION dbo.f_get_address_lines (
@ecad_id bigint ,@department nvarchar(500) ,@DEPARTMENT_REQUIRED varchar(1) ,@organisation_name nvarchar(500) ,@ORGANISATION_NAME_REQUIRED nvarchar(1) ,@SUB_BUILDING_NAME nvarchar(500) ,@SUB_BUILDING_NAME_FULL_ADDRESS_LINE varchar(1) ,@SUB_BUILDING_NAME_REQUIRED nvarchar(1) ,@building_name nvarchar(60) ,@BUILDING_NAME_REQUIRED nvarchar(1) ,@building_number nvarchar(40) ,@BUILDING_NUMBER_REQUIRED nvarchar(1) ,@BUILDING_GROUP_NAME nvarchar(80) ,@BUILDING_GROUP_REQUIRED nvarchar(1) ,@PRIMARY_THOROUGHFARE nvarchar(80) ,@PRIMARY_THOROUGHFARE_REQUIRED varchar(1) ,@SECONDARY_THOROUGHFARE nvarchar(80) ,@SECONDARY_THOROUGHFARE_REQUIRED varchar(1) ,@PRIMARY_LOCALITY nvarchar(80) ,@PRIMARY_LOCALITY_REQUIRED varchar(1) ,@SECONDARY_LOCALITY nvarchar(80) ,@SECONDARY_LOCALITY_REQUIRED varchar(1) ,@POST_TOWN nvarchar(80) ,@POST_TOWN_REQUIRED varchar(1) ,@COUNTY nvarchar(80) ,@COUNTY_REQUIRED varchar(1) ,@EIRCODE_DISPLAY varchar(8)
) RETURNS @returntable TABLE ( addr_ecad_id bigint ,addr_line_num INT IDENTITY(1,1) ,address_line nvarchar(200) ) AS BEGIN
declare @prefix nvarchar(500) = '';
if (@DEPARTMENT_REQUIRED = 'Y') INSERT @returntable (addr_ecad_id, address_line)
SELECT @ecad_id, @department; if (@ORGANISATION_NAME_REQUIRED = 'Y') INSERT @returntable (addr_ecad_id, address_line)
SELECT @ecad_id, @organisation_name; if (@SUB_BUILDING_NAME_REQUIRED = 'Y') begin if(@SUB_BUILDING_NAME_FULL_ADDRESS_LINE = 'Y') INSERT @returntable (addr_ecad_id, address_line)
SELECT @ecad_id, @SUB_BUILDING_NAME + ' '; else select @prefix = @SUB_BUILDING_NAME + ' ';
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 99
end; if (@BUILDING_NAME_REQUIRED = 'Y') begin INSERT @returntable (addr_ecad_id, address_line)
SELECT @ecad_id, @prefix+@BUILDING_NAME; set @prefix = ''; end;
if (@BUILDING_NUMBER_REQUIRED = 'Y') begin set @prefix = @building_number + ' '; end if (@BUILDING_GROUP_REQUIRED = 'Y') begin INSERT @returntable (addr_ecad_id, address_line)
SELECT @ecad_id, @prefix + @BUILDING_GROUP_NAME; set @prefix = ''; end; if (@PRIMARY_THOROUGHFARE_REQUIRED = 'Y') begin INSERT @returntable (addr_ecad_id, address_line)
SELECT @ecad_id, @prefix + @PRIMARY_THOROUGHFARE; set @prefix = '';
end; if (@SECONDARY_THOROUGHFARE_REQUIRED = 'Y') begin INSERT @returntable (addr_ecad_id, address_line)
SELECT @ecad_id, @prefix + @SECONDARY_THOROUGHFARE; set @prefix = ''; end; if (@PRIMARY_LOCALITY_REQUIRED = 'Y') begin INSERT @returntable (addr_ecad_id, address_line)
SELECT @ecad_id, @prefix + @PRIMARY_LOCALITY; set @prefix = ''; end; if (@SECONDARY_LOCALITY_REQUIRED = 'Y') begin INSERT @returntable (addr_ecad_id, address_line)
SELECT @ecad_id, @prefix + @SECONDARY_LOCALITY; set @prefix = ''; end; if (@POST_TOWN_REQUIRED = 'Y') begin INSERT @returntable (addr_ecad_id, address_line)
SELECT @ecad_id, @prefix + @POST_TOWN; set @prefix = ''; end; if (@COUNTY_REQUIRED = 'Y') begin INSERT @returntable (addr_ecad_id, address_line)
SELECT @ecad_id, @prefix + 'CO. ' + @COUNTY; set @prefix = ''; end;
INSERT @returntable (addr_ecad_id, address_line)
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 100
SELECT @ecad_id, @EIRCODE_DISPLAY; RETURN
END
Note that this function is invoked by the next function below f_get_address_cols which
converts the address lines to columns.
4.1.3.2 f_get_address_cols
The following is an implementation of the f_get_address_cols function for SQL Server :
CREATE FUNCTION dbo.f_get_address_cols( @ecad_id bigint
,@department nvarchar(500) ,@DEPARTMENT_REQUIRED varchar(1) ,@organisation_name nvarchar(500) ,@ORGANISATION_NAME_REQUIRED nvarchar(1) ,@SUB_BUILDING_NAME nvarchar(500) ,@SUB_BUILDING_NAME_FULL_ADDRESS_LINE varchar(1) ,@SUB_BUILDING_NAME_REQUIRED nvarchar(1) ,@building_name nvarchar(60) ,@BUILDING_NAME_REQUIRED nvarchar(1) ,@building_number nvarchar(40) ,@BUILDING_NUMBER_REQUIRED nvarchar(1) ,@BUILDING_GROUP_NAME nvarchar(80) ,@BUILDING_GROUP_REQUIRED nvarchar(1) ,@PRIMARY_THOROUGHFARE nvarchar(80) ,@PRIMARY_THOROUGHFARE_REQUIRED varchar(1) ,@SECONDARY_THOROUGHFARE nvarchar(80) ,@SECONDARY_THOROUGHFARE_REQUIRED varchar(1) ,@PRIMARY_LOCALITY nvarchar(80) ,@PRIMARY_LOCALITY_REQUIRED varchar(1) ,@SECONDARY_LOCALITY nvarchar(80) ,@SECONDARY_LOCALITY_REQUIRED varchar(1) ,@POST_TOWN nvarchar(80) ,@POST_TOWN_REQUIRED varchar(1) ,@COUNTY nvarchar(80) ,@COUNTY_REQUIRED varchar(1) ,@POSTCODE_DISPLAY varchar(8) ) RETURNS TABLE AS RETURN ( select @ecad_id addr_ecad_id, pivot_lines.* from ( select 'addr_line_'+cast(addr_line_num as varchar(2)) as col
, address_line from dbo.f_get_address_lines( @ecad_id ,@department ,@DEPARTMENT_REQUIRED ,@organisation_name ,@ORGANISATION_NAME_REQUIRED ,@SUB_BUILDING_NAME
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 101
,@SUB_BUILDING_NAME_FULL_ADDRESS_LINE ,@SUB_BUILDING_NAME_REQUIRED ,@building_name ,@BUILDING_NAME_REQUIRED ,@building_number ,@BUILDING_NUMBER_REQUIRED ,@BUILDING_GROUP_NAME ,@BUILDING_GROUP_REQUIRED ,@PRIMARY_THOROUGHFARE ,@PRIMARY_THOROUGHFARE_REQUIRED ,@SECONDARY_THOROUGHFARE ,@SECONDARY_THOROUGHFARE_REQUIRED ,@PRIMARY_LOCALITY ,@PRIMARY_LOCALITY_REQUIRED ,@SECONDARY_LOCALITY ,@SECONDARY_LOCALITY_REQUIRED ,@POST_TOWN ,@POST_TOWN_REQUIRED ,@COUNTY ,@COUNTY_REQUIRED ,@POSTCODE_DISPLAY ) ) lines pivot (max(address_line) for col in ( addr_line_1, addr_line_2, addr_line_3, addr_line_4, addr_line_5, addr_line_6, addr_line_7, addr_line_8, addr_line_9 ) ) as pivot_lines )
Note that this function invokes the function f_get_address_lines before converting the address lines to columns.
EIRCODE ADDRESS DATABASE PRODUCT GUIDE EDITION 1, VERSION 7 102
Contact Information
Contact our Customer Account Management team if you would like more information on the products offered by Eircode, email [email protected]
Your Comments On This Guide
If you have any comments on this Eircode Address Database Product Guide Edition 1, Version 7 we would be pleased to hear from you. Email your feedback to [email protected] and type ‘ECAD Product Guide enquiry’ in the subject line.
Disclaimer
Eircode is a trademark/brand of the Postcode Management Licence Holder (PMLH) operated by
Capita Business Support Services (Ireland) Limited. This guide and the information contained in
it are provided ‘as is’. Eircode, PMLH or Capita Business Support Services(Ireland) does not
represent or warrant that this guide will be error-free or will meet any particular criteria of
performance or quality.
Except as expressly set out in this document no representations, warranties or conditions are
given or assumed by Eircode, PMLH or Capita Business Support Services(Ireland) or any other
person in respect of any information or assistance which they provide or have provided, directly
or indirectly to you. And any such representations, warranties or conditions are excluded to the
fullest extent permitted by applicable law
Eircode, PMLH or Capita Business Support Services(Ireland) excludes all liability for any loss
rising out of or relating to the use of this guide or the information in it, whether direct, indirect,
consequential or special or howsoever arising.
Use of the Eircode Address Database and documentation is subject to a separate Licence
Agreement and as such must be used in accordance with its terms and conditions.
The reader must be aware of their own data protection obligations when using Eircode in
conjunction with customer data. When using Eircode the user must ensure they are fully
compliant with the relevant legislations regarding data protection both in their direct use and
any use via 3rd parties.