![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
|
We've got a few applications that currently all use the same schema (let's call it "FRED"). There's a main application that all our clients have, & a few add-on optional apps. We're about to start building a couple of new apps (both in APEX), which again will only be available to clients with the main app, but which will have some new tables (& plenty of procedures) that are only used by them. Some of the new objects will be used by both the new apps, & some by just one of them. Additionally we're also planning to re-write the existing main app (again in APEX), at which point it too will use some of the new tables/procedures, but mainly it will stick with what's in the current "FRED" schema. With me so far..? So what I'm trying to figure out is the best way to map applications to schemas, bearing in mind this is a database & applications that we install & maintain at various client sites. I don't want to stick with using a single schema for various reasons. A separate schema for each app is one option, but who gets the tables/procs used by multiple apps? We could use a "SHARED" schema for those, but I suspect that would get messy as people develop app-specific objects in the future then realise they could be used by other apps too & move them to "SHARED". Either option could be a nightmare when it comes to remembering to put schema. in front of the object names, not to mention the potential re-work needed if objects are moved to different schemas. Thoughts anyone? |
#2
| |||
| |||
|
|
We've got a few applications that currently all use the same schema (let's call it "FRED"). There's a main application that all our clients have, & a few add-on optional apps. We're about to start building a couple of new apps (both in APEX), which again will only be available to clients with the main app, but which will have some new tables (& plenty of procedures) that are only used by them. Some of the new objects will be used by both the new apps, & some by just one of them. Additionally we're also planning to re-write the existing main app (again in APEX), at which point it too will use some of the new tables/procedures, but mainly it will stick with what's in the current "FRED" schema. With me so far..? So what I'm trying to figure out is the best way to map applications to schemas, bearing in mind this is a database & applications that we install & maintain at various client sites. I don't want to stick with using a single schema for various reasons. A separate schema for each app is one option, but who gets the tables/procs used by multiple apps? We could use a "SHARED" schema for those, but I suspect that would get messy as people develop app-specific objects in the future then realise they could be used by other apps too & move them to "SHARED". Either option could be a nightmare when it comes to remembering to put schema. in front of the object names, not to mention the potential re-work needed if objects are moved to different schemas. Thoughts anyone? |
#3
| |||
| |||
|
|
only allow DML on the database via packages |
#4
| |||
| |||
|
|
We've got a few applications that currently all use the same schema (let's call it "FRED"). There's a main application that all our clients have, & a few add-on optional apps. We're about to start building a couple of new apps (both in APEX), which again will only be available to clients with the main app, but which will have some new tables (& plenty of procedures) that are only used by them. Some of the new objects will be used by both the new apps, & some by just one of them. Additionally we're also planning to re-write the existing main app (again in APEX), at which point it too will use some of the new tables/procedures, but mainly it will stick with what's in the current "FRED" schema. With me so far..? So what I'm trying to figure out is the best way to map applications to schemas, bearing in mind this is a database & applications that we install & maintain at various client sites. I don't want to stick with using a single schema for various reasons. A separate schema for each app is one option, but who gets the tables/procs used by multiple apps? We could use a "SHARED" schema for those, but I suspect that would get messy as people develop app-specific objects in the future then realise they could be used by other apps too & move them to "SHARED". Either option could be a nightmare when it comes to remembering to put schema. in front of the object names, not to mention the potential re-work needed if objects are moved to different schemas. Thoughts anyone? -- Preston. |
#5
| |||
| |||
|
|
A separate schema for each app is one option, but who gets the tables/procs used by multiple apps? We could use a "SHARED" schema for those, but I suspect that would get messy as people develop app-specific objects in the future then realise they could be used by other apps too& move them to "SHARED". Either option could be a nightmare when it comes to remembering to put schema. in front of the object names, not to mention the potential re-work needed if objects are moved to different schemas. Thoughts anyone? |
#6
| |||
| |||
|
|
ust use this: http://blogs.oracle.com/mdm/2010/12/...le_schema.html (yegawds, is there no limit to the idiocy of these people?...) |
#7
| |||
| |||
|
|
joel garry wrote: On Dec 9, 2:28 am, "Preston" <dontwant... (AT) nowhere (DOT) invalid> wrote: So what I'm trying to figure out is the best way to map applications to schemas, bearing in mind this is a database & applications that we install & maintain at various client sites. I don't want to stick with using a single schema for various reasons. This winds up being an intractable problem. *I work on an enterprise app that originally was a couple of apps/schemata, then various modules within those were spun off as separate options. *Over time, one schema became dominant, and an argument could be made everything should have been lumped in there to begin with. *As Fred pointed out, people think of these schemata as separate databases (which is what they are called in non-Oracle dbms's and tools like Excel), so strange things happen - different definitions of the same field or table, or sometimes the same definition but one table isn't used, and so forth. That is something we need to be careful of, not because there's any confusion over what a schema is, but because we've all been involved with this system for 14 years & the object names for each process are firmly ingrained. As many of those processes will now be duplicated to a certain extent in the new apps, I suspect the developers may start creating new db objects with the same names as the original ones but with '_new' tagged on the end to make them easy to remember. I guess that's one reason to just have one new schema for the new stuff - it makes a simple naming standard easier. |
|
Heh, that's exactly what one of our clients was doing (in Access), & drove the decision to create one of the new apps. It will still run on data sucked down overnight, but simply because they need a static view throughout the day without any new transactions affecting things. |
#8
| |||
| |||
|
|
On Fri, 10 Dec 2010 20:32:45 +1100, Noons wrote: ust use this: http://blogs.oracle.com/mdm/2010/12/...le_schema.html (yegawds, is there no limit to the idiocy of these people?...) I like the picture: one schema to rule them all, one schema to find them, one schema to bring them all and in EBS bind them... |
#9
| |||
| |||
|
|
"Mladen Gogala" <gogala.mla... (AT) gmail (DOT) com> wrote in message news an.2010.12.10.13.37.57 (AT) gmail (DOT) com...On Fri, 10 Dec 2010 20:32:45 +1100, Noons wrote: ust use this: http://blogs.oracle.com/mdm/2010/12/...le_schema.html (yegawds, is there no limit to the idiocy of these people?...) I like the picture: one schema to rule them all, one schema to find them, one schema to bring them all and in EBS bind them... For the purposes of scansion I think you need a little poetic licence here: One scheme to rule them all, one scheme to find them, one scheme to bring them all and in the E-Biz bind them. -- Regards Jonathan Lewishttp://jonathanlewis.wordpress.com |
#10
| |||
| |||
|
|
Wow, I've already learnt two things today. (Or three, if you count learnt, which google groups thinks is incorrect.) From E. Britannica: "The purpose of scansion is to enhance the reader's sensitivity to the ways in which rhythmic elements in a poem convey meaning. Deviations in a poem's metrical pattern are often significant to its meaning. " From merriam-webster.com: "Definition of SCHEME 1 a archaic (1) : a mathematical or astronomical diagram (2) : a representation of the astrological aspects of the planets at a particular time b : a graphic sketch or outline 2 : a concise statement or table : epitome 3 : a plan or program of action; especially : a crafty or secret one 4 : a systematic or organized configuration" So _that's_ where you got your plan visualization method :-) Noons, Mladen and Jonathan: the scheme meme dream team! |

![]() |
| Thread Tools | |
| Display Modes | |
| |