<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>
    <title>Dali-Map Entities to Tables</title>
    <meta name="Keywords" content="qarbon, viewlet, viewletbuilder, demo software, animation software, on line training, flash tutorial, flash demo, multimedia presentation, interactive software, training, software, online presentation, it help desk software, presentation software, learning software, online documentation, simulation software, viewlets"/>
    <meta name="Description" content="" />
<!-- $VIEWLET_CENTRAL_API -->
<script language="JavaScript">
<!--
function beginContent (user, partialResults) {
}
function endContent (time, completed, timedOut) {
}
function beginQuestion (questionid) {
}
function endQuestion (questionid, correct, points, attempts, time, timedOut) {
}
function addAnswer (questionid, choiceid, answerid, correct) {
}
-->
</script>









   </head>

  <center>

    <body bgcolor="#ffffff">

<!-- $VIEWLET_CENTRAL_IFRAME -->
          <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="800" height="616">
                <param name="movie" value="03-Map_Entities_to_Tables.swf">
                <param name="quality" value="high">
                <param name="bgcolor" value="#ffffff">
                <embed src="03-Map_Entities_to_Tables.swf" quality="high" bgcolor="#ffffff" width="800" height="616" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">
          </object>
    </body>
    
    </center>

</html>
