Star schema in Physical Layer

Recently, i came across a question from one of colleague. The discussion went as follows:
He asked me what is star schema and where can you define it? Physical layer or BMM layer?
I explained about star schema and answered his rest of the doubt that, we define it in BMM layer.
His immediate question is why can't we define it in Physical layer? Since BMM layer allows to build dimensional models, so, we have to build it in that layer itself is my reply. But, later in the evening, when i started thinking on my way to home, i started thinking about his doubt.
Here, what am curious to know is since we can join tables in Physical layer too, why can't we define star in Physical layer? and why only in BMM? and what are the difference in the Joins that we made in Physical layer to that of BMM layer?
I tired getting answers for these in documents and in some other online resources, but, am not succeed. So, am approaching this forum in anticipation. Can anyof you help us understanding these concepts better.

In OBIEE Server Administration Guide it is written for logical fk join:
Logical foreign key joins might be needed if the Oracle BI Server is to be used as an ODBC data
source for certain third-party query and reporting tools. Typically, you should not create logical
foreign keys. This capability is in the Administration Tool to provide compatibility with previous
releases.
And logical complex join:
The use of logical complex joins is recommended over logical key and foreign key joins.
And physical complex join:
In the physical layer of the repository, complex joins are joins over nonforeign key and primary key
columns. When you create a complex join in the physical layer, you can specify expressions and the
specific columns on which to create the join. When you create a complex join in the business model
layer, you do not specify expressions.
I agree, that always are some special cases, but in general it should be clear when to use which joins.
So, you should read chapters 4,5 one more time this administration guide [OBIEE server administration guide|http://download.oracle.com/docs/cd/E10415_01/doc/bi.1013/b31770.pdf]

Similar Messages

  • Normalized (3NF) VS Denormalized(Star Schema) Data warehouse :

    what are the benefits of normalized data warehouse (3NF) over the denormalized (Star schema)?
    if DW is in the 3NF then is need to create the seprate physical database which contains several data marts( star schema)with physical tables, which feeds to cube or create the views(SSAS data source view) on top of 3NF warehouse of star schema which feeds to
    cube?
    please explin the pros and cons of 3NF and denormalized DW.
    thanks in advance.
    Zaim Raza.

    Hi Zaim,
    Take a look to this diagram:
    1) Normally, 3NF schema is typical for ODS layer, which is simply used to fetch data from sources, generalize, prepare, cleanse data for upcoming load to data warehouse.
    2) When it comes to DW layer (Data Warehouse), data modelers general challenge is to build historical data silo.
    Star schema with slow changing facts and  slow changing dimensions are partially suitable.
    The DataVault and other similar specialized methods provides, in my opinion, wider possibility and flexibility.
    3) Star schema is perfectly suitable for datamarts. SQL Server 2008 and higher contains numerous query analyzer improvements to handle such workload efficiently. SQL Server 2012 introduced column stored indexes, that makes possibility to
    create robust star model datamarts with SQL Query performance comparable to MS OLAP. 
    So, your choice is:
    1) Create solid, consistent DW solution
    2) Create separate datamarts on top of DW for specific business needs. 
    3) Create necessary indexes, PK, FK key and statistics (of FK in fact tables) to help sql optimizer as much as possible.
    4) Forget about approach of defining SSAS datasource view on top of 3NF (or any other DWH modeling method), since this is the way to performance and maintenance issues in the future.

  • BMM layer creation (Star Schema Physical Layer) - What to add/not add?

    Hi All,
    I am just looking for any general feedback on the thought/question below.
    I am setting out on creating my first BMM layer and trying to determine what I need to do in this layer that will be different and add value from what I already did in the physical layer. My data model is already defined as a star schema within my data mart source. So in the physical layer I have my facts imported along with the dimensions and I have joined them together as needed. Here is what I think I will setup as I move into the BMM layer:
    1. I will add heirarchies as needed to enable drill down within my reports
    2. I will need to add my calculations/measures to allow for any type of metric to be returned through a request in Answers
    3. I do not see a large need to create logical tables (at least not yet) based on multiple physical source tables as my source is already a star schema and dimensionally modeled. For users that also already source a star schema at the physical layer .. do you find that you do a lot of logical table creation/mapping to add functionality or does your BMM look a lot like you Physical Layer?
    Other than steps 1 and 2, I am not really sure how much additional manipulation I might do from the Physical to BMM layer since my Physical is already a star schema. Am I missing anything? Obviously everyone's data model and circumstances are different but I wasn't sure if maybe there were some good thoughts on what I might be missing (if anything)?
    One last question .. I am not currently planning to use any aliases at the Physical Layer but I do plan to rename the tables at the presentation layer to be more business verbage like. Why are others using aliases?
    Thanks in advance for the help.
    K

    Alastair, thanks for the advice. I'll definitely keep that in mind as I start to build out the BMM.
    One question/issue I just ran into as I was wrapping up my Physical Layer mapping. When I check for global consistency, I am getting an error that is complaining that I have multiple joins defined between the same two tables (which I do). This is because I have the following setup:
    TBL_A_FACT
    F_ID_HIT
    F_HIT_DESC
    F_ID_MISSED
    F_MISSED_DESC
    TBL_B_DIM
    F_ID
    F_DESC
    Table A joins to Table B in two ways:
    TBL_A_FACT.F_ID_HIT = TBL_B_DIM.F_ID
    TBL_A._FACT.F_ID_MISSED = TBL_B_DIM.F_ID
    The F_IDs can be either hit or missed on any given fact record and the total distinct set exist in the dimension.
    When I define two foreign key joins in the physical layer based on the relationship above and check Global Consistency, I get an error saying that "TBL_A and TBL_B have multiple joins define. Delete duplicate foreign keys if they exist" and it is listed as an error. I guess this makes sense because when the two tables are used in a request OBIEE would need to know how to join them (using the hit or missed field). What is the best approach for handling this..
    - Should I define TBL_A twice in the physical layer as:
    TBL_A (Alias TBL_A_HIT)
    F_ID_HIT
    F_ID_HIT_DESC
    TBL_A (Alias TBL_A_MISSED)
    F_ID_MISSED
    F_ID_MISSED_DESC
    Or do something like the above in the BMM layer?
    Thanks for the help!
    K
    And then establish the relationships using these separate tables?

  • Creation of star schema from snowflake schem in BMM layer

    hi,
    This is my situation.I have "Fact-table" which has Dim 1 .now Dim 1 is joined to Dim2,Dim3
    Fact
    |
    Dim 1
    |
    | |
    Dim 2 Dim 3
    Now in Bmm Layer how can i make this snowfalke schema to star schema.I heard about making changes in the Logical Table source.And what will be the look of the presentation layer.
    Any help is appricaited Guys.

    In physical layer, you have a join between Dim 1 and Dim 2, Dim1 and DIm3, Fact and Dim1. In BMM for Dim1, in the sources, add Dim2 and Dim3. You may add both these dimensions in one single LTS if the data is not duplicate in the tables. In case the data is duplicated add them as seperate LTS in the sources for Dim1. Refer this post for reference -- Logical Table source source query
    In BMM you need a join between Dim1 and Fact. Basically your Dim1 is sourced from three different tables which are your dimensions. This would transform your snowflake into star. In your presentation layer you will have all the columns from your dimensions (except for the duplicates, lets say you have column A in both dim1 and dim2, you should map this column in column mapping tab so as to enable BI server to pick the most economical source) and facts.
    Hope this clears your question.

  • Update physical layer - new database schema

    Can the physical layer be updated with new database schema? (Has a new table column) If so, how?
    userQHN

    Hi,
    If you import table which has changes you will get it ,if there is any new columns added.
    Regards,
    Somu

  • Map cloned star schema in same BMM Layer.

    I have an ID of a group of companies and STAR SCHEMA related to billing with 8 dimensions. This STAR SCHEMA is loaded exclusively with data coming in EBS.
    But, due to the acquisition of another company, today I have the need to load data coming from a legacy system.
    To create no impact on existing and ETLs conflict of some code, we decided to clone all the star schema tables and load data from legacy.
    To not generate any inconvenience to users, we want these facts and dimensions (which have identical structures) arranged so that they appear unique.
    Example:
    fact_billing_holding
      - dimension_day
      - dimension_organization
      - dimension_vendor
      - dimension_consumer
      - dimension_transaction_type
    fact_billing_legacy
      - dimension_day_legacy
      - dimension_organization_legacy
      - dimension_vendor_legacy
      - dimension_consumer_legacy
      - dimension_transaction_type_legacy
    But you should see structure like this:
    fact_billing_holding
      - dimension_day
      - dimension_organization
      - dimension_vendor
      - dimension_consumer
      - dimension_transaction_type
    How can I implement this solution / problem?

    Hi Vjbez1!
    All facts and dimensions are identical! But all tables in this schema are duplicated and with different data.
    The data is organized like:
    dimension_organization
      - dky_organization - name_organization
                1               Company X
                2               Company Y
    dimension_organization_legacy
      - dky_organization - name_organization
               1               Company Z
    fact_billing_holding
      - dky_day - dky_organization - dky_vendor - dky_consumer - dky_transaction_type - qtd_items
         20130101        1                1            1                 1                 50
         20130101        2                1            1                 1                 70
         20130102        1                1            1                 1                 14
         20130102        2                1            1                 1                 88
         20130103        1                1            1                 1                 22
         20130103        2                1            1                 1                 10
    fact_billing_legacy
      - dky_day - dky_organization - dky_vendor - dky_consumer - dky_transaction_type - qtd_items
         20130101        1              71           31                 12                88
         20130102        1              71           31                 12                70
         20130103        1              71           31                 12                92
    In my analysis I want to see like this:
    Organization | Total
    Company X    | 86
    Company Y    | 168
    Company Z    | 250
    Fernando.

  • Star schema in OBIEE 11G

    Hi Experts,
    Please tell me the places in OBIEE 11G where i can design the start schema.is it only in Physical Layer or In BBM too?
    Thanks-Bhaskar

    Final point, for performance reasons you should also try to model data into star schema in the physical layer.
    If the data is modelled as a true star then there are database features which optimise query performance. These features are set by a DBA when the Warehouse is configured (e.g. enable_star_transformations). The results with this parameter on/off can be staggering (query time reduced from minutes to seconds), showing the power of star schema.
    When snowflakes occur, these performance features will not work as designed, and performance will be degraded. There are certain criteria that have to be met by the data e.g. bitmap indices on all of the foreign key columns in the fact.
    Please mark if helpful / correct,
    Andy
    www.project.eu.com

  • Design Fixed Assets Star Schema from OLTP DB

    Hi,
    Scope : Design Fixed Assets logical Star Schema for Demonstrate with OLTP tables
    Our platform is Oracle 10g Forms and Reports deployed on Oracle 10g App Server._ At the moment we don’t have data warehouse constructed. We are pumping OLTP Data into Staging DB thru jobs and then by using materialized views getting the data in DWH DB which is in progress.
    OBIEE 10g installed and working fine for testing.
    We are planning to implement OBIEE for Reporting. As a starting point I would like to design Fixed Assets star schema to demonstrate FA reports in OBIEE from OLTP Tables.
    FA- OLTP Tables:_
    AC_UNIT_MASTR           – Business Units
    AC_ACNT_MASTR           - Nominal Codes
    AC_COST_CENTR_MASTR      - Departments
    AC_MANTN_ASTS           - Assets transaction table
    AC_AST_BAL_DETLS           – Period wise Asset summary
    AC_AST_BAL_DETLS_V      - View
    To achieve this
    1).Import tables in physical layer and set physical joins
    2).identify and create dimensions and set complex joins and then move to presentation layer.
    Please suggest best approach to design Repository
    Thanks
    Regards,
    Kulkarni
    Edited by: hai_shailesh on Jan 25, 2012 11:36 PM
    Edited by: hai_shailesh on Jan 25, 2012 11:38 PM
    Edited by: hai_shailesh on Jan 25, 2012 11:39 PM

    Hi Saichand,
    Thanks for the response.
    Already i referred that doc and completed practically. now i have to work on Finance data . as a starting point working with Fixed Assets module. already i designed centralised fact with dimensions as below
    in physical&BMM layer defined relationship as below()
    AC_UNIT_MASTR_D                  --> AC_AST_BAL_DETLS_F
    AC_ACNT_YEAR_MASTR_D        --> AC_AST_BAL_DETLS_F
    AC_ACNT_PERD_MASTR_D        --> AC_AST_BAL_DETLS_F
    AC_COST_CENTR_MASTR_D      --> AC_AST_BAL_DETLS_F
    AC_AST_GRP_MASTR_D            --> AC_AST_BAL_DETLS_F
    AC_AST_SUBGRP_MASTR_D      --> AC_AST_BAL_DETLS_F
    and
    AC_ACNT_YEAR_MASTR_D        --> AC_ACNT_PERD_MASTR_D
    When iam trying to create a dimension for Periods(AC_ACNT_PERD_MASTR) , Periods dimesnion created with two tables
    AC_ACNT_YEAR_MASTR_D,AC_ACNT_PERD_MASTR_D
    Please advice..
    Regards,
    Kulkarni

  • Star schema for a uploaded data sheet

    Hi All gurus,
    I am new to this tech . I have a requirement like this , I have to prepare the star schema for this data sheet as below .
    REPORT_DATE     PREPARED_BY     Units On-time     Units Late     Non-Critical On-time     Non-Critical Lates      Non-Critical DK On-time     Non-Critical DK Lates
    2011 -01     Team1     1                         
    2011-02     Team1                              
    2011-03     Team1                              
    2011 -01     Team2                              
    2011-02     Team2                         7     1
    2011-03     Team2                              4 5
    2011 -01     Team3                              
    2011-02     Team3                              
    2011-03     Team3     1                         3
    (Take blank fields as zeros)
    Note : There are 3 report date types 2011-01,02,03 and three teams team 1,2,3 as text data and all others columns contain number data .
    I am given Time as dimensional table containing the Report Date and Whole sheet as Data table . So how to define the relationship for this in Physical and BMM ?
    I am thinking to make Time as Dimensional Table and the whole table(as Data) as a fact table in the Physical layer . And then in the BMM , I want to carve out a Logical Dimension called Group from the Data Physical Table and then make Group and Time as dimensional Table and Data as Fact table .
    Is this approach is correct ? please suggest me and if have any better Idea ,then please note down what are the tables to be taken as Dimension and Fact table in both physical and BMM . Your help willl be appreciated ,so thanks in advance . You can also advice for any change in no of Physical tables in the Physical schema design ..

    Your' s suggestion utterly anticipated ..

  • Joining tables across databases in OBIEE Physical Layer

    I was facing this problem of joining tables across databases in Physical layer of OBIEE admin tool.
    I had a requirement to combine two tables from 2 different databases A and B respectively. I had created one database object (OBIEE Object) in the physical layer and I had created two connection pools under that pointing to the required databases. I was able to view the data (right click on the table object --> popup menu option "View Data" ) though I had to go through the "Select connection Pool" window and select the required connection pool. I was able to join the tables and was able to complete the star schema in BMM and bring them up to the presentation layer. Conistency check was also successful. Everything went fine so far.
    But when I started building the report, I started getting error whenever I chose the table which was supposed to be queried by using the second connection pool. The error message was something like "table or view does not exist at OCI call OCIStmtExecute". I assume that this was happening because the systm was not able to understand which connection pool to choose (because there were two pools defined under one database object) and by default the server was choosing the first one. If anybody is having a different opinion or definite information about this, kindly update with your reply.
    I could resolve this problem after creating a separate database object with a separate connection pool defined under it, which points to the second database. Imported the required table under this database object. (Infact it was reverse. When I re-imported the table, OBIEE Admin tool, by default created its own database object and the connection pool separately for the imported table).
    Once this was done then I went ahead as usual by joining the tables across these two different database objects and modelling was already done (ofcourse with a little more tweaking since the mapping had to be redone between BMM and Physical layers). Now I could build the report in the reporting layer without encountering any error.
    Appreciate and welcome any further additions/updations/corrections regarding this issue(?).
    -MMishra.
    Edited by: user13483341 on Nov 29, 2011 8:20 AM
    Edited by: user13483341 on Nov 29, 2011 8:20 AM
    Edited by: user13483341 on Nov 29, 2011 8:24 AM

    Hi Deepak, Thanks for your reply.
    Appreciate if you can help me with another thread "possibility of multi-currency in OBIA 7.9.6.2 financial anlytics".
    - MMishra.

  • How to document your star-schemas and dashboards?

    Hello practitioners,
    We are new to OBIEE and started some weeks ago. We are a two-men team. One guy doing all the data design and the other for everything around Answers.
    So it happens regularly that the other guy has to ask the one guy, about the exact definition and meaning of data-fields, he wants to use in Answers.
    Being a real programmer the one guy only needs a proper, self-explainary field name as documentation, of course (or so he thought).
    Question:
    What tools and methods do you use to document the star-schemas and dashboards?
    Being the other guy, it is important, that I pick the correct fields, while on the other hand I do not want to disect a dashboard I built a while back, everytime somebody wants something simular, just to figure out what I actually did, back then...
    Thank you for your help
    Turalf
    Edited by: Turalf on Mar 24, 2010 12:03 PM

    Hi Turalf,
    Have you looked at the OBIEE Metadata Dictionary ? A method to allow answers users to gain access to column definitions, and you can view the mapping from Presentation, through BMM to Physical layer.
    Im pretty sure you can expose comments from the RPD into this also.
    http://obiee101.blogspot.com/2008/12/obiee-metadata-dictionary.html
    Maybe you could look at the ODI - OBIEE data lineage also, it provides "report to source" mapping info :
    http://www.oracle.com/technology/obe/fusion_middleware/ODI/OBI-ODI_Lineage/OBI-ODI_Lineage.htm
    Hope this helps.

  • Star schema and snow flake schema

    can any one tell star schema is better or snow flake schema is better why
    thx in advance

    Hi,
    Difference : http://www.diffen.com/difference/Snowflake_Schema_vs_Star_Schema
    When it comes to OBIEE star schema will be easy to configure because it don't involve much tables where as snow flake schema need to denormalize the tables in BMM layer to get the desired model but again it all depends on how your system was designed
    HR schema which is more like a snow-flake schema structure
    Refer http://www.varanasisaichand.com/2012/05/denormalizing-physical-tables-in-bmm.html
    Thanks,
    Saichand

  • Snow flake schema to star schema

    Hi Gurus,
    I am having a snow flake schema how can i turn it into star schema.
    thanks,
    kumar

    In Obiee You can use multiple table source and join 2 tables abd make as singel table.
    EX A->B->C
    Now we need to join B,C and call it D. Then A->D is star Schema.
    Steps is. Join B and C in the physical layer. join B to A Drop B into the Logical layer, Now Drop C on top od the B.
    Table B wil get all the column from C. Here it wont create 2 sources, It will look like single source only.
    IN the column mapping you can mpa the column to desired physical table.
    Later as usula you can join B and A in logical layer.
    Get A and B into presentaion layer.
    mak if correct/helpful
    fiaz

  • How to make this into star schema

    Hi experts
    I have 4 tables that I would like to turn into a star schema.
    table1(fact) has a N:1 to table2(dim)
    table2(dim) also has a 1:1 to table3(dim) and 1:1 to table4(dim)
    Is it possible to model this into a star schema where table1 (fact) has a N:1 relationship to all tables (dimensions)?
    I have modeled this in the administration tool and any queries between table1 and table 2 work but they dont if I involved table3 and 4.
    Am unsure how to define 1 to 1 relationships in the physical layer.
    cheers
    Tim

    Tim, could you give us any details on what the dimensions 2, 3, and 4 actually are? Sorry, I think better when I can replace "dim 2" with "person" or whatever.
    In any case, pretty unusual to have 1 to 1 relations like that. Sounds more to me like you have a single fact table, with 1 dimension that is "snowflaked"...but with the snowflakes not representing aggregate levels?
    I'd try just modeling it as a single dimension joining to the fact table (i.e. combine all three physical dimension tables into one logical dimension table). Then maybe break it up in the presentation layer if you really want to split it for the end users?
    Hope this helps,
    Scott

  • Aliases in physical layer

    we have created aliases for all the tables.we have joined the alias tables, way it is in the data model.
    now do i need to drag all the tables and aliases from physical layer to business layer?
    now we already join the alias tables and do in need to join the physical tables again?
    can you explain elabarately....is there any reason of using the aliases for all the tables?
    what is the benifit of creating aliases for all the tables.

    Once you created your alias tables, it is a best practice to use this for the joins. Thus, there is no need to join your original physical tables.
    Alias have a lot of advantages like:
    1. reusing the same physical table more than once to create an alias and create a completely new join
    2. you can setup multiple alias tables with different keys or joins
    3. used to convert the ER schemas to dimensional schemas in designing star/snowflake schema

Maybe you are looking for