1. For each strong entity E:
o Create a new table.
o Include as its columns, all the simple attributes and simple components of the composite attributes of E.
o Identify the primary key and the alternate keys. Do not include any multi-valued attribute as a key. If the only unique field of an entity is a multi-valued attribute, introduce an artificial primary key field.
2. For each weak entity W that is associated with only one 1:1 identifying owner relationship:
o Identify the table T of the owner entity type.
o Include as columns of T, all the simple attributes and simple components of the composite attributes of W.
3. For each weak entity W that is associated with a 1:N or M:N identifying relationship, or participates in more than one relationship:
o Create a new table T.
o Include as its columns, all the simple attributes and simple components of the composite attributes of W.
o Form the primary key of T as follows:
§ In the case of a 1:N owner relationship, by including as a foreign key in T, the primary key of the owner entity. The primary key of T is the combination of W's partial key and the foreign key.
§ In the case of an M:N owner relationship, create a new column that will hold unique values. (In this case, the association between the weak entity and its owner entity will be specified in Step 6.)
4. For each binary 1:1 relationship R:
o Identify the tables S and T of the participating entity types.
o Choose S (preferably the one with total participation).
o Include as a foreign key in S, the primary key of T.
o Include as Columns of S, all the simple attributes and simple components of the composite attributes of R.
5. For each binary 1:N relationship R:
o Identify the table S (at the N-side) and T of the participating entities.
o Include as a foreign key in S, the primary key of T.
o Include as columns of S, all the simple attributes and simple components of composite attributes of R.
6. For each N-ary relationship (including binary N:M relationship) R:
o Create a new table T.
o Include as columns of T, all the simple attributes and simple components of composite attributes of R.
o Include as a foreign keys, the primary keys of the participating (strong or weak) entity types.
o Specify as the primary key of T, the list of foreign keys.
7. For each multi-valued attribute A:
o Create a new table T.
o Include as columns of T, the simple attribute or simple components of the attribute A.
o In table T, include as a foreign key, the primary key of the entity or relationship type that has A.
o Specify as the primary key of T, the foreign key and the columns corresponding to A.
8. For each specialization with disjoint subclasses:
o Create a new table Ti for each subclass Si.
o Include as columns of Ti, the simple attributes and simple component attributes of the superclass.
o Include as columns of Ti, the simple attributes and simple component attributes specific to Si.
o Identify the primary key.
9. For each specialization with overlapping subclasses:
o Create a new table O for the superclass.
o Include as columns of O, the simple attributes and the simple component attributes of the superclass.
o Identify its primary key and alternate keys.
o Create a new table Ti for each subclass Si.
o Include as columns of Ti, the simple attributes and simple component attributes specific to Si.
o Include as a foreign key in Ti (to be part of the primary key of Ti), the primary key of O.