Ways To Map An XML Database Using An XML Schema (XSD)
Coders often experience the need to alter the manner they work with their databases, it's usually the situation when say, being a developer you might be working on a web app or perhaps software project and then you find you need to alter your data mid flow, as an example, shifting from xml data to a relational database. I have regularly worked on projects in which the goals have moved and in many cases, new technologies are brought in which has necessitated the need for a different sort of data methodology.
Having expertly operated such change in large projects, the procedure itself is in no way a difficult one; the key issue is in mapping the data layout involving the sender and the destination data.
The obvious way to achieve this is by using an xml schema (xsd for short), essentially an xml schema is a approach to illustrate the structure and content of an xml data source. The schema sets out the building blocks of an xml file, much like a DTD. Consequently the schema will set out to express the elements, attributes, child elements, order and quantity of child elements etc that may appear in the xml data source.
To be able to map your xml database, you can use the following solutions, currently there isn't a one recommended process or indeed procedure to adhere to, the below approaches can be regarded as several realistic steps. I would also add that the strategy you take is going to be governed through your own particular circumstances, such as the nature and kind of data you wish to map.
Element To Table Mapping
Transforming xml elements into relational database tables could be the most obvious solution to use, however it is not always the very best, its viability can be driven by your data. Such as, mapping an element into a database table will change the columns to element attributes or the element content into children and the like.
To map a target element to a relational database table, just setup the mapping node to access the appropriate rows from the database, then populate the target elements with values out of your database.
Element To Column Mapping
Mapping elements to columns in your relational database is usually recommended when you have simple elements that have only text string, if your elements contains further elements or attributes, your mapping is unlikely to be successful. By default, an element or attribute of simple type, maps to the column using the same name in the table.
In the illustration below, the <Person.Person> element is of complex type and, subsequently, maps by default to the Person.Person table in the selected database. All the attributes (BusinessEntityID, FirstName, LastName) of the <Person.Person> element are of simple type and map by default to columns with the exact same names in the Person.Person table.
<xsd:element name="Person.Person" >
<xsd:attribute name="BusinessEntityID" type="xsd:string" />
<xsd:attribute name="FirstName" type="xsd:string" />
<xsd:attribute name="LastName" type="xsd:string" />
Attribute To Column Mapping
Attribute to column mapping will work better when you would want to map the attributes into columns inside your relational database tables, corresponding them to their given elements. The exception is where you simply have a set number of possible attribute values, in this predicament it would be better to have different tables for the elements needing each attribute type.
Let’s say you may have an element designated “brick”, containing an attribute designated “colour”, plus the attributes can only be “red” or “grey”, you could potentially implement it by setting two tables, one for red bricks and another for grey bricks.
About the Author
Latest Articles about: Programming
2: Benefits of XSLT In XML
3: How Safe is Cloud Storage?
4: Reliable Hire iPhone Web Developer available with iPhone Web Development India
5: Streamline Your Data Transmission using Fiber Optic Testing