what is a relationship class in arcgis

Once the cardinality of the relationship is identified, it is important that the object classes are assigned to their correct roles (origin or destination) in the relationship. In both simple and composite relationships, the destination objects are modified when the origin objects are deleted.

Creating relationship classes

"Creating relationship classes Summary Geodatabase relationship classes are similar to relationships in a database management system (DBMS). Relationship classes manage the associations between objects in one class (feature class or table) and objects in another. Objects at either end of the relationship can be features with geometry or records in a table. This topic shows how to create a relationship class inside of a feature dataset and as a stand-alone relationship class within a geodatabase. In this topic About creating a relationship class in the geodatabase Relationship class parameters Relationship class name (rel Class Name)Cardinality (esri Rel Cardinality)One-to-one One-to-many Many-to-many Relationship cardinality constants Origin class and destination class (Origin Class and Destination Class)Case 1—Parcel to zone (incorrect)Case 2—Zone to parcel (correct)Origin primary and foreign keys (Origin Primary Key and Origin Foreign Key)Simple vs. a composite relationship (Is Composite)Simple relationship Composite relationship Relationship attributes (Is Attributed and rel Attr Fields)Destination primary and foreign keys (dest Primary Key and dest Foreign Key)Primary key fields Foreign key fields Relationship class labels (forward Label and backward Label)Notification (esri Rel Notification)Creating a simple relationship class in a feature dataset using IRelationship Class Container Creating a composite stand-alone relationship class using IFeature Workspace Creating an attributed relationship class using IFeature Workspace About creating a relationship class in the geodatabase Geodatabase relationship classes are similar to relationships in a DBMS. Relationship classes are used to manage a relationship between two object classes (feature classes and tables) in a geodatabase. Both of the object classes must be stored in the same geodatabase as the relationship class. Since the relationship classes are stored in the geodatabase, they are always available when working with either of the related object classes. Relationship classes offer many other benefits while editing and working with data. They can help facilitate editing while lowering maintenance costs by providing automatic updates to related objects. Also, since relationship classes are stored in the geodatabase, they can also be managed with versions, which allow multiple users to edit the features or records in a relationship at the same time. Relationship classes can be created by calling the Create Relationship Class method on the IFeature Workspace interface or on the IRelationship Class Container interface. The main difference is that the IRelationship Class Container is used to create relationship classes inside a feature dataset and IFeature Workspace is used to create stand-alone relationship classes. If one or both of the object classes participating in the relationship class are stored in a feature dataset, the relationship class can also be stored in the feature dataset or as a stand-alone object in the geodatabase. However, if both of the object classes are stored as stand-alone object classes in the geodatabase, then the relationship class must also be created as a stand-alone object. There is no functional difference between storing a relationship class inside a feature dataset or as a stand-alone object. The option is primarily for organizational purposes. Relationship class parameters There are a many different parameters that should be considered before a relationship class can be created. The parameter requirements are the same when using the Create Relationship Class method on either of the interfaces. These parameters define how relationship classes are created as well as their functional behavior. See the following:public IRelationship Class Create Relationship Class (string rel Class Name,IObject Class Origin Class,IObject Class Destination Class,string forward Label,string backward Label,esri Rel Cardinality Cardinality,esri Rel Notification Notification,bool Is Composite,bool Is Attributed,IFields rel Attr Fields,string Origin Primary Key,string dest Primary Key,string Origin Foreign Key,string dest Foreign Key);Give careful consideration when specifying these parameters because once the relationship class is created, only three of the parameters can be modified using the IRel Class Schema Edit interface. This interface allows the forward and backward labels as well as the relationship type (that is, simple or composite) to be modified after the class has been created. To change the other properties, such as cardinality, the relationship class must be deleted and recreated with the new parameters. For more information, see IRel Class Schema Edit. The following sections discuss the parameters required to create a relationship class. The order in which the parameters are discussed is based on their relative importance as well as how commonly they are utilized during the creation of a relationship class. Relationship class name (rel Class Name)This string parameter is used to set the name of the relationship class. The relationship class name uniquely identifies it within the geodatabase. The specified name cannot contain spaces, punctuation, or start with a number. Ensure that the name of the relationship class is unique. This can be done by using the IWorkspace2. Name Exists property. Cardinality (esri Rel Cardinality)The cardinality parameter is used to specify the number of objects in the origin class that can relate to a number of objects in the destination class. A relationship can have one of the following three cardinalities: One-to-one One-to-many Many-to-many One-to-one One origin object can relate to only one destination object. For example, a parcel can have only one legal description. See the following illustration: One-to-many One origin object can relate to multiple destination objects. For example, a parcel might have many buildings. In a one-to-many relationship, the one side must be the origin class and the many side must be the destination class. See the following illustration: Many-to-many One origin object can relate to multiple destination objects and conversely, one destination object can relate to multiple origin objects. For example, a given property might have many owners and a given owner might own many properties. When a many-to-many relationship class is created, an intermediate table is automatically created and stored in the geodatabase. See the following illustration: The intermediate table contains foreign keys (FK) that relate to the primary keys (PK) in the origin and destination objects classes. These foreign keys are used to map the associations between the related objects. Each row associates one origin object with one destination object. Other attributes can also be stored in the intermediate relationship class table that describes the relationship. For more information about intermediate tables, see Relationship attributes (Is Attributed and rel Attr Fields) . For more information about primary and foreign keys, see Origin primary and foreign keys (Origin Primary Key and Origin Foreign Key) and Destination primary and foreign keys (dest Primary Key and dest Foreign Key). Relationship cardinality constants When creating a relationship class, the cardinality is set using the ESRI relationship cardinality constants. Once a relationship class is created, the cardinality parameter cannot be altered, and the relationship class must be deleted and recreated to change the cardinality. The following table shows the relationship cardinality constants, values, and descriptions: Constant Value Descriptionesri Rel Cardinality One To One 1 one-to-oneesri Rel Cardinality One To Many 2 one-to-manyesri Rel Cardinality Many To Many 3 many-to-many Origin class and destination class (Origin Class and Destination Class)The IObject Class parameters are used to indicate which object classes are participating in the relationship class. In a relationship class, one class acts as the origin and another as the destination. It is important not to confuse the two because there is different behavior associated with the origin and destination classes. When deciding which object class will act as the origin and which will act as the destination, the first thing to consider is the cardinality of the relationship that exists between the two object classes. The cardinality is used to specify the number of objects in the origin class that can relate to the number of objects in the destination class. As previously mentioned, relationship classes support the following three cardinality types— one-to-one, one-to-many, and many-to-many.

