Database Structure For Articles and Categories

Hi - This is a question about database structure - please help. Thanks
For a website with many subjects or themes is it best to use 1 big table to hold or the articles or many small tables to hold articles for different subjects - I will explain what I mean.
Say my website has a 'cooking' section, a 'sports' section and a general 'blog' section.
In each section the articles will be organized into different sub-categories but I can't see a way to do this.
Case 1: All the articles are stored in 1 table. There is a second table which 'assigns' an article to a category (the cateogries themselves are stored in a separate table) and also assigns a sub-category (sub-categories stored in a separate table???) and then what if there needed to be a sub-sub-cateogry?? This just doesn't seem to work well!
Case 2: For each theme there is a separate table - Cooking Table, Sports Table, Blog Table. And for each separate table there is a categories table Cooking-Categories which assigns each cooking article a sub-cateogry (and the sub-categories are stored in a separate table also) - and what if I needed to make a sub-sub-category - then would I need to make another table? This just sounds like a lot of tables even though the end result would probably be easier!
Case 3: All categories are stored in 1 table - as well as all subcateogires of those categories as well as all sub-sub categories, etc (each with an ID)... Each article is 'assigned' a category ID
Please someone show me the light! I am confusing myself.
Thanks
Chris

There is no 'best' way of creating a database. It's more logic that is involved in examining the parameters that determine what DB will suit your current requirement. These parameters may include but aren't limited to:
Latency
Performance
Sortability
Accessibility
Ease-of-use
Scalability
If I were you, for the said purpose, I'd create with 4 tables as follows:
Categories - this will hold your main categoriesCatID, Name, Order ID
Sub-CategotiesSubCatID, CatID (that the SubCat is linked to), Name, Order ID
Sub-Sub CategoriesSubSubCatID, SubCatID, CatID, Name, Order Id
ArticlesArticleID, SubSubCatID (can hold multiple Sub-Sub-categories) SubCatID (can hold multiple Sub-categories), CatID (can hold multiple Categotries), Name, Order ID, Article Title, Article Description, Article Thumbnail, URL Name, Metatags (for SEO, if you're looking at doing SEO)
The CatID in Article Table will usually be an INT value with limited chars, the SubCatID and SubSubCatID in Article Table will ideally be a varchar value with about 200 chars so you could assign multiple SubCatIDs to one article.
I'd like to add here that this is very much a debatable post. What suits me may not suit you and/ or the others who may read this post! But this way, I can accomplish my programming/ coding task/ CMS integration with ease-of-use.
Good luck with your DB!
~ST

Similar Messages

  • Database structure for a 5 star ratings system

    This is something I've been asked to look at creating. At the moment the site has a database back end storing details of a few hundred holiday properties. So that part is already set up.
    So I'm familiar enough with databases etc, but less so the formulas and any additional database structure for any voting.
    It would be pretty simple, ie visitors could vote 1, 2, 3 4, or 5 stars for any property.
    There needs to be a total score recorded somewhere for each property.
    And the site needs to display the average score for that property.
    Any pointers on this much would be much appreciated.
    Thanks.

    Consider my wrist duly slapped.
    Yes, Google is an excellent resource, although in my experience for many things such as this a search will return 101 different ways of doing something, many of which will do, or explain, 80% of what you need.
    So sometimes posting on a forum is better for getting a recommendation from someone for a good tutorial on something.

  • Different Database Behavior for UAT and PRO in same DB

    Hi All,
    The UAT and Production Documentum schemas reside in the same database instance referring to different applications.
    Problem is when I run the same query to production it send me result in a second but in UAT it takes for ever and also its shows the different plan if do explain in UAT and PRO.
    OS windows 64Bit
    DB 10.2.0.3
    There is frequent, automated data load.
    The indexes are rebuilt every other day.
    SQL on UAT
    select all dm_folder.r_object_id, dm_folder.object_name, dm_repeating.i_folder_id, dm_repeating.r_folder_path from dm_folder_sp dm_folder, dm_folder_rp dm_repeating where (dm_folder.r_object_id in (select all dm_repeating.i_ancestor_id from dm_folder_sp dm_folder, dm_folder_rp dm_repeating where ((dm_folder.r_object_id='0b01b3f18000b897') and (dm_folder.a_is_hidden=0)) and (dm_folder.i_has_folder = 1 and dm_folder.i_is_deleted = 0) and dm_repeating.r_object_id=dm_folder.r_object_id )) and (dm_folder.i_has_folder = 1 and dm_folder.i_is_deleted = 0) and dm_repeating.r_object_id=dm_folder.r_object_id order by dm_folder.r_object_id
    Explain Plan on UAT
    This sql ran forever. An execution plan was gotten for the SQL. Note the MERGE JOIN CARTESIAN with 404 million rows and 34 GB of data highlighted in red.
    Execution Plan
    Plan hash value: 1131176958
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    | 0 | SELECT STATEMENT | | 1 | 132 | 21M (1)| 70:20:41 |
    | 1 | NESTED LOOPS SEMI | | 1 | 132 | 21M (1)| 70:20:41 |
    | 2 | NESTED LOOPS | | 15087 | 1723K| 21M (1)| 70:08:37 |
    | 3 | MERGE JOIN CARTESIAN | | 404M| 34G| 802K (1)| 02:40:32 |
    | 4 | NESTED LOOPS | | 9854 | 606K| 382 (1)| 00:00:05 |
    |* 5 | TABLE ACCESS BY INDEX ROWID | DM_SYSOBJECT_S | 22358 | 1026K| 381 (1)| 00:00:05 |
    | 6 | INDEX FULL SCAN | D_1F01B3F180000109 | 26813 | | 5 (0)| 00:00:01 |
    |* 7 | INDEX UNIQUE SCAN | D_1F01B3F180000143 | 1 | 16 | 1 (0)| 00:00:01 |
    | 8 | BUFFER SORT | | 41065 | 1162K| 802K (1)| 02:40:32 |
    | 9 | TABLE ACCESS FULL | DM_FOLDER_R | 41065 | 1162K| 81 (0)| 00:00:01 |
    | 10 | TABLE ACCESS BY INDEX ROWID | DM_SYSOBJECT_R | 1 | 25 | 1 (0)| 00:00:01 |
    |* 11 | INDEX UNIQUE SCAN | D_1F01B3F18000010A | 1 | | 1 (0)| 00:00:01 |
    |* 12 | VIEW | VW_NSO_1 | 1 | 15 | 4 (0)| 00:00:01 |
    | 13 | NESTED LOOPS | | 2 | 190 | 4 (0)| 00:00:01 |
    | 14 | NESTED LOOPS | | 4 | 304 | 3 (0)| 00:00:01 |
    | 15 | NESTED LOOPS | | 1 | 42 | 2 (0)| 00:00:01 |
    |* 16 | INDEX UNIQUE SCAN | D_1F01B3F180000143 | 1 | 16 | 1 (0)| 00:00:01 |
    |* 17 | TABLE ACCESS BY INDEX ROWID| DM_SYSOBJECT_S | 1 | 26 | 1 (0)| 00:00:01 |
    |* 18 | INDEX UNIQUE SCAN | D_1F01B3F180000109 | 1 | | 1 (0)| 00:00:01 |
    | 19 | TABLE ACCESS BY INDEX ROWID | DM_FOLDER_R | 4 | 136 | 1 (0)| 00:00:01 |
    |* 20 | INDEX RANGE SCAN | DM_FOLDER_R_IND_UT | 4 | | 1 (0)| 00:00:01 |
    |* 21 | INDEX UNIQUE SCAN | D_1F01B3F18000010A | 1 | 19 | 1 (0)| 00:00:01 |
    Predicate Information (identified by operation id):
    5 - filter("YB_"."I_HAS_FOLDER"=1 AND "YB_"."I_IS_DELETED"=0)
    7 - access("YB_"."R_OBJECT_ID"="OG_"."R_OBJECT_ID")
    11 - access("ZB_"."R_OBJECT_ID"="PG_"."R_OBJECT_ID" AND
    "ZB_"."I_POSITION"="PG_"."I_POSITION")
    filter("ZB_"."R_OBJECT_ID"="YB_"."R_OBJECT_ID")
    12 - filter("YB_"."R_OBJECT_ID"="$nso_col_1")
    16 - access("OG_"."R_OBJECT_ID"='0b01b3f18000b897')
    17 - filter("YB_"."I_HAS_FOLDER"=1 AND "YB_"."I_IS_DELETED"=0 AND "YB_"."A_IS_HIDDEN"=0)
    18 - access("YB_"."R_OBJECT_ID"='0b01b3f18000b897')
    20 - access("PG_"."R_OBJECT_ID"='0b01b3f18000b897')
    21 - access("ZB_"."R_OBJECT_ID"='0b01b3f18000b897' AND "ZB_"."I_POSITION"="PG_"."I_POSITION")
    SQL on Production
    The following sql was run through sqlplus on production. It is identical to the one run on UAT with the exception that a different r_object_id is used.
    select all dm_folder.r_object_id, dm_folder.object_name, dm_repeating.i_folder_id, dm_repeating.r_folder_path from dm_folder_sp dm_folder, dm_folder_rp dm_repeating where (dm_folder.r_object_id in (select all dm_repeating.i_ancestor_id from dm_folder_sp dm_folder, dm_folder_rp dm_repeating where ((dm_folder.r_object_id='0b01b3f080011726') and (dm_folder.a_is_hidden=0)) and (dm_folder.i_has_folder = 1 and dm_folder.i_is_deleted = 0) and dm_repeating.r_object_id=dm_folder.r_object_id )) and (dm_folder.i_has_folder = 1 and dm_folder.i_is_deleted = 0) and dm_repeating.r_object_id=dm_folder.r_object_id order by dm_folder.r_object_id
    Explain Plan on Production
    This query ran very quickly. The query plan does not contain a MERGE JOIN CARTESIAN.
    Execution Plan
    Plan hash value: 3553258581
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    | 0 | SELECT STATEMENT | | 5 | 650 | 10 (20)| 00:00:01 |
    | 1 | SORT ORDER BY | | 5 | 650 | 10 (20)| 00:00:01 |
    | 2 | NESTED LOOPS | | 5 | 650 | 9 (12)| 00:00:01 |
    | 3 | NESTED LOOPS | | 9 | 936 | 8 (13)| 00:00:01 |
    | 4 | NESTED LOOPS | | 3 | 234 | 7 (15)| 00:00:01 |
    | 5 | NESTED LOOPS | | 3 | 186 | 6 (17)| 00:00:01 |
    | 6 | VIEW | VW_NSO_1 | 3 | 48 | 4 (0)| 00:00:01 |
    | 7 | HASH UNIQUE | | 3 | 279 | | |
    | 8 | NESTED LOOPS | | 3 | 279 | 4 (0)| 00:00:01 |
    | 9 | NESTED LOOPS | | 5 | 365 | 3 (0)| 00:00:01 |
    | 10 | NESTED LOOPS | | 1 | 38 | 2 (0)| 00:00:01 |
    |* 11| INDEX UNIQUE SCAN | D_1F01B3F080000143 | 1 | 16 | 1 (0)| 00:00:01 |
    |* 12| TABLE ACCESS BY INDEX ROWID| DM_SYSOBJECT_S | 1 | 22 | 1 (0)| 00:00:01 |
    |* 13| INDEX UNIQUE SCAN | D_1F01B3F080000109 | 1 | | 1 (0)| 00:00:01 |
    | 14| TABLE ACCESS BY INDEX ROWID | DM_FOLDER_R | 5 | 175 | 1 (0)| 00:00:01 |
    |* 15| INDEX RANGE SCAN | DM_FOLDER_R_IND | 5 | | 1 (0)| 00:00:01 |
    |* 16| INDEX UNIQUE SCAN | D_1F01B3F08000010A | 1 | 20 | 1 (0)| 00:00:01 |
    |* 17| TABLE ACCESS BY INDEX ROWID | DM_SYSOBJECT_S | 1 | 46 | 1 (0)| 00:00:01 |
    |* 18| INDEX UNIQUE SCAN | D_1F01B3F080000109 | 1 | | 1 (0)| 00:00:01 |
    |* 19| INDEX UNIQUE SCAN | D_1F01B3F080000143 | 1 | 16 | 1 (0)| 00:00:01 |
    | 20| TABLE ACCESS BY INDEX ROWID | DM_SYSOBJECT_R | 3 | 78 | 1 (0)| 00:00:01 |
    |* 21| INDEX RANGE SCAN | D_1F01B3F08000010A | 3 | | 1 (0)| 00:00:01 |
    | 22| TABLE ACCESS BY INDEX ROWID | DM_FOLDER_R | 1 | 26 | 1 (0)| 00:00:01 |
    |* 23| INDEX UNIQUE SCAN | D_1F01B3F080000144 | 1 | | 1 (0)| 00:00:01 |
    Predicate Information (identified by operation id):
    11 - access("TGB_"."R_OBJECT_ID"='0b01b3f080011726')
    12 - filter("GJ_"."A_IS_HIDDEN"=0 AND "GJ_"."I_HAS_FOLDER"=1 AND "GJ_"."I_IS_DELETED"=0)
    13 - access("GJ_"."R_OBJECT_ID"='0b01b3f080011726')
    15 - access("VGB_"."R_OBJECT_ID"='0b01b3f080011726')
    16 - access("IJ_"."R_OBJECT_ID"='0b01b3f080011726' AND "IJ_"."I_POSITION"="VGB_"."I_POSITION")
    17 - filter("GJ_"."I_HAS_FOLDER"=1 AND "GJ_"."I_IS_DELETED"=0)
    18 - access("GJ_"."R_OBJECT_ID"="$nso_col_1")
    19 - access("GJ_"."R_OBJECT_ID"="TGB_"."R_OBJECT_ID")
    21 - access("IJ_"."R_OBJECT_ID"="GJ_"."R_OBJECT_ID")
    23 - access("IJ_"."R_OBJECT_ID"="VGB_"."R_OBJECT_ID" AND "IJ_"."I_POSITION"="VGB_"."I_POSITION")
    Message was edited by:
    user624068

    I am gathering the statistics for the full database statement is .
    execute dbms_stats.gather_database_stats(ESTIMATE_PERCENT => 99, CASCADE => TRUE)
    I tried to gather the stats on schema but no effect.
    No of indexes are same in UAT and Pro.
    I am still confuse if we have less data do it change the plan and if it did it should be faster.
    Thats the max it got format. is there any other way i can format that or send u.
    Execution Plan
    Plan hash value: 3842135587
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    | 0 | SELECT STATEMENT | | 3 | 384 | 14M (1)| 47:28:20 |
    | 1 | NESTED LOOPS SEMI | | 3 | 384 | 14M (1)| 47:28:20 |
    | 2 | NESTED LOOPS | | 10269 | 1133K| 14M (1)| 47:20:08 |
    | 3 | MERGE JOIN CARTESIAN | | 273M| 22G| 541K (1)| 01:48:20 |
    | 4 | NESTED LOOPS | | 6648 | 383K| 412 (0)| 00:00:05 |
    |* 5 | TABLE ACCESS BY INDEX ROWID | DM_SYSOBJECT_S | 6648 | 279K| 411 (0)| 00:00:05 |
    | 6 | INDEX FULL SCAN | D_1F01B3F180000109 | 26592 | | 5 (0)| 00:00:01 |
    |* 7 | INDEX UNIQUE SCAN | D_1F01B3F180000143 | 1 | 16 | 1 (0)| 00:00:01 |
    | 8 | BUFFER SORT | | 41076 | 1163K| 541K (1)| 01:48:20 |
    | 9 | TABLE ACCESS FULL | DM_FOLDER_R | 41076 | 1163K| 81 (0)| 00:00:01 |
    | 10 | TABLE ACCESS BY INDEX ROWID | DM_SYSOBJECT_R | 1 | 25 | 1 (0)| 00:00:01 |
    |* 11 | INDEX UNIQUE SCAN | D_1F01B3F18000010A | 1 | | 1 (0)| 00:00:01 |
    |* 12 | VIEW | VW_NSO_1 | 1 | 15 | 4 (0)| 00:00:01 |
    | 13 | NESTED LOOPS | | 2 | 182 | 4 (0)| 00:00:01 |
    | 14 | NESTED LOOPS | | 4 | 288 | 3 (0)| 00:00:01 |
    | 15 | NESTED LOOPS | | 1 | 38 | 2 (0)| 00:00:01 |
    |* 16 | INDEX UNIQUE SCAN | D_1F01B3F180000143 | 1 | 16 | 1 (0)| 00:00:01 |
    |* 17 | TABLE ACCESS BY INDEX ROWID| DM_SYSOBJECT_S | 1 | 22 | 1 (0)| 00:00:01 |
    |* 18 | INDEX UNIQUE SCAN | D_1F01B3F180000109 | 1 | | 1 (0)| 00:00:01 |
    | 19 | TABLE ACCESS BY INDEX ROWID | DM_FOLDER_R | 4 | 136 | 1 (0)| 00:00:01 |
    |* 20 | INDEX RANGE SCAN | D_1F01B3F180000144 | 4 | | 1 (0)| 00:00:01 |
    |* 21 | INDEX UNIQUE SCAN | D_1F01B3F18000010A | 1 | 19 | 1 (0)| 00:00:01 |
    Predicate Information (identified by operation id):
    5 - filter("RG_"."I_HAS_FOLDER"=1 AND "RG_"."I_IS_DELETED"=0)
    7 - access("RG_"."R_OBJECT_ID"="WQ_"."R_OBJECT_ID")
    11 - access("SG_"."R_OBJECT_ID"="XQ_"."R_OBJECT_ID" AND
    "SG_"."I_POSITION"="XQ_"."I_POSITION")
    filter("SG_"."R_OBJECT_ID"="RG_"."R_OBJECT_ID")
    12 - filter("RG_"."R_OBJECT_ID"="$nso_col_1")
    16 - access("WQ_"."R_OBJECT_ID"='0b01b3f18000b897')
    17 - filter("RG_"."A_IS_HIDDEN"=0 AND "RG_"."I_HAS_FOLDER"=1 AND "RG_"."I_IS_DELETED"=0)
    18 - access("RG_"."R_OBJECT_ID"='0b01b3f18000b897')
    20 - access("XQ_"."R_OBJECT_ID"='0b01b3f18000b897')
    21 - access("SG_"."R_OBJECT_ID"='0b01b3f18000b897' AND "SG_"."I_POSITION"="XQ_"."I_POSITION")
    Production Explan
    Execution Plan
    Plan hash value: 3553258581
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    | 0 | SELECT STATEMENT | | 5 | 650 | 10 (20)| 00:00:01 |
    | 1 | SORT ORDER BY | | 5 | 650 | 10 (20)| 00:00:01 |
    | 2 | NESTED LOOPS | | 5 | 650 | 9 (12)| 00:00:01 |
    | 3 | NESTED LOOPS | | 9 | 936 | 8 (13)| 00:00:01 |
    | 4 | NESTED LOOPS | | 3 | 234 | 7 (15)| 00:00:01 |
    | 5 | NESTED LOOPS | | 3 | 186 | 6 (17)| 00:00:01 |
    | 6 | VIEW | VW_NSO_1 | 3 | 48 | 4 (0)| 00:00:01 |
    | 7 | HASH UNIQUE | | 3 | 279 | | |
    | 8 | NESTED LOOPS | | 3 | 279 | 4 (0)| 00:00:01 |
    | 9 | NESTED LOOPS | | 5 | 365 | 3 (0)| 00:00:01 |
    | 10 | NESTED LOOPS | | 1 | 38 | 2 (0)| 00:00:01 |
    |* 11 | INDEX UNIQUE SCAN | D_1F01B3F080000143 | 1 | 16 | 1 (0)| 00:00:01 |
    |* 12 | TABLE ACCESS BY INDEX ROWID| DM_SYSOBJECT_S | 1 | 22 | 1 (0)| 00:00:01 |
    |* 13 | INDEX UNIQUE SCAN | D_1F01B3F080000109 | 1 | | 1 (0)| 00:00:01 |
    | 14 | TABLE ACCESS BY INDEX ROWID | DM_FOLDER_R | 5 | 175 | 1 (0)| 00:00:01 |
    |* 15 | INDEX RANGE SCAN | DM_FOLDER_R_IND | 5 | | 1 (0)| 00:00:01 |
    |* 16 | INDEX UNIQUE SCAN | D_1F01B3F08000010A | 1 | 20 | 1 (0)| 00:00:01 |
    |* 17 | TABLE ACCESS BY INDEX ROWID | DM_SYSOBJECT_S | 1 | 46 | 1 (0)| 00:00:01 |
    |* 18 | INDEX UNIQUE SCAN | D_1F01B3F080000109 | 1 | | 1 (0)| 00:00:01 |
    |* 19 | INDEX UNIQUE SCAN | D_1F01B3F080000143 | 1 | 16 | 1 (0)| 00:00:01 |
    | 20 | TABLE ACCESS BY INDEX ROWID | DM_SYSOBJECT_R | 3 | 78 | 1 (0)| 00:00:01 |
    |* 21 | INDEX RANGE SCAN | D_1F01B3F08000010A | 3 | | 1 (0)| 00:00:01 |
    | 22 | TABLE ACCESS BY INDEX ROWID | DM_FOLDER_R | 1 | 26 | 1 (0)| 00:00:01 |
    |* 23 | INDEX UNIQUE SCAN | D_1F01B3F080000144 | 1 | | 1 (0)| 00:00:01 |
    Predicate Information (identified by operation id):
    11 - access("TGB_"."R_OBJECT_ID"='0b01b3f080011726')
    12 - filter("GJ_"."A_IS_HIDDEN"=0 AND "GJ_"."I_HAS_FOLDER"=1 AND "GJ_"."I_IS_DELETED"=0)
    13 - access("GJ_"."R_OBJECT_ID"='0b01b3f080011726')
    15 - access("VGB_"."R_OBJECT_ID"='0b01b3f080011726')
    16 - access("IJ_"."R_OBJECT_ID"='0b01b3f080011726' AND "IJ_"."I_POSITION"="VGB_"."I_POSITION")
    17 - filter("GJ_"."I_HAS_FOLDER"=1 AND "GJ_"."I_IS_DELETED"=0)
    18 - access("GJ_"."R_OBJECT_ID"="$nso_col_1")
    19 - access("GJ_"."R_OBJECT_ID"="TGB_"."R_OBJECT_ID")
    21 - access("IJ_"."R_OBJECT_ID"="GJ_"."R_OBJECT_ID")
    23 - access("IJ_"."R_OBJECT_ID"="VGB_"."R_OBJECT_ID" AND "IJ_"."I_POSITION"="VGB_"."I_POSITION")
    Message was edited by:
    user624068

  • Directory structure for servlets and webservices in one application

    hi,
    Can any one help me for creating servlets and webservices in one
    application and deploying in Jboss 4.2.0.
    I want to know exactly what is the directory structure for creating this
    application and what are the additional .xml files for deploying this application.
    if any one know this answere please tell the answere.

    I figured out a solution - it's a problem of policies. In detail: Server1's codebase entry (file:) refers to the class directory of Server1's project. In the simple case of only Client1, which has no codebase entry, it works fine without a file permission on the side of Server1. In the complex case of Client1+Server2, which has to have a codebase entry (file:) refering to the class directory of the Server2's project on a separate machine, for exactly the same method call from Client1 to Server1 a file permission entry on the side of Server1 is needed for Server1's class directory. But WHY ???
    It seems to be a little confusing with the codebase entries, many of the posts are contrary to others and to my personal experiences. Some comments given by Adrian Colley throw a little light upon some aspects. Is there anybody, who can explain the whole topic, when, why, and which part of RMI application deals with codebase entries, also in case of not dynamic code downloading ? May be there is also a reference into the java docs, which I didn't found up to now.
    Thanks in advance
    Axel

  • Receiver FCC Structure For Header and Trailer

    Hi Guys ,
    I need to go for receiver FCC for header and trailer  in PI .How the FCC in communication channel needs to be configured if I am taking a separate node for header and trailer in mapping .Output of the file should be as the file attached.
    Thanks.
    Regards.

    Hi,
    If you are using File communication channel as a reciver you can go with FCC.
    Use record set structure as : Header,detail,trailer.
    https://help.sap.com/saphelp_nw04/helpdata/en/d2/bab440c97f3716e10000000a155106/content.htm
    Otherwise if you are going for SFTP to create the file ... follow the Indrajit suggestion..
    Still facing any issue.. Please let us know..
    Thanks,
    Sreenivas...

  • CRM TPM Database Sizing for CRM and BW

    All,
    I am currently sizing for a TPM implementation and have a couple of questions concerning storage capacity for CRM and BW.  I have reviewed and created an Excel spreadsheet based on the SAP Sizing Guide for CRM-TPM but I am coming up short in a couple areas.
    Here is the document Link: [https://websmp105.sap-ag.de/~form/sapnet?_FRAME=CONTAINER&_OBJECT=011000358700000711312004E]
    1.  Is there a storage sizing guide for BW or what has worked for the community to estimate?
    2.  Is the sizing guide for CRM/TPM correct (see below example)? 
    3.  What has worked for CRM/TPM database sizing from the community?
    I have a question about section 3.3.3 Disk Sizing in CRM.  If the disk sizing is based on per promotion (for the condition generation process), why is there a multiplication factor for PARTNERS?  I donu2019t believe we would have more than 1 or 2 partners per promotion.
    I did some quick math with some example numbers and came up with about 2.9TB for the CRM database.  See below for additional info based on the equation in section 3.3.3.
    Part 1
    20,000 Promotions
    10 Products                                         
    1000 Partners                                     
    .87TB                                                   
    Part 2
    10,000 Promotions
    47 Products
    1000 Partners
    2.04TB
    Is this accurate for sizing the condition generation process for the CRM database?  I am failing to understand why, for example, the 20,000 promotions would have 1,200 partners included in the base equation for each promotion.
    I appreciate any time you could spend in responding to my question.
    Thanks in advance,
    Steve
    Edited by: Steve Rocha on Jan 7, 2010 5:07 PM
    Edited by: Steve Rocha on Jan 7, 2010 5:09 PM
    Edited by: Steve Rocha on Jan 7, 2010 5:09 PM

    Thanks Steve for you reply.
    I am looking for a Sizing sheet from SAP TPM Perspective. If you could share your  Excel spreadsheet based on the SAP Sizing Guide for CRM-TPM .
    regards
    AK

  • Database structure for Oracle to use with SMP 3.0

    Hi,
    We are planning to use Custom Database for SMP 3.0.
    Please help me with the Database Structure I need to create in Oracle DB instance to use with SMP 3.0.
    Additional Details:
    SMP Version: 3.0
    Service Pack Level: SP 03
    Server OS: Windows Server 2008 R2
    Database Version: Oracle 11.2

    Will this PDF be useful? at page # 33 as titled Oracle Database Preparation
    Regards,
    JK

  • Database schema for Warehouse and Logistics Systems

    I am interested in the database design of Warehouse and Logistics Systems. Does any know whether Oracle has some sample database schema for such systems? Thanks.

    Although you have not mentioned the database version,
    Does any know whether Oracle has some sample database schema for such systems? Please review the following links;
    Using DBCA to Create and Configure a Database
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14196/install003.htm#sthref55
    There are vavious types of templates for databases inlcuding data warehouse.
    If you check on sample schemas. It will establish sample schemas with Example tablespace within the databse being installed. It is an Oracle recommendation.
    You might also view the following link;
    DBCA Templates Provided by Oracle
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14196/install003.htm#CIHJDGDH
    Adith

  • MS access database prompting for username and  password

    Hello,
      When I try to run a crystal report that is connected to a (Access Database) from crystal server 2013, I get prompted for a username and password. Im not sure what im doing wrong, Ive tried creating a ODBC connection, change the SAP service to run under a domain user account, recreated the report with a different file path.  but still no luck, please help im at a lose.
    Thank you

    Hello,
    Refer please to the following kbas, probably this can help you :
    http://service.sap.com/sap/support/notes/1270997
    http://service.sap.com/sap/support/notes/1661997
    Regards,
    Asma

  • Remove direct update of database table for VBUk and VBRK

    hello,
    we are updating  database table only for thse two single fields VBRK-FKDAT_RL and VBUK-RELIK using direct UPDATE statements.
    Could you please suggest some function modules or BAPI ?
    BDC is not possible as some fields are not editable.
    Awaiting your responses.
    I have tried RV_INVOICE_DOCUMENT_READ, RV_INVOICE_DOCUMENT_UPDATE, RV_INVOICE_DOCUMENT_ADD.

    The fields aren't editable for a reason.  If you explain the reason for the requirement and what is the trigger for changing the values, you might get a better response.  Why isn't this handled via configuration for instance?

  • Duplicate records in database view for ANLA and ANLC tables

    HI all,
    Can any one please suggest me how to remove duplicate records from ANLA and ANLC tables when creating a database view.
    thanks in advance,
    ben.

    Hi,
    Suppose we have two tables one with one field and another with two fields:
    TAB1 - Key field KEY1
    TAB2 - Key fields KEY1 & Key 2.
    No if we create a Database view of these two tables we can do by joining these two tables on Key field KEY1.
    Now if in View tab we have inculded TAB1- Key1.
    Now lets suppose following four entries are in table TAB1: (AAA), (BBB), (CCC).
    and following entries are in table TAB2: (AAA, 1), (AAA, 2),  (BBB, 3), (BBB, 5), (DDD, 3).
    The data base view will show following entries:
    AAA,
    AAA,
    BBB,
    BBB,
    Now these entris are duplicate in the output.
    This is because TAB2 has multilple entries for same key value of TAB1.
    Now if we want to remove multiple entries from ouput - we need to include an entry in selection conditions like TAB2-KEY2 = '1'.
    Regards,
    Pranav.

  • Structure for month and quaterly for entire year Urgent Please

    Hi All,
    Jan-07     Feb-07     Mar 07     Q1-07         Avg
    Dec 06     Jan-07     Feb-07     Avg Q1-07        Ytd
    Apr 07     May 07     June 07     Q2-07       Avg
    Mar 07     Apr 07     May 07     Avg Q2-07       Ytd
    Jul-07     Aug-07     Sep-07     Q3-07        Avg
    Jun-07     Jul-07     Aug-07     Avg Q3-07        Ytd
    Oct 07     Nov-07     Dec 07     Q4-07            Avg    
    Sep-07     Oct 07     Nov-07     Avg Q4-06          Ytd
    Closing 07
    "Dec 07
    pm Jan08"
    all these has to come as columns here v r defining the value for each month as well as quaterly. this structure v need to create can it b possible plz throw some light on this. v r not using any variable for this report.
    Thanx in Advance
    Priya

    Thanx Manyak
    I had to create the Restricted key fig for each much i hav to define it in the columns. after that i hav to restrict on quaterly basis for each quater and place it in the columns field and after that i hav to do avg for this values by using cal key fig.
    What i had understand is correct r i need to add some thing to the above plz reply
    Thanx
    priya

  • Updating database table for 'CHANGE' and 'ADD' buttons.

    Hi,
    I am working on module pool program. Here i am using table control.Below is my requirement:
    1) I have designed a selection - screen with 'CHANGE' and 'DISPLAY' buttons and in screen 100 i have 'ADD' and 'SAVE' buttons.
    2) when i click on 'CHANGE' , it will move to screen 200 here i need to change quantity field for that particular record which is in table control.once i change the field value and click on 'SAVE'  a message should be populated that "RECORD IS SAVED' and  this record should be updated in database table with new quantity field value and it should return back to my selection screen.
    3) When i click on 'ADD' , it should display already existing records in disable mode and a new line should be added inorder to enter new records. Once i enter the data and click on SAVE, this new record should be saved in the database table along with existing records.
    Kindly suggest me a sample code for this as am new to table control in module pool programming.

    Hi Gaurav,
    I've a similar problem!! any solutions to your problem!!

  • Using SQL Server as a Database sources for Essbase and Planning

    I was reading Jake Turrell white Paper on Hyperion Planning "sandbox" enviroment on a laptop and he stated that you can use SQL Server, u guess my question is i have been using oracle 11gr2 is there really any different
    also
    is best to build different schema for
    Shared Services
    workspace
    Essbase Admin Srvices
    Planning system Respostory
    Planning App's
    Calc manager
    and
    Finanical Reporting and web analysis
    i have been just buildint the Instance n Oracle and making a schema for planning
    Please advise
    Edited by: Next Level on Oct 18, 2012 9:27 PM
    Edited by: Next Level on Oct 18, 2012 9:30 PM
    Edited by: Next Level on Oct 18, 2012 9:31 PM
    Edited by: Next Level on Oct 18, 2012 10:11 PM

    FWIW, my own (ugh) install of 11.1.1.3 32 bit on my laptop (oh, soon I am going to jettison this thing and move to a 32 gig laptop) I am using SQL Server 2005. A client from last year used the same release of SS but I think the 64 bit release. John Booth's EPM AMI uses SQL Server Express 2008. IOW, yeah, you can totally use SQL Server with the EPM suite. I think that there is an exception for ERPi, but I could be wrong about that. For sure I used ODI 11.1.1.5 with SQL Server as I (gasp) set that up myself out on the cloud.
    Regards,
    Cameron Lackpour

  • Organization Structures For FI and CO

    Hi,
    Anyone can help me in this.
    Thanks & Regards
    Rajani

    Please refer below post:
    https://forums.sdn.sap.com/click.jspa?searchID=4671834&messageID=3777036
    https://forums.sdn.sap.com/click.jspa?searchID=4671834&messageID=3967425
    Pls assign points as way to say thanks

