24.12.2012 Views

ER/Studio - Embarcadero Technologies Product Documentation

ER/Studio - Embarcadero Technologies Product Documentation

ER/Studio - Embarcadero Technologies Product Documentation

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

USING <strong>ER</strong>/STUDIO > DEVELOPING THE PHYSICAL MODEL<br />

Definition page/tab<br />

Enter or edit a definition for the schema. If the target database supports it, <strong>ER</strong>/<strong>Studio</strong> adds this definition as a<br />

comment when generating SQL code.<br />

DDL page/tab<br />

Displays the CREATE SCHEMA statement needed to build the schema. <strong>ER</strong>/<strong>Studio</strong> uses the platform-specific<br />

parser of the model’s selected database platform to generate the tablespace.<br />

Attachment Bindings tab<br />

Bind an external piece of information, or attachment to the schema. You can also remove an attachment from an<br />

object, override an attachment binding’s default value, or change the position of a bound attachment. To override<br />

the value of the attachment you have moved to the Selected Attachments grid, double-click the Value field of<br />

the target attachment. <strong>ER</strong>/<strong>Studio</strong> opens the Value Override Editor or a list depending on the attachment<br />

datatype. Attachments are created in the Attachments folder of the Data Dictionary. For more information, see<br />

Attaching External Documents to the Data Model.<br />

Optimizing Query Performance on the Physical Model<br />

Denormalizing the Physical Model<br />

o matter how elegant a logical design is on paper, it often breaks down in practice because of the complex or<br />

expensive queries required to make it work. Sometimes, the best remedy for the performance problems is to depart<br />

from the logical design. Denormalization is perhaps the most important reason for separating logical and physical<br />

designs, because then you do not need to compromise your logical design to address real-world performance issues.<br />

Here are some common scenarios you should consider when denormalizing a physical design.<br />

• Duplicated Non-Key Columns: You may decide to duplicate non-key columns in other tables to eliminate the<br />

need to access, or join to that table in a query, such as when you duplicate the description or name column of a<br />

lookup table. When duplicating non-key columns in tables, ensure that the procedural logic synchronizes the<br />

column data so that it does not differ from the values in the reference table.<br />

• Horizontal Table Splits: When tables have many rows of data, you may want to partition the data by splitting the<br />

table into multiple tables where each table uses the same schema but stores a different range of primary key<br />

values. Splitting the table reduces the size and density of the indexes used to retrieve data, thereby improving<br />

their efficiency. On the other hand, once the table is split you must access data in multiple tables instead of in a<br />

single table which requires more complicated procedural logic to manage the tables.<br />

• Vertical Table Splits: When tables with many columns have high read/write activity, you may want to split the<br />

table into multiple tables with different column sets, where each column set uses the same primary key. This lets<br />

you spread update activity across multiple tables, thus decreasing the impact of maintaining multiple indexes. As<br />

with horizontal table splits, vertical table splits require more complex procedural logic to manage multiple tables.<br />

After generating a physical model from a logical model, you can use denormalization mappings to improve<br />

performance in the physical model implementation.<br />

Unlike a manual edit of the physical model, a denormalization mapping provides a record of what has been changed<br />

and retains the link back to the logical model (visible in the Table Editor Where Used tab). This makes the<br />

denormalization self-documenting, and reduces the manual labor required when merging with an updated logical<br />

model. Also, a mapping can be undone at any time (see Undo a Denormalization Mapping).<br />

The following denormalization mappings are available:<br />

• Roll Up Denormalization: Remove one or more unnecessary child tables, consolidating their columns into the<br />

parent table. (All tables must share the same primary key.)<br />

EMBARCAD<strong>ER</strong>O TECHNOLOGIES > <strong>ER</strong>/STUDIO® 8.0.3 US<strong>ER</strong> GUIDE 210

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!