<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title></title>
	<atom:link href="http://www.amkweb.com/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.amkweb.com/blog</link>
	<description>Web And Database Solution Provider</description>
	<lastBuildDate>Mon, 23 Apr 2012 21:48:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Costing a Web Application</title>
		<link>http://www.amkweb.com/blog/?p=64</link>
		<comments>http://www.amkweb.com/blog/?p=64#comments</comments>
		<pubDate>Mon, 23 Apr 2012 21:48:22 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Costing a web application]]></category>
		<category><![CDATA[database applications]]></category>
		<category><![CDATA[database development]]></category>
		<category><![CDATA[Enterprise applications]]></category>
		<category><![CDATA[Web application development]]></category>

		<guid isPermaLink="false">http://www.amkweb.com/blog/?p=64</guid>
		<description><![CDATA[&#160; This is a huge issue especially in the current economic downturn as everybody is looking for the best deal in town! Well with application/database development the best deal in town is not the one with the lowest dollar amount. Rather &#8230; <a href="http://www.amkweb.com/blog/?p=64">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>This is a huge issue especially in the current economic downturn as everybody is looking for the best deal in town! Well with application/database development the best deal in town is not the one with the lowest dollar amount. Rather it&#8217;s the one that has feasible and reasonable cost estimates and more importantly with the right group of developers. The truth is when you go out to look for a company to do an application that your business depends on, before you sign that contract and pay the deposit, make sure the company can do what it promises. Check their references and find out if they have a history of commitment to their clients. It&#8217;s easy to say that we can do it and also we can do it in a required time frame. Remember that once you pay the deposit, you are hooked.</p>
<p>Naturally companies that send their work overseas will have the lowest costs. But unless you get extremely lucky (and in all these years, I have almost never seen that happen), you could be taken for a ride. You will be out of your money and your project will take 5-6 times the time it may take to finish here. Sure, in the beginning the cost is very attractive but then as your project goes on, you will see promises not coming thru and excuses come one fter another. And most of the time you are lucky if the project even ends. In many cases that I have seen at best overseas companies complete about 90% of the job and then you will be here looking for a company to do that last 10% only to find out that this 10% may cost you more than the 90%! Why? Because working on existing code is generally extremely difficult. You will have to pay for the new company&#8217;s learning curve and then how do you know that the code coming from overseas is well documented. Then also, After everything is complete, you will have the two companies blaming each other for any problems. Now after several years a project that should have completed in six months, is taking you about three years to finish and you have paid the same amount that you would have to pay if you had done it all locally.  That&#8217;s as I said, if you are lucky!</p>
<p>Also remember that with complicated enterprise database applications, you have to have quick access to developers. Sometimes it may take several meetings to get one single requirement understood. Just imagine how that would work with an offshore company with different time zones, language barrier, etc.</p>
<p>Do your homework. Know who you are dealing with. Check references and make sure the scope outlined in the proposal is complete.</p>
<p align="left"><a target="_blank" class="tt" href="http://twitter.com/home/?status=Costing+a+Web+Application+http://www.amkweb.com/blog/?p=64" title="Post to Twitter"><img class="nothumb" src="http://www.amkweb.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter-big4.png" alt="Post to Twitter" /></a></p><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.amkweb.com%2Fblog%2F%3Fp%3D64&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px;margin-top:5px;"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.amkweb.com/blog/?feed=rss2&#038;p=64</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Application development conventions and rules</title>
		<link>http://www.amkweb.com/blog/?p=60</link>
		<comments>http://www.amkweb.com/blog/?p=60#comments</comments>
		<pubDate>Mon, 19 Mar 2012 23:53:32 +0000</pubDate>
		<dc:creator>mehrdad</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Application development]]></category>
		<category><![CDATA[coding conventions]]></category>
		<category><![CDATA[Database conventions]]></category>
		<category><![CDATA[database development]]></category>
		<category><![CDATA[Web applocations]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.amkweb.com/blog/?p=60</guid>
		<description><![CDATA[In any scalable software development project, there needs to be established a set of rules and conventions to follow. Clients often ask for good documentation in the code. OK. We will put in documentation but chances are the notes that &#8230; <a href="http://www.amkweb.com/blog/?p=60">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In any scalable software development project, there needs to be established a set of rules and conventions to follow.<br />
Clients often ask for good documentation in the code.   OK. We will put in documentation but chances are the notes that you put in right now for a module will be meaningless or at least insufficient year from now.  Yes when you start coding, you make everything nice and pretty with comments above function calls or Stored Procedures.  Notes describe what the function does but depending on its purpose, often the function will be edited again and again to the point where the original comment is rendered un-useful.  That&#8217;s why as a project manager, you need to ask your developers to add a comment with every change they make.   To that they will also need to add a date as well as their initials.  That way several months or years from now when code is visited by some developer or even the developer that made the change, code can still make sense.  Something like:<br />
&#8211; Changed code to capture DOB, MK 3-12-2012<br />
If the change is more complicated, then the documentation needs to reflect that as well.<br />
At AMK Web, we have a set of conventions for how we name our database columns as well as database Stored Procedures and functions.<br />
Here are a few tips:<br />
1. Name the first field (primary Key) in any table a common name&#8230;. We simply call it primarykey, no matter what the table.<br />
2. For stored procedure input fields, we use the prefix @inp_ followed by a name that is either a column name or some other meaningful name.<br />
3. Using the same convention, your output variables start with @outp_<br />
4. For stored procedure names, spell out the purpose of the SP&#8230; (e.g. insertAPayment)<br />
You would be surprised how much time this saves us.  We always know what the primaryKey is called in any database table we use.  It&#8217;s also very fast to locate a SP.<br />
Next I will go over some conventions that can be used in application development platforms,</p>
<p align="left"><a target="_blank" class="tt" href="http://twitter.com/home/?status=Application+development+conventions+and+rules+http://www.amkweb.com/blog/?p=60" title="Post to Twitter"><img class="nothumb" src="http://www.amkweb.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter-big4.png" alt="Post to Twitter" /></a></p><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.amkweb.com%2Fblog%2F%3Fp%3D60&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px;margin-top:5px;"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.amkweb.com/blog/?feed=rss2&#038;p=60</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Developing scalable classes for a web application</title>
		<link>http://www.amkweb.com/blog/?p=54</link>
		<comments>http://www.amkweb.com/blog/?p=54#comments</comments>
		<pubDate>Sat, 03 Dec 2011 04:39:33 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[.NET applications]]></category>
		<category><![CDATA[Data encapsulation in classes]]></category>
		<category><![CDATA[Enterprise application]]></category>
		<category><![CDATA[Web application]]></category>
		<category><![CDATA[Web Application Classes]]></category>
		<category><![CDATA[Web Databases]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.amkweb.com/blog/?p=54</guid>
		<description><![CDATA[The key to developing an enterprise application that can grow with the business requires the application development team to have a vision.  Code the database and the front-end application so when business rules grow, it’s easy to accommodate new operational &#8230; <a href="http://www.amkweb.com/blog/?p=54">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The key to developing an enterprise application that can grow with the business requires the application development team to have a vision.  Code the database and the front-end application so when business rules grow, it’s easy to accommodate new operational parameters.  A good way to create a scalable front-end application is to make available various data elements of an entity. </p>
<p>Creating objects that encapsulate all necessary data elements of an entity is a great way to modularize your application.  Let&#8217;s think for example of an application you are writing for a university.  You have three main entities: Students, Classes and Faculty.  If I were to build such an application, I would create a class for each entity that would hold all possible data elements for that entity.  That includes data that your application doesn&#8217;t currently require.  For instance, in the Student class the city that the student was born in may not be of significance right now.  But still when you create the class, you should still allocate a space for the city of birth just in case it becomes important for future statistical purposes.  In such a case, instead of having an application programmer go into the class code and adding new functionality, the front end programmer can just pull the city of birth using a Get function.</p>
<p align="left"><a target="_blank" class="tt" href="http://twitter.com/home/?status=Developing+scalable+classes+for+a+web+application+http://www.amkweb.com/blog/?p=54" title="Post to Twitter"><img class="nothumb" src="http://www.amkweb.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter-big4.png" alt="Post to Twitter" /></a></p><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.amkweb.com%2Fblog%2F%3Fp%3D54&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px;margin-top:5px;"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.amkweb.com/blog/?feed=rss2&#038;p=54</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Managing a Web Application: Designing the Database</title>
		<link>http://www.amkweb.com/blog/?p=48</link>
		<comments>http://www.amkweb.com/blog/?p=48#comments</comments>
		<pubDate>Tue, 11 Oct 2011 20:55:05 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.amkweb.com/blog/?p=48</guid>
		<description><![CDATA[Database design or database application development is an art. You have identified the data items that you want to save and you know what data you want displayed on each page.  Which do you do first, User Interface design or Database &#8230; <a href="http://www.amkweb.com/blog/?p=48">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Database design or database application development is an art.</p>
<p>You have identified the data items that you want to save and you know what data you want displayed on each page.  Which do you do first, User Interface design or Database Design?</p>
<p>That might be a matter of preference.  What I normally do is create my database tables first.  It’s easier to make changes to your database table structure than it is to change how data looks on the screen.  Screen changes do take longer usually.</p>
<p>MS-SQL has made designing tables so much easier.  You can even use the SQL script builder to insert into and update your tables.  Writing Stored Procedures is always the preferred way to save and retrieve date.  A convenient way to call the stored procedures would be from data access classes.  You generally encapsulate your data access routines into these classes.  Then from your front-end application, you would call the class methods.   This way you would organize your application.</p>
<p align="left"><a target="_blank" class="tt" href="http://twitter.com/home/?status=Managing+a+Web+Application%3A+Designing+the+Database+http://www.amkweb.com/blog/?p=48" title="Post to Twitter"><img class="nothumb" src="http://www.amkweb.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter-big4.png" alt="Post to Twitter" /></a></p><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.amkweb.com%2Fblog%2F%3Fp%3D48&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px;margin-top:5px;"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.amkweb.com/blog/?feed=rss2&#038;p=48</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web application components</title>
		<link>http://www.amkweb.com/blog/?p=44</link>
		<comments>http://www.amkweb.com/blog/?p=44#comments</comments>
		<pubDate>Fri, 07 Oct 2011 06:17:34 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[application developers]]></category>
		<category><![CDATA[user interface design]]></category>
		<category><![CDATA[Web application development]]></category>
		<category><![CDATA[web applications]]></category>

		<guid isPermaLink="false">http://www.amkweb.com/blog/?p=44</guid>
		<description><![CDATA[Most Web Applications consist of two main components: User Interface Design Database Design Designing the User Interface. Based on your blue print you should know what you want to present. Put related information close to each other.   Data on the &#8230; <a href="http://www.amkweb.com/blog/?p=44">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Most Web Applications consist of two main components:</p>
<ol>
<li>User Interface Design</li>
<li>Database Design</li>
</ol>
<p style="text-align: left;"><strong>Designing the User Interface. </strong></p>
<p style="text-align: left;">Based on your blue print you should know what you want to present.</p>
<p style="text-align: left;">Put related information close to each other.   Data on the page needs to be related and although it may need to be saved in a few different database tables, needs to be interconnected.</p>
<p style="text-align: left;">Navigation from page to page needs to be made as easy as possible. If application’s web pages are required to have common headings, master pages will become handy.</p>
<p style="text-align: left;">However you decide to do your user interface, you will need to use a tool like the .NET environment.  .NET environment will let you design your screen the way it makes sense to users.  You will design your pages and then code the application so you can save screen data in your database.</p>
<p style="text-align: left;">The general advice would be to try to use a consistent way to save and retrieve your data so the job of replicating the same process would be easier.</p>
<p align="left"><a target="_blank" class="tt" href="http://twitter.com/home/?status=Web+application+components+http://www.amkweb.com/blog/?p=44" title="Post to Twitter"><img class="nothumb" src="http://www.amkweb.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter-big4.png" alt="Post to Twitter" /></a></p><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.amkweb.com%2Fblog%2F%3Fp%3D44&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px;margin-top:5px;"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.amkweb.com/blog/?feed=rss2&#038;p=44</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Running an Application Development Project</title>
		<link>http://www.amkweb.com/blog/?p=41</link>
		<comments>http://www.amkweb.com/blog/?p=41#comments</comments>
		<pubDate>Wed, 28 Sep 2011 13:38:56 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.amkweb.com/blog/?p=41</guid>
		<description><![CDATA[IT managers often wonder how they should go about starting a project.   No matter how small or large your company is, principals are the same.  Even though with smaller organizations, you have fewer people to talk to, still the &#8230; <a href="http://www.amkweb.com/blog/?p=41">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">IT managers often wonder how they should go about starting a project.   No matter how small or large your company is, principals are the same.  Even though with smaller organizations, you have fewer people to talk to, still the same path needs to be taken</p>
<p style="text-align: left;"><strong>Identifying the need</strong></p>
<ol>
<li>Conducting meetings with requesting organizations to define in clear terms what needs to be accomplished.</li>
<li>Creating a blue print of the final product.</li>
<li>Refining the final product by reviewing the blue print with the requesting organization.</li>
</ol>
<p style="text-align: left;"><strong> Keep in mind that these facts about the blue print: </strong></p>
<ul>
<li>While bullet points show the major idea, details may not cover 100% of what is needed.  This is just a fact of life.  Project definitions that try to define every minute detail, often times will take more time than necessary and will result in unwanted delays.  With that said, major points do need to be identified.</li>
<li>When a project is being defined, requesting managers should always talk about the big picture, what is in the horizon and how the product of this application development project fits within the future of the organization.</li>
<li>It&#8217;s important to conduct meetings with different people within the requesting organization to learn about other viewpoints and expectations about what need to be accomplished.</li>
</ul>
<p>Next I will talk about:</p>
<p>User interface design</p>
<p>Database design and development.</p>
<p>Platform to use</p>
<p>Finding an application development team.</p>
<p align="left"><a target="_blank" class="tt" href="http://twitter.com/home/?status=Running+an+Application+Development+Project+http://www.amkweb.com/blog/?p=41" title="Post to Twitter"><img class="nothumb" src="http://www.amkweb.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter-big4.png" alt="Post to Twitter" /></a></p><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.amkweb.com%2Fblog%2F%3Fp%3D41&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px;margin-top:5px;"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.amkweb.com/blog/?feed=rss2&#038;p=41</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Figuring up Database Costs</title>
		<link>http://www.amkweb.com/blog/?p=35</link>
		<comments>http://www.amkweb.com/blog/?p=35#comments</comments>
		<pubDate>Fri, 10 Jun 2011 00:39:53 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[database applications]]></category>
		<category><![CDATA[database costs]]></category>
		<category><![CDATA[Database design]]></category>
		<category><![CDATA[low cost database development]]></category>
		<category><![CDATA[Offshore companies]]></category>

		<guid isPermaLink="false">http://www.amkweb.com/blog/?p=35</guid>
		<description><![CDATA[Offshore companies, database devlopers, Offshore resources, low prices <a href="http://www.amkweb.com/blog/?p=35">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Let&#8217;s be realistic; Database development is expensive.   A typical scenario: Your business has been running for years without a relational database, or maybe you have been using a relatively mediocre database tool such as MS-Access or a data management spreadsheet tool such as Excel.  You have come to a point where your existing data management tool is just not cutting it any more.   You just have way too much data to handle, searching has become a painful process and your data are not linked.   </p>
<p>I would say it&#8217;s time for you to upgrade your database management ways.  So where do you find database designers/developers?  How much should it cost you? </p>
<p>People have different ways of finding their resources but as far as the cost is concerned, don&#8217;t think of it as going out there to buy a nice Appliance for your house.  Instead, in terms of cost, think along the line of remodeling your kitchen.   Database development is not cheap.  Even if you get a cheap offer say from offshore companies or some local recent graduates, don&#8217;t be duped into starting with them.  It will be hard to get out of it.  And when you do, most probably the new company will have to start from scratch.  You have lost several months and thousands of dollars, you are frustrated and you are still without a workable database.</p>
<p>The invaluable advantage of hiring a professional US company is that during the course of database development you will need to be constant contact with your developers.  They need to learn your business inside and out!  You will become very good friends with them so they will need to be easily accessible.   In fact before you hire them make sure they understand your business well and that you are comfortable with them. </p>
<p>I used to hear that Microsoft and Oracle database experts charge something in the neighborhood of $400-500 per hour!  That&#8217;s a whopping figure but it should tell you that if you find a good database developer for under $150/hour don&#8217;t let them get away.</p>
<p>Now if you are new to this, I don’t want to scare you!  If you are just starting your business or have minimal amounts of data, your costs will be much lower depending on what you want to do with the data.</p>
<p align="left"><a target="_blank" class="tt" href="http://twitter.com/home/?status=Figuring+up+Database+Costs+http://www.amkweb.com/blog/?p=35" title="Post to Twitter"><img class="nothumb" src="http://www.amkweb.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter-big4.png" alt="Post to Twitter" /></a></p><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.amkweb.com%2Fblog%2F%3Fp%3D35&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px;margin-top:5px;"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.amkweb.com/blog/?feed=rss2&#038;p=35</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Database triggers, why are they so dangerous?</title>
		<link>http://www.amkweb.com/blog/?p=32</link>
		<comments>http://www.amkweb.com/blog/?p=32#comments</comments>
		<pubDate>Tue, 26 Apr 2011 23:03:52 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[access database]]></category>
		<category><![CDATA[database development]]></category>
		<category><![CDATA[MS-SQL database]]></category>
		<category><![CDATA[stored procedures]]></category>
		<category><![CDATA[Triggers]]></category>
		<category><![CDATA[Web databasees]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.amkweb.com/blog/?p=32</guid>
		<description><![CDATA[Triggers, stored procedures.  Extensive database development., database applications <a href="http://www.amkweb.com/blog/?p=32">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>People ask me whether or not they should embed a business rule into a trigger.  My answer is hmmm&#8230; Well, triggers are a wonderful tool to use when you always want a certain action to take place upon a table insert, delete or update.  Yes, triggers sound quick and nifty and are left for those with esoteric knowledge in database development, but are they safe?  After all you only see the triggers if you click on the trigger box under each table.  They are not immediately obvious.</p>
<p>The problem with triggers is that you tend to forget them!  Suppose after a table has been designed and used for many months or years, you decide to write a new script (i.e. stored procedure) to change something that affects one of the tables that your trigger changes, you will have to remember about that trigger!  Or it could come back to haunt you.  And then after the trigger damage is done, you will have to edit your trigger to make its functionalities conditional.  Over time, with so many conditions, your trigger will be way too confusing and the whole original purpose of creating the trigger diminishes.</p>
<p>Use triggers with care.   I think delete triggers are generally safe, insert triggers are fairly safe as well.  Most problems are with update triggers.  I would try to avoid them.</p>
<p align="left"><a target="_blank" class="tt" href="http://twitter.com/home/?status=Database+triggers%2C+why+are+they+so+dangerous...+http://www.amkweb.com/blog/?p=32" title="Post to Twitter"><img class="nothumb" src="http://www.amkweb.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter-big4.png" alt="Post to Twitter" /></a></p><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.amkweb.com%2Fblog%2F%3Fp%3D32&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px;margin-top:5px;"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.amkweb.com/blog/?feed=rss2&#038;p=32</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Maintaining a database that imports inconsistent data</title>
		<link>http://www.amkweb.com/blog/?p=28</link>
		<comments>http://www.amkweb.com/blog/?p=28#comments</comments>
		<pubDate>Thu, 14 Apr 2011 21:59:21 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[access database]]></category>
		<category><![CDATA[data conversion]]></category>
		<category><![CDATA[database applications]]></category>
		<category><![CDATA[database development]]></category>
		<category><![CDATA[MS-SQL]]></category>

		<guid isPermaLink="false">http://www.amkweb.com/blog/?p=28</guid>
		<description><![CDATA[When you get daily/weekly data imports and the data that comes in doesn&#8217;t always follow the expected pattern, you have got yourself a seemingly un-resolvable ongoing problem, especially if the problematic data comes in different variations. For a database expert, &#8230; <a href="http://www.amkweb.com/blog/?p=28">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>When you get daily/weekly data imports and the data that comes in doesn&#8217;t always follow the expected pattern, you have got yourself a seemingly un-resolvable ongoing problem, especially if the problematic data comes in different variations.<br />
For a database expert, there can not be a more difficult challenge.<br />
How do you deal with this?<br />
Most data that comes in is fine and fits right into your schema and table structures but occasionally you have chunks of data that (in the middle of all the good data) causes your Stored Procedures not to work correctly.  </p>
<p>At AMK Web, we recently experienced this in its worst form.  Is it even possible to account for all cases?  And if you ever do, how does all your error checking impact the speed of the process?<br />
Our solution was that since we are dealing with huge amounts of data, to keep our client happy with the bill, we decided to break the data down into chunks so that we can deal with small amounts of it at a time hence making the exception handling process more manageable and faster to code. </p>
<p align="left"><a target="_blank" class="tt" href="http://twitter.com/home/?status=Maintaining+a+database+that+imports+inconsistent+data+http://www.amkweb.com/blog/?p=28" title="Post to Twitter"><img class="nothumb" src="http://www.amkweb.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter-big4.png" alt="Post to Twitter" /></a></p><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.amkweb.com%2Fblog%2F%3Fp%3D28&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px;margin-top:5px;"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.amkweb.com/blog/?feed=rss2&#038;p=28</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Understanding client business operations, the importance of careful listening</title>
		<link>http://www.amkweb.com/blog/?p=22</link>
		<comments>http://www.amkweb.com/blog/?p=22#comments</comments>
		<pubDate>Wed, 17 Nov 2010 14:19:52 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Application development]]></category>
		<category><![CDATA[understanding client needs]]></category>
		<category><![CDATA[understanding your client]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.amkweb.com/blog/?p=22</guid>
		<description><![CDATA[When a database development company is asked to build a database application for a client, it needs to take its time to diligently learn client&#8217;s operations. Many times that process seems intuitive and easy to grasp while in reality, it &#8230; <a href="http://www.amkweb.com/blog/?p=22">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>When a database development company is asked to build a database application for a client, it needs to take its time to diligently learn client&#8217;s operations.  Many times that process seems intuitive and easy to grasp while in reality, it takes more work and a deeper look into details that may finally help a consulting company understand how a client desires to manage its data and how it wants the data presented.<br />
In my experience over the years, even similar businesses operate differently when it comes to details.  While business objectives are similar, how businesses handle invoices, billing, payments, service scheduling etc is in many cases unique.  The way they use their data for future analysis may also require that the data is stored differently.  In reality it might take several tries and a lot of patient attention to details that could put a consulting or Database Company in a position to efficiently resolve clients&#8217; daily operational issues.  The key to success in application development project is in hours or days of listening and spending time with clients, there is no short cut.</p>
<p align="left"><a target="_blank" class="tt" href="http://twitter.com/home/?status=Understanding+client+business+operations%2C+the+importance+of+careful+listening+http://www.amkweb.com/blog/?p=22" title="Post to Twitter"><img class="nothumb" src="http://www.amkweb.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter-big4.png" alt="Post to Twitter" /></a></p><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.amkweb.com%2Fblog%2F%3Fp%3D22&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px;margin-top:5px;"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.amkweb.com/blog/?feed=rss2&#038;p=22</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