Maybe you are looking for

  • IPhone5 not showing up in devices tab on iMac, can't transfer songs from computer to phone

    I have a new iPhone5 and an iMac running Snow Leopard.  I have scads of songs on my computer that are mostly from CDs.  When I hooked the new phone up to the computer, the newly purchased songs on the phone loaded onto the computer automatically.  Ho

  • FW800 Port issue

    Hi, Recently, I'm not able to connecting any External Hard Drive via FW800 Port. That means, no matter how I try to connect to different external hard drive and change to others FW Cables, It still not showing on my desktop. But, Drive is showing on

  • Screen distorts and freezes

    I have an HP Pavilion Media Center m8000n, product# RX881AA, running Windows Vista.  The screen willl suddenly distort into horizontal lines, colored or black and white depending on what was being displayed.  All diagnostics check out okay, also chec

  • HT3576 I can't tweet from the notification center, even if I don't use an emoji!

    I just got the iphone 5 last week and not once have I been able to tweet using the notification center. I upgraded from the 4s so I know how to use it, and I've gotten really used to using it rather than having to open the app and go in and wait for

  • Please Help - Uploading Edited Versions Of My QuickTime Movies

    Even though I saved my edited movie as a "self contained move" in QuickTime, when I upload it to FaceBook, it reverts to the unedited version. Why? I saved the changes when I edited and then saved it as a self contained movie. Can anyone help me with