In a simple relationship when an origin object is deleted, the foreign key value is set to null in the related destination objects and in a composite relationship, the related destination objects are deleted in a process called cascade deletes. As a result, if wrong roles are chosen for the object classes, errors can be introduced into the geodatabase while editing. The following illustration shows the importance of selecting the correct origin and destination object classes: Case 1—Parcel to zone (incorrect)This is a common scenario for error. The zone table contains the descriptions for the different zoning codes. In this case, the parcel class is the origin and the zone table is the destination. The problem is that when a parcel is deleted, the value in the key field (zone) is set to null for the matching record in the zone table and none of the other parcels that have that zoning code have a match in the zone table. See the preceding illustration. Case 2—Zone to parcel (correct)To correct the problem, set the zone table as the origin. Deleting a parcel (a destination object) has no effect on the zone table and deleting a zone code (an origin object) sets the value of the zone field in the matching parcel records to null, which is as it should be, because they no longer have a matching zone table record. See the preceding illustration. Origin primary and foreign keys (Origin Primary Key and Origin Foreign Key)In a relationship class, objects in the origin are related to objects in the destination through the values in their key fields. If the relationship class is one-to-one or one-to-many and not attributed, the relationship class is implemented with a foreign key field in the destination object class (the Origin Foreign Key) that references the primary key field in the origin object class (the Origin Primary Key). In the following illustration, parcel 789 is related to permits 2 and 3 because all those records have the same parcel ID: Key field in origin class— The key field in the origin class of a relationship is called the primary key. Unlike a true primary key, the values in the primary key field in a relationship are not required to be unique for every object. Key field in destination class— The key field in the destination class is called the foreign key. It contains values that match those of the primary key field in the origin class. Again, the key field values do not need to be unique for each row. The key fields might have different names but must be of the same data type and contain the same kind of information, such as parcel IDs. Fields of all data types except a binary large object (BLOB), date, and raster might be key fields. The following table consists of a list of all the data types that can be used as key fields: Relationship field types that can be used in a relationship class Origin key Destination key OID OID, long integer Short integer Short integer Long integer OID, long integer Float Float Double Double Text Text GUID GUID, Global IDGlobal ID GUIDWhen deciding on a primary key field, one option is to use the row ID field, commonly referred to as the Object ID field. The Object ID field guarantees a unique ID for each record. It is maintained by Arc GIS and cannot be modified. The Object ID value of a given object never changes as long as it remains in its original class. The Origin Primary Key and Origin Foreign Key parameters are strings that represent the name of the fields in the origin and destination objects classes that will be used to navigate between related objects. It is important to ensure that the fields names specified as the parameters match the field names in the objects classes; otherwise, an Invalid relationship class specification error is returned when trying to create the relationship class. See the following code example: [C#]// Creating a relationship class without an intermediate table. IRelationship Class rel Class = feature Workspace. Create Relationship Class (name Of Rel Class, origin Class, destination Class, ""owns"", ""is owned by"" , esri Rel Cardinality.esri Rel Cardinality One To Many, esri Rel Notification.esri Rel Notification None, true, false, null, ""PARCEL_ID"", """" , ""PARCEL_ID"", """" ); [VB. NET]' Creating a relationship class without an intermediate table. Dim rel Class As IRelationship Class = feature Workspace. Create Relationship Class (name Of Rel Class, origin Class, _ destination Class, ""owns"", ""is owned by"", esri Rel Cardinality.esri Rel Cardinality One To Many, _ esri Rel Notification.esri Rel Notification None, True,False,Nothing,""PARCEL_ID"","""",""PARCEL_ID"","""")Simple vs. a composite relationship (Is Composite)The Is Composite parameter is used to indicate whether a simple or composite relationship class should be created. Simple and composite relationships refer to the way referential integrity is maintained while editing related objects. Simple relationship In a simple relationship, related objects can exist independently of each other. For example, in a railroad network, there might be railroad crossings that have one or more related signal lamps. However, a railroad crossing can exist without a signal lamp, and signal lamps can exist on the railroad network where there are no railroad crossings. When deleting an origin object in a simple relationship, the key field value for the matching destination object is set to null. Deleting a destination object has no effect on the origin object. See the following illustration: Composite relationship In a composite relationship, the destination objects are dependent on the lifetime of the origin objects. Through a process called cascade deletes, when an origin object is deleted, all related destination objects are deleted. With Forward messaging enabled, a composite relationship can also help maintain features spatially. Moving or rotating an origin feature causes the related destination features to move or rotate with it. It is important to note that because of this dependency on the origin objects, an object class can only be the destination in one composite relationship at a time. See the following illustration: The Is Composite parameter is Boolean; setting it to true indicates the relationship will be composite and setting it to false indicates that the relationship will be simple. After a relationship class has been created, the Is Composite parameter can be changed using the Alter Is Composite method on the IRel Class Schema Edit interface. Relationship attributes (Is Attributed and rel Attr Fields)The Is Attributed and the rel Attr Fields parameters optionally allow attributes to be stored about each individual relationship between objects in the origin and destination object classes. Any relationship class, whether simple or composite and of any particular cardinality can have attributes. The attribute fields are stored in an intermediate table along with the foreign key fields. When the intermediate table is created, only the fields are generated automatically. Arc GIS does not know which origin objects are associated with which destination objects, so the rows must be manually created. Once a relationship is added to the intermediate table, the relationship's attributes can be populated. See the following illustration: In the preceding illustration, there is a relationship class between parcels and owners, where owners own parcels and parcels are owned by owners. An attribute of each relationship could be the percentage of ownership. The Is Attributed parameter is used to specify whether or not the relationship class is attributed. This parameter is a Boolean parameter. To create an attributed relationship class, set the parameter to true; otherwise, set it to false. The rel Attrib Fields parameter is optional and is used to pass in the attribute fields for attributed relationship classes. If an attributed relationship class is not being created, pass in a null value. It is important that both of the parameters are set correctly for the type of relationship to be created. If the Is Attributed parameter is set to false but an IFields reference is passed in for the rel Attrib Fields, the relationship is not created and the Invalid relationship class specification error is returned. However, if the Is Attributed parameter is set to true but a null value is passed in for the rel Attrib Fields, an intermediate table is still created but it will only consist of the foreign key fields. See the following table: Is Attributed rel Attr Fields Relationship classwithout attributes False Null Relationship classwith attributes True Populated IFields object See the following code example: [C#]// Creating a non-attributed relationship class. IRelationship Class rel Class = feature Workspace. Create Relationship Class (name Of Rel Class, origin Class, destination Class, ""owns"", ""is owned by"" , esri Rel Cardinality.esri Rel Cardinality One To Many, esri Rel Notification.esri Rel Notification None, true, false, null, ""PROPERTY_ID"", """", ""PROPERTY_ID"", """" ); // Creating an attributed relationship class. IRelationship Class attributed Rel Class = feature Workspace. Create Relationship Class (name Of Rel Class, origin Class, destination Class, ""owns"", ""is owned by"" , esri Rel Cardinality.esri Rel Cardinality One To Many, esri Rel Notification.esri Rel Notification None, true, true, fields, ""PROPERTY_ID"", """", ""PROPERTY_ID"", """" ); [VB. NET]' Creating a non-attributed relationship class. Dim rel Class As IRelationship Class = feature Workspace. Create Relationship Class (name Of Rel Class, origin Class, _ destination Class, ""owns"", ""is owned by"", esri Rel Cardinality.esri Rel Cardinality One To Many, _ esri Rel Notification.esri Rel Notification None, True,False,Nothing,""PROPERTY_ID"","""",""PROPERTY_ID"","""") ' Creating an attributed relationship class. Dim attributed Rel Class As IRelationship Class = feature Workspace. Create Relationship Class (name Of Rel Class, _ origin Class, destination Class, ""owns"",""is owned by"", esri Rel Cardinality.esri Rel Cardinality One To Many, _ esri Rel Notification.esri Rel Notification None,True,True, fields,""PROPERTY_ID"","""",""PROPERTY_ID"","""")Destination primary and foreign keys (dest Primary Key and dest Foreign Key)When creating a many-to-many and attributed relationship class, an intermediate table is automatically created. The intermediate table is used to map the relationships between the origin and destination objects. To map the relationships between objects, key fields are used in the origin and destination object classes, as well as the intermediate table. The Origin Primary Key and Destination Primary Key are the primary key fields in the origin and destination object classes. The Origin Foreign Key and the Destination Foreign Key are the names of the corresponding foreign keys that will be created in the intermediate table representing the relationship class. See the following illustration: Primary key fields When selecting the Origin Primary Key and the Destination Primary Key fields, it is important to select fields that can be used to uniquely identify the objects so that the each row in the intermediate table relates one origin object with one destination object. In the preceding illustration, the Object ID (OID) and the Owner name fields are used to uniquely identify the objects in the origin and destination object classes. The Origin Primary Key and the dest Primary Key parameters are strings that represent the name of the fields in the origin and destination objects classes that will be used to navigate between related objects. It is important to ensure that the field names specified as the parameters match the field names in the objects classes; otherwise, an error is raised when trying to create the relationship class. Foreign key fields When creating the relationship class, the foreign key fields (Origin Foreign Key and dest Foreign Key) parameters are strings that represent the name of the fields that will be created in the intermediate table. These fields will be used to navigate between related objects so it is important that the names reflect the primary keys so they can be easily identified in the intermediate table. In the preceding illustration, the Origin Foreign Key field is named Parcel_ID to indicate that it is the key field that relates to the Parcel object class and the Destination Foreign Key is named Owner to easily relate it back to the Owner object class. When the relationship class is created, the intermediate table is empty. Arc GIS does not know which origin objects are associated with which destination objects, so the relationships must be added manually. As relationships are added to the intermediate table, the Origin Foreign Key and the Destination Foreign Key fields are automatically populated with the related values in the Origin Primary Key and the Destination Primary Key fields. See the following code example: [C#]// Creating a relationship class with an intermediate table. IRelationship Class rel Class = feature Workspace. Create Relationship Class (name Of Rel Class, origin Class, destination Class, ""owns"", ""is owned by"" , esri Rel Cardinality.esri Rel Cardinality One To Many, esri Rel Notification.esri Rel Notification None, false, true, fields, ""OID"", ""OWNER"" , ""Parcel_ID"", ""OWNER"" ); [VB. NET]' Creating a relationship class with an intermediate table. Dim rel Class As IRelationship Class = feature Workspace. Create Relationship Class (name Of Rel Class, origin Class, _ destination Class, ""owns"", ""is owned by"", esri Rel Cardinality.esri Rel Cardinality One To Many, _ esri Rel Notification.esri Rel Notification None, False,True, fields,""OID"",""OWNER"",""Parcel_ID"",""OWNER"")Do not add the foreign key fields to the IFields collection. The key fields are automatically generated when the relationship class is created. A unique relationship identifier (RID) field is also automatically created in the intermediate table. Relationship class labels (forward Label and backward Label)When creating a relationship class, the forward and backward labels are set using the two string parameters forward Label and backward Label. Forward and backward labels show in the Attributes and Identify results dialog boxes in Arc Map and assist in navigation between related objects. The forward label is shown and used when navigating from an origin object to a destination object, and the backward label is shown and used when navigating in the reverse direction. See the following illustration: For example, in a parcel geodatabase there is an origin class that is a parcel layer and a destination class that is an owners table. The forward label can be set to ""is owned by"" meaning this parcel is owned by this owner and the backward label can be set to ""owns"" meaning this owner owns these parcels. Notification (esri Rel Notification)The notification parameter is used to set the messaging that will be used in the relationship class. Messaging is used to have origin and destination objects send messages to notify one another when they are changed or created, allowing related objects to update appropriately. Some examples of actions that require changes in one object to trigger an update in its related objects include the following: When moving or rotating a feature, related features should move or rotate along with it. When updating a feature, an attribute in a related feature should be updated automatically. Updating an origin objects can require related destination objects to update. Updating destination objects can require related origin objects to update. When creating an object in one of the participating object classes and related objects should be created or updated automatically. When deleting an object in one of the participating object classes and related objects should be updated or deleted automatically. See the following illustration: Although the messaging is set as a parameter when the relationship class is created, additional behavior must be programmed into the participating object classes to listen for the messages, then respond with the applicable behavior. The only exception is when messaging is set to forward on a composite relationship class. When creating a composite relationship with forward messaging, moving or rotating an origin object causes related destination features to automatically move, rotate, or delete with it. Provided the relationship is set up correctly, this functionality works as soon as the relationship is created—no programming is required. The following are the four types of messaging: None Forward Backward Both Unless creating a composite relationship with forward messaging or intending to program custom behavior, set the message notification to none. Otherwise, messages needlessly generate each time an edit operation is performed, which slows performance. The messaging notification is set using the ESRI relationship notification constants. See the following table: Constant Value Description Effect on simple relationships Effect on composite relationshipsesri Rel Notification None 1 None: No messages are sent Prevents messages from being sent, slightly improving performance Deleting origin deletes destination Prevents other messages from being sent, slightly improving performanceesri Rel Notification Forward 2 Forward: Messages are sent only from origin objects to destination objects No effect unless customized with programming Deleting origin deletes destination Moving or rotating origin moves or rotates destination No other effect unless custom behavior is programmedesri Rel Notification Backward 3 Backward: Messages are sent only from destination objects to source objects No effect unless customized with programming Deleting origin deletes destination No other effect unless custom behavior is programmedesri Rel Notification Both 4 Both: Messages are sent in both directions No effect unless customized with programming Deleting origin deletes destination Moving or rotating origin moves or rotates destination No other effect unless custom behavior is programmed Creating a simple relationship class in a feature dataset using IRelationship Class Container The following code example shows how to create a simple relationship class in a feature dataset: [C#]public IRelationship Class Create Rel Class In Feature Dataset (IFeature Dataset feature Dataset, String name Of Rel Class, IObject Class origin Class, IObject Class destination Class) { // Cast the feature dataset to the IRelationship Class Container interface. IRelationship Class Container rel Class Container = (IRelationship Class Container) feature Dataset; // Create the relationship class. IRelationship Class rel Class = rel Class Container. Create Relationship Class (name Of Rel Class, origin Class, destination Class, ""owns"", ""is owned by"" , esri Rel Cardinality.esri Rel Cardinality One To Many, esri Rel Notification.esri Rel Notification None, false, false, null, ""PROPERTY_ID"", """", ""PROPERTY_ID"", """" ); return rel Class; } [VB. NET]Public Function Create Rel Class In Feature Dataset ( By Val feature Dataset As IFeature Dataset, By Valname Of Rel Class As String, _ By Val origin Class As IObject Class, By Val destination Class As IObject Class)As IRelationship Class ' Cast the feature dataset to the IRelationship Class Container interface. Dim rel Class Container As IRelationship Class Container = CType (feature Dataset, IRelationship Class Container) ' Create the relationship class. Dim rel Class As IRelationship Class = rel Class Container. Create Relationship Class (name Of Rel Class, origin Class, _ destination Class, ""owns"", ""is owned by"", esri Rel Cardinality.esri Rel Cardinality One To Many, _ esri Rel Notification.esri Rel Notification None,False,False,Nothing,""PROPERTY_ID"","""",""PROPERTY_ID"","""") Return rel Class End Function Creating a composite stand-alone relationship class using IFeature Workspace The following code example shows how to create a composite stand-alone relationship class: [C#]public IRelationship Class Create Composite Rel Class (IFeature Workspace feature Workspace, String name Of Rel Class, IObject Class origin Class, IObject Class destination Class) { // Create the relationship class. IRelationship Class rel Class = feature Workspace. Create Relationship Class (name Of Rel Class, origin Class, destination Class, ""owns"", ""is owned by"" , esri Rel Cardinality.esri Rel Cardinality One To Many, esri Rel Notification.esri Rel Notification None, true, false, null, ""PROPERTY_ID"", """", ""PROPERTY_ID"", """" ); return rel Class; } [VB. NET]Public Function Create Composite Rel Class ( By Val feature Workspace As IFeature Workspace, By Val name Of Rel Class As String, _ By Val origin Class As IObject Class, By Val destination Class As IObject Class)As IRelationship Class ' Create the relationship class. Dim rel Class As IRelationship Class = feature Workspace. Create Relationship Class (name Of Rel Class, origin Class, _ destination Class, ""owns"", ""is owned by"", esri Rel Cardinality.esri Rel Cardinality One To Many, _ esri Rel Notification.esri Rel Notification None, True,False,Nothing,""PROPERTY_ID"","""",""PROPERTY_ID"","""") Return rel Class End Function Creating an attributed relationship class using IFeature Workspace The following code example shows how to create an attributed relationship class: [C#]public IRelationship Class Create Attributed Rel Class (IFeature Workspace feature Workspace) { // Open the participating classes from the workspace. IObject Class origin Class = feature Workspace. Open Feature Class ( ""Parcels"" ); IObject Class destination Class = (IObject Class)feature Workspace. Open Table ( ""Owners"" ); // Create a fields collection for the relationship class. IFields fields = new Fields Class (); IFields Edit fields Edit = (IFields Edit)fields; // Create a ""percent owned"" field and add it to the collection. IField field = new Field Class (); IField Edit field Edit = (IField Edit)field; field Edit. Name_2 = ""Percent Owned"" ; field Edit. Type_2 = esri Field Type.esri Field Type Integer; fields Edit. Add Field (field Edit); // Create the attributed relationship class. IRelationship Class rel Class = feature Workspace. Create Relationship Class ( ""Parcels To Owners"", origin Class, destination Class, ""owns"", ""is owned by"" , esri Rel Cardinality.esri Rel Cardinality One To Many, esri Rel Notification.esri Rel Notification None, false, true, fields, ""PROPERTY_ID"", ""OWNER_ID"", ""PROPERTY_ID"", ""OWNER_ID"" ); return rel Class; } [VB. NET]Public Function Create Attributed Rel Class ( By Val feature Workspace As IFeature Workspace) As IRelationship Class ' Open the participating classes from the workspace. Dim origin Class As IObject Class = feature Workspace. Open Feature Class ( ""Parcels"" ) Dim destination Class As IObject Class = CType (feature Workspace. Open Table ( ""Owners"" ), IObject Class) ' Create a fields collection for the relationship class. Dim fields As IFields = New Fields Class () Dim fields Edit As IFields Edit = CType (fields, IFields Edit) ' Create a ""percent owned"" field and add it to the collection. Dim field As IField = New Field Class () Dim field Edit As IField Edit = CType (field, IField Edit) field Edit. Name_2 = ""Percent Owned"" field Edit. Type_2 = esri Field Type.esri Field Type Integer fields Edit. Add Field (field Edit) ' Create the attributed relationship class. Dim rel Class As IRelationship Class = feature Workspace. Create Relationship Class (""Parcels To Owners"", origin Class, _ destination Class, ""owns"", ""is owned by"", esri Rel Cardinality.esri Rel Cardinality One To Many, _ esri Rel Notification.esri Rel Notification None,False,True, fields,""PROPERTY_ID"",""OWNER_ID"", _ ""PROPERTY_ID"", ""OWNER_ID"" ) Return rel Class End Function It is important to note that the order of the key fields changes when creating an attributed and/or a many-to-many relationship. In this case the order is Origin Primary Key, dest Primary Key, Origin Foreign Key, dest Foreign Key. The Origin Primary Key and the dest Primary Key fields represent the fields present in the origin and destination object classes. The Origin Foreign Key and the dest Foreign Key fields represent the fields that will be created in the intermediate table. See Also: Creating fields Creating feature classes Creating tables Creating feature datasets To use the code in this topic, reference the following assemblies in your Visual Studio project. In the code files, you will need using (C#) or Imports (VB . NET) directives for the corresponding namespaces (given in parenthesis below if different from the assembly name): ESRI. Arc GIS. Geodatabase ESRI. Arc GIS. Geometry ESRI. Arc GIS. System (ESRI. Arc GIS.esri System)Development licensing Deployment licensing Arc Editor Arc Editor Arc Info Arc Info Engine Developer Kit Engine Runtime: Geodatabase Update "


what is battery life f

Maximizing Battery Life and Lifespan“Battery life” is the amount of time your device runs before it needs to be recharged. “Battery lifespan” is the amount of time your battery lasts until it needs to be replaced. Maximize both and you’ll get the most out of your Apple devices, no matter which ones you own.

Maximizing Battery Life and Lifespan


what types of earthquake waves usually cause the most destruction?

ves Surface waves, in contrast to body waves can only move along the surface. They arrive after the main P and S waves and are confined to the outer layers of the Earth. They cause the most surface destruction. Earthquake surface waves are divided into two different categories: Love and Rayleigh. Love waves have a particle motion, which, like the S-wave, is transverse to the direction of propagation but with no vertical motion. Their side-to-side motion (like a snake wriggling) causes the ground to twist from side to side, that's why Love waves cause the most damage to structures.

Earthquakes: seismic waves

"Earthquakes: seismic waves The epicenter of an earthquake sends out waves which are like an object dropped on to a still body of water that sends out ripples. After the stone hits the water ripples move outwards from the centre in every direction. An earthquake releases energy as shock waves, the so-called seismic waves, which ripple across the earth's surface. The seismic waves created as they move from the epicentre an earthquake vary. What is amazing is how fast they can travel: up to 2 miles per second in granite!

Seismic waves can be classified into two basic types: body waves which travel through the Earth and surface waves, which travel along the Earth's surface. Those waves that are the most destructive are the surface waves which generally have the strongest vibration.

Body waves

Body waves are of two types: compressional or primary (P) waves and shear or secondary (S) waves. P- and S- waves are called ""body waves"" because they can travel through the interior of a body such as the Earth's inner layers, from the focus of an earthquake to distant points on the surface.

The Earth's molten core can only be traveled through by compressional waves. P-waves travel fastest, at speeds between 4-8 km/sec (14,000-28,000 km/h) in the Earth's crust. S-waves travel more slowly, usually at 2.5-4 km/sec (9,000-14,000 km/h). Sound waves are usually called P-waves and are heard but not often felt. Except in the most powerful earthquakes they generally do not cause much damage. P-waves shake the ground in the direction they are propagating, while S-waves shake perpendicularly or transverse to the direction of propagation (i.e. they displace material at right angles to their path). Image: P and S waves The P-wave is the first to arrive at a location, as it is the fastest. The P wave, or compressional wave, ultimately compresses and expands material in the same direction it is travelling. The next to arrive is the S wave which causes particles to oscillate. S waves can travel through solid material but not through liquid or gas. Surface wa

Rayleigh waves create a rolling, up and down motion with an elliptical and retrograde particle motion confined to the vertical plane in the direction of propagation. Surface waves are generally not generated by deep earthquakes. Image: Rayleigh and Love waves Particle motion for Rayleigh and Love waves are different: Rayleigh waves have retrograde particle motion confined to the vertical plane of motion, whereas Love waves have purely transverse motion in the horizontal plane. Earthquakes radiate seismic energy as both body and surface waves but deep earthquakes generally do not generate surface waves. Back To Top "


7) how does human rights law differ from the law of war?

