Code and the database tables in different schemas

Hello
My version of db: database Oracle 11 g Enterprise Edition Release 11.2.0.3.0 - 64 bit Production

I would like to understand the advantages and disadvantages of the following situation:
We have only one request.
The design of the db for this application has 44 paintings, of which 28 are base tables related by PK and FK relations. The other 16 are look upward and refer to tables that are not related to one.
The team has decided to place the tables in a diagram 28 A and the other 16 in another schema B within the same database. (The reason for this is... because it's done in other projects to do it here too).
Coming now to the code (stored procedures, functions, packages, etc.). Teams want to ask most of the code in the diagram B with the Ref 16 tables. (the reason being again the same).
What are the advantages and disadvantages this?
Please advice.

PS:
I have googled and find something on these lines:
cons:  
o harder to manage
o harder to upgrade
o harder to patch
o harder to maintain
o causes your shared pool size to increase 1,000 times (shared sql goes down the tubes)
o takes more space
o queries against the dictionary will be impacted
o latching on the shared pool goes WAY up (latching = locks = serialization device = 
slows you down)

pros:
o none that I can think of.

From my experience, if you see natural divisions that give you smaller patterns, well contained, you should take advantage of them and start with separate schemas. If done correctly, it can greatly improve the maintainability of your application.

Assume that your initial project will have 60 paintings and they might fall into three groups of 15, 20 and 25 tables respectively. There are also objects of code such as PL/SQL packages. Your choice is:
-Use a single scheme of 60 paintings, suppose that with 100 objects in code.
-Use 3 diagrams divided as described. The total code objects will probably be a little more that unique schema design, because they need to provide interfaces with others. So let's assume that schemas will have 30, 40 and 50 code objects each.

Now, wait 3 years.

The history of single-schema:
-The single-schema is passed to 120 tables. There has been a corresponding increase in code, now more than 200 objects. But they are very complex. Over time, each piece of code will interact with the tables more and more and many other objects in code.
-You (the architect or Manager) can not really apply any internal for this structure since no subsidy is required to add dependencies. Therefore, if you change a table there is a vast impact.
-You can easily divide the responsibilities because everything affects everything else. You can't manage simultaneous development efforts because the impact widespread changes cause the same tables/components to be affected by multiple projects. If you have the project execution dependencies / as you have interdependencies technique/code.
-You have a "big ball of mud" and it is very difficult to get out of this situation.

Multi-schema history:
-Each of the 3 original patterns has grown, but some more than others. A fourth was added a year ago, when there was a major expansion in a new district, as a result of "natural divisions.
-On the inside of each of these schemas, it is always a challenge to impose internal structure. But those patterns more smaller and therefore more small problems.
-Through schemes, subsidies are necessary to allow interaction, this is not a "wild west" where everyone can access everything (and introduce dependencies on everything). Teams to define interfaces (packages or the views that are specifically intended to be interface points) where the interactions with other scehmas are necessary.
-If changes to a table are needed, the impact can be limited to the schema that contains naturally. You know that no one else has created dependencies at this table, because you were never issued grants on this.
-The responsibility for these schemas was divided between 2 teams, each team having full responsibility for its 2 diagrams.
-Teams can complete projects much more easily, even with a parallel development, because there is less than a "domino effect" with each change.

Now, these benefits depend on "natural divisions that give you the diagrams smaller, well contained." If you make the wrong choice here, you will always have a mess. You design with the end in mind scenario.

Tags: Database

Similar Questions

  • Source code is the same name but different schema owner

    I got 1 of the online test and there the question has been asked. I have already answered but curious to cross-check my response with your advice...

    Question

    You want to see the source code of your defined package 'test1' and you issue the following query:

    Select the text in all_source

    WHERE name = "test1";

    After executing query, you have noticed that the result has 1 or more of source code with the code source test1 with the same name, but exist in different schema owner.

    Based on above circumstances, which is the type of possible object of the other source code?

    a Package

    b form

    c View

    d table

    e synonym

    My response was a (Package).

    Concerning

    Muzz

    Hello

    You answer is correct, all_source contains code for one of the following object types

    FUNCTION, JAVA SOURCE, PACKAGE, PACKAGE BODY, PROCEDURE, TRIGGER, TYPE,TYPE BODY

    for more detail check the following link

    http://docs.oracle.com/cloud/latest/db121/REFRN/refrn20249.htm#REFRN20249

    Concerning

    Salim

  • How can I retrieve the name of the server and the database to a system dsn

    Hello

    I am trying to create a database that will be used by many stores. Each store has its own server and the database and the access runtime version. I want to create a system dsn name, but allowing the administrator to modify the server and the database for that dsn and then, when you connect to the database, the database must be able to find this DSN and the 'new' name of the server and name of 'new' database and connect to point to this server and the database tables. I don't have a login form and I can get the name of the dsn, but I can't find a way to get the server name and database name for that dsn. Does anyone know a way to retrieve this from the registry. I can see it using regedit but have no idea on how to get this in vba access.

    This issue is beyond the scope of this site (for consumers) and to be sure, you get the best (and fastest) reply, we have to ask either on Technet (for IT Pro) or MSDN (for developers)
    *
  • How can I restore and recover the database to a different server using RMAN?

    Hello Friend:

    How can I restore and recover the database to a different server using RMAN? I want to implement an enviroument which has a different enviroument and different directories.

    That's the two servers. different stored different on each server and a single link, a table library where backup set.

    I can only restore and recover the database of the Rman command. Could you give me a demo?

    Thank you

    How can I restore and recover the database to a different server using RMAN? I want to implement an enviroument which has a different enviroument and different directories.

    That's the two servers. different stored different on each server and a single link, a table library where backup set.

    I can only restore and recover the database of the Rman command. Could you give me a demo?

    Check this box
    * How to restore Rman backups on a different node when the Directory Structures are different [ID 419137.1] *.

  • 2 How to remove an element from the tree and the database block tree?

    Hello

    2 How to remove an element from the tree and the database block tree?

    Kind regards

    Abdetu...

    The problem is caused by not sending forms is not a VALIDATION of the database because he thinks that there is no changes to save.

    Forms does know that changes to the data block, he does not know the changes made by the PLSQL INSERT, UPDATE, DELETE calls and procedure.

    Try to remove the line to block, rather than using a DELETION like that...

    go_block ('INSP_EQUIPMENT_TYPE');if form_success then   do_key ('DELETE_RECORD');end if;
    
    
    

    If you wish to continue using your original DELETE instead of my change above code, you can use different techniques to force forms to issue the COMMIT to the database, including this one...

            DELETE ...        FORMS_DDL ('COMMIT');
    

    Be careful... This will be the VALIDATION of the database, but the changes to the data block will not be sent to the database!

    I posted a few other ways to issue a VALIDATION of forms here
    www.seeristic.com/Forum_Posts/Forms_COMMIT.txt

  • LabVIEW 2013 close when I try to read the database table.

    LabVIEW 2013 close when I try to read the database table.
    I get the error message, Labview falls just crashes. I use Labview x 32 and connective Toolkit of connectivity of database on Windows 7 x 64. I connect to PostgreSQL with ODBC driver, the connection is stable.
    In my database, I have a lot of tables, I read all those without one.
    When I try to read table bad I get data then labview crash. When I restart Labview, I have no message on the error.
    Also I try to use LabSQL-1. 1a. But it has the same result.

    I found the solution.

    I think the problem was that I have very large table in my database.

    At the beginning I received data from table with next quiry:

    SELECT column1, column2 FROM 'table ';

    But when I write then:

    SELECT column1, (column2, ',') array_to_string FROM 'table ';

    all worked!

  • Newbie wanting to AIR w / extensions to native code and the Protocol of Android accessory

    My interests include prototyping and very specific to very specific real-world applications of programming solutions.  So I bought a Playbook after viewing the quick "prototyping" video in this blog:

    http://devBlog.BlackBerry.com/2011/12/BlackBerry-PlayBook-Arduino/

    I tell myself I can do cela or something similar with PIC Basic Pro and a Microchip IC.  Although it has been nearly six months, from what I can tell, the RIM developers have failed to deliver on explaining how to use native code and the ancillary Protocol Android to connect in series on client's port to the mini-USB of the Playbook.

    Is RIM people please, show us how set up the programming environment, use the code, the mini-USB port on client Playbook, the adapter USB (where to buy, what is it exactly?), so we can use the USB client connected to an Integrated Circuit Programmable to connect in series with an AIR running on the Playbook application.

    Kenneth Mark Klausner

    How this kind of thing is that you have the hardware (Controller USB etc.), and there different registers, buffers, etc. that must be handled.  The first layer of software, what made this manipulation, is a device driver. While in some operating systems (Linux, for example), you can write yourself, or port code Besides, material in the PlayBook is accessible only by the drivers as part of the operating system, which means that the RIM should provide their.

    These drivers are may be incomplete. We do not know that for some.

    Drivers expose a particular interface to the next higher step of the software, an interface that must be respected. This interface is generally quite low, and the driver can support the features that cannot be exposed to third party software, so for this and probably other reasons, we can not directly access (and are prevented by security mechanisms).

    There is another layer of software on top of the pilot, commonly called a library. This library is also provided by RIM, as part of the operating system.

    This library can be incomplete as well. We do not know the details, but I suspect someone who knows this level of the design of the system and who attended the BB10 Bluetooth and USB discussion group would be able to interpret what they heard there to clarify.

    It's this library which provides what we call a bit of hand-wavingly API 'USB '. This is an interface in C language, with a set of data and calls structure function definitions that enable higher level code perform different operations related to USB.

    If you want to write a DONKEY, you write about this library, not the level of driver and not material. You have no choice in this matter, as it is applied by the security of the OS.

    So to sum up, if we refer to 'USB API' they're talking about essentially the library routines, and it is necessary to talk to this API to get whatever it is the case here.  The API can be described in the header files (there is something), or maybe he's going to be an API different than what I see out there. Whatever it is, it is undocumented in other places at the moment, so all who want to enter this need to make much low level experiment (talking to the library).

    They can have the documents which cover this and perhaps code samples to talk to the library. If the version of the operating system we have has the incomplete versions or buggy drivers or libraries, this could explain why they have not pushed this documentation and code for us.

    I think that I heard that they are gathering input (requirements, use cases, comments) from people in this session.  Who tells me that they are still working on some details, and when they are at a stage like that they simply don't tell us publicly where they are, deadlines, or what it will look like when it is done.

    And so expect.

  • Values entered into a textarea unwritten in the database table

    I have a very strange situation.  I have a form that has a certain number of fields, all fields of text standard apex.

    I have a button that calls a dynamic action that writes the values of these fields in their columns in the table.  No problem with this.

    I just added a textarea field defined with a maximum length of 300 characters, which maps to a new column in the database table that is defined as VARCHAR2 (300).

    I modified the PL/SQL to include the value of this new field in the database table writing.  When I run the dynamic action, everything else in the form is updated, but the text in the text not added to the table box.

    In session data, the data on the page are correct. The Session State of the textarea field is also correct.

    This isn't just a text box, it's ANY textarea I put on this page.  If I take a text field and transformed into a textarea field, the same thing happens.  If I take the new textarea field and transformed into a text field, the data gets written to the database table.

    Can someone explain this?  I can get by with only text fields, but it would be much better if I could have a field where mentions that he could properly wrap to the next line.

    Thank you!

    John

    John,

    edit your Textarea field and change in the Source Section as

    Source: always, replacing any value existing in State of Session

    Source type: column database

    and in

    Source value or Express: (write the name of the column in the data to be store)

    do not change this things your textarea data records in the database Table...

  • Can you have vCenter and your database server on different VLAN?

    According to the title, can you have vCenter and your database server on different VLANS or must they reside on the same?

    Also if we want to change the current IP Address/Subnet Mask vCenter, are there factors that we take into account?

    Thanks in advance for any help

    Yes they can, so you must only be sure to have enough bandwidth network and speed between them will not affect the performance of VC.

    To change the IP of vCenter, keep an eye on this: http://kb.vmware.com/kb/1001493

  • Check if e-mail exist in the database table

    I stumbled on this a few times before, but I'm not familiar with this system, whenever you enter an emailaddress, you see as a clock indicating the system checks if the e-mail address may be used, in other words, is not yet in a table. I would like something similar and when the "audit" is done and the emailaddress is not in the DB table, the rest of the form appears, otherwise, an error message indicates the address is already in use. I guess this could be done using Javascript, but is there also a PHP way to do this?

    It's simple to achieve. Create a query that filters your e-mail address in the database table WHERE = POST of the email field in the form is sent. If the query returns a line then the email already exist, otherwise it is available and can treat the rest of the form.

  • Given Oracle Spatial are stored in the database tables?

    Given Oracle Spatial are stored in the database tables?

    Oracle spatial is DBMS oracle server functionality. It allows you in NATIVE mode, store and manage all standard types of spatial data and their attributes and metadata in the oracle database enterprise, in the way that you are quite familiar with. on top of standard oracle database features, adds types of geographic data, spatial index, geometric operators and queries, functions, spatial and analytical, to name a few.

    MapViewer is a feature of Oracle Fusion Middleware, which makes cards using spatial data managed by Oracle Spatial. That's what you called "generator of maps. but of course, it's not just a map generator, he has much more to offer, such as MapBuilder, WMS, Oracle cards.

    For more information, please see the technical details:

    http://www.Oracle.com/technology//products/spatial/index.html
    http://www.Oracle.com/technology/products/MapViewer/index.html

  • HP 15-f305ddx: I haveva hp 15-f305dx with an error code and the password of the bios 58495227

    I have a haveva hp 15-f305dx with an error code and the password of the bios 58495227

    Thank you so much, you're the best

  • I'm tryin to update my computer... I keep getting code and the error 646... I need help I am if confused as to what to do to get these updates... I tried to disable my firewall, but which is not good... Help, please

    I'm tryin to update my computer... I keep getting code and the error 646... I need help I am if confused as to what to do to get these updates... I tried to disable my firewall, but which is not good... Help, please

    Download and install the update/s who is / are relevant to your computer manually.
    IE: http://www.microsoft.com/downloads/en/results.aspx?freetext=974771&displaylang=en&stype=s_basic

    TaurArian [MVP] 2005-2010 - Update Services

  • Cannot change anything in the action center error code and the blue screen and stops.

    I can't do anything on my computer with windows7 can not install updaets or sofyware of security I get an error code and the blue screen and stops

    OT:everytime I try to change anything whatsoever in the action center ndour windowws blue security and my computer shuts down

    Hey Chrisb,

    You did changes to the computer before the show?

    Step 1: I suggest to start the computer in safe mode and check if the problem persists.

    Start your computer in safe mode
    http://Windows.Microsoft.com/en-us/Windows7/start-your-computer-in-safe-mode

    Step 2: If the problem is solved in safe mode, then I suggest you perform the clean boot and remove the program that is causing the problem.

    How to troubleshoot a problem by performing a clean boot in Windows Vista or in Windows 7
    http://support.Microsoft.com/kb/929135
    Note: Follow step 3 of section of boot KB929135 to reset the computer in normal mode.

    Hope this information is helpful and let us know if you need more assistance. We will be happy to help.
  • 'Versions of the application and the database do not match' on the comparison of the annex

    Moved the database to a Server 2003 to server in 2012.  This has been the only change PM receive the message "the application and the database of the versions do not match" when they try to make a comparison of the annex.

    Thanks for your help.  You have provided very concise solutions to my problem, I ended up having also do the following:

    Trip, click the password in the admim.cmd to ensure that the password has been set successfully and deleted the file BREBootStrap.xml (let it recreate itself)

Maybe you are looking for