TRIAL Move the mouse over tables to read the comments 1 TTSM Read table & column comments as mouse-over tooltips. Generated using DbSchema - www.dbschema.com Fk ttsm_fk_8 predefined_detour ref organization ( org_id -> id ) org_id Fk ttsm_fk_4 difference ref organization ( organization_id -> id ) organization_id Fk ttsm_fk_5 difference ref ttsm_user ( user_id -> id ) user_id Fk ttsm_fk_2 restriction ref organization ( organization_id -> id ) organization_id Fk ttsm_fk_7 restriction ref organization ( last_changed_org_id -> id ) last_changed_org_id Fk ttsm_fk_3 restriction ref ttsm_user ( filler_id -> id ) filler_id Fk ttsm_fk_6 restriction ref ttsm_user ( last_changed_id -> id ) last_changed_id Fk ttsm_fk_1 ttsm_user ref organization ( organization_id -> id ) organization_id ttsm.organizationTable ttsm.organization Ettevõtted Pk pk_organization ( id ) idbigserialid * bigserial Ettevõtte süsteemne id Referred by ttsm_user ( organization_id -> id ) Referred by restriction ( organization_id -> id ) Referred by difference ( organization_id -> id ) Referred by restriction ( last_changed_org_id -> id ) Referred by predefined_detour ( org_id -> id ) initializedboolinitialized bool Süsteemne väärtus registreerimisvormi kuvamiseks reg_codevarchar(255)reg_code varchar(255) Ettevõtte registrikood namevarchar(1024)name varchar(1024) Ettevõtte nimi emailvarchar(255)email varchar(255) Ettevõtte email phonevarchar(255)phone varchar(255) Ettevõtte telefon ttsm.fileTable ttsm.file Manused Pk pk_file ( id ) idbigserialid * bigserial Manuse süsteemne id restriction_idbigintrestriction_id bigint Piirangu süsteemne id uuidvarchar(50)uuid varchar(50) Manuse tunnus databyteadata bytea Manuse fail ttsm.predefined_detourTable ttsm.predefined_detour Erakorralised ümbersõidud Pk pk_predefined_detour ( id ) idbigserialid * bigserial Erakorralise ümbersõidu süsteemne id road_ownervarchar(255)road_owner varchar(255) Tee valdaja namevarchar(255)name varchar(255) Ümbersõidu nimi road_oidbigintroad_oid bigint Tee, mille ümber ümbersõit moodustub, süsteemne id typevarchar(255)type varchar(255) Ümbersõidu liik geometrygeometrygeometry geometry Ümbersõidu geomeetria lengthbigintlength bigint Ümbersõidu pikkus statusvarchar(255)status varchar(255) Ümbersõidu staatus detour_roadstextdetour_roads text Ümbersõidu moodustavate teede andmed last_changedbigintlast_changed bigint Ümbersõidu viimase muutmise aeg last_changed_idbigintlast_changed_id bigint Ümbersõidu viimane muutja id last_changed_org_idbigintlast_changed_org_id bigint Ümbersõidu viimase muutja ettvõtte id org_idbigintorg_id bigint Ettevõtte süsteemne id References organization ( org_id -> id ) ttsm.differenceTable ttsm.difference Muudatused Pk pk_difference ( id ) idbigserialid * bigserial Muudatuse süsteemne id organization_idbigintorganization_id bigint Ettevõtte süsteemne id References organization ( organization_id -> id ) user_idbigintuser_id bigint Kasutaja süsteemne id References ttsm_user ( user_id -> id ) restriction_idbigintrestriction_id bigint Piirangu süsteemne id timestamp_utc_millisbiginttimestamp_utc_millis bigint Muudatuse aeg difftextdiff text Muudatuse sisu ttsm.restrictionTable ttsm.restriction Piirangud Pk pk_restriction ( id ) idbigserialid * bigserial Piirangu süsteemne id search_keyvarchar(50)search_key varchar(50) Piirangu võti statusvarchar(50)status varchar(50) Piirangu staatus last_changedbigintlast_changed bigint Piirangu viimase muutmise aeg last_changed_idbigintlast_changed_id bigint Piirangu viimane muutja id References ttsm_user ( last_changed_id -> id ) last_changed_org_idbigintlast_changed_org_id bigint Piirangu viimase muutja ettevõtte id References organization ( last_changed_org_id -> id ) road_oidbigintroad_oid bigint Tee süsteemne id road_numberintegerroad_number integer Piirangu tee number road_namevarchar(255)road_name varchar(255) Piirangu tee nimi road_typevarchar(50)road_type varchar(50) Piirangu tee liik geometrygeometrygeometry geometry Piirangu tee geomeetria start_mfloat8start_m float8 Piirangu alguskuupäev end_mfloat8end_m float8 Piirangu lõppkuupäev length_mfloat8length_m float8 Piirangu pikkus teel effectvarchar(1024)effect varchar(1024) Piirangu mõju primary_causevarchar(255)primary_cause varchar(255) Piirangu peamine põhjus causevarchar(1024)cause varchar(1024) Piirangu põhjus start_utc_millisbigintstart_utc_millis bigint Piirangu algusaeg end_utc_millisbigintend_utc_millis bigint Piirangu lõppaeg traffic_controlbooltraffic_control bool Liikluse reguleerimine width_limitfloat8width_limit float8 Gabariidipiirangu laiuse piirang height_limitfloat8height_limit float8 Gabariidipiirangu pikkuse piirang length_limitfloat8length_limit float8 Gabariidipiirangu pikkuse piirang truck_weight_limitfloat8truck_weight_limit float8 Massipiirangu täpsustus, veoauto sõidu keeld semi_trailer_weight_limitfloat8semi_trailer_weight_limit float8 Massipiirangu täpsustus, autorongi ja masinrongi sõidu keeld gross_vehicle_weight_limitfloat8gross_vehicle_weight_limit float8 Massipiirangu täpsustus, tegelik mass curb_weight_limitfloat8curb_weight_limit float8 Massipiirangu täpsustus, registrimass axel_load_limitfloat8axel_load_limit float8 Massipiirangu täpsustus, teljekoormus undercarriage_load_limitfloat8undercarriage_load_limit float8 Massipiirangu täpsustus, telikukoormus traffic_ctrl_reg_codevarchar(255)traffic_ctrl_reg_code varchar(255) Liikluskorralduse eest vastutava ettevõtte registrikood traffic_ctrl_organizationvarchar(255)traffic_ctrl_organization varchar(255) Liikluskorralduse eest vastutava ettevõtte nimi traffic_ctrl_contact_namevarchar(255)traffic_ctrl_contact_name varchar(255) Liikluskorralduse eest vastutava isiku nimi traffic_ctrl_contact_phonevarchar(255)traffic_ctrl_contact_phone varchar(255) Liikluskorralduse eest vastutava isiku telefon contractor_reg_codevarchar(255)contractor_reg_code varchar(255) Töövõtja ettevõtte registrikood contractor_organizationvarchar(255)contractor_organization varchar(255) Töövõtja ettevõtte nimi contractor_contact_namevarchar(255)contractor_contact_name varchar(255) Töövõtja isiku nimi contractor_contact_phonevarchar(255)contractor_contact_phone varchar(255) Töövõtja isiku telefon supervision_reg_codevarchar(255)supervision_reg_code varchar(255) Omanikujärelevalvet teostava ettevõtte registrikood supervision_organizationvarchar(255)supervision_organization varchar(255) Omanikujärelevalvet teostava ettevõtte nimi engineer_name_1varchar(255)engineer_name_1 varchar(255) Inseneri nimi engineer_phone_1varchar(255)engineer_phone_1 varchar(255) Inseneri telefon engineer_email_1varchar(255)engineer_email_1 varchar(255) Inseneri email support_engineer_name_1varchar(255)support_engineer_name_1 varchar(255) Abiinseneri nimi support_engineer_phone_1varchar(255)support_engineer_phone_1 varchar(255) Abiinseneri telefon support_engineer_email_1varchar(255)support_engineer_email_1 varchar(255) Abiinseneri email customer_namevarchar(255)customer_name varchar(255) Tellija esindaja isiku nimi customer_phonevarchar(255)customer_phone varchar(255) Tellija esindaja isiku telefon customer_emailvarchar(255)customer_email varchar(255) Tellija esindaja email organization_idbigintorganization_id bigint Piiranguvormi täitja ettevõtte süsteemne id References organization ( organization_id -> id ) filler_idbigintfiller_id bigint Piiranguvormi täitja kasutaja süsteemne id References ttsm_user ( filler_id -> id ) public_extra_infotextpublic_extra_info text Avalik (nähtav lõppkasutajatele) lisainfo vabatekstina private_extra_infotextprivate_extra_info text Mitteavalik (nähtav sisestusmooduli kasutajatele) lisainfo vabatekstina public_attachment_uuidvarchar(255)public_attachment_uuid varchar(255) Avaliku manuse tunnus public_attachment_namevarchar(255)public_attachment_name varchar(255) Avaliku manuse nimi private_attachment_uuidvarchar(255)private_attachment_uuid varchar(255) Mittevaliku manuse tunnus private_attachment_namevarchar(255)private_attachment_name varchar(255) Mittevaliku manuse nimi road_part_oidbigintroad_part_oid bigint Piirangu teeosa süsteemne id start_floatfloat8start_float float8 Piirangu algus km end_floatfloat8end_float float8 Piirangu lõpp km rejection_reasonstextrejection_reasons text Valideerimisest tagasilükkamise põhjus dynamic_attrstextdynamic_attrs text Piirangu vormi lisaväärtused ja -väljad JSONi formaadis detour_geometrygeometrydetour_geometry geometry Piirangule lisatud ümbersõidu geomeetria detour_commenttextdetour_comment text Ümbersõidu kommentaar road_ownervarchar(50)road_owner varchar(50) Tee valdaja restriction_filler_organizationvarchar(255)restriction_filler_organization varchar(255) Piiranguvormi täitja ettevõte restriction_filler_namevarchar(255)restriction_filler_name varchar(255) Piiranguvormi täitja restriction_filler_phonevarchar(255)restriction_filler_phone varchar(255) Piiranguvormi täitja telefon restriction_filler_emailvarchar(255)restriction_filler_email varchar(255) Piiranguvormi täitja email detour_geometry_propertiestextdetour_geometry_properties text Ümbersõidu info JSON formaadis engineer_name_2varchar(255)engineer_name_2 varchar(255) Inseneri2 nimi engineer_phone_2varchar(255)engineer_phone_2 varchar(255) Inseneri2 telefon engineer_email_2varchar(255)engineer_email_2 varchar(255) Inseneri2 email engineer_name_3varchar(255)engineer_name_3 varchar(255) Inseneri3 nimi engineer_phone_3varchar(255)engineer_phone_3 varchar(255) Inseneri3 telefon engineer_email_3varchar(255)engineer_email_3 varchar(255) Inseneri3 email support_engineer_name_2varchar(255)support_engineer_name_2 varchar(255) Abiinseneri2 nimi support_engineer_phone_2varchar(255)support_engineer_phone_2 varchar(255) Abiinseneri2 telefon support_engineer_email_2varchar(255)support_engineer_email_2 varchar(255) Abiinseneri2 email support_engineer_name_3varchar(255)support_engineer_name_3 varchar(255) Abiinseneri3 nimi support_engineer_phone_3varchar(255)support_engineer_phone_3 varchar(255) Abiinseneri3 telefon support_engineer_email_3varchar(255)support_engineer_email_3 varchar(255) Abiinseneri3 email altered_speed_limitfloat8altered_speed_limit float8 Suurendatud piirkiiruse täpsustus tarktee_idbiginttarktee_id bigint ArcGIS süsteemne piirangu id tarktee_detour_idbiginttarktee_detour_id bigint ArcGIS süsteemne ümbersõidu id road_part_hashvarchar(255)road_part_hash varchar(255) Piirangu teeosa süsteemne väärtus ttsm.ttsm_userTable ttsm.ttsm_user Kasutajad Pk pk_ttsm_user ( id ) idbigserialid * bigserial Süsteemne id Referred by restriction ( filler_id -> id ) Referred by difference ( user_id -> id ) Referred by restriction ( last_changed_id -> id ) organization_idbigintorganization_id bigint Organisatsiooni id References organization ( organization_id -> id ) initializedboolinitialized bool Süsteemne väärtus registreerimisvormi kuvamiseks usernamevarchar(255)username varchar(255) Kasutaja kasutajanimi namevarchar(255)name varchar(255) Kasutaja ees ja perekonnanimi id_codevarchar(255)id_code varchar(255) Kasutaja isikukood phonevarchar(255)phone varchar(255) Kasutaja telefon emailvarchar(255)email varchar(255) Kasutaja email extra_infovarchar(1024)extra_info varchar(1024) Kasutaja lisainfo notify_restriction_about_to_expireboolnotify_restriction_about_to_expire bool Määrab kas kasutajale saadetakse teavitus piirangu aegumise kohta notify_restriction_waiting_validationboolnotify_restriction_waiting_validation bool Määrab kas kasutajale saadetakse teavitus valideerimist ootava piirangu kohta notify_restriction_rejected_or_validatedboolnotify_restriction_rejected_or_validated bool Määrab kas kasutajale saadetakse teavitus piirangu valideerimise kohta notify_restriction_editedboolnotify_restriction_edited bool Määrab kas kasutajale saadetakse teavitus piirangu muutmise kohta last_rolesvarchar(1024)last_roles varchar(1024) Kasutaja rollid auth_typevarchar(50)auth_type varchar(50) Kasutaja autoriseerimise tüüp notify_speed_cameraboolnotify_speed_camera bool Määrab kas kasutajale saadetakse teavitus piirangu kohta, mis jääb kiiruskaamera mõjualasse notify_speed_camera_statuestextnotify_speed_camera_statues text Staatused kuna kiiruskaamera teavitus saadetakse notify_mass_restrictionboolnotify_mass_restriction bool Määrab kas kasutajale saadetakse teavitus massipiirangu kohta notify_mass_restriction_statuestextnotify_mass_restriction_statues text Staatused kuna massipiirangu teavitus saadetakse notify_mass_restriction_ehakstextnotify_mass_restriction_ehaks text EHAK koodid mille kohta massipiirangu teavitus saadetakse notify_mass_restriction_road_typestextnotify_mass_restriction_road_types text Tee liik mille kohta massipiirangu teavitus saadetakse