Traditional international law is a law of power, that is the war is considered to be an important attribute of state sovereignty. One of the essential qualitative differences between traditional international law and contemporary international law is the prohibition of aggressive wars and the idea of international protection of human rights. In other words, contemporary international law takes the rights of man under its patronage.

"Print Reference this This essay has been submitted by a law student. This is not an example of the work written by our professional essay writers. Universalism And Cultural Relativism In Human Rights International Law Essay“Human Rights"" is a relatively new expression, having come into international law only after World War II and the establishment of United Nations. Universal Declaration of Human Rights, adopted and proclaimed by the General Assembly of the United Nations on December 10, 1948 is a milestone document in the history of human rights. And the debate, which arose along with the internationalization of human rights, is whether all human rights are universal, or there are certain rights and freedoms, which can be avoided for the cultural features. This essay examines the debate through the contradiction of concepts of Universalism and Cultural Relativism. International law, which actually has started developing with the first states, has been a subject of significant changes especially during the period between Westphalian peace treaty (1648) and World War I.

The international protection of human rights is a revolutionary idea and traditional disciplines of international law have nothing to do with it at all. It has been an accepted doctrine that international law is to regulate the relations between nation-states, but not individuals. Thus Oppenheim, the leading authority on international law in the United Kingdom wrote, that “the so-called rights of man not only do not, but cannot enjoy any protection under international law, because that law is concerned solely with the relations between states and cannot confer rights on individuals."" [ 1]Shortly after the atrocities of World War II, the first step was taken to establish and recognize the universality of human rights in international law. It was proclaimed in the Purposes of UN Charter that human rights and fundamental freedoms are “for all without distinction as to race, sex, language, or religion."" [ 2] The adoption and proclamation of the Universal Declaration of Human Rights was another major progress in the procedure of universalizing the human rights. The UDHR Preamble was clearly defining that “The General Assembly proclaims This Universal Declaration Of Human Rights as a common standard of achievement for all peoples and all nations…"" [ 3] Later the principles of UN Charter and UDHR were developed and affirmed in the International Covenant on Civil and Political Rights and International Covenant on Economic, Social and Cultural Rights both adopted by General Assembly resolution 2200 (XXI) of 16 December 1966, and in number of other international treaties and agreements. As a result, a universal system of rules was established for the protection of human rights. The dilemma of international protection of human rights is the ideological conflict of Universalism and Cultural Relativism. Simply put, the concept of Universalism holds that each human being possesses certain inalienable rights simply because he or she is a human, regardless the national background, religious or political views, gander or age. The proponents of this concept claim that “the international human rights like rights to equal protection, physical security, free speech, freedom of religion and free association are and must be the same everywhere."" [ 4] The concept of Universalism bases on three fundamental jurisprudential theories- the natural law theory, the theory of rationalism, and the theory of positivism. The roots of natural law theory go back to the ancient times. The main point of this theory is that natural law is standing above manmade positive law and defines the eliminable human rights, which are necessary for all the nation-states. Rationalism, a closely related concept, “is a theory of universal laws based on a belief in the universal human capacity to reason and think rationally."" [ 5] Rationalism supersedes the idea of divine origin of natural law with the theory that each individual is endowed with certain rights due to the universal capacity of all individuals to think rationally. Both natural law theory and theory of rationalism consider universal human rights not to depend on cultural diversities and specialties. Theory of positivism demonstrates the existence of universal human rights noting the acceptance and ratification of human rights instruments by vast majority of states regardless their cultural background. It appears that the concept of Universalism with its supporting theories of natural law, rationalism and positivism finds the source of human rights in international law, rather than in individual cultures. Human Rights are extracultural. Cultural relativism is the assertion that human values, far from being universal, vary a great deal according to different cultural perspectives. [ 6] From my point of view one of the major drawbacks of the theory of Cultural relativism is the perception of “culture"" as something unchanging and stable. In fact, all types of Cultural relativism, be it Strong or Weak [ 7] Cultural relativism, are based on stable conception of culture, which fails to recognize the flexibility of culture for social changes and ideological innovations. Whereas, I strongly support the idea that culture is an ongoing process of historical development, adaptation and evolution. Opponents of this theory argue that Cultural relativism can be dangerous for the effectiveness of international protection of human rights, since the nature of the theory fundamentally justifies human rights abuses linking to the customs and traditions of the society. Indian tradition of sati [ 8] is a bright example of human rights violation with cultural bases. An eighteen-year-old Rajput girl committed sati in 1987 during her husband’s funeral pyre. She was a university student and her marriage was insisted by her parents. There is no evidence whether she committed sati voluntarily or under pressure, however this case found a large response among Rajput society. As a sign of protest many human rights activists, both men and women, organized marches against the tradition of sati, meanwhile many others came out for the tradition, claiming that sati is a significant part of their ethnic culture. They not only made the young girl as a symbol of devoted wife, but also erected a shrine in honor of her. The human rights defenders and activists were branded as Western imperialists who were superseding old Indian traditions with Western ones. Obviously, the theory of Cultural relativism leads to the idea, that the main social unit is community, not individual. A question rises, does the community have rights to impose its will on an individual, or does it have rights to limit any eliminable right of individual? As one of the ancient nations, Armenians have their own unique cultural traditions and scope of ethics, though our traditions are more flexible to meet the challenges of time. I do not hesitate to underline that Armenian traditions are quite humanistic, since they are largely inspired with the ideology of Armenian Apostolic Church. One of the greatest miracles of Armenian Apostolic Church is that there is not separate church and separate people, our church and people together is one whole unity, like a huge “cathedral"". And this “cathedral"" caries inside it all the human values, like conscience, kindness etc. Investigating the concepts of Universalism and Cultural Relativism, I came to the conclusion that in many societies or it is better to say in many communities social relations are regulated through native traditional norms. Indeed, rejection of international human rights may lead to systematic abuses of human rights within the societies or communities, still sometimes international protection of human rights can be used for political purposes. Human rights violations sometimes are reason for intervention of one country’s armed forces into another country’s territory. From this point, cultural relativism is not justified. I justify the existence of Cultural Relativism instead. In my opinion Cultural Relativism is a result of natural historical development, it is a problem which couldn’t be avoided. "


