|
anjelone2 wrote: They feel that when a list value changes, there is no way to capture what the old value was (for tracking sake).
Of course there is. Audit your lookup data and store the old value in a history table (along with the period it applies to).
anjelone2 wrote: That side also argues that it makes joins to the main table lengthy, especially if there are 6-10 lists to join to. That's 6-10 LEFT OUTERs on that query.
And that's just laziness. It's not a valid argument.
"WPF has many lovers. It's a veritable porn star!" - Josh Smith As Braveheart once said, "You can take our freedom but you'll never take our Hobnobs!" - Martin Hughes.
My blog | My articles | MoXAML PowerToys | Onyx
|
|
|
|
|
anjelone2 wrote: That's 6-10 LEFT OUTERs on that query
Hide them behind a view
I are Troll
|
|
|
|
|
anjelone2 wrote: That is what relational databases are made for and allows scalability without much thought. It is also just good programming practice.
Surely this alone is enough to win the argument?
The counterarguments are pretty much just rubbish, as the other posters have just pointed out:
anjelone2 wrote: it makes joins to the main table lengthy, especially if there are 6-10 lists to join to
This is particularly offensive, anyone arguing this doesn't understand the nature of relational databases properly or is just plain idle. There is good, solid maths behind database design, if you understand this and apply it correctly your system will be much more scalable and robust. The only real problem with relational Databases is how to translate the real-world information into the abstract relational world, but all IT systems (except those modelling abstract systems themselves) inherently suffer from this problem.
|
|
|
|
|
Pete O'Hanlon wrote: add a Deleted column
Right, never* delete data. Archive perhaps, but don't delete.
* At least don't make it the first thing you think of.
|
|
|
|
|
I am now working with an ERP application, but the database is getting bigger and bigger, my application have database with 300MB size after 6 months only!!! and the application is getting slower because huge amount of data, especially when user ask for a report or do some inquiries in screens, I am thinking about partial loading solution to load the data partially when user scroll the data, but I have problems with sorting and hanging when user scroll data, what is the best solution for my application,
The environment is
VB.NET 2008
3 tiers architecture
SQL SERVER 2008
Possibly using VPN connection (makes application give time out)
Any help is highly appreciated
|
|
|
|
|
There are many areas that you need to look at. Are your queries running against indexed values? Are you bulk loading too much data? Should you be lazy loading? What can you cache? To be honest, whoever designed this system should have thought about these issues right at the start - it's going to cost a lot more to fix the system now that it's live than it would have cost at the design stage. BTW - 300MB isn't very big, you need to sort this out now before you get to terabytes.
"WPF has many lovers. It's a veritable porn star!" - Josh Smith As Braveheart once said, "You can take our freedom but you'll never take our Hobnobs!" - Martin Hughes.
My blog | My articles | MoXAML PowerToys | Onyx
|
|
|
|
|
1.There is an object varying for two dimensionality which change commonly.we can decouple the two dimensionality ,so they can vary indepently and not mutually affect.For example ,when we want to draw a picture through pen.Pen may have different size like big pen or small pen.It also has different color like red or green.Apperently the pen as an object used to draw will vary through different matching of size and color.Now,we can utilize a "bridge" to connect the CSize class and CColor class.is it that?
1 abstract class Brush<br />
2 {<br />
3 protected Color c;<br />
4 public abstract void Paint();<br />
5 <br />
6 public void SetColor(Color c)<br />
7 { this.c = c; }<br />
8 }<br />
<br />
1 class BigBrush : Brush<br />
2 {<br />
3 public override void Paint()<br />
4 { Console.WriteLine("Using big brush and color {0} painting", c.color); }<br />
5 }<br />
1 class SmallBrush : Brush<br />
2 {<br />
3 public override void Paint()<br />
4 { Console.WriteLine("Using small brush and color {0} painting", c.color); }<br />
5 }<br />
1 class Color<br />
2 {<br />
3 public string color;<br />
4 }<br />
1 class Red : Color<br />
2 {<br />
3 public Red()<br />
4 { this.color = "red"; }<br />
5 }<br />
1 class Green : Color<br />
2 {<br />
3 public Green()<br />
4 { this.color = "green"; }<br />
5 }<br />
1 class Blue : Color<br />
2 {<br />
3 public Blue()<br />
4 { this.color = "blue"; }<br />
5 }<br />
1 class Program<br />
2 {<br />
3 public static void Main()<br />
4 {<br />
5 Brush b = new BigBrush();<br />
6 b.SetColor(new Red());<br />
7 b.Paint();<br />
8 b.SetColor(new Blue());<br />
9 b.Paint();<br />
10 b.SetColor(new Green());<br />
11 b.Paint();<br />
12 <br />
13 b = new SmallBrush();<br />
14 b.SetColor(new Red());<br />
15 b.Paint();<br />
16 b.SetColor(new Blue());<br />
17 b.Paint();<br />
18 b.SetColor(new Green());<br />
19 b.Paint();<br />
20 }<br />
<br />
2.Gof defines the bridge pattern as Decouple an abstraction from its implementation so that the two can vary independently.<br />
<br />
question:<br />
According to item 1 ,how to comprehend the definition of Bridge pattern by Gof ?Especially, what does the "abstraction" and "implementation " Gof stand for?
|
|
|
|
|
I have a question regarding class diagrams what is the relationship between following two classes
Class classA()
{
}
Class classB{
public MethodA(classA obj)
{
}
}
|
|
|
|
|
There is no relationship between these classes. The fact that classB::MethodA() takes a classA object as a parameter does not create a relationship between them. After all this method could take any object type as its input (or output) parameter.
It's time for a new signature.
|
|
|
|
|
Thank you for your answer
|
|
|
|
|
classB depends upon classA
[classB]-------->[classA]
|
|
|
|
|
Hi
I want to build a troubleshooting application for my existing software to ensure that it is correctly installed or not.for this I have around 9 test case to check to ensure that application is correctly installed. If any case fail it prompts user to correct it with the correction steps
Please tell me the design or architecture I have to follow for that application so that I can extend that in future.
Please tell me the arcitecture I follow like which base classes, interfaces etc to make for this application.
Thanks
|
|
|
|
|
I know you included the word "Design and Architecture" in your request but this is just another request for codz and as such has been downvoted and ignored.
However it is a slow Friday and I'm bored so...
When do you expect this process to run? Assuming on first startup
Your classes should reflect your test cases this can only be designed with the knowledge of the test.
The app should run the test processes before any other process
The tests should report and persist the results so subsequent starts do not repeat the tests
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Hi,
I'm working through the The Data Model Resource book volume 1, and I want to know how to draw data models in Visio 2010? I don't want tables, I want to be able to put entities on a form, and do relationships between them. Is this possible?
What are good data modeling tools?
Brendan
|
|
|
|
|
A decent UML tool should be able to do this for you. If you want a free one, then consider using StarUML[^] - if you want a more powerful one and can afford it, look at Enterprise Architect[^].
"WPF has many lovers. It's a veritable porn star!" - Josh Smith As Braveheart once said, "You can take our freedom but you'll never take our Hobnobs!" - Martin Hughes.
My blog | My articles | MoXAML PowerToys | Onyx
|
|
|
|
|
Hi!
erwin - because, its the best.
--------------------------------------------------
custom logo design
|
|
|
|
|
I am using around 8-9 webapplications which are having similar kind of behaviour but used for different purposes. I need to bring all those applications under one umbrella. So if I login to one application, I should have access to all other applications. I don't want any major code change and the look and feel of all the applications should be same.
The WeApplications are relating to .Net Framework 2.0 and migrating to 3.5. A couple of application related to 1.1 (Visual Studio 2003) also.
Anybody have any idea what's the best way to approach this? Any article towards this would be of great help.
Thanks
meeram395.
Success is the good fortune that comes from aspiration, desperation, perspiration and inspiration.
modified on Wednesday, June 2, 2010 7:55 AM
|
|
|
|
|
For people looking for guidance on how to make the move to the new platform and make the most of it. Patterns & practices is a series of projects that target application design and development on this Windows Azure. Key themes: Moving to the Cloud, Integrating with the Cloud, and Leveraging the Cloud.
Visit http://wag.codeplex.com/[^]
|
|
|
|
|
Help! I'm having trouble reverse engineering the following to OO principles since I'm new to OO.
We are rebuilding an old app which was built without any OO applied back in the day. It has a screen which lets us edit payment conditions. The form has a code, description and 2 more controls: an editbox (holds a number) and a combobox (payment condition). The combobox holds 3 values: "cash", "xx days after delivery", "xx months after develivery". In the editbox I can enter a numeric value between 1 and 99. If I select "cash" in the combobox, the editbox is disabled. if I select "xx days after delivery" the editcontrol hold 1..99 days. If I select "xx months after delivery" the value suddenly means 1..99 months.
How should my objectmodel look in OO? I'm not sure how to implement the edit/combobox-combination of requirements. The combobox is a fixed value, but the edit makes it variable.
Any help is appreciated.
Regards, Ted
- Life would be so much easier if I had the source code!
- If Java had true garbage collection, most applications would delete themselves upon execution
modified on Thursday, May 27, 2010 7:54 AM
|
|
|
|
|
Hi, Ted...
Not sure what is meant by OO in this context. Looks more like a UI design issue. I think I'd ditch the textbox/combobox combination and go with RadioButtons, NumericUpDown and Labels. Wish I could insert an image here, but, it would look like this:
> Three RadioButtons stacked in a column.
> The Text for the top radio button would be "Cash".
> The Text properties for the other two RadioButtons would be blank.
> The second RadioButton would be followed by a NumericUpDown control with a Minimum of 1 and Maximum of 99. To the right of this NumericUpDown control would be a Label that displays "days after delivery".
> The third RadioButton would be followed by another NumericUpDown control with a Minimum of 1 and a Maximum of 12. To the right of this NumericUpDown control would be a label that displays "months after delivery".
The user would select a radio button and, if needed, either enter or select the number of days/months. Based on which radio button is selected, the program will know how to react.
Hope that makes sense. A screen capture would be better. If you want one, I can email it to you.
George
|
|
|
|
|
Hello,
I'm developing n-tier warehouse control system.
I use SQL Server 2008 for database. All data access is done using stored procedures.
The core of the system is windows service, that does all the processing and is "gateway" to database.
There are clients (WinForms & WPF) that connect to this core service via WCF and are basically just GUI (no business logic, only input data validation) clients do not connect to database directly. Number of clients may vary from 1 to few dozen at most. Core service, SQL Server and all clients are on business intranet with fast Ethernet infrastructure (actually physically in the same building).
Now for the "unknown" part: for now I decided to go with typed dataset for business entities and data access with table adapters. Core service and each client has own instance of the dataset. Whenever client modifies data, changes are sent to core service, core service updates database, merges changes to own dataset instance and sends data changes via publish/subscribe WCF service event to all the clients. Clients then merge the changes to own dataset instance. That way I want to ensure that all participating parties (core service and all the clients) have the most current data. Specially one data table holding items that are currently being processed will be changed very often and it is at most important that clients have "real-time" data. This table will have 0 to a few hundred records at most. The largest table (for storage places) will have from a few thousand to a few 10k records.
At least that is the idea ... before I dwell into implementation I want to make sure I'm on the right track. So any tips or critics from users with experience with similar scenarios are highly welcome. My main concern is performance of data refresh on clients side.
If I should provide any more detail that might be of importance, please let me know.
Thanks in advance, Tine
modified 19-Nov-18 21:01pm.
|
|
|
|
|
Your initial design sounds good. It is unusual to use a windows service rather than web service. I assume there is absolutely no possibility of the client being web form based or silverlight.
I question the need for the clients to have the most current data pushed from the server. This is generally a wish from the business that has no real requirement when the cost is factored in.
How do you intend to inform a client that there has been a change?
Is the system a high speed data entry app where concurrency is going to be an issue?
How are you going to manage race conditions across multiple client?
I question the use of typed data sets as the standards are moving to objects, if you use datasets then your client will need to have the that knowledge (I believe it is not possible with SL - no system.data).
I have never used "merged" datasets, I always query back to the database - opinion only.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
You are right ... there is no possibility of client being web or silverlight.
I don't understand, what you mean by cost ... you mean cost of time needed for implementation?
As I mentioned there is only one table (0 - few hundred records) that is critical for real-time data. This table holds items being currently processed and changes rather often and must be refreshed as soon the change happens, because operator actions depend on current data.
I intend to inform the clients via dedicated publish/subscribe WCF service. The core service would publish events and clients would subscribe to events. So e.g. when data is changed due to processing, core service would raise an event and event args would hold dataset instance with data changes, the clients would then merge received changes to own dataset instance. Here lies my main concern - is dataset too big data structure to be efficient enough - I'm also considering custom "light-weight" business entities, but it is easier for me to use dataset infrastructure.
I actually didn't give a lot of thought to concurrency - all data tables have time-stamp column and I suppose core service would grant or deny data update based on that value.
I also haven't use dataset merging ... I have done some reading about it and it seems the main problem lies in auto-incremented columns - there is great possibility for duplicate or missing data if used improperly.
Anyway, thanks for your time, it's been helpful, specially for pointing out some issues that I didn't yet think of and might arise.
Tine
modified 19-Nov-18 21:01pm.
|
|
|
|
|
I'm working on a project that stores addresses, and ultimately groups them by Locality/Territories. But along with this there are different stages where an address is first keyed and is "up-for-review". Once approved it would be assigned a Locale/Territory. Along with this a further queue or holding would store Exceptions (addresses that need to marked as "Invalid").
I'm hoping to get some suggestions on how structure the tables.
Currently I have the queue's separated by tables. But as I'm moving along in development this is becoming tedious. For the most part 80-90% of the field names are shared between the different tables (Queues). My thought was to avoid any possible anomalies by separating the queues into different tables.
Questions:
-Would you suggest using one table to store all addresses and a foreign key to determine stage or queue?
-Is this a common way of storing data that is used in Queue processing?
Thanks for your help!!
|
|
|
|
|
I would not duplicate data. And I would avoid the need to move data from one table to another one, so yes I would be inclined to have only one table, and one or more status fields. I also would make sure to have a simple test for "record is valid", best a single "OK" value in a single overall status field, which means the extra status fields only are relevant when the overall isn't "OK". (Of course I prefer numeric statuses!)
FWIW: I avoid multiple tables with the same set of fields; it is only huge amounts of data that would make me come back on this.
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles]
I only read formatted code with indentation, so please use PRE tags for code snippets.
I'm not participating in frackin' Q&A, so if you want my opinion, ask away in a real forum (or on my profile page).
|
|
|
|