Table ttsm.organization

Columns
Ettevõtted
* id bigserial Ettevõtte süsteemne id
  initialized bool Süsteemne väärtus registreerimisvormi kuvamiseks
  reg_code varchar( 255 ) Ettevõtte registrikood
  name varchar( 1024 ) Ettevõtte nimi
  email varchar( 255 ) Ettevõtte email
  phone varchar( 255 ) Ettevõtte telefon
Indexes
pk_organization ON id


Table ttsm.file

Columns
Manused
* id bigserial Manuse süsteemne id
  restriction_id bigint Piirangu süsteemne id
  uuid varchar( 50 ) Manuse tunnus
  data bytea Manuse fail
Indexes
pk_file ON id


Table ttsm.predefined_detour

Columns
Erakorralised ümbersõidud
* id bigserial Erakorralise ümbersõidu süsteemne id
  road_owner varchar( 255 ) Tee valdaja
  name varchar( 255 ) Ümbersõidu nimi
  road_oid bigint Tee, mille ümber ümbersõit moodustub, süsteemne id
  type varchar( 255 ) Ümbersõidu liik
  geometry geometry Ümbersõidu geomeetria
  length bigint Ümbersõidu pikkus
  status varchar( 255 ) Ümbersõidu staatus
  detour_roads text Ümbersõidu moodustavate teede andmed
  last_changed bigint Ümbersõidu viimase muutmise aeg
  last_changed_id bigint Ümbersõidu viimane muutja id
  last_changed_org_id bigint Ümbersõidu viimase muutja ettvõtte id