what is pododermatitis

What is pododermatitis? Pododermatitis is a term used to describe inflammation of the feet or paws. What causes pododermatitis? Pododermatitis is an inflammation that can be caused by many disorders including infections, allergies, hormonal disorders, immune-mediated diseases, tumors or cancers and environmental contaminants.

"Pododermatitis in Dogs

Questions that may be asked in order to determine the cause or causes include the following: What is the general environment in which the dog walks and lives? Is there is seasonality to the clinical signs or do the symptoms last year-round? Are there additional lesions elsewhere on the body? What, if any, has the response to other treatments been? What is the dog's diet? Has the dog traveled anywhere outside its usual environment? Does the dog have any other medical problems? What are the clinical signs of pododermatitis? Clinical signs associated with the various causes of pododermatitis are: Infectious - The feet and paws are often red and swollen. There may be nodules or fungal lesions (kerions), ulcers, or discharge (pus) from the lesions. There is often hair loss and the dog may lick the feet constantly. Allergic - The feet are red and inflamed, and swelling is usually present. Itching is a constant problem with the tops of the paws most commonly involved. There is usually reddish brown staining of the fur from pigments naturally present in the saliva. In cases of contact pododermatitis (walking on or contacting an offensive substance), the undersides of the paws are usually involved, although the entire paw may be affected. Immune-mediated - The most common clinical signs are crusts (scabs) and ulcerations with occasional blisters. All four feet are commonly involved, especially the footpads and nailbeds. Excessive darkening of the tissues and thickened, crusty footpads with erosive lesions may be present, especially in cases of pemphigus foliaceus. Hormonal or metabolic - Lesions are usually caused by secondary skin infections and include pustules, redness and inflammation. Tumors - Usually only one foot is involved and there may be a nodule, or one or more ulcers. Multiple feet may be involved in squamous cell carcinoma of the nailbed. Environmental - One or more feet may be involved, depending on the cause or contact status. Most dogs experience chronic interdigital inflammation, ulceration, abscesses and discharge with or without itching. How is the specific cause of pododermatitis diagnosed? Diagnosis is based on medical history and clinical signs. Additional tests including bacterial culture and antibiotic sensitivity tests, fungal cultures, skin scrapings, biopsies, blood and urine tests, hypoallergenic food trials and radiographs may be performed based on your pet's specific needs. Some of the specific causes of pododermatitis include: Infectious Bacterial - Staphylococcus, Pseudomonas, Proteus, Mycobacterium, Nocardia and Actinomyces Fungal - Dermatophytes (ringworm), sporotrichosis, mycetoma, blastomycosis, and cryptococcosis Parasitic - Demodex canis (mange mite), Pelodera strongyloides (soil nematode) and hookworms Allergic Atopy or seasonal allergies, food hypersensitivity, allergic contact dermatitis Immune-mediated Pemphigus foliaceus, systemic lupus erythematosus, erythema multiforme, toxic epidermal necrolysis, vasculitis, cold agglutinin disease, pemphigus vulgaris and bullous pemphigoid Hormonal or Metabolic Hypothyroidism, hyperadrenocorticism (Cushing's disease), hepatocutaneous syndrome (necrolytic migratory erythema - rare)Tumors Tumors of the foot are more common in cats than dogs. Squamous cell carcinoma, melanoma, mast cell tumor, keratoacanthoma, inverted papilloma, eccrine adenocarcinoma Environmental Irritant contact dermatitis, trauma, concrete and gravel dog runs, excessive exercise or running on hard surfaces, clipper burn, grass awns, foreign bodies, thallium toxicity How is pododermatitis treated? As you can see, there are numerous potential causes for your dog's condition. ""Once a specific diagnosis is made, treatment will be directed toward that cause. ""Once a specific diagnosis is made, treatment will be directed toward that cause. If the pododermatitis has an allergic or immune-mediated cause, it is important to note that the condition will not be cured. In these cases, the therapeutic goal is to minimize clinical signs and recurrences. What is the prognosis for pododermatitis? The prognosis is dependent on the diagnosis. Most dogs respond well to therapy. With simple lifestyle adjustments, they go on to enjoy relatively normal lives. This client information sheet is based on material written by: Ernest Ward, DVM "


is asperger's under a new dsm

. Until May 22, with the official release of the DSM-5, Asperger’s was considered related to but distinct from autism. DSM-5 contains a new disorder that replaces both the old autistic disorder and Asperger’s: It is called autism spectrum disorder. [ 5 Things that Might Really Cause Autism]

DSM-5: Saying Goodbye To Aspergerâs Syndrome

WELLNESS 06/11/2013 01:44 pm ET Updated Aug 11, 2013DSM-5: Saying Goodbye To Asperger’s Syndrome Getty By: Wynne Parry, Live Science Contributor Published: 06/11/2013 11:34 AM EDT on Live Science Editor’s Note: With the release of the latest edition of the mental health manual, the Diagnostic and Statistical Manual of Mental Disorders (the DSM), Live Science takes a close look at some of the disorders it defines. This series asks the fundamental question: What is normal, and what is not? Quirky, nerdy fictional characters have brought Asperger’s syndrome into the realm of popular culture in recent years. But, as of late May, the disorder that has defined these characters, and been applied to a growing number of real people, will no longer exist thanks to revisions to psychiatric disorders in the new version of the DSM, the DSM-5. Asperger’s disorder was marked by difficulties interacting with others, along with abnormal behaviors and abnormally intense interests in topics such as baseball statistics or trains. These characteristics can give people with the disorder a savant-like quality portrayed in pop culture. For instance, on the TV show “Community,” the character Abed Nadir possesses an encyclopedic knowledge of movies and television. Fictional characters like Nadir tend to be portrayed as appealing and able to function in their work — not too far off from normal. And while difficulty with social interactions and idiosyncratic interests are experiences many have, for people with Asperger’s these traits cross into mental disorder territory

The new autism spectrum disorder criteria include impaired social communication or social reciprocity, which could mean difficulty making eye contact, a lack of facial expression or no interest in one’s peers. Peculiar behaviors or interests — technically described as “restricted, repetitive” in the DSM-5 — make up the second criterion. These could include hand flapping, insistence on a strict routine or a fixation on a specific subject, such as trains. This change made to diagnoses of autism and Asperger’s has been among the highest profile and most controversial in the new DSM-5. A study, published in April 2012 using a preliminary version of the new DSM-5 autism spectrum criteria found about 75 percent of patients who had been diagnosed with Asperger’s under the old criteria would no longer qualify for a diagnosis, raising the possibility that they could lose access to services, such as special education in schools. The experts who revised the DSM-5 have disagreed with the study’s findings, saying the revision will not substantially alter the prevalence of autism, which has been increasi

ng. Unlike most people diagnosed with autism under the old DSM criteria, those diagnosed with Asperger’s could generally function independently, because they could communicate adequately. Even so, aspects of their social skills might be impaired.

For instance, while many people are not gifted conversationalists, someone with Asperger’s may continue talking about a favorite subject for some time, remaining oblivious to his listener’s loss of interest by missing cues of disinterest that someone without the disorder would catch, said Robin Rosenberg, a clinical psychologist and co-author of the psychology textbook “Abnormal Psychology” (Worth Publishers, 2009). Meanwhile, the old autism diagnosis could entail more severe problems, such as a lack of speech or abnormal use of language. The new autism spectrum disorder also encompasses a condition in the old DSM called pervasive developmental disorder not otherwise specified (PDD-NOS). This catchall category applied to people whose impairments didn’t quite meet with the criteria for autism or Asperger’s. Follow us @livescience, Facebook & Google+. Original article on Live Science.com.5 Dangerous Vaccination Myths Top 10 Controversial Psychiatric Disorders5 Ways to Foster Self-Compassion in Your Child Copyright 2013 Live Science, a Tech Media Network company. All rights reserved. This material may not be published, broadcast, rewritten or redistributed. ]]>


