|
Klaus-Werner Konrad wrote: This is not a calculation - it's a conversion, and every conversion can be reverted !
A conversion is a specific type of calculation. A multiplication with a constant is another example; not a conversion, but still reversible.
Klaus-Werner Konrad wrote: So you repeat my statement (see underlined portions of my original post) ...
No, I did not repeat you, but you're correct to state that in such a case it would be defend able to denormalize.
Klaus-Werner Konrad wrote: As said before: NF2
I was looking for argumentation. As said before, it doesn't. All non-atomic facts have been removed before it can be called 1NF. The 2NF rule states that the fact that's described (possibly the result of a calculation) should be identifyable with the same key that you use to identify the tupel.
Take a "Departments" table - it may very well have a fact that states how many employees it currently harbors. The 2NF rule states that the "count" fact belong to the object that we use to identify a single tupel in departments-table. It's the key that gives the fact a context.
The fact "32" as a "count" would lose context (and no longer be information) if we cannot link it to a specific department. It's not relevant for the conceptual model how that number gets there - it may be a small operation, it may be a long operation. When describing the domain-model, we do include the information that it's information that can be deduced from other data - saves the person who has to implement the physical layer a bit time.
I are Troll
|
|
|
|
|
The relational model was developed to deal with issue of data inconsistency and data redundancy.
Calculated columns are redundant and also they can cause data inconsistency problems; if the values used in the calculation are changed, the calculate column will be inconsistent/incorrect.
|
|
|
|
|
If the original values change then, there will be data inconsistency (i.e. the calculated columns will not be correct).
|
|
|
|
|
SilimSayo wrote: If the original values change then, there will be data inconsistency (i.e. the calculated columns will not be correct).
Incorrect isn't the same as inconsistent, and up-to-date is not the same as incorrect.
I are Troll
|
|
|
|
|
|
SilimSayo wrote: Semantics!!!!
The exact definition is important, and not just a semantical detail. And no, I do not appreciate hit&run comments, as it's a lousy way of communicating.
I are Troll
|
|
|
|
|
Suppose I have a calculated field for age computed from dob and the current date. If this field is not updated and you query someone's age, it will return incorrect results. For example, if the query returns someone's [current] age as 64 when it should have been 65, the result would be incorrect.
|
|
|
|
|
What database are you using? If you are using SQL Server, you can create computed columns. I believe other databases have similar features too. Better yet, create a View with the calculated column.
|
|
|
|
|
You are right, a view (evtl. companyied (is this right ?) with functions) is the right way on the DB side, but that was not the original question - that was about creating additional coloums in the BASE table that hold the calculated results
|
|
|
|
|
HI.
I am currently working on a database application.
I use Sql express studio to model the database and then use LINQ in c# to access it.
Whereas everything is great , the thing is that the database is on the same laptop where there is the application to access it.
Let say this laptop name is "A".
i use the connection string connString = @"server = .\sqlexpress;integrated security = true;database = Whatever";
(YES i am using Winodws authenciation)
But if i want to access database on a different Laptop from the application running on "A", what will be the connection string??
I will connect the Both Laptops through their own WIFI.
|
|
|
|
|
When connecting to remote database you replace the server name. Currently you use dot to tell that the server is local. In case of remote server you would have a connection string like:
server=servername\instancename;integrated security...
Have a look at this site: http://www.connectionstrings.com/sql-server-2005[^]
|
|
|
|
|
I guess i have to use one of the connection string mentioned:-
someting like.
Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;
I want to know . how to know ip of one computer??
what is network library??
and i am using sql express studio 2008 r2 on both computers.
So where is the keyword /sqlexpress is to be used?
|
|
|
|
|
You don't have to know the IP address, you can use names instead.
\SQLEXPRESS isn't a keyword, it's the name of the SQL Server instance. For example if I have a server called Machine1 and I have two different instances of SQL Server in that server; Production and Test. Now if I want to connect to the Test-instance of SQL Server, I'd use a connection string like:
Data Source=Machine1\Test;...
Perhaps the easiest way to see locally the name of the instance is to open Control Panel and look at services. The instance name is in parenthesis on the service name.
|
|
|
|
|
oh ok..i am getting it..
so my final connection string will look something like this ?
server=computername\instancename ; integrated security = false ; database = "whatever" ; user id = sa ; Password=pass;
|
|
|
|
|
Exactly
|
|
|
|
|
I am trying to do it from a different laptop , which is on the same network...
But it gives error when i try to connect through sql express studio.......
error 26
A network or instance-specific error occured while esablishing a connection to sql server..it might be not found or accesible................is there any other setting i am missing???
and how to make sure that both computers are properly connected over the network?
|
|
|
|
|
|
|
You're welcome Glad it got solved.
|
|
|
|
|
I had asked this question elsewhere and was advised to ask here instead.
I am wondering if anyone knows how internet connection latency and download speed affect query execution time in SQL Server Management Studio. Is that product similar to using a Data Reader instead of a Data Adapter? Is there a flag I can set to make it more like a Data Adapter? I am trying to get better performance on a remote office, especially since Disaster Recovery can be better handled from the headquarters.
I ran a test in SQL Server Management against the same database across the country. One internet connection had 4x the download speed according to speedtest.net, but a larger latency in ms. The difference is that one connection was a slow ethernet connection and the other a faster wireless connection. Same locations, multiple tests with similar results.
Somewhat surprisingly, the connection with the faster download speed took 50% longer to return a recordset in the 5-20 MB range. Is this because querying in SQL Server Management Studio is similar to executing a query with a Data Reader instead of a DataAdapter? If not, what is the issue?
|
|
|
|
|
Hi,
Don't know if SSMS is more like a data reader than a data adapter and I would guess that it depends on how are you using it. For example if you create a query and run it in a query window you'll get results you cannot modify much like with data reader. On the other hand if you open a table for editing then you can modify the results so the functionality is closer to a data adapter.
Concerning the network latency issue, there's one parameter you can define before you connect, that's affecting the speed quite a lot. If you click the options in the connect dialog, you'll find the network packet size which can be modified. If you have a latency issue, I'd guess that you could increase the packet size even to 16'383 bytes which is the maximum (instead of the default 4'096). If you like you can change this default packet size in the instance settings.
|
|
|
|
|
Thanks! I got a 2x to 6x speedup after raising the packet size to 32767. Now the query execution and transportation time is faster with the faster internet connection with slightly higher latency.
|
|
|
|
|
You're welcome, glad it got solved
|
|
|
|
|
Hi,
I have to create one subscription via Vb.net for one simple report .
Once i try to deploy this subsciprion the system returns this message:
"rsInvalidParameter400Value of the parameter 'Parameters' is not valid.http://go.microsoft.com/fwlink/?LinkId=20476&EvtSrc=Microsoft.ReportingServices.Diagnostics.Utilities.ErrorStrings&EvtID=rsInvalidParameter&ProdName=Microsoft%20SQL%20Server%20Reporting%20Services&ProdVer=10.0.2531.0Microsoft SQL Server Reporting Services10.0.2531.0127OsIndependent1040ReportingServicesLibraryValues of parameter 'Parameters' is not valid."
Here is the code i wrote for my report.
Dim RS As New ReportingService2005
RS.Credentials = System.Net.CredentialCache.DefaultCredentials
RS.Url = "HTTP://VIROSQL08/REPORTSERVER/REPORTSERVICE2005.ASMX"
Dim report As String = "/MYREPORTS/TEST_REPORT"
Dim desc As String = "TEST SCHEDULE"
Dim eventType As String = "TimedSubscription"
Dim StartDateSchedule As String = Today.ToString("yyyy-MM-dd")
Dim StartClockSchedule As String = "09:27"
Dim scheduleXml As String = String.Format("<ScheduleDefinition><StartDateTime>{0}T{1}:00</StartDateTime></ScheduleDefinition>", StartDateSchedule, StartClockSchedule)
Dim extensionParams(7) As ParameterValue
extensionParams(0) = New ParameterValue()
extensionParams(0).Name = "TO"
extensionParams(0).Value = "CED@MYCOMPANY.COM"
extensionParams(1) = New ParameterValue()
extensionParams(1).Name = "ReplyTo"
extensionParams(1).Value = "reporting@adventure-works.com"
extensionParams(2) = New ParameterValue()
extensionParams(2).Name = "IncludeReport"
extensionParams(2).Value = "True"
extensionParams(3) = New ParameterValue()
extensionParams(3).Name = "RenderFormat"
extensionParams(3).Value = "EXCEL"
extensionParams(4) = New ParameterValue()
extensionParams(4).Name = "Subject"
extensionParams(4).Value = "@ReportName was executed at @ExecutionTime"
extensionParams(5) = New ParameterValue()
extensionParams(5).Name = "Comment"
extensionParams(5).Value = "TEST SCHEDULE"
extensionParams(6) = New ParameterValue()
extensionParams(6).Name = "IncludeLink"
extensionParams(6).Value = "False"
extensionParams(7) = New ParameterValue()
extensionParams(7).Name = "Priority"
extensionParams(7).Value = "NORMAL"
Dim parameter As New ParameterValue()
parameter.Name = "PARAM1"
parameter.Value = "1"
parameter.Label = "PARAM1"
Dim parameters(1) As ParameterValue
parameters(0) = parameter
Dim matchData As String = scheduleXml
Dim extSettings As New ExtensionSettings()
extSettings.ParameterValues = extensionParams
extSettings.Extension = "Report Server Email"
Try
RS.CreateSubscription(report, extSettings, desc, eventType, matchData, parameters)
Catch e As SoapException
Console.WriteLine(e.Detail.InnerXml.ToString())
End Try
If i drop the parameter from my report and then set the Parameters with the value Nothing the deployment works fine!!!
What's wrong?
Thank you
|
|
|
|
|
Harmless joke or a mean prank
|
|
|
|