org_id bigint Ettevõtte süsteemne id
Indexes
pk_predefined_detour ON id
Foreign Keys
ttsm_fk_8 ( org_id ) ref organization (id)


Table ttsm.difference

Columns
Muudatused
* id bigserial Muudatuse süsteemne id
organization_id bigint Ettevõtte süsteemne id
user_id bigint Kasutaja süsteemne id
  restriction_id bigint Piirangu süsteemne id
  timestamp_utc_millis bigint Muudatuse aeg
  diff text Muudatuse sisu
Indexes
pk_difference ON id
Foreign Keys
ttsm_fk_4 ( organization_id ) ref organization (id)
ttsm_fk_5 ( user_id ) ref ttsm_user (id)


Table ttsm.restriction

Columns
Piirangud
* id bigserial Piirangu süsteemne id
  search_key varchar( 50 ) Piirangu võti
  status varchar( 50 ) Piirangu staatus
  last_changed bigint Piirangu viimase muutmise aeg
last_changed_id bigint Piirangu viimane muutja id
last_changed_org_id bigint Piirangu viimase muutja ettevõtte id
  road_oid bigint Tee süsteemne id
  road_number integer Piirangu tee number
  road_name varchar( 255 ) Piirangu tee nimi
  road_type varchar( 50 ) Piirangu tee liik
  geometry geometry Piirangu tee geomeetria
  start_m float8 Piirangu alguskuupäev
  end_m float8 Piirangu lõppkuupäev
  length_m float8 Piirangu pikkus teel
  effect varchar( 1024 ) Piirangu mõju
  primary_cause varchar( 255 ) Piirangu peamine põhjus
  cause varchar( 1024 ) Piirangu põhjus
  start_utc_millis bigint Piirangu algusaeg
  end_utc_millis bigint Piirangu lõppaeg
  traffic_control bool Liikluse reguleerimine
  width_limit float8 Gabariidipiirangu laiuse piirang
  height_limit float8 Gabariidipiirangu pikkuse piirang
  length_limit float8 Gabariidipiirangu pikkuse piirang
  truck_weight_limit float8 Massipiirangu täpsustus, veoauto sõidu keeld
  semi_trailer_weight_limit float8 Massipiirangu täpsustus, autorongi ja masinrongi sõidu keeld
  gross_vehicle_weight_limit float8 Massipiirangu täpsustus, tegelik mass
  curb_weight_limit float8 Massipiirangu täpsustus, registrimass
  axel_load_limit float8 Massipiirangu täpsustus, teljekoormus
  undercarriage_load_limit float8 Massipiirangu täpsustus, telikukoormus
  traffic_ctrl_reg_code varchar( 255 ) Liikluskorralduse eest vastutava ettevõtte registrikood
  traffic_ctrl_organization varchar( 255 ) Liikluskorralduse eest vastutava ettevõtte nimi
  traffic_ctrl_contact_name varchar( 255 ) Liikluskorralduse eest vastutava isiku nimi
  traffic_ctrl_contact_phone varchar( 255 ) Liikluskorralduse eest vastutava isiku telefon
  contractor_reg_code varchar( 255 ) Töövõtja ettevõtte registrikood
  contractor_organization varchar( 255 ) Töövõtja ettevõtte nimi
  contractor_contact_name varchar( 255 ) Töövõtja isiku nimi
  contractor_contact_phone varchar( 255 ) Töövõtja isiku telefon
  supervision_reg_code varchar( 255 ) Omanikujärelevalvet teostava ettevõtte registrikood
  supervision_organization varchar( 255 ) Omanikujärelevalvet teostava ettevõtte nimi
  engineer_name_1 varchar( 255 ) Inseneri nimi
  engineer_phone_1 varchar( 255 ) Inseneri telefon
  engineer_email_1 varchar( 255 ) Inseneri email
  support_engineer_name_1 varchar( 255 ) Abiinseneri nimi
  support_engineer_phone_1 varchar( 255 ) Abiinseneri telefon
  support_engineer_email_1 varchar( 255 ) Abiinseneri email
  customer_name varchar( 255 ) Tellija esindaja isiku nimi
  customer_phone varchar( 255 ) Tellija esindaja isiku telefon
  customer_email varchar( 255 ) Tellija esindaja email