what golfer has the most wins on the tour

Tiger Woods's pursuit of Sam Snead's all-time PGA Tour record of 82 victories hasn't received the breathless attention given the Countdown to Jack and his 18 major championships.

Tiger Woods vs. Sam Snead: When 78>82

"Tour and News Tiger Woods vs. Sam Snead: When 78>82An unanticipated problem was encountered, check back soon and try again Error Code: MEDIA_ERR_UNKNOWNSession ID: 2018-04-12:c581de61db001baef34d4cdc Player ID: bc-4578959679001OK4:11 | Tour & News Tour Confidential: Forget Majors, Can Tiger Top Sam Snead's Win Record? By Gary Van Sickle Friday, June 07, 2013

With 78 wins, Tiger clearly has Snead in his sights, and he is likely to surpass Slammin' Sammy well before he catches Jack, if he ever catches Jack. Spoiler alert: Tiger already owns the all-time victory mark. At least, he should. Using modern standards of what constitutes a bona fide tournament (the event must be at least 54 holes, with a minimum of 20 players), SI Golf Group found that some of Snead's 82 wins don't pass the smell test. Fourteen of them, in fact, aren't credible by today's standards. However, SI Golf Group found six wins dismissed by Tour historians that should count. So much for suspense. Our scorecard reads: Tiger 78, Sam 74. How can a significant record be so wrong, you ask? Well, it's no secret that historical record keeping has never been a priority at the Fortress of Solitude, a.k.a. Tour headquarters in Ponte Vedra Beach, Fla. Many records are riddled with inaccuracies. But don't pin this all on the Tour. The problem is that there was no formal PGA Tour when Snead was piling up many of his victories, just promoters holding tournaments to attract top players so they could sell tickets and make money. The Tour dates to the early 1930s, but when the PGA Tour split from the PGA of America in 1968, many records and documents were lost. In the late '80s, Tour commissioner Deane Beman convened a panel of golf historians to define, once and for all, which tournaments were official. It was a somewhat cursory effort, done so the results could be published in a coffee-table book: The History of the PGA Tour, in which Al Barkow, golf's finest Golden Age historian, told colorful tales of the Tour's humble beginnings. The PGA Tour's history was rewritten then. Victory totals were updated and revised. Nicklaus and Arnold Palmer were among the players whose numbers were changed. Snead, whose official number was once as high as 88, was credited with 81 victories in the book. (Snead got win number 82 when the PGA Tour later recognized the British Open as an official victory. )While in New York City for the book tour, Snead questioned how his victory total could be cut to 81. ""Deane told me they found three more; then somebody got in there and knocked the props out from under me,"" said Snead, who died in 2002. ""How can one victory be official and one be unofficial when you have the same [bleeping] players every week? ""Here's how, Sam. SUBTRACT 1 for 18-hole tournaments. The PGA Tour doesn't consider tournaments of fewer than 54 holes official, a decision made before Adam Scott beat Chad Campbell in a playoff at Riviera in 2005 when rain shortened the event to 36 holes. Snead won the first Bing Crosby event in 1937; it was reduced to 18 holes by rain. SUBTRACT 5 for team victories. Titles won with partners don't count in modern golf. Snead won five of them, including the 1939 Miami-Biltmore Four-Ball and 1940 Inverness Invitational Four-Ball, both with Ralph Guldahl. Counting a pro-am event as a win is the equivalent of recognizing the team portion of the AT&T Pebble Beach National Pro-Am as a Tour victory. SUBTRACT 3 for 36-hole tournaments. Snead won the Crosby again in '38. This time it was 36 holes. An even more egregious inclusion is the 1946 World Championship of Golf. The field of four played only 36 holes. That's like counting the PGA Grand Slam of Golf, which groups each year's major champions for a 36-hole outing, as an official event. If you recognize Snead's victory, you have to count Tiger's seven Grand Slam of Golf titles. SUBTRACT 5 for Snead's victories in the Palm Beach Round Robin. In 1938 only 15 players competed, and in the other four years the field was 16. ADD 1 for the 1949 North & South. The North & South was considered unofficial from 1947 through '49 because the purse was less than $5,000. But the '49 event, at Pinehurst, had a field of 100-plus, including most of the top players. ADD 1 for the 1952 Julius Boros Open. The money was unofficial, but 25 pros competed over 54 holes. ADD 1 for the 1953 Greenbrier Pro-Am. Snead topped a field of 42 players. ADD 1 for the 1958 Greenbrier. The Tour probably didn't count this one because it was played at the same time as the Memphis Invitational, which it did rule official. But Greenbrier had a field of 57, including most of the day's top players, such as Ben Hogan, Gary Player, Doug Sanders and Dutch Harrison. ADD 1 for the 1959 Sam Snead Festival. It was the same old Greenbrier event with a new name and another stellar field. Snead beat 54 others, but it was played opposite the official Arlington Hotel Open, won by Gene Littler. ADD 1 for the 1961 Sam Snead Festival. Doug Sanders won the Hot Springs Invitational, which was opposite this event. Snead won his own Festival again in a decent field of 30. NOTE: Snead's victories at the 1936 West Virginia Closed Pro and the 1946 Virginia Open in Long Beach, Calif., come into question, but the number of holes played and the size of the fields are unclear. Also, though he tied with three others, Snead is credited with a victory at the 1950 Crosby. A playoff was canceled because of darkness, and all four were credited with the win. You May Like Tour and News Eric and Donald Trump Jr. open golf club in Dubai Tour and News Bob Philion named President of Puma North America Tour and News Brandt Snedeker, Patrick Rodgers tied for lead at Torrey Tour and News Stacy Lewis, Lexi Thompson share LPGA Tour lead Tour and News Brooks Koepka Wins the Dunlop Phoenix, Joins Elite Company Tour and News Alex Noren Wins British Masters for Third Win This Season More Tour and News Kerr's clutch birdie putt on 18 completes comeback Lexi Thompson drives 1st green to open Solheim Win Big: Patrick Reed on trusting your instincts and playing aggressive Johnson takes 36-hole lead at rainy Riviera Sign Up for Newsletters Receive insider analysis, swing tips, equipment news, special offers and much more. Sign up Now "