﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>StrataFrame Forum » StrataFrame Database Deployment Toolkit » Database Deployment Toolkit (How do I?)  » Best Practice to Use Views or Tables with SQL Databases and BOs</title><generator>InstantForum 2017-1 Final</generator><description>StrataFrame Forum</description><link>http://forum.strataframe.net/</link><webMaster>StrataFrame Forum</webMaster><lastBuildDate>Tue, 09 Jun 2026 11:50:45 GMT</lastBuildDate><ttl>20</ttl><item><title>Best Practice to Use Views or Tables with SQL Databases and BOs</title><link>http://forum.strataframe.net/FindPost20474.aspx</link><description>Coming from a VFP and VPME background, I am wondering what is the best practice for applications that use SQL Databases.&amp;nbsp; In VFP applications I normally use Views for Forms and Reports and separate them into two or more databases.&amp;nbsp; Also, I would try to use Views instead of Filters most of the time.&amp;nbsp; Is the way I would do it in VFP still the best way for SQL database applications?&lt;/P&gt;&lt;P&gt;- Is it best to separate tables and views into separate databases?&amp;nbsp; I noticed the Strataflix and Strataframe samples both show views and tables together in the same DB but this may be just for simplification&lt;/P&gt;&lt;P&gt;- Should Maintenance Forms&amp;nbsp;be based on&amp;nbsp;views or tables?&lt;/P&gt;&lt;P&gt;- Should Reports use views or tables?&lt;/P&gt;&lt;P&gt;- When is it best to use a View as opposed to a table or a table with a filter?&lt;/P&gt;&lt;P&gt;- Also, I plan to develop applications using SF that I want to be able to sell just parts of as well as the entire application as a whole.&amp;nbsp; For example, I'm working on a Safety Review application that could be sold as a complete package or someone might just want to purchase the OSHA&amp;nbsp;package,&amp;nbsp;ADA package, Driver/Employee File package, Vehicle Inspections package, etc.&amp;nbsp; I might also have a Lite/Express version too for example.&lt;/P&gt;&lt;P&gt;- I'd&amp;nbsp;be interested how others are doing it and what make the most sense in terms of flexibility, especially since I have the opportunity to start from "scratch" so to speak.&lt;/P&gt;&lt;P&gt;Thanks!</description><pubDate>Wed, 05 Nov 2008 04:26:17 GMT</pubDate><dc:creator>Russell Scott Brown</dc:creator></item><item><title>RE: Best Practice to Use Views or Tables with SQL Databases and BOs</title><link>http://forum.strataframe.net/FindPost20551.aspx</link><description>I still have to use (but not for much longer :)) VPME and&amp;nbsp;xCase2VPM and I will not miss either. I will certainly not miss the quirks or the extremely tedious view generation process that takes forever to run for a simple change :) Or the massive list of views which contain many more fields than I actually want to query or the generation of "SELECT *" type statements which causes VFP to throw an error when the field order changes.....&lt;/P&gt;&lt;P&gt;To be honest, I was worried initially about SF as you code your own queries and I assumed this would be hard work. However, after using SF, it is a MUCH better approach and is extremely easy to do. Now the SF version of&amp;nbsp;my VPME application is only quering the fields I need rather than some expanded list of fields created in a view generator.&lt;/P&gt;&lt;P&gt;I have been using SF every day now for months and I haven't found anything yet to grumble about :) I am really angry with myself for not finding it years ago but I am determined to find something wrong with it so I can grumble :) However, I suspect it will be a spelling mistake somewhere rather than a design flaw.&lt;/P&gt;&lt;P&gt;The best advice I can give anyone coming from a VPME background to SF is to totally forget about VPME and views. SF is in a different league and comparisions are pointless.&lt;/P&gt;&lt;P&gt;Just my 18 cents worth (sorry inflation).</description><pubDate>Wed, 05 Nov 2008 04:26:17 GMT</pubDate><dc:creator>Aaron Young</dc:creator></item><item><title>RE: Best Practice to Use Views or Tables with SQL Databases and BOs</title><link>http://forum.strataframe.net/FindPost20530.aspx</link><description>[quote][b]Russell Scott Brown (11/03/2008)[/b][hr]Thanks.&amp;nbsp; I am not going to miss using Views, that is for sure.[/quote] &lt;P&gt;Humm, don't think so. :) I still use VPME with the PSP Libraries and xCase2VPM which takes care of creating all needed views for me, and even though I have been working with views for a long time, so far I don't miss anything from VFP while working with .NET/SF.&amp;nbsp; &lt;P&gt;I do miss some VPME features I was used to, like the form's builder and others but, I am pretty comfortable with the way things are going between me and SF/.NET.</description><pubDate>Mon, 03 Nov 2008 16:21:41 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: Best Practice to Use Views or Tables with SQL Databases and BOs</title><link>http://forum.strataframe.net/FindPost20519.aspx</link><description>Thanks.&amp;nbsp; I am not going to miss using Views, that is for sure.&lt;/P&gt;&lt;P&gt;I definitely plan to go with SF for the future.&amp;nbsp; VFP/VPME for only those apps already developed but over time even those will use SF.</description><pubDate>Mon, 03 Nov 2008 12:39:55 GMT</pubDate><dc:creator>Russell Scott Brown</dc:creator></item><item><title>RE: Best Practice to Use Views or Tables with SQL Databases and BOs</title><link>http://forum.strataframe.net/FindPost20518.aspx</link><description>Thanks for all the &lt;STRONG&gt;&lt;EM&gt;very helpful&lt;/EM&gt;&lt;/STRONG&gt; comments.&lt;/P&gt;&lt;P&gt;I am glad I asked!&amp;nbsp;</description><pubDate>Mon, 03 Nov 2008 12:35:44 GMT</pubDate><dc:creator>Russell Scott Brown</dc:creator></item><item><title>RE: Best Practice to Use Views or Tables with SQL Databases and BOs</title><link>http://forum.strataframe.net/FindPost20498.aspx</link><description>Hola Juan.&lt;/P&gt;&lt;P&gt;Me alegro de haber ayudado. :cool:</description><pubDate>Sat, 01 Nov 2008 07:05:39 GMT</pubDate><dc:creator>Ivan George Borges</dc:creator></item><item><title>RE: Best Practice to Use Views or Tables with SQL Databases and BOs</title><link>http://forum.strataframe.net/FindPost20496.aspx</link><description>Ivan&lt;/P&gt;&lt;P&gt;Thanks a lot for the sample. I find it very usefull. &lt;/P&gt;&lt;P&gt;I'm sorry for wrote in spanish, I just don't think and&amp;nbsp;wrote as come to my mind. Glad to see that you can understand me.&lt;/P&gt;&lt;P&gt;Kindest regards</description><pubDate>Fri, 31 Oct 2008 20:28:30 GMT</pubDate><dc:creator>Juan Carlos Pazos</dc:creator></item><item><title>RE: Best Practice to Use Views or Tables with SQL Databases and BOs</title><link>http://forum.strataframe.net/FindPost20495.aspx</link><description>Hi Juan.&lt;P&gt;I read the code I posted to you and noticed I didn't code some important features in it, so I corrected a bit:&lt;/P&gt;&lt;P&gt;[codesnippet]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private Sub MyBrowseDialog1_BrowseDialogClosed(ByVal e As MicroFour.StrataFrame.UI.Windows.Forms.BrowseDialogClosedEventArgs) Handles MyBrowseDialog1.BrowseDialogClosed&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- check if the BrowseDialog was canceled by user&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If e.Reason = MicroFour.StrataFrame.UI.Windows.Forms.BrowseDialogClosedReasons.UserCancelled Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit Sub&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- establish locals&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim lnCount As Integer&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim lnChosenPk As Integer&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- get the chosen row PK&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lnChosenPk = Me.MyViewInfoBO1.myview_pk&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- copy the data from the populated BO to another one without the duplicates&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- (I used to do something a lot more complicate at this point, thanks to Paul for the next line) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Me.MyViewInfoBO2.CopyDataFrom(Me.MyViewInfoBO1.CurrentDataTable.DefaultView.ToTable _&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (True, New String() {"myview_pk"}), _&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MicroFour.StrataFrame.Business.BusinessCloneDataType.ClearAndFillFromCompleteTable)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- get the number of unique rows&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lnCount = Me.MyViewInfoBO2.Count()&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- establish an array dimensioned with the number of rows in the BO&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim arPk(lnCount) As Integer&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- populate the array of PKs, so we can use it to populate the form BO with the found records&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For Each row As MyViewInfoBO In MyViewInfoBO2.GetEnumerable()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arPk(MyViewInfoBO2.CurrentRowIndex) = MyViewInfoBO2.myview_pk&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- fill the Parent BO given the array of PKs&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Me.MyParentBO1.FillByPrimaryKey(arPk)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- position the chosen row&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Me.MyParentBO1.NavigateToPrimaryKey(lnChosenPk)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;BR&gt;&lt;BR&gt;[/codesnippet]</description><pubDate>Fri, 31 Oct 2008 16:58:54 GMT</pubDate><dc:creator>Ivan George Borges</dc:creator></item><item><title>RE: Best Practice to Use Views or Tables with SQL Databases and BOs</title><link>http://forum.strataframe.net/FindPost20494.aspx</link><description>Hey Edhy.&lt;/P&gt;&lt;P&gt;I can read it, but not really write it. I asked for help over here... :D</description><pubDate>Fri, 31 Oct 2008 15:18:23 GMT</pubDate><dc:creator>Ivan George Borges</dc:creator></item><item><title>RE: Best Practice to Use Views or Tables with SQL Databases and BOs</title><link>http://forum.strataframe.net/FindPost20493.aspx</link><description>Here you are.&lt;UL&gt;&lt;LI&gt;Get your view ready with the Parent and all its children, remember to have the parent PK as a column in it.&lt;/LI&gt;&lt;LI&gt;Create a new BO in your application and use the Business Object Mapper to map it. Remember that if you are used to mapping selecting the DDT as a source, with a view you will need to go straight to the SQL Server, so deploy it first, and then map it.&lt;/LI&gt;&lt;LI&gt;Rebuild your project and drop 2 instances of the view BO on your form. &lt;/LI&gt;&lt;LI&gt;Drop a BrowseDialog and configure it to this BO type, use one of the instances of the BO as the BusinessObjectToPopulate.&lt;/LI&gt;&lt;LI&gt;Configure your BrowseDialog as usual. SearchFields, BrowseResultsLayout and so on.&lt;/LI&gt;&lt;LI&gt;Go to your BrowseDialog Events and create one for BrowseDialogClosed.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;In it, put some code like the following:&lt;/P&gt;&lt;P&gt;[codesnippet]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private Sub MyBrowseDialog1_BrowseDialogClosed(ByVal e As MicroFour.StrataFrame.UI.Windows.Forms.BrowseDialogClosedEventArgs) Handles MyBrowseDialog1.BrowseDialogClosed&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- establish locals&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim lnCount As Integer&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- copy the data from the populated BO to another one without the duplicates&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- (I used to do something a lot more complicate at this point, thanks to Paul for the next line) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Me.MyViewInfoBO2.CopyDataFrom(Me.MyViewInfoBO1.CurrentDataTable.DefaultView.ToTable _&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (True, New String() {"myview_pk"}), _&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MicroFour.StrataFrame.Business.BusinessCloneDataType.ClearAndFillFromCompleteTable)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- get the number of unique rows&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lnCount = Me.MyViewInfoBO2.Count()&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- establish an array dimensioned with the number of rows in the BO&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim arPk(lnCount) As Integer&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- populate the array of PKs, so we can use it to populate the form BO with the found records&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For Each row As MyViewInfoBO In MyViewInfoBO2.GetEnumerable()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arPk(MyViewInfoBO2.CurrentRowIndex) = MyViewInfoBO2.myview_pk&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- fill the Parent BO given the array of PKs&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Me.MyParentBO.FillByPrimaryKey(arPk)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;BR&gt;[/codesnippet]&lt;/P&gt;&lt;P&gt;That should be it. ;)</description><pubDate>Fri, 31 Oct 2008 15:16:27 GMT</pubDate><dc:creator>Ivan George Borges</dc:creator></item><item><title>RE: Best Practice to Use Views or Tables with SQL Databases and BOs</title><link>http://forum.strataframe.net/FindPost20492.aspx</link><description>[quote][b]Ivan George Borges (10/31/2008)[/b][hr]Hola Juan.&lt;P&gt;Si, prepararé un ejemplo para usted y pondré aquí.[/quote]&lt;P&gt;Aha, Ivan tu eres como una cajita de sorpresa, no sabia que hablabas y escribes en Español.:)</description><pubDate>Fri, 31 Oct 2008 15:11:03 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: Best Practice to Use Views or Tables with SQL Databases and BOs</title><link>http://forum.strataframe.net/FindPost20491.aspx</link><description>Hola Juan.&lt;/P&gt;&lt;P&gt;Si, prepararé un ejemplo para usted y pondré aquí.</description><pubDate>Fri, 31 Oct 2008 14:53:48 GMT</pubDate><dc:creator>Ivan George Borges</dc:creator></item><item><title>RE: Best Practice to Use Views or Tables with SQL Databases and BOs</title><link>http://forum.strataframe.net/FindPost20490.aspx</link><description>Que tal,&lt;/P&gt;&lt;P&gt;Sería factible que pusieras un ejemplo de tu proceso, la parte del View la puedo manejar pero el proceso de filtrar duplicados y demás no se me ocurre como hacerlo.&lt;/P&gt;&lt;P&gt;Gracias,</description><pubDate>Fri, 31 Oct 2008 13:37:03 GMT</pubDate><dc:creator>Juan Carlos Pazos</dc:creator></item><item><title>RE: Best Practice to Use Views or Tables with SQL Databases and BOs</title><link>http://forum.strataframe.net/FindPost20482.aspx</link><description>Hey Russel.&lt;/P&gt;&lt;P&gt;I think that a good time&amp;nbsp;to use a view is when you need to use the BrowseDialog to search on different tables at the same time. So, if you have a form&amp;nbsp;with a Parent BO and 1 or more Children BOs related, you could create a view to join all these tables and format the BrowseDialog to search on that view, so the user would get all the columns needed from the different tables. Once the BrowseDialog is Closed, you can deal with the view copying the data from the populated BO to another without duplicates on the Parent PK, get an array of the PKs populated and Fill your form Parent BO with the array of PKs you've just created.&lt;/P&gt;&lt;P&gt;I have found this a great way to extend the use of the BrowseDialogs.</description><pubDate>Fri, 31 Oct 2008 09:02:11 GMT</pubDate><dc:creator>Ivan George Borges</dc:creator></item><item><title>RE: Best Practice to Use Views or Tables with SQL Databases and BOs</title><link>http://forum.strataframe.net/FindPost20478.aspx</link><description>Trent is right.&lt;/P&gt;&lt;P&gt;I came from the same VFP/VPME background and while it may work on the principle that virtually every database access is through a view, the same (thankfully) is not the same with SF and .NET.&lt;/P&gt;&lt;P&gt;When I initially looked at SF I was nervous of losing the xCase2VPM view generator but I have never looked back since. I now have a large VPME application converted to SF and there are only 6 views now when there were more then 700 in VPME. Data access is so much easier, more flexible and faster than with VPME. I really can't say how much better SF's data access is over VPME/xCase2VPM.&lt;/P&gt;&lt;P&gt;The best advice I can give you is to forget about VFP/VPME when&amp;nbsp;working with SF. Views are for special occasions - eventually you&amp;nbsp;will know if and when you need one.&lt;/P&gt;&lt;P&gt;If you want to talk more about this feel free to contact me.</description><pubDate>Fri, 31 Oct 2008 06:25:08 GMT</pubDate><dc:creator>Aaron Young</dc:creator></item><item><title>RE: Best Practice to Use Views or Tables with SQL Databases and BOs</title><link>http://forum.strataframe.net/FindPost20475.aspx</link><description>We have a long session in our training class that covers a lot of this.&amp;nbsp; But is short, you &lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;do not&lt;/U&gt;&lt;/EM&gt;&lt;/STRONG&gt; want your entire application to be view driven.&amp;nbsp; Views are slower and will have a drastic negative effect on your application if you were to have nothing but views.&amp;nbsp; Does this mean that you should never create a view? No.&amp;nbsp; Not at all.&amp;nbsp; There are times for views, for example reporting, or when you have the need to a more complex situation.&amp;nbsp; But you can never make views as fast as optimized SPROCS.&amp;nbsp; So the short answer here is, especially since you are just getting started here, to stay away from views unless an absolute specific need arises.&amp;nbsp; &lt;/P&gt;&lt;P&gt;Let me put it like this, in our medical application we have 250+ tables in one database, very large databases (millions of records in single tables) extremely complex real-time calculations, and through all of this, we never use a view.&amp;nbsp; We do have one or two views for RBS security, but past that, it is all tables, sprocs, and UDFs.</description><pubDate>Thu, 30 Oct 2008 21:36:49 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item></channel></rss>