organization_id bigint Piiranguvormi täitja ettevõtte süsteemne id
filler_id bigint Piiranguvormi täitja kasutaja süsteemne id
  public_extra_info text Avalik (nähtav lõppkasutajatele) lisainfo vabatekstina
  private_extra_info text Mitteavalik (nähtav sisestusmooduli kasutajatele) lisainfo vabatekstina
  public_attachment_uuid varchar( 255 ) Avaliku manuse tunnus
  public_attachment_name varchar( 255 ) Avaliku manuse nimi
  private_attachment_uuid varchar( 255 ) Mittevaliku manuse tunnus
  private_attachment_name varchar( 255 ) Mittevaliku manuse nimi
  road_part_oid bigint Piirangu teeosa süsteemne id
  start_float float8 Piirangu algus km
  end_float float8 Piirangu lõpp km
  rejection_reasons text Valideerimisest tagasilükkamise põhjus
  dynamic_attrs text Piirangu vormi lisaväärtused ja -väljad JSONi formaadis
  detour_geometry geometry Piirangule lisatud ümbersõidu geomeetria
  detour_comment text Ümbersõidu kommentaar
  road_owner varchar( 50 ) Tee valdaja
  restriction_filler_organization varchar( 255 ) Piiranguvormi täitja ettevõte
  restriction_filler_name varchar( 255 ) Piiranguvormi täitja
  restriction_filler_phone varchar( 255 ) Piiranguvormi täitja telefon
  restriction_filler_email varchar( 255 ) Piiranguvormi täitja email
  detour_geometry_properties text Ümbersõidu info JSON formaadis
  engineer_name_2 varchar( 255 ) Inseneri2 nimi
  engineer_phone_2 varchar( 255 ) Inseneri2 telefon
  engineer_email_2 varchar( 255 ) Inseneri2 email
  engineer_name_3 varchar( 255 ) Inseneri3 nimi
  engineer_phone_3 varchar( 255 ) Inseneri3 telefon
  engineer_email_3 varchar( 255 ) Inseneri3 email
  support_engineer_name_2 varchar( 255 ) Abiinseneri2 nimi
  support_engineer_phone_2 varchar( 255 ) Abiinseneri2 telefon
  support_engineer_email_2 varchar( 255 ) Abiinseneri2 email
  support_engineer_name_3 varchar( 255 ) Abiinseneri3 nimi
  support_engineer_phone_3 varchar( 255 ) Abiinseneri3 telefon
  support_engineer_email_3 varchar( 255 ) Abiinseneri3 email
  altered_speed_limit float8 Suurendatud piirkiiruse täpsustus
  tarktee_id bigint ArcGIS süsteemne piirangu id
  tarktee_detour_id bigint ArcGIS süsteemne ümbersõidu id
  road_part_hash varchar( 255 ) Piirangu teeosa süsteemne väärtus
Indexes
pk_restriction ON id
Foreign Keys
ttsm_fk_2 ( organization_id ) ref organization (id)
ttsm_fk_7 ( last_changed_org_id ) ref organization (id)
ttsm_fk_3 ( filler_id ) ref ttsm_user (id)
ttsm_fk_6 ( last_changed_id ) ref ttsm_user (id)


Table ttsm.ttsm_user

Columns
Kasutajad
* id bigserial Süsteemne id
organization_id bigint Organisatsiooni id
  initialized bool Süsteemne väärtus registreerimisvormi kuvamiseks
  username varchar( 255 ) Kasutaja kasutajanimi
  name varchar( 255 ) Kasutaja ees ja perekonnanimi
  id_code varchar( 255 ) Kasutaja isikukood
  phone varchar( 255 ) Kasutaja telefon
  email varchar( 255 ) Kasutaja email
  extra_info varchar( 1024 ) Kasutaja lisainfo
  notify_restriction_about_to_expire bool Määrab kas kasutajale saadetakse teavitus piirangu aegumise kohta
  notify_restriction_waiting_validation bool Määrab kas kasutajale saadetakse teavitus valideerimist ootava piirangu kohta
  notify_restriction_rejected_or_validated bool Määrab kas kasutajale saadetakse teavitus piirangu valideerimise kohta
  notify_restriction_edited bool Määrab kas kasutajale saadetakse teavitus piirangu muutmise kohta
  last_roles varchar( 1024 ) Kasutaja rollid
  auth_type varchar( 50 ) Kasutaja autoriseerimise tüüp
  notify_speed_camera bool Määrab kas kasutajale saadetakse teavitus piirangu kohta, mis jääb kiiruskaamera mõjualasse
  notify_speed_camera_statues text Staatused kuna kiiruskaamera teavitus saadetakse
  notify_mass_restriction bool Määrab kas kasutajale saadetakse teavitus massipiirangu kohta
  notify_mass_restriction_statues text Staatused kuna massipiirangu teavitus saadetakse
  notify_mass_restriction_ehaks text EHAK koodid mille kohta massipiirangu teavitus saadetakse
  notify_mass_restriction_road_types text Tee liik mille kohta massipiirangu teavitus saadetakse
Indexes
pk_ttsm_user ON id
Foreign Keys
ttsm_fk_1 ( organization_id ) ref organization (id)

Powered by DbSchema