Spatial references include a coordinate system for x-, y-, and z-values. In enterprise geodatabases, the spatial reference also includes tolerance and resolution values. All this information together helps indicate where on the earth the shapes on your flat map represent.
Each spatial reference also has an identifier (often called a well-known ID, spatial reference ID, or SRID) and a well-known text definition of the coordinate system. There are certain standard IDs, such as those defined by the European Petroleum Survey Group (EPSG) or Esri, but the ID for spatial references is not always standard. This has implications when moving your spatial data between databases. See How the spatial reference system is used in ArcGIS in this topic for more information.
When created through ArcGIS, a spatial reference system with a specific SRID is assigned to the feature class. If a spatial reference is not assigned, the feature class has an unknown spatial reference. This spatial reference and SRID apply to all rows in the feature class.
When spatial tables are created directly in the database (outside of ArcGIS), each record in a spatial table can be assigned a different SRID and spatial reference. However, when you use these database tables with ArcGIS, ArcGIS only recognizes one SRID and spatial reference for the whole table. You can define a query layer to specify which SRID will be used, and all rows with that SRID will be accessible in ArcGIS. Otherwise, ArcGIS reads the SRID of the first row in the table, and only rows that have that SRID defined will be accessible in ArcGIS.
Spatial reference tables
In enterprise geodatabases and databases supported by ArcGIS, all spatial reference systems are stored in a system table.
Spatial reference tables in geodatabases
The system table used for ST_Geometry in Oracle (sde.st_spatial_references) and PostgreSQL (public.sde_spatial_references) is prepopulated with spatial reference systems that use EPSG codes for the spatial reference IDs (SRIDs). Upgraded geodatabases in Oracle and PostgreSQL will have the spatial reference systems added to the sde.st_spatial_references and public.sde_spatial_references tables.
Spatial reference tables in databases
With the exception of the ST_Geometry type installed in an Oracle, PostgreSQL, or SQLite database, databases that use an SQL geometry type do not contain an ArcGIS system table. Each database management system has its own system table or tables to store spatial reference metadata. In general, those tables store the coordinate system's well-known text and ID but do not store precision or tolerance values.
Most databases use EPSG codes for their spatial reference IDs.
See your database management system documentation for details.
How the spatial reference system is used in ArcGIS
When you create a feature class in ArcGIS, you choose a spatial reference. If you are storing your data in a geodatabase, ArcGIS calculates default x-, y-, z-, and m-units and offsets based on the spatial reference you choose.
When data is pasted or imported into a database or enterprise geodatabase using ArcGIS, ArcGIS takes the well-known text description and ID of the coordinate system of the incoming data, along with the tolerance and resolution if present, and compares it to values in the spatial reference system table. If a match is found, the existing spatial reference is used. If a match is not found—for example, if the incoming data has a custom spatial reference—what happens depends on the spatial type used for the spatial column of the table created in the target database or geodatabase.
See What is an SRID for a list of what SRID is used in the target PostgreSQL, Oracle, or Microsoft SQL Server database, or IBM Netezza Data Warehouse Appliance when importing or pasting spatial data.
Spatial data with an unknown spatial reference cannot be published as a service from ArcGIS. To publish the data, create a query layer on it and specify a spatial reference on the query layer.