Thursday, March 29, 2012
Database image not displaying
In my report I want to dispaly a different image based on the parameter user
enters. For ex., the user enters a company name , then the image for that
company should be displayed.
Now in my database, the images are not stored using the complete path or a
complete URL, but are stored as Logo1.gif , Logo2.gif etc in the field IMAGE.
I have a virtual directory which contains these images.
Now when i create a databse image, an pull from the field IMAGE, the image
is not displayed. how to solve this problem? Is it necessary to install SP1
for this purpose too?
--
pmudYou are actually not using "Database" images here. You are using "External"
images from some webserver. It is just that the image path is dynamically
constructed from a dataset field, right?
In this case, you will need SP1 (or SP2) installed. You would need to set
the image type to "External" and the image value expression to something
like
="http://myserver/vroot/" & Fields!RelativeImagePath.Value
-- Robert
This posting is provided "AS IS" with no warranties, and confers no rights.
"pmud" <pmud@.discussions.microsoft.com> wrote in message
news:6B54439E-15CE-4769-A88A-5A58CCD287E4@.microsoft.com...
> Hi,
> In my report I want to dispaly a different image based on the parameter
> user
> enters. For ex., the user enters a company name , then the image for that
> company should be displayed.
> Now in my database, the images are not stored using the complete path or a
> complete URL, but are stored as Logo1.gif , Logo2.gif etc in the field
> IMAGE.
> I have a virtual directory which contains these images.
> Now when i create a databse image, an pull from the field IMAGE, the
> image
> is not displayed. how to solve this problem? Is it necessary to install
> SP1
> for this purpose too?
> --
> pmud|||HI Robert,
I understand now. I will install SP1 & try to do the external images.
Thanks..
--
pmud
"Robert Bruckner [MSFT]" wrote:
> You are actually not using "Database" images here. You are using "External"
> images from some webserver. It is just that the image path is dynamically
> constructed from a dataset field, right?
> In this case, you will need SP1 (or SP2) installed. You would need to set
> the image type to "External" and the image value expression to something
> like
> ="http://myserver/vroot/" & Fields!RelativeImagePath.Value
>
> -- Robert
> This posting is provided "AS IS" with no warranties, and confers no rights.
>
> "pmud" <pmud@.discussions.microsoft.com> wrote in message
> news:6B54439E-15CE-4769-A88A-5A58CCD287E4@.microsoft.com...
> > Hi,
> >
> > In my report I want to dispaly a different image based on the parameter
> > user
> > enters. For ex., the user enters a company name , then the image for that
> > company should be displayed.
> >
> > Now in my database, the images are not stored using the complete path or a
> > complete URL, but are stored as Logo1.gif , Logo2.gif etc in the field
> > IMAGE.
> > I have a virtual directory which contains these images.
> >
> > Now when i create a databse image, an pull from the field IMAGE, the
> > image
> > is not displayed. how to solve this problem? Is it necessary to install
> > SP1
> > for this purpose too?
> > --
> > pmud
>
>|||Hi Robert,
I installed SP1 and put the image as an external image. All my images are
stored in C:/Inetpub/wwwroot/IMAGES . this folder has 2 subfolders which have
different images. What value should I use for generating the dynamic image
URL? My server name is WEBSERVER and the image field is =Fields!LOGO.Value.
Thanks
--
pmud
"pmud" wrote:
> HI Robert,
> I understand now. I will install SP1 & try to do the external images.
> Thanks..
> --
> pmud
>
> "Robert Bruckner [MSFT]" wrote:
> > You are actually not using "Database" images here. You are using "External"
> > images from some webserver. It is just that the image path is dynamically
> > constructed from a dataset field, right?
> >
> > In this case, you will need SP1 (or SP2) installed. You would need to set
> > the image type to "External" and the image value expression to something
> > like
> > ="http://myserver/vroot/" & Fields!RelativeImagePath.Value
> >
> >
> > -- Robert
> > This posting is provided "AS IS" with no warranties, and confers no rights.
> >
> >
> > "pmud" <pmud@.discussions.microsoft.com> wrote in message
> > news:6B54439E-15CE-4769-A88A-5A58CCD287E4@.microsoft.com...
> > > Hi,
> > >
> > > In my report I want to dispaly a different image based on the parameter
> > > user
> > > enters. For ex., the user enters a company name , then the image for that
> > > company should be displayed.
> > >
> > > Now in my database, the images are not stored using the complete path or a
> > > complete URL, but are stored as Logo1.gif , Logo2.gif etc in the field
> > > IMAGE.
> > > I have a virtual directory which contains these images.
> > >
> > > Now when i create a databse image, an pull from the field IMAGE, the
> > > image
> > > is not displayed. how to solve this problem? Is it necessary to install
> > > SP1
> > > for this purpose too?
> > > --
> > > pmud
> >
> >
> >|||Assuming you have a virtual root defined in IIS called "Images", the URL
should be similar to this:
http://WebServer/Images/Subfolder/ImageName.gif
Make sure you can access the images through IE, and then just build the same
URL using an expression for the image reportitem value. For instance
="http://WebServer/Images/Subfolder/" & Fields!LOGO.Value
--
This posting is provided "AS IS" with no warranties, and confers no rights.
"pmud" <pmud@.discussions.microsoft.com> wrote in message
news:CA2277F0-DCEF-479D-BA70-6B9527B50B21@.microsoft.com...
> Hi Robert,
> I installed SP1 and put the image as an external image. All my images are
> stored in C:/Inetpub/wwwroot/IMAGES . this folder has 2 subfolders which
> have
> different images. What value should I use for generating the dynamic image
> URL? My server name is WEBSERVER and the image field is
> =Fields!LOGO.Value.
> Thanks
> --
> pmud
>
> "pmud" wrote:
>> HI Robert,
>> I understand now. I will install SP1 & try to do the external images.
>> Thanks..
>> --
>> pmud
>>
>> "Robert Bruckner [MSFT]" wrote:
>> > You are actually not using "Database" images here. You are using
>> > "External"
>> > images from some webserver. It is just that the image path is
>> > dynamically
>> > constructed from a dataset field, right?
>> >
>> > In this case, you will need SP1 (or SP2) installed. You would need to
>> > set
>> > the image type to "External" and the image value expression to
>> > something
>> > like
>> > ="http://myserver/vroot/" & Fields!RelativeImagePath.Value
>> >
>> >
>> > -- Robert
>> > This posting is provided "AS IS" with no warranties, and confers no
>> > rights.
>> >
>> >
>> > "pmud" <pmud@.discussions.microsoft.com> wrote in message
>> > news:6B54439E-15CE-4769-A88A-5A58CCD287E4@.microsoft.com...
>> > > Hi,
>> > >
>> > > In my report I want to dispaly a different image based on the
>> > > parameter
>> > > user
>> > > enters. For ex., the user enters a company name , then the image for
>> > > that
>> > > company should be displayed.
>> > >
>> > > Now in my database, the images are not stored using the complete path
>> > > or a
>> > > complete URL, but are stored as Logo1.gif , Logo2.gif etc in the
>> > > field
>> > > IMAGE.
>> > > I have a virtual directory which contains these images.
>> > >
>> > > Now when i create a databse image, an pull from the field IMAGE, the
>> > > image
>> > > is not displayed. how to solve this problem? Is it necessary to
>> > > install
>> > > SP1
>> > > for this purpose too?
>> > > --
>> > > pmud
>> >
>> >
>> >
Wednesday, March 7, 2012
Database Design Questions
I have put the Company Name and Position (title) in the address table so that when doing a mailing the company name and title are associated with the company address being mailed too. But again, I'm not sure how they would choose a salutation if they have many choices.
Looking for any of your thoughts or suggestions.
Thank you,I'm not following you 100%, but I'll take a stab at something that might accomodate your needs:
COMPANY
id_company
company_name
COMPANY_ADDRESS
id_company_address
id_company
address_company_name
address1
address2
city
state
zip
COMPANY_SALUTATION
id_company_salutation
id_company
salutation
COMPANY_MAILING
id_company_mailing
id_company
id_company_address
id_company_salutation
When they are about to do a mailing, the COMPANY_MAILING table should be populated as desired for each company involved in the mailing.
Terri
Saturday, February 25, 2012
Database Design Question
t
since our company is too cheap to hire anyone more experienced, I was hoping
someone here could help me out.
Our company assembles computers and we want to develop an order processing
system, so here is the set up.
Each order can have many computers.
Each computer is made up of many components (CPU, Motherboard, RAM, etc.)
Each component has many properties (Brand Name, Speed, Capacity, etc.)
So I want to know the best way of setting up my tables.
Just looking at the computer table, the first way I considered was for each
computer would take up one row and all its components would take up the
columns. For Example:
SerialNumber - CPU - Motherboard - Memory - Harddrive - CDRW - etc.,
111111 - P4 - ASUS - 512 - WD80 - LG CDRW - etc.,
222222 - Athlon 64 - Gigabyte - 1GB - Maxtor 80GB - BenQ DVD RW - etc.,
You can see the problem. I have no idea how many columns I'll need because a
computer can have only a few components or dozens including multiple drives,
graphics cards, memory sticks, and so on.
The second way I considered was instead of having everything on a horizontal
line, to make it vertical. So my columns would be SerialNumber,
ComponentType, ComponentName. And that would look like this.
SerialNumber - ComponentType - ComponentName
111111 - CPU - P4
111111 - MotherBoard - ASUS
111111 - Memory - Kingston 512MB
... etc...
222222 - CPU - Athlon 64
222222 - MotherBoard - Gigabyte
222222 - Memory - Corsair 1GB
... etc...
That's certainly much more flexible in terms of adding components to a
computer, but I'm worried about how big the table might get. For example, if
we get orders for 500,000 computers, each with 10 - 15 components, that's
over 5 million rows. I've never dealt with large databases and tables before
so is that something I should worry about or can SQL Server handle that
easily?
Or is there a different design I should consider? Any direction or links
would be appreciated.
Thanks.> Our company assembles computers and we want to develop an order processing
> system
Why? You can buy one off the shelf for much less than it will cost to
develop, especially given your inexperience.
For your info SQL Server is capable of handling tables with 100s of millions
of rows. On the other hand a poor design can fail whatever the data size.
Your second design makes far more sense but it's obvious you have a lot to
learn. I recommend you give up on developing the order processing system and
invest the time on a course instead.
David Portas
SQL Server MVP
--|||It is not clear from your question how you plan to use the information. Do
you want to track inventory? Lot/Serial information? Cost? Labor? What
documents do you need to produce? Inventory Picking sheets? Routings? Bills
of lading? Purchase Orders? Invoices?
It would probably be better to pick something off the shelf and customize it
than to roll your own.
"pete K" <peteK@.discussions.microsoft.com> wrote in message
news:9A529093-75C9-4E66-BD5B-9A0EFCCDF70E@.microsoft.com...
> I'm fairly inexperienced when it comes to database design and programming
but
> since our company is too cheap to hire anyone more experienced, I was
hoping
> someone here could help me out.
> Our company assembles computers and we want to develop an order processing
> system, so here is the set up.
> Each order can have many computers.
> Each computer is made up of many components (CPU, Motherboard, RAM, etc.)
> Each component has many properties (Brand Name, Speed, Capacity, etc.)
> So I want to know the best way of setting up my tables.
> Just looking at the computer table, the first way I considered was for
each
> computer would take up one row and all its components would take up the
> columns. For Example:
> SerialNumber - CPU - Motherboard - Memory - Harddrive - CDRW - etc.,
> 111111 - P4 - ASUS - 512 - WD80 - LG CDRW - etc.,
> 222222 - Athlon 64 - Gigabyte - 1GB - Maxtor 80GB - BenQ DVD RW - etc.,
> You can see the problem. I have no idea how many columns I'll need because
a
> computer can have only a few components or dozens including multiple
drives,
> graphics cards, memory sticks, and so on.
> The second way I considered was instead of having everything on a
horizontal
> line, to make it vertical. So my columns would be SerialNumber,
> ComponentType, ComponentName. And that would look like this.
> SerialNumber - ComponentType - ComponentName
> 111111 - CPU - P4
> 111111 - MotherBoard - ASUS
> 111111 - Memory - Kingston 512MB
> ... etc...
> 222222 - CPU - Athlon 64
> 222222 - MotherBoard - Gigabyte
> 222222 - Memory - Corsair 1GB
> ... etc...
> That's certainly much more flexible in terms of adding components to a
> computer, but I'm worried about how big the table might get. For example,
if
> we get orders for 500,000 computers, each with 10 - 15 components, that's
> over 5 million rows. I've never dealt with large databases and tables
before
> so is that something I should worry about or can SQL Server handle that
> easily?
> Or is there a different design I should consider? Any direction or links
> would be appreciated.
> Thanks.|||Personally, I agree with you and those were the same concerns I expressed to
the president of my company. But he's the type of person who, once he gets a
n
idea in his head, he can't be shaken of it, and this is one of them. So what
can I do but humour him? It's his company and if he wants to waste the time
and money on a project that is likely beyond my skill set despite my
protestations to the obviously, well, all I can do is go along with it and d
o
my best. But hey, that's life I guess.
"David Portas" wrote:
> Why? You can buy one off the shelf for much less than it will cost to
> develop, especially given your inexperience.
> For your info SQL Server is capable of handling tables with 100s of millio
ns
> of rows. On the other hand a poor design can fail whatever the data size.
> Your second design makes far more sense but it's obvious you have a lot to
> learn. I recommend you give up on developing the order processing system a
nd
> invest the time on a course instead.
> --
> David Portas
> SQL Server MVP
> --
>
>|||You should start with Database Design for Mere Mortals by Michael J.
Hernandez. Even with that start, you'll still screw things up and have
plenty of questions here, but it's a pretty good baseline to understanding
where you are headed.
I'm going to set the over/under line on this project at about 1 1/2 years or
$80,000, whichever comes first.
"pete K" <peteK@.discussions.microsoft.com> wrote in message
news:9A529093-75C9-4E66-BD5B-9A0EFCCDF70E@.microsoft.com...
> I'm fairly inexperienced when it comes to database design and programming
> but
> since our company is too cheap to hire anyone more experienced, I was
> hoping
> someone here could help me out.
> Our company assembles computers and we want to develop an order processing
> system, so here is the set up.
> Each order can have many computers.
> Each computer is made up of many components (CPU, Motherboard, RAM, etc.)
> Each component has many properties (Brand Name, Speed, Capacity, etc.)
> So I want to know the best way of setting up my tables.
> Just looking at the computer table, the first way I considered was for
> each
> computer would take up one row and all its components would take up the
> columns. For Example:
> SerialNumber - CPU - Motherboard - Memory - Harddrive - CDRW - etc.,
> 111111 - P4 - ASUS - 512 - WD80 - LG CDRW - etc.,
> 222222 - Athlon 64 - Gigabyte - 1GB - Maxtor 80GB - BenQ DVD RW - etc.,
> You can see the problem. I have no idea how many columns I'll need because
> a
> computer can have only a few components or dozens including multiple
> drives,
> graphics cards, memory sticks, and so on.
> The second way I considered was instead of having everything on a
> horizontal
> line, to make it vertical. So my columns would be SerialNumber,
> ComponentType, ComponentName. And that would look like this.
> SerialNumber - ComponentType - ComponentName
> 111111 - CPU - P4
> 111111 - MotherBoard - ASUS
> 111111 - Memory - Kingston 512MB
> ... etc...
> 222222 - CPU - Athlon 64
> 222222 - MotherBoard - Gigabyte
> 222222 - Memory - Corsair 1GB
> ... etc...
> That's certainly much more flexible in terms of adding components to a
> computer, but I'm worried about how big the table might get. For example,
> if
> we get orders for 500,000 computers, each with 10 - 15 components, that's
> over 5 million rows. I've never dealt with large databases and tables
> before
> so is that something I should worry about or can SQL Server handle that
> easily?
> Or is there a different design I should consider? Any direction or links
> would be appreciated.
> Thanks.
Database design question
billing information for each of its customers and ships it to them
each month along with an application to view the data and create
reports. These databases contains 99% read only data and most of them
are less than 100Mb. They are looking at providing a web based app
which provides the same functionality however, they do not want to
modify the back end system which creates these individual databases.
I personally am advocating a single large db which would require
modification of the present system but, I am looking for feedback on
either side. Does anyone know of any documentation which compares
these types of designs? Does anyone have experience with a system
which has many databases which are dynamically attached and detached
(we don't anticipate more than 100 databases attached at one time)?
What type of performance was achieved? What maintenance issues did
you encounter?
TIA,
RossPeople can argue about this forever... However there are a couple of issues
you may wish to consider...
1. When you have a large number of databases, the SQL Tools get less
usefull. It seems to take a Lonnnng time opening up Enterprise Manager (for
instance.)
2. If you put things into a single database, you can no longer simply detach
and copy (because the database would contain information for other users .)
However, if you had a web app, you wouldn't have to do the detach at all
(unless your customers are going to require it..?)
Unless there are backup/restore issues or the detach/attach issue , I would
prefer having a single database - Less maintenance, easier use of tools, no
problem with applications - all good.
But reasonable people will differ -
Wayne Snyder MCDBA, SQL Server MVP
Computer Education Services Corporation (CESC), Charlotte, NC
(Please respond only to the newsgroups.)
I support the Professional Association for SQL Server
(www.sqlpass.org)
"Ross Bonner" <rosspb3@.yahoo.com> wrote in message
news:47257b97.0403090954.82e83e3@.posting.google.com...
> My company presently creates a sql server database containing detailed
> billing information for each of its customers and ships it to them
> each month along with an application to view the data and create
> reports. These databases contains 99% read only data and most of them
> are less than 100Mb. They are looking at providing a web based app
> which provides the same functionality however, they do not want to
> modify the back end system which creates these individual databases.
> I personally am advocating a single large db which would require
> modification of the present system but, I am looking for feedback on
> either side. Does anyone know of any documentation which compares
> these types of designs? Does anyone have experience with a system
> which has many databases which are dynamically attached and detached
> (we don't anticipate more than 100 databases attached at one time)?
> What type of performance was achieved? What maintenance issues did
> you encounter?
> TIA,
> Ross|||The number of databases used will be large, we presently produce one db
per customer per month, we still haven't decided how many months worth
of data to retain, but it will probably be at least 3 months. The web
app would have to dynamically attach and detach these databases as
needed since leaving all attached would exceed the 32768 database limit.
*** Sent via Developersdex http://www.examnotes.net ***
Don't just participate in USENET...get rewarded for it!
Friday, February 24, 2012
Database design in SQL Server 2005
Hi
I am facing a problem in designing a database for my project.Please help
I have hotel Information.The hotel allocates rooms for my company.This is done on weekly basis.
Now suppose in first week of a year the number of rooms allocated to the company is 3,2ndweek =5,3rdWeek=5 and so on...
So when i search based on a week i should have one result set
If i search based on MOnth i should have one result set.. in this way.
So what fields i need to take in a database table so that when i search based on week /month/quarter/year i get different resultsets.
Create a table called Room with all room details and a roomId, booked date etc. Create a Search stored procedure which take searchType as an input parameter. Search type can be Weekly or Monthly. SP would be like:
if @.searchType = "Weekly"
//get the start date, calculate end date of the week (which simply could be startDate +7 ) and select the rooms booked within this date
if @.searchType = "Monthly"
//get the start date and calcuate the end date of the month and select rooms booked in this date range
So basically you need just a start date, and depending on the comparison type, you calculate the end date and search within this date range
Hope this helps,
Vivek
|||
Hotels(Pid | Hotel_Name | Address)
Rooms_Type(like master, single, deluxe etc)
Pid | Description
Hotel_Rooms (Pid | Hotel_ID | Room_ID )
Room_Allocations (Pid | Date | BookedYN | Booking_No | Hotel_Rooms_ID | Qty_Allotted )
above is the list of tables i think should be helpful to you. Room_Allocations is key table here that can help you out. Note : say you've Hotel Crown Plaza, for which the quantity allotted to you for Master Room is 5, in that case you will insert 5 records in Room_Allocation table. now when you book a room you'll insert booking_reference against a room where BookedYN is 'N'.
hope it makes sense.
regards,
satish
|||
Thanks Vivek !!!
Your idea has helped me.
Hey Satish
Thanks for sharing your ideas...
|||
no worries.
cheers,
satish.
|||HI
Thanks for your help .I have a doubt.
Plz help
i have a tble structure like this:
Id St_dt end_dt hot_id no_of_room
1 Jan1 Jan30 1 5
Now i want to enter another data like
2 Jan15 Jan20 1 7
what i want is my actual table should have 3 rows of data like
Id St_dt end_dt hot_id no_of_room
1 Jan1 Jan15 1 5
2 Jan15 Jan20 1 7
3 Jan20 Jan30 1 5
How do i do this. Or is there any other way of avoiding data overlapping
Database Design for Catalog Management
Hi,
I need advice on my design.
I'm developing a system that track the catalog distribution.
I have a 5 table.
Company Table - Store list of company. Each company can have many staff.
Staff Table - Store list of staff.
Catalogs Table - Store list of catalog. Each catalog can have many revision.
PKEY id
name
latest
CatalogsRev Table - Store list of catalog revision.
PKEY catalogID -> Catalogs.id
PKEY year
Staff_Catalog Table - Each staff can have many catalog revision.
PKEY staffID -> Staff.id
PKEY catalogID -> CatalogsRev.catalogID
PKEY year -> CatalogsRev.year
Is the above table good enough to track which company do not have latest catalog revision?
For the Catalogs Table should I use a trigger to update the Catalogs.latest column everytime a new CatalogsRev is entered?
I've read some article on the web says trigger is slow, but in my situation is it suitable to use trigger?
Thanks,
Max
Hiif u feel u r database satisifes 3rd normal form abs u r database is ok.SO u have to decide u r tables are going to satisify the normalization or not. Ok
U can write a trigger to modify the catalog information. Here u r modifying a column value i think it will not affect on performanace. I think so.
Thank u
Baba
Sunday, February 19, 2012
Database Design - 3000+ users
not ask why not .net, our company policy is to use VB6), which will
have over 3000 users to access the database (50GB data) and perform
heavy add/update on one table. Without the privilege to have a
better/faster server, we have to design database tables in a way to
increase the performance (on updates).
My boss wants to partition the data into different databases based on
defferent users groups (for examples, use users' department). Since
the data now on different databases, the updates for different user
groups would be faster. My concern is that these different databases
will hard to maintain. For example, a same query/stored procedure will
either reside on different
databases or coded with logic to go to different databases before
executing a update. It may better to have one database with multiple
(same structure) tables to store data for different user groups, then
use a (partitioned) view to link all tables (with check constraint
based on user's department number). When update, it would go to
different tables (hence reduce the traffic to tables and increase the
performance).
Thank you in advance for your suggestions.
Yang ZhongWhat makes you think since you have several db's the updates will be faster?
All the databases share the same resources and it doesn't sound like they
will be updating the same row anyway.
--
Andrew J. Kelly SQL MVP
"yang zhong" <Yang_Zhong@.bcbstx.com> wrote in message
news:44d12b2d.0408171318.74348665@.posting.google.com...
> We are in the process to develop a new VB6/SQL 2000 application (do
> not ask why not .net, our company policy is to use VB6), which will
> have over 3000 users to access the database (50GB data) and perform
> heavy add/update on one table. Without the privilege to have a
> better/faster server, we have to design database tables in a way to
> increase the performance (on updates).
> My boss wants to partition the data into different databases based on
> defferent users groups (for examples, use users' department). Since
> the data now on different databases, the updates for different user
> groups would be faster. My concern is that these different databases
> will hard to maintain. For example, a same query/stored procedure will
> either reside on different
> databases or coded with logic to go to different databases before
> executing a update. It may better to have one database with multiple
> (same structure) tables to store data for different user groups, then
> use a (partitioned) view to link all tables (with check constraint
> based on user's department number). When update, it would go to
> different tables (hence reduce the traffic to tables and increase the
> performance).
> Thank you in advance for your suggestions.
> Yang Zhong|||(a) Do these users only access the data that they Insert/Update/Delete? Or,
can they access the data created by other user groups ~ different database?
(b) "perform heavy add/update on one table. Without the privilege to have a".
What kind (vertical / industry) of application is it ? (Different user
groups all updating a single table)
(c) Since all your databases (based on the different user groups) will
reside in one server - there will be no performance benefit when you use
partitioned views.
BUT, is it posisble to have each user group's database sitting on a
different physical disk with its own controller? If YES, then you will get
some of the performance benfits of a partitioned view.
Cheers!|||Since SQL can do row level locking, I suspect there will not be a lot of
locking issues for updates, (assuming single row updates), on a properly
indexed table where the Primary Key is used in the where clause.
Therefore, there may be no reason to go to all of the trouble you are
talking about.
It is certainly worth doing some testing to see!
--
Wayne Snyder, MCDBA, SQL Server MVP
Mariner, Charlotte, NC
www.mariner-usa.com
(Please respond only to the newsgroups.)
I support the Professional Association of SQL Server (PASS) and it's
community of SQL Server professionals.
www.sqlpass.org
"yang zhong" <Yang_Zhong@.bcbstx.com> wrote in message
news:44d12b2d.0408171318.74348665@.posting.google.com...
> We are in the process to develop a new VB6/SQL 2000 application (do
> not ask why not .net, our company policy is to use VB6), which will
> have over 3000 users to access the database (50GB data) and perform
> heavy add/update on one table. Without the privilege to have a
> better/faster server, we have to design database tables in a way to
> increase the performance (on updates).
> My boss wants to partition the data into different databases based on
> defferent users groups (for examples, use users' department). Since
> the data now on different databases, the updates for different user
> groups would be faster. My concern is that these different databases
> will hard to maintain. For example, a same query/stored procedure will
> either reside on different
> databases or coded with logic to go to different databases before
> executing a update. It may better to have one database with multiple
> (same structure) tables to store data for different user groups, then
> use a (partitioned) view to link all tables (with check constraint
> based on user's department number). When update, it would go to
> different tables (hence reduce the traffic to tables and increase the
> performance).
> Thank you in advance for your suggestions.
> Yang Zhong
Database Design - 3000+ users
not ask why not .net, our company policy is to use VB6), which will
have over 3000 users to access the database (50GB data) and perform
heavy add/update on one table. Without the privilege to have a
better/faster server, we have to design database tables in a way to
increase the performance (on updates).
My boss wants to partition the data into different databases based on
defferent users groups (for examples, use users' department). Since
the data now on different databases, the updates for different user
groups would be faster. My concern is that these different databases
will hard to maintain. For example, a same query/stored procedure will
either reside on different
databases or coded with logic to go to different databases before
executing a update. It may better to have one database with multiple
(same structure) tables to store data for different user groups, then
use a (partitioned) view to link all tables (with check constraint
based on user's department number). When update, it would go to
different tables (hence reduce the traffic to tables and increase the
performance).
Thank you in advance for your suggestions.
Yang Zhong
What makes you think since you have several db's the updates will be faster?
All the databases share the same resources and it doesn't sound like they
will be updating the same row anyway.
Andrew J. Kelly SQL MVP
"yang zhong" <Yang_Zhong@.bcbstx.com> wrote in message
news:44d12b2d.0408171318.74348665@.posting.google.c om...
> We are in the process to develop a new VB6/SQL 2000 application (do
> not ask why not .net, our company policy is to use VB6), which will
> have over 3000 users to access the database (50GB data) and perform
> heavy add/update on one table. Without the privilege to have a
> better/faster server, we have to design database tables in a way to
> increase the performance (on updates).
> My boss wants to partition the data into different databases based on
> defferent users groups (for examples, use users' department). Since
> the data now on different databases, the updates for different user
> groups would be faster. My concern is that these different databases
> will hard to maintain. For example, a same query/stored procedure will
> either reside on different
> databases or coded with logic to go to different databases before
> executing a update. It may better to have one database with multiple
> (same structure) tables to store data for different user groups, then
> use a (partitioned) view to link all tables (with check constraint
> based on user's department number). When update, it would go to
> different tables (hence reduce the traffic to tables and increase the
> performance).
> Thank you in advance for your suggestions.
> Yang Zhong
|||Since SQL can do row level locking, I suspect there will not be a lot of
locking issues for updates, (assuming single row updates), on a properly
indexed table where the Primary Key is used in the where clause.
Therefore, there may be no reason to go to all of the trouble you are
talking about.
It is certainly worth doing some testing to see!
Wayne Snyder, MCDBA, SQL Server MVP
Mariner, Charlotte, NC
www.mariner-usa.com
(Please respond only to the newsgroups.)
I support the Professional Association of SQL Server (PASS) and it's
community of SQL Server professionals.
www.sqlpass.org
"yang zhong" <Yang_Zhong@.bcbstx.com> wrote in message
news:44d12b2d.0408171318.74348665@.posting.google.c om...
> We are in the process to develop a new VB6/SQL 2000 application (do
> not ask why not .net, our company policy is to use VB6), which will
> have over 3000 users to access the database (50GB data) and perform
> heavy add/update on one table. Without the privilege to have a
> better/faster server, we have to design database tables in a way to
> increase the performance (on updates).
> My boss wants to partition the data into different databases based on
> defferent users groups (for examples, use users' department). Since
> the data now on different databases, the updates for different user
> groups would be faster. My concern is that these different databases
> will hard to maintain. For example, a same query/stored procedure will
> either reside on different
> databases or coded with logic to go to different databases before
> executing a update. It may better to have one database with multiple
> (same structure) tables to store data for different user groups, then
> use a (partitioned) view to link all tables (with check constraint
> based on user's department number). When update, it would go to
> different tables (hence reduce the traffic to tables and increase the
> performance).
> Thank you in advance for your suggestions.
> Yang Zhong
Database Design - 3000+ users
not ask why not .net, our company policy is to use VB6), which will
have over 3000 users to access the database (50GB data) and perform
heavy add/update on one table. Without the privilege to have a
better/faster server, we have to design database tables in a way to
increase the performance (on updates).
My boss wants to partition the data into different databases based on
defferent users groups (for examples, use users' department). Since
the data now on different databases, the updates for different user
groups would be faster. My concern is that these different databases
will hard to maintain. For example, a same query/stored procedure will
either reside on different
databases or coded with logic to go to different databases before
executing a update. It may better to have one database with multiple
(same structure) tables to store data for different user groups, then
use a (partitioned) view to link all tables (with check constraint
based on user's department number). When update, it would go to
different tables (hence reduce the traffic to tables and increase the
performance).
Thank you in advance for your suggestions.
Yang ZhongWhat makes you think since you have several db's the updates will be faster?
All the databases share the same resources and it doesn't sound like they
will be updating the same row anyway.
Andrew J. Kelly SQL MVP
"yang zhong" <Yang_Zhong@.bcbstx.com> wrote in message
news:44d12b2d.0408171318.74348665@.posting.google.com...
> We are in the process to develop a new VB6/SQL 2000 application (do
> not ask why not .net, our company policy is to use VB6), which will
> have over 3000 users to access the database (50GB data) and perform
> heavy add/update on one table. Without the privilege to have a
> better/faster server, we have to design database tables in a way to
> increase the performance (on updates).
> My boss wants to partition the data into different databases based on
> defferent users groups (for examples, use users' department). Since
> the data now on different databases, the updates for different user
> groups would be faster. My concern is that these different databases
> will hard to maintain. For example, a same query/stored procedure will
> either reside on different
> databases or coded with logic to go to different databases before
> executing a update. It may better to have one database with multiple
> (same structure) tables to store data for different user groups, then
> use a (partitioned) view to link all tables (with check constraint
> based on user's department number). When update, it would go to
> different tables (hence reduce the traffic to tables and increase the
> performance).
> Thank you in advance for your suggestions.
> Yang Zhong|||Since SQL can do row level locking, I suspect there will not be a lot of
locking issues for updates, (assuming single row updates), on a properly
indexed table where the Primary Key is used in the where clause.
Therefore, there may be no reason to go to all of the trouble you are
talking about.
It is certainly worth doing some testing to see!
Wayne Snyder, MCDBA, SQL Server MVP
Mariner, Charlotte, NC
www.mariner-usa.com
(Please respond only to the newsgroups.)
I support the Professional Association of SQL Server (PASS) and it's
community of SQL Server professionals.
www.sqlpass.org
"yang zhong" <Yang_Zhong@.bcbstx.com> wrote in message
news:44d12b2d.0408171318.74348665@.posting.google.com...
> We are in the process to develop a new VB6/SQL 2000 application (do
> not ask why not .net, our company policy is to use VB6), which will
> have over 3000 users to access the database (50GB data) and perform
> heavy add/update on one table. Without the privilege to have a
> better/faster server, we have to design database tables in a way to
> increase the performance (on updates).
> My boss wants to partition the data into different databases based on
> defferent users groups (for examples, use users' department). Since
> the data now on different databases, the updates for different user
> groups would be faster. My concern is that these different databases
> will hard to maintain. For example, a same query/stored procedure will
> either reside on different
> databases or coded with logic to go to different databases before
> executing a update. It may better to have one database with multiple
> (same structure) tables to store data for different user groups, then
> use a (partitioned) view to link all tables (with check constraint
> based on user's department number). When update, it would go to
> different tables (hence reduce the traffic to tables and increase the
> performance).
> Thank you in advance for your suggestions.
> Yang Zhong
Database design
I am creating database tables for company testimonials. Database columns: name, position, companyname, comment, service we provided.
My question is that for each company - may have a multitude of different services from us, and different people with different positions in the same company may make comments.
What is best practice for putting this db structure together?
Thanks
Andrew
You have 4 principal objects: Company, Person, Service and Testimonial. That leads to 4 tables:
Company
CompanyIDPK
Address1
Address2
etc...
Person
PersonIDPK
Title
Initials
FirstName
Surname
Position
CompanyIDFK
etc...
Services
ServiceID
Service
Testimonials
TestimonialIDPK
Testimonial
PersonIDFK
ServiceIDFK
So now each testimonial is linked to a person and a service, and each person is linked to a company, so a testimonial is linked to a company through the person. You can add another table:
CompanyServices
CompanyIDFK
ServiceIDFK
to manage the relationship between companies and all the services they avail themselves of, regardless of whether they comment on it.
Database design
I am asked to develop a project for a steel company for its warehouse processing. So I would like to know how to design a database for the warehouse keeping. Plz help me out to solve this problem.I would like to know how many fields are to be there in the different database and how to get the requirements that are required for warehousing.
Thanks in advance
raghulIt is practicaly impossible to suggest you anything without accessing the actual situation. how do you expect us to guide you without having any idea what is going on at your side.