473,795 Members | 3,157 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Recommendations - XML or traditional relational structure



I'm designing a medical record system and am considering using XML in the
database (native SQL Server XML datatype). I'm looking for advise and
opinions as to whether my rational is good, and to get pros and cons of
different strategies.

The application is an ASP.Net 2.0 application written in VB.Net with VS
2005. The backend is SQL Server 2005. We currently use SQL tables and
stored procedures extensively with no XML. Many of the web "forms" that will
be built to collect information from users have many common attributes that
will be included in a "header" or "master" table. However, each form will
contain different content, which may contain multiple master-detail
relationships etc. I am considering putting this content into an XML field
in the master table rather than creating multiple child tables for each type
of form.

The reason I want to do this is to reduce the number of SQL tables, stored
procedures, data access code, and reduce the possibility of data access bugs,
and reduce the number of changes to the database schema (since changes to the
forms will be frequent and ongoing). We may have hundreds of different forms
that are filled in over time by different users. Every change that is made
to the data in a form needs to be tracked - which user changed each piece of
information, and I need to protect against concurreny conflicts. If the
content of the forms were stored in a single xml field, I could track all
changes with only one additional table and the updates could always be
handled by the same update stored procedure, which could handle change
tracking and concurrency issues. I also need to be able to be able to search
the XML data, ie list all forms containing user defined parameters.

My concern is two-fold. 1) Will SQL search the XML data as fast as
traditional tables? If not, how slow is XML? Do I need the Enterprise
version of SQL Server to index and search XML? 2) Will our programming
development time be reduced? We are currently quite proficient with TSQL,
but we have not learned or used the XML features in SQL Server. Xpath,
Xquery, etc do not seem as natural to me as SQL. I can get used to it if I
need to, but it looks more tedious. What other issues should I consider?
Jun 20 '06 #1
1 1131
this is nothing wrong with your approach. It a matter of tradeoffs.

1) the performance will depend on what you scans look like. also will you be
using typed or untyped xml (again another set of tradeoffs). if you index
the xml, an index row is created for every node/value pair in the document,
so storage will be larger. also xml storage requirements is larger than
tables.

2) your group will have to learn xpath querying, as a xpath will be required
to access any node. some of your developers may never get the hang of it,
but should be able to use the copy and paste.
-- bruce (sqlwork.com)


"Joel H" <Jo***@discussi ons.microsoft.c om> wrote in message
news:BC******** *************** ***********@mic rosoft.com...


I'm designing a medical record system and am considering using XML in the
database (native SQL Server XML datatype). I'm looking for advise and
opinions as to whether my rational is good, and to get pros and cons of
different strategies.

The application is an ASP.Net 2.0 application written in VB.Net with VS
2005. The backend is SQL Server 2005. We currently use SQL tables and
stored procedures extensively with no XML. Many of the web "forms" that
will
be built to collect information from users have many common attributes
that
will be included in a "header" or "master" table. However, each form will
contain different content, which may contain multiple master-detail
relationships etc. I am considering putting this content into an XML
field
in the master table rather than creating multiple child tables for each
type
of form.

The reason I want to do this is to reduce the number of SQL tables, stored
procedures, data access code, and reduce the possibility of data access
bugs,
and reduce the number of changes to the database schema (since changes to
the
forms will be frequent and ongoing). We may have hundreds of different
forms
that are filled in over time by different users. Every change that is
made
to the data in a form needs to be tracked - which user changed each piece
of
information, and I need to protect against concurreny conflicts. If the
content of the forms were stored in a single xml field, I could track all
changes with only one additional table and the updates could always be
handled by the same update stored procedure, which could handle change
tracking and concurrency issues. I also need to be able to be able to
search
the XML data, ie list all forms containing user defined parameters.

My concern is two-fold. 1) Will SQL search the XML data as fast as
traditional tables? If not, how slow is XML? Do I need the Enterprise
version of SQL Server to index and search XML? 2) Will our programming
development time be reduced? We are currently quite proficient with TSQL,
but we have not learned or used the XML features in SQL Server. Xpath,
Xquery, etc do not seem as natural to me as SQL. I can get used to it if
I
need to, but it looks more tedious. What other issues should I consider?

Jun 20 '06 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

18
2759
by: comcast | last post by:
Hello all, I am developing an interface system for an application I was written. This interface will connect to other system to share information. I would like to use xml and xsl to generically describe each interface. The trouble I am having is that it seem that if you export in xml by table then it is impossible to combine the xml tables files back together in a hierarchical fashion. I can do it programmatically but I would like to...
0
1274
by: Olivier Jullian | last post by:
Hi, I'm new to .NET and am trying to take advantage of the object structure while accessing relational databases. I started a small project for managing "projects". Here is a description of my data structure : A project would be made of tasks, and each task can contain sub-tasks, so I would have something like
49
3356
by: Mike MacSween | last post by:
I frequently hear that there isn't a commercially available dbms that fully implements the relational model. Why not? And which product comes closest. Mike MacSween
3
2027
by: cassandra.flowers | last post by:
I'm designing a database because I have to do it for the preperation work for my A-Level ICT exam. The database is for a building company. It has to store information on building projects (tblProject) and employees (tblPersonnel) then link them together.
1
2189
by: Tim Fierro | last post by:
Hello, I have had many years using flat file databases (File Express from way back) but am now at a company where a relational database is needed and would carry us into the future. Since I know some basics on databases, have VB Pro programming experience over the years, and I know most of what we need to carry as far as data; I have decided to create a database for our needs instead of finding an off the shelf program that may not be...
1
1427
by: Top Spin | last post by:
I have been fooling around with Access on and off for a couple of years -- mostly simple applications with only a few tables and simple relationships. I know the basics for the most part and I have a general awareness of relational concepts, but I don't feel that I really fully understand database design. So, I'd like to get a couple of books to study so I can get a better comprehension of the design concepts. I am about to tackle some...
8
1949
by: Parts Manager | last post by:
Hello All, I would like a couple of book recommendations to get a jump start on Access and to gain some knowledge on Access. I have a few years in programming Basics, then to PDS 7.0, then finally went to VB Pro 5. I have a few years in designing and utilizing flat file databases, but this is my first foray into a relational database. Project I am designing is for a boat shop where we want to keep history and
7
1707
by: shahram.shirazi | last post by:
Hi all, This is a very stupid question, but it has been years since i've touched databases so any help will be very appreciated. I am designing a school registration database which also serves as an analysis application for an LEA or something. Im trying to get my head round the design and it really annoying me!! lol
7
1666
by: Pradeep | last post by:
Hello, I need to take a set of input tables and create an XML output file. The format of the XML output must be user-definable and must be intuitive enough for non-techies to use. input table(s) + SomeSchemaDefinition ==XML file I have seen examples of XML file generation with fixed scope. For example, if input table (called customer) is as follows:
0
9672
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9519
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10214
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10164
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
10001
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
9042
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
5437
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
4113
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
3
2